Well I start with this dev sincerely.. because nobody knows how to make to add maps effects ?, xD well maybe some guys here knows how to make to add effects on maps and etc, but anyways I thinks that maybe can be usefull release this code.
This code is maybe a: 80% from Assembler (ASM) rewrited from main.exe, but works, and maybe some persons here can think that is: "ugly", but is WORKING, and I make by mecool starts!
file: Fixes.cpp (a class yes, I know)
file Fixes.h (definitions for the class & etc)Code:void Naked cFixes::AddMapEffect() { static DWORD dwMapPointer; static DWORD dwMapBuffer; static DWORD dwMapEffect = 0x0074CBE0; static DWORD dwMapThis = 0x009CEA70; static DWORD dwMapJump1 = 0x005EDD31; // ---- _asm { MOV EDX,DWORD PTR DS:[0x0E61E18] // -> This offset is pMapNumber on: zClient MOV DWORD PTR SS:[EBP-0xD8],EDX MOV dwMapPointer,EDX } // ---- if (dwMapPointer == Lorencia) { _asm { MOV EDX,DWORD PTR SS:[EBP+0x8] PUSH EDX MOV EAX,DWORD PTR SS:[EBP+0x8] PUSH ECX FLD DWORD PTR DS:[EAX+0x60] FSTP DWORD PTR SS:[ESP] PUSH 0xA LEA ECX,[EBP-0xC] PUSH ECX MOV EDX,DWORD PTR SS:[EBP+0x8] ADD EDX,0x108 PUSH EDX MOV EAX,DWORD PTR SS:[EBP+0x8] ADD EAX,0xFC PUSH EAX PUSH 0x7D92 // -> EffectId CALL dwMapEffect ADD ESP,0x1C JMP dwMapJump1 JMP dwMapJump1 FLD DWORD PTR DS:[0x5EF5A1C] // World Time -> FLOAT 0.0 CALL dwMapThis // ---- JMP MapBufferLabel // ---- MapBufferLabel: // ---- MOV dwMapBuffer,0x005EC14A JMP dwMapBuffer } } else { _asm { MOV dwMapBuffer,0x005EC14A JMP dwMapBuffer } } } void cFixes::LoadMapEffect() { gToolKit.SetRange((LPVOID)0x005EC13E,12,ASM::NOP); gToolKit.SetJmp((LPVOID)0x005EC13E,this->AddMapEffect); }
Screenshots:Code:#ifndef __FIXES_H__ #define __FIXES_H__ #define Naked __declspec(naked) enum eMapNumber { Lorencia = 0, Dungeon = 1, Devias = 2, Noria = 3, LostTower = 4, Exile = 5, Stadium = 6, Atlans = 7, Tarkan = 8, DevilSquare = 9, DevilSquare6 = 32, Icarus = 10, BloodCastle1 = 11, BloodCastle2 = 12, BloodCastle3 = 13, BloodCastle4 = 14, BloodCastle5 = 15, BloodCastle6 = 16, BloodCastle7 = 17, ChaosCastle1 = 18, ChaosCastle2 = 19, ChaosCastle3 = 20, ChaosCastle4 = 21, ChaosCastle5 = 22, ChaosCastle6 = 23, Kalima1 = 24, Kalima2 = 25, Kalima3 = 26, Kalima4 = 27, Kalima5 = 28, Kalima6 = 29, Kalima7 = 36, Loren = 30, Trials = 31, Aida = 33, Crywolf = 34, Kanturu1 = 37, Kanturu3 = 38, Kanturu_Event = 39, Silent = 40, Barracks = 41, Refuge = 42, Illusion1 = 45, Illusion2 = 46, Illusion3 = 47, Illusion4 = 48, Illusion5 = 49, Illusion6 = 50, Elbeland = 51, BloodCastle8 = 52, ChaosCastle7 = 53, Calmness = 56, Raklion = 57, RaklionBoss = 58, SantaTown = 62, Vulcanus = 63, Collosseum = 64, Karutan1 = 80, Karutan2 = 81, }; class cFixes { public: cFixes(); virtual ~cFixes(); // ---- void LoadMapEffect(); static void AddMapEffect(); }; extern cFixes gFixes; #endif
Credits:
Webzen & Me (Kiosani - Nemesis - mauro07)


cool starts!



Reply With Quote

