[Ajuda] NPC atirar se Player estiver perto, e parar de atirar se ficar em certa distancia
#1

Estou tentando fazer com que um NPC atire caso o Player esteja atй no maximo 50 metros de distancia, e se passar disso ele nгo vai atirar, mas nгo estou conseguindo fazer com que funcione 100% como deveria. Alйm disso somente comeзa a atirar 1 NPC e depois vai aos poucos os outros atirando, nem todos comeзam a atirar mesmo estando perto deles.

PHP Code:
forward Soldier();
public 
Soldier()
{
    new 
playerSoldadoFloat:distFloat:xFloat:yFloat:zAttackS[MAX_PLAYERS];
    foreach (new 
Player)
    {
        for(new 
025c++)
        {
            
FCNPC_GetPosition(Solider[c], xyz);
            
dist GetPlayerDistanceFromPoint(ixyz);
            if(
dist <= 50.0)
            {
                if(
AttackS[Soldado] == 0)
                {
                    
FCNPC_AimAtPlayer(Solider[c], playertrue, -1true0.00.00.00.00.00.0);
                    if(
dist >= 0.1FCNPC_SetAngleToPlayer(Soldadoi);
                    
AttackS[Soldado] = 1;
                }
            }
            else if(
dist >= 50.0)
            {
                new 
Float:pP[3];
                if(
AttackS[Soldado] == 1)
                {
                    
AttackS[Soldado] = 0;
                    
FCNPC_StopAim(Solider[c]);
                }
                
GetPlayerPos(ipP[0], pP[1], pP[2]);
            }
            else 
FCNPC_Stop(Soldado);
        }
    }
    return 
1;

Reply
#2

FCNPC_AimAtPlayer(Solider[c], i, true, -1, true, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
Reply
#3

Quote:
Originally Posted by n0minal
View Post
FCNPC_AimAtPlayer(Solider[c], i, true, -1, true, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
Уtimo! Funcionou perfeitamente, apos ficar uma certa distancia eles param de ativar, mas ainda ficou apenas 1 problema, nem todos comeзa a atirar somente aos poucos como eu falei ali acima, existe alguma forma de resolver isso?

Reply
#4

Variбvel Soldado й inъtil, como vc nгo atribui nenhum valor a ela obviamente sу um vai atirar no caso o 0.
Reply
#5

Quote:
Originally Posted by Felipealves
View Post
Variбvel Soldado й inъtil, como vc nгo atribui nenhum valor a ela obviamente sу um vai atirar no caso o 0.
Obrigado, acabei de resolver o problema
Reply
#6

Boa.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)