Ir para conteúdo
  • Cadastre-se
  • 0

Criar função NPC


Doomed

Pergunta

Bom dia galera!

Sei que tenho umas perguntas idiotas aos olhares mais experientes, desculpem por isso, pesquisei antes e não achei o que precisava, pode até ser que ja tenha algum conteúdo sobre o assunto e eu não estou sabendo exatamente como procurar.

Estou tentando criar uma nova função em um NPC, estou com dúvidas sobre a comunicação entre o HTML com a engine (Java).
Peguei um NPC aleatório para servir de exemplo, nele contem um texto qualquer e um botão chamado "Quest".

Este botão está da seguinte forma:

<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>

Entendo que:

"Button" refere-se ao HTML dizendo que isto é um botão;

"ALIGN=LEFT" está dizendo que o botão estará alinhado a esquerda dentro da caixa de diálogo do NPC;

"ICON="QUEST"" está informando que icone deste botão e o chamado "QUEST";

"action="bypass -h npc_%objectId%_Quest"" é onde a mágica acontece, está informando a ação do botão, minha dúvida é como esta ação chega ao Java, deve existir um conjunto de classes responsáveis por receber essas informações e processa-la, qual seria? Este comando vai direto ao core ou tem um intermediário que atua na comunicação, talvez este bypass?

Resumindo, preciso saber como este comando "bypass -h npc_%objectId%_Quest" chega ao servidor.

Obrigado!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts recomendados

  • 0
Em 30/10/2017 at 08:50, Doomed disse:

Bom dia galera!

Sei que tenho umas perguntas idiotas aos olhares mais experientes, desculpem por isso, pesquisei antes e não achei o que precisava, pode até ser que ja tenha algum conteúdo sobre o assunto e eu não estou sabendo exatamente como procurar.

Estou tentando criar uma nova função em um NPC, estou com dúvidas sobre a comunicação entre o HTML com a engine (Java).
Peguei um NPC aleatório para servir de exemplo, nele contem um texto qualquer e um botão chamado "Quest".

Este botão está da seguinte forma:

<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>

Entendo que:

"Button" refere-se ao HTML dizendo que isto é um botão;

"ALIGN=LEFT" está dizendo que o botão estará alinhado a esquerda dentro da caixa de diálogo do NPC;

"ICON="QUEST"" está informando que icone deste botão e o chamado "QUEST";

"action="bypass -h npc_%objectId%_Quest"" é onde a mágica acontece, está informando a ação do botão, minha dúvida é como esta ação chega ao Java, deve existir um conjunto de classes responsáveis por receber essas informações e processa-la, qual seria? Este comando vai direto ao core ou tem um intermediário que atua na comunicação, talvez este bypass?

Resumindo, preciso saber como este comando "bypass -h npc_%objectId%_Quest" chega ao servidor.

Obrigado!

Amigo, se descobrir me informa gostaria muito de saber também :0

Link para o comentário
Compartilhar em outros sites


  • 0

Vou te explicar o mais resumido possível, por partes.

bypass -h npc_ - Esse é a parte que faz o ByPass pelo servidor, que no caso esse é referente ao npc.

%objectId% - Que no caso ele vai pegar o Object ID do NPC e com isso a função direto do Java que ele tem a oferecer, ser for Folk, EventManager e etc.

_Quest - Quest representa um comando, tem vários comandos para diferentes instancias de NPC's. O _Quest poderia ser _Olympiad, _ChangeClass, e etc.

Você pode ver as instancias de NPC's no Java pelo seguinte caminho: /gameserver/model/actor/instance/

 

mSw8ymV.gif

Link para o comentário
Compartilhar em outros sites

  • 0
14 horas atrás, HityZ disse:

Vou te explicar o mais resumido possível, por partes.

bypass -h npc_ - Esse é a parte que faz o ByPass pelo servidor, que no caso esse é referente ao npc.

%objectId% - Que no caso ele vai pegar o Object ID do NPC e com isso a função direto do Java que ele tem a oferecer, ser for Folk, EventManager e etc.

_Quest - Quest representa um comando, tem vários comandos para diferentes instancias de NPC's. O _Quest poderia ser _Olympiad, _ChangeClass, e etc.

Você pode ver as instancias de NPC's no Java pelo seguinte caminho: /gameserver/model/actor/instance/

 

Foi de grande ajuda!
No final das contas, não e exatamente uma classe responsável por distinguir os comandos, é um emaranhado de classes, mas o que procurava eu encontrei na classe: 

package ...gameserver.network.client.recv.RequestBypassToServer.java

O conteúdo está oculto, favor efetuar login ou se cadastrar!

Essa classe da uma boa filtrada nos comandos recebidos, e tem a classe responsável pela implementação da interface que executa os comandos depois de filtrados:
...gameserver.model.actor.Npc.java

O conteúdo está oculto, favor efetuar login ou se cadastrar!

 

Deixei isso para caso alguém achei relevante.

Link para o comentário
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder esta pergunta...

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

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.