GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Warlem le 14 Juin 2013, 21:19:15

Titre: Bug bizzare
Posté par: Warlem le 14 Juin 2013, 21:19:15
Salut alors je suis actuellement en train de débugé un GM fr mais un script me parait louche même quand je crois que je réussi.J'ai contacté des potes Scripteur ils m'ont dit que le script est bon sans défaut.
[spoiler]for(new i = 0; i < sizeof(TCarInfo); i++)[/spoiler]
Et quand je compile sa fait:
[spoiler]C:\Users\Alexis\Desktop\Life From San Franciscok\gamemodes\LFSFv3.pwn(534) : warning 216: nested comment
C:\Users\Alexis\Desktop\Life From San Franciscok\gamemodes\LFSFv3.pwn(555) : error 017: undefined symbol "TCarInfo"
C:\Users\Alexis\Desktop\Life From San Franciscok\gamemodes\LFSFv3.pwn(555) : error 036: empty statement
C:\Users\Alexis\Desktop\Life From San Franciscok\gamemodes\LFSFv3.pwn(555) : error 017: undefined symbol "i"
C:\Users\Alexis\Desktop\Life From San Franciscok\gamemodes\LFSFv3.pwn(555) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.
[/spoiler]
Merci de m'aidé !
Titre: Re : Bug bizzare
Posté par: Infu le 14 Juin 2013, 23:18:02
Remplace:

Code: (pawn) [Sélectionner]
sizeof(TCarInfo)
Par la valeur exacte de TCarInfo
Titre: Re : Bug bizzare
Posté par: Gzsume le 14 Juin 2013, 23:42:27
Je ne pense pas que cela vienne de là. La première erreur signifie que quelque-part dans ton code, tu as ouvert (ou fermé) deux fois un commentaire. Par exemple, tu as fais ça :

