GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Leonidas300 le 13 Novembre 2010, 11:29:56
-
Voilà, j'ai voulut crée une commande qui permet de /matos commencer-/matos charger-/matos decharger, en gros une seul commande pour faire du matos
Mais le problème c'est que sa me fait une ligne d'erreur, et si j'enleve le "else" du "else if(strcmp(x_nr,"charger",true) == 0)", sa me met un warning et IG sa ne marche pas le /matos charger ( je tien à préciser que le /matos commencer marche IG )
Voilà la commande:
La le début de ma commande ( retiré )...
new x_nr[64];
x_nr = strtok(cmdtext, idx);
if(!strlen(x_nr))
{
SendClientMessage(playerid, COLOR_WHITE, "UTILISATION: /matos [Nom]");
SendClientMessage(playerid, COLOR_RED, "Noms: commencer, charger, decharger.");
return 1;
}
if(strcmp(x_nr,"commencer",true) == 0)
{
La mon code de la commande commencer qui marche...,
return 1;
}
else if(strcmp(x_nr,"charger",true) == 0)// C'est cette ligne ou sa met l'erreur* (Vois plus bas dans le poste le nom des erreurs)
{
if(PlayerInfo[playerid][pJobill] != 23)
{
SendClientMessage(playerid, COLOR_GREY, "Vous n'avez pas le bon job (Prenez dealer d'armes)");
return 1;
}
if(Commencermatos[playerid] == 0)
{
SendClientMessage(playerid, COLOR_RED, "Vous n'avez pas encore fait ''/matos commencer''");
return 1;
}
SetTimerEx("Entrindecharge", 10000, 0, "d", playerid);
SendClientMessage(playerid, COLOR_RED, "Votre bateau est en train de se faire charger, patienter...");
TogglePlayerControllable(playerid, 0);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "UTILSATION: /matos [Nom]");
SendClientMessage(playerid, COLOR_LIGHTRED, "Noms Valibles: commencer, charger, decharger");
return 1;
}
}
return 1;
}
*Code d'erreur:
C:\DOCUME~1\DOUWIE~1\Bureau\_FR_LO~1\GAMEMO~1\LSGV2.PWN(18121) : warning 225: unreachable code
C:\DOCUME~1\DOUWIE~1\Bureau\_FR_LO~1\GAMEMO~1\LSGV2.PWN(18121) : error 029: invalid expression, assumed zero
C:\DOCUME~1\DOUWIE~1\Bureau\_FR_LO~1\GAMEMO~1\LSGV2.PWN(18121) : warning 215: expression has no effect
C:\DOCUME~1\DOUWIE~1\Bureau\_FR_LO~1\GAMEMO~1\LSGV2.PWN(18121) : error 001: expected token: ";", but found "if"
Merci de votre aide
-
ça doit venir de ton code qui est bon.. tu as du oublier un ; et donc il va venir chercher le premier if ou else if qu'il trouve. Donc la condition que si le joueur à rentrer comme paramètres '' charger"
-
Ben regarde, j'ai vérifié, voilà mon code "bon" lol
new x_nr[64];
x_nr = strtok(cmdtext, idx);
if(!strlen(x_nr))
{
SendClientMessage(playerid, COLOR_WHITE, "UTILISATION: /matos commencer");
return 1;
}
if(strcmp(x_nr,"commencer",true) == 0)
{
if(PlayerInfo[playerid][pJobill] != 23)
{
SendClientMessage(playerid, COLOR_GREY, "Vous n'avez pas le bon job (Prenez dealer d'armes)");
return 1;
}
if(!PlayerToPoint(5.0, playerid, 2619.5618,-2461.7654,13.3325))
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Vous n'êtes pas au bonne endroit, allez au dock! (point rouge sur votre carte)");
SetPlayerCheckpoint(playerid,2619.5618,-2461.7654,13.3325,8.0);
Commencermatos[playerid] = 1;
return 1;
}
if(GetPlayerMoney(playerid) < 1500)
{
SendClientMessage(playerid, COLOR_GREY, "Vous n'avez pas assez d'argent! ($1500)!");
return 1;
}
SafeGivePlayerMoney(playerid, -1500);
format(string, sizeof(string), "Rendez-vous au bateau militaire de San Fierro (Marqué sur votre carte)");
SendClientMessage(playerid, COLOR_GREY, string);
Commencermatos[playerid] = 0;
Tourneagauche[playerid] = 1;
SetPlayerCheckpoint(playerid,-1308.2966,275.9717,-0.1326,8.0);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "UTILSATION: /matos [Nom]");
SendClientMessage(playerid, COLOR_LIGHTRED, "Noms Valibles: commencer, charger, decharger");
return 1;
}