GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Komolos le 24 Octobre 2010, 21:01:52
-
Bonsoir,
Aujourd'hui j'ai décidé de refaire mon GM, je bloque au niveau du tutoriels, je fait des menu, mes une erreur et aparue, je n'arrive pas à la réglé :
lignes 526 : return OnPlayerText(playerid, tmp);//
tout le code : if(dialogid == TUTOMENU)
{
if(response)
{
new tmp[256];//variable pour notre format
format(tmp, 256, "homme", inputtext) || format(tmp, 256, "femme", inputtext)
return OnPlayerText(playerid, tmp);//
}
else//si pas de reponse
{
new tmp[256];//variable pour notre format
format(tmp, 256, "femme", inputtext) || format(tmp, 256, "femme", inputtext)
return OnPlayerText(playerid, tmp);//
}
}
C:\Users\Administrateur\Desktop\Dirthy World Role Play Edit GodFather\gamemodes\gf.pwn(526) : error 001: expected token: ";", but found "return"
C:\Users\Administrateur\Desktop\Dirthy World Role Play Edit GodFather\gamemodes\gf.pwn(526) : error 004: function "OnPlayerText" is not implemented
C:\Users\Administrateur\Desktop\Dirthy World Role Play Edit GodFather\gamemodes\gf.pwn(526) : error 079: inconsistent return types (array & non-array)
C:\Users\Administrateur\Desktop\Dirthy World Role Play Edit GodFather\gamemodes\gf.pwn(526) : 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.
-
Tu oubli les points virgules a la fin a
format(tmp, 256, "femme", inputtext) || format(tmp, 256, "femme", inputtext)
Normalement fait sa au 2:
format(tmp, 256, "femme", inputtext) || format(tmp, 256, "femme", inputtext);
Test et dit nous, un truc que je trouve bizar les || qui veux dire "ou bien" marche que dans des IF non? donc tu choisis entre la reponse homme ou femme mais ce qut tu as fait n'a pas de sens tu devrai faire :
if(dialogid == TUTOMENU)
{
new tmp[256];//variable pour notre format
if(response) // Si il repond sur le 1er bouton alors c'est un homme
{
format(tmp, sizeof(tmp), "homme", inputtext);
return OnPlayerText(playerid, tmp);//
}
else// Si il repond sur le 2eme bouton alors c'est une femme
{
format(tmp, sizeof(tmp), "femme", inputtext);
return OnPlayerText(playerid, tmp);//
}
}
-
Salut
J'ai horreur de donner du code tout fait,
Mais visiblement tu as copié/collé,
Donc lis mes explications pour comprendre.
C:\Users\Administrateur\Desktop\Dirthy World Role Play Edit GodFather\gamemodes\gf.pwn(526) : error 001: expected token: ";", but found "return"
Il manque un ; avant return ( apres format )
C:\Users\Administrateur\Desktop\Dirthy World Role Play Edit GodFather\gamemodes\gf.pwn(526) : error 004: function "OnPlayerText" is not implemented
OnPlayerText n'est pas une fonction
C:\Users\Administrateur\Desktop\Dirthy World Role Play Edit GodFather\gamemodes\gf.pwn(526) : error 079: inconsistent return types (array & non-array)
Regles les autres erreurs, ca devrait disparaitre
C:\Users\Administrateur\Desktop\Dirthy World Role Play Edit GodFather\gamemodes\gf.pwn(526) : fatal error 107: too many error messages on one line
Pareil.
if(dialogid == TUTOMENU) // SI le dialog est TUTOMENU
{
if(response) // Si la reponse est vraie
{
new tmp[128]; // Declaration de la chaine de caracteres
format(tmp, sizeof(tmp), "homme", inputtext); // on formate la chaine tmp
return SendPlayerMessageToAll(playerid, tmp); // On simule l'envoi de tmp
}
else // Si elle est fausse
{
new tmp[128];
format(tmp, sizeof(tmt), "femme", inputtext);
return SendPlayerMessageToAll(playerid, tmp);
}
}
Spiirou
++
-
Encore mieux fait :
if(dialogid == TUTOMENU)
{
new tmp[128];//variable pour notre format
if(response) // Si il repond sur le 1er bouton alors c'est un homme
{
format(tmp, sizeof(tmp), "homme", inputtext);
return OnPlayerText(playerid, tmp);//
}
else// Si il repond sur le 2eme bouton alors c'est une femme
{
format(tmp, sizeof(tmp), "femme", inputtext);
return OnPlayerText(playerid, tmp);//
}
}
PS: Spiirou ce que tu as fait n'es pas bon, car tu dit a tout les joueurs si c'est un homme ou une femme, alors que quand on lance le mode tuto tout reviens dans OnPlayerText. Et si OnPlayerText existe :)
-
J'avoue.. pour retourner une callback faut être très fort.
Sinon, comme je l'ai dit, ce code doit etre du copy/paste.
Spiirou
++
-
Mais pourquoi il return le onplayertext ? ???
Car comme moi, tout le script se passe dedans(celui fait fait aparaitre: et tu un homme ou une femme? ou bien quel age as tu?) Minfin on peux faire une fonction Tutorial par exemple, mais OnPlayerText revient au meme.
Pour Spiirou: pourquoi retourner une callback est t'il tres fort? C'est bien utile parfois, mais al pas obliger.
-
Ce n'est pas du copier collé, je suis allez trop vite ses pour ça, merci.