03.05.2014, 14:01
NPC Que atira se ele ver alguem perto se alguem souber alguma coisa sobre isso da um helper aki quero testar umas coisa
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
// ==== COMPLEMENTAЗГO POR SuYaNw Dбcio:
// i = Nosso NPC em questгo.
// j = O Player que o NPC estб correndo arбs.
#define RNPC_DISTANCIA 10.0 // Distancia do player atй o NPC para o NPC comeзar a atacar.
static
Float: Pos[3]
;
GetPlayerPos(j, Pos[0],Pos[1],Pos[2]);
// Verificamos se o NPC estб perto do player, caso estiver, exeuta tudo que estб entre chavez
if(IsPlayerInRangeOfPoint(i, RNPC_DISTANCIA, Pos[0],Pos[1],Pos[2])){
// Coloque aqui oque o NPC tem que fazer quando estiver 10.0 metros d distancia.
static
ist[100], nome[24]
;
format(ist, 100, "O NPCID: %i estб perto do player %s", i, (GetPlayerName(j, nome, 24), nome));
SendClientMessageToAll(-1, ist);
}
}
}
}
}
}