Page 1 of 1

Asphalt 8 - Problem with script, the values are changing to VERY BIG numbers and crashing the game

Posted: Tue Jan 09, 2018 11:17 am
by marek1957
Hey brothers,
I have a problem with my script for Asphalt 8 v3.4.0m. I made a script for Free Bosters (+1 Free everytime when you click the button) but when I add Free Booster, the time of boosters is changing to unimaginable numbers which leads then to the crash of the game - you can see in the picture what I mean.

I was trying to change the values in my script (2 bytes, 4 bytes etc.) and when I change the value to different than +10, the game is always crashing after one click on any booster.

How to fix my script that my script when activated, it won't be adding a crazy time to boosters, only it will be adding +1 amount to the boosters?

---------------------------------------

My script for Free Boosters +1:

Code: Select all

[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem:

originalcode:
add dword ptr [esi+0000033C],+10

exit:
jmp returnhere

"Asphalt8.exe"+9BAA6E:
jmp newmem
nop
nop
returnhere:

[DISABLE]
dealloc(newmem)
"Asphalt8.exe"+9BAA6E:
add dword ptr [esi+0000033C],-10
//Alt: db 83 86 3C 03 00 00 F0
Image

Re: Asphalt 8 - Problem with script, the values are changing to VERY BIG numbers and crashing the game

Posted: Tue Jan 09, 2018 11:47 am
by Blayde
Hold on. Installing windows right now

Re: Asphalt 8 - Problem with script, the values are changing to VERY BIG numbers and crashing the game

Posted: Tue Jan 09, 2018 12:09 pm
by marek1957
Ok, I'm waiting.

Re: Asphalt 8 - Problem with script, the values are changing to VERY BIG numbers and crashing the game

Posted: Wed Jan 10, 2018 3:30 pm
by Acido
Well since the original code subtracts 16 (add -0x10) maybe try subtract 32 instead? (add -0x20) But looks to be the duration code you're changing.

Re: Asphalt 8 - Problem with script, the values are changing to VERY BIG numbers and crashing the game

Posted: Tue Jan 30, 2018 12:49 am
by Prometheus
Is it possible you are just one byte or word off target (I've run into that sometimes)? This might be a case of the Little Endian vs. the Big Endian :lol:

Another possibility is maybe you found a multiplier instead of an integer value? Maybe you just want to use a word value, not a double-word (might be overflowing)?

Just a few stabs in the dark.