• 05 Mai 2025, 20:34:08


Auteur Sujet: Problème de véhicules  (Lu 1289 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Problème de véhicules
« le: 10 Juin 2012, 18:07:59 »


Slt

J'utilise un système d'achat et de vente de véhicule mais depuis quelque temps, on vient de me faire remarquer un énorme bug. En effet, n'importe quelle personne peut taper /buycar pour devenir propriétaire de la voiture.
Voici où doit se trouver le pb dans le code

Citer
dcmd_buycar(playerid,cmdtext[])
{
   #pragma unused cmdtext
   if(!IsPlayerInAnyVehicle(playerid))
   {
       ERRORMSG("Vous devez être dans votre vehicule");
       return 1;
   }
   if(PI[playerid][Login] == 0)
   {
       ERRORMSG("Vous devez être enregistré pour acheter un vehicule");
       return 1;
   }
   else
   {
      new str[16];
      new Voit;
      Voit=GetPlayerVehicleID(playerid);
      val1 = dini_Get(str, "Nom proprio");
      format(str, sizeof(str), "%d.ini", Voit);
      
      
      if(strcmp(val1,"Libre",false) == 0)
      {

          val2 = dini_Get(str,"prix");
         PI[playerid][Argent]=GetPlayerCash(playerid);
         if(PI[playerid][Argent]>=strval(val2))
         {
            PI[playerid][car] = dini_Int(CompteJoueur(playerid),"car");
            if(PI[playerid][car] == -1)
            {
                    dini_Set(str,"Nom proprio",nom(playerid));
                    dini_IntSet(CompteJoueur(playerid),"car",Voit);
                    GivePlayerCash(playerid,-strval(val2));
                    format(string1,256,"Vous venez d'acheter ce vehicule pour %d$",strval(val2));
                    OKMSG(string1);
                    SetVehicleToRespawn(Voit);
            }
            else
            {
               ERRORMSG("Vous êtes déjà pocesseur d'un vehicule");
            }
         }
         else
         {
            ERRORMSG("Vous n'avez pas l'argent necessaire pour acheter ce vehicule");
             return 1;
         }
      }
      else
      {
         ERRORMSG("Ce vehicule n'est pas à vendre");
          return 1;
      }
    }
   return 1;
}

J'espère que vous aurez une réponse à mon pb...

A+ ;)

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : Problème de véhicules
« Réponse #1 le: 10 Juin 2012, 21:42:19 »
le mieux serais de mettre un printf a la variable val1
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : Problème de véhicules
« Réponse #2 le: 11 Juin 2012, 12:26:43 »
En effet, il y a un soucis à ce niveau

val1 = dini_Get(str, "Nom proprio");
format(str, sizeof(str), "%d.ini", Voit);


if(strcmp(val1,"Libre",false) == 0)
{
   printf("Le vrai nom de val1 est %d ou %d.",val1,val1);

Phrase renvoyée
Citer
Le vrai nom de val1 est 0 ou 0.


à l'intérieur des comptes voitures, j'ai pourtant:
Citer
Nom proprio=Libre

Des idées ? ;D
« Modifié: 11 Juin 2012, 12:33:31 par LePtitClown »

Hors ligne spiirou

  • *
  • L'avenir appartient à ceux qui se lèvent
  • Messages: 866
    • Voir le profil
Re : Problème de véhicules
« Réponse #3 le: 11 Juin 2012, 13:08:04 »
Citer
new str[16];
      new Voit;
      Voit=GetPlayerVehicleID(playerid);
      format(str, sizeof(str), "%d.ini", Voit);
      val1 = dini_Get(str, "Nom proprio");
      format(str, sizeof(str), "%d.ini", Voit);

Peut être bien comme cela non ? En indiquant un nom de fichier avant de fouiller dedans ?  :P

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : Problème de véhicules
« Réponse #4 le: 11 Juin 2012, 17:07:42 »
 :lmfao ça marche, décidément, tu as réponse à tout aujourd'hui

Hors ligne spiirou

  • *
  • L'avenir appartient à ceux qui se lèvent
  • Messages: 866
    • Voir le profil
Re : Problème de véhicules
« Réponse #5 le: 11 Juin 2012, 18:57:17 »
Visiblement oui  :lmfao