GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Soravani le 09 Septembre 2009, 16:41:09

Titre: Demande d'aide.
Posté par: Soravani le 09 Septembre 2009, 16:41:09
Bonsoir,

J'ai un gros soucis. Quand je compile mon script, ca me met:  C:UsersKevinDesktop   estgamemodesW-TDM.pwn(2327) : error 079: inconsistent return types (array & non-array)

Et ca, 24 fois, sur differente ligne.
Voilà un morceau de mon script:

if (strcmp("/smw", cmdtext, true, 10) == 0)
{
        if (DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "Vous ne pouvez pas utiliser cette commande en DM!"); -> Ligne qui bug. ( 2327 )
if (PlayerInfo[playerid][pFamilyRank] == 1)
          {
ShowMenuForPlayer(weaponmain,playerid);
}
else
{
SendClientMessage(playerid, RED, "Vous n'êtes pas membre de la famille!");
}
  return 1; -> Autre ligne qui bug ( 2327 )
  }

Merci d'avance, aurevoir !

Double post
Petit UP S'il vous plait  :rules
Titre: Re : Demande d'aide.
Posté par: leptiroman le 10 Septembre 2009, 01:19:10
heu essaye return 0; jpense

mais sans conviction
Titre: Re : Demande d'aide.
Posté par: Soravani le 10 Septembre 2009, 08:05:15
Je le met à la place du quel ?

1 er ou deuxième ligne qui bug ?
Titre: Re : Demande d'aide.
Posté par: Ssk le 10 Septembre 2009, 08:11:55
il te manquais une accollade



if (strcmp("/smw", cmdtext, true, 10) == 0)
{
        if (DMArena[playerid] == 1) return SendClientMessage(playerid, RED, "Vous ne pouvez pas utiliser cette commande en DM!"); -> Ligne qui bug. ( 2327 )
if (PlayerInfo[playerid][pFamilyRank] == 1)
          {
ShowMenuForPlayer(weaponmain,playerid);
}
else
{
SendClientMessage(playerid, RED, "Vous n'êtes pas membre de la famille!");
}
}
  return 1; -> Autre ligne qui bug ( 2327 )
  }
Titre: Re : Demande d'aide.
Posté par: Soravani le 10 Septembre 2009, 08:14:16
j'ai copier coller ton texte, et mon pawn crash..
Titre: Re : Demande d'aide.
Posté par: Ssk le 10 Septembre 2009, 08:16:06
Bon j' edit le reveille a ete difficile je voit très mal l'es erreur mais copie mon code et dit moi les bug


if (strcmp("/smw", cmdtext, true, 10) == 0)
{
        if (DMArena[playerid] == 1)
{
return SendClientMessage(playerid, RED, "Vous ne pouvez pas utiliser cette commande en DM!") ;
}
if (PlayerInfo[playerid][pFamilyRank] == 1)
         {
ShowMenuForPlayer(weaponmain,playerid);
}
else
{
SendClientMessage(playerid, RED, "Vous n'êtes pas membre de la famille!");
}

  return 1;
  }
Titre: Re : Demande d'aide.
Posté par: Soravani le 10 Septembre 2009, 08:20:20
En effet, merci bien, plus qu'a corriger mes 26 autre error 079 ;)

EDIT: error 001: expected token: ";", but found "}"

Voilà ce que ca me fait..
Titre: Re : Demande d'aide.
Posté par: Zordiache le 10 Septembre 2009, 10:09:12
ça sa veut dire qu'il manque un point virgule ( ; ) dans ton scritp  ;)
Titre: Re : Demande d'aide.
Posté par: Soravani le 10 Septembre 2009, 11:30:43
Bah à vrai dire, quand je vais sur la ligne qui bug ( Error 001 ) C'est une ligne ou il y à juste " { ".


EDIT: Error 001 résolu !

Peux t'on me dire ce que c'est l'erreur 079 ? Comment la corriger ?

Merci.
Titre: Re : Demande d'aide.
Posté par: Ssk le 10 Septembre 2009, 13:05:21
return SendClientMessage(playerid, RED, "Vous ne pouvez pas utiliser cette commande en DM!");


change par cette ligne car il devait y avoir un espace en trop
Titre: Re : Demande d'aide.
Posté par: Soravani le 10 Septembre 2009, 17:50:17
Merci ca marche pour cette ligne, mais le reste..

Titre: Re : Demande d'aide.
Posté par: Syg le 11 Septembre 2009, 12:14:01
error 079: inconsistent return types (array & non-array) : Les types des valeurs de retour ne sont pas cohérents.
Cette erreur survient lorsque l'on retourne dans une même fonction une valeur ET un tableau.

Exemple de fonction qui génère l'erreur ;
MaFonction ()
{
    new i=7;
    new Toto[5] = {0, 1, 2, 3, 4};

    if (i==3)
    {
        return i; // Ici on retourne une valeur
    }
    else
    {
        return Toto; // Ici on retourne un tableau
    }
}

Pour corriger cette erreur, il faut donc que tu vérifies que TOUS les return de ton OnPlayerCommandText sont corrects.
Il doit certainement y en avoir un qui renvoie autre chose que 0 ou 1 quelque part dans OnPlayerCommandText.

++
Syg