Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
  • 0

resolvido REPLATIONS NÃO ESTÃO FUNCIONANDO NO MEU SERVER (CLASS A, B, C, D, E) AJUDA POR FAVOR


snow77
 Compartilhar

Pergunta

Quando uso os itens citados acima não acontece nada vou compartilhar o código da source. se alguem puder ajudar, tem alguns lugares que o código está comentado, não sei se é para tirar o comentário.

 

#pragma region Classe A
    //if(Vol == 190){
    if (item->sIndex == 4016)
    {

        STRUCT_ITEM *dest = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestType, m->DestPos);

        if (dest == NULL)
        {
            sprintf(temp, "err,use item fail dest %d %d", m->DestType, m->DestPos);
            ItemLog(temp, "-system", 0);
            return;
        }

        if (m->DestType || m->DestPos >= 8 && m->DestPos < 18 || m->DestType == ITEM_PLACE_EQUIP && m->DestPos == 0 || m->DestType == ITEM_PLACE_EQUIP && m->DestPos == 1)
        {
            SendClientMessage(conn, "only possible with equipped weapons and armor");
            SendItem(conn, m->SourType, m->SourPos, item);
        return;
        }

        int sanc = BASE_GetItemSanc(dest);
        int ItemId = dest->sIndex;

        // THIS FUCK SHIT NOT EFFECT haiss.
        // BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 0 &&  zero. mean item dont have REFLEVEL WILL NOT EFFECT
        //BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 1 && grade [A] replation  in item List common file REFLEVEL,1
        // BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 2 && grade replation  in item List common file REFLEVEL,2
        // BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 3 && grade [C] replation  in item List common file REFLEVEL,3
        // BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 4 && grade [D] replation  in item List common file REFLEVEL,4
        //BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 5 && grade [E] replation  in item List common file REFLEVEL,5
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 6 grade [E] replation  in item List common file REFLEVEL,6

    if (sanc < 2 || BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 0 && BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 1 && BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 2
        && BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 3 && BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 4 && BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 5 && BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 6)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
        return;
    }

        // the basic
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 0 &&
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 1 && god
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 2 && set E
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 3 &&  celes,unique
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 4

        //the edit

        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 10 && grade [A] replation  in item List common file EF_MOBTYPE,10
        // BASE_GetItemAbility(dest, EF_MOBTYPE) != 11 && grade replation  in item List common file EF_MOBTYPE,11
        // BASE_GetItemAbility(dest, EF_MOBTYPE) != 12 && grade [C] replation  in item List common file EF_MOBTYPE,12
        // BASE_GetItemAbility(dest, EF_MOBTYPE) != 13 && grade [D] replation  in item List common file EF_MOBTYPE,13
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 14 && grade [E] replation  in item List common file EF_MOBTYPE,14

 

        if (sanc < 2 || BASE_GetItemAbility(dest, EF_MOBTYPE) != 10 && BASE_GetItemAbility(dest, EF_MOBTYPE) != 2)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

        //1103, Elmo_de_Couro(A), 1.0, 0.0.0.0.0, 1, 1650, 2, 0, 3, 0, 0, EF_CLASS, 1, EF_AC, 4, EF_SAVEMANA, 2, EF_MPADD, 4, EF_REFLEVEL, 1, EF_MOBTYPE, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
        //1106, Elmo_de_Couro_Duro(A), 2.0, 0.0.0.0.0, 2, 9300, 2, 0, 3, 0, 0, EF_CLASS, 1, EF_AC, 11, EF_SAVEMANA, 3, EF_MPADD, 5, EF_REFLEVEL, 1, EF_MOBTYPE, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
        //1109,Elmo_de_Couro_Batido(A),3.0,32.46.0.0.32,3,21000,2,0,3,0,0,EF_CLASS,1,EF_AC,22,EF_SAVEMANA,4,EF_MPADD,6,EF_REFLEVEL,2,EF_MOBTYPE,11,0,0,0,0,0,0,0,0,0,0,0,0
        //1112,Elmo_de_Malha(A),4.0,32.46.0.0.32,4,98000,2,0,3,0,0,EF_CLASS,1,EF_AC,37,EF_SAVEMANA,5,EF_MPADD,7,EF_REFLEVEL,2,EF_MOBTYPE,11,0,0,0,0,0,0,0,0,0,0,0,0
        //1163,Elmo_de_Aço(A),9.0,95.150.0.0.101,5,123000,2,2171,3,0,0,EF_CLASS,1,EF_AC,51,EF_SAVEMANA,6,EF_MPADD,8,EF_REFLEVEL,3,EF_MOBTYPE,12,0,0,0,0,0,0,0,0,0,0,0,0
        //1178,Elmo_Dourado(A),10.0,95.150.0.0.101,6,125000,2,2176,3,0,0,EF_CLASS,1,EF_AC,65,EF_SAVEMANA,7,EF_MPADD,9,EF_REFLEVEL,3,EF_MOBTYPE,12,0,0,0,0,0,0,0,0,0,0,0,0
        //1193,Elmo_Anão(A),11.0,135.210.0.0.141,7,135000,2,2181,3,0,0,EF_CLASS,1,EF_AC,79,EF_SAVEMANA,8,EF_MPADD,10,EF_REFLEVEL,4,EF_MOBTYPE,13,0,0,0,0,0,0,0,0,0,0,0,0
        //1208,Elmo_Embutido(A),14.0,154.239.0.0.160,8,145000,2,2186,3,0,0,EF_CLASS,1,EF_AC,92,EF_SAVEMANA,9,EF_MPADD,10,EF_REFLEVEL,4,EF_MOBTYPE,13,0,0,0,0,0,0,0,0,0,0,0,0
        //1225,Elmo_Mortal,19.0,285.0.0.0.0,10,160000,2,3801,1,0,0,EF_CLASS,1,EF_AC,108,EF_SAVEMANA,10,EF_MPADD,10,EF_REFLEVEL,5,EF_MOBTYPE,14,0,0,0,0,0,0,0,0,0,0,0,0
        //1365,Tunica_Potâmides,45.0,227.0.0.0.0, 19,178000,4,2207,1,0,0,EF_CLASS,2,EF_AC,229,EF_CRITICAL,45,EF_HPADD,17,EF_REFLEVEL,5,EF_MOBTYPE,14,EF_LWORDGUILD,12,0,0,0,0,0,0,0,0,0,0

        int replation = item->sIndex >= 4016 && item->sIndex <= 4020 ? item->sIndex - 4016 : item->sIndex - 4020;


        if(BASE_GetItemAbility(dest, EF_ITEMLEVEL) != replation)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

        SetItemBonus2(dest);
        SendItem(conn, m->DestType, m->DestPos, dest);
        SendEmotion(conn, 14, 3);

        sprintf(temp, "useitem,reset effect %d+%d - (%d,%d,%d)", dest->sIndex, sanc, dest->stEffect[0].cEffect, dest->stEffect[1].cEffect, dest->stEffect[2].cEffect);
        ItemLog(temp, pUser[conn].AccountName, pUser[conn].IP);

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

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

        return;
    }
