02.10.2012, 18:06
(
Последний раз редактировалось XDamienX007; 28.03.2015 в 23:47.
)
Salut а tous, je vous propose un tutoriel fait par Jochemd: [URL="https://sampforum.blast.hk/showthread.php?tid=274028"]l'original[/URL]
Ceci est une traduction en franзais.
[SIZE="7"][CENTER][COLOR="Grey"]Warning and Error List[/COLOR][/CENTER][/SIZE]
[CENTER][SIZE="6"]by Jochemd[/SIZE]
[SIZE="5"][COLOR="SeaGreen"]Warnings[/COLOR][/SIZE][/CENTER]
[SIZE="4"][COLOR="Red"]- Loose Indentation[/COLOR][/SIZE]
{
SendClientMessage(playerid,-1,"Vous avez quittй le checkpoint.");
print("Quelqu'un a quittй le checkpoint");
return 1;
}[/pawn]
{
SendClientMessage(playerid,-1,"Vous avez quittй le checkpoint.");
print("Quelqu'un a quittй le checkpoint");
return 1;
}[/pawn]
[SIZE="4"][COLOR="Red"]- Unreachable code[/COLOR][/SIZE]
{
if(vehicleid == 520) // Juste un ID alйatoire
{
SendClientMessage(playerid,-1,"Vous кtes entrй dans le vйhicule contenant l'ID 520.");
return 1;
}
else return 0;
return 1;
}[/pawn]
{
if(vehicleid == 520) Juste un ID alйatoire
{
SendClientMessage(playerid,-1,"Vous кtes entrй dans le vйhicule contenant l'ID 520.");
return 1;
}
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Nested comment[/COLOR][/SIZE]
{
/* if(vehicleid == 520)
{
if(playerid == 0)
{
/* if(ispassenger)
{
print("Ohai!");
return 1;
}
}
} */
return 1;
}[/pawn]
{
/* if(vehicleid == 520)
{
if(playerid == 0)
{
if(ispassenger)
{
print("Ohai!");
return 1;
}
}
} */
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Number of arguments does not match definition[/COLOR][/SIZE]
{
#pragma unused params
SetPlayerPos(playerid,0.0,0.0,3.0,90.0); // Vous avez mis l'angle accidentellement
SendClientMessage(playerid,-1,"Vous avez bien йtй envoyй dans le centre de Blue Berry.");
return 1;
}[/pawn]
{
#pragma unused params
SetPlayerPos(playerid,0.0,0.0,3.0);
SetPlayerFacingAngle(playerid,90.0); // L'angle se met dans cette fonction
SendClientMessage(playerid,-1,"Vous avez bien йtй envoyй dans le centre de Blue Berry.");
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Symbol is never used 'symbol'[/COLOR][/SIZE]
{
#pragma unused params
new Float:Pos[3],string[128]; // string ne sera pas utilisй dans la commande, il provoque donc le warning
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2] + 200);
SendClientMessage(playerid,-1,"Vous avez йtй envoyй haut dans le ciel");
GivePlayerWeapon(playerid,46,1);
return 1;
}[/pawn]
{
#pragma unused params
new Float:Pos[3];
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2] + 200);
SendClientMessage(playerid,-1,"You have been sent high in the sky.");
GivePlayerWeapon(playerid,46,1);
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Tag mismatch[/COLOR][/SIZE]
{
#pragma unused params
new Pos[3]; // La variable Pos n'a pas de "label" Float (une position est une valeur dйcimal et dois кtre avec Float!)
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
printf("Votre position: X: %f || Y: %f || Z: %f",Pos[0],Pos[1],Pos[2]);
return 1;
}[/pawn]
{
#pragma unused params
new Float:Pos[3]; // La variable а le label Float, le warning disparait.
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
printf("Your position: X: %f || Y: %f || Z: %f",Pos[0],Pos[1],Pos[2]);
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Unknown parameter in substitution[/COLOR][/SIZE] (suggested by iggy1)
Il y a surement d'autre Warning, mais.. je ne les connais pas tous ^^ Contactez Jochemd pour зa :)
[CENTER][SIZE="5"][COLOR="Red"]Erreurs[/COLOR][/SIZE][/CENTER]
[SIZE="4"][COLOR="RED"]- Undefined symbol 'symbol'[/COLOR][/SIZE]
{
#pragma unused params
GetPlayerName(playerid,Playername,sizeof(Playername));
SendClientMessage(playerid,-1,Playername);
return 1;
}[/pawn]
{
#pragma unused params
new Playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,Playername,sizeof(Playername));
SendClientMessage(playerid,-1,Playername);
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Expected token: ")", but found "["[/COLOR][/SIZE]
SendClientMessage(playerid, COLOR_RED, "Vous avez dйjа un tйlйphone");
return 1;
}[/pawn]
new PlayerInfos[MAX_PLAYERS][pinfo]
if(PlayerInfos[playerid][pNum] != 0) { //PlayerInfos n'a jamais йtй crйe avant
SendClientMessage(playerid, COLOR_RED, "Vous avez dйjа un tйlйphone");
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Symbol already defined 'symbol'[/COLOR][/SIZE]
{
new Playername[MAX_PLAYER_NAME];
#pragma unused params
new Playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,Playername,sizeof(Playername));
SendClientMessage(playerid,-1,Playername);
return 1;
}[/pawn]
{
#pragma unused params
new Playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,Playername,sizeof(Playername));
SendClientMessage(playerid,-1,Playername);
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Expression has no effect[/COLOR][/SIZE]
{
#pragma unused params
GivePlayerWeapon(playerid,46,1);k // Le k gиne
SendClientMessage(playerid,-1,"Tu as un parachute");
return 1;
}[/pawn]
{
#pragma unused params
GivePlayerWeapon(playerid,46,1);
SendClientMessage(playerid,-1,"Tu as un parachute");
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]Empty statement[/COLOR][/SIZE]
{
#pragma unused params
GivePlayerWeapon(playerid,46,1);; // Cette ligne donne l'erreur
SendClientMessage(playerid,-1,"You got a parachute");
return 1;
}[/pawn]
{
#pragma unused params
GivePlayerWeapon(playerid,46,1);
SendClientMessage(playerid,-1,"You got a parachute");
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]Function "function" is not implemented[/COLOR][/SIZE]
{
SendFormatMessage(playerid,-1,"Cash: %d ... Score: %d",GetPlayerMoney(playerid),GetPlayerScore(playerid)); // La fonction SendFormatMessage n'est pas compris par le compilateur
return 1;
}[/pawn]
#define SendFormatMessage(%0,%1,%2,%3) format(str, sizeof(str),%2,%3) && SendClientMessage(%0, %1, str)
[/pawn]
[SIZE="4"][COLOR="RED"][Fatal Error]- Cannot read from file 'file'[/COLOR][/SIZE]
Si j'ai fait une erreur de traduction ou un oubli dоtes le moi ;)
Je n'ai pas utilisй de traducteur en ligne, et j'ai trouvй sympa de faire un tuto en partie franзaise, зa йvitera peut кtre les questions pour un warning :)
RAJOUT:
[SIZE="4"][COLOR="RED"]Run time error 20[/COLOR][/SIZE]
Vous avez cette erreur dans la console: Run time error 20: Invalid index parameter (bad entry point)
{
}
[/pawn]
Ceci est une traduction en franзais.
[SIZE="7"][CENTER][COLOR="Grey"]Warning and Error List[/COLOR][/CENTER][/SIZE]
[CENTER][SIZE="6"]by Jochemd[/SIZE]
[SIZE="5"][COLOR="SeaGreen"]Warnings[/COLOR][/SIZE][/CENTER]
[SIZE="4"][COLOR="Red"]- Loose Indentation[/COLOR][/SIZE]
- Cause: Vous avez un code mal identй
{
SendClientMessage(playerid,-1,"Vous avez quittй le checkpoint.");
print("Quelqu'un a quittй le checkpoint");
return 1;
}[/pawn]
- Rйparer: Assurez vous que le code est bien identй
{
SendClientMessage(playerid,-1,"Vous avez quittй le checkpoint.");
print("Quelqu'un a quittй le checkpoint");
return 1;
}[/pawn]
[SIZE="4"][COLOR="Red"]- Unreachable code[/COLOR][/SIZE]
- Cause: Intervient si le code est inaccessible pour le compilateur (return mal placйs).
{
if(vehicleid == 520) // Juste un ID alйatoire
{
SendClientMessage(playerid,-1,"Vous кtes entrй dans le vйhicule contenant l'ID 520.");
return 1;
}
else return 0;
return 1;
}[/pawn]
- Rйparer: Assurez vous que le code est bien accessible, il doit toujours retourner une valeur
{
if(vehicleid == 520) Juste un ID alйatoire
{
SendClientMessage(playerid,-1,"Vous кtes entrй dans le vйhicule contenant l'ID 520.");
return 1;
}
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Nested comment[/COLOR][/SIZE]
- Cause: Un warning pas du tout important. Vous avez placй un commentaire а l'intйrieur d'un autre commentaire
{
/* if(vehicleid == 520)
{
if(playerid == 0)
{
/* if(ispassenger)
{
print("Ohai!");
return 1;
}
}
} */
return 1;
}[/pawn]
- Rйparer: Supprimer un commentaire
{
/* if(vehicleid == 520)
{
if(playerid == 0)
{
if(ispassenger)
{
print("Ohai!");
return 1;
}
}
} */
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Number of arguments does not match definition[/COLOR][/SIZE]
- Cause: Vous avez mis trop (ou pas assez) "d'argument" dans la fonction
{
#pragma unused params
SetPlayerPos(playerid,0.0,0.0,3.0,90.0); // Vous avez mis l'angle accidentellement
SendClientMessage(playerid,-1,"Vous avez bien йtй envoyй dans le centre de Blue Berry.");
return 1;
}[/pawn]
- Rйparer: Regardez le nombre de paramиtres que prend la fonction utilisй. Le wiki SAMPdit que la fonction SetPlayerPos contient seulement 4 paramиtres: playerid, X, Y, Z. L'angle ne doit pas se trouver dans la fonction
{
#pragma unused params
SetPlayerPos(playerid,0.0,0.0,3.0);
SetPlayerFacingAngle(playerid,90.0); // L'angle se met dans cette fonction
SendClientMessage(playerid,-1,"Vous avez bien йtй envoyй dans le centre de Blue Berry.");
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Symbol is never used 'symbol'[/COLOR][/SIZE]
- Cause: Vous avez crйe une variable mais vous ne l'avez pas utilisй.
{
#pragma unused params
new Float:Pos[3],string[128]; // string ne sera pas utilisй dans la commande, il provoque donc le warning
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2] + 200);
SendClientMessage(playerid,-1,"Vous avez йtй envoyй haut dans le ciel");
GivePlayerWeapon(playerid,46,1);
return 1;
}[/pawn]
- Rйparer: Retirez simplement la variable inutile.
{
#pragma unused params
new Float:Pos[3];
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2] + 200);
SendClientMessage(playerid,-1,"You have been sent high in the sky.");
GivePlayerWeapon(playerid,46,1);
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Tag mismatch[/COLOR][/SIZE]
- Cause: Vous avez assignй un mauvais "label" pour votre variable (bool, float, ...).
{
#pragma unused params
new Pos[3]; // La variable Pos n'a pas de "label" Float (une position est une valeur dйcimal et dois кtre avec Float!)
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
printf("Votre position: X: %f || Y: %f || Z: %f",Pos[0],Pos[1],Pos[2]);
return 1;
}[/pawn]
- Rйparer: Trouvez le bon label, pour le cas d'un textdraw: "Text", pour le cas d'un texte 3D: "Text3D", etc.
{
#pragma unused params
new Float:Pos[3]; // La variable а le label Float, le warning disparait.
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
printf("Your position: X: %f || Y: %f || Z: %f",Pos[0],Pos[1],Pos[2]);
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Unknown parameter in substitution[/COLOR][/SIZE] (suggested by iggy1)
- Cause: Vous avez utilisй un #define mais une valeur n'est pas reconnu
- Rйparer: Utilisez les bonnes valeurs, assurez vous qu'ils sont bien identique а gauche comme а droite.
Il y a surement d'autre Warning, mais.. je ne les connais pas tous ^^ Contactez Jochemd pour зa :)
[CENTER][SIZE="5"][COLOR="Red"]Erreurs[/COLOR][/SIZE][/CENTER]
[SIZE="4"][COLOR="RED"]- Undefined symbol 'symbol'[/COLOR][/SIZE]
- Cause: Le contraire de "symbol never used". Vous avez appelй une variable sans la crйer.
{
#pragma unused params
GetPlayerName(playerid,Playername,sizeof(Playername));
SendClientMessage(playerid,-1,Playername);
return 1;
}[/pawn]
- Rйparer: Crйer la variable manquante.
{
#pragma unused params
new Playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,Playername,sizeof(Playername));
SendClientMessage(playerid,-1,Playername);
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Expected token: ")", but found "["[/COLOR][/SIZE]
- Dйfinition: Il s'attend а trouver ")", mais il trouve le signe "["
- Cause: Vous cherchez un tableau qui n'existe pas
SendClientMessage(playerid, COLOR_RED, "Vous avez dйjа un tйlйphone");
return 1;
}[/pawn]
- Rйparer: Crйez le tableau correspondant (ou modifiez le nom du tableau utilisй si faute de frappe)
new PlayerInfos[MAX_PLAYERS][pinfo]
if(PlayerInfos[playerid][pNum] != 0) { //PlayerInfos n'a jamais йtй crйe avant
SendClientMessage(playerid, COLOR_RED, "Vous avez dйjа un tйlйphone");
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Symbol already defined 'symbol'[/COLOR][/SIZE]
- Cause: Vous avez crйe deux fois la mкme variable.
{
new Playername[MAX_PLAYER_NAME];
#pragma unused params
new Playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,Playername,sizeof(Playername));
SendClientMessage(playerid,-1,Playername);
return 1;
}[/pawn]
- Rйparer: Supprimer une des deux variables.
{
#pragma unused params
new Playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,Playername,sizeof(Playername));
SendClientMessage(playerid,-1,Playername);
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]- Expression has no effect[/COLOR][/SIZE]
- Cause: Je ne suis pas sur pour celui lа. Je pense que c'est quand un symbole n'est pas bien placй ou qu'il n'a rien а faire lа.
{
#pragma unused params
GivePlayerWeapon(playerid,46,1);k // Le k gиne
SendClientMessage(playerid,-1,"Tu as un parachute");
return 1;
}[/pawn]
- Rйparer: Supprimer ce symbole.
{
#pragma unused params
GivePlayerWeapon(playerid,46,1);
SendClientMessage(playerid,-1,"Tu as un parachute");
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]Empty statement[/COLOR][/SIZE]
- Cause: Vous avez mis deux fois le point virgule ";".
{
#pragma unused params
GivePlayerWeapon(playerid,46,1);; // Cette ligne donne l'erreur
SendClientMessage(playerid,-1,"You got a parachute");
return 1;
}[/pawn]
- Rйparer: Trouvez le double ; et supprimez le.
{
#pragma unused params
GivePlayerWeapon(playerid,46,1);
SendClientMessage(playerid,-1,"You got a parachute");
return 1;
}[/pawn]
[SIZE="4"][COLOR="RED"]Function "function" is not implemented[/COLOR][/SIZE]
- 1иre cause: Vous avez appelй une fonction qui n'est pas ajoutй en stock.
- 2nde cause: Vous avez oubliй un }.
{
SendFormatMessage(playerid,-1,"Cash: %d ... Score: %d",GetPlayerMoney(playerid),GetPlayerScore(playerid)); // La fonction SendFormatMessage n'est pas compris par le compilateur
return 1;
}[/pawn]
- 1: Ajoutez le stock de la fonction.
- 2: Trouvez l'accolade manquante et ajoutez lа.
#define SendFormatMessage(%0,%1,%2,%3) format(str, sizeof(str),%2,%3) && SendClientMessage(%0, %1, str)
[/pawn]
[SIZE="4"][COLOR="RED"][Fatal Error]- Cannot read from file 'file'[/COLOR][/SIZE]
- Cause: Vous avez ajoutй un include au gamemode mais il n'est pas dans le dossier '/pawno/includes'.
- Rйparer: Placez l'include dans le dossier '/pawno/includes/' de votre serveur, si vous avez deux pawno ouvrez d'abord pawno.exe et faites ouvrir > votre gamemode.
Si j'ai fait une erreur de traduction ou un oubli dоtes le moi ;)
Je n'ai pas utilisй de traducteur en ligne, et j'ai trouvй sympa de faire un tuto en partie franзaise, зa йvitera peut кtre les questions pour un warning :)
RAJOUT:
[SIZE="4"][COLOR="RED"]Run time error 20[/COLOR][/SIZE]
Vous avez cette erreur dans la console: Run time error 20: Invalid index parameter (bad entry point)
- Cause: Il vous manque une "entrйe", un point de repиre pour le serveur.
- Rйparer: Placez le code si dessous au dessus de OnGameModeInit() dans votre Gamemode:
{
}
[/pawn]