TimaS Опубликовано 1 января, 2019 Поделиться Опубликовано 1 января, 2019 (изменено) Доброго времени суток, уважаемые! Нашёл кол-во патронов, нашёл инструкцию отвечающую за перезарядку (Там если сделать патроны 99 и заморозить там они отнимается от кол-во обоймы) Нашёл, сравнение патрона и обоймы Написал скрипт (Не работает): Спойлер [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat aobscanmodule(Ammo,gta_sa.exe,3B C8 73 07 89 4E 08) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: cmp eax,1 mov [esi+08],7 jne code code: cmp ecx,eax jae gta_sa.exe+33AEEF mov [esi+08],ecx jmp return Ammo: jmp newmem nop nop return: registersymbol(Ammo) [DISABLE] //code from here till the end of the code will be used to disable the cheat Ammo: db 3B C8 73 07 89 4E 08 unregistersymbol(Ammo) dealloc(newmem) Спойлер Изменено 1 января, 2019 пользователем TimaS Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 1 января, 2019 Поделиться Опубликовано 1 января, 2019 33 минуты назад, TimaS сказал: (Не работает): А сделай скрин отладчика чуть-чуть выше cmp ecx,eax jae gta_sa.exe+33AEEF Ссылка на комментарий Поделиться на другие сайты Поделиться
TimaS Опубликовано 1 января, 2019 Автор Поделиться Опубликовано 1 января, 2019 3 часа назад, Garik66 сказал: А сделай скрин отладчика чуть-чуть выше cmp ecx,eax jae gta_sa.exe+33AEEF Уже сделал. Вот скрипт: Спойлер [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat alloc(newmem,2048) label(returnhere) label(originalcode) label(exit) newmem: //this is allocated memory, you have read,write,execute access cmp eax,1 // Сравнение mov [esi+08],7 // Патроны mov eax,7 // Патроны mov [esi+0C],20 // Обойма jne originalcode cmp [esi+08],1 // Сравнение mov eax,7 // Патроны mov [esi+08],7 // Патроны mov [esi+0C],40 // Обойма jmp originalcode originalcode: mov [esi+08],eax mov eax,[esi+0C] exit: jmp returnhere "gta_sa.exe"+3428B0: jmp newmem nop returnhere: Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 2 января, 2019 Поделиться Опубликовано 2 января, 2019 21 час назад, TimaS сказал: Написал скрипт (Не работает): 17 часов назад, TimaS сказал: Уже сделал. Вот скрипт: И кто ж тебя так скрипты писать учил? по первому скрипту - посмотри это Если бы написал скрипт, например так: Спойлер [ENABLE] aobscanmodule(Ammo,gta_sa.exe,3B C8 73 07 89 4E 08) alloc(newmem,$1000) label(code) label(return) registersymbol(Ammo) newmem: mov eax,ecx code: cmp ecx,eax jae gta_sa.exe+33AEEF mov [esi+08],ecx jmp return Ammo: jmp newmem db 90 90 return: [DISABLE] Ammo: db 3B C8 73 07 89 4E 08 unregistersymbol(Ammo) dealloc(newmem) То скорее всего он бы работал. Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 5 января, 2019 Поделиться Опубликовано 5 января, 2019 В 01.01.2019 в 19:19, TimaS сказал: Уже сделал. Так там по моему вычитание из 3 ох... а может (не помню точно) даже из четырех мест. А то есть получается... 2 вычитания как сделал ты (хотя там можно будет сделать одно) но будет перезарядка оружия, а что бы было без неё, нужна два места... И как раз сидя в технике, тоже самое надо повторить.. Либо будет бесконечные с перезарядкой, либо патч две функции и патроны встанут на месте.. Хотя ты смотришь Mp там может по другому это дело работает. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения