#1 Re: Вопросы по скриптингу » Один вопрос » 23-02-2017 17:34

Спасибо за ответы. Запуск в режиме совместимости с ХР SP3 (которая у меня и была и на которой всё писалось), к сожалению, не помогает. Сейчас у меня 7 Максимальная х64.

Seemann, а способ измерения зависит именно от железа или от оси? Если от оси, то я могу просто подкорректировать задержки. Но сдаётся мне, что всё немного сложнее, поскольку такой проблемы с fade'ами больше ни у кого на такой системе нет. Кстати, заметил, что при малой длительности fadeout'а глюка не возникает. Такая зависимость движка от железа вообще вводит меня в ступор по поводу оптимизации - оптимизирую я код под свою систему, а у других всё поломается.

#2 Re: Вопросы по скриптингу » Один вопрос » 14-02-2017 15:28

Почему-то стал менее предсказуемо себя вести скриптовый движок игры после переезда на новое железо. Был старенький пенёк, сейчас новый быстрый i5. Теперь при отладке выявляется куча новых проблем, которых на старом железе не было. Я ещё могу понять, когда у меня циклы с длительностью, завязанной на фреймтайме (wait 0, wait 30 делаются определённое кол-во раз), выполняются быстрее - логично. Их я просто связал с внутриигровым счётчиком времени. Но вот, например, совершенно для меня неясная проблема.

015D: set_gamespeed 0.2
(...)
if
00E1: player 0 pressed_key 16
then
fade 0 50
wait 50
015D: set_gamespeed 1.0

Ставлю скорость игры на 0.2, потом вспышка и вновь 1.0. Но экран после засветления и не думает проясняться, т.е. просто вся картинка залита белым цветом, а код дальше не выполняется, скорость по-прежнему 0.2. При этом игра работает и позволяет заходить в паузу, сворачивать и разворачивать себя совершенно нормально, лог-файл scrlog'а не показывает в потоке ни одного опкода, словно выполняется бесконечный wait. Исправил костылём, но сама проблема не исчезла, и это меня настораживает.
Также стал дольше выполняться скриптовый ролик с фиксированной длительностью текстов, камер и анимации (на весь ролик у актёра одна большая анимация, как в катсцене). Раньше ролик заканчивался тютелька в тютельку с окончанием анимации, а теперь текст и камеры вдруг стали отставать от анимации. В итоге смотрю на рассинхрон текста с происходящими на экране действиями, а в конце ролика 1-2 секунды наблюдаю актёра, застывшего в последнем кадре анимации, хотя раньше, повторюсь, всё было идеально.
С чем такое может быть связано, и есть ли способ это исправить, или придётся всё настраивать заново каким-нибудь универсальным способом?

Добавлю, что проблем гораздо больше, но они все разные и, на мой взгляд, ничего общего не имеют (кроме, вероятно, причины), поэтому не вижу смысла перечислять.

#3 Re: Вопросы по скриптингу » Ped Wanted Level [GTA:VC] » 03-07-2016 13:42

Goldfish wrote:

нет, этот опкод для статы

Нет, этот опкод имеет вполне конкретное влияние на поведение педа:

Sets whether the actor is a psychotic killer or not. If so, he will usually go around attacking people.

#4 Re: Вопросы по скриптингу » Ped Wanted Level [GTA:VC] » 29-06-2016 17:55

За некоторыми педами на улице гоняются полицейские, возможно, этот опкод может сделать актёра таким же:

0433: set_actor 50@ criminal_flag 1

#5 Re: Sanny Builder и CLEO » Вопросы и предложения по Sanny Builder » 19-06-2016 11:08

Только, если идея проводника всё же будет принята к сведению, хотелось бы также увидеть функцию его отключения в настройках. Потому как во многих случаях он будет просто не нужен, и будет мозолить глаза.

#6 Re: Работа с памятью, EXE » Вопрос по памяти » 14-06-2016 15:15

Есть ли возможность заставить игру загрузить файл внешних скриптов в процессе выполнение самого .scm файла? Надо для мпака. Я точно помню, что есть какая-то функция для загрузки .img файла. Вроде, в базе для иды видел.
Я знаю, что есть патч от Seemann, но всё-таки предпочтительнее было бы загрузить прямо из скм, а не менять экзешник.

#7 Re: Вопросы по скриптингу » Проверка » 01-06-2016 15:55

Очень просто. Получаешь текущее время и сравниваешь с нужным тебе.

00BF: $TIME_HOURS = current_time_hours, $TIME_MINS = current_time_minutes 

$TIME_HOURS - часы, $TIME_MINS - минуты

#8 Re: Вопросы по скриптингу » Игнорирование игровой клавиши » 30-05-2016 08:33

Тогда тебе нужно искать по базе listener'а, где обрабатывается нажатие кнопки прицеливания и кручение колёсика мышки, и занопить эти процедуры. Адреса сейчас не подскажу, т.к. базы нет под рукой, могу только подсказать адреса, занопив которые, можно вообще убрать обработку всей клавиатуры (кроме паузы) и мышки:

0A8C: write_memory 0x541DF5 size 5 value 0x90 virtual_protect 1
0A8C: write_memory 0x541DFF size 5 value 0x90 virtual_protect 1

По сути, это то же самое, что Player.CanMove($PlAYER_CHAR, 0), только с возможностью вращать камеру.

#9 Re: Вопросы по скриптингу » Игнорирование игровой клавиши » 29-05-2016 15:01

Занопить обработку нажатия нужной клавиши через память, узнав адрес. Для некоторых клавиш есть стандартные опкоды:

07CC: set_player $PLAYER_CHAR button_15 0

Включает/отключает клавишу "вход в машину" и все её функции.

082A: set_player $PLAYER_CHAR able_to_use_crouch_button 0 

То же самое для кнопки приседания.

0901: enable_player $PLAYER_CHAR jump_key 0

Для кнопки прыжка.

Board footer

Powered by FluxBB