SA-MP Forums Archive
[Ajuda] NPC atirar se Player estiver perto, e parar de atirar se ficar em certa distancia - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] NPC atirar se Player estiver perto, e parar de atirar se ficar em certa distancia (/showthread.php?tid=665357)



NPC atirar se Player estiver perto e parar se estiver longe (RESOLVIDO) - NATANGameron - 31.03.2019

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;




Re: NPC atirar se Player estiver perto, e parar de atirar se ficar em certa distancia - n0minal - 31.03.2019

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


Re: NPC atirar se Player estiver perto, e parar de atirar se ficar em certa distancia - NATANGameron - 31.03.2019

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?




Re: NPC atirar se Player estiver perto, e parar de atirar se ficar em certa distancia - Felipealves - 01.04.2019

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


Re: NPC atirar se Player estiver perto, e parar de atirar se ficar em certa distancia - NATANGameron - 01.04.2019

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


Re: NPC atirar se Player estiver perto, e parar de atirar se ficar em certa distancia - Felipealves - 01.04.2019

Boa.