Ir para conteúdo
  • Quem está por aqui   0 membros estão online

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

Frango não dá dano mágico


combatrw
 Compartilhar

Posts Recomendados

Pessoal, frango está dando dano físico normal, adiciona 2000 de dano quando ativado. Porém para magia não funciona. Segue código dentro da source:

 

pragma region Frango Assado
    if (Vol == 63)
    {
        int sAffect = GetEmptyAffect(conn, 30);

        if (sAffect == -1 || (pMob[conn].Affect[sAffect].Value != 2000 && pMob[conn].Affect[sAffect].Time == 30))
        {
            SendClientMessage(conn, g_pMessageStringTable[_NN_CantEatMore]);
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

        if (pMob[conn].Affect[sAffect].Time >= AFFECT_1H * 23) {
            SendClientMessage(conn, g_pMessageStringTable[_NN_CantEatMore]);
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

        pMob[conn].Affect[sAffect].Type = 30;
        pMob[conn].Affect[sAffect].Level = 1;
        pMob[conn].Affect[sAffect].Value = 2000;
        pMob[conn].Affect[sAffect].Time += AFFECT_1H * 4;

        pMob[conn].GetCurrentScore(conn);
        SendScore(conn);

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

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

        return;
    }
#pragma endregion

Se alguém puder ajudar agradeço. Acredito que tem algo a ver com as linhas que indicam "Type = 30"ou "int sAffect = GetEmptyAffect(conn, 30);"

Link para o comentário
Compartilhar em outros sites

Olá =)
Esse código é da ativação do item, existe algum problema com ele?
Se não, se for só a parte do cálculo do dano, poste o score, é a da linha pMob[conn].GetCurrentScore(conn);
Esse ai informa a pessoa e ao servidor que o efeito/item foi ativado, o que de fato calcula os status é a GetCurrentScore.
Além disso, se for dano final ( indiferente ao status, adiciona o dano real ), pode ser preciso a source de onde o frango aplica o dano.

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

18 horas atrás, combatrw disse:

Pessoal, frango está dando dano físico normal, adiciona 2000 de dano quando ativado. Porém para magia não funciona. Segue código dentro da source:

 

pragma region Frango Assado
    if (Vol == 63)
    {
        int sAffect = GetEmptyAffect(conn, 30);

        if (sAffect == -1 || (pMob[conn].Affect[sAffect].Value != 2000 && pMob[conn].Affect[sAffect].Time == 30))
        {
            SendClientMessage(conn, g_pMessageStringTable[_NN_CantEatMore]);
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

        if (pMob[conn].Affect[sAffect].Time >= AFFECT_1H * 23) {
            SendClientMessage(conn, g_pMessageStringTable[_NN_CantEatMore]);
            SendItem(conn, m->SourType, m->SourPos, item);
            return;
        }

        pMob[conn].Affect[sAffect].Type = 30;
        pMob[conn].Affect[sAffect].Level = 1;
        pMob[conn].Affect[sAffect].Value = 2000;
        pMob[conn].Affect[sAffect].Time += AFFECT_1H * 4;

        pMob[conn].GetCurrentScore(conn);
        SendScore(conn);

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

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

        return;
    }
#pragma endregion

Se alguém puder ajudar agradeço. Acredito que tem algo a ver com as linhas que indicam "Type = 30"ou "int sAffect = GetEmptyAffect(conn, 30);"

Recomendo dá uma olhada na função ProcessAffect, é lá que os efeitos de alguns buffs são tratados.

Precisa de ajuda?
Fale comigo.
Discord: sc2allin

Link para o comentário
Compartilhar em outros sites

5 horas atrás, 987987987 disse:

Olá =)
Esse código é da ativação do item, existe algum problema com ele?
Se não, se for só a parte do cálculo do dano, poste o score, é a da linha pMob[conn].GetCurrentScore(conn);
Esse ai informa a pessoa e ao servidor que o efeito/item foi ativado, o que de fato calcula os status é a GetCurrentScore.
Além disso, se for dano final ( indiferente ao status, adiciona o dano real ), pode ser preciso a source de onde o frango aplica o dano.

Meu amigo, muito obrigado pela clareada, vou dar uma buscada e retorno com uma resposta.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
 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.