Je vous ai induits en erreur avec ma ligne SetPlayerScore (GetPlayerMoney(playerid) - SommeDepart); qu'Urban à corrigé avec brio.
Le terme SommeDepart n'est pas une variable, c'était juste une indication, il faut le remplacer par la somme que le joueur à lorsqu'il spawn.
Donc si dans OnPlayerConnect on a :
GivePlayerMoney (playerid, 500000);
La ligne du dessus devient :
SetPlayerScore (playerid, GetPlayerMoney(playerid) - 500000);
Et cette ligne doit être appelé dans un timer permanent comme l'a dit Urban (encore lui !! :P).
Ce qui nous donne :
En haut du script :
forward TimerScore ();
dans OnGameModeInit :
SetTimer ("TimerScore", 1000, 1); // Timer permanent pour le score fixé à 1 seconde
Et quelque par dans le script (en dehors de toute autre fonction ou callback) :
public TimerScore ()
{
for (new j=0 ; j<MAX_PLAYERS ; j++)
{
if (IsPlayerConnected (j))
{
SetPlayerScore (j, GetPlayerMoney(j) - 500000); // 500000 est l'argent de départ
}
}
}
++
Syg