#pragma endregion
#pragma region Classe B
    //if(Vol == 190) /// remark dulu.//
    if (item->sIndex == 4017)
    {

        STRUCT_ITEM *dest = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestType, m->DestPos);

        if (dest == NULL)
        {
            sprintf(temp, "err,use item fail dest %d %d", m->DestType, m->DestPos);
            ItemLog(temp, "-system", 0);
            return;
        }

 

        int sanc = BASE_GetItemSanc(dest);
        int ItemId = dest->sIndex;

 


        if (sanc < 2 || BASE_GetItemAbility(dest, EF_MOBTYPE) != 11 && BASE_GetItemAbility(dest, EF_MOBTYPE) != 2)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

 

        SetItemBonus2(dest);
        SendItem(conn, m->DestType, m->DestPos, dest);
        SendEmotion(conn, 14, 3);

        sprintf(temp, "useitem,reset effect %d+%d - (%d,%d,%d)", dest->sIndex, sanc, dest->stEffect[0].cEffect, dest->stEffect[1].cEffect, dest->stEffect[2].cEffect);
        ItemLog(temp, pUser[conn].AccountName, pUser[conn].IP);

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

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

        return;
    }
#pragma endregion
#pragma region Classe C
    //if(Vol == 190) /// remark dulu.//
    if (item->sIndex == 4018)
    {

        STRUCT_ITEM *dest = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestType, m->DestPos);

        if (dest == NULL)
        {
            sprintf(temp, "err,use item fail dest %d %d", m->DestType, m->DestPos);
            ItemLog(temp, "-system", 0);
            return;
        }

 

        int sanc = BASE_GetItemSanc(dest);
        int ItemId = dest->sIndex;

 


        if (sanc < 2 || BASE_GetItemAbility(dest, EF_MOBTYPE) != 12 && BASE_GetItemAbility(dest, EF_MOBTYPE) != 2)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

 

        SetItemBonus2(dest);
        SendItem(conn, m->DestType, m->DestPos, dest);
        SendEmotion(conn, 14, 3);

        sprintf(temp, "useitem,reset effect %d+%d - (%d,%d,%d)", dest->sIndex, sanc, dest->stEffect[0].cEffect, dest->stEffect[1].cEffect, dest->stEffect[2].cEffect);
        ItemLog(temp, pUser[conn].AccountName, pUser[conn].IP);

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

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

        return;
    }
