Форум о Мафии и Мафии 2

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум о Мафии и Мафии 2 » Создание модификаций » Учимся писать скрипты


Учимся писать скрипты

Сообщений 31 страница 39 из 39

31

http://my.forum4.ru/files/0012/81/3f/81582.gif Юрий,
Не за что! Главное разобрался да наконец наказал гангстеров руками Поли ;)
С Новым Годом кстати! http://my.forum4.ru/files/0012/81/3f/11379.gif

0

32

Итак. Опытным путём установлено, что во Фрирайд можно вставить около 540 объектов (ну может чуть больше) (с удалением одного объекта). Сейчас же вопрос появился, насчёт музыкального сопровождения в игре. А именно, хочу сделать патефон. За сегодня не смог найти миссию, в которой играет музыка (у Сальери в баре). даже через МВЕ. Вставил скрипт проигрывания музыки, но она после юзанья играет везде и тихо. Вот:

Скрипт

dim_act 4
dim_frm 3
dim_flt 5

findactor 0, "Tommy" ///Наш Томми
findactor 1, "musi539" ///использователь в патефоне

findframe 0, "Tommy"
findframe 1, "musi539"

label 101
detector_waitforuse ///использование
playsound "moon.wav", -1, 12, 1 ///Вот как прописать цыфры? музыка Лунная Соната формат Вав
             
wait 10000
goto 101

