Перейти к содержанию

Рекомендуемые сообщения

 

 

Доброго времени суток, уважаемые!

Нашёл кол-во патронов, нашёл инструкцию отвечающую за перезарядку (Там если сделать патроны 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)

 

Спойлер

Screenshot-5.png

Screenshot-6.png

 

Изменено пользователем TimaS
Ссылка на комментарий
Поделиться на другие сайты

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:

 

 

Ссылка на комментарий
Поделиться на другие сайты

21 час назад, TimaS сказал:

Написал скрипт (Не работает):

 

17 часов назад, TimaS сказал:

Уже сделал.

Вот скрипт:

:blink: И кто ж тебя так скрипты писать учил?
по первому скрипту - посмотри это
Если бы написал скрипт, например так:

Спойлер

[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)

 

То скорее всего он бы работал.

 

Ссылка на комментарий
Поделиться на другие сайты

В 01.01.2019 в 19:19, TimaS сказал:

Уже сделал.

Так там по моему вычитание из 3 ох... а может (не помню точно) даже из четырех мест. А то есть получается... 2 вычитания как сделал ты (хотя там можно будет сделать одно) но будет перезарядка оружия, а что бы было без неё, нужна два места... И как раз сидя в технике, тоже самое надо повторить.. Либо будет бесконечные с перезарядкой, либо патч две функции и патроны встанут на месте.. Хотя ты смотришь Mp там может по другому это дело работает.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.