• 08 Juillet 2025, 17:40:47


Auteur Sujet: Récuperer le plus grand score  (Lu 1939 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Mac.Max

  • *
  • Nouveau
  • Messages: 13
    • Voir le profil
Récuperer le plus grand score
« le: 02 Avril 2008, 10:14:05 »
Salut à tous,

Je voudrais récupérer le plus grand score pour donner au joueur de l'argent, mais je ne sais pas comment faire.  ;D

J'espère m'être bien exprimé.

Merci.

Maxime
« Modifié: 02 Avril 2008, 14:11:21 par Mac.Max »

Hors ligne Dedepc

  • *
  • Nouveau
  • Messages: 20
    • Voir le profil
Re : Récuperer le plus grandscore
« Réponse #1 le: 02 Avril 2008, 13:27:06 »
Tu récupères toutes les valeurs des scores et tu les compares ..

GetPlayerScore();

Hors ligne Mac.Max

  • *
  • Nouveau
  • Messages: 13
    • Voir le profil
Re : Récuperer le plus grandscore
« Réponse #2 le: 02 Avril 2008, 14:04:47 »
Salut,

Les comparer, oui, mais comment ?  :blink

Maxime

Hors ligne Dedepc

  • *
  • Nouveau
  • Messages: 20
    • Voir le profil
Re : Récuperer le plus grand score
« Réponse #3 le: 02 Avril 2008, 15:54:08 »
J'ai fait çà un peu à l'arrache et avec ce que je connaissait ^^ si jamais certains peuvent me l'améliorer ...

A placer tout en haut du script :

new id_inspectee = 0, score_inspecte = 0;
new id_sauvee = 0, score_sauve = 0;
new gagnant[256];

A placer où tu veux que çà s'enclenche :

for(id_inspectee = 0; id_inspectee < 200; id_inspectee++)
{
    score_inspecte = GetPlayerScore(id_inspectee);
if(score_inspecte > score_sauve)
{
    id_sauvee = id_inspectee;
      score_sauve = score_inspecte;
}
}
new nom[256];
GetPlayerName(id_sauvee, nom, 256);
format(gagnant, 256,"%s a gagné ce test avec succès! :D et remporte 1234$", nom);
SendClientMessageToAll(VERT, gagnant);
GivePlayerMoney(id_sauvee, 1234);

« Modifié: 02 Avril 2008, 16:00:30 par Dedepc »

Hors ligne Mac.Max

  • *
  • Nouveau
  • Messages: 13
    • Voir le profil
Re : Récuperer le plus grand score
« Réponse #4 le: 02 Avril 2008, 16:10:49 »
Merci je vais tester sa tout de suite.  :D

Maxime

Hors ligne [StAfF]MaN

  • [StAfF] forever ^^
  • *
  • Gangster
  • [StAfF] un jour, [StAfF] toujours ^^ !!!
  • Messages: 1040
    • Voir le profil
    • SITE [StAfF]
Re : Récuperer le plus grand score
« Réponse #5 le: 02 Avril 2008, 16:26:39 »
Il a gagné avec -15 ?? je pense que tu t'es gouré :

if(score_inspecte > score_sauve)

met plutôt ça :

if(score_inspecte < score_sauve)

SI c'est normale qu'il est gagné avec moins 15... bah laisse normale alors xD
^v^v^v^v|
   StAfF  |                              IP: gtaunderground.No-Ip.org

^v^v^v^v|

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Récuperer le plus grand score
« Réponse #6 le: 02 Avril 2008, 17:57:57 »
Ce n'est pas -15 dans le score mais 45 (regardes bien le screenshot StaffMan).
Je confirme que le code de Dedepc est correct.

Par contre, j'ai une petite remarque concernant la boucle.
Il est impératif de commencé par un test sur IsPlayerConnected, ce n'est pas la peine de traiter des joueurs qui ne sont pas là.
for(id_inspectee = 0; id_inspectee < 200; id_inspectee++)
{
if (IsPlayerConnected (id_inspectee))
{
    score_inspecte = GetPlayerScore(id_inspectee);
if(score_inspecte > score_sauve)
{
id_sauvee = id_inspectee;
      score_sauve = score_inspecte;
}
}
}

Et ceci est valable pour TOUTES les boucles sur les joueurs.

++
Syg
Courtesy of GtaManiac

Hors ligne Dedepc

  • *
  • Nouveau
  • Messages: 20
    • Voir le profil
Re : Récuperer le plus grand score
« Réponse #7 le: 02 Avril 2008, 18:29:08 »
Oui  :ohmy merci Syg j'avais jamais pensé à mettre çà ! c'est vrai que c'est encore mieux pour éviter de faire le tour des joueurs inexistants

Par contre une chose que j'ai du supprimer c'est score_sauve car dans le message le score était "-" (pas un chiffre)
je pense que c'est une histoire de variable... Donc j'ai supprimé l'affichage du score gagnant  :-X ...

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Récuperer le plus grand score
« Réponse #8 le: 03 Avril 2008, 09:54:10 »
Petite explication pour ton signe "-" à la place du score.
En fait dans la fonction format, tu as certainement mis "%s" (affichage de chaînes de caractères) ou "%c" (affichage de caractères) pour l'affichage du score alors qu'il aurait fallu mettre "%d" (affichage de nombres).
D'ailleurs, si on regarde un table des codes ASCII, le signe moins "-" à pour code ASCII 45.

++
Syg
Courtesy of GtaManiac

Hors ligne Dedepc

  • *
  • Nouveau
  • Messages: 20
    • Voir le profil
Re : Récuperer le plus grand score
« Réponse #9 le: 03 Avril 2008, 10:37:11 »
 :ohmy ooh oui, exact! bein alors Mac.Max il ne reste plus qu'à ajouter ce format pour afficher le score gagnant :

format(gagnant, 256,"%s a gagné ce test avec succès avec %d points et remporte 1234$", nom, score_sauve);
Grand merci à vous tous  ;)