Вопросы по скриптингу
Если поставить скрипт снега в 1 миссии, то в конце в доме Тома идет снег. Можно это исправить или нет?
И тоже самое в 15 миссии (Везет же гаду), в ролике на переезде, что бы снег не шел внутри сторожки. Или можно сделать снег только в некоторых эпизодах миссии, например - Итальянский садик, подрыв машины и Радуга со снегом, а переезд и порт без снега? |
Определённую область можно изолировать от осадков. Но это не по скриптам вопрос. Это делается либо с помощью лайт-секторов, либо с помощью спец. dummy-объектов.
|
Не могу вставить скрипт снега в интермеццо 2-4 (INTERMEZZO02, INTERMEZZO03, INTERMEZZO04), хотя в первое интро снег замечательно встал. В тех scene2.bin пустой раздел Init Scripts. Пробовал в DCED добавить GameInitEnd - прога виснет намертво. Как вставить туда снег?
Какая еще программа позволяет вставлять GameInitEnd в scene2.bin? |
боюсь ето тока гексом мутить
|
Цитата:
На старом форуме Квантум выложил скриншот со снегом и прохожими без зонтов и намекнул, что сделал это через экзешник, но больше не заходил и не рассказал как же этого добиться? P.S. Извини, я не силен в модинге...что имелось ввиду "мутить гексом"? |
Цитата:
|
могу замутить инитскрипт. в каких миссиях нужно? или в не оригинальных(тогда заливай_ка).
- зонтик хорошая вещь че, - еще им можно отравить скрипачей:) контролируется он екзешником ога. по-хорошему можно(нужно) выследить оное и сделать развилку типа 'если погода но снег, то обходим зонтикование(и еще там подмена челоанимок кстати)'. можно и в валенки обуть ентих...бедолаг:) |
Извините что пишу не по теме. GOLOD55, как там новая версия патчера? Планируется к выходу?
|
да покамест никакие работы не ведутся.
|
пичаль
|
Цитата:
Зимой, под снежком будет гораздо логичнее без зонтов. Это неоднократно подмечали и обзорщики модов (Paradonz и другие), да и багов с ними хватает. Насколько понял, есть два способа убрать зонты - через экзешник и скриптом. Это нужно сделать во всех миссиях и фрирайде. Конечно, следующий вопрос упирается в зимнюю одежду и обувь (валенки это круто :), но боюсь немного не традиционно). Некоторых мужских персонажей прохожих и переделывать не надо - они в ботинках, пальто и шляпах. А женские персонажи практически все одеты по летнему и с этим нужно что то делать. Буду рад любой помощи. Заранее благодарю. |
Ребята, поясните пожалуйста следующие команды:
door_getstate xx, yy найти текущее состояние двери xx - актор двери yy - считываемое значение(0,1,2,3?) Непонятно, YY сколько всего можно ставить значение? И что вообще эти значения значат? Может быть это значение можно записать в переменную... А на эти команды, даже описания нет... garage_releasecars garage_show |
нака доку по скрипткомандам. видимо свежовее чем у тя..
http://dropmefiles.com/JsMi4 |
Возможно ли одному энеми дать в обе руки по вещи?
|
Ребята, помогите пожалуйста. Нашел такую команду "getenemyaistate" на пароходе, которая прописана в скрипте под названием "паника всем".
Решил ее попробовать использовать. Написал простенький скрипт, суть которого в том, чтобы при выстреле Тома, музыка отключалась. Вот скрипт: commandblock 1 dim_act 2 dim_flt 4 dim_frm 1 findactor 0, "Tommy" findframe 0, "14_Coucou" commandblock 0 label 101 getenemyaistate 0, 3 if flt[3] < 1, -1, 101 wait 1000 frm_seton 0, 0 wait 1000 end Проблема в том, что если я ставлю условие "больше" или "меньше" единицы, то музыка не играет вовсе изначально. Если ставлю "равно" единице, то играет, но не отключается при первом выстреле. Еще такой вариант думал: Развернуть для просмотраdim_act 2
dim_flt 4 dim_frm 1 findactor 0, "Tommy" findframe 0, "14_Coucou" label 101 getenemyaistate 0, 0 if flt[0] = 1, 102, 101 wait 1000 goto 101 label 102 commandblock 1 frm_seton 0, 0 wait 1000 commandblock 0 end [свернуть] |
поюзай вместо getenemyaistate команды get_pm_...
--- в лев.руку можно сунуть ченить, тока если human_linktohand не справится, то боюсь придется "вручную", - типа: модел_креате, линк к руке, позиционирование; или изначально предмет расположить в руке, смотря зачем и што с ним будет. |
В общем эта команда:getenemyaistate очень даже рабочая. Оказывается, я не к тому прикреплял актору! Теперь у меня все работает!
|
Ребята! Коллеги! Друзья! Помогите советом решить одну старую проблемку. Дело в том, что я до сих пор умею только запускать таймер и делать так, что типо время вышло, игра закончена. Но у меня не получается сделать второе условие: чтобы если игрок успел до конца таймера (например поюзал нужную дверь), то таймер бы отключился вместе с условием проигранной миссии. Как это сделать? В одном скрипте? В двух? Наведите хотя бы на мысль.
|
а timeroff тупо не помогает?
пошмотри как таймеры в екстриме сделаны, там ж их куча. там же и непроигрыш подмиссии если юзер успел выполнить условия, полагаю. |
Привет, ребят)
Кто знает как работает команда frm_setalpha X,Y? Перебирал для Y разные параметры и ничего, никак не могу разобраться. |
CurtisTea, привет )
Не использовал такую команду, но интересно стало. Видимо, она может сделать объект (полу)прозрачным. В справочнике написано, что у - это номер переменной со значением альфы. То есть не само её значение. Ещё, как я понял, в качестве фрейма надо указывать конкретный объект 4ds-модели, а не всю модель. |
Цитата:
|
Подскажите как настроить горячие клавиши во фрирайде для изменения FOV камеры
edit нашёл: http://mafiascene.com/forum/viewtopi...3ac761e#129859 |
Цитата:
|
Цитата:
https://drive.google.com/drive/u/0/f...c4kdZ6YEVFSN_t |
Ребя, я тут немного ударился в оптимизацию кода и есть пара вопросов, которые хотелось бы точно выяснить) Заранее извиняюсь если вопросы покажутся нубацкими:shy:
Как работают скрипты вообще? Я так понимаю сперва выполняется 1 строчка 1-го скрипта в сцене, потом 1 строчка 2-го скрипта... 1 строчка последнего, далее 2 строчка 1-го, 2 строчка 2-го и так далее, верно? Что в таком случае делает commandblock? Выполняет строчки своего скрипта, пока не наткнется на commandblock 0 и только тогда переходит к следующему? Если инактивится скрипт (командой act_setstate), он останавливается на определенной строчке или его работа сбрасывается полностью (как при смене миссии)? Если его инактивить и заактивить обратно, он запустится с определённой строчки когда он стал неактивным или с самого начала? P.S. просто хочется понимать точную суть происходящего, а не на уровне "с коммандблок скрипт работает быстрее") |
Цитата:
А самый простой способ намертво повесить игру выглядит так: CommandBlock 1 Wait 100 Поскольку команда ожидания под коммандблоком, игра ждёт окончания ожидания, не переходя к другим задачам. Но к этим другим задачам, как раз относится отсчёт времени ) Игра ждёт, но время не идёт. Цитата:
В одном скрипте пишешь: Dim_Flt 1 Let Flt[0]=0 Label 1 Lel Flt[0]=Flt[0]+1 FreeRide_ScoreSet Flt[0] Wait 1000 GoTo 1 А из другого скрипта его активируешь/деактивируешь по таймеру или по нажатию какой-нибудь клавиши. И сразу видно, продолжает скрипт работу после повторной активации или начинает заново. Экспериментом скриптинг не испортишь ) |
Цитата:
Цитата:
Да продолжает из тела скрипта, счетчик не обнуляется ;) |
Спасибо) Тогда ещё вопрос: влияет ли на загруженность движка количество переменных/акторов/фреймов, резервируемых в скрипте (даже если не все они используются)?
Проверил через getticktime - уменьшения скорости не показало, но и не факт что должно было. |
Цитата:
Даже с сотней переменных и полкилобайта не наберёшь. С акторами и фреймами картина примерно такая же - это, по сути переменные с набором идентификаторов и свойств, через которые движок обращается к конкретным моделям. Для движка это - капля в море. Для сравнения - качественная модель авто для игры - от 1Мб и более. И вот они движок и проц грузят ) А что до скриптов - хоть километровый скрипт напиши, игра и не заметит. Орять же - можно провести эксперимент. Dim_Flt 2 Dim_Act дофига Label 1 GetGameTime 0 FindActor 0 //тут можно сотню команд натолкать FindActor X И смотрим, сколько времени ушло на команды CommandBlock 1 GetGameTime 1 Let Flt[0]=Flt[1]-Flt[0] FreeRide_ScoreSet Flt[0] CommandBlock 0 Wait 500 GoTo 1 Увеличиваем количество акторов и команд в неразумных пределах, с помощью копипаста, и смотрим, как увеличивается время выполнения. Если количество команд и акторов увеличилось вдвое, и время увеличилось вдвое - значит, движок работает всё с той же скоростью. Если количество акторов и команд увеличилось в 10 раз, а время выполнения в 15 раз - то движок начал тормозить ) Рекомендую для эксперимента использовать внешний скрипт, подгружаемый с помощью Mafia Patcher, чтобы всё быстро и легко делать в блокноте, и не лезть в сцену триста раз. |
Цитата:
Я проверю, но уйдёт время, у меня сохранения заглючило, теперь всё с начала прохожу. Ты тоже проверь, загрузи без скрипта. Вдруг, так и должно быть, а мы забыли. |
У кого-нибудь бывало такое, чтобы команда отключения городской музыки не срабатывала?
|
Цитата:
Но чтобы не отключалась - этого не было. Можно больше подробностей? Например, в миссии с поездками по городу перед перестрелкой в музее в городе всё время играет напряжённая музыка. Но это не городская музыка, а созданная в скрипте с помощью потока. А значит, её этой командой не вырубить. Поэтому важно, как и при каких обстоятельствах ты используешь команду CityMusic_Off |
Народ, есть у кого-нибудь скрипт, который считывает пройденное расстояние и выводит его в доллары? Мне просто нужно как-то 500 м отсчитать в игре.
|
Всем привет. Кто нибудь знает как заставить Томми брать предмет(модель фонаря, а не лайт) в левую руку?
|
Цитата:
human_linktohand xx, yy[, HAND, MOVE, LEFT, RIGHT] ? |
Не получается, не хочет ничего брать в левую руку.
|
Цитата:
И скрипт бы посмотреть не помешало бы. |
Я по всякому пробовал, в том числе и
Цитата:
|
Цитата:
------------------------------------------------------------------------ act_setstate -1, inactive dim_act 1 dim_flt 9 dim_frm 3 findactor 0, "Tommy" findframe 0, "2baterka_light" findframe 1, "Tommy.l_hand" findframe 2, "f_light" label 1 commandblock 0 commandblock 1 human_getiteminlhand 0, 0 human_getiteminlhand 0, 2 human_linktohand 0, 18, LEFT if flt[0] = flt[8], -1, ZMENA label 2 let flt[8] = flt[0] getactivecamera 2 frm_getworldpos 1, 1 frm_setpos 0, 1 frm_setpos 2, 1 //frm_getworldrot 1, 4 frm_getworldrot 3, 4 //let flt[4] = flt[4] + flt[9] //let flt[4] = flt[4] / 2 //let flt[5] = flt[5] + flt[10] //let flt[5] = flt[5] / 2 //let flt[6] = flt[6] + flt[11] //let flt[6] = flt[6] / 2 //let flt[7] = flt[7] + flt[12] //let flt[7] = flt[7] / 2 frm_setrot 0, 4 goto 1 label ZMENA if flt[0] = 18, -1, VYP frm_seton 0, 1 frm_setpos 2, 1 goto 2 label VYP frm_seton 0, 0 frm_setpos 2, 0 goto 2 --------------------------------------------------------------------------- act_setstate -1, inactive dim_act 1 dim_flt 5 dim_frm 5 findactor 0,"Tommy" findframe 0, "2baterka_light" findframe 1, "f_light" frm_seton 0, 0 frm_seton 1, 0 label 1 human_isweapon 0, 0, 18 if flt[0] = 1, -1, 1 label 2 ctrl_read 1,CLUTCH1 if flt[1]=0, 2, -1 if flt[0]=0, 3, -1 let flt[0]=0 frm_seton 0, 1 frm_seton 1, 1 wait 300 goto 2 label 3 let flt[0]=1 frm_seton 0, 0 frm_seton 1, 0 wait 300 goto 2 --------------------------------------------------------------------------- =моё ноу-хау - Томми поднимает пустую левую руку , чтоб посветить места повыше= act_setstate -1, inactive dim_act 1 dim_flt 4 dim_frm 1 findactor 0,"Tommy" label 101 ctrl_read 1,SPEEDLIMIT1 if flt[1]=0, 101, -1 player_lockcontrols 1 person_playanim 0, "RadMavani02R.i3d", 0, simple wait 2000 player_lockcontrols 0 wait 500 goto 101 ---------------------------------------------------------------------- dim_act 5 dim_frm 1 dim_flt 1 findactor 0,"Tommy" findactor 1,"f_light2" findactor 2,"2baterkaon" findactor 3, "2baterka" findactor 4, "f_light_overview" findframe 0,"f_light" label 1 detector_waitforuse frm_seton 0, 0 playsound "skog1.wav", 1, 50, 1, 2 wait 200 human_addweapon 0, 18, 0, 0 wait 500 ///human_linktohand 0, 18, LEFT console_addtext 3418 act_setstate 2, active act_setstate 3, active act_setstate 4, active end |
Текущее время: 18:29. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.11 Release Candidate 2
Copyright ©2000 - 2024, vBulletin Solutions Inc. Перевод: zCarot