Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
Connexion avec identifiant, mot de passe et durée de la session

 
avancée

254715 Messages dans 14037 Fils de discussion- par 6622 Membres - Dernier membre: lauraline72

23 Mai 2012 à 21:28:52
GTAOnline.frSan Andreas MultiplayerScripting SA-MP [Pawn center] (Modérateurs: S!m, Xartrick)[RESOLUT] Stocker nom d'un joueur dans une variable global . . .
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: [RESOLUT] Stocker nom d'un joueur dans une variable global . . .  (Lu 378 fois)
0 Membres et 2 Invités sur ce fil de discussion.
feldbrau
Despo_Rutti,Co-Scripteur de Redwood Valley RP & Ancien Scripteur GTAngel Life RP
Hors ligne Hors ligne


GTAOnline Big Member
*

Messages: 332


Despo_Rutti

« le: 28 Octobre 2008 à 16:38:05 »

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:

Code:
    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 Sourire
« Dernière édition: 29 Octobre 2008 à 03:34:29 par feldbrau » Journalisée
S!m
Hors ligne Hors ligne


Moderateur
GTAOnline Fan Boy
*

Messages: 2260


« Répondre #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:
Code:
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++
Journalisée





feldbrau
Despo_Rutti,Co-Scripteur de Redwood Valley RP & Ancien Scripteur GTAngel Life RP
Hors ligne Hors ligne


GTAOnline Big Member
*

Messages: 332


Despo_Rutti

« Répondre #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 Clin d'oeil

Journalisée
S!m
Hors ligne Hors ligne


Moderateur
GTAOnline Fan Boy
*

Messages: 2260


« Répondre #3 le: 29 Octobre 2008 à 02:50:14 »

ah LMAO

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

++Sim++
Journalisée





Pages: [1]   Haut de page
Imprimer
Aller à:  

Theme créé par padexx et modifié par GTAOnline.fr
Page générée en 0.13 secondes avec 22 requêtes.
Forum GTAOnline.fr 2.0 | Design par : Lalu et GtaManiac
Merci a toute la communaute pour son support !
Copyright © 2004-2012 - GTAOnline.fr | GTAPro.com | Contact