GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: LePtitClown le 10 Avril 2009, 19:55:13
-
Salut, je viens de copier un petit script trouvé sur ce forum par je ne sais plus qui pour l'améliorer ensuite. Dans son topic, la personne nous montre comment créer un menu, dans son cas c'était un menu tunning, or j'ai essayé de le recopier dans un FS mais j'ai encore des erreurs je vous montre les erreurs et le bout de code correspondant
code:
public OnPlayerSelectedMenuRow(playerid, row) //Pour les menus
{
new Menu:Current = GetPlayerMenu(playerid); // Si le joueur séléctionne quel que chose du menu.
if (Current == tunning)
{
if (row == 0)
{
AddVehicleComponent(GetPlayerVehicleID(playerid),1010);
}
else if (row == 1)
{
AddVehicleComponent(GetPlayerVehicleID(playerid),1087);
}
else if (row == 2)
{
AddVehicleComponent(GetPlayerVehicleID(playerid),1025);
}
else if (row == 3)
{
AddVehicleComponent(GetPlayerVehicleID(playerid),1081);
}
TogglePlayerControllable(playerid,1); // On défreeze le joueur
}
return 1;
}
Je ne vois pas où est l'erreur
erreurs:
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\SUPERM~1.PWN(55) : error 029: invalid expression, assumed zero
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\SUPERM~1.PWN(55) : error 029: invalid expression, assumed zero
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\SUPERM~1.PWN(55) : error 029: invalid expression, assumed zero
C:\DOCUME~1\PROPRI~1\Bureau\SAMP02~1.WIN\FILTER~1\SUPERM~1.PWN(55) : fatal error 107: too many error messages on one line
Merci de me répondre merci :)
A++
-
La ligne 55 est laquelle ?
-
Salut c'est cella là mais je pense qu'elle incule toutes la partie "public"
public OnPlayerSelectedMenuRow(playerid, row) //Pour les menus =====> Ligne 55
A++ :)
-
essaye de modif ca
new Menu:Current = GetPlayerMenu(playerid);
par ca
new Menu:Current = GetPlayerMenu(playerid);
-
Salut, ton code est le même c'est normal????
A+ :)
-
Salut,
je dirais que tu as oublié une accolade pas très loin au-dessus de la callback (OnPlayerSlectedMenuRow)
par contre normalement ce problème donne 26 erreurs, mais dans ton cas, tu obtiens un FATAL ERROR, bref le compilo arrête de lui même...
++Sim++
-
Salut Sim, j'ai essayé ta technique sans rél résultat, j'ai donc décidé de poster ça sur la pastebin pour qe vous pouviez m'aider plus facilment car l'erreur vient peut être de plus haut ou plus bas que le but de script que je vous ai envoyé
Voila, le lien normalment il marche
PS: je me suis jamais servi de pastebin donc je ne promet rien :)
http://pastebin.gtaonline.fr/pastebin.php?show=558 (http://pastebin.gtaonline.fr/pastebin.php?show=558)
A+++
-
Salut,
si tu regarde le bout de code suivant, tu remarquera qu'il manque une accolade de fermeture:
public OnGameModeInit()
{
tunning = CreateMenu("~b~Compostant ~w~selection",1,125,150,300); // "tunning" active un menu qui nous donne les choix ci-dessous :
if(IsValidMenu(tunning))
{
SetMenuColumnHeader(tunning , 0, "Choisissez un composant:");
AddMenuItem(tunning ,0,"Nitro x10");
AddMenuItem(tunning ,0,"Hydraulique");
AddMenuItem(tunning ,0,"Roues Tout Terrain");
AddMenuItem(tunning ,0,"Roues Sport");
return 1;
}
Indice:
juste après le dernier AddMenuItem
++Sim++
-
Oui je l'avais vu mais lorsque j'ajoute cette accolade ( qui est sûrement quand même nécessaire ) mon FS ne se compile plus :'(
Donc je ne sais plus quoi faire pour que ça marche
Si quelqu'un trouve.... Merci de répondre
A++ :)
-
Salut,
si je compte bien, cette callback comporte 5 accolades d'ouverture et seulement 4 de fermeture:
///////////////////////////////////////////////////////////////////////////////////
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/tunning", cmdtext, true, 10) == 0)
{
if(IsPlayerInAnyVehicle(playerid)) // Si le joueur est dans un véhicule....
{
new Car = GetPlayerVehicleID(playerid), Model = GetVehicleModel(Car);
switch(Model) { case 448,461,462,463,468,471,509,510,521,522,523,581,586: return SendClientMessage(playerid,0xFF0000AA,"> Vous ne pouvez pas ajouter de composants sur des motos."); } //Si on ajoute des composants dans des motos ou vélos notre jeu crash...
ShowMenuForPlayer(tunning,playerid); // On active le menu "tunning"
TogglePlayerControllable(playerid,0); // On freeze le joueur
}
else{ // Sinon....
SendClientMessage(playerid,COLOR_RED,"> Vous devez être dans un véhicule");
}
return 1;
}
voilà, trouve l'endroit où cette accolade devrait aller....
++Sim++
-
Juste avant le return 1; tout à gauche pour fermer mon "if"
Mais ça marche toujours pas
A+++
-
Up!
Mon menu tuning ne marche toujours pas même avec les ajouts d'accolades
aidez moi :)
A++
-
Est ce que le Code qui est sur le pastebin est celui que tu a maintenant ? ou a tu deja modifier ?
Si tu la remodifier depuis la version qui est sur le pastebin, renvoie le, je vais esseyer de regarde sur mon pc.
EDIT: Je t'ai fait ton script, il n'y a plus d'erreur, test et dit si ca marche!
http://pastebin.gtaonline.fr/pastebin.php?show=561 (http://pastebin.gtaonline.fr/pastebin.php?show=561)
++
nikko
-
Merci à toi il marche nickel
plus qu'à mettre la commande payante mais ça je sais faire
A++ :D
-
De rien ;)
++
nikko