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

Frango não dá dano mágico


combatrw
 Compartilhar

Pergunta

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

3 respostass a esta questão

Posts Recomendados

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0
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

  • 0
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

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Cadastre-se Agora para publicar com Sua Conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

 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.