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, чтобы всё быстро и легко делать в блокноте, и не лезть в сцену триста раз. |
Текущее время: 16:54. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.11 Release Candidate 2
Copyright ©2000 - 2024, vBulletin Solutions Inc. Перевод: zCarot