#pragma endregion
#pragma region Classe D
    //if(Vol == 190) /// remark dulu.//
    if (item->sIndex == 4019)
    {

        STRUCT_ITEM *dest = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestType, m->DestPos);

        if (dest == NULL)
        {
            sprintf(temp, "err,use item fail dest %d %d", m->DestType, m->DestPos);
            ItemLog(temp, "-system", 0);
            return;
        }

 

        int sanc = BASE_GetItemSanc(dest);
        int ItemId = dest->sIndex;

 


        if (sanc < 2 || BASE_GetItemAbility(dest, EF_MOBTYPE) != 13 && BASE_GetItemAbility(dest, EF_MOBTYPE) != 2)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

 

        SetItemBonus2(dest);
        SendItem(conn, m->DestType, m->DestPos, dest);
        SendEmotion(conn, 14, 3);

        sprintf(temp, "useitem,reset effect %d+%d - (%d,%d,%d)", dest->sIndex, sanc, dest->stEffect[0].cEffect, dest->stEffect[1].cEffect, dest->stEffect[2].cEffect);
        ItemLog(temp, pUser[conn].AccountName, pUser[conn].IP);

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

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

        return;
    }
#pragma endregion
#pragma region Classe E
    //if(Vol == 190) /// remark dulu.//
    if (item->sIndex == 4020)
    {

        STRUCT_ITEM *dest = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestType, m->DestPos);

        if (dest == NULL)
        {
            sprintf(temp, "err,use item fail dest %d %d", m->DestType, m->DestPos);
            ItemLog(temp, "-system", 0);
            return;
        }

 

        int sanc = BASE_GetItemSanc(dest);
        int ItemId = dest->sIndex;

 


        if (sanc < 2 || BASE_GetItemAbility(dest, EF_MOBTYPE) != 14 && BASE_GetItemAbility(dest, EF_MOBTYPE) != 2)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

 

        SetItemBonus2(dest);
        SendItem(conn, m->DestType, m->DestPos, dest);
        SendEmotion(conn, 14, 3);

        sprintf(temp, "useitem,reset effect %d+%d - (%d,%d,%d)", dest->sIndex, sanc, dest->stEffect[0].cEffect, dest->stEffect[1].cEffect, dest->stEffect[2].cEffect);
        ItemLog(temp, pUser[conn].AccountName, pUser[conn].IP);

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

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

        return;
    }
#pragma endregion

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Peço que utilize esse codigo abaixo do replation, esta correto e com as verificações padrões.

Tem que adaptar ao seu codigo.

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

 

  • Curtir 22

A vida lhe dar desafios, entre esses uns longos mas nada que tome todo o seu tempo. - Klaus

giphy.gif

 

tgtceqV.png v3hpfp6.png yKSRniq.png f3uQKY9.png behVjSE.png zekazca.png f3uQKY9.png AHFoSmc.png BRzGtem.png behVjSE.png  tkeNAmv.png behVjSE.png

