Como prometido, estarei trazendo um código completinho e básico para trabalhar com RNPCS
Para ZUMBIS, nesse caso, está apenas para seguir o jogador de forma bonita, em breve estarei implementando como fazer para tirar vida e seguir apenas o jogador mais perto!
Usando RNPC
Funções:
Essa função faz o NPC ir para uma posição a partir da atual, com uma velocidade definida ali nos parâmetros.
Essa função conecta um RNPC ao jogo, o nome do NPC é o nome definido logo acima, a função ConnectRNPC retorna o id do npc conectado
Fiz para servidor 0.3x RC
Importante:
Caso dar falta de dlls ao abrir o samp-server.exe baixe essas daqui:
msvcr100d.dll
msvcp100d.dll
Coloque na pasta do servidor ou na pasta system32 do windows em disco local!
Tutorial
Primeiramente:
Coloque:
No topo do código assim estará carregando a biblioteca rnpc.inc contida em pawno/includes
Após isto coloque o seguinte logo abaixo:
Assim vai definir o número de jogadores zumbis a ser criado bem como o número máximo de jogadores do servidor
Agora logo abaixo crie:
Essa array serve para registrar a identificação do zumbi a ser criado
Logo em OnGameModeInit você coloca
A primeira linha vai fazer um loop percorrendo de 1 a MAX_ZUMBIS, que vai criando todos NPCS Zumbis
Logo abaixo tem a string e format, ambos servem para formar um nome para o NPC zumbi, logo que ao conecta-lo devemos atribuir um nome.
ConnectRNPC vai conectar o zumbi e retornar a identificação dele, que logo após será colocada em NPCSZUMBIS
Logo abaixo disto você coloca
Isto vai chamar uma função chamada PerseguirJogador a cada 800 ms. Assim atualizando a caminhada do nosso jogador
Na função, que fica logo abaixo da última linha do codigo deverá conter isto:
Download:
Já esta tudo configurado no pacote, com includes modificadas e as DLLS do RNPC corretamente colocadas. Com pacote inteiro do RNPC, Includes e Gamemode
http://www.solidfiles.com/d/9fdb6a8c31/
Creditos: ipsBruno
Para ZUMBIS, nesse caso, está apenas para seguir o jogador de forma bonita, em breve estarei implementando como fazer para tirar vida e seguir apenas o jogador mais perto!
Usando RNPC
Funções:
Código PHP:
MoveRNPC ( npcid, posicaoX, posicaoY, posicaoZ, velocidade)
Código PHP:
ConnectRNPC("nome")
Fiz para servidor 0.3x RC
Importante:
Caso dar falta de dlls ao abrir o samp-server.exe baixe essas daqui:
msvcr100d.dll
msvcp100d.dll
Coloque na pasta do servidor ou na pasta system32 do windows em disco local!
Tutorial
Primeiramente:
Coloque:
pawn Código:
#include <RNPC>
Após isto coloque o seguinte logo abaixo:
pawn Código:
#define MAX_ZUMBIS 5 #undef MAX_PLAYERS #define MAX_PLAYERS 10
Agora logo abaixo crie:
pawn Código:
new NPCSZUMBIS[MAX_ZUMBIS];
Logo em OnGameModeInit você coloca
pawn Código:
for(new i; i != MAX_ZUMBIS; ++i) { static string[128]; format(string, 128, "Zumbi_%d", i); NPCSZUMBIS[i] = ConnectRNPC(string); }
Logo abaixo tem a string e format, ambos servem para formar um nome para o NPC zumbi, logo que ao conecta-lo devemos atribuir um nome.
ConnectRNPC vai conectar o zumbi e retornar a identificação dele, que logo após será colocada em NPCSZUMBIS
Logo abaixo disto você coloca
pawn Código:
SetTimer("PerseguirJogador", 800, true);
Na função, que fica logo abaixo da última linha do codigo deverá conter isto:
pawn Código:
PerseguirJogador(); public PerseguirJogador() { for(new i; i != MAX_ZUMBIS; i++) { // pegar todos jogadores possíveis if(IsPlayerNPC(i)) // checar se é zumbi { for(new j ; j != MAX_PLAYERS; j ++) { // pegar todos jogadores possíveis if(IsPlayerConnected(j) && !IsPlayerNPC(j)) { // pegar todos jogadores online não npcs conectado para persegui-los static Float: rnpcpos[3]; GetPlayerPos(j, rnpcpos[0], rnpcpos[1], rnpcpos[2]); // pegar posição do jogador, para segui-lo em movernpc new Float: angle; GetPlayerFacingAngle(i, angle); // pegar angulo do npc MoveRNPC(i, rnpcpos[0] + floatsin(angle - 90.0, degrees) * (1.0 + random(15)), rnpcpos[1] + floatcos(angle - 90.0, degrees) * (1.0 + random(15)), rnpcpos[2], RNPC_SPEED_RUN); // movernpc vai mover o rnpc zumbi para posição pega do jogador // com esse floatsin e floatcos fará os npcs andarem separados, evitando lag e deixando um estilo mais inteligente de caminhada } } } } }
E pronto, o básico já está criado.
Demonstração:
Fiz um vídeo para demonstrar como ficou o código baixado no pacote acima.
Fiz um vídeo para demonstrar como ficou o código baixado no pacote acima.
Download:
Já esta tudo configurado no pacote, com includes modificadas e as DLLS do RNPC corretamente colocadas. Com pacote inteiro do RNPC, Includes e Gamemode
http://www.solidfiles.com/d/9fdb6a8c31/
Creditos: ipsBruno
0 comentários:
Postar um comentário