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 (;
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.!
ResponderExcluirMuito bom shepher,continue assim :-D
ResponderExcluir