• 04 Juin 2026, 13:38:54


Auteur Sujet: [RESOLUT] Stocker nom d'un joueur dans une variable global . . .  (Lu 1585 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne feldbrau

  • Despo_Rutti,Co-Scripteur de Redwood Valley RP & Ancien Scripteur GTAngel Life RP
  • *
  • Bandit
  • Messages: 410
    • Voir le profil
Bonjour a tous,

J'aurais besoin de votre aide parce que la je seche ^^.
Je voudrais faire un systeme de mise en attente d'un joueur et lorsque se joueur arrive, definir la variable "en_attente" a 0. Le seul probleme, c'est que je voit pas trop comment faire pour reprendre le nom du premier participant lorsque le deuxieme fait la commande.

Je post ma commande pour vous eclairez un peu:

    new string[500], joueur[250];
GetPlayerName(playerid, joueur, sizeof(joueur));
if (strcmp("/partie", cmdtext, true, 10) == 0)
{
if(partie_en_attente == 0 && partie_en_cours == 0)
{
    SetPlayerName(playerid, "Participant1"); // Le nom est un exemple ;)
    partie_en_attente = 1;
    participant = 1;
    participant_en_attente[playerid] = 1;
        format(string, sizeof(string), "Commentateur: %s a rejoind une partie. Pour le rejoindre: /partie. ", joueur);
    SendClientMessageToAll(COLOR_GREY, string);
}
else if(partie_en_attente == 1)
{
    SetPlayerName(playerid, "Participant2");// Celui la aussi XD
// Et ici il faudrait que participant_en_attente attribué a "Participant1" soit remise a 0
                    participant_en_attente["Participant1"] = 0;        // A la place de participant, la variable stockant le nom du joueur ;)
    partie_en_attente = 0;
    partie_en_cours = 1;
    participant = 2;
    format(string, sizeof(string), "Commentateur: %s essaye d'entrer mais les garde l'empeche. La partie est pleine: /regarder, pour aller les supporter.", joueur);
    SendClientMessageToAll(COLOR_GREY, string);

}
else if(partie_en_cours == 1)
{
    SendClientMessage(playerid, COLOR_RED, "La partie en cours est déja pleine, veuillez patientez!");
    SendClientMessage(playerid, COLOR_RED, "Si vous voulez les regarder faite: /regarder!");
}
return 1;
}

En gros, c'est comme si dans le script, on fesait un SendClientMessage a une personne prédéfinit dans la ligne de code par son nom.

J'ai un peu de mal a expliquer se que je veut dire, j'espere que vous aurez compris.

Merci d'avoir choppé une migraine en essayer de comprendre ^^

++

EDIT: Si ca vous interesse je posterai la resolution plus tard merci :)
« Modifié: 29 Octobre 2008, 03:34:29 par feldbrau »

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [RESOLUT] Stocker nom d'un joueur dans une variable global . . .
« Réponse #1 le: 28 Octobre 2008, 21:53:52 »
salut,

je n'ai pas très bien compris ton truc de résolution, mais pour faire cela, tu doit créer un array afin d'avoir une valeur pour chaque joueur...

en haut de ton script:
new nomdujoueur[MAX_PLAYERS][MAX_PLAYER_NAME];alors lorsque tu te servira de cet array, tu met le playerid à la place de MAX_PLAYERS et le nom se stockera, puis kan tu veut ten servir, tu met le id du joueur que tu veut le nom...

++sim++





Hors ligne feldbrau

  • Despo_Rutti,Co-Scripteur de Redwood Valley RP & Ancien Scripteur GTAngel Life RP
  • *
  • Bandit
  • Messages: 410
    • Voir le profil
Re : [RESOLUT] Stocker nom d'un joueur dans une variable global . . .
« Réponse #2 le: 29 Octobre 2008, 01:22:49 »
E,fait c'était plus simple que se que t'a se qu'il me fallait ^^.

Enfait, je definit: new Participants[2]; en gobale.
Lors de l'appel de commande pour rejoindre, je fais Participants[0] = playerid; comme ca je peut reutiliser la variable Participants[0]; pour la modifier dans une commande:

SendClientMessage(Participants[0], couleur," Ton adversaire vient de s'approcher");
En_Attente[Participant[0]] = 0;

Voila en gros se que ca donne ;)


Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [RESOLUT] Stocker nom d'un joueur dans une variable global . . .
« Réponse #3 le: 29 Octobre 2008, 02:50:14 »
ah :lmfao

j'avais pas très bien compris ce que tu demandais... c'était un peu flou disons...heureu que ca marche :P

++Sim++