Adding Clouds Effect to Maps (New & Old) 1.04d GMO

Results 1 to 1 of 1
  1. #1
    Darkness Member Kiosani is offline
    MemberRank
    Oct 2007 Join Date
    ArgentinaLocation
    1,276Posts

    wink Adding Clouds Effect to Maps (New & Old) 1.04d GMO

    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 me cool starts!

    file: Fixes.cpp (a class yes, I know)
    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);
    }
    file Fixes.h (definitions for the class & etc)
    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
    Screenshots:










    Credits:
    Webzen & Me (Kiosani - Nemesis - mauro07)




Advertisement