Jan 16, 2016 at 11:41 AM
Join Date: Dec 2, 2015
Location:
Posts: 211
Age: 25
Pronouns: he/him
Hey Bombchu Link, I was wondering if you (or anyone else really) could help me with something. I'm trying to learn to Npc hack and I've been following your guide. Got up to the point where it explains how to render graphics aaaand I got stuck there.
This is a little experiment I tried to do:
offset 3F280 ;Npc 93 [0x0039DC0] Npc 79 [0x006690] Npc 120 [0x003F280]
(I got these offsets from Noxid's Assembly Compendium.)
#define
setpointer = mov ecx, [ebp+8]
npc.DisplayL = [ecx+54]
npc.DisplayU = [ecx+58]
npc.DisplayR = [ecx+5C]
npc.DisplayD = [ecx+60]
#enddefine
push ebp
mov ebp,esp
sub esp,10
mov dword [ebp-10],0
mov dword [ebp-c],0
mov dword [ebp-8],10
mov dword [ebp-4],10
setpointer
:Render
mov eax, [ebp-10]
mov npc.DisplayL, eax
mov eax, [ebp-C]
mov npc.DisplayU, eax
mov eax, [ebp-8]
mov npc.DisplayR, eax
mov eax, [ebp-4]
mov npc.DisplayD, eax
mov esp,ebp
pop ebp
retn
I was just trying to move the framerects to the top-left part of the spritesheets, but when I loaded the game up with BL, It didn't change at all. I tried using different npc's but they didn't work either, strangely enough, they just made my game crash.
So I was wondering if you(or anyone else) could tell me what i'm doing wrong? I've read a little ahead in the guide, but that didn't really help me.
I've actually taken some of your codes(like the one you made for Xin)and copy/pasted it into the assembler just to see if it would work. It didn't work for me because it said that it couldn't reconize the setpointer instruction. (Don't know why it says setnpinter, it says setpointer in the text.)
And I also had the same issue with the npc.displayL.U.R.D. So I tried to define them.
#define
setpointer = mov ecx, [ebp+8]
npc.DisplayL = [ecx+54]
npc.DisplayU = [ecx+58]
npc.DisplayR = [ecx+5C]
npc.DisplayD = [ecx+60]
#enddefine
I'm pretty sure these defines are right, which actually leads me to another question:
How come in your codes, you don't define what the pointer and displays are?
Am I being a complete moron? Is defining them the completely wrong thing to do?
I'd really appreciate your help on this because I really want to do a lot of npc hacking for my upcoming mod.
(Also, I would of put this all in a spoilers, but I have no idea how to do that, pretty sure I saw some instructions on how to somewhere on the forums, but now I can't find it.)
This is a little experiment I tried to do:
offset 3F280 ;Npc 93 [0x0039DC0] Npc 79 [0x006690] Npc 120 [0x003F280]
(I got these offsets from Noxid's Assembly Compendium.)
#define
setpointer = mov ecx, [ebp+8]
npc.DisplayL = [ecx+54]
npc.DisplayU = [ecx+58]
npc.DisplayR = [ecx+5C]
npc.DisplayD = [ecx+60]
#enddefine
push ebp
mov ebp,esp
sub esp,10
mov dword [ebp-10],0
mov dword [ebp-c],0
mov dword [ebp-8],10
mov dword [ebp-4],10
setpointer
:Render
mov eax, [ebp-10]
mov npc.DisplayL, eax
mov eax, [ebp-C]
mov npc.DisplayU, eax
mov eax, [ebp-8]
mov npc.DisplayR, eax
mov eax, [ebp-4]
mov npc.DisplayD, eax
mov esp,ebp
pop ebp
retn
I was just trying to move the framerects to the top-left part of the spritesheets, but when I loaded the game up with BL, It didn't change at all. I tried using different npc's but they didn't work either, strangely enough, they just made my game crash.
So I was wondering if you(or anyone else) could tell me what i'm doing wrong? I've read a little ahead in the guide, but that didn't really help me.
I've actually taken some of your codes(like the one you made for Xin)and copy/pasted it into the assembler just to see if it would work. It didn't work for me because it said that it couldn't reconize the setpointer instruction. (Don't know why it says setnpinter, it says setpointer in the text.)
And I also had the same issue with the npc.displayL.U.R.D. So I tried to define them.
#define
setpointer = mov ecx, [ebp+8]
npc.DisplayL = [ecx+54]
npc.DisplayU = [ecx+58]
npc.DisplayR = [ecx+5C]
npc.DisplayD = [ecx+60]
#enddefine
I'm pretty sure these defines are right, which actually leads me to another question:
How come in your codes, you don't define what the pointer and displays are?
Am I being a complete moron? Is defining them the completely wrong thing to do?
I'd really appreciate your help on this because I really want to do a lot of npc hacking for my upcoming mod.
(Also, I would of put this all in a spoilers, but I have no idea how to do that, pretty sure I saw some instructions on how to somewhere on the forums, but now I can't find it.)
Last edited: