segunda-feira, 16 de abril de 2012

Aula 7.1 - Adicionando o NPC e declarando

Aula 08 - Aprimorando os NPCs com funções
Bom, depois de aprendermos o básico do básico de um NPC, seu cabeçalho, e como adicionar funções nele, e etc, esqueci de falar como adicionar o NPC para ter a função que você colocou, haha. Foi pura desatenção, peço desculpas.

Para adicionar um novo NPC dentro do jogo, você deve encontrar o arquivo "NPC_FControl.cpp", que é o arquivo que editamos na aula anterior, e logo em cima terá:
void NPC_CONTROL(BYTE *pak,WORD clientid)

Isso serve para identificar os NPCs. Você deve adicionar um switch para a struct do mob com base no que quiser. Pode ser merchant, level, defesa, atack, ou seilá. Um switch é assim:
switch(O QUE QUISER)
{
case XX:

Troque "O QUE QUISER" pelo valor da struct que quiser. Eu gosto de utilizar com level e merchant, assim:
if(npc->Merchant == 8)
{
switch(npc->bStatus.Level)
{
Os cases são os leveis e depois você deve chamar a função e logo em seguida um break;

O break serve para sair do bloco de switch, que quebra o laço. Um exemplo para o Level 1 chamar o nosso Oráculo Negro:
if(npc->Merchant == 8)
{
switch(npc->bStatus.Level)
{
case 1: // Oráculo Negro
Oraculo_Negro(clientid, p->npcid);
break;
                 }
}

Para o arquivo "NPC_FControl.cpp" identificar o Oraculo_Negro devemos adicionar no arquivo header "npcs.h" a sua declaração, como por exemplo:
void Oraculo_Negro(int npcid, int clientid);
Cada NPC deve ter sua declaração no npcs.h.


Bom, foi uma aula 7.1 porque eu realmente esqueci dessa parte.

Obrigado (;

2 comentários:

  1. obrigado mano pelo Inglês im desculpe se minha traduzir a br não é boa graças ehehe para este tutoriais que você fez .. espero que você pode postar um tutorial para o usuário do item quando clicar eu vou esperar por isso e também você pode fazer tutorial para corrigir Buffs no limite de 16.? obrigado novamente.!

    ResponderExcluir
  2. Muito bom shepher,continue assim :-D

    ResponderExcluir