Vice Lua > Разработка плагинов.
Запись одного байта
(1/1)
Prographer:
Всем привет. Решил написать функцию
--- Код: C ---unsigned char &hydraulics = *(unsigned char*)0x594611; // 1 byte size int SetHydraulics(lua_State *l) { unsigned char val = lua_tonumber(l, 1); hydraulics = val; return 0;}При попытке вызвать созданную функцию, игра вылетает. Подскажите, что не так?
Sektor:
Вы пытались записать в ту область, которая была защищена от записи и чтения. Пробуйте этот код:
--- Код: Lua ---int l_SetHydraulics(lua_State *l) { DWORD _old; VirtualProtect((LPVOID)0x0594611, 4, PAGE_READWRITE, &_old); *(int*)(0x0594611) = lua_tonumber(l, 1); VirtualProtect((LPVOID)0x0594611, 4, _old, &_old); return 0;}
Навигация
Перейти к полной версии