Link para o comentário
Compartilhar em outros sites

  • 0
13 horas atrás, snow77 disse:

Quando uso os itens citados acima não acontece nada vou compartilhar o código da source. se alguem puder ajudar, tem alguns lugares que o código está comentado, não sei se é para tirar o comentário.

 

#pragma region Classe A
    //if(Vol == 190){
    if (item->sIndex == 4016)
    {

        STRUCT_ITEM *dest = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestType, m->DestPos);

        if (dest == NULL)
        {
            sprintf(temp, "err,use item fail dest %d %d", m->DestType, m->DestPos);
            ItemLog(temp, "-system", 0);
            return;
        }

        if (m->DestType || m->DestPos >= 8 && m->DestPos < 18 || m->DestType == ITEM_PLACE_EQUIP && m->DestPos == 0 || m->DestType == ITEM_PLACE_EQUIP && m->DestPos == 1)
        {
            SendClientMessage(conn, "only possible with equipped weapons and armor");
            SendItem(conn, m->SourType, m->SourPos, item);
        return;
        }

        int sanc = BASE_GetItemSanc(dest);
        int ItemId = dest->sIndex;

        // THIS FUCK SHIT NOT EFFECT haiss.
        // BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 0 &&  zero. mean item dont have REFLEVEL WILL NOT EFFECT
        //BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 1 && grade [A] replation  in item List common file REFLEVEL,1
        // BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 2 && grade replation  in item List common file REFLEVEL,2
        // BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 3 && grade [C] replation  in item List common file REFLEVEL,3
        // BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 4 && grade [D] replation  in item List common file REFLEVEL,4
        //BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 5 && grade [E] replation  in item List common file REFLEVEL,5
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 6 grade [E] replation  in item List common file REFLEVEL,6

    if (sanc < 2 || BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 0 && BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 1 && BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 2
        && BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 3 && BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 4 && BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 5 && BASE_GetItemAbility(dest, EF_ITEMLEVEL) != 6)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
        return;
    }

        // the basic
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 0 &&
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 1 && god
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 2 && set E
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 3 &&  celes,unique
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 4

        //the edit

        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 10 && grade [A] replation  in item List common file EF_MOBTYPE,10
        // BASE_GetItemAbility(dest, EF_MOBTYPE) != 11 && grade replation  in item List common file EF_MOBTYPE,11
        // BASE_GetItemAbility(dest, EF_MOBTYPE) != 12 && grade [C] replation  in item List common file EF_MOBTYPE,12
        // BASE_GetItemAbility(dest, EF_MOBTYPE) != 13 && grade [D] replation  in item List common file EF_MOBTYPE,13
        //BASE_GetItemAbility(dest, EF_MOBTYPE) != 14 && grade [E] replation  in item List common file EF_MOBTYPE,14

 

        if (sanc < 2 || BASE_GetItemAbility(dest, EF_MOBTYPE) != 10 && BASE_GetItemAbility(dest, EF_MOBTYPE) != 2)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

        //1103, Elmo_de_Couro(A), 1.0, 0.0.0.0.0, 1, 1650, 2, 0, 3, 0, 0, EF_CLASS, 1, EF_AC, 4, EF_SAVEMANA, 2, EF_MPADD, 4, EF_REFLEVEL, 1, EF_MOBTYPE, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
        //1106, Elmo_de_Couro_Duro(A), 2.0, 0.0.0.0.0, 2, 9300, 2, 0, 3, 0, 0, EF_CLASS, 1, EF_AC, 11, EF_SAVEMANA, 3, EF_MPADD, 5, EF_REFLEVEL, 1, EF_MOBTYPE, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
        //1109,Elmo_de_Couro_Batido(A),3.0,32.46.0.0.32,3,21000,2,0,3,0,0,EF_CLASS,1,EF_AC,22,EF_SAVEMANA,4,EF_MPADD,6,EF_REFLEVEL,2,EF_MOBTYPE,11,0,0,0,0,0,0,0,0,0,0,0,0
        //1112,Elmo_de_Malha(A),4.0,32.46.0.0.32,4,98000,2,0,3,0,0,EF_CLASS,1,EF_AC,37,EF_SAVEMANA,5,EF_MPADD,7,EF_REFLEVEL,2,EF_MOBTYPE,11,0,0,0,0,0,0,0,0,0,0,0,0
        //1163,Elmo_de_Aço(A),9.0,95.150.0.0.101,5,123000,2,2171,3,0,0,EF_CLASS,1,EF_AC,51,EF_SAVEMANA,6,EF_MPADD,8,EF_REFLEVEL,3,EF_MOBTYPE,12,0,0,0,0,0,0,0,0,0,0,0,0
        //1178,Elmo_Dourado(A),10.0,95.150.0.0.101,6,125000,2,2176,3,0,0,EF_CLASS,1,EF_AC,65,EF_SAVEMANA,7,EF_MPADD,9,EF_REFLEVEL,3,EF_MOBTYPE,12,0,0,0,0,0,0,0,0,0,0,0,0
        //1193,Elmo_Anão(A),11.0,135.210.0.0.141,7,135000,2,2181,3,0,0,EF_CLASS,1,EF_AC,79,EF_SAVEMANA,8,EF_MPADD,10,EF_REFLEVEL,4,EF_MOBTYPE,13,0,0,0,0,0,0,0,0,0,0,0,0
        //1208,Elmo_Embutido(A),14.0,154.239.0.0.160,8,145000,2,2186,3,0,0,EF_CLASS,1,EF_AC,92,EF_SAVEMANA,9,EF_MPADD,10,EF_REFLEVEL,4,EF_MOBTYPE,13,0,0,0,0,0,0,0,0,0,0,0,0
        //1225,Elmo_Mortal,19.0,285.0.0.0.0,10,160000,2,3801,1,0,0,EF_CLASS,1,EF_AC,108,EF_SAVEMANA,10,EF_MPADD,10,EF_REFLEVEL,5,EF_MOBTYPE,14,0,0,0,0,0,0,0,0,0,0,0,0
        //1365,Tunica_Potâmides,45.0,227.0.0.0.0, 19,178000,4,2207,1,0,0,EF_CLASS,2,EF_AC,229,EF_CRITICAL,45,EF_HPADD,17,EF_REFLEVEL,5,EF_MOBTYPE,14,EF_LWORDGUILD,12,0,0,0,0,0,0,0,0,0,0

        int replation = item->sIndex >= 4016 && item->sIndex <= 4020 ? item->sIndex - 4016 : item->sIndex - 4020;


        if(BASE_GetItemAbility(dest, EF_ITEMLEVEL) != replation)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

        SetItemBonus2(dest);
        SendItem(conn, m->DestType, m->DestPos, dest);
        SendEmotion(conn, 14, 3);

        sprintf(temp, "useitem,reset effect %d+%d - (%d,%d,%d)", dest->sIndex, sanc, dest->stEffect[0].cEffect, dest->stEffect[1].cEffect, dest->stEffect[2].cEffect);
        ItemLog(temp, pUser[conn].AccountName, pUser[conn].IP);

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

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

        return;
    }
