[Release] Arkania Map

Page 1 of 4 1234 LastLast
Results 1 to 15 of 51
  1. #1
    Valued Member ikenylee is offline
    MemberRank
    Apr 2011 Join Date
    145Posts

    [Release] Arkania Map


    Download:
    MEGA
    [open with pentium tools and change map 88 to your map you desired to relpace or add new and save .map do same with .att and .obj or this wont work for u. also terrain .att server side]

    Screenshots:
    Quote Originally Posted by KarLi View Post
    We succesfully did the map and changed new characters so they born in Arkania easily.
    How to: from SQL Server > Enterprise Manager> MuOnline>DefaultClassType> Open all rows
    and scroll at the right at the end and change Map number to 3 / MapPosX: 236 / MapPosY: 010 / Level: 50
    NPC for MAP​

    Code:
    543    2    0    216    23    0     //Osborne  
    240    2    0    214    57    2 // Storage Guard
    256    2    0    211    54    2 // Lahap
    235    2    0    219    31    0 // Priest Sevina
    406    2    0    219    37    0
    229    2    0    219    34    0
    241    2    0    219    40    0 // Guild Master
    415    2    0    216    59    2 // Silvia
    238    2    0    232    57    1 // Chaos Goblin
    369    2    0    229    58    1 // Osbourne
    370    2    0    230    57    1 // Jerridon
    226    2    0    210    50    3    //Trainer
    231    2    0    209    47  3
    246    2    0    210    44    3 // Weapons Merchant Zienna
    417    2    0    211    39    2 // Marseille
    251    2    0    210    34    3    //Hanzo The Blacksmith
    416    2    0   210    30    2 // Leah
    230    2    0    212    26    3 //Thompson The Merchant
    257    2    0    222    69    3 // Elf Buffer
    237    2    0    236    92  1 // DV
    237    2    0    218    92    1 // DV
    233    2    0    230    92    1 // BC
    233    2    0    212    92    1 // BC
    380    2    0    224    92    1 // Stone Statue
    247    2    0    226    69    0 //Berdysh Guard
    247    2    0    234    135    2 //Berdysh Guard
    247    2    0    235    192    2 //Berdysh Guard
    247    2    0    223    214    2 //Berdysh Guard
    375    2    0    219    59    1
    Monster for MAP

    Code:
    2    2    30    203    88    218    101    -1    20
    3    2    30    225    101    241    111    -1    20
    22    2    30  229    146    223    147    -1    8
    3    2    30  223    147    207    151    -1    8
    22    2    30  207    151    205    168    -1    8
    24    2    30  205    168    215    180    -1    15
    3    2    30  205    168    215    180    -1    7
    22    2    30  215    180    236    186    -1    12
    24    2    30  215    180    236    186    -1    15
    3    2    30  215    180    236    186    -1    10
    2    2    30    237    204    237    204    -1    5
    20    2    30    237    204    237    204    -1    5
    
    2    2    30    232    209    232    224    -1    7
    3    2    30    232    209    232    224    -1    7
    22    2    30  232    209    232    224    -1    7
    24    2    30  232    209    232    224    -1    7
    20    2    30    232    209    232    224    -1    7
    
    2    2    30    238    239    240    218    -1    2
    3    2    30    238    239    240    218    -1    2
    22    2    30  238    239    240    218    -1    2
    24    2    30  238    239    240    218    -1    2
    20    2    30    238    239    240    218    -1    2
    27    2    30    238    239    240    218    -1    5
    
    2    2    30    239    220    241    238    -1    2
    3    2    30    239    220    241    238    -1    2
    22    2    30  239    220    241    238    -1    2
    24    2    30  239    220    241    238    -1    2
    20    2    30    239    220    241    238    -1    2
    27    2    30    239    220    241    238    -1    5
    
    27    2    30    219    223    212    235    -1    5
    27    2    30    219    223    212    235    -1    5
    20    2    30  219    223    212    235    -1    5
    20    2    30  219    223    212    235    -1    5
    27    2    30    204    240    204    240    -1    5
    20    2    30  204    240    204    240    -1    5
    27    2    30    218    238    218    238    -1    5
    20    2    30  218    238    218    238    -1    5
    Last edited by KarLi; 05-05-20 at 08:45 PM. Reason: fixed files and link, previous arkania links = BUGGED .att file


  2. #2
    Account Upgraded | Title Enabled! rusolp is offline
    MemberRank
    Mar 2008 Join Date
    $db->play_lifeLocation
    319Posts

    re: [Release] Arkania Map

    Very nice... waiting for download link...

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

    re: [Release] Arkania Map

    Great work bro ! I'm thinking on implement like totally added map to my server and client :) Thanks for release

  4. #4
    Enthusiast Idrio is offline
    MemberRank
    Dec 2009 Join Date
    41Posts

    re: [Release] Arkania Map

    Mauro but you must also add the client right? you have idea how to do?
    I wanted to add Acheron... ^_^

  5. #5
    Enthusiast XTM is offline
    MemberRank
    Jun 2014 Join Date
    27Posts

    re: [Release] Arkania Map

    Nice man! 11/10
    This is skin for devias as im right? But how to add this like costume map?

  6. #6
    CAARL, THAT KILLS PEOPLE! SmallHabit is offline
    MemberRank
    Oct 2010 Join Date
    LatviaLocation
    231Posts

    re: [Release] Arkania Map

    You better add credits, or I will instantly press report button for credits! :D

  7. #7
    Don't be a hater 1Word is offline
    MemberRank
    Jan 2006 Join Date
    At homeLocation
    1,779Posts

    re: [Release] Arkania Map

    I didn't test yet and I hate custom stuff but this looks just awesome

  8. #8
    CCCP Mu Owner 15351535 is offline
    MemberRank
    Sep 2007 Join Date
    Russia/GermanyLocation
    855Posts

    re: [Release] Arkania Map

    how i can add it as new map? not as replasement

  9. #9
    Evolution Team Th3AnG3L is offline
    MemberRank
    Apr 2014 Join Date
    634Posts

    re: [Release] Arkania Map

    Quote Originally Posted by 15351535 View Post
    how i can add it as new map? not as replasement
    server > read new terrainXX , client>Read new WorldXX
    and you are ready

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

    re: [Release] Arkania Map

    Quote Originally Posted by Idrio View Post
    Mauro but you must also add the client right? you have idea how to do?
    I wanted to add Acheron... ^_^
    Well is not a secret to nothing.. SmallHabit release 1 source to add new map (with different effects from mu maps on client and etc..) to client look this:

    Code:
    #include <Windows.h>
    #include <stdio.h>
    
    void __declspec(naked) MapNewNames()
    {
        _asm
        {
            cmp esi,34 //MapNumber
            jnz JNZNext80
            push 0x73B        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    JNZNext80:
            cmp esi,80 //MapNumber
            jnz JNZNext59
            push 0x914        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    JNZNext59:
            cmp esi,59 //MapNumber
            jnz JNZNext60
            push 0x914        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext60:
            cmp esi,60 //MapNumber
            jnz JNZNext61
            push 0x914        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext61:
            cmp esi,61 //MapNumber
            jnz JNZNext75
            push 0x914        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext75:
            cmp esi,75 //MapNumber
            jnz JNZNext76
            push 0x73F        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext76:
            cmp esi,76 //MapNumber
            jnz JNZNext77
            push 0x73F        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext77:
            cmp esi,77 //MapNumber
            jnz JNZNext78
            push 0x73F        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext78:
            cmp esi,78 //MapNumber
            jnz JNZNext81
            push 0x73E        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    JNZNext81:
            cmp esi,81 //MapNumber
            jnz JNZNext82
            push 0x73E        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext82:
            cmp esi,82 //MapNumber
            jnz JNZNext83
            push 0x73E        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext83:
            cmp esi,83 //MapNumber
            jnz JNZNext84
            push 0xA7E    //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext84:
            cmp esi,84 //MapNumber
            jnz JNZNext85
            push 0xA7E    //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext85:
            cmp esi,85 //MapNumber
            jnz JNZNextEnd
            push 0xA7E    //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNextEnd:
            mov edx, 0x005BF1BF;
            jmp edx;
        }
    }
    
    void __declspec(naked) MapNews40()
    {
        _asm
        {    
            //1
            CMP DWORD PTR DS:[0x934540],80;
            JE JEOKAY;
    
            //2
            CMP DWORD PTR DS:[0x934540],59;
            JE JEOKAY;
    
            //3
            CMP DWORD PTR DS:[0x934540],60;
            JE JEOKAY;
    
            //4
            CMP DWORD PTR DS:[0x934540],61;
            JE JEOKAY;
    
            //Original
            CMP DWORD PTR DS:[0x934540],40;
            JE JEOKAY;
    
            mov edx, 0x005D6C9E;
            jmp edx;
    
    JEOKAY:
            mov edx, 0x005D6D46;
            jmp edx;
        }
    }
    
    void __declspec(naked) MapNew057()
    {
        _asm
        {
            PUSH EBP
            MOV EBP,ESP
            CMP DWORD PTR DS:[0x934540],57 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],58 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],65 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],75 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],76 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],77
            JNZ JNZFirst
        JNZSecon:
            MOV AL,1
            JMP JMPEnd
        JNZFirst:
            XOR AL,AL
        JMPEnd:
            POP EBP
            RETN
        }
    }
    
    void __declspec(naked) MapNewO56()
    {
        _asm
        {
            //New 56 Map Effects Enable
            PUSH EBP
            MOV EBP,ESP
            CMP DWORD PTR DS:[0x934540],56 //1
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],78 //2
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],81 //3
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],82 //4
            JNZ JNZFirst
        JNZSecon:
            MOV AL,1
            JMP JMPEnd
        JNZFirst:
            XOR AL,AL
        JMPEnd:
            POP EBP
            RETN
        }
    }
    
    void __declspec(naked) MapNewO63()
    {
        _asm
        {    
            //New 63 Map Effects Enable
            PUSH EBP
            MOV EBP,ESP
            CMP DWORD PTR DS:[0x934540],63 //0
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],83 //1
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],84 //2
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],85 //3
            JNZ JNZFirst
        JNZSecon:
            MOV AL,1
            JMP JMPEnd
        JNZFirst:
            XOR AL,AL
        JMPEnd:
            POP EBP
            RETN
        }
    }
    
    void __declspec(naked) MapNewO40()
    {
        _asm
        {    
            //New 40 Map Effects Enable
            PUSH EBP
            MOV EBP,ESP
            CMP DWORD PTR DS:[0x934540],80 //1
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],59 //2
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],60 //3
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],61 //4
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],37
            JNZ JNZFirst
        JNZSecon:
            MOV AL,1
            JMP JMPEnd
        JNZFirst:
            XOR AL,AL
        JMPEnd:
            POP EBP
            RETN
        }
    }
    
    void __declspec(naked) MapSwampFog()
    {
        _asm
        {
            CMP EAX,56
            JNZ Next1
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    Next1:
            CMP EAX,78
            JNZ Next2
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    Next2:
            CMP EAX,81
            JNZ Next3
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    Next3:
            CMP EAX,82
            JNZ Next4
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    Next4:
            CMP EAX,83
            JNZ CreateFog
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    CreateFog:
            mov edi, 0x005990F2
            jmp edi
        }
    }
    
    void __declspec(naked) MapRaklionTele()
    {
        _asm
        {
            CMP DWORD PTR DS:[0x934540],57;
            JNZ Teleport1;
    Teleport1:
            CMP DWORD PTR DS:[0x934540],75;
            JNZ Teleport2;
    Teleport2:
            CMP DWORD PTR DS:[0x934540],76;
            JNZ Teleport3;
    Teleport3:
            CMP DWORD PTR DS:[0x934540],77;
            JNZ End;
    End:
            mov esi, 0x00606F88;
            jmp esi;
        }
    }
    
    void __declspec(naked) NewReward()
    {
        _asm
        {
            //004C9F5B
            MOV EDX,DWORD PTR SS:[EBP-0x10]
            MOV EAX,DWORD PTR DS:[EDX+0x8]
            PUSH EAX
            PUSH 0xCC4             
            MOV ECX,0x07BA0588
            mov esi, 0x00403FC0
            call esi
            PUSH EAX
            MOV ECX,DWORD PTR SS:[EBP-0x18]
            IMUL ECX,ECX,0x58
            MOV EDX,DWORD PTR SS:[EBP+0x8]
            LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
            PUSH EAX
            mov esi, 0x008C84F8
            call esi
            ADD ESP,0x0C
    
            mov esi, 0x004C9F88
            jmp esi
        }
    }
    
    void __declspec(naked) NewReward1()
    {
        _asm
        {
            //004C9F5B
            MOV EDX,DWORD PTR SS:[EBP-0x10]
            MOV EAX,DWORD PTR DS:[EDX+0x8]
            PUSH EAX
            PUSH 0xCC5             
            MOV ECX,0x07BA0588
            mov esi, 0x00403FC0
            call esi
            PUSH EAX
            MOV ECX,DWORD PTR SS:[EBP-0x18]
            IMUL ECX,ECX,0x58
            MOV EDX,DWORD PTR SS:[EBP+0x8]
            LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
            PUSH EAX
            mov esi, 0x008C84F8
            call esi
            ADD ESP,0x0C
    
            mov esi, 0x004C9F88
            jmp esi
        }
    }
    
    void __declspec(naked) NewReward2()
    {
        _asm
        {
            //004C9F5B
            MOV EDX,DWORD PTR SS:[EBP-0x10]
            MOV EAX,DWORD PTR DS:[EDX+0x8]
            PUSH EAX
            PUSH 0xCC6             
            MOV ECX,0x07BA0588
            mov esi, 0x00403FC0
            call esi
            PUSH EAX
            MOV ECX,DWORD PTR SS:[EBP-0x18]
            IMUL ECX,ECX,0x58
            MOV EDX,DWORD PTR SS:[EBP+0x8]
            LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
            PUSH EAX
            mov esi, 0x008C84F8
            call esi
            ADD ESP,0x0C
    
            mov esi, 0x004C9F88
            jmp esi
        }
    }
    
    void __declspec(naked) NewReward3()
    {
        _asm
        {
            //004C9F5B
            MOV EDX,DWORD PTR SS:[EBP-0x10]
            MOV EAX,DWORD PTR DS:[EDX+0x8]
            PUSH EAX
            PUSH 0xCC7            
            MOV ECX,0x07BA0588
            mov esi, 0x00403FC0
            call esi
            PUSH EAX
            MOV ECX,DWORD PTR SS:[EBP-0x18]
            IMUL ECX,ECX,0x58
            MOV EDX,DWORD PTR SS:[EBP+0x8]
            LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
            PUSH EAX
            mov esi, 0x008C84F8
            call esi
            ADD ESP,0x0C
    
            mov esi, 0x004C9F88
            jmp esi
        }
    }
    
    void __declspec(naked) MapTest()
    {    
        _asm
        {
            //Original 00469039
            MOV DWORD PTR SS:[EBP-0xFC],79
            PUSH 0x00930068 //LorenMarket
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi
    
            //New Map 80
            MOV DWORD PTR SS:[EBP-0xFC],80
            PUSH 0x0095DB58 //Silent
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi   
    
            //New Map 59
            MOV DWORD PTR SS:[EBP-0xFC],59
            PUSH 0x0095DB58 //Silent
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi     
    
            //New Map 60
            MOV DWORD PTR SS:[EBP-0xFC],60
            PUSH 0x0095DB58 //Silent
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi   
    
            //New Map 61
            MOV DWORD PTR SS:[EBP-0xFC],61
            PUSH 0x0095DB58 //Silent
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 75
            MOV DWORD PTR SS:[EBP-0xFC],75
            PUSH 0x0095DB71 //Raklion
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 76
            MOV DWORD PTR SS:[EBP-0xFC],76
            PUSH 0x0095DB71 //Raklion
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 77
            MOV DWORD PTR SS:[EBP-0xFC],77
            PUSH 0x0095DB71 //Raklion
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 78
            MOV DWORD PTR SS:[EBP-0xFC],78
            PUSH 0x0095DB91 //Swamp
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 81
            MOV DWORD PTR SS:[EBP-0xFC],81
            PUSH 0x0095DB91 //Swamp
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 82
            MOV DWORD PTR SS:[EBP-0xFC],82
            PUSH 0x0095DB91 //Swamp
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 83
            MOV DWORD PTR SS:[EBP-0xFC],83
            PUSH 0x0095DBB2 //Vulcanus
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 84
            MOV DWORD PTR SS:[EBP-0xFC],84
            PUSH 0x0095DBB2 //Vulcanus
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 85
            MOV DWORD PTR SS:[EBP-0xFC],85
            PUSH 0x0095DBB2 //Vulcanus
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 86
            MOV DWORD PTR SS:[EBP-0xFC],86
            PUSH 0x00930068 //LorenMarket
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            mov esi, 0x00469064
            jmp esi;
        }
    }
    
    void Init()
    {
        DWORD OldProtect;
        LPVOID lpAddress = (LPVOID)0x00401000;
    
        if(VirtualProtect(lpAddress,5873152,PAGE_EXECUTE_READWRITE,&OldProtect))
        {        
                char MapN1[] = "Interface\\Silent.tga";
                memcpy((int*)0x0095DB58,(BYTE*)MapN1,sizeof(MapN1));
    
                char MapN2[] = "Interface\\Mapname_Raklion.tga";
                memcpy((int*)0x0095DB71,(BYTE*)MapN2,sizeof(MapN2));
    
                char MapN3[] = "Interface\\SwampOfCalmness.tga";
                memcpy((int*)0x0095DB91,(BYTE*)MapN3,sizeof(MapN3));
    
                char MapN4[] = "Interface\\pkfield.tga";
                memcpy((int*)0x0095DBB2,(BYTE*)MapN4,sizeof(MapN4));
    
                BYTE MapNew[] = { 0xFF, 0x25, 0x43, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x00469039,MapNew,sizeof(MapNew));
                *(unsigned int*)0x008F3F43 = (unsigned int)MapTest;
    
                BYTE MapNew40[] = { 0xFF, 0x25, 0x10, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x005D6C91,MapNew40,sizeof(MapNew40));
                *(unsigned int*)0x008F3F10 = (unsigned int)MapNews40;
    
                BYTE MapNewo40[] = { 0xFF, 0x25, 0x15, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008060BF,MapNewo40,sizeof(MapNewo40));
                *(unsigned int*)0x008F3F15 = (unsigned int)MapNewO40;
    
                BYTE MapNewNameS[] = { 0xFF, 0x25, 0x20, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x005BF1A6,MapNewNameS,sizeof(MapNewNameS));
                *(unsigned int*)0x008F3F20 = (unsigned int)MapNewNames;
    
                BYTE MapNewo57[] = { 0xFF, 0x25, 0x25, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x00822F4C,MapNewo57,sizeof(MapNewo57));
                *(unsigned int*)0x008F3F25 = (unsigned int)MapNew057;
    
                BYTE MapLimit[] = { 0xFF, 87, 0x0F };
                memcpy((int*)0x006039C6,MapLimit,sizeof(MapLimit));
    
                BYTE MapRaklion[] = { 0xFF, 0x25, 0x29, 0x3F, 0x8F, 0x00,0x00 };
                memcpy((int*)0x00606F7B,MapRaklion,sizeof(MapRaklion));
                *(unsigned int*)0x008F3F29 = (unsigned int)MapRaklionTele;    
    
                BYTE MapNewo56[] = { 0xFF, 0x25, 0xAA, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x0086A9CB,MapNewo56,sizeof(MapNewo56));
                *(unsigned int*)0x008F3FAA = (unsigned int)MapNewO56;
    
                BYTE Map56Fog[] = { 0xFF, 0x25, 0xAE, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x005990E6,Map56Fog,sizeof(Map56Fog));
                *(unsigned int*)0x008F3FAE = (unsigned int)MapSwampFog;
    
                BYTE MapNewo63[] = { 0xFF, 0x25, 0xB2, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x0081B9A0,MapNewo63,sizeof(MapNewo63));
                *(unsigned int*)0x008F3FB2 = (unsigned int)MapNewO63;
    
                BYTE RewardAdd[] = { 0xFF, 0x25, 0xBC, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008F3FB6,RewardAdd,sizeof(RewardAdd));
                *(unsigned int*)0x008F3FBC = (unsigned int)NewReward;
    
                //Quest rewards
                BYTE RewardCnt[] = { 0xFF, 0x14, 0x0F };
                memcpy((int*)0x00004C9DFD,RewardCnt,sizeof(RewardCnt));
    
                BYTE RewardAdd1[] = { 0xFF, 0x25, 0xC7, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008F3FC1,RewardAdd1,sizeof(RewardAdd1));
                *(unsigned int*)0x008F3FC7 = (unsigned int)NewReward1;
    
                BYTE RewardAdd2[] = { 0xFF, 0x25, 0xD2, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008F3FCC,RewardAdd2,sizeof(RewardAdd2));
                *(unsigned int*)0x008F3FD2 = (unsigned int)NewReward2;
    
                BYTE RewardAdd3[] = { 0xFF, 0x25, 0xDD, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008F3FD7,RewardAdd3,sizeof(RewardAdd3));
                *(unsigned int*)0x008F3FDD = (unsigned int)NewReward3;
        }
        else
        {
            MessageBox(NULL,"wz_zm.dll failed to load.","Error",MB_OK);
            ::ExitProcess(0);
        }
    
    }
    
    bool APIENTRY DllMain(HINSTANCE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
    {
        switch(ul_reason_for_call)
        {
            case DLL_PROCESS_ATTACH:
                Init();
                break;
        }
        return true;
    }
    Credits: SmallHabit

  11. #11
    Enthusiast Idrio is offline
    MemberRank
    Dec 2009 Join Date
    41Posts

    re: [Release] Arkania Map

    Quote Originally Posted by mauro07 View Post
    Well is not a secret to nothing.. SmallHabit release 1 source to add new map (with different effects from mu maps on client and etc..) to client look this:

    Code:
    #include <Windows.h>
    #include <stdio.h>
    
    void __declspec(naked) MapNewNames()
    {
        _asm
        {
            cmp esi,34 //MapNumber
            jnz JNZNext80
            push 0x73B        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    JNZNext80:
            cmp esi,80 //MapNumber
            jnz JNZNext59
            push 0x914        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    JNZNext59:
            cmp esi,59 //MapNumber
            jnz JNZNext60
            push 0x914        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext60:
            cmp esi,60 //MapNumber
            jnz JNZNext61
            push 0x914        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext61:
            cmp esi,61 //MapNumber
            jnz JNZNext75
            push 0x914        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext75:
            cmp esi,75 //MapNumber
            jnz JNZNext76
            push 0x73F        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext76:
            cmp esi,76 //MapNumber
            jnz JNZNext77
            push 0x73F        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext77:
            cmp esi,77 //MapNumber
            jnz JNZNext78
            push 0x73F        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext78:
            cmp esi,78 //MapNumber
            jnz JNZNext81
            push 0x73E        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    JNZNext81:
            cmp esi,81 //MapNumber
            jnz JNZNext82
            push 0x73E        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext82:
            cmp esi,82 //MapNumber
            jnz JNZNext83
            push 0x73E        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext83:
            cmp esi,83 //MapNumber
            jnz JNZNext84
            push 0xA7E    //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext84:
            cmp esi,84 //MapNumber
            jnz JNZNext85
            push 0xA7E    //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext85:
            cmp esi,85 //MapNumber
            jnz JNZNextEnd
            push 0xA7E    //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNextEnd:
            mov edx, 0x005BF1BF;
            jmp edx;
        }
    }
    
    void __declspec(naked) MapNews40()
    {
        _asm
        {    
            //1
            CMP DWORD PTR DS:[0x934540],80;
            JE JEOKAY;
    
            //2
            CMP DWORD PTR DS:[0x934540],59;
            JE JEOKAY;
    
            //3
            CMP DWORD PTR DS:[0x934540],60;
            JE JEOKAY;
    
            //4
            CMP DWORD PTR DS:[0x934540],61;
            JE JEOKAY;
    
            //Original
            CMP DWORD PTR DS:[0x934540],40;
            JE JEOKAY;
    
            mov edx, 0x005D6C9E;
            jmp edx;
    
    JEOKAY:
            mov edx, 0x005D6D46;
            jmp edx;
        }
    }
    
    void __declspec(naked) MapNew057()
    {
        _asm
        {
            PUSH EBP
            MOV EBP,ESP
            CMP DWORD PTR DS:[0x934540],57 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],58 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],65 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],75 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],76 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],77
            JNZ JNZFirst
        JNZSecon:
            MOV AL,1
            JMP JMPEnd
        JNZFirst:
            XOR AL,AL
        JMPEnd:
            POP EBP
            RETN
        }
    }
    
    void __declspec(naked) MapNewO56()
    {
        _asm
        {
            //New 56 Map Effects Enable
            PUSH EBP
            MOV EBP,ESP
            CMP DWORD PTR DS:[0x934540],56 //1
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],78 //2
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],81 //3
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],82 //4
            JNZ JNZFirst
        JNZSecon:
            MOV AL,1
            JMP JMPEnd
        JNZFirst:
            XOR AL,AL
        JMPEnd:
            POP EBP
            RETN
        }
    }
    
    void __declspec(naked) MapNewO63()
    {
        _asm
        {    
            //New 63 Map Effects Enable
            PUSH EBP
            MOV EBP,ESP
            CMP DWORD PTR DS:[0x934540],63 //0
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],83 //1
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],84 //2
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],85 //3
            JNZ JNZFirst
        JNZSecon:
            MOV AL,1
            JMP JMPEnd
        JNZFirst:
            XOR AL,AL
        JMPEnd:
            POP EBP
            RETN
        }
    }
    
    void __declspec(naked) MapNewO40()
    {
        _asm
        {    
            //New 40 Map Effects Enable
            PUSH EBP
            MOV EBP,ESP
            CMP DWORD PTR DS:[0x934540],80 //1
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],59 //2
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],60 //3
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],61 //4
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],37
            JNZ JNZFirst
        JNZSecon:
            MOV AL,1
            JMP JMPEnd
        JNZFirst:
            XOR AL,AL
        JMPEnd:
            POP EBP
            RETN
        }
    }
    
    void __declspec(naked) MapSwampFog()
    {
        _asm
        {
            CMP EAX,56
            JNZ Next1
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    Next1:
            CMP EAX,78
            JNZ Next2
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    Next2:
            CMP EAX,81
            JNZ Next3
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    Next3:
            CMP EAX,82
            JNZ Next4
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    Next4:
            CMP EAX,83
            JNZ CreateFog
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    CreateFog:
            mov edi, 0x005990F2
            jmp edi
        }
    }
    
    void __declspec(naked) MapRaklionTele()
    {
        _asm
        {
            CMP DWORD PTR DS:[0x934540],57;
            JNZ Teleport1;
    Teleport1:
            CMP DWORD PTR DS:[0x934540],75;
            JNZ Teleport2;
    Teleport2:
            CMP DWORD PTR DS:[0x934540],76;
            JNZ Teleport3;
    Teleport3:
            CMP DWORD PTR DS:[0x934540],77;
            JNZ End;
    End:
            mov esi, 0x00606F88;
            jmp esi;
        }
    }
    
    void __declspec(naked) NewReward()
    {
        _asm
        {
            //004C9F5B
            MOV EDX,DWORD PTR SS:[EBP-0x10]
            MOV EAX,DWORD PTR DS:[EDX+0x8]
            PUSH EAX
            PUSH 0xCC4             
            MOV ECX,0x07BA0588
            mov esi, 0x00403FC0
            call esi
            PUSH EAX
            MOV ECX,DWORD PTR SS:[EBP-0x18]
            IMUL ECX,ECX,0x58
            MOV EDX,DWORD PTR SS:[EBP+0x8]
            LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
            PUSH EAX
            mov esi, 0x008C84F8
            call esi
            ADD ESP,0x0C
    
            mov esi, 0x004C9F88
            jmp esi
        }
    }
    
    void __declspec(naked) NewReward1()
    {
        _asm
        {
            //004C9F5B
            MOV EDX,DWORD PTR SS:[EBP-0x10]
            MOV EAX,DWORD PTR DS:[EDX+0x8]
            PUSH EAX
            PUSH 0xCC5             
            MOV ECX,0x07BA0588
            mov esi, 0x00403FC0
            call esi
            PUSH EAX
            MOV ECX,DWORD PTR SS:[EBP-0x18]
            IMUL ECX,ECX,0x58
            MOV EDX,DWORD PTR SS:[EBP+0x8]
            LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
            PUSH EAX
            mov esi, 0x008C84F8
            call esi
            ADD ESP,0x0C
    
            mov esi, 0x004C9F88
            jmp esi
        }
    }
    
    void __declspec(naked) NewReward2()
    {
        _asm
        {
            //004C9F5B
            MOV EDX,DWORD PTR SS:[EBP-0x10]
            MOV EAX,DWORD PTR DS:[EDX+0x8]
            PUSH EAX
            PUSH 0xCC6             
            MOV ECX,0x07BA0588
            mov esi, 0x00403FC0
            call esi
            PUSH EAX
            MOV ECX,DWORD PTR SS:[EBP-0x18]
            IMUL ECX,ECX,0x58
            MOV EDX,DWORD PTR SS:[EBP+0x8]
            LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
            PUSH EAX
            mov esi, 0x008C84F8
            call esi
            ADD ESP,0x0C
    
            mov esi, 0x004C9F88
            jmp esi
        }
    }
    
    void __declspec(naked) NewReward3()
    {
        _asm
        {
            //004C9F5B
            MOV EDX,DWORD PTR SS:[EBP-0x10]
            MOV EAX,DWORD PTR DS:[EDX+0x8]
            PUSH EAX
            PUSH 0xCC7            
            MOV ECX,0x07BA0588
            mov esi, 0x00403FC0
            call esi
            PUSH EAX
            MOV ECX,DWORD PTR SS:[EBP-0x18]
            IMUL ECX,ECX,0x58
            MOV EDX,DWORD PTR SS:[EBP+0x8]
            LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
            PUSH EAX
            mov esi, 0x008C84F8
            call esi
            ADD ESP,0x0C
    
            mov esi, 0x004C9F88
            jmp esi
        }
    }
    
    void __declspec(naked) MapTest()
    {    
        _asm
        {
            //Original 00469039
            MOV DWORD PTR SS:[EBP-0xFC],79
            PUSH 0x00930068 //LorenMarket
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi
    
            //New Map 80
            MOV DWORD PTR SS:[EBP-0xFC],80
            PUSH 0x0095DB58 //Silent
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi   
    
            //New Map 59
            MOV DWORD PTR SS:[EBP-0xFC],59
            PUSH 0x0095DB58 //Silent
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi     
    
            //New Map 60
            MOV DWORD PTR SS:[EBP-0xFC],60
            PUSH 0x0095DB58 //Silent
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi   
    
            //New Map 61
            MOV DWORD PTR SS:[EBP-0xFC],61
            PUSH 0x0095DB58 //Silent
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 75
            MOV DWORD PTR SS:[EBP-0xFC],75
            PUSH 0x0095DB71 //Raklion
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 76
            MOV DWORD PTR SS:[EBP-0xFC],76
            PUSH 0x0095DB71 //Raklion
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 77
            MOV DWORD PTR SS:[EBP-0xFC],77
            PUSH 0x0095DB71 //Raklion
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 78
            MOV DWORD PTR SS:[EBP-0xFC],78
            PUSH 0x0095DB91 //Swamp
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 81
            MOV DWORD PTR SS:[EBP-0xFC],81
            PUSH 0x0095DB91 //Swamp
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 82
            MOV DWORD PTR SS:[EBP-0xFC],82
            PUSH 0x0095DB91 //Swamp
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 83
            MOV DWORD PTR SS:[EBP-0xFC],83
            PUSH 0x0095DBB2 //Vulcanus
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 84
            MOV DWORD PTR SS:[EBP-0xFC],84
            PUSH 0x0095DBB2 //Vulcanus
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 85
            MOV DWORD PTR SS:[EBP-0xFC],85
            PUSH 0x0095DBB2 //Vulcanus
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 86
            MOV DWORD PTR SS:[EBP-0xFC],86
            PUSH 0x00930068 //LorenMarket
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            mov esi, 0x00469064
            jmp esi;
        }
    }
    
    void Init()
    {
        DWORD OldProtect;
        LPVOID lpAddress = (LPVOID)0x00401000;
    
        if(VirtualProtect(lpAddress,5873152,PAGE_EXECUTE_READWRITE,&OldProtect))
        {        
                char MapN1[] = "Interface\\Silent.tga";
                memcpy((int*)0x0095DB58,(BYTE*)MapN1,sizeof(MapN1));
    
                char MapN2[] = "Interface\\Mapname_Raklion.tga";
                memcpy((int*)0x0095DB71,(BYTE*)MapN2,sizeof(MapN2));
    
                char MapN3[] = "Interface\\SwampOfCalmness.tga";
                memcpy((int*)0x0095DB91,(BYTE*)MapN3,sizeof(MapN3));
    
                char MapN4[] = "Interface\\pkfield.tga";
                memcpy((int*)0x0095DBB2,(BYTE*)MapN4,sizeof(MapN4));
    
                BYTE MapNew[] = { 0xFF, 0x25, 0x43, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x00469039,MapNew,sizeof(MapNew));
                *(unsigned int*)0x008F3F43 = (unsigned int)MapTest;
    
                BYTE MapNew40[] = { 0xFF, 0x25, 0x10, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x005D6C91,MapNew40,sizeof(MapNew40));
                *(unsigned int*)0x008F3F10 = (unsigned int)MapNews40;
    
                BYTE MapNewo40[] = { 0xFF, 0x25, 0x15, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008060BF,MapNewo40,sizeof(MapNewo40));
                *(unsigned int*)0x008F3F15 = (unsigned int)MapNewO40;
    
                BYTE MapNewNameS[] = { 0xFF, 0x25, 0x20, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x005BF1A6,MapNewNameS,sizeof(MapNewNameS));
                *(unsigned int*)0x008F3F20 = (unsigned int)MapNewNames;
    
                BYTE MapNewo57[] = { 0xFF, 0x25, 0x25, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x00822F4C,MapNewo57,sizeof(MapNewo57));
                *(unsigned int*)0x008F3F25 = (unsigned int)MapNew057;
    
                BYTE MapLimit[] = { 0xFF, 87, 0x0F };
                memcpy((int*)0x006039C6,MapLimit,sizeof(MapLimit));
    
                BYTE MapRaklion[] = { 0xFF, 0x25, 0x29, 0x3F, 0x8F, 0x00,0x00 };
                memcpy((int*)0x00606F7B,MapRaklion,sizeof(MapRaklion));
                *(unsigned int*)0x008F3F29 = (unsigned int)MapRaklionTele;    
    
                BYTE MapNewo56[] = { 0xFF, 0x25, 0xAA, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x0086A9CB,MapNewo56,sizeof(MapNewo56));
                *(unsigned int*)0x008F3FAA = (unsigned int)MapNewO56;
    
                BYTE Map56Fog[] = { 0xFF, 0x25, 0xAE, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x005990E6,Map56Fog,sizeof(Map56Fog));
                *(unsigned int*)0x008F3FAE = (unsigned int)MapSwampFog;
    
                BYTE MapNewo63[] = { 0xFF, 0x25, 0xB2, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x0081B9A0,MapNewo63,sizeof(MapNewo63));
                *(unsigned int*)0x008F3FB2 = (unsigned int)MapNewO63;
    
                BYTE RewardAdd[] = { 0xFF, 0x25, 0xBC, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008F3FB6,RewardAdd,sizeof(RewardAdd));
                *(unsigned int*)0x008F3FBC = (unsigned int)NewReward;
    
                //Quest rewards
                BYTE RewardCnt[] = { 0xFF, 0x14, 0x0F };
                memcpy((int*)0x00004C9DFD,RewardCnt,sizeof(RewardCnt));
    
                BYTE RewardAdd1[] = { 0xFF, 0x25, 0xC7, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008F3FC1,RewardAdd1,sizeof(RewardAdd1));
                *(unsigned int*)0x008F3FC7 = (unsigned int)NewReward1;
    
                BYTE RewardAdd2[] = { 0xFF, 0x25, 0xD2, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008F3FCC,RewardAdd2,sizeof(RewardAdd2));
                *(unsigned int*)0x008F3FD2 = (unsigned int)NewReward2;
    
                BYTE RewardAdd3[] = { 0xFF, 0x25, 0xDD, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008F3FD7,RewardAdd3,sizeof(RewardAdd3));
                *(unsigned int*)0x008F3FDD = (unsigned int)NewReward3;
        }
        else
        {
            MessageBox(NULL,"wz_zm.dll failed to load.","Error",MB_OK);
            ::ExitProcess(0);
        }
    
    }
    
    bool APIENTRY DllMain(HINSTANCE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
    {
        switch(ul_reason_for_call)
        {
            case DLL_PROCESS_ATTACH:
                Init();
                break;
        }
        return true;
    }
    Credits: SmallHabit
    thanks Mauro ^_^

  12. #12
    Proficient Member VeltonD is offline
    MemberRank
    Feb 2013 Join Date
    193Posts

    re: [Release] Arkania Map

    Quote Originally Posted by mauro07 View Post
    Well is not a secret to nothing.. SmallHabit release 1 source to add new map (with different effects from mu maps on client and etc..) to client look this:

    Code:
    #include <Windows.h>
    #include <stdio.h>
    
    void __declspec(naked) MapNewNames()
    {
        _asm
        {
            cmp esi,34 //MapNumber
            jnz JNZNext80
            push 0x73B        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    JNZNext80:
            cmp esi,80 //MapNumber
            jnz JNZNext59
            push 0x914        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    JNZNext59:
            cmp esi,59 //MapNumber
            jnz JNZNext60
            push 0x914        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext60:
            cmp esi,60 //MapNumber
            jnz JNZNext61
            push 0x914        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext61:
            cmp esi,61 //MapNumber
            jnz JNZNext75
            push 0x914        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext75:
            cmp esi,75 //MapNumber
            jnz JNZNext76
            push 0x73F        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext76:
            cmp esi,76 //MapNumber
            jnz JNZNext77
            push 0x73F        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext77:
            cmp esi,77 //MapNumber
            jnz JNZNext78
            push 0x73F        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext78:
            cmp esi,78 //MapNumber
            jnz JNZNext81
            push 0x73E        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
    JNZNext81:
            cmp esi,81 //MapNumber
            jnz JNZNext82
            push 0x73E        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext82:
            cmp esi,82 //MapNumber
            jnz JNZNext83
            push 0x73E        //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext83:
            cmp esi,83 //MapNumber
            jnz JNZNext84
            push 0xA7E    //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext84:
            cmp esi,84 //MapNumber
            jnz JNZNext85
            push 0xA7E    //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNext85:
            cmp esi,85 //MapNumber
            jnz JNZNextEnd
            push 0xA7E    //Text Line                  
            mov ecx,0x07BA0588    
            mov edx, 0x00404020
            call edx      
            mov edx, 0x005BF599
            jmp edx
            mov edx, 0x005BF1BF;
            jmp edx;
    JNZNextEnd:
            mov edx, 0x005BF1BF;
            jmp edx;
        }
    }
    
    void __declspec(naked) MapNews40()
    {
        _asm
        {    
            //1
            CMP DWORD PTR DS:[0x934540],80;
            JE JEOKAY;
    
            //2
            CMP DWORD PTR DS:[0x934540],59;
            JE JEOKAY;
    
            //3
            CMP DWORD PTR DS:[0x934540],60;
            JE JEOKAY;
    
            //4
            CMP DWORD PTR DS:[0x934540],61;
            JE JEOKAY;
    
            //Original
            CMP DWORD PTR DS:[0x934540],40;
            JE JEOKAY;
    
            mov edx, 0x005D6C9E;
            jmp edx;
    
    JEOKAY:
            mov edx, 0x005D6D46;
            jmp edx;
        }
    }
    
    void __declspec(naked) MapNew057()
    {
        _asm
        {
            PUSH EBP
            MOV EBP,ESP
            CMP DWORD PTR DS:[0x934540],57 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],58 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],65 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],75 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],76 //
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],77
            JNZ JNZFirst
        JNZSecon:
            MOV AL,1
            JMP JMPEnd
        JNZFirst:
            XOR AL,AL
        JMPEnd:
            POP EBP
            RETN
        }
    }
    
    void __declspec(naked) MapNewO56()
    {
        _asm
        {
            //New 56 Map Effects Enable
            PUSH EBP
            MOV EBP,ESP
            CMP DWORD PTR DS:[0x934540],56 //1
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],78 //2
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],81 //3
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],82 //4
            JNZ JNZFirst
        JNZSecon:
            MOV AL,1
            JMP JMPEnd
        JNZFirst:
            XOR AL,AL
        JMPEnd:
            POP EBP
            RETN
        }
    }
    
    void __declspec(naked) MapNewO63()
    {
        _asm
        {    
            //New 63 Map Effects Enable
            PUSH EBP
            MOV EBP,ESP
            CMP DWORD PTR DS:[0x934540],63 //0
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],83 //1
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],84 //2
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],85 //3
            JNZ JNZFirst
        JNZSecon:
            MOV AL,1
            JMP JMPEnd
        JNZFirst:
            XOR AL,AL
        JMPEnd:
            POP EBP
            RETN
        }
    }
    
    void __declspec(naked) MapNewO40()
    {
        _asm
        {    
            //New 40 Map Effects Enable
            PUSH EBP
            MOV EBP,ESP
            CMP DWORD PTR DS:[0x934540],80 //1
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],59 //2
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],60 //3
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],61 //4
            JE JNZSecon
            CMP DWORD PTR DS:[0x934540],37
            JNZ JNZFirst
        JNZSecon:
            MOV AL,1
            JMP JMPEnd
        JNZFirst:
            XOR AL,AL
        JMPEnd:
            POP EBP
            RETN
        }
    }
    
    void __declspec(naked) MapSwampFog()
    {
        _asm
        {
            CMP EAX,56
            JNZ Next1
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    Next1:
            CMP EAX,78
            JNZ Next2
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    Next2:
            CMP EAX,81
            JNZ Next3
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    Next3:
            CMP EAX,82
            JNZ Next4
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    Next4:
            CMP EAX,83
            JNZ CreateFog
            mov edi, 0x0086A9DC
            call edi
            mov edi, 0x0059912E
            jmp edi
    CreateFog:
            mov edi, 0x005990F2
            jmp edi
        }
    }
    
    void __declspec(naked) MapRaklionTele()
    {
        _asm
        {
            CMP DWORD PTR DS:[0x934540],57;
            JNZ Teleport1;
    Teleport1:
            CMP DWORD PTR DS:[0x934540],75;
            JNZ Teleport2;
    Teleport2:
            CMP DWORD PTR DS:[0x934540],76;
            JNZ Teleport3;
    Teleport3:
            CMP DWORD PTR DS:[0x934540],77;
            JNZ End;
    End:
            mov esi, 0x00606F88;
            jmp esi;
        }
    }
    
    void __declspec(naked) NewReward()
    {
        _asm
        {
            //004C9F5B
            MOV EDX,DWORD PTR SS:[EBP-0x10]
            MOV EAX,DWORD PTR DS:[EDX+0x8]
            PUSH EAX
            PUSH 0xCC4             
            MOV ECX,0x07BA0588
            mov esi, 0x00403FC0
            call esi
            PUSH EAX
            MOV ECX,DWORD PTR SS:[EBP-0x18]
            IMUL ECX,ECX,0x58
            MOV EDX,DWORD PTR SS:[EBP+0x8]
            LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
            PUSH EAX
            mov esi, 0x008C84F8
            call esi
            ADD ESP,0x0C
    
            mov esi, 0x004C9F88
            jmp esi
        }
    }
    
    void __declspec(naked) NewReward1()
    {
        _asm
        {
            //004C9F5B
            MOV EDX,DWORD PTR SS:[EBP-0x10]
            MOV EAX,DWORD PTR DS:[EDX+0x8]
            PUSH EAX
            PUSH 0xCC5             
            MOV ECX,0x07BA0588
            mov esi, 0x00403FC0
            call esi
            PUSH EAX
            MOV ECX,DWORD PTR SS:[EBP-0x18]
            IMUL ECX,ECX,0x58
            MOV EDX,DWORD PTR SS:[EBP+0x8]
            LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
            PUSH EAX
            mov esi, 0x008C84F8
            call esi
            ADD ESP,0x0C
    
            mov esi, 0x004C9F88
            jmp esi
        }
    }
    
    void __declspec(naked) NewReward2()
    {
        _asm
        {
            //004C9F5B
            MOV EDX,DWORD PTR SS:[EBP-0x10]
            MOV EAX,DWORD PTR DS:[EDX+0x8]
            PUSH EAX
            PUSH 0xCC6             
            MOV ECX,0x07BA0588
            mov esi, 0x00403FC0
            call esi
            PUSH EAX
            MOV ECX,DWORD PTR SS:[EBP-0x18]
            IMUL ECX,ECX,0x58
            MOV EDX,DWORD PTR SS:[EBP+0x8]
            LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
            PUSH EAX
            mov esi, 0x008C84F8
            call esi
            ADD ESP,0x0C
    
            mov esi, 0x004C9F88
            jmp esi
        }
    }
    
    void __declspec(naked) NewReward3()
    {
        _asm
        {
            //004C9F5B
            MOV EDX,DWORD PTR SS:[EBP-0x10]
            MOV EAX,DWORD PTR DS:[EDX+0x8]
            PUSH EAX
            PUSH 0xCC7            
            MOV ECX,0x07BA0588
            mov esi, 0x00403FC0
            call esi
            PUSH EAX
            MOV ECX,DWORD PTR SS:[EBP-0x18]
            IMUL ECX,ECX,0x58
            MOV EDX,DWORD PTR SS:[EBP+0x8]
            LEA EAX,DWORD PTR DS:[EDX+ECX+0x8]
            PUSH EAX
            mov esi, 0x008C84F8
            call esi
            ADD ESP,0x0C
    
            mov esi, 0x004C9F88
            jmp esi
        }
    }
    
    void __declspec(naked) MapTest()
    {    
        _asm
        {
            //Original 00469039
            MOV DWORD PTR SS:[EBP-0xFC],79
            PUSH 0x00930068 //LorenMarket
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi
    
            //New Map 80
            MOV DWORD PTR SS:[EBP-0xFC],80
            PUSH 0x0095DB58 //Silent
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi   
    
            //New Map 59
            MOV DWORD PTR SS:[EBP-0xFC],59
            PUSH 0x0095DB58 //Silent
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi     
    
            //New Map 60
            MOV DWORD PTR SS:[EBP-0xFC],60
            PUSH 0x0095DB58 //Silent
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi   
    
            //New Map 61
            MOV DWORD PTR SS:[EBP-0xFC],61
            PUSH 0x0095DB58 //Silent
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 75
            MOV DWORD PTR SS:[EBP-0xFC],75
            PUSH 0x0095DB71 //Raklion
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 76
            MOV DWORD PTR SS:[EBP-0xFC],76
            PUSH 0x0095DB71 //Raklion
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 77
            MOV DWORD PTR SS:[EBP-0xFC],77
            PUSH 0x0095DB71 //Raklion
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 78
            MOV DWORD PTR SS:[EBP-0xFC],78
            PUSH 0x0095DB91 //Swamp
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi  
    
            //New Map 81
            MOV DWORD PTR SS:[EBP-0xFC],81
            PUSH 0x0095DB91 //Swamp
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 82
            MOV DWORD PTR SS:[EBP-0xFC],82
            PUSH 0x0095DB91 //Swamp
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 83
            MOV DWORD PTR SS:[EBP-0xFC],83
            PUSH 0x0095DBB2 //Vulcanus
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 84
            MOV DWORD PTR SS:[EBP-0xFC],84
            PUSH 0x0095DBB2 //Vulcanus
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 85
            MOV DWORD PTR SS:[EBP-0xFC],85
            PUSH 0x0095DBB2 //Vulcanus
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            //New Map 86
            MOV DWORD PTR SS:[EBP-0xFC],86
            PUSH 0x00930068 //LorenMarket
            LEA EDX,DWORD PTR SS:[EBP-0xFC]
            PUSH EDX
            MOV ECX,DWORD PTR SS:[EBP-0x100]
            ADD ECX,0x04
            mov esi, 0x00469530
            CALL esi
            MOV ECX,EAX
            mov esi, 0x00401C50
            call esi 
    
            mov esi, 0x00469064
            jmp esi;
        }
    }
    
    void Init()
    {
        DWORD OldProtect;
        LPVOID lpAddress = (LPVOID)0x00401000;
    
        if(VirtualProtect(lpAddress,5873152,PAGE_EXECUTE_READWRITE,&OldProtect))
        {        
                char MapN1[] = "Interface\\Silent.tga";
                memcpy((int*)0x0095DB58,(BYTE*)MapN1,sizeof(MapN1));
    
                char MapN2[] = "Interface\\Mapname_Raklion.tga";
                memcpy((int*)0x0095DB71,(BYTE*)MapN2,sizeof(MapN2));
    
                char MapN3[] = "Interface\\SwampOfCalmness.tga";
                memcpy((int*)0x0095DB91,(BYTE*)MapN3,sizeof(MapN3));
    
                char MapN4[] = "Interface\\pkfield.tga";
                memcpy((int*)0x0095DBB2,(BYTE*)MapN4,sizeof(MapN4));
    
                BYTE MapNew[] = { 0xFF, 0x25, 0x43, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x00469039,MapNew,sizeof(MapNew));
                *(unsigned int*)0x008F3F43 = (unsigned int)MapTest;
    
                BYTE MapNew40[] = { 0xFF, 0x25, 0x10, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x005D6C91,MapNew40,sizeof(MapNew40));
                *(unsigned int*)0x008F3F10 = (unsigned int)MapNews40;
    
                BYTE MapNewo40[] = { 0xFF, 0x25, 0x15, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008060BF,MapNewo40,sizeof(MapNewo40));
                *(unsigned int*)0x008F3F15 = (unsigned int)MapNewO40;
    
                BYTE MapNewNameS[] = { 0xFF, 0x25, 0x20, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x005BF1A6,MapNewNameS,sizeof(MapNewNameS));
                *(unsigned int*)0x008F3F20 = (unsigned int)MapNewNames;
    
                BYTE MapNewo57[] = { 0xFF, 0x25, 0x25, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x00822F4C,MapNewo57,sizeof(MapNewo57));
                *(unsigned int*)0x008F3F25 = (unsigned int)MapNew057;
    
                BYTE MapLimit[] = { 0xFF, 87, 0x0F };
                memcpy((int*)0x006039C6,MapLimit,sizeof(MapLimit));
    
                BYTE MapRaklion[] = { 0xFF, 0x25, 0x29, 0x3F, 0x8F, 0x00,0x00 };
                memcpy((int*)0x00606F7B,MapRaklion,sizeof(MapRaklion));
                *(unsigned int*)0x008F3F29 = (unsigned int)MapRaklionTele;    
    
                BYTE MapNewo56[] = { 0xFF, 0x25, 0xAA, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x0086A9CB,MapNewo56,sizeof(MapNewo56));
                *(unsigned int*)0x008F3FAA = (unsigned int)MapNewO56;
    
                BYTE Map56Fog[] = { 0xFF, 0x25, 0xAE, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x005990E6,Map56Fog,sizeof(Map56Fog));
                *(unsigned int*)0x008F3FAE = (unsigned int)MapSwampFog;
    
                BYTE MapNewo63[] = { 0xFF, 0x25, 0xB2, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x0081B9A0,MapNewo63,sizeof(MapNewo63));
                *(unsigned int*)0x008F3FB2 = (unsigned int)MapNewO63;
    
                BYTE RewardAdd[] = { 0xFF, 0x25, 0xBC, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008F3FB6,RewardAdd,sizeof(RewardAdd));
                *(unsigned int*)0x008F3FBC = (unsigned int)NewReward;
    
                //Quest rewards
                BYTE RewardCnt[] = { 0xFF, 0x14, 0x0F };
                memcpy((int*)0x00004C9DFD,RewardCnt,sizeof(RewardCnt));
    
                BYTE RewardAdd1[] = { 0xFF, 0x25, 0xC7, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008F3FC1,RewardAdd1,sizeof(RewardAdd1));
                *(unsigned int*)0x008F3FC7 = (unsigned int)NewReward1;
    
                BYTE RewardAdd2[] = { 0xFF, 0x25, 0xD2, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008F3FCC,RewardAdd2,sizeof(RewardAdd2));
                *(unsigned int*)0x008F3FD2 = (unsigned int)NewReward2;
    
                BYTE RewardAdd3[] = { 0xFF, 0x25, 0xDD, 0x3F, 0x8F, 0x00 };
                memcpy((int*)0x008F3FD7,RewardAdd3,sizeof(RewardAdd3));
                *(unsigned int*)0x008F3FDD = (unsigned int)NewReward3;
        }
        else
        {
            MessageBox(NULL,"wz_zm.dll failed to load.","Error",MB_OK);
            ::ExitProcess(0);
        }
    
    }
    
    bool APIENTRY DllMain(HINSTANCE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
    {
        switch(ul_reason_for_call)
        {
            case DLL_PROCESS_ATTACH:
                Init();
                break;
        }
        return true;
    }
    Credits: SmallHabit
    Main Version?

  13. #13
    Join our JOURNEY! MaskARRA is offline
    MemberRank
    Mar 2013 Join Date
    416Posts

    re: [Release] Arkania Map

    Awesomeeeee!

  14. #14
    Evolution Team Th3AnG3L is offline
    MemberRank
    Apr 2014 Join Date
    634Posts

    re: [Release] Arkania Map

    VeltonD, main version 1.03O ;p

  15. #15
    RZ's most loyal knight Dios is offline
    ModeratorRank
    Apr 2005 Join Date
    ArgentinaLocation
    5,238Posts

    re: [Release] Arkania Map

    Very, very nice! Congrats!



Page 1 of 4 1234 LastLast

Advertisement