--[[
NOP - 0x90
RET - 0xC3
Аргументы передаются и читаются справа налево
-----------------------
Nicknames:
.text:10070D40 | 55 8B EC 83 E4 F8 83 EC
↑-2 ↑-1
Мы ставим 2-ух байтовую пустую инструкцию RET + NOP, откуда выходит 0xC390
↑-0x90
Мы получаем, что 0x8B55 - оригинальные байты
Из модуля memory можно понять, что memory.setuint16 записывает беззнаковое целочисленное значение размером 2 байта по адресу.
Получается выходит так:
Выключение: memory.setuint16( sampGetBase() + 0x70D40, 0xC390, true )
↑-Адрес ↑-Инструкция ↑-Снятие протекции памяти
Включение: memory.setuint16( sampGetBase() + 0x70D40, 0x8B55, true )
↑-Адрес ↑-Оригинальные байты ↑-Снятие протекции памяти
-----------------------
-----------------------
Health:
.text:1006FC30 | 55 8B EC 83 E4 F8 83 EC
Аналогично с Nicknames
Выключение: memory.setuint16( sampGetBase() + 0x6FC30, 0xC390, true )
Включение: memory.setuint16( sampGetBase() + 0x6FC30, 0x8B55, true )
-----------------------
]]--