GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Raptor2x le 25 Janvier 2013, 12:17:13

Titre: IsPlayerInArea
Posté par: Raptor2x le 25 Janvier 2013, 12:17:13
Bonjour,

Je voudrai faire un code qui fait que si le joueur n'est pas dans une zone définie, il y a un compte à rebours d'environ 5/10 secondes qui s'enclenche, arrivé à 0, il meurt, s'il n'est pas revenu dans la zone.

J'ai farfouiller un peu, et j'ai vu qu'il fallait utilisé "IsPlayerInArea", mon problème, c'est que je n'arrive pas trop à comprendre comment ça fonctionne, trouver les coordonnées d'une zone, c'est simple via l'application "Ultimate Mapper", mais même en lisant et en essayant d'appliquer ce tuto (http://forum.sa-mp.com/showthread.php?t=222283), je n'arrive pas à comprendre comment mettre en place tout ça.

J'ai surtout besoin d'aide pour savoir comment "IsPlayerInArea" fonctionne, savoir où placer mon code s'il n'est pas dans la zone, après, pour le timer et la mort, je me débrouillerai.

Merci d'avance, bonne journée !
Titre: Re : IsPlayerInArea
Posté par: cristab le 25 Janvier 2013, 12:26:00
regarde la http://wiki.sa-mp.com/wiki/Areacheck (http://wiki.sa-mp.com/wiki/Areacheck)
Titre: Re : IsPlayerInArea
Posté par: Raptor2x le 26 Janvier 2013, 00:40:02
Merci à toi de ta réponse.
Le code semble bien marcher, mais que dans un sens, si je rentre dans la zone, je meurs, mais j'arrive pas à faire l'inverse, que ça soit quand on sort de la zone..

EDIT : Problème résolu, merci à toi !

public isPlayerInArea()
{
    new Float:X, Float:Y, Float:Z; //We use this to store player position
    for(new i=0; i < MAX_PLAYERS; i++) //This line defines a name for all player, the name is "i"
    {
        GetPlayerPos(i, X, Y, Z); //Here we are storing the player position on the variables X, Y, and Z defined previously
        if (X <= 1995 && X >= 1493 && Y <= -2684 && Y >= -2712)
        {
        SendClientMessage(i,0xFFFFFF,"Zone intérieur !!");
        }
else
    {
        SendClientMessage(i,0xFFFFFF,"Zone extérieur !!");
return 1;
}
    }
return 0;
}