GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: ShaDowxx™ le 24 Octobre 2011, 15:53:37
-
Bonjour,
Depuis un petit moment déjà, je cherche une solution pour changer le skin d'un joueur qui se trouve avec moins de $0.
J'ai essayé de faire un code mais il ne marche pas. Au cas ou, voici mon code:
/* Timer */
SetTimer("Vpauvre", 1000, true);
et
public Vpauvre()
{
if(GetPlayerMoney(playerid) <= -10000);SetPlayerSkin(playerid,0);
}
J'ai deux questions:
La première: Des deux codes, je suis bien partis ou bien faut-il encore développer?
Deuxième question: Si je dois développer le code, je dois rajouter quoi ou quelle fonction?
Merci de toutes vos réponses.
-
Ce code ne pour pas être compilé vu que dans ta fonction Vpauvre tu utilises une variable playerid qui n'existe pas, pour palier à ce problème je te conseil de faire une boucle qui test tous les joueurs.
Ensuite dans ce code la
if(GetPlayerMoney(playerid) <= -10000);
tu à mis un ";" après un if ce qui n'est pas bon !
-
Merci pour ta réponse assez rapide mais comme je reprends le Pawn, je suis un peu perdu. Je voudrais savoir comment je pourrais faire la boucle.
Cordialement.
-
Merci pour ta réponse assez rapide mais comme je reprends le Pawn, je suis un peu perdu. Je voudrais savoir comment je pourrais faire la boucle.
Cordialement.
new nb, max = 5;
for(nb = 0 ; nb <= max ; nb++)
{
// Suite..
}
-
Merci beaucoup
Cordialment.
-
Si tu veux créer un timer par personne, utilise la fonction SetTimerEx pour pouvoir passer en argument l'indice du joueur.
Si tu veux créer un seul timer qui vérifie tous les joueurs, utilise la fonction SetTimerEx avec une belle boucle comme ceci.
new i;
for (i = 0; i < 500; i++)
{
if (IsPlayerConnected(i))
{
if (GetPlayerMoney(i) > 0)
{
SetPlayerSkin(i, 212);
}
}
}
-
Merci merci! Donc le problème est règlé, merci de votre aide!