GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Nikko™ le 02 Janvier 2008, 13:10:31

Titre: Pour les Scores de mon serv
Posté par: Nikko™ le 02 Janvier 2008, 13:10:31
Bonjour a tous,
Voila cest difficile a expliquer mais je commence par le plus simple,
Vous savez tres bien que en fesant des stunts, on gagne de l'argent.
Jaimerai que par rapport a cet argent on est un score dans le tableau des scores.
Par exemple: en stuntant je gagne 56$, dans le tableau des score ca indique:
id 0, nikko, score: 56.
Voila jai ésséyé ac score update mais rien a faire. ;D
Si on peu m'aider.
Merci
++   nikko
Titre: Re : Pour les Scores de mon serv
Posté par: UrbanGhetto le 02 Janvier 2008, 13:31:22
C'est impossible je crois...
Titre: Re : Pour les Scores de mon serv
Posté par: Orosko le 02 Janvier 2008, 13:45:30
Sur certains serveurs le scores est en nombre de kills sur d'autre les scores affichent l'argent ...
Titre: Re : Pour les Scores de mon serv
Posté par: ghettoman94 le 02 Janvier 2008, 13:55:42
je vais essayer de fair sa att
Titre: Re : Pour les Scores de mon serv
Posté par: Nikko™ le 02 Janvier 2008, 13:55:55
oui justement jaimeré quil affiche l'argent :)
Titre: Re : Pour les Scores de mon serv
Posté par: Syg le 02 Janvier 2008, 14:19:36
Il est très facile d'afficher l'argent du joueur dans le score :

SetPlayerScore (GetPlayerMoney (playerid));

Pour que ce soit un peu plus juste, tu peux aussi enlever la somme de départ (celle que le joueur reçoit quand il se connecte) :

SetPlayerScore (GetPlayerMoney (playerid) - SommeDepart);

Mais cette façon de faire compte aussi l'argent gagné dans les casinos et il n'est pas possible de faire la différence entre l'argent gagné en stunt et celui gagné dans un casino.

++
Syg
Titre: Re : Pour les Scores de mon serv
Posté par: Nikko™ le 02 Janvier 2008, 14:36:36
Merci syg mais je doit placer ce code où ???
++    nikko
Titre: Re : Pour les Scores de mon serv
Posté par: UrbanGhetto le 02 Janvier 2008, 14:47:21
Je crois qu'il faut le mettre dans un Timer...
Titre: Re : Pour les Scores de mon serv
Posté par: S!m le 02 Janvier 2008, 22:03:21
Salut,

C'est en plein ca, tu place le timer dans ONGAmeModeInit (), (n'oublie pas qu'il faut qu'il recommence apres avoir fini) ;)

Puis pour la fonction, si tu veut un exemple, regarde dans Las VanturasMoneygrud,ou lvmd

Sim :bangin
Titre: Re : Pour les Scores de mon serv
Posté par: Nikko™ le 02 Janvier 2008, 23:23:35
Bonsoir a tous pourvez vous me donner le code pour le faire
car je n'y arive pas et je ne suis pas un boss  :'( :king
Titre: Re : Pour les Scores de mon serv
Posté par: ApocKalipsS le 03 Janvier 2008, 00:02:21
En haut de ton GameMode :
forward Score (playerid);Dans OnGameModeInit :
SetTimer("Score", 1800000, 1);En dessous de OnGameModeInit
public Score (playerid)
{
SetPlayerScore (GetPlayerMoney (playerid) - SommeDepart);
}

Voila j'ai pas testé mais bon...
Titre: Re : Pour les Scores de mon serv
Posté par: Nikko™ le 03 Janvier 2008, 11:13:35
Merci beaucoup lepro  :king

++
nikko

EDIT: il y a un warning quand je met le code: C:\Documents and Settings\USER\Bureau\STUNT\gamemodes\stunt2.pwn(1654) : warning 202: number of arguments does not match definition
Titre: Re : Pour les Scores de mon serv
Posté par: ApocKalipsS le 03 Janvier 2008, 12:54:36
Hum... la ligne 1654 c'est le :
SetPlayerScore (GetPlayerMoney (playerid) - SommeDepart);?

Si oui, je ne sais pas...
Mais ca marche ou pas ?
Titre: Re : Pour les Scores de mon serv
Posté par: Nikko™ le 03 Janvier 2008, 13:05:04
oui c'est le code,
En plus je me suis conecté et .... ca marche pas  :wall


++
nikko
Titre: Re : Pour les Scores de mon serv
Posté par: UrbanGhetto le 03 Janvier 2008, 14:21:35
Vous avez oublié un argument...

Regardez bien entre ça :

SetPlayerScore (GetPlayerMoney(playerid) - SommeDepart);
Et ça (Code correct):

SetPlayerScore (playerid,GetPlayerMoney(playerid) - SommeDepart);
Titre: Re : Pour les Scores de mon serv
Posté par: Nikko™ le 03 Janvier 2008, 16:00:46
Ca ne marche pas nn plus   :blink
Soit c'est moi qui ne la pas bien fais,
Soit il y a un pb dans le code...... :dejadehors

++
nikko


Titre: Re : Pour les Scores de mon serv
Posté par: Syg le 03 Janvier 2008, 23:40:55
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
Titre: Re : Pour les Scores de mon serv
Posté par: Nikko™ le 04 Janvier 2008, 12:20:38
Ouai ca marhe comme ca  :king
merci

++
nikko