• 03 Mai 2025, 14:32:11


Auteur Sujet: [Résolu]Barre de statut  (Lu 1755 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne jonjon

  • *** GTA FanBoy ***
  • *
  • Bandit
  • Mouhaha
  • Messages: 420
    • Voir le profil
    • http://metra-concept.fr
[Résolu]Barre de statut
« le: 12 Avril 2009, 11:42:44 »
Bonjour, alors voilà j'ai réalisé pour mon serveur un petit FS qui affiche une barre de petit besoin et je n'arrive pas à la faire fonctionner... :s Quand je vais sur mon serveur la barre ne diminue pas... alors que je pense avoir tout bien fait. 0 warnings, 0 erreurs.

Donc voici mon script sur pastebin : http://pastebin.gtaonline.fr/pastebin.php?show=557


Un petit screen vous montrant un aperçu du script est disponible ci-dessous.



Ps : ne faites pas attention au temps du timer ^^ il est petit car c'est pour les tests... c'est plus rapide.
Ps2 : ce script m'a pris une heure voir deux heures (en comptant les tests) pour le réaliser donc s'il vous plait ne recopiez pas bêtement mon script.


Cordialement, Jon.
« Modifié: 13 Avril 2009, 23:52:15 par jonjon »
== Jonjon ==
== Développeur du Web - http://Metra-concept.fr ==

Hors ligne Franky™

  • Franky™ est bien la
  • *
  • Gangster
  • Messages: 1058
    • Voir le profil
Re : Barre de statut
« Réponse #1 le: 12 Avril 2009, 17:13:44 »
Salut,

Je sais pas t'aider pour ce problème mais je viens de tester ton FS et il me bloque toutes mes cmds qui sont sur mon GM
Même pour se loguer /login impossible de le faire...

Voila c'etais une info pour pas que sa t'arrive ^^

++ Franky


°°((Franky's WebSite
Désolé pour mes fautes d'orthographes

Hors ligne jonjon

  • *** GTA FanBoy ***
  • *
  • Bandit
  • Mouhaha
  • Messages: 420
    • Voir le profil
    • http://metra-concept.fr
Re : Barre de statut
« Réponse #2 le: 12 Avril 2009, 19:15:56 »
salut, effectivement voilà une erreur bête , j'ai mi un return 1 à la place d'un return 0. Mais ça résout pas mon problème.... :S


Cordialement, j0n
« Modifié: 13 Avril 2009, 10:27:30 par jonjon »
== Jonjon ==
== Développeur du Web - http://Metra-concept.fr ==

Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Barre de statut
« Réponse #3 le: 12 Avril 2009, 20:39:40 »
Ta esseyé de mettre un TextDrawDestroy puis un TextDrawCreate a la place de TextDrawSetString(BesoinBar[playerid],"..");
Juste pour tester si ca viens de la ... ??

++
nikko

Hors ligne jonjon

  • *** GTA FanBoy ***
  • *
  • Bandit
  • Mouhaha
  • Messages: 420
    • Voir le profil
    • http://metra-concept.fr
Re : Barre de statut
« Réponse #4 le: 12 Avril 2009, 21:31:58 »
Ce n'est pas là non plus d'où viens l'erreur ^^
== Jonjon ==
== Développeur du Web - http://Metra-concept.fr ==

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Barre de statut
« Réponse #5 le: 12 Avril 2009, 23:01:49 »
Effectivement, le TextDrawSetString suffit depuis la 0.2.X.

J'ai jeté un coup d'oeil à ton FS :
L'erreur principale (qui fait que ton TextDraw n'est pas mis à jour) est ton timer :
    SetTimerEx("Timerbesoin", 180000, false, "99", 1);
Ce timer n'est lancé qu'une seule fois (paramètre false) donc la variable besoin ne sera incrémentée qu'une seule fois et ne changera plus de valeur par la suite.
De plus, les paramètres "99" et 1 ne correspondent à rien.

La deuxième erreur, que tu ne verras pas vu en étant tout seul vient de la variable besoin elle même.
Il n'y a qu'une seule variable pour tous les joueurs .... !!
Il faudrait en faire un tableau pour chaque joueur est sa variable à lui.

++
Syg

Courtesy of GtaManiac

Hors ligne jonjon

  • *** GTA FanBoy ***
  • *
  • Bandit
  • Mouhaha
  • Messages: 420
    • Voir le profil
    • http://metra-concept.fr
Re : Barre de statut
« Réponse #6 le: 13 Avril 2009, 11:50:22 »
Merci Syg ça m'a bien avancé, ma variable se change bien, j'ai fais un test de variable et ça fonctionne impec. Par contre quand besoin arrive à 6 et quand sa arrive à ci-dessous:

Citer
   if(besoin == 6)
   {
       TextDrawSetString(BesoinBar[playerid],"");

      if(Health >= 100)
   {
       SetPlayerHealth(playerid, 70.0);
       return 1;
   }
      if(Health >= 70)
   {
       SetPlayerHealth(playerid, 50.0);
       return 1;
   }
      if(Health >= 50)
   {
       SetPlayerHealth(playerid, 30.0);
       return 1;
   }
      if(Health >= 30)
   {
       SetPlayerHealth(playerid, 10.0);
       return 1;
   }
      if(Health >= 10)
   {
       SetPlayerHealth(playerid, 0.0);
       return 1;
   }
      return 1;
   }

le serveur crashe.... :s


Quelqu'un sait pourquoi ?


Cordialement, Jon
== Jonjon ==
== Développeur du Web - http://Metra-concept.fr ==

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Barre de statut
« Réponse #7 le: 13 Avril 2009, 13:43:09 »
j ai as compris pourquoi tu met si la variable health est plus grande que 10 on le tue et si elle est plus grande de 50 on lui baisse ca vie c 'est bete car au final il meurt le gars puisque la variable est toujours au dessus de 10



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Barre de statut
« Réponse #8 le: 13 Avril 2009, 13:52:26 »
Je plutôt que si la vie est en dessous de 30, il y a l'action du 10, mais si la vie est entre 50 et 30, il y a l'action du 30, etc.

Hors ligne Franky™

  • Franky™ est bien la
  • *
  • Gangster
  • Messages: 1058
    • Voir le profil
Re : Barre de statut
« Réponse #9 le: 13 Avril 2009, 16:20:23 »
Oui mais ça

 if(Health >= 10)

C'est dit, si "Health" est plus grand (>) ou egale (=) que 10 patati patata.

Donc pour moi je pense que sa serai mieu de remplacer > par < sa ferai donc

si "Health" est plus petit (<) ou egale (=) que 10 patati patata.

Sa serai mieu, et c'est peu être pour ça que ton serveur il crash, car tu est toujours au dessu de 10 donc il va toujours faire cette variable...

Mais c'est pas qu'avec le 10.
Mais avec tout que ta mis ça.

ça sera mieu comme ca je trouve:
Citer
if(besoin == 6)
   {
       TextDrawSetString(BesoinBar[playerid],"");

      if(Health <= 100)
   {
       SetPlayerHealth(playerid, 70.0);
       return 1;
   }
      if(Health <= 70)
   {
       SetPlayerHealth(playerid, 50.0);
       return 1;
   }
      if(Health <= 50)
   {
       SetPlayerHealth(playerid, 30.0);
       return 1;
   }
      if(Health <= 30)
   {
       SetPlayerHealth(playerid, 10.0);
       return 1;
   }
      if(Health <= 10)
   {
       SetPlayerHealth(playerid, 0.0);
       return 1;
   }
      return 1;
   }

++ Franky


°°((Franky's WebSite
Désolé pour mes fautes d'orthographes

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : Barre de statut
« Réponse #10 le: 13 Avril 2009, 21:54:38 »
Salut,

franky, le code orignal est bien meilleur,

dans ton cas, peu importe la vie du joueur, elle sera sous 100 avant d,être sous 70, donc le cas du 100 sera toujours (à quelques exceptions près) validé.

le mieu serait plutôt:

    SetPlayerHealth(playerid, Health - 20.0);

et plus aucun besoin de test

++Sim++





Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Barre de statut
« Réponse #11 le: 13 Avril 2009, 22:30:44 »
Le problème de crash vient de cette ligne :
TextDrawSetString(BesoinBar[playerid],"");Le serveur n'aime pas les chaînes vide dans les TextDraw.
Met ceci à la place :
TextDrawSetString(BesoinBar[playerid]," ");NB : Il y a un espace entre les guillemets.

++
Syg
Courtesy of GtaManiac

Hors ligne jonjon

  • *** GTA FanBoy ***
  • *
  • Bandit
  • Mouhaha
  • Messages: 420
    • Voir le profil
    • http://metra-concept.fr
Re : Barre de statut
« Réponse #12 le: 13 Avril 2009, 23:51:32 »
Salut, oui merci Syg. C'est Sim qui m'a aidé à finir mon script !!! Un grand merci à Sim car il y avait pas mal de fautes qui m'a corrigé :) et maintenant le script fonctionne nickel.

Merci à tous.


Cordialement, Jon
« Modifié: 14 Avril 2009, 09:57:49 par jonjon »
== Jonjon ==
== Développeur du Web - http://Metra-concept.fr ==

Hors ligne Azz45

  • Good Player
  • *
  • Mafioso
  • RolePlay Player
  • Messages: 2809
    • Voir le profil
Re : [Résolu]Barre de statut
« Réponse #13 le: 14 Avril 2009, 16:37:50 »
T'aurais pu dire, Merci aussi à Syg, il ta donner un bon truc  :-[

~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~


~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~~•~  ~•~  ~•~  ~•~
Avancement du GM : 3%
~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~  ~•~
~•Merci Kloken, pour la vidéo lors de mon anniversaire•~

Hors ligne White_Light

  • *
  • Mafioso
  • Messages: 2023
    • Voir le profil
Re : Re : Barre de statut
« Réponse #14 le: 14 Avril 2009, 16:51:08 »
Il a dit

Merci à tous.


donc pour tous ceux qui l'ont aidé ^^

WL




QUI VEUX UN CAKE AUX OLIVES.