#pragma endregion
#pragma region Classe B
    //if(Vol == 190) /// remark dulu.//
    if (item->sIndex == 4017)
    {

        STRUCT_ITEM *dest = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestType, m->DestPos);

        if (dest == NULL)
        {
            sprintf(temp, "err,use item fail dest %d %d", m->DestType, m->DestPos);
            ItemLog(temp, "-system", 0);
            return;
        }

 

        int sanc = BASE_GetItemSanc(dest);
        int ItemId = dest->sIndex;

 


        if (sanc < 2 || BASE_GetItemAbility(dest, EF_MOBTYPE) != 11 && BASE_GetItemAbility(dest, EF_MOBTYPE) != 2)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

 

        SetItemBonus2(dest);
        SendItem(conn, m->DestType, m->DestPos, dest);
        SendEmotion(conn, 14, 3);

        sprintf(temp, "useitem,reset effect %d+%d - (%d,%d,%d)", dest->sIndex, sanc, dest->stEffect[0].cEffect, dest->stEffect[1].cEffect, dest->stEffect[2].cEffect);
        ItemLog(temp, pUser[conn].AccountName, pUser[conn].IP);

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

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

        return;
    }
#pragma endregion
#pragma region Classe C
    //if(Vol == 190) /// remark dulu.//
    if (item->sIndex == 4018)
    {

        STRUCT_ITEM *dest = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestType, m->DestPos);

        if (dest == NULL)
        {
            sprintf(temp, "err,use item fail dest %d %d", m->DestType, m->DestPos);
            ItemLog(temp, "-system", 0);
            return;
        }

 

        int sanc = BASE_GetItemSanc(dest);
        int ItemId = dest->sIndex;

 


        if (sanc < 2 || BASE_GetItemAbility(dest, EF_MOBTYPE) != 12 && BASE_GetItemAbility(dest, EF_MOBTYPE) != 2)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

 

        SetItemBonus2(dest);
        SendItem(conn, m->DestType, m->DestPos, dest);
        SendEmotion(conn, 14, 3);

        sprintf(temp, "useitem,reset effect %d+%d - (%d,%d,%d)", dest->sIndex, sanc, dest->stEffect[0].cEffect, dest->stEffect[1].cEffect, dest->stEffect[2].cEffect);
        ItemLog(temp, pUser[conn].AccountName, pUser[conn].IP);

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

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

        return;
    }
