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

Habilidade Explosão Etérea atacando players sem pk ativo


snailspro
 Compartilhar

Pergunta

Me deparei com um bug incomum. ao utilizar o macro de habilidades na HT usando a skill Explosão Etérea, a habilidade está atacando players mesmo sem o PK ativado...

 

E eu não faço ideia de por onde começar a procurar esse bug, seria na habilidade ou no macro?

Editado por snailspro
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
4 horas atrás, snailspro disse:

Me deparei com um bug incomum. ao utilizar o macro de habilidades na HT usando a skill Explosão Etérea, a habilidade está atacando players mesmo sem o PK ativado...

 

E eu não faço ideia de por onde começar a procurar esse bug, seria na habilidade ou no macro?

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

 

Editado por Sc2ALLin

Precisa de ajuda?
Fale comigo.
Discord: sc2allin

Link para o comentário
Compartilhar em outros sites

  • 0

Muito obrigado pela resposta, na src que to testando que é a Legend Ultimate é um pouco diferente...

 

Mas deu pra entender bem a lógica, vou tentar replicar, obrigado!

 

@edit

 

achei um código similar na source que estou usando, porém não sei o motivo de não fu ncionar, testei de todas as formas possíveis mas sem sucesso.. Se alguem tiver alguma luz, ajudaria muito!

 

Codigo encontrado:

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

 

Tentei assim também, mas também sem sucesso:

 

É necessário se cadastrar para acessar o conteúdo.
Editado por snailspro
Link para o comentário
Compartilhar em outros sites

  • 0
Em 21/07/2022 em 01:29, snailspro disse:

Me deparei com um bug incomum. ao utilizar o macro de habilidades na HT usando a skill Explosão Etérea, a habilidade está atacando players mesmo sem o PK ativado...

 

E eu não faço ideia de por onde começar a procurar esse bug, seria na habilidade ou no macro?

olha tem 2 forma de você resolver isso . a primeira e mais facil é mecher na skill

basta você alterar o target type

 

a explosão vem como padrão 5. porem eu fiz um teste e qualquer magia que vc bota com Target type 5 ela não diferencia mob de npc . ela bate em tudo e todos . a solução primaria porem genérica seria você alterar para outro tipo de targeto . recomendo que faça testes .

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

a segunda e programando . 

procure na source o local onde ta a skill .

e crie uma condição onde vc diferencie os mob de player caso o seu pk esteja ligado ou desligado

não vou te da a linha de código que fiz porque  se n for a mesma versão que a minha não vai funcionar. 

mas o segredo e vc fazer uma condição correta que reconheça estar com pk ligado ou desligado 

recomendo utilizar uma variável booleana para esse tipo de condição 

utilize um tipo de tratamento que vc so usa magia caso seja verdadeiro dependendo da condição que você usar.

caso não saiba programar a primeira forma com certeza vai resolver a parte de atacar os player

 

_______________________________________________________________________________________________________________________________

 

peço desculpa por não entregar o código pronto.

mas é só você seguir um raciocínio lógico que você vai conseguir caso queira optar por mexer na source para arrumar isso.

 

_______________________________________________________________________________________________________________________________________

 

se precisar de algo pode falar que se estiver ao meu alcance irei ajudar.

chou_saint_seiya_dragon_shiryu_8k_wallpa

Link para o comentário
Compartilhar em outros sites

  • 0
Em 01/08/2022 em 20:57, thiago bertulozo disse:

olha tem 2 forma de você resolver isso . a primeira e mais facil é mecher na skill

basta você alterar o target type

 

a explosão vem como padrão 5. porem eu fiz um teste e qualquer magia que vc bota com Target type 5 ela não diferencia mob de npc . ela bate em tudo e todos . a solução primaria porem genérica seria você alterar para outro tipo de targeto . recomendo que faça testes .

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

a segunda e programando . 

procure na source o local onde ta a skill .

e crie uma condição onde vc diferencie os mob de player caso o seu pk esteja ligado ou desligado

não vou te da a linha de código que fiz porque  se n for a mesma versão que a minha não vai funcionar. 

mas o segredo e vc fazer uma condição correta que reconheça estar com pk ligado ou desligado 

recomendo utilizar uma variável booleana para esse tipo de condição 

utilize um tipo de tratamento que vc so usa magia caso seja verdadeiro dependendo da condição que você usar.

caso não saiba programar a primeira forma com certeza vai resolver a parte de atacar os player

 

_______________________________________________________________________________________________________________________________

 

peço desculpa por não entregar o código pronto.

mas é só você seguir um raciocínio lógico que você vai conseguir caso queira optar por mexer na source para arrumar isso.

 

_______________________________________________________________________________________________________________________________________

 

se precisar de algo pode falar que se estiver ao meu alcance irei ajudar.

Muito obrigado por sua ajuda, consegui remover pelo skilldata, porém pela src ainda não...

tentei diversas maneiras mas sem sucesso rs.

 

    for (int i = 0; i < 13; i++) {
        if (i >= 13 && sm->Header.Size <= sizeof(MSG_Attack))
            break;

        else if (i >= 1 && sm->Header.Size <= sizeof(MSG_AttackOne))
            break;

        else if (i >= 2 && sm->Header.Size <= sizeof(MSG_AttackTwo))
            break;

        bool target = sm->Dam.TargetID;
        bool damage = sm->Dam.Damage;

        if (target <= NULL || target >= 12800)
            continue;

        if (skill != 42) {
            if (skill == 86 && sm->Dam.TargetID < MAX_USER && user->AllStatus.PK == 0) {
                sm->Dam.TargetID = 0;
                sm->Dam.Damage = 0;
            }

    }

Link para o comentário
Compartilhar em outros sites

  • 0
23 horas atrás, snailspro disse:

Muito obrigado por sua ajuda, consegui remover pelo skilldata, porém pela src ainda não...

tentei diversas maneiras mas sem sucesso rs.

 

    for (int i = 0; i < 13; i++) {
        if (i >= 13 && sm->Header.Size <= sizeof(MSG_Attack))
            break;

        else if (i >= 1 && sm->Header.Size <= sizeof(MSG_AttackOne))
            break;

        else if (i >= 2 && sm->Header.Size <= sizeof(MSG_AttackTwo))
            break;

        bool target = sm->Dam.TargetID;
        bool damage = sm->Dam.Damage;

        if (target <= NULL || target >= 12800)
            continue;

        if (skill != 42) {
            if (skill == 86 && sm->Dam.TargetID < MAX_USER && user->AllStatus.PK == 0) {
                sm->Dam.TargetID = 0;
                sm->Dam.Damage = 0;
            }

    }

tu rodo rodo com esse código e não disse nada . kkkk

 

seja mais direto com o que você quer dizer no código

verifica como ta sendo chamada as skill na sua source , provavelmente  relações de dano esta sendo feita na

MSG_attack 

 

faça um pragma exclusivo pro que vc quer . 

dentro dele  especifique qual a magia que vc quer que funcione de determinada forma

cuidado pra não bugar a skill mexendo com ela na source 

esse codigo e bem provável que se funcionar vai bugar um bugado de coisa ingame kk

 

if (skill == 86 && sm->Dam.TargetID < MAX_USER && user->AllStatus.PK == 0) 

 

é bem provável que essa linha se vier  a funcionar coisa que acho difícil ela não vai causar dano nem em mob nem em player

 

recomendo arruma a skill pela skill data mesmo.

 

chou_saint_seiya_dragon_shiryu_8k_wallpa

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

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • 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.