GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Katou76 le 20 Septembre 2012, 19:12:02

Titre: Check un joueur dans le cercle
Posté par: Katou76 le 20 Septembre 2012, 19:12:02
Bonjour à tous,

Voila j'ai une petite question:

J'ai mis un checkpoint dans un intérieur et quand un joueur va dedans et qu'il en ai déjà un, sa ne lui affiche pas le menu.

Cordialement.
Titre: Re : Check un joueur dans le cercle
Posté par: Ssk le 20 Septembre 2012, 20:53:11
J'ai pas très bien compris ce que le joueur a déjà.
Titre: Re : Check un joueur dans le cercle
Posté par: Katou76 le 20 Septembre 2012, 21:07:54
Je reformule ^^

Je voudrais faire en sorte que je puisse checké si un autre  joueur est dans le cercle ou pas,

Si un joueur est dedans, sa lui un affiche un message, si il ne l'est pas, sa lui affiche un menu ^^

J’espère avoir été plus clair ^^
Titre: Re : Check un joueur dans le cercle
Posté par: Ssk le 20 Septembre 2012, 21:30:31
Utilise la fonction IsPlayerInRangeOfPoint (http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint)
Titre: Re : Check un joueur dans le cercle
Posté par: Katou76 le 20 Septembre 2012, 21:43:25
Arf tu a toujours pas compris ^^

Je vais te donnée un exemple,

2 joueurs entrent dans une armurie, l'un deux va dans le checkpoint qui lui affiche un menu, l'autre joueur tente d'y aller en même temps que le premier mais il ne peut pas, il faut qu'il attende que le premier joueur sorte du checkpoint.
Titre: Re : Check un joueur dans le cercle
Posté par: Ssk le 20 Septembre 2012, 21:53:21
Ah ok, je comprends mieux maintenant.

Ce que tu peux faire, c'est que dès que le joueur A entre dans le checkpoint tu mets à 1 la variable ensuite si le joueur B entre dans le checkpoint et que la variable est à 1 alors tu lui affiches le message.

Par contre n'oublie pas de mettre à 0 la variable quand le joueur A quitte le menu ;)
Titre: Re : Check un joueur dans le cercle
Posté par: Katou76 le 22 Septembre 2012, 12:21:40
Merci, ça marche a moitié, quand un joueur est dedans, il me l'indique bien qu'il est dedans mais quand le joueur est dans le menu, je peut y accédé en même temps que lui.

Mon code:

new JoueurInCercle = 0;

public OnPlayerEnterCheckpoint(playerid)
{
    if(JoueurInCercle == 0)
    {
        ShowMenuForPlayer.....
  JoueurInCercle = 1;
    }
    else
    {
        SendClientMessage(playerid,COLOR_GRAD1,"Un joueur est déjà dans le cercle !");
        return 1;
    }
}
public OnPlayerLeaveCheckpoint(playerid)
{
JoueurInCercle = 0;
}
Titre: Re : Check un joueur dans le cercle
Posté par: Ssk le 22 Septembre 2012, 14:00:35
Yep normal, si tu look bien quand le joueur B va aller sur le checkpoint ça va lui dire qu'il y a déjà quelqu'un sur le checkpoint.

Mais quand le joueur B va quitter le checkpoint, ça va remettre JoueurInCercle à 0, donc il pourra revenir sur le checkpoint pour avoir le menu.
Titre: Re : Check un joueur dans le cercle
Posté par: Katou76 le 22 Septembre 2012, 17:19:26
Quand je rentre dans le cercle, çà m'affiche le message mais j'ai quand même accès au menu, j’achète quelque chose, le joueur arrive aussi a entrer dans le cercle et accède au menu alors que j'y suis ^^
Titre: Re : Check un joueur dans le cercle
Posté par: cristab le 22 Septembre 2012, 22:15:25
tu as zapper de passer la variable JoueurInCercle a 1
Titre: Re : Check un joueur dans le cercle
Posté par: Katou76 le 23 Septembre 2012, 12:51:11
Salut cristab,

Oui ma variable passe a 1 quand le joueur est dans le cercle...
Titre: Re : Check un joueur dans le cercle
Posté par: cristab le 23 Septembre 2012, 14:48:39
aaaah oui je vient de voir enfaite

passe ta variable a 1 avant de montrer le menu sa devrais corriger le truc je pense
Titre: Re : Check un joueur dans le cercle
Posté par: Katou76 le 23 Septembre 2012, 15:25:18
C'est ce que j'ai fais, même en entrant moi même dans le cercle sans qu'il y est un autre joueur dedans, ça m'affiche le menu avec le message d'erreur...
Titre: Re : Check un joueur dans le cercle
Posté par: spiirou le 27 Septembre 2012, 17:13:21
return 0 si la var dit qu'il y a deja quelqu'un dedans ?
Titre: Re : Check un joueur dans le cercle
Posté par: Katou76 le 28 Septembre 2012, 10:15:52
Problème résolu !

C'est le ShowMenu qui merdé, j'ai retiré ma variable JoueurInCercle de la fonction est je l'ai placé avant ^^.

Merci de votre aide :).