[Development] New Mini Map Source For 1.04d (GMO)

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

    wink [Development] New Mini Map Source For 1.04d (GMO)

    Hi again, here I like Release, my new and cool MiniMap Source Code (with New Method) this time, mini-images for minimap exists in only 1 folder... this modification... not make changes on: Loren Deep Original MiniMap. Enjoy it!

    NOTE 1: This code can be adapted to old versions or maybe new versions too..
    NOTE 2: On this code I only I'm using maybe a: 10% from Assembler !!!

    MiniMap.cpp

    Code:
    #include "Stdafx.h"
    
    
    cMinimap gMinimap;
    
    
    bool cMinimap::FileCheck(int Map)
    {
        if(pMapNumber == Loren) { return 1; }
        // ----
        char buff[MAX_PATH];
        // ----
        wsprintf(buff,MINI_MAP_FILE_CHECK,(pMapNumber+1));
        // ----
        FILE* file;
        // ----
        this->CreateNewDir();
        // ----
        if (fopen_s(&file,buff,"r") != 0)
        {
            return 0;
        }
        else
        {
            fclose(file);
            return 1;
        }
    }
    
    
    bool cMinimap::CheckWindow(int WindowID)
    {
        return pCheckWindow(pWindowThis(), WindowID);
    }
    
    
    bool cMinimap::CheckThis()
    {
        if (this->CheckWindow(FastMenu) || this->CheckWindow(FriendList) || this->CheckWindow(FullMap))
        {
            return false;
        }
        return true;
    }
    
    
    DWORD cMinimap::CreateNewDir()
    {
        const int MiniMapFolder    = 0x00888C0B;
        static char Mini_Map_New[MAX_PATH] = {'\0'};
        sprintf(Mini_Map_New,MINI_MAP_FILE_LOAD,pMapNumber+1);
        // ----
        *(DWORD*)MiniMapFolder = (DWORD)&Mini_Map_New;
        // ----
        return (DWORD)&Mini_Map_New;
    }
    
    
    void cMinimap::LoadImageForMap(DWORD MiniMapNewFolder, DWORD PrintCode)
    {
        static DWORD dwMiniMapFolder = this->CreateNewDir();
        // ----
        if (gMinimap.FileCheck(pMapNumber) != 0)
        {
            pLoadImage((char*)dwMiniMapFolder,0x7B7A,GL_LINEAR,GL_CLAMP,GL_TRUE,GL_FALSE);
        }
    }
    
    
    int cMinimap::LoadMap(int Map)
    {
        static DWORD dwMiniMapFolder = this->CreateNewDir();
        this->LoadImageForMap(dwMiniMapFolder,0x7B7A);
        return Map;
    }
    
    
    bool cMinimap::MapCheckerCore1(int Map)
    {
        if(gMinimap.FileCheck(pMapNumber)!=0)
        {
            if (gMinimap.CheckThis() == false)
            {
                return 0;
            }
            else
            {
                return 1;
            }
        }
        return 0;
    }
    
    
    void cMinimap::MapCheckerCore2(int Map)
    {
        static DWORD dwWindowThis    = 0x00860FC0;
        static DWORD dwGetWindow    = 0x008615F0;
        static DWORD dwDrawMobs        = 0x00886C20;
        // ----
        if(gMinimap.FileCheck(pMapNumber)!=0)
        {
            if (gMinimap.CheckThis() == false)
            {
                return;
            }
            // ----
            _asm
            {
                CALL dwWindowThis
                MOV ECX,EAX
                CALL dwGetWindow
                MOV ECX,EAX
                CALL dwDrawMobs
            }
        }
        if (!pIsBloodCastle(Map))
        {
            return;
        }
        else
        {
            if (gMinimap.CheckThis() == false)
            {
                return;
            }
        }
    }
    
    
    void cMinimap::Load()
    {
        gToolKit.SetOp((LPVOID)oMapCheckerHook1,(LPVOID)this->MapCheckerCore1,ASM::CALL);
        gToolKit.SetOp((LPVOID)oMapCheckerHook2,(LPVOID)this->MapCheckerCore1,ASM::CALL);
        gToolKit.SetOp((LPVOID)oMapCheckerHook3,(LPVOID)this->MapCheckerCore2,ASM::CALL);
        gToolKit.SetByte((PVOID)(oMiniMapKeyPushOffset+1),0x10);
    }
    MiniMap.h:

    Code:
    #ifndef __MINIMAP_H__
    #define __MINIMAP_H__
    
    
    #define MINI_MAP_FILE_LOAD    "Custom\\Minimap\\Map%d.jpg"
    #define MINI_MAP_FILE_CHECK ".\\Data\\Custom\\Minimap\\Map%d.ozj"
    
    
    class cMinimap
    {
    public:
        int LoadMap(int Map);
        bool CheckThis();
        bool FileCheck(int Map);
        bool CheckWindow(int WindowID);
        static bool MapCheckerCore1(int Map);
        static void MapCheckerCore2(int Map);
        static DWORD CreateNewDir();
        void LoadImageForMap(DWORD MiniMapNewFolder, DWORD PrintCode);
        // ----
        void Load();
    };
    
    
    extern cMinimap gMinimap;
    
    
    #endif
    Offsets and More:

    Code:
    
    enum eObjWindow
    {
        FriendList        = 1,
        MoveList        = 2,
        Party            = 3,
        Quest           = 4, //NEW
        Guild            = 6,
        Trade            = 7,
        Warehouse        = 8,
        ChaosBox        = 9,
        CommandWindow    = 10,
        PetInfo            = 11,
        Shop            = 12,
        Inventory        = 13,
        Store            = 14,
        OtherStore        = 15,
        Character        = 16,
        ChatWindow        = 33,
        FastMenu        = 34,
        Options            = 35,
        Help            = 36,
        FastDial        = 39,
        Mini_Map        = 52, // NEW
        SkillTree        = 57,
        NPC_Titus        = 63,
        CashShop        = 65,
        FullMap            = 72,
        NPC_Dialog        = 73,
        GensInfo        = 74,
        NPC_Julia        = 75,
        ExpandInventory    = 77,
        ExpandWarehouse    = 78,
        MuHelper        = 79,
    };
    
    // -> Interface
    #define pLoadImage                ((int(__cdecl*)(char * Folder, int Code, int TextureMode, int TextureSet, int TextureState, int TextureHead)) 0x007721E0)
    #define pWindowThis                ((LPVOID(*)()) 0x860FC0)
    #define pCheckWindow            ((bool(__thiscall*)(LPVOID This, int Code)) 0x0085EAD0)
    
    // -> Minimap
    #define oMapCheckerHook1        0x007D3B6D
    #define oMapCheckerHook2        0x00886B87
    #define oMapCheckerHook3        0x0062EB3D
    #define oMiniMapKeyPushOffset    0x007D3B55    //0x09 = TAB - 0x10 = SHIFT
    #define pMapNumber                *(int*)0x00E61E18
    #define pIsBloodCastle            ((bool(__cdecl*)(int Map))0x004E65C0)
    Credits:
    Webzen (Game)
    zTeam (Main Decompilation)
    MUEMU (By Some Codes)
    DMichael (By Help Me)
    Kiosani (By Programming)
    Last edited by Kiosani; 06-08-16 at 09:50 AM.


  2. #2

    re: [Development] New Mini Map Source For 1.04d (GMO)

    By MUEMU (By Some Codes)
    you mean X-Team right?

  3. #3
    Proficient Member Luis_br is offline
    MemberRank
    Apr 2005 Join Date
    157Posts

    re: [Development] New Mini Map Source For 1.04d (GMO)

    Does anyone have the offsets of this main?

    pDrawGUI ...
    pGLSwitchBlend ...
    pDrawBarForm ....
    pGLSwitch...

    plz ? *-*

  4. #4
    selling server files is against RZ rules LTPTeam is offline
    MemberRank
    Feb 2013 Join Date
    UkraineLocation
    551Posts

    re: [Development] New Mini Map Source For 1.04d (GMO)

    Quote Originally Posted by Luis_br View Post
    Does anyone have the offsets of this main?

    pDrawGUI ...
    pGLSwitchBlend ...
    pDrawBarForm ....
    pGLSwitch...

    plz ? *-*
    #define pDrawGUI ((void(__cdecl*)(DWORD, float, float, float, float)) 0x00790A00)
    #define pDrawBarForm ((void(__cdecl*)(float PosX, float PosY, float Width, float Height, float Arg5, int Arg6)) 0x6378A0)
    #define pGLSwitch ((void(__cdecl*)()) 0x635F50)
    #define pGLSwitchBlend ((void(__cdecl*)()) 0x636070)

  5. #5
    Proficient Member Luis_br is offline
    MemberRank
    Apr 2005 Join Date
    157Posts

    re: [Development] New Mini Map Source For 1.04d (GMO)

    Quote Originally Posted by LTPTeam View Post
    #define pDrawGUI ((void(__cdecl*)(DWORD, float, float, float, float)) 0x00790A00)
    #define pDrawBarForm ((void(__cdecl*)(float PosX, float PosY, float Width, float Height, float Arg5, int Arg6)) 0x6378A0)
    #define pGLSwitch ((void(__cdecl*)()) 0x635F50)
    #define pGLSwitchBlend ((void(__cdecl*)()) 0x636070)
    Thank you bro, i will teste =]

  6. #6
    Proficient Member Luis_br is offline
    MemberRank
    Apr 2005 Join Date
    157Posts

    re: [Development] New Mini Map Source For 1.04d (GMO)

    Do you have the offset of pLoadImage for s8 @LTPTeam plz?

    Thanks

  7. #7
    selling server files is against RZ rules LTPTeam is offline
    MemberRank
    Feb 2013 Join Date
    UkraineLocation
    551Posts

    re: [Development] New Mini Map Source For 1.04d (GMO)

    Quote Originally Posted by Luis_br View Post
    Do you have the offset of pLoadImage for s8 @LTPTeam plz?

    Thanks
    S8 MuEmu? No, i dont use it.

  8. #8
    Proficient Member Luis_br is offline
    MemberRank
    Apr 2005 Join Date
    157Posts

    re: [Development] New Mini Map Source For 1.04d (GMO)

    Quote Originally Posted by LTPTeam View Post
    S8 MuEmu? No, i dont use it.
    Sorry, I confused the topic.

  9. #9
    Member hangvu911 is offline
    MemberRank
    Apr 2015 Join Date
    64Posts

    re: [Development] New Mini Map Source For 1.04d (GMO)

    movespeed in charater.
    some one can help find this offset
    thanks



Advertisement