#pragma endregion
#pragma region Classe D
    //if(Vol == 190) /// remark dulu.//
    if (item->sIndex == 4019)
    {

        STRUCT_ITEM *dest = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestType, m->DestPos);

        if (dest == NULL)
        {
            sprintf(temp, "err,use item fail dest %d %d", m->DestType, m->DestPos);
            ItemLog(temp, "-system", 0);
            return;
        }

 

        int sanc = BASE_GetItemSanc(dest);
        int ItemId = dest->sIndex;

 


        if (sanc < 2 || BASE_GetItemAbility(dest, EF_MOBTYPE) != 13 && BASE_GetItemAbility(dest, EF_MOBTYPE) != 2)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

 

        SetItemBonus2(dest);
        SendItem(conn, m->DestType, m->DestPos, dest);
        SendEmotion(conn, 14, 3);

        sprintf(temp, "useitem,reset effect %d+%d - (%d,%d,%d)", dest->sIndex, sanc, dest->stEffect[0].cEffect, dest->stEffect[1].cEffect, dest->stEffect[2].cEffect);
        ItemLog(temp, pUser[conn].AccountName, pUser[conn].IP);

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

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

        return;
    }
#pragma endregion
#pragma region Classe E
    //if(Vol == 190) /// remark dulu.//
    if (item->sIndex == 4020)
    {

        STRUCT_ITEM *dest = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestType, m->DestPos);

        if (dest == NULL)
        {
            sprintf(temp, "err,use item fail dest %d %d", m->DestType, m->DestPos);
            ItemLog(temp, "-system", 0);
            return;
        }

 

        int sanc = BASE_GetItemSanc(dest);
        int ItemId = dest->sIndex;

 


        if (sanc < 2 || BASE_GetItemAbility(dest, EF_MOBTYPE) != 14 && BASE_GetItemAbility(dest, EF_MOBTYPE) != 2)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

 

        SetItemBonus2(dest);
        SendItem(conn, m->DestType, m->DestPos, dest);
        SendEmotion(conn, 14, 3);

        sprintf(temp, "useitem,reset effect %d+%d - (%d,%d,%d)", dest->sIndex, sanc, dest->stEffect[0].cEffect, dest->stEffect[1].cEffect, dest->stEffect[2].cEffect);
        ItemLog(temp, pUser[conn].AccountName, pUser[conn].IP);

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

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

        return;
    }
#pragma endregion

se for a w2pp que o roh esta vendendo... ela vem com as replations bugadas. para arruma vc precisa mexer na itemlist.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 0
13 horas atrás, NadaMal- disse:

Peço que utilize esse codigo abaixo do replation, esta correto e com as verificações padrões.

Tem que adaptar ao seu codigo.

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

 

