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
-
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.
-
J'ai pas très bien compris ce que le joueur a déjà.
-
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 ^^
-
Utilise la fonction IsPlayerInRangeOfPoint (http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint)
-
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.
-
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 ;)
-
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;
}
-
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.
-
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 ^^
-
tu as zapper de passer la variable JoueurInCercle a 1
-
Salut cristab,
Oui ma variable passe a 1 quand le joueur est dans le cercle...
-
aaaah oui je vient de voir enfaite
passe ta variable a 1 avant de montrer le menu sa devrais corriger le truc je pense
-
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...
-
return 0 si la var dit qu'il y a deja quelqu'un dedans ?
-
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 :).