GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: stuners le 04 Novembre 2007, 20:44:46
-
Bonjour a tous, donc voila aprer de nombreuse erreur sur mon script , j'ai tout corriger mais il me reste une tres grosse erreur:
C:\PROGRA~1\ROCKST~1\SFTDM_~1.PWN(2670) : warning 225: unreachable code
la ligne est:
2670 if(strcmp(cmd, "/libcity", true) == 0)
2671 {
2672 SetPlayerInterior(playerid, 1);
2673 SetPlayerPos(playerid,-750.80,491.00,1371.70);
2674 SendClientMessage(playerid, 0x33CCFFAA, "Welcome To Liberty City");
2675 return 1;
2676 }
j'éspère qu'une ou plusieur personne pourront m'aider car a cause de cette erreur plus aucune commands ne marche dans mon script
Merci de vos futur reponse
Stuners
-
Je crois pas que ce soit le bout de code la qui pose probleme.
Je l' ai testé et je n' ai pas de warning quand je le compile.
Essaie de voir si c' est pas autre chose (cf. ligne 2670?)...
-
pourtant c'est sa :'(
pour te dire , j'ai deja suprimer 2 commands et l'erreur est toujour la
Que faire???
Stuners
-
L'erreur te dit
C:\PROGRA~1\ROCKST~1\SFTDM_~1.PWN[color=red](2670)[/color] : warning 225: unreachable code
Ligne 2670 et toi tu nous montre le code de la ligne 270 a 276 !
AK NV.
-
Et bas oui?je donne la commands entiere parceque des fois une ligne fait erreur a cause des suivantes :)
tu n'est pas obliger de t'enerver pour sa :)
Ce que je veut ce n'est pas des critique mais de l'aide a une erreur qui me fai planter tout mon script
qui pour m'aider svp??? :( :-[
++
Stuners
-
T'es sur que c'est CETTE commande la qui fait buger ?
-
salut man , ce n'est pas cette commands car l'erreur eter sur 1 commands , j'ai suprimé cette commands , elle eter encore la donc j'ai re suprimer la commands et la elle est encore la que faire???moi je dit tout simplement abuser :'( a cause de sa , plus de script.
Je suis dans le masacre total avec gta qui marche plus , le PC qui rame a formater et ma derniere occupation , mon serveur qui marche pu .
++jvais me coucher pu rien a faire
Stuners
-
Tu va a la ligne indiquée (2670) et tu regarde s'il y a quelque chose d'anormale, si cette ligne est vide, c'est autre chose, un oubli quelqu'onc mais qui fausse tout...
PS: a savoir que warning 225: unreachable code est qu'il manque une accolade
-
nan il y a rien Urban-Ghetto a regarder , rien trouver d'anormale , ca ne doit pas etre la command mais la ligne qui est buger...
j'ai chercher toute laprem et toujour rien trouver
Stuners
ps:je rajoute une accolade pawno plante lol
-
Oui alors la :laugh
Et il y a quoi a cette ligne alors ?
-
2670 ya la command libcity lol
-
Tu peut la mettre stp ^^ Il doit y avoir l'erreur ici ^^
Met la commande entière avec les lignes, comme ça on verra mieu
-
erreur:C:\PROGRA~1\ROCKST~1\SFTDM_~1.PWN(2670) : warning 225: unreachable code
la ligne est:
270 if(strcmp(cmd, "/libcity", true) == 0)
271 {
272 SetPlayerInterior(playerid, 1);
273 SetPlayerPos(playerid,-750.80,491.00,1371.70);
274 SendClientMessage(playerid, 0x33CCFFAA, "Welcome To Liberty City");
275 return 1;
276 }
les voila
-
desoler double post mais man , ce n'est pas la command qui bug paske si je supr l'erreur reste
-
Désolé mais la ligne 2670 n'est pas la ligne 270.... ni 276
Normale qu'elle reste xDDD
A la ligne 2670 de ton script il y a autre chose cas la ligne 270 c'est obligé
-
Staff man il à mis 270 au hasard :), Je sais pas pourquoi...
Toute façon son script est pas si petit que ca pour avoir si peut de lignes lol
-
erf nan c'est moi qui a oublier le 6 de 2670
-
Ok je comprend mieu
edit :
Essai de mettre une accolade "}"
ici
270 if(strcmp(cmd, "/libcity", true) == 0)
271 {
272 SetPlayerInterior(playerid, 1);
273 SetPlayerPos(playerid,-750.80,491.00,1371.70);
274 SendClientMessage(playerid, 0x33CCFFAA, "Welcome To Liberty City");
275 }
276 return 1;
277 }
-
huhu deja esayer
-
}
}
if(strcmp(cmdtext, "/libcity", true) == 0) {
SetPlayerInterior(playerid, 1);
SetPlayerPos(playerid,-750.80,491.00,1371.70);
SendClientMessage(playerid, 0x33CCFFAA, "Welcome To Liberty City");
}
}
return 1;
}
essais ça pour voir
-
sa sert a rien man , ce n'est pas la command qui bug
-
Unreachable code si c'est la commande désolé...
-
sa speu pas , vue le nombre de cmd que j'ai supr ... sur ce bonne nuit et merci a toi man et a toi Urban
++stuners
ps: derniere chance : syg (j'espere)
-
On ne rajoute des accolades que quand on en a ouvert une, sinon ça plante.
Met ton script entier sur pastebin, ou au moins ton callback des commandes.
-
Dans mon script
}
}
if(strcmp(cmdtext, "/libcity", true) == 0) {
SetPlayerInterior(playerid, 1);
SetPlayerPos(playerid,-750.80,491.00,1371.70);
SendClientMessage(playerid, 0x33CCFFAA, "Welcome To Liberty City");
}
}
return 1;
}
fonctionne très bien ^^
Mais comme j'ais deja la commande... Je te la filerais demain si tu veu
-
j'ai aussi la même commande en un peut plus complexe mais j'ai une erreur que je ne comprend pas :
if (strcmp(cmdtext,"/lc",true) == 0)
{
if (IsPlayerInAnyVehicle(playerid))
{
SetPlayerInterior(playerid,1);
SetVehiclePos(GetPlayerVehicleID(playerid), -740.5220,485.7770,1371.8029);
SetVehicleZAngle(vehicleid, 0.0);
LinkVehicleToInterior (GetPlayerVehicleID(playerid), 1);
} else {
SetPlayerInterior(playerid,1);
SetPlayerPos(playerid, -740.5220,485.7770,1371.8029);
SetPlayerFacingAngle(playerid, 0.0);
}
return 1;
}
l'erreur :
C:\Program Files\Rockstar Games\GTA San Andreas\samp022server.win32\gamemodes\Sismix84.pwn(472) : error 017: undefined symbol "vehicleid"
-
Erf, C'est pas la commande /LibCity qui bug pour Stunters, C'est tout son OnPlayerCommandText ! Enfin je crois ???
Dans ton cas Sismix, Remplace vehicleid par GetPlayerVehicleID(playerid)
-
c'est bon merci Urban, mais j'avais trouver avant que tu poste :
if (strcmp(cmdtext,"/lc",true) == 0)
{
if (IsPlayerInAnyVehicle(playerid))
{
SetPlayerInterior(playerid,1);
SetVehiclePos(GetPlayerVehicleID(playerid), -740.5220,485.7770,1371.8029);
new vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
SetVehicleZAngle(vehicleid, 93.0);
LinkVehicleToInterior (GetPlayerVehicleID(playerid), 1);
} else {
SetPlayerInterior(playerid,1);
SetPlayerPos(playerid, -740.5220,485.7770,1371.8029);
SetPlayerFacingAngle(playerid, 93.0);
}
-
Voila pour Stuners comme sa il a pu a se prendre la tête avec l'autre cmd ^^ :D
-
Bonjour , ce n'est pas ma commands libertycity qui bug , je le redit , c'est la ligne 2670 qui fait buger toute les commands qui suis et comme j'en est que 2-3 au dessu sa fait quil y a 2-3 commands qui marche.
Perso je voie pas l'erreur , elle est venu comme sa sans que j'ai modif quelque chose.
++ Stuners
-
Tu as essayer cmdtext au lieu de cmd dans ta ligne?
-
Est-ce que tu pourrais nous mettre tes lignes de 2660 à 2680 ? (avec le public concerné)
Histoire de voir un peu à quoi il ressemble ce unreachable code. :P
EDIT: Oups, j'avais pas lu tout les post avant...
-
Spycker , oui javer esayer mais l'erreur est toujour la
-
Mets ton callback de commandes sur pastebin, il y a une erreur dedans c'est certains.
-
le mieux est de recomencer , j'ai retrouver ce script du 17 octobre (sa dates)sans erreur donc , je vais rajouter ce que j'ai a rajouter dessu et comme sa le script avec cette erreur poubelle mais une chose est sure c'est que maintenant je vais toujour garder une save de mon script.
merci a tout le monde , bonne soirer , bon ap a ceux qui n'ont pas manger :p
Stuners
-
Et si on commençait par le commencement :
Unreachable code = Code non atteignable.
voici une fonction toute simple qui produira le même warning :
Fonction (playerid)
{
SetPlayerPos (playerid, 1.0, 2.0, 3.0);
return 1;
SetPlayerSkin (playerid, 0);
}
Le compilateur mettra le warning "Unreachable code" sur la ligne qui contient le SetPlayerSkin (qui est tout ce qu'il y a de plus juste).
Et ce warning veut simplement dire que la ligne contenant le SetPlayerskin ne sera jamais exécutée (à cause du return 1 qui juste au dessus).
Exemple qui produira aussi le warning (plus subtil celui-là):
Fonction2 (i)
{
if (i ==0)
{
return 1;
}
else
{
return 2;
}
SetPlayerSkin (i, 0);
}
Dans ce cas, quelque soit la valeur de i, le fonction n'exécutera jamais la ligne avec le SetPlayerSkin.
Tu dois être dans un cas similaire Stuners.
Donc ton warning Stuners vient des lignes qui se trouvent avant la ligne 2670.
Poste donc le code de la commande précedent ta commande /libcity, c'est là que l'erreur se trouve.
++
Syg
-
Bonjour syg , merci de ton aide mais j'ai refait mon script , c'est exactement le meme libcity a la meme ligne mais il n'y a pas la warning , j'ai comparer les deux et identique donc je voie pas ou c'est
-
Dans la commande au dessus.
(Ca fait juste 20 fois qu'on le dit...)
-
Ton problème ne venait PAS de la ligne 2670 (commande "/libcity") mais de la partie de code qui se trouvait AVANT.
Est-ce que tu as bien lu le post que j'ai fait juste avant :
Donc ton warning Stuners vient des lignes qui se trouvent avant la ligne 2670.
Poste donc le code de la commande précedent ta commande /libcity, c'est là que l'erreur se trouve.
++
Syg