08.01.2013, 21:38
Como prometido, neste tуpico 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:
E pronto, o bбsico jб estб criado.
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/
Demonstraзгo
Fiz um vнdeo para demonstrar como ficou o cуdigo baixado no pacote acima
[ame]http://www.youtube.com/watch?v=pjPjqEtIi5E[/ame]
Em breve estarei atualizando o tуpico para fazer o zumbi tirar vida e seguir apenas o jogador mais perto. Fique atento!
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:
PHP код:
MoveRNPC ( npcid, posicaoX, posicaoY, posicaoZ, velocidade)
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 Код:
#include <RNPC>
No topo do cуdigo assim estarб carregando a biblioteca rnpc.inc contida em pawno/includes
Apуs isto coloque o seguinte logo abaixo
pawn Код:
#define MAX_ZUMBIS 5
#undef MAX_PLAYERS
#define MAX_PLAYERS 10
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:
pawn Код:
new NPCSZUMBIS[MAX_ZUMBIS];
Logo em OnGameModeInit vocк coloca
pawn Код:
for(new i; i != MAX_ZUMBIS; ++i)
{
static string[128];
format(string, 128, "Zumbi_%d", i);
NPCSZUMBIS[i] = ConnectRNPC(string);
}
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
pawn Код:
SetTimer("PerseguirJogador", 800, true);
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:
pawn Код:
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.
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/
Demonstraзгo
Fiz um vнdeo para demonstrar como ficou o cуdigo baixado no pacote acima
[ame]http://www.youtube.com/watch?v=pjPjqEtIi5E[/ame]
Em breve estarei atualizando o tуpico para fazer o zumbi tirar vida e seguir apenas o jogador mais perto. Fique atento!