Advanced Hacking FAQ

Mar 2, 2009 at 9:13 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
have you checked the ftp?
 
Mar 16, 2009 at 11:26 PM
Been here way too long...
"..."
Join Date: Jan 21, 2006
Location:
Posts: 369
Q for hackers...

Is it possible to have the missile launcher and the monsters never drop missiles? I know i could achieve this by changing all monster energy triangle drops to 0 on npc.tbl... but screw that... Does anyone have a better way.
 
Mar 16, 2009 at 11:36 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
well, a flag(not tsc, but intrernal) is obviously set when the ml is recieved, it's just a matter of finding where that is set, and making it not set. I have homework now though, so...
 
Mar 18, 2009 at 2:11 AM
Been here way too long...
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jun 22, 2008
Location:
Posts: 251
Lace said:
Laces assembly tutorial 101:


Cheers!
Lace

Thank you, this has been very helpful. Just one question: when I see [EAX+1C] and [ECX+1C] are those referring to the same place? Looking at some of the code I am guessing that it does, but I wanted to be sure.
 
Mar 18, 2009 at 7:56 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
no, it doesn't, unless eax and ecx contain the same value, they are completely different registers (variables), and therefore store different things most of the time.
 
Mar 18, 2009 at 10:43 PM
Been here way too long...
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Jun 22, 2008
Location:
Posts: 251
Code:
00404D5E  |. 8B48 1C             MOV ECX, [EAX+1C]            ;  Move velocity [EAX+1C] to ECX
00404D61  |. 83E9 00             SUB ECX,0                    ;  Add to the downwards velocity of the fireball
00404D64  |. 8B55 08             MOV EDX, [EBP+8]
00404D67  |. 894A 1C             MOV [EDX+1C],ECX            ;  MOV downwards velocity to [EDX+1C]
00404D6A  |. 8B45 08             MOV EAX, [EBP+8]
00404D6D     8178 1C FF030000    CMP [EAX+1C],3FF            ;  Compare velocity of fireball to 3FF
00404D74  |. 7E 0A               JLE SHORT Doukutsu.00404D80 ;  If greater than 3FF,
00404D76  |. 8B4D 08             MOV ECX, [EBP+8]
00404D79     C741 1C FF030000    MOV [ECX+1C],3FF            ;  Set velocity to 3FF

That is the code around the fireball that you mentioned earlier, and as you can see in my comments, it looks to me like this is setting the maximum speed of the fireball to 3FF by comparing it with 3FF and if it is not less (ie if it is greater) then setting it to 3FF, but changing the 3FF to something else doesn't change the speed (as far as I can tell it doesn't change anything at all) what am I doing wrong?

Also, why is [EBP+8] MOV'ed somewhere in every other instruction?
 
Top