Trabalhando com Zumbis RNPC (inacabado) -
ipsBruno - 08.01.2013
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:
PHP код:
MoveRNPC ( npcid, posicaoX, posicaoY, posicaoZ, velocidade)
Essa funзгo faz o NPC ir para uma posiзгo a partir da atual, com uma velocidade definida ali nos parвmetros
PHP код:
ConnectRNPC("nome")
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
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];
Essa array serve para registrar a identificaзгo do zumbi a ser criado
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!
Re: Trabalhando com Zumbis RNPC (inacabado) -
Kuddy - 08.01.2013
Estarei vendo o tutorial, mas acho que seria melhor fazer o tutorial no tуpico .-.
Respuesta: Trabalhando com Zumbis RNPC (inacabado) -
ipsBruno - 08.01.2013
Okay!
Re: Trabalhando com Zumbis RNPC (inacabado) -
tonisantolia - 08.01.2013
Ira dar bug se por em uma settimer para cada segundo getar a posiзгo do player para o zumbi ir atras?
Respuesta: Trabalhando com Zumbis RNPC (inacabado) -
ipsBruno - 08.01.2013
Nгo, bota no mнnimo uns 300 ms, menos que isso pode lagar.
Re: Trabalhando com Zumbis RNPC (inacabado) -
tonisantolia - 08.01.2013
Quote:
Originally Posted by ipsBruno
Nгo, bota no mнnimo uns 300 ms, menos que isso pode lagar.
|
Bom Saber.. Pois usando este modo pode fazer os zumbies perseguir os players proximos.. sу falta o scripter fazer uma funзгo para checar o player mais proximo e setar para perseguilo.
Respuesta: Trabalhando com Zumbis RNPC (inacabado) -
ipsBruno - 08.01.2013
Estou com preguiзa hoje, isso й bem bбsico. Espero que o pessoal estude agora, o resto й fбcil.
Re: Respuesta: Trabalhando com Zumbis RNPC (inacabado) -
tonisantolia - 08.01.2013
Quote:
Originally Posted by ipsBruno
Estou com preguiзa hoje, isso й bem bбsico. Espero que o pessoal estude agora, o resto й fбcil.
|
Nгo falei de vocк fazer.. eu falei do scripter que for usar o tutorial fazer hehe.
Respuesta: Trabalhando com Zumbis RNPC (inacabado) -
ipsBruno - 08.01.2013
Entendi
script. Enfim, fale
programador.
Re: Respuesta: Trabalhando com Zumbis RNPC (inacabado) -
jibileu - 08.01.2013
Quote:
Originally Posted by ipsBruno
Entendi script. Enfim, fale programador.
|
Pawn й uma linguagem de
script e nгo de programaзгo, entendeu senhor
programador?