Двери авто

БеzликиЙ

Автор темы
Автор темы
Проверенный
802
449
Версия MoonLoader
.026-beta
У нашего старого доброго Сан Андреаса есть ванильный опкод, который проверяет, закрыта ли дверь в авто. Это благодаря ему все те разы, когда дверь открыта или отсутствует, игрок не проигрывает анимацию открытия двери. Вот только с помощью этого опкода нельзя отличить состояния двери "открыта" и "отсутствует".
Логично, что как у любого порядочного опкода, у этого есть своя функция в Moonloader - isCarDoorFullyOpen(). Но в ней тоже "открыта" и "отсутствует" неотличимы. В общем, вопрос такой. Возможно ли каким-то чудесно-магическим образом определить те моменты, когда у данного авто ОТСУТСТВУЕТ данная конкретная дверь? или когда она присутствует И открыта? Мне нужно провести чёткую грань между этими двумя состояниями. Желательно в пределах понимания обезьяны с ноутбуком новичка в Lua.
 
Решение
Сработает только для автомобилей, на других типах авто - краш скорее всего
Lua:
ffi.cast("int(__thiscall*)(unsigned int, int)", 0x6C2230)(getCarPointer(carHandle)+ 0x5A0, doorID)
/
Возвращает число:
1621195662511.png

DOOR_NOTHING - 0 и далее по арифметической прогрессии с шагом 1

kin4stat

mq-team
Всефорумный модератор
2,731
4,693
Сработает только для автомобилей, на других типах авто - краш скорее всего
Lua:
ffi.cast("int(__thiscall*)(unsigned int, int)", 0x6C2230)(getCarPointer(carHandle)+ 0x5A0, doorID)
/
Возвращает число:
1621195662511.png

DOOR_NOTHING - 0 и далее по арифметической прогрессии с шагом 1
 
  • Вау
Реакции: MrBidloKoder