Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×

Batibat

Bronze Member
  • Total de Posts

    102
  • Registro em

  • Última visita

  • Dias Ganhos

    2
  • WCoins

    229

Posts postados por Batibat

  1. 4 minutes ago, NadaMal- said:

    Well, as far as I know the toa code doesn't have this problem in buying skills or using it..

     

    But try to explain the error better, can you buy it and not use it, or both and such?

    Eu posso comprar a habilidade, quando eu a uso a animação mostra, mas a habilidade não causa dano ao inimigo

  2. A fonte é TOA, quando eu uso magia o erro que o TMSRV está dando é "party skill - skill:178586024 leader:1 tleader:8621 (null)"

     

    Quando eu uso o ataque físico, o TMSRV lê "etc,msg_attack attacker:1 name:xxxx target:8621 name:Gremlin dam:59 x:2175 y:2101..."

     

    Source : TOA 7.62

  3. The version that I experienced was called Supreme Destiny, I believe back in 2007. Supreme Destiny and W.Y.D. II are the same, but was very different from what I could remember. When the HardCore was first, implemented and it was killed there wasn't another chance outside of the Naiads. It went back to Mortal. Those patches came later on after my experience. We just have two different recollections. I just thought it would be a nice addition to the community as well.  

    • Curtir 2
  4. Bom Dia a todos. Eu tenho uma pergunta sobre o antigo contador na versão 6.13, se alguém tiver alguma luz sobre esse tópico, você pode me orientar nessa direção? 🙂

     

    EN: Hello everyone, I hate to be a bother. However, I really want to ask a question regarding any information on the old Frag Counter that existed in Version 6.13. I'd really love to be able to implement it now, I'm open to any and all light on this topic. Blessings to you all. 

     

    Example :

    É necessário se cadastrar para acessar o conteúdo.

    • Curtir 12
  5. É necessário se cadastrar para acessar o conteúdo.

     

     

    //The Mount Essence must also be altered to get the mount leveled from 0~240*

     

    _MSG_UseItem.cpp :

     

    if (Vol == 16)
        {
            char temp2[4096];
            if (m->DestType || m->DestPos != 14)
            {
                SendItem(a_iConn, m->SourType, m->SourPos, item);
                return;
            }

            STRUCT_ITEM *dest = &pMob[a_iConn].MOB.Equip[14];

            if (dest->sIndex < 2330 || dest->sIndex >= 2390 || dest->stEffect[0].sValue <= 0)
            {
                SendItem(a_iConn, m->SourType, m->SourPos, item);
                return;
            }

            int mountIndex = (dest->sIndex - 2330) % 30;
            int amgIndex = (item->sIndex - 2390) % 30;

            if (mountIndex == 28)
                mountIndex = 21;

            if (mountIndex == 27)
                mountIndex = 10;

            if (mountIndex != amgIndex)
            {
                SendClientMsg(a_iConn, g_pMessageStringTable[_NN_Mount_Not_Match]);
                SendItem(a_iConn, m->SourType, m->SourPos, item);
                return;
            }

            dest->stEffect[0].sValue = 20000;
            dest->stEffect[2].cEffect = 100;
            int level = dest->stEffect[1].cEffect;

            if (level >= 250 && dest->sIndex >= 2360 && dest->sIndex < 2390) // ***EDIT THIS HERE*** <---
            {
                SendClientMsg(a_iConn, g_pMessageStringTable[_NN_Cant_Upgrade_More]);
                SendItem(a_iConn, m->SourType, m->SourPos, item);
                ProcessAdultMount(a_iConn, 0);
                return;
            }

            if (dest->sIndex >= 2360 && dest->sIndex < 2390)
            {
                int rate = BASE_GetGrowthRate(dest);
                int _rand = rand() % 101;

                if (_rand > rate) // Refinação falhou
                {
                    int rand2 = rand() % 100;

                    if (rand2 < 20 && dest->stEffect[1].cEffect < 70)
                    {
                        dest->stEffect[1].cEffect--;
                    }

                    if (dest->stEffect[1].cEffect >= 70 && dest->stEffect[1].cEffect % 2 != 0)
                    {
                        if (rand2 < 50)
                        {
                            dest->stEffect[1].cEffect--;
                        }
                    }

                    if (pMob[a_iConn].MOB.Equip[0].sIndex / 10)
                        SendEmotion(a_iConn, 15, 0);
                    else
                        SendEmotion(a_iConn, 20, 0);

                    if (amount > 1)
                        BASE_SetItemAmount(item, amount - 1);

                    else
                        memset(item, 0, 8);

                    sprintf(temp, "%s", g_pMessageStringTable[_NN_Fail_To_Refine]);
                    SendClientMsg(a_iConn, temp);

                    SendItem(a_iConn, m->DestType, m->DestPos, dest);

                    ProcessAdultMount(a_iConn, 0);
                    return;
                }

                else
                {
                    printf(temp, "useitem,mount refine success %d+%d (%d,%d,%d)", dest->sIndex, dest->stEffect[1].cValue,
                        item->stEffect[0].cEffect, item->stEffect[1].cEffect, item->stEffect[2].cEffect);
                    SendClientMsg(a_iConn, "Mount level has risen!");
                    SendEmotion(a_iConn, 14, 3);

                    MyLog(LogType::Itens, pMob[a_iConn].MOB.MobName, temp, 0, pUser[a_iConn].IP);
                }
            }

     

    //Please Enjoy

    • Curtir 39
    • Haha 1
  6. For "Summ" to work properly just go to :

     

    Basedef.h :

     

    struct STRUCT_MOBExtra
    {
        short ClassMaster;
        char  Citizen;

        long  SecLearnedSkill;

        int      Fame;

        char  Soul;

        short MortalFace;

        struct
        {
            struct
            {
                char Newbie;
                char TerraMistica;
                char MolarGargula;
                char PilulaOrc;
                char Trainng;
                char Light;
                char Summ; // ADD THIS LINE HERE!!!!
                char EMPTY[30];

            }Mortal;

    &

     

    //Create an item with the EF_VOLITILE set to 99

     

    _MSG_Use_Item.cpp :

     

    if (Vol == 99)
            {
                int x = pMob[a_iConn].Extra.QuestInfo.Mortal.Summ;

                for (x = pMob[a_iConn].Extra.QuestInfo.Mortal.Summ; x < 2; ++x)
                {

                    if (pMob[a_iConn].Extra.QuestInfo.Mortal.Summ > 2)
                    {
                        SendItem(a_iConn, m->SourType, m->SourPos, item);
                        return;
                    }

                    else

                        pMob[a_iConn].Extra.QuestInfo.Mortal.Summ = ++x;
                    SendClientMsg(a_iConn, "Summoning Enlightenment Attained");
                    SendEmotion(a_iConn, 14, 3);
                    SendEtc(a_iConn);

                    if (amount > 1)
                        BASE_SetItemAmount(item, amount - 1);

                    else
                        memset(item, 0, sizeof(STRUCT_ITEM));

                    CharLogOut(a_iConn);

                }


                sprintf(temp, "useitem, Max Summon");
                MyLog(LogType::Itens, pMob[a_iConn].MOB.MobName, temp, 0, pUser[a_iConn].IP);
                return;


            }

     

    //After the item is made and compiled, right click the item that you set to "EF_VOLITILE 99"

     

    Example

     

    "3268,Cupom_da_Sorte,2711.0,0.0.0.0.0,0,10000,0,0,0,EF_CLASS,255,EF_VOLATILE,99,EF_QUEST,1"

     

    and then you can summon two Condors, if the item is right clicked again you may summon 3 Condors

     

     

  7. _MSG_Attack.cpp:

     

    if (instancevalue == 1 || instancevalue == 2)
                            summons = 1 + pMob[a_iConn].Extra.QuestInfo.Mortal.Summ;

     

    //This made it where 3 of each type of summon can be evoked but it is bugged after 20 summons (4 don't follow)

     

    _MSG_UseItem.cpp : 

     

    if (Vol == 99)
            {
                int x = pMob[a_iConn].Extra.QuestInfo.Mortal.Summ;

                for (x = pMob[a_iConn].Extra.QuestInfo.Mortal.Summ; x < 2; ++x)
                {

                    if (pMob[a_iConn].Extra.QuestInfo.Mortal.Summ > 2)
                    {
                        SendItem(a_iConn, m->SourType, m->SourPos, item);
                        return;
                    }

                    else

                        pMob[a_iConn].Extra.QuestInfo.Mortal.Summ = ++x;
                    SendClientMsg(a_iConn, "Summoning Enlightenment Attained");
                    SendEmotion(a_iConn, 14, 3);
                    SendEtc(a_iConn);

                    if (amount > 1)
                        BASE_SetItemAmount(item, amount - 1);

                    else
                        memset(item, 0, sizeof(STRUCT_ITEM));

                    CharLogOut(a_iConn);

                }


                sprintf(temp, "useitem, Max Summon");
                MyLog(LogType::Itens, pMob[a_iConn].MOB.MobName, temp, 0, pUser[a_iConn].IP);
                return;


            }

     

    É necessário se cadastrar para acessar o conteúdo.

    • Curtir 7
    • Haha 1
  8. Server.cpp :

     

    Remove this...

     

    //for (int k = 0; k < MAX_SUMMONLIST; k++)
            //{
                //if (pMob[partyconn].MOB.Equip[0].sIndex == mSummon.Mob[k].Equip[0].sIndex && mSummon.Mob[k].Equip[0].sIndex != sFace)
                //{
                    //SendClientMsg(conn, g_pMessageStringTable[_NN_Party_Full_Cant_Summon]);
                    //return 0;
                //}
            //}

     

    &

     

    _MSG_Attack.cpp :

     

    else if (InstanceType == 11)
                {

                    int instancevalue = g_pSpell[skillnum].InstanceValue;

                    if (instancevalue >= 1 && instancevalue <= 50)
                    {
                        int summons = 0;

                        if (instancevalue == 1 || instancevalue == 2)
                            summons = 1;

                        else if (instancevalue == 3 || instancevalue == 4 || instancevalue == 5)
                            summons = 1;

                        else if (instancevalue == 6 || instancevalue == 7)
                            summons = 1;

                        else if (instancevalue == 😎
                            summons = 1;

                        if (GenerateSummon(a_iConn, instancevalue - 1, 0, summons) == 0)
                        {
                            pMob[a_iConn].MOB.CurrentScore.Mp = Mp;
                            //pUser[a_iConn].ReqMp = ReqMp;
                        }
                    }
                    dam = 0;
                }

  9. Olá, espero que esteja tudo bem

     

    Screenshot:

    É necessário se cadastrar para acessar o conteúdo.

     

    Eu pesquisei sobre esse tópico e adicionei seu gancho e estudei..

     

    __declspec(naked) void HookNaked::NKD_NewEffectTraje2()
    {
        __asm
        {
            MOV ECX, DWORD PTR SS : [EBP - 0x18]
            MOVSX   EDX, WORD PTR[ECX + 0A60h]
            PUSH EDX
            CALL NewEffectTraje2
            PUSH 0x519E46
            RETN

        }
    }

     

    //***Também tentei***

     

    __declspec(naked) void HookNaked::NKD_noSancID() // if you don't add the ID here the mount is shiny for others
    {
        _asm
        {
            CMP DWORD PTR SS : [EBP - 0x8] , 3503 //Adicionar HardCore
            JE correto
            CMP DWORD PTR SS : [EBP - 0x8] , 3990
            JE correto
            CMP DWORD PTR SS : [EBP - 0x8] , 3994
            JE correto
            CMP DWORD PTR SS : [EBP - 0x8] , 3999
            JE correto
            CMP DWORD PTR SS : [EBP - 0x8] , 3993
            JE correto
            CMP DWORD PTR SS : [EBP - 0x64] , 3996 //CMP DWORD PTR SS : [EBP - 0x8], 3996
            JE correto
            PUSH 0x50C779
            RETN

            correto :
            MOV ECX, DWORD PTR SS : [EBP - 0x28]
                MOV BYTE PTR DS : [ECX + 0x148] , 0
                MOV ECX, DWORD PTR SS : [EBP - 0x28]
                MOV BYTE PTR DS : [ECX + 0x147] , 0
                MOV EDX, DWORD PTR SS : [EBP - 0x28]
                MOV BYTE PTR DS : [EDX + 0x146] , 0
                PUSH 0x50C779
                RETN

        }
    }

     

    //Você tem alguma luz?

     

     

    • Curtir 3
  10. Oi! Como estão todos? Eu tenho uma pergunta sobre fazer o "Hardcore" brilhar. Item número 3503~3506. Se você puder lançar alguma luz sobre este tópico que seria incrível, obrigado. Tenha um dia maravilhoso.

     

    EN : I'm trying to make the "Hardcore" costume show a refinement in game, item numbers 3503 thru 3506. If you have any knowledge in this area it will be appreciated greatly, thanks in advance.

     

    Source : w2pp TOA 7.62 

  11. Eu adicionei 50 níveis e experiência "g_pNextLevel [MAX_LEVEL + 52] = ..." em Basedef.cpp e Basedef.h, compilado. Meu nível 406 ainda não morrerá

     

    EN: I added 50 levels in the Basedef.cpp & Basedef.h with extra experience slots, compiled, switched the the new TMSrv and I logged my level 406 BeastMaster to fight DarkShadow solo and the character gets hit for 13,000 and doesn't die with 945 HP :(

     

     

    • Triste 1
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.