Posts: 1,018
Threads: 60
Joined: Mar 2008
03-01-2009, 03:06 PM
(This post was last modified: 01-31-2010, 01:38 PM by Simoneon.)
Newest Version: [14/08/09]: http://www.mediafire.com/?nxmmnk0lnjj
EXE needed to get the dll to load : http://www.mediafire.com/?qzkzzvhfvdv
How to patch your exe to load the dll : http://www.lf-empire.de/forum/showthread.php?tid=2521
Tutorial for setting up the compiler: http://www.lf-empire.de/forum/showthread.php?tid=2265
Ok, don't know if anyone noticed, but the last version only worked with type 0 objects, it was a cheap fix on my part for a stupid bug which occurred.
Now it is fixed properly!!!!!!!!!!#@!$#@$#@ Timestop was really annoying, but I think I got 90% of the bugs out by now!
Fixed timestop bugs, please report anymore bugs
*Split code into more include files + commented rarara.asm to show which proc is located in which file.
*Removed the generic AI (no point of it really)
*Fixed the Max HP bug (all objects o pointed with 10hp - just had to add a jump which was mistakenly deleted)
*Added the perspective tag
*Added new opoint kinds:
They are used to spawn weapons into your hand. Normally you used kind 2, but that made you hold the weapon like a type 1 weapon no matter what. Now it works like this:
kind 3 = hold it like type 2
kind 5 = hold it like type 4
kind 6 = hold it like type 5
kind 7 = hold it like type 6
etc etc. basically hold it like [kind - 1]. I plan to make new weapon types, so I decided to make it like that.
*Added timestop (all known bugs are now fixed) (uses state 1xxxx , xxxx = timer).
Generic AI (by Silva)
itr/effect 6 - Move the enemies to frame 150. State 150 immues to it.
itr/effect 7 - Hit the enemies without bringing them to the injured frame.
itr/effect 8 - Make the enemies fall immediately.
itr/effect 6xxx - Move the enemies to frame xxx (between 0 to 339). State 6xxx immues to it.
itr/effect 8xxx - Transform the enemies to ID xxx. State 80 immues to it. ID xxx immues to it.
itr/effect 1xxxyyyzzz - Move the enemies to frame xxx (between 0 to 339). Transform the enemies to ID yyy. Only enemies in state zzz will be affected by this effect. ID yyy immues to this effect. By putting 999 in xxx or yyy or zzz, the function of each part can separately be disabled. Putting 998 in zzz can affected only the enemies in state 11 and 16 (Dance of Pain).
3 things updated:
Sorcerer AI
Hp of opointed object
itr/effect for specific state
Loading text can be manipulated from dll
Range AI (thanks to genevrier)
Deep Ball AI(thanks to genevrier)
Added MP stuff ( thanks to genevrier)
fixed bug in the AI stuff ( thanks to genevrier)
Added state 8xxx - 4xxx
Added addresses.inc , I think it can be used to store static useful addresses (such as when the cheat is enabled, if the game is paused or not, which game mode you are in etc etc). Right now it only includes the address of the lf2.net cheat (if it is 1, then cheat is on, if it is 0 then cheat is off).
Made more files to try and organize things better.
All the AI stuff is the in the AI.inc file. All the armor stuff is in the Armor.inc file etc. All uncategorized stuff goes into generic.inc.
So far, this exe includes AI of all main heros. Includes the generic D>A ball stuff. Includes all armor of louis, knight and julian... Currently working on a custom one . Includes the health thingy (which is in generic.inc).
10 ʏᴇᴀʀs sɪɴᴄᴇ ɪʀᴄ ɢᴏᴏᴅ.ɪ ᴡᴀʟᴋ ᴛʜʀᴏᴜɢʜ ᴛʜᴇ ᴇᴍᴘᴛʏ sᴛʀᴇᴇᴛs ᴛʀʏɪɴɢ ᴛᴏ ᴛʜɪɴᴋ ᴏғ sᴏᴍᴇᴛʜɪɴɢ ᴇʟsᴇ ʙᴜᴛ ᴍʏ ᴘᴀᴛʜ ᴀʟᴡᴀʏs ʟᴇᴀᴅs ᴛᴏ ᴛʜᴇ ɪʀᴄ. ɪ sᴛᴀʀᴇ ᴀᴛ ᴛʜᴇ sᴄʀᴇᴇɴ ғᴏʀ ʜᴏᴜʀs ᴀɴᴅ ᴛʀʏ ᴛᴏ sᴜᴍᴍᴏɴ ᴛʜᴇ ɢᴏᴏᴅ ɪʀᴄ. ɪ ᴡᴀᴛᴄʜ ᴏᴛʜᴇʀ ɪʀᴄ ᴄʜᴀɴɴᴇʟs ʙᴜᴛ ɪᴛ ɪs ɴᴏ ɢᴏᴏᴅ. ɪ ᴘᴇsᴛᴇʀ ᴢᴏʀᴛ ᴀɴᴅ ᴛʀʏ ᴛᴏ ʀᴇsɪsᴛ ʜɪs sᴇxɪɴᴇss ʙᴜᴛ ɪᴛ ɪs ᴀʟʟ ᴍᴇᴀɴɪɴɢʟᴇss. ᴛʜᴇ ᴇɴᴅ ɪs ɴᴇᴀʀ.ɪ ᴛʜᴇɴ ᴜsᴜᴀʟʟʏ ʀᴇᴀᴅ sᴏᴍᴇ ᴏʟᴅ ɪʀᴄ ʟᴏɢs ᴀɴᴅ ᴄʀʏ ᴍʏsᴇʟғ ᴛᴏ sʟᴇᴇᴘ.
Thanks given by: genevrier , Bamboori , Drahcir , RenanDez , Hukko , Koragg88 , empirefantasy , Yinseko , Infern112 , John Fighterli , MangaD
Posts: 1,577
Threads: 58
Joined: Jul 2008
03-01-2009, 04:54 PM
(This post was last modified: 03-01-2009, 04:54 PM by Ascor.)
wow kinda awesome
can you do much new things with dll?
is it harder to learn than normal HEX editing
somehow awesome to have an julian with armor and fast recovering
only chance to kill is a combo i think
Posts: 1,122
Threads: 17
Joined: Mar 2008
Dear Silva, Lord
You are much too awesome for this world. Nothing can describe the awe I am in right now.
A pity that feeling will disperse until tomorrow.
This has got to be the best thing concerning LF2 so far this month.
Sincerely,
Ramond the sandbag ~Ramond
03:28 [BluePhoenix] sleep is for weakling.
Posts: 134
Threads: 20
Joined: Jul 2008
too hard tutor for me
but will try...
Thanks given by:
Posts: 1,018
Threads: 60
Joined: Mar 2008
03-12-2009, 04:49 PM
(This post was last modified: 03-13-2009, 01:21 PM by Boop.)
Update 12/3/09:
Made more files to try and organize things better.
All the AI stuff is the in the AI.inc file. All the armor stuff is in the Armor.inc file etc. All uncategorized stuff goes into generic.inc.
So far, this exe includes AI of all main heros. Includes the generic D>A ball stuff. Includes all armor of louis, knight and julian... Currently working on a custom one Smile2. Includes the health thingy (which is in generic.inc).
10 ʏᴇᴀʀs sɪɴᴄᴇ ɪʀᴄ ɢᴏᴏᴅ.ɪ ᴡᴀʟᴋ ᴛʜʀᴏᴜɢʜ ᴛʜᴇ ᴇᴍᴘᴛʏ sᴛʀᴇᴇᴛs ᴛʀʏɪɴɢ ᴛᴏ ᴛʜɪɴᴋ ᴏғ sᴏᴍᴇᴛʜɪɴɢ ᴇʟsᴇ ʙᴜᴛ ᴍʏ ᴘᴀᴛʜ ᴀʟᴡᴀʏs ʟᴇᴀᴅs ᴛᴏ ᴛʜᴇ ɪʀᴄ. ɪ sᴛᴀʀᴇ ᴀᴛ ᴛʜᴇ sᴄʀᴇᴇɴ ғᴏʀ ʜᴏᴜʀs ᴀɴᴅ ᴛʀʏ ᴛᴏ sᴜᴍᴍᴏɴ ᴛʜᴇ ɢᴏᴏᴅ ɪʀᴄ. ɪ ᴡᴀᴛᴄʜ ᴏᴛʜᴇʀ ɪʀᴄ ᴄʜᴀɴɴᴇʟs ʙᴜᴛ ɪᴛ ɪs ɴᴏ ɢᴏᴏᴅ. ɪ ᴘᴇsᴛᴇʀ ᴢᴏʀᴛ ᴀɴᴅ ᴛʀʏ ᴛᴏ ʀᴇsɪsᴛ ʜɪs sᴇxɪɴᴇss ʙᴜᴛ ɪᴛ ɪs ᴀʟʟ ᴍᴇᴀɴɪɴɢʟᴇss. ᴛʜᴇ ᴇɴᴅ ɪs ɴᴇᴀʀ.ɪ ᴛʜᴇɴ ᴜsᴜᴀʟʟʏ ʀᴇᴀᴅ sᴏᴍᴇ ᴏʟᴅ ɪʀᴄ ʟᴏɢs ᴀɴᴅ ᴄʀʏ ᴍʏsᴇʟғ ᴛᴏ sʟᴇᴇᴘ.
Thanks given by:
Posts: 101
Threads: 5
Joined: Mar 2009
03-13-2009, 05:55 AM
(This post was last modified: 03-13-2009, 05:57 AM by genevrier.)
(03-01-2009, 04:54 PM)Lf2-hacker Wrote: wow kinda awesome
can you do much new things with dll?
is it harder to learn than normal HEX editing
somehow awesome to have an julian with armor and fast recovering
only chance to kill is a combo i think I should say, the dll framework make edits easy.
(But you have to spend some time setting up. )
Quote:AI.inc:
AI_Ball1 proc
cmp eax,2
je return
;cmp eax,id
;je return
jmp dword ptr [AI_BALL1_1]
return: jmp dword ptr [AI_BALL1_2]
AI_Ball1 endp
AI_Ball2 proc
cmp eax,2
je return
;cmp eax,id
;je return
jmp dword ptr [AI_BALL2_1]
return: jmp dword ptr [AI_BALL2_2]
AI_Ball2 endp
I think
'jmp dword ptr [AI_BALL1_1]'
and
'jmp dword ptr [AI_BALL1_2]'
should be reversed, also for the 'AI_Ball2' part.
Am I right?
Thanks given by:
Posts: 1,018
Threads: 60
Joined: Mar 2008
03-13-2009, 01:03 PM
(This post was last modified: 03-13-2009, 01:10 PM by Boop.)
Yep, it'll be fixed in the next release... Hopefully other people will start contributing as well .
10 ʏᴇᴀʀs sɪɴᴄᴇ ɪʀᴄ ɢᴏᴏᴅ.ɪ ᴡᴀʟᴋ ᴛʜʀᴏᴜɢʜ ᴛʜᴇ ᴇᴍᴘᴛʏ sᴛʀᴇᴇᴛs ᴛʀʏɪɴɢ ᴛᴏ ᴛʜɪɴᴋ ᴏғ sᴏᴍᴇᴛʜɪɴɢ ᴇʟsᴇ ʙᴜᴛ ᴍʏ ᴘᴀᴛʜ ᴀʟᴡᴀʏs ʟᴇᴀᴅs ᴛᴏ ᴛʜᴇ ɪʀᴄ. ɪ sᴛᴀʀᴇ ᴀᴛ ᴛʜᴇ sᴄʀᴇᴇɴ ғᴏʀ ʜᴏᴜʀs ᴀɴᴅ ᴛʀʏ ᴛᴏ sᴜᴍᴍᴏɴ ᴛʜᴇ ɢᴏᴏᴅ ɪʀᴄ. ɪ ᴡᴀᴛᴄʜ ᴏᴛʜᴇʀ ɪʀᴄ ᴄʜᴀɴɴᴇʟs ʙᴜᴛ ɪᴛ ɪs ɴᴏ ɢᴏᴏᴅ. ɪ ᴘᴇsᴛᴇʀ ᴢᴏʀᴛ ᴀɴᴅ ᴛʀʏ ᴛᴏ ʀᴇsɪsᴛ ʜɪs sᴇxɪɴᴇss ʙᴜᴛ ɪᴛ ɪs ᴀʟʟ ᴍᴇᴀɴɪɴɢʟᴇss. ᴛʜᴇ ᴇɴᴅ ɪs ɴᴇᴀʀ.ɪ ᴛʜᴇɴ ᴜsᴜᴀʟʟʏ ʀᴇᴀᴅ sᴏᴍᴇ ᴏʟᴅ ɪʀᴄ ʟᴏɢs ᴀɴᴅ ᴄʀʏ ᴍʏsᴇʟғ ᴛᴏ sʟᴇᴇᴘ.
Thanks given by:
Posts: 101
Threads: 5
Joined: Mar 2009
03-18-2009, 03:10 AM
(This post was last modified: 03-18-2009, 04:52 AM by genevrier.)
I make the MP part.. (maybe not in a proper way)
Quote:;(Add in rarara.Asm)
invoke JmpPatch, 0041FB09h, addr MP
invoke WriteMem, 0041FB0Eh, addr FourNOP,4
invoke WriteMem, 0041FB12h, addr FourNOP,4
invoke WriteMem, 0041FB16h, addr doubleNOP,2
Quote:.Data
@MP_normal dd 0041FB18h
MP proc
cmp edx,51 ; check if ID is 51 (Firzen)
je short @MP_1 ; jump to @MP_1 if ID is 51
cmp edx,52 ; check if ID is 52 (Julian)
je short @MP_1 ; jump to @MP_1 if ID is 52
cmp edx,15 ; check if ID is 55 (your character)
je short @MP_2 ; jump to @MP_2 if ID is 55
jmp dword ptr [@MP_normal]
@MP_1: ; for Firzen & Julian
cdq ; ignore this
sub eax,edx ; ignore this
sar eax,1 ; add 1 point more compare with normal (normal = 1)
jmp dword ptr [@MP_normal]
@MP_2: ; for the ID 55
cdq ; ignore this
sub eax,edx ; ignore this
sar eax,2 ; add 2 point more compare with normal
jmp dword ptr [@MP_normal]
MP endp
Thanks given by:
Posts: 1,018
Threads: 60
Joined: Mar 2008
Amazing!!
Minor changes:
cmp edx,15 ; check if ID is 55 (your character)
i changed it to "cmp edx, 55" (you were probably testing and forgot to change it back happens all the time).
invoke WriteMem, 0041FB0Eh, addr FourNOP,4
invoke WriteMem, 0041FB12h, addr FourNOP,4
invoke WriteMem, 0041FB16h, addr doubleNOP,2
That code is unnecessary, you jump back to "0041FB18" , therfore all the code you NOPed doesn't ever get executed anyway. So we can easily remove the NOPs.
Anyway, thanks! Added + Added your name to credits.
10 ʏᴇᴀʀs sɪɴᴄᴇ ɪʀᴄ ɢᴏᴏᴅ.ɪ ᴡᴀʟᴋ ᴛʜʀᴏᴜɢʜ ᴛʜᴇ ᴇᴍᴘᴛʏ sᴛʀᴇᴇᴛs ᴛʀʏɪɴɢ ᴛᴏ ᴛʜɪɴᴋ ᴏғ sᴏᴍᴇᴛʜɪɴɢ ᴇʟsᴇ ʙᴜᴛ ᴍʏ ᴘᴀᴛʜ ᴀʟᴡᴀʏs ʟᴇᴀᴅs ᴛᴏ ᴛʜᴇ ɪʀᴄ. ɪ sᴛᴀʀᴇ ᴀᴛ ᴛʜᴇ sᴄʀᴇᴇɴ ғᴏʀ ʜᴏᴜʀs ᴀɴᴅ ᴛʀʏ ᴛᴏ sᴜᴍᴍᴏɴ ᴛʜᴇ ɢᴏᴏᴅ ɪʀᴄ. ɪ ᴡᴀᴛᴄʜ ᴏᴛʜᴇʀ ɪʀᴄ ᴄʜᴀɴɴᴇʟs ʙᴜᴛ ɪᴛ ɪs ɴᴏ ɢᴏᴏᴅ. ɪ ᴘᴇsᴛᴇʀ ᴢᴏʀᴛ ᴀɴᴅ ᴛʀʏ ᴛᴏ ʀᴇsɪsᴛ ʜɪs sᴇxɪɴᴇss ʙᴜᴛ ɪᴛ ɪs ᴀʟʟ ᴍᴇᴀɴɪɴɢʟᴇss. ᴛʜᴇ ᴇɴᴅ ɪs ɴᴇᴀʀ.ɪ ᴛʜᴇɴ ᴜsᴜᴀʟʟʏ ʀᴇᴀᴅ sᴏᴍᴇ ᴏʟᴅ ɪʀᴄ ʟᴏɢs ᴀɴᴅ ᴄʀʏ ᴍʏsᴇʟғ ᴛᴏ sʟᴇᴇᴘ.
Thanks given by:
Posts: 1,018
Threads: 60
Joined: Mar 2008
Bump:
Update 21/3/09:
Added MP stuff ( thanks to genevrier)
fixed bug in the AI stuff ( thanks to genevrier)
Added state 8xxx - 4xxx
Added addresses.inc , I think it can be used to store static useful addresses (such as when the cheat is enabled, if the game is paused or not, which game mode you are in etc etc). Right now it only includes the address of the lf2.net cheat (if it is 1, then cheat is on, if it is 0 then cheat is off).
10 ʏᴇᴀʀs sɪɴᴄᴇ ɪʀᴄ ɢᴏᴏᴅ.ɪ ᴡᴀʟᴋ ᴛʜʀᴏᴜɢʜ ᴛʜᴇ ᴇᴍᴘᴛʏ sᴛʀᴇᴇᴛs ᴛʀʏɪɴɢ ᴛᴏ ᴛʜɪɴᴋ ᴏғ sᴏᴍᴇᴛʜɪɴɢ ᴇʟsᴇ ʙᴜᴛ ᴍʏ ᴘᴀᴛʜ ᴀʟᴡᴀʏs ʟᴇᴀᴅs ᴛᴏ ᴛʜᴇ ɪʀᴄ. ɪ sᴛᴀʀᴇ ᴀᴛ ᴛʜᴇ sᴄʀᴇᴇɴ ғᴏʀ ʜᴏᴜʀs ᴀɴᴅ ᴛʀʏ ᴛᴏ sᴜᴍᴍᴏɴ ᴛʜᴇ ɢᴏᴏᴅ ɪʀᴄ. ɪ ᴡᴀᴛᴄʜ ᴏᴛʜᴇʀ ɪʀᴄ ᴄʜᴀɴɴᴇʟs ʙᴜᴛ ɪᴛ ɪs ɴᴏ ɢᴏᴏᴅ. ɪ ᴘᴇsᴛᴇʀ ᴢᴏʀᴛ ᴀɴᴅ ᴛʀʏ ᴛᴏ ʀᴇsɪsᴛ ʜɪs sᴇxɪɴᴇss ʙᴜᴛ ɪᴛ ɪs ᴀʟʟ ᴍᴇᴀɴɪɴɢʟᴇss. ᴛʜᴇ ᴇɴᴅ ɪs ɴᴇᴀʀ.ɪ ᴛʜᴇɴ ᴜsᴜᴀʟʟʏ ʀᴇᴀᴅ sᴏᴍᴇ ᴏʟᴅ ɪʀᴄ ʟᴏɢs ᴀɴᴅ ᴄʀʏ ᴍʏsᴇʟғ ᴛᴏ sʟᴇᴇᴘ.
Thanks given by:
|