GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: CarCrasher le 08 Mars 2014, 14:18:24
-
Bonjour amis scripteurs et dans un monde innexistant scripteuses :D
Me revoilà pour vous importuner une nouvelle fois !
Cette fois-ci mon bug se pose sur mes fonctions GetNotTeamClosestPlayer & GetTeamClosestPlayer.
En effet, ma fonction GetClosestPlayer marche parfaitement, mais, pour faire un anti-nof, je me suis penché sur des variantes qui ne prennent en compte que les joueurs dont la team est différente ou la même, et celles-là ne marchent pas !
Par exemple, on peut se rendre au bar pour s'abreuver et reconstituer notre barre de vie, sauf si un joueur d'une team différente est dans les environs.
if(GetDistanceBetweenPlayers(playerid, GetNotTeamClosestPlayer(playerid)) > 50)
Néanmoins, ça me dit toujours qu'un joueur d'une team différente est trop proche !
Alors, voici donc les fautifs !
http://pastebin.com/Y3BJfZXB (http://pastebin.com/Y3BJfZXB)
P.-S. : Je sais ma façon d'ident est différente
Merci :biggrin:
-
Autant faire :
stock IsNoEnemiesAround(playerid, float:dist)
{
if(IsPlayerConnected(playerid))
{
new Float:POS[3];
GetPlayerPos(playerid, POS[0], POS[1], POS[2]);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(gTeam[playerid] != gTeam[i])
{
if(IsPlayerInRangeOfPoint(i, dist, POS[0], POS[1], POS[2])
{
return true;
}
}
}
}
}
else return false;
}
J'ai fais ça vite fait.
-
Ca donne toujours le même résultat :(