GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: NoLimit le 11 Octobre 2011, 18:15:30
-
Bonjour à tous, j'aimerais juste savoir quand est-ce qu'on met un MAX_PLAYERS exemple:
new teste[MAX_PLAYERS];
Au lieu de
new teste;
-
Le new Variables[MAX_PLAYERS]; est une façon de créer un tableau pour stocké une variable pour un joueur en particulier car MAX_PLAYERS est égal a 500 en réalité tu fait Variables[500]; le maximum de joueur et tu stocks la Variables dans le tableau a la classe du playerid l'ID du joueur et normalement l'ID du joueur ne change pas au cours d'une partie et tu la ressort en Variables[playerid]=0;.
-
Oulah, sa me dépasse tous ça ^^, vous pouvez pas expliquer plus simplement ? Désoler ..
-
Par exemple, tu veux mettre l'age de chacuns des test joueurs connectés ( 500 au maximum, soit MAX_PLAYERS ) dans une/des variables/
Tu pourrais faire ca :
<?php
new AgeJoueur0; // Age de l'id 0
new AgeJoueur1; // Age de l'id 1
new AgeJoueur2; // Age de l'id 2
new AgeJoueur3; // Age de l'id 3
new AgeJoueur4; // Age de l'id 4
new AgeJoueur5; // Age de l'id 5
new AgeJoueur6; // Age de l'id 6
// Etc.. jusque 500, autrement dit jusque MAX_PLAYERS
AgeJoueur0 = ..;
AgeJoueur1 = ..;
AgeJoueur2 = ..;
AgeJoueur3 = ..;
AgeJoueur4 = ..;
AgeJoueur5 = ..;
AgeJoueur6 = ..;
// Etc jusque 500
Mais on fera ca :
<?php
new AgesJoueurs[MAX_PLAYERS];
// On aurait pu faire [500] mais on utilise MAX_PLAYERS
// Car c'est une constante qui est modifiée lors des differents versions de sa-mp
AgesJoueurs[0] = ..; // Age de l'ID 0
AgesJoueurs[1] = ..; // Age de l'ID 1
AgesJoueurs[2] = ..; // Age de l'ID 2
AgesJoueurs[3] = ..; // Age de l'ID 3
AgesJoueurs[4] = ..; // Age de l'ID 4
Spiirou
++
-
Ok en exemple tu créer une variable simple genre :
new Ok;
La t'as variable peut être égal a une valeur (Réel) mais ce n'est pas pour tout les joueurs cet variable si elle est égal a 0 elle le seras pour tous ! Nous cherchons donc comment faire ?
new Ok[MAX_PLAYERS];
Un Tableau !
Donc la on a une variable avec MAX_PLAYERS qui est égal a 500 (maximum de slots et égal 500 sur SA:MP)
En bref on a une variable Ok avec 500 cases donc 500 valeurs a mettre dans chacune des cases avec le numéros de la case pour chaque cases !
Et comment faire alors pour les mettre dedans ?
Dans :
public OnPlayerConnect(playerid)
{
}
Le playerid dedans est égal a un chiffre ID du joueur ! Donc dans OnPlayerConnect si on fait :
Ok[playerid]=10;
La valeur de la case playerid (0 si tu est le premier connecté) est égal a 10.
Et tu peut la resortir n'importe ou donc chaque joueur a une case a lui pour cet variable !
Voilà ! :)
EDIT : Spiirou plus rapide.
-
Ah oui d'accord je comprend mieux, merci de vôtre aide et de vos exemples en tout cas !