Code: (pawn) [Sélectionner]
/*

/*

Les erreurs suivantes sont assez étranges et devraient se résoudre sans qu'on sache trop pourquoi si tu corriges la première. ;)
Titre: Re : Bug bizzare
Posté par: Warlem le 14 Juin 2013, 23:54:57
J'me suis toujours dis:compliqué la vie xD
Mais par la Valeur exacte j'ai pas trop compris c'est a dire ?
Titre: Re : Bug bizzare
Posté par: Gzsume le 15 Juin 2013, 00:29:49
Oublies et fais ce que je t'ai conseillé, il y a peu de chances que ça vienne effectivement de là. :wink:
Titre: Re : Bug bizzare
Posté par: Warlem le 15 Juin 2013, 10:25:08
J'ai contacté un ami qui est scripteur,il m'a dit "TCarInfo" n'est pas définit,mais faut faire comment ?
Titre: Re : Re : Bug bizzare
Posté par: Infu le 15 Juin 2013, 11:05:06
Oublies et fais ce que je t'ai conseillé, il y a peu de chances que ça vienne effectivement de là. :wink:


Sinon pour définir il faut utiliser une directive de pré-possesseur. (Tu vois citron, j'ai pas oublié tes cours en pawn xD )
Titre: Re : Re : Re : Bug bizzare
Posté par: spiirou le 15 Juin 2013, 12:03:45
Oublies et fais ce que je t'ai conseillé, il y a peu de chances que ça vienne effectivement de là. :wink:


Sinon pour définir il faut utiliser une directive de pré-possesseur. (Tu vois citron, j'ai pas oublié tes cours en pawn xD )

C'est une variable qui n'est pas définie plus exactement une table de valeurs TCarInfo, comme il en récupère sa taille et la parcourt en incrémentant la variable i dans la boucle for.
Vérifie que tu as bien quelque chose du genre new TCarInfo[]; en haut du code, si celà n'y est pas l'erreur vient de là !

Sinon, donne un peu plus de code ( quelques lignes au dessus et en dessous ;) )

Spiirou
++
Titre: Re : Bug bizzare
Posté par: Gzsume le 15 Juin 2013, 13:06:29
Ça lui sort la même erreur avec la variable i alors qu'on voit clairement qu'elle est définie, ça vient donc sans-doute de la première erreur qui en cause d'autres pas très logiques (ça arrive souvent avec le compilateur...). Tu as regardé pour les commentaires comme je t'ai dit de le faire ?
Titre: Re : Bug bizzare
Posté par: Warlem le 16 Juin 2013, 16:55:11
Citer
// STOCK DES COMMANDES POUR LES CONES
stock CreateCone(Float:x,Float:y,Float:z,Float:Angle)
{
    for(new i = 0; i < sizeof(ConeInfo); i++)
     {
         if(ConeInfo[cCreate] == 0)
         {
            ConeInfo[cCreate]=1;
            ConeInfo[cX]=x;
            ConeInfo[cY]=y;
            ConeInfo[cZ]=z-0.3;
            ConeInfo[cObject] = CreateDynamicObject(1238, x, y, z-0.7, 0, 0, Angle-90);
           return 1;
         }
     }
     return 0;
}

stock DeleteAllCone()
{
    for(new i = 0; i < sizeof(ConeInfo); i++)
     {
         if(ConeInfo[cCreate] == 1)
         {
             ConeInfo[cCreate]=0;
            ConeInfo[cX]=0.0;
            ConeInfo[cY]=0.0;
            ConeInfo[cZ]=0.0;
            DestroyDynamicObject(ConeInfo[cObject]);
         }
   }
    return 0;
}


{
    for(new i = 0; i < sizeof(ConeInfo); i++)
     {
         if(IsPlayerInRangeOfPoint(playerid, 1.0, ConeInfo[cX], ConeInfo[cY], ConeInfo[cZ]))
        {
             if(ConeInfo[cCreate] == 1)
            {
                ConeInfo[cCreate]=0;
                ConeInfo[cX]=0.0;
                ConeInfo[cY]=0.0;
                ConeInfo[cZ]=0.0;
                DestroyDynamicObject(ConeInfo[cObject]);
                return 1;
             }
         }
     }
    return 0;
}*/
stock DeleteClosestCone(playerid)
{
 for(new i = 0; i < sizeof(TCarInfo); i++)
 {
   if(ConeInfo[cCreate] == 1)
   {
      if(IsPlayerInRangeOfPoint(playerid, 2.0, ConeInfo[cX], ConeInfo[cY], ConeInfo[cZ]))
      {
                              new Name[MAX_PLAYER_NAME], str[128];
                              GetPlayerName(playerid, Name, sizeof(Name));
                              format(str, sizeof(str), "* %s se penche et ramasse le cône.", Name);
                              ProxDetector(9.0, playerid, str,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                                  SendClientMessage(playerid, COLOR_WHITE, ""green"[Info:]"white" Vous ramassez le cône.");
                              ConeInfo[cCreate]=0;
                                  ConeInfo[cX]=0.0;
                                  ConeInfo[cY]=0.0;
                                     ConeInfo[cZ]=0.0;
                                   DestroyDynamicObject(ConeInfo[cObject]);
                                  return 0;
    }//else return SendClientMessage(playerid, COLOR_GREY, ""red"[Erreur:]"grey" Vous n'êtes pas prêts d'une carcasse");
   }
  }
    return 0;
}
stock GetClosestVehicle(playerid)
{
   new Float:x, Float:y, Float:z;
   new Float:dist, Float:closedist=6, closeveh;
   for(new i=1; i < MAX_VEHICLES; i++)
   {
      if(GetVehiclePos(i, x, y, z))
      {
         dist = GetPlayerDistanceFromPoint(playerid, x, y, z);
         if(dist < closedist)
         {
            closedist = dist;
            closeveh = i;
         }
      }
   }
   return closeveh;
}
//stock des trashcar

stock CreateTCar(Float:x,Float:y,Float:z,Float:Angle)
{
      for(new id = 0; id < sizeof(TCarInfo); id++)
        {
Tout sa
Et oui j'ai fais comme ta dit.
Titre: Re : Bug bizzare
Posté par: Gzsume le 16 Juin 2013, 17:37:13
Visiblement non puisque j'ai repéré un commentaire fermant inutile dans ton code. ^^