SA:MP Lua Фикс исчезающих машин

БеzликиЙ

Эксперт в области Аризона РПГ
Автор темы
Проверенный
2,166
1,293
Версия SA-MP
  1. Любая
А у вас когда-нибудь бывало такое, что вы выходите из своей машины, а она пропадает, и от неё остаётся висеть только тюнинг? Так вот, мы с @romanespit докопались до причины этого явления - опкода 01C3, который помечает машину как "более ненужную" для движка - что означает, что игра имеет полное право её удалить. Вот только в сампе нет "ненужных" машин, все машины синхронизированы с сервером и подобные внезапные удаления всё только портят.

Решение? Ебануть по опкоду гранатомётом!

Скрипт находит и нопает функцию опкода 01C3, приводя к тому, что использование markCarAsNoLongerNeeded() совершенно ничего не делает - а значит, такого рассинхрона не будет. В одиночке не работает, процесс начинается только при загрузке сампа, так что если вы случайно уроните это в сборку для одиночной игры - ничего страшного не будет. А вот в сампе может совсем чуть-чуть просесть ФПС, хотя не должен, потому что самим сампом 01C3 не используется, только скриптами, рассчитанными на одиночку, и всякими криво написанными стробоскопами.

Установка: засунуть в moonloader. Активация: автоматическая. Совместимо со всякими лаунчерами аризон/родин/тринитей, был бы moonloader. На мобайле работать, скорее всего, не будет.
 

Вложения

  • Unload Shenanigans.lua
    829 байт · Просмотры: 377

izicapt

Хацкер
396
137
Спустя столько лет нашлось решение данной проблемы.

Респект
 

БеzликиЙ

Эксперт в области Аризона РПГ
Автор темы
Проверенный
2,166
1,293
ну из за него перестаёт работать скрипт на стробоскопы после выключения самих стробоскопов
я этот юзаю


Потести сам, может я что-то не так делаю
закомментируй 82 строчку
1762157830303.png
 

БеzликиЙ

Эксперт в области Аризона РПГ
Автор темы
Проверенный
2,166
1,293
чувак, ты похоже не играл на арз
ты не понимаешь значение слова "ненужный" в этом контексте. "ненужная" машина для движка игры - это машина, которую нужно уничтожить при любом удобном случае; машина, которая не используется в данный момент ни для чего и не играет никакой важной роли.

в мультиплеере все машины играют важную роль - они синхронизируются с сервером. удаление машины вызовет рассинхрон, а рассинхроны - это всегда проблемы
 
  • Влюблен
Реакции: uggtiu

LiquidFamily

Участник
41
3
ты не понимаешь значение слова "ненужный" в этом контексте. "ненужная" машина для движка игры - это машина, которую нужно уничтожить при любом удобном случае; машина, которая не используется в данный момент ни для чего и не играет никакой важной роли.

в мультиплеере все машины играют важную роль - они синхронизируются с сервером. удаление машины вызовет рассинхрон, а рассинхроны - это всегда проблемы
а ты видно подъёб арз не выкупаешь
 

ThePatton

Известный
238
44
К сожалению, это не работает в сценарии, когда машину утопили, и это очень существенный недостаток. Приведу пример ситуации, в которой это могло бы сильно помочь: представьте, что вы случайно упали в воду и пишете администрации. Тот великодушно достаёт вас из воды, после чего вы продолжаете ездить. Но когда вы заходите в инту и затем возвращаетесь назад, машина пропадает.
 

менталейшн

Известный
1,825
390
К сожалению, это не работает в сценарии, когда машину утопили, и это очень существенный недостаток. Приведу пример ситуации, в которой это могло бы сильно помочь: представьте, что вы случайно упали в воду и пишете администрации. Тот великодушно достаёт вас из воды, после чего вы продолжаете ездить. Но когда вы заходите в инту и затем возвращаетесь назад, машина пропадает.
Сколько на аризоне не играл - никогда не сталкивался с проблемами, что пропадает транспорт.
Единственное что по сей день раздражает - могут пропадать персонажи с карты, да пропадать так, что в чат варнинга не пишет о том, что модель пропала.
 
  • Нравится
Реакции: aresvoid

БеzликиЙ

Эксперт в области Аризона РПГ
Автор темы
Проверенный
2,166
1,293
К сожалению, это не работает в сценарии, когда машину утопили
в этой ситуации серверу отправляется информация о том, что машина уничтожена, и она удаляется из-за именно этого - с этим я ничего сделать не могу.