///////////////////
Ещё
stream_create nn,"ssss"
создать музыкальный поток и присвоить ему номер nn
nn - присваемый номер
ssss - название файла ("sounds/xxx.wav" или "sounds/music/xxx.ogg(mp3)"

Что значит?

0

33

Михаил Лукьянов написал(а):

Вставил скрипт проигрывания музыки, но она после юзанья играет везде и тихо. Вот:

Спойлер

Скрипт
dim_act 4
dim_frm 3
dim_flt 5
           
findactor 0, "Tommy" ///Наш Томми
findactor 1, "musi539" ///использователь в патефоне
           
findframe 0, "Tommy"
findframe 1, "musi539"
           
label 101
detector_waitforuse ///использование
playsound "moon.wav", 1, 50, 1 ///Вот как прописать цыфры? музыка Лунная Соната формат Вав
/// первая цифра - номер фрейма, в котором будет слышна песня,
/// вторая - уровень звука, обычно до ста,
/// третья - что-то вроде второй громкости, если будет 1 или меньше - звук нормальный будет, если больше - очень громкий, подойдёт лишь для окружающих городских звуков чего-то (сирены, например).

wait 10000
goto 101


Ещё: stream_create nn,"ssss" - создать музыкальный поток и присвоить ему номер nn - присваемый номер, ssss - название файла ("sounds/xxx.wav" или "sounds/music/xxx.ogg(mp3)". Что значит?

Лучше конвертируй мп3-файл этой прогой, потому что когда другой пробовал, звука не было... Чуть другой формат, и ехе-ник не понимал его. Для команды необходимо только в ogg-формате, не mp3. Даже dll-ка в Мафии есть специональная, да и сам ехе-ник содержит смертельный звук в мп3-формате, поэтому его не слышим, если ГГ умирает (видно разрабы в спешке так оставили), но стоит поменять окончание mp3 на ogg - всё сразу слышно будет :)

И в первом случае - просто звуки берут из первого каталога (но звуки в формате вав, кажется, не проигрываются такой командой как следует, и в оригинальных скриптах проигрываться будут только ogg-мелодии из 2-го каталога), во втором - мелодии городской музыки в формате ogg из подпапки music.

К этой команде нужны ещё:
stream_play nn, nn - совпадают, ясное дело, для проигрывания,
stream_setloop nn, mm - повторение: nn - номер звука, mm - сколько раз.

0

34

Музыка всё равно также тихо играет и везде (а не только во фрейме, может отдельный фрейм создать, а не тот в котором включается музыка?).
Итак, начал делать Чек.бин точки для путей. Мне нужно, чтобы по моей карте ездили машины, а люди только стояли. Я принудительно посадил людей в машины. Мне точки в программе Че для техники делать или для енеми или для пешеходов. Думаю наверное для техники. (а может это техника другого типа, не как вставленные машины и енеми, может надо точки как для енеми?). Как запущу машины, то мод можно сказать будет готов. Как минимум версия 1.0
И что-то люди отыграв анимации не начинают их заново.

Свёрнутый текст

dim_act 3
dim_frm 3
findactor 0, "Tommy"
findactor 1, "poli415"

///Анимации стояния для мужиков
wait 2500

label 101 
enemy_playanim "breath01a.I3D" ///1 стоит
wait 9000
enemy_playanim "breath01c.I3D" ///2
///смотрит часы
wait 3000
enemy_playanim "enm klid stat A.I3D" ///3 стоит
wait 4000
enemy_playanim "Gesto_01e.I3D" ///5 качается
wait 5000
enemy_playanim "Gesto_04a.I3D" ///6
wait 6000
enemy_playanim "KurakLoop.I3D" ///7
wait 3000
enemy_playanim "Mise01B_Gorila01Stativ.I3D" ///8
wait 8000
enemy_playanim "Mise01B_Gorila02Stativ.I3D" ///9
///Рука в кармане
wait 7000
enemy_playanim "Mise03a Frank stativ.I3D" ///10
/// Стоит как вратарь
wait 7000
enemy_playanim "Mise04a FrankStativ.I3D" ///11
///руки за спиной
wait 4000
enemy_playanim "Mise08e man05 otoceni vlevo.I3D" ///12 Также
wait 3000
enemy_playanim "Mise08e man06 naslouchani.I3D" ///13 вратарь
wait 6000
enemy_playanim "Mise08e man06 stativ.I3D" ///14
wait 9000
enemy_playanim "Mise12B_W4prichod.I3D" ///15
///чешет шею
wait 8000
enemy_playanim "mise15f-Manik01.I3D" ///16
///Думает
wait 4500
enemy_playanim "mise15f-Manik03.I3D" ///17
///Скрестил руки
wait 6000
enemy_playanim "Nuda01 f.I3D" ///18
///Руки сзади озирается
wait 4500
enemy_playanim "Nuda02.I3D" ///19
///Ногой чешет ногу
wait 5000
enemy_playanim "NudaStativ.I3D" ///20
///Смотрит в пол
wait 6000
enemy_playanim "Vyhlizeni02.I3D" ///21
///скрестил руки
wait 7000
enemy_playanim "x kurak stativ.I3D" ///22
///Руки в кармане
wait 4000
enemy_playanim "xMavani01s.I3D" ///23
wait 8000
goto 101

0

35

Михаил Лукьянов написал(а):

Музыка всё равно также тихо играет и везде (а не только во фрейме, может отдельный фрейм создать, а не тот в котором включается музыка?).

Попробуй этой прожкой, или редактируй название уже имеющейся песни в своей сцене через ДСЕД (или экспортируй из миссии любой, тоже вариант).

Спойлер

dim_act 3
dim_frm 3
dim_flt 3
findactor 0, "Tommy"
findactor 0, "poli415"

///Анимации стояния для мужиков
wait 2500

label 101
rnd 0, 23 // сколько вариантов аним будет в скрипте
if flt[0] = flt[0] + 102 // т.е. мин: 0+102 и макс: 22+102
goto flt[0] // пардон, что не весь скрипт :)

label 102
enemy_playanim "breath01a.I3D" ///1 стоит
wait 9000
goto 101

enemy_playanim "breath01c.I3D" ///2
wait 3000
enemy_playanim "enm klid stat A.I3D" ///3 стоит
wait 4000
enemy_playanim "Gesto_01e.I3D" ///5 качается
wait 5000
enemy_playanim "Gesto_04a.I3D" ///6
wait 6000
enemy_playanim "KurakLoop.I3D" ///7
wait 3000
enemy_playanim "Mise01B_Gorila01Stativ.I3D" ///8
wait 8000
enemy_playanim "Mise01B_Gorila02Stativ.I3D" ///9
///Рука в кармане
wait 7000
enemy_playanim "Mise03a Frank stativ.I3D" ///10
/// Стоит как вратарь
wait 7000
enemy_playanim "Mise04a FrankStativ.I3D" ///11
///руки за спиной
wait 4000
enemy_playanim "Mise08e man05 otoceni vlevo.I3D" ///12 Также
wait 3000
enemy_playanim "Mise08e man06 naslouchani.I3D" ///13 вратарь
wait 6000
enemy_playanim "Mise08e man06 stativ.I3D" ///14
wait 9000
enemy_playanim "Mise12B_W4prichod.I3D" ///15
///чешет шею
wait 8000
enemy_playanim "mise15f-Manik01.I3D" ///16
///Думает
wait 4500
enemy_playanim "mise15f-Manik03.I3D" ///17
///Скрестил руки
wait 6000
enemy_playanim "Nuda01 f.I3D" ///18
///Руки сзади озирается
wait 4500
enemy_playanim "Nuda02.I3D" ///19
///Ногой чешет ногу
wait 5000
enemy_playanim "NudaStativ.I3D" ///20
///Смотрит в пол
wait 6000
enemy_playanim "Vyhlizeni02.I3D" ///21
///скрестил руки
wait 7000
enemy_playanim "x kurak stativ.I3D" ///22
wait 4000

label 124
enemy_playanim "xMavani01s.I3D" ///23
wait 8000
goto 101

Первое, первый актор в скрипте Томми, движок будет думать так, по крайней мере. Если как в первоначальном варианте, надо уточнять командой - person_playanim 1. Второе, в таком длинном скрипте лучше поставить rnd для случайности проигрівания анимаций. Третье, в окончательном варианте скрипте рекомендую все лишние слеши убрать. Хотя считается, что движок не читает всё, что после них, по наблюдениям моим, просто могут происходить всякие непредвиденные нелепости, которые не произоидут, если слеши эти всё-таки убрать. Просто наблюдение. Теперь ты тоже предупреждён ;)
Как-то так http://my.forum4.ru/files/0012/81/3f/10999.gif

