NPC Attack
#1

NPC Que atira se ele ver alguem perto se alguem souber alguma coisa sobre isso da um helper aki quero testar umas coisa
Reply
#2

Ninguem sabe nada de npc que atira
Reply
#3

Um tutorial do meu velho amigo, https://sampforum.blast.hk/showthread.php?tid=406058.

No tutorial/filterscript ensina como fazer ele correr atrбs de vocк, vou fazer uma complementaзгo:

pawn Code:
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);
                    }
                }
            }
        }
    }
}
Reply
#4

valeu vo dar uma olhada
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)