Ir para conteúdo
Faça parte da equipe! (2024) ×
  • 0

resolvido Bug skill HT Sub


walter501
 Compartilhar

Pergunta

7 respostass a esta questão

Posts Recomendados

  • 0
1 hora atrás, lord320 disse:

Você utiliza o Cod da poder superior do Faelz? Se sim, é isso só remover que resolve

Sim, tirei o adicional de skill ficou assim. 

 

 

#pragma region >> Pedra Misteriosa
    if (item->sIndex == 4148)
    {
        if (pMob[conn].extra.ClassMaster != CELESTIALCS && pMob[conn].extra.ClassMaster != SCELESTIAL)
      
        {
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

        int Village = BASE_GetVillage(pMob[conn].TargetX, pMob[conn].TargetY);

        if (Village < 0 || Village >= 5)
        {
            SendClientMessage(conn, g_pMessageStringTable[_NN_OnlyVillage]);
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

        int cl = pMob[conn].extra.ClassMaster == CELESTIALCS ? 0 : 1;
        int ncl = pMob[conn].extra.ClassMaster == CELESTIALCS ? 1 : 0;

        if (pMob[conn].extra.ClassMaster == CELESTIALCS)
        {
            pMob[conn].extra.ClassMaster = SCELESTIAL;
            pMob[conn].extra.QuestInfo.Celestial.CelestialLevel = pMob[conn].MOB.BaseScore.Level;
            //2106
            STRUCT_ITEM *Capa = &pMob[conn].MOB.Equip[15];
            if (Capa->sIndex == 3199) //Capa celestial White
                pMob[conn].MOB.Equip[15].sIndex = 573;
            SendItem(conn, ITEM_PLACE_EQUIP, 15, &pMob[conn].MOB.Equip[15]);
            if (Capa->sIndex == 3198) //Capa Celestial Red
                pMob[conn].MOB.Equip[15].sIndex = 1770;
            SendItem(conn, ITEM_PLACE_EQUIP, 15, &pMob[conn].MOB.Equip[15]);
            if (Capa->sIndex == 3197) //Capa Celestial Blue
                pMob[conn].MOB.Equip[15].sIndex = 1767;
            SendItem(conn, ITEM_PLACE_EQUIP, 15, &pMob[conn].MOB.Equip[15]);
            SendClientMessage(conn, "Você é Sub Celestial!");

        }
        else
        {
            pMob[conn].extra.ClassMaster = CELESTIALCS;
            pMob[conn].extra.QuestInfo.Celestial.SubCelestialLevel = pMob[conn].MOB.BaseScore.Level;
            STRUCT_ITEM *Capa = &pMob[conn].MOB.Equip[15];
            if (Capa->sIndex == 573) //Capa Sub-Celestial White
                pMob[conn].MOB.Equip[15].sIndex = 3199;
            SendItem(conn, ITEM_PLACE_EQUIP, 15, &pMob[conn].MOB.Equip[15]);
            if (Capa->sIndex == 1770) //Capa Sub-Celestial Red
                pMob[conn].MOB.Equip[15].sIndex = 3198;
            SendItem(conn, ITEM_PLACE_EQUIP, 15, &pMob[conn].MOB.Equip[15]);
            if (Capa->sIndex == 1767) //Capa Sub-Celestial Blue
                pMob[conn].MOB.Equip[15].sIndex = 3197;
            SendItem(conn, ITEM_PLACE_EQUIP, 15, &pMob[conn].MOB.Equip[15]);
            SendClientMessage(conn, "Você é Celestial!");
        }
        pMob[conn].extra.SaveCelestial[cl].BaseScore = pMob[conn].MOB.BaseScore;
        pMob[conn].extra.SaveCelestial[cl].Class = pMob[conn].MOB.Class;
        pMob[conn].extra.SaveCelestial[cl].Exp = pMob[conn].MOB.Exp;
        pMob[conn].extra.SaveCelestial[cl].LearnedSkill = pMob[conn].MOB.LearnedSkill;
        pMob[conn].extra.SaveCelestial[cl].ScoreBonus = pMob[conn].MOB.ScoreBonus;
        pMob[conn].extra.SaveCelestial[cl].SkillBonus = pMob[conn].MOB.SkillBonus;
        pMob[conn].extra.SaveCelestial[cl].SpecialBonus = pMob[conn].MOB.SpecialBonus;
        pMob[conn].extra.SaveCelestial[cl].SPX = pMob[conn].MOB.SPX;
        pMob[conn].extra.SaveCelestial[cl].SPY = pMob[conn].MOB.SPY;

        pMob[conn].extra.SaveCelestial[cl].Soul = pMob[conn].extra.Soul;

        memcpy(pMob[conn].extra.SaveCelestial[cl].SkillBar1, pMob[conn].MOB.SkillBar, 4);
        memcpy(pMob[conn].extra.SaveCelestial[cl].SkillBar2, pUser[conn].CharShortSkill, 16);

        pMob[conn].MOB.BaseScore = pMob[conn].extra.SaveCelestial[ncl].BaseScore;
        pMob[conn].MOB.Class = pMob[conn].extra.SaveCelestial[ncl].Class;
        pMob[conn].MOB.Exp = pMob[conn].extra.SaveCelestial[ncl].Exp;
        pMob[conn].MOB.LearnedSkill = pMob[conn].extra.SaveCelestial[ncl].LearnedSkill;
        pMob[conn].MOB.ScoreBonus = pMob[conn].extra.SaveCelestial[ncl].ScoreBonus;
        pMob[conn].MOB.SkillBonus = pMob[conn].extra.SaveCelestial[ncl].SkillBonus;
        pMob[conn].MOB.SpecialBonus = pMob[conn].extra.SaveCelestial[ncl].SpecialBonus;
        pMob[conn].MOB.SPX = pMob[conn].extra.SaveCelestial[ncl].SPX;
        pMob[conn].MOB.SPY = pMob[conn].extra.SaveCelestial[ncl].SPY;
        pMob[conn].extra.Soul = pMob[conn].extra.SaveCelestial[ncl].Soul;

        memcpy(pMob[conn].MOB.SkillBar, pMob[conn].extra.SaveCelestial[ncl].SkillBar1, 4);
        memcpy(pUser[conn].CharShortSkill, pMob[conn].extra.SaveCelestial[ncl].SkillBar2, 16);

        for (int i = 0; i < MAX_AFFECT; i++)
        {
            if (pMob[conn].Affect.Type == 4 || pMob[conn].Affect.Type == 8 || pMob[conn].Affect.Type == 29 || pMob[conn].Affect.Type == 30 || pMob[conn].Affect.Type == 34 || pMob[conn].Affect.Type == 35 || pMob[conn].Affect.Type == 39)
                continue;

            memset(&pMob[conn].Affect, 0, sizeof(STRUCT_AFFECT));
        }

        pMob[conn].MOB.Equip[0].sIndex = pMob[conn].extra.MortalFace + 5 + pMob[conn].MOB.Class;
        SendItem(conn, ITEM_PLACE_EQUIP, 0, &pMob[conn].MOB.Equip[0]);

        MSG_SetShortSkill sm_sss;
        memset(&sm_sss, 0, sizeof(MSG_SetShortSkill));

        sm_sss.Size = sizeof(MSG_SetShortSkill);
        sm_sss.ID = ESCENE_FIELD;
        sm_sss.Type = _MSG_SetShortSkill;

        memcpy(sm_sss.Skill1, pMob[conn].extra.SaveCelestial[ncl].SkillBar1, 4);
        memcpy(sm_sss.Skill2, pMob[conn].extra.SaveCelestial[ncl].SkillBar2, 16);

        pUser[conn].cSock.AddMessage((char*)&sm_sss, sizeof(MSG_SetShortSkill));

        BASE_GetBonusSkillPoint(&pMob[conn].MOB, &pMob[conn].extra);
        BASE_GetBonusScorePoint(&pMob[conn].MOB, &pMob[conn].extra);

        BASE_GetHpMp(&pMob[conn].MOB, &pMob[conn].extra);

        pMob[conn].GetCurrentScore(conn);

        GetGuild(conn);

        SendScore(conn);
        SendEtc(conn);

        sprintf(temp, "useitem,mistery stone change god2god");
        ItemLog(temp, pUser[conn].AccountName, pUser[conn].IP);

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

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

        return;
    }

Link para o comentário
Compartilhar em outros sites

  • 0

Tópico Resolvido!

 

Ficamos felizes que seu tópico tenha sido resolvido!

Devido a esse estaremos fechando-o para evitar posts desnecessários e movendo para o local correto.

 

Essa é uma mensagem automática

Atenciosamente

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.