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;} 

Навигация

[0] Главная страница сообщений

Перейти к полной версии