Muito obrigado!

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

  • 0
11 minutos atrás, undeadhuman disse:

conseguiu resolver? estou com o mesmo problema mas não consigo resolver

Vamos resolver, poste sua itemlist e o codigo do replation do seu servidor para resolvemos. 

A vida lhe dar desafios, entre esses uns longos mas nada que tome todo o seu tempo. - Klaus

giphy.gif

 

tgtceqV.png v3hpfp6.png yKSRniq.png f3uQKY9.png behVjSE.png zekazca.png f3uQKY9.png AHFoSmc.png BRzGtem.png behVjSE.png  tkeNAmv.png behVjSE.png

Link para o comentário
Compartilhar em outros sites

  • 0

Classe
    if(Vol == 190)
    {
        STRUCT_ITEM *dest = GetItemPointer(&pMob[conn].MOB, pUser[conn].Cargo, m->DestType, m->DestPos);

        if (dest == NULL)
        {
            sprintf(temp, "err,use item fail dest %d %d", m->DestType, m->DestPos);
            ItemLog(temp, "-system", 0);
            return;
        }

        if (!m->DestType || m->DestPos >= 60)
        {
            SendClientMessage(conn, g_pMessageStringTable[_NN_Only_To_Equips]);

            ItemLog("err,use item fail - dest", pUser[conn].AccountName, pUser[conn].IP);

            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

        int sanc = BASE_GetItemSanc(dest);
        int ItemId = dest->sIndex;

        if(sanc > 9 || BASE_GetItemAbility(dest, EF_MOBTYPE) != 0 && BASE_GetItemAbility(dest, EF_MOBTYPE) != 2)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

        int replation = item->sIndex >= 4016 && item->sIndex <= 4020 ? item->sIndex - 4015 : item->sIndex - 4020;

        if(BASE_GetItemAbility(dest, EF_ITEMLEVEL) != replation)
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

        SetItemBonus2(dest);
        SendItem(conn, m->DestType, m->DestPos, dest);
        SendEmotion(conn, 14, 3);

        sprintf(temp, "useitem,reset effect %d+%d - (%d,%d,%d)", dest->sIndex, sanc, dest->stEffect[0].cEffect, dest->stEffect[1].cEffect, dest->stEffect[2].cEffect);    
        ItemLog(temp, pUser[conn].AccountName, pUser[conn].IP);

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

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

        return;
    }

meu código está assim, mas não da nem pra jogar o replation no item

na itemlist.csv

 

4016,Classe_A,2834.0,0.0.0.0.0,0,3000,0,0,0,0,0,EF_CLASS,255,EF_VOLATILE,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4017,Classe_B,2835.0,0.0.0.0.0,0,8000,0,0,0,0,0,EF_CLASS,255,EF_VOLATILE,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4018,Classe_C,2836.0,0.0.0.0.0,0,60000,0,0,0,0,0,EF_CLASS,255,EF_VOLATILE,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4019,Classe_D,2837.0,0.0.0.0.0,0,200000,0,0,0,0,0,EF_CLASS,255,EF_VOLATILE,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4020,Classe_E,2860.0,0.0.0.0.0,0,400000,0,0,0,0,0,EF_CLASS,255,EF_VOLATILE,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4021,Classe_A(P),2834.0,0.0.0.0.0,0,0,0,0,0,0,0,EF_CLASS,255,EF_VOLATILE,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4022,Classe_B(P),2835.0,0.0.0.0.0,0,0,0,0,0,0,0,EF_CLASS,255,EF_VOLATILE,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4023,Classe_C(P),2836.0,0.0.0.0.0,0,0,0,0,0,0,0,EF_CLASS,255,EF_VOLATILE,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4024,Classe_D(P),2837.0,0.0.0.0.0,0,0,0,0,0,0,0,EF_CLASS,255,EF_VOLATILE,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4025,Classe_E(P),2860.0,0.0.0.0.0,0,400000,0,0,0,0,0,EF_CLASS,255,EF_VOLATILE,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

Link para o comentário
Compartilhar em outros sites

  • 0

mudei para o código que vc mandou, mas mesmo assim tbm nao funciona, sei la o que faço

Caso alguém de vocês puderem ajudar, chama wpp (35) 998701720 ou (35) 98897-9308, daí caso tiver algo no servidor que você ta mexendo que a gente souber, a gente ajuda também, já arrumamos bastante coisa no nosso... as vezes um pode ajudar o outro... @snow77

Link para o comentário
Compartilhar em outros sites

  • 0
4 horas atrás, undeadhuman disse:

mudei para o código que vc mandou, mas mesmo assim tbm nao funciona, sei la o que faço

Caso alguém de vocês puderem ajudar, chama wpp (35) 998701720 ou (35) 98897-9308, daí caso tiver algo no servidor que você ta mexendo que a gente souber, a gente ajuda também, já arrumamos bastante coisa no nosso... as vezes um pode ajudar o outro... @snow77

Itemlist, o codigo é simples.. é um codigo pra todas.. seu codigo esta definindo  varias replation! Deve ser do Roh isso ai 

1 minuto atrás, Tonicoo disse:

Itemlist, @snow77  o codigo é simples.. é um codigo pra todas.. seu codigo esta definindo  varias replation! Deve ser do Roh isso ai 

 

Link para o comentário
Compartilhar em outros sites

  • 0
5 minutos atrás, Tonicoo disse:

Itemlist, o codigo é simples.. é um codigo pra todas.. seu codigo esta definindo  varias replation! Deve ser do Roh isso ai 

 

Isso ja foi resolvido, postei o código completo acima, e o problema agora é a itemlist de vocês que não possui checagem do itemlevel e do mobtype, só olhar o item que está tentando jogar o replation na itemlist que vai ver o erro .. as linhas estão zeradas.

  • Curtir 1

A vida lhe dar desafios, entre esses uns longos mas nada que tome todo o seu tempo. - Klaus

giphy.gif

 

tgtceqV.png v3hpfp6.png yKSRniq.png f3uQKY9.png behVjSE.png zekazca.png f3uQKY9.png AHFoSmc.png BRzGtem.png behVjSE.png  tkeNAmv.png behVjSE.png

Link para o comentário
Compartilhar em outros sites

  • 0
7 horas atrás, undeadhuman disse:

mudei para o código que vc mandou, mas mesmo assim tbm nao funciona, sei la o que faço

Caso alguém de vocês puderem ajudar, chama wpp (35) 998701720 ou (35) 98897-9308, daí caso tiver algo no servidor que você ta mexendo que a gente souber, a gente ajuda também, já arrumamos bastante coisa no nosso... as vezes um pode ajudar o outro... @snow77

faz denuncia contra quem te vendeu isso ai tudo zuado...

Link para o comentário
Compartilhar em outros sites

  • 0

Originalmente não é na itemlist que ficam os defines referentes aos replations, o código na itemlist está correto, hj dependendo da hora que chegar em casa posto a descompilaçao dos replations.

Discord: GuiCandiotto

Link para o comentário
Compartilhar em outros sites

  • 0
32 minutos atrás, gcr_fc disse:

Originalmente não é na itemlist que ficam os defines referentes aos replations, o código na itemlist está correto, hj dependendo da hora que chegar em casa posto a descompilaçao dos replations.

Na realidade o problema em sí está na função BASE_GetItemAbility, ela está errada.

Editado por NadaMal-

A vida lhe dar desafios, entre esses uns longos mas nada que tome todo o seu tempo. - Klaus

giphy.gif

 

tgtceqV.png v3hpfp6.png yKSRniq.png f3uQKY9.png behVjSE.png zekazca.png f3uQKY9.png AHFoSmc.png BRzGtem.png behVjSE.png  tkeNAmv.png behVjSE.png

Link para o comentário
Compartilhar em outros sites

  • 0
Tópico Resolvido!

Ficamos felizes que seu tópico tenha sido resolvido!
🙂
Devido a isso, estaremos fechando este tópico...

Atenciosamente,
Web Cheats

Somos responsáveis por aquilo que fazemos, o que não fazemos e o que impedimos de ser feito.- Albert Camus

.:: ϟOdinϟ ::.
[Equipe WebCheats]

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • 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.