OnCoderS

Sources e os melhores coders de jogos da atualidade estão aqui. MuOnline, Lineage II, FlyFF, AION, Ragnarok, GunBound, entre outros. Não deixe de conferir e aprender. -Variedades Infinitas de Programações como : C++, C#, ASM, PHP entre outros.


    [C++] MiniMap Source

    Compartilhe
    avatar
    Motto
    Fundador
    Fundador

    Mensagens : 37
    Data de inscrição : 30/08/2009
    Idade : 24
    Localização : Piracicaba

    [C++] MiniMap Source

    Mensagem  Motto em Dom Ago 30, 2009 11:23 am

    MiniMap.cpp


    Código:
    // #############################
    // ## Create By [CzF]Leo123
    // ## MiniMap.cpp
    // ## Street-Mu DLL          
    // ## For: Street-Mu Server   
    // ## Version: 1.0
    // ## www.Street-Mu.com
    // #############################

    int IsMiniMap;
    int LastMapInUse=-1;

    class MiniMap
    {
    public:
        static void Init()
        {
            // Create easy control :D
          _asm
            {
                Mov Eax,0049CC90H
                Mov Byte Ptr Ds:[Eax],0xFF
                Mov Byte Ptr Ds:[Eax+1],0x25
                Mov Byte Ptr Ds:[Eax+2],0x9D
                Mov Byte Ptr Ds:[Eax+3],0x4F
                Mov Byte Ptr Ds:[Eax+4],0x75
                Mov Byte Ptr Ds:[Eax+5],0x00
            }
        }
        static int LoadMap()
        {
            int map = functions::manual_functions::GetMap();
            char FullMapName[200];
            sprintf(FullMapName,"World%d\\map1.jpg",map+1);
            LoadImageJgpForMap(FullMapName,0x780);
            functions::local_functions::StdOut("lodeded %s map with id %d \n",functions::local_functions::GetMapName(map),map);
            return map;
        }
        static void LoadImageJgpForMap(char* ImagePatch,DWORD PrintCode)
                {
                    _asm
                    {
                        Mov Edi,Main_LoadImageOzt
                        Push 0x1
                        Push 0x00
                        Push 0x2900
                        Push 0x2601
                        Push PrintCode
                     Push ImagePatch
                        Call Edi
                     Add Esp, 0x18
                    }
          }
        static int MapCheckerCore(int map)
        {
          switch(map)
          {
            case 0:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 0)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
                }
                break;
            case 1:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 1)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
                }
                break;
            case 2:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 2)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
                }
                break;
            case 3:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 3)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
                }
                break;
                case 4:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 4)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
                }
                break;
                case 6:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 6)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
       }
                break;
                case 7:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 7)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
       }
                break;
                case 8:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 8)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
       }
                break;
                case 10:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 10)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
                }
                break;
                case 24:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 24)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
                }
                break;
                case 30:// VallryOfLoren
                LastMapInUse = 30;
                return 1;
                case 31:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 31)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
                }
                break;
                case 33:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 33)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
                }
                break;
                case 34:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 34)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
                }
                break;
                case 37:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 37)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
                }
                break;
                case 38:
                if(IsMiniMap == 1)
                {
                    if(LastMapInUse != 38)
                    {
                        LastMapInUse = LoadMap();
                    }
                    return 1;
                }
                break;
                }
            return 0;
        }
    };


    Creditos:
    [CzF]Leo123
    avatar
    savarro
    Super-Moderador
    Super-Moderador

    Mensagens : 33
    Data de inscrição : 07/09/2009
    Idade : 22
    Localização : Francisco Beltrão - Paraná - Brasil

    BOa

    Mensagem  savarro em Ter Set 08, 2009 2:59 pm

    Otima Source... eu ate tenho uma um pouco mais Complexa e 1 poko melhor...

    feito por um amigo meu de outro Forum ( nao vou citar quem e o forum tbm nao )

    que é mais Utel.. mais essa é perfeita para ser usada..

    e claro nao encontrase em problemas..

    so presisa dar HOOK na DLL e claro clicar um Ini,...

    par afuncionar sem nenhum Problema

      Data/hora atual: Sex Jun 22, 2018 7:14 pm