0

36

Спасибо. Томми и слэши уберу из скрипта человеков. Пока люди пусть с Томми не взаимодействуют скриптово, а то так и не доделаю никогда :)  Пока пусть простые скрипты будут.
Вставил точки маршрута в проге CHE как для транспорта forvard. Этого хватит для запуска автомашин по моей карте?

0

37

Просто пусть Томми будет как второй актор - findactor 1, "Tommy".
А в Che я очень давно маршрут прокладывал для Оукхилла. Вроде всё так http://my.forum4.ru/files/0012/81/3f/68958.gif

0

38

Где ошибки? Решил писать всё в одном скрипте. Так как как преключиться между скриптами не нашёл...

Радио

dim_act 2
dim_flt 10
findactor 0,"Tommy"
findactor 1,"NULL"

label 0
ctrl_read 0, CLUTCH1
if flt[0]=1,-1,0
if flt[5]=4,-1,2
console_addtext 5001
stream_create 1, "/sounds/music/Beglezy.ogg"
wait 136800
stream_create 2, "/sounds/music/Papashi.ogg"
wait 210000
let flt[5]=1
goto 0

label 2
console_addtext 5001
stream_create 3, "/sounds/music/Berezy.ogg"
wait 145200
stream_create 4, "/sounds/music/Davai za.ogg"
wait 244200
goto 0

0

39

Привет. Ответил ВК. Вот небольшая статейка, пригодится, может кому. http://my.forum4.ru/files/0012/81/3f/55442.gif

0

Похожие темы


Вы здесь » Форум о Мафии и Мафии 2 » Создание модификаций » Учимся писать скрипты