Форум о Мафии и Мафии 2
 Главная    Блог    Болталка    Радио  Файловый архив    Добавить фото    Пользователи    Поиск


Сегодня: 18.11.2017 - 07:09:11
Страницы:  1  
Форум о Мафии и Мафии 2 » Создание модификаций » Учимся писать скрипты
АвторСообщение
adminmike #1 

Админ




WWW


Статистика:
Тем создано: 127
Сообщений: 709
Авторитет: 1064 ±
Нарушения: 0
Пишем Ваши небольшие скриптики в эту тему. Учимся на чужих ошибках, разбираем маф-команды, и т.д.

Рекомендую почитать:
- http://www.mafia-forever.ru/How_Scripts_Work.html
- http://www.mafia-forever.ru/The_greatest_Script.html
- http://www.mafia-forever.ru/uchimsja-pisat-skripti-chast-1.html
- http://www.mafia-forever.ru/kak-delat-mody.html
- http://www.mafia-forever.ru/hitrosti-moddinga.html
--------------------------------------------------
"Я верю всем, но чёрт может попутать любого..."
Опубликовано: 09.07.16 - 00:21:13 Ответить Цитировать Наверх
adminmike #2 

Админ




WWW


Статистика:
Тем создано: 127
Сообщений: 709
Авторитет: 1064 ±
Нарушения: 0
Отвечаю здесь для продолжения данной темы...
____________________________________________


Антон 06.02.17 в 16:37 пишет:
Ты случайно не знаешь,как сделать чтобы Томми мог переодеваться в другую одежду?
Я хочу сделать шкаф в моём моде-Вилла Томми!Чтобы можно было подойти к шкафу и нажать на действие
и он поменяет одежду.

Например, так:

    Код:
    dim_act 10
    dim_frm 10
    findactor 0, "Tommy"
    label 1
    detector_waitforuse
    player_lockcontrols 1
    zatmyse 1, 500
    wait 500
    human_changemodel 0, "TommySAILOR.i3d"
    //в кого - на примере в Томми-матроса
    policemanager_del "Tommy"
    policemanager_add "Tommy"
    wait 500
    zatmyse 0, 500
    player_lockcontrols 0
    wait 1500
    detector_waitforuse
    player_lockcontrols 1
    zatmyse 1, 500
    wait 500
    human_changemodel 0, "TommyHAT.i3d"
    //в кого передеваемся, на примере - надеваем шляпу
    policemanager_del "Tommy"
    policemanager_add "Tommy"
    wait 500
    zatmyse 0, 500
    player_lockcontrols 0
    wait 1500
    goto 1


Здесь небольшая ошибка в скрипте:

    Код:
    ..
    label 101
    detector_waitforuse 109
    PLAYER_LOCKCONTROLS 1
    zatmyse 1, 500
    wait 500
    human_changemodel 1, "TommyTAXIDRIVER.i3d"
    policemanager_del "Tommy"
    playsound "dress1.wav", 0, 100, 1
    wait 1500
    human_talk 0,
    wait 500
    zatmyse 0, 500
    PLAYER_LOCKCONTROLS 0
    goto 102
    ..


Если звук фразы ты удалил, то неполную, обрезанную команду оставил - "human_talk 0,". Такие забытые "следы" в кодах-скриптах сулят лишь скрытые ошибки и баги, которые трудно потом отследить, чтоб исправить. Старайся не допускать это.

Что касается звука переодевания, то он по-моему у меня не стандартный был, т.к. в папке sounds с модом был вставлен данный звуковой wav-файл. Если в свою не перекопируешь, нестрашно, в принципе, но звука не услышишь. Но если не используешь - лучше удали лишнюю строчку:

    Код:
    playsound "dress1.wav", 0, 100, 1
--------------------------------------------------
"Я верю всем, но чёрт может попутать любого..."
Опубликовано: 11.02.17 - 22:14:41 Ответить Цитировать Наверх
adminmike #3 

Админ




WWW


Статистика:
Тем создано: 127
Сообщений: 709
Авторитет: 1064 ±
Нарушения: 0
Я всё могу помочь написать, но гораздо интереснее по-моему самому пытаться их написать. Тем более данные скрипты уже написаны разработчиками в локации Экстрим-Большая прогулка, надо только найти...


Скрипт,чтобы Томми мог войти в дом через дверь и выйти в двор тоже через другую деревянную дверь.

Поясни. Скрипт телепортации в другое место нужен?
Двери - отдельные объекты, а не скрипты, если нужно их открыть, Томми их отлично открывает, если, конечно, они не были заблокированы.


Скрипт,чтобы Томми мог сохранять игру через дверь,как в большой прогулке.

Открывешь сцену Большой прогулки, ищешь скрипт с названием Homesave или похожего названия, копируешь и переносишь в свою локацию с теми же координатами. Или:
- пишем примерно такой скрипт:

    Код:
    dim_flt 10
    dim_act 10
    findactor 0, "Tommy"

    label 101
    detector_waitforuse 19970002
    policeitchforplayer 0
    if flt[0] > 0, -1, BEZPOLDU
    human_talk 0, 00950223
    goto 101

    label BEZPOLDU
    isvalidtaxipassenger 1
    if flt[1] > 0, -1, BEZPASAZERA
    console_addtext 3476
    goto 101

    label BEZPASAZERA
    freeride_scoreget 2
    if flt[2] < 2000, MALOPENEZ, -1
    let flt[2] = flt[2] - 2000
    freeride_scoreset flt[2]
    autosavegamefull 5584
    wait 5000
    goto 101

    label MALOPENEZ
    console_addtext 3472
    goto 101

Стоимость сохранения стандартная - 2000$. Вставлять в БСВ как объект OTHER с координатами примерно такими: -4,87; 22,52; -597,33. Это около шкафа, что находится у входной двери дома. У двери, где сохранение в Большой прогулке - посмотри сам. Или замерь универсальным скриптом определения координат - это твоё домашнее задание, если хочешь :)


Скрипт открывания ворот гаража.

Если ты начал изучать скрипты в Аливе и Алив Барс модах, я думал, ты сам смог их найти, определить, добавить в свой мод, если нужно. Эти же скрипты есть в локации Большая прогулка. Называются вроде garage_open_01/02 соотвественно. Или:

    Код:
    dim_act 2
    dim_flt 1
    findactor 0,"#rad67.Box02"
    findactor 1,"#rad67.Box03"
    //объекты ворот модели домика #rad67

    door_enableus 0,0
    door_enableus 1,0
    //блокируем

    door_open 0,0
    door_open 0,0
    //закрывем

    label 101
    detector_waitforuse 10970000
    if flt[0]=0,-1,1
    door_open 0,1//открываем
    door_open 1,1
    let flt[0]=1
    goto 101
    label 1
    door_open 0,0//закрываем
    door_open 1,0
    let flt[0]=0
    goto 101

Координаты: -7,905734; 23,24; -610,7659

И с другой стороны:

    Код:
    dim_act 2
    dim_flt 1
    findactor 0,"#rad67.Box02"
    findactor 1,"#rad67.Box03"

    door_open 0,0
    door_open 0,0
    4
    label 101
    detector_waitforuse 10970000
    if flt[0]=0,-1,1
    door_open 0,1
    door_open 1,1
    let flt[0]=1
    goto 101
    label 1
    door_open 0,0
    door_open 1,0
    let flt[0]=0
    goto 101

Координаты: -1,594307; 23,24; -610,7659
--------------------------------------------------
"Я верю всем, но чёрт может попутать любого..."
Опубликовано: 12.02.17 - 18:27:48 Ответить Цитировать Наверх
silver #4 

Interessato




WWW


Статистика:
Тем создано: 0
Сообщений: 36
Авторитет: 53 ±
Нарушения: 0
Собственно, написал тут небольшой скриптик, который позволяет "выстреливать" машиной на небольшое расстояние. таким образом можно, например, сносить вражеские машины или убивать самих врагов. Работает на клавишу ограничения скорости, при этом ваша скорость должна быть меньше 60 км/ч. здоровье при этом не убавляется. Может, кому и пригодится))
    Код:
    dim_act 3
    dim_frm 1
    dim_flt 7

    getactiveplayer 0
    findactor 1,"NULL"

    label 101
    ctrl_read 0, SPEEDLIMIT
    if flt[0]=1,103,-1
    goto 101

    label 103
    compareownerwithex 0,1,101,-1
    human_getowner 0, 2
    car_getspeed 2, 1
    if flt[1]<60,-1,101
    //let flt[1]=flt[2]
    getactorframe 2, 0
    frm_getrot 0, 4
    commandblock 1
    human_getproperty 0, 3, Energy
    human_setproperty 0, 10000, Energy
    car_setspeed 2, 350
    commandblock 0
    wait 15
    commandblock 1
    car_setspeed 2, 30
    frm_setrot 0, 4
    human_setproperty 0, flt[3], Energy
    commandblock 0
    goto 101
--------------------------------------------------
Yesterday you know it never really happened, tomorrow you know it never really had. You, you're only what you think you might be; I am only what you think I am.
Опубликовано: 24.03.17 - 02:15:57 Ответить Цитировать Наверх
silver #5 

Interessato




WWW


Статистика:
Тем создано: 0
Сообщений: 36
Авторитет: 53 ±
Нарушения: 0
И еще один небольшой скриптец - скрипт включения/ выключения форсажа. Уже есть несколько вариантов этого скрипта от разных авторов, но я решил попробовать запилить свой, с красивыми надписями на включение-отключение)) Да и просто ради интереса.
    Код:
    dim_flt 1
    dim_act 3

    getactiveplayer 0
    findactor 1,"NULL"

    label 101
    ctrl_read 0, speedlimit1
    if flt[0]=1,-1,101
    compareownerwithex 0,1,101,-1
    human_getowner 0, 2
    car_setactlevel 2, 1
    console_addtext 5990202
    wait 1000

    label 102
    ctrl_read 0, speedlimit1
    if flt[0]=1,-1,102
    //compareownerwithex 0,1,101,-1
    //human_getowner 0, 2
    car_setactlevel 2, 0
    console_addtext 5990241
    wait 1000
    goto 101
--------------------------------------------------
Yesterday you know it never really happened, tomorrow you know it never really had. You, you're only what you think you might be; I am only what you think I am.
Опубликовано: 24.03.17 - 02:36:48 Ответить Цитировать Наверх
Форум о Мафии и Мафии 2 » Создание модификаций » Учимся писать скрипты
Основной секрет популярности Аливе модаВопросы по Аливе моду
Страницы:  1  

Сообщение
Автор
Имя    E-mail 

Смайлики

Ещё смайлы
Жирный  Курсив  Подчёркнутый  Зачёркнутый  По центру  Цитата  Код  Палитра  Картинка  Спойлер  Youtube  Vimeo  Rutube  Smotri.com  Myvideo.az  Myvi.ru  MP3  Яндекс.Музыка  Смайлики  Справка
Защитный код:    (введите цифры на синем фоне)
Ответ на вопрос: (Как звали жену Томми?)
      
Mail.ru [ Модераторский раздел ]

Powered by WR-Forum Professional © 2.0.6.2016
2013- © Карта сайта. Немного о скриптах. RSS-лента.
HotLog Rambler's Top100