GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: ApocKalipsS le 07 Août 2009, 21:08:25
-
Bonjour,
Je souhaiterais savoir comment définir une condition "si le nom est = à.."
Exemple :
if(name == lepro49)
{
}
Merci d'avance de vos aides !
-
c'est assez simpliste enfaite
new name[18];
GetPlayerName(playerid, name, sizeof(name));
if(strcmp(name,"lepro49", true)==0)
{
//ton code
}
sa semble fonctionner de cette manier apres peu etre qu'autrement sa fonctionne ;=)
-
Salut,
c'est la seule et meilleure méthode que je connaisse (quoi que l'on puisse aussi faire la comparaison caractère à caractère...)
par contre tu devrais changer la taille de ta chaine, utilise plutôt la constante MAX_PLAYER_NAME qui est plus adaptée à ce cas ci....
++Sim++
-
Merci à vous !
-
Désolé double post, mais en fait ca marche pas, je voulais que quand il spawn, et que son nom = ... alors il ai une arme spécifique.
-
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(strcmp(name,"lepro49", true)==0)
{
SendClientMessage(playerid,Orange,"Si j'apparait c'est que le code fonctionne ^^);
}
test ceci dans le OnPlayerConnect et come dit la phrase si sa apparait c'est que sa fonctionne
dan ce cas rajoute un condition
New Arme[MAX_PLAYERS];
dans le on playerconnecte
Arme[playerid] = 0;
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
if(strcmp(name,"lepro49", true)==0)
{
Arme[playerid] = 1;
}
enfin dans le onplayerspawn
if(Arme[playerid] == 1)
{
GivePlayerWeapon(playerid, 26, 9999);
}
PS j'ai changer Sim la valeur de Name mais j'avais mis 18 car je pense que les pseudo on maxi 18 de caractere (sans en etre sur j'ai pas regarder)
-
16, ils en ont, et merci à toi, vais tester !
-
Salut,
la longueur maximale du nom d'un joueur pour être accepté à la connexion est 16, mais en cours de jeux on peut lui changer son nom et se rendre à MAX_PLAYER_NAME
++Sim++