GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: CarCrasher le 06 Mars 2010, 21:49:22

Titre: [DEMANDE D'AIDE]Demande D'aide pour magasin, problème
Posté par: CarCrasher le 06 Mars 2010, 21:49:22
Bonsoir tout le monde,

Aujourd'hui pour mon serveur, je voulais faire un petit magasin avec des menus.

Donc, Au début il y a la commande /magasin qui ouvre le premier menu, avec Armes, Véhicule, Téléportations, et Quitter
Chacune de ces Catégories se rapportait à un autre menu avec ses armes, véhicules, ...

Bon, passons au problème;

Quand je compile Mon FS, Pawn Compiler Crash, donc ca ne marche pas...

Voici mon code  : http://pastebin.gtaonline.fr/pastebin.php?show=743 (http://pastebin.gtaonline.fr/pastebin.php?show=743)

Pour faire ces menus je me suis basé sur le tuto de UrbanGhetto,

Ce que je désirerais, c'est qu'on me dise ce qui ne va pas, ou si vous avez le temps, corriger le FS et me l'envoyer par mp

Merci,
CarCrasher
Titre: Re : [DEMANDE D'AIDE]Demande D'aide pour magasin, problème
Posté par: CarCrasher le 06 Mars 2010, 22:28:56
Behhh il y en a déjà des accolades après chaque CreateMenu elle sont bien fermées :s et même en n'en mettant deux...
Titre: Re : [DEMANDE D'AIDE]Demande D'aide pour magasin, problème
Posté par: CarCrasher le 06 Mars 2010, 22:34:15
Oui justement, c'est ce que j'ai fait donc maintenant mon GameModeInit ca donne :

public OnGameModeInit()
{
magasin = CreateMenu("~b~Magasin",1,125,150,300);
        if(IsValidMenu(magasin)) {
SetMenuColumnHeader(magasin , 0, "Choisissez Un Magasin:");
        AddMenuItem(magasin ,0,"Armes");
AddMenuItem(magasin ,0,"Véhicules");
AddMenuItem(magasin ,0,"Téléportations");
AddMenuItem(magasin ,0,"Quitter");
 }
 }

armes = CreateMenu("~b~Armurerie",1,125,150,300);
        if(IsValidMenu(armes)) {
SetMenuColumnHeader(armes , 0, "Choisissez un composant:");
AddMenuItem(armes ,0,"Cocktail Molotov == 2500$");
AddMenuItem(armes ,0,"Minigun == 75000$");
AddMenuItem(armes ,0,"Desert Eagle == 7500$");
AddMenuItem(armes ,0,"Charges Explosives == 10000$");
AddMenuItem(armes ,0,"Lance-Flammes == 20000$");
AddMenuItem(armes ,0,"Sawn-Offs == 10000$");
AddMenuItem(armes ,0,"M4 == 10000$");
AddMenuItem(armes ,0,"Uzis == 7500$");
AddMenuItem(armes ,0,"Lance-Roquettes == 40000$");
AddMenuItem(armes ,0,"Sniper == 15000$");
AddMenuItem(armes ,0,"Précédent");
                  }
}
veh = CreateMenu("~b~Concessionnaire",1,125,150,300);
        if(IsValidMenu(veh)) {
SetMenuColumnHeader(veh , 0, "Choisissez Un Véhicule:");
 AddMenuItem(veh ,0,"SWAT Van == 125000$");
AddMenuItem(veh ,0,"Infernus == 75000$");
AddMenuItem(veh ,0,"BF-400 ==15000$");
AddMenuItem(veh ,0,"Skimmer == 50000$");
AddMenuItem(veh ,0,"Tank == 150000$");
AddMenuItem(veh ,0,"Sparrow == 50000$");
AddMenuItem(veh ,0,"Turismo == 75000$");
AddMenuItem(veh ,0,"Hunter == 150000$");
AddMenuItem(veh ,0,"NRG-500 == 75000$");
AddMenuItem(veh ,0,"Monster == 25000$");
AddMenuItem(veh ,0,"Rc Cam == 17$");
AddMenuItem(veh ,0,"Précédent");
                 }
}
tele = CreateMenu("~b~Teleporteur",1,125,150,300);
        if(IsValidMenu(tele)) {
SetMenuColumnHeader(tele , 0, "Choisissez Un Endroit (1000$ la téléportation):");
 AddMenuItem(tele ,0,"Maison De Caribou");
AddMenuItem(tele ,0,"Wang Car");
AddMenuItem(tele ,0,"Jizzy's Pleasure Dome");
AddMenuItem(tele ,0,"Aéroport SF");
AddMenuItem(tele ,0,"Golden Gate");
AddMenuItem(tele ,0,"Aéroport LV");
AddMenuItem(tele ,0,"Toit Emerald Island");
AddMenuItem(tele ,0,"Aéroport LS");
AddMenuItem(tele ,0,"Grove Street");
AddMenuItem(tele ,0,"Santa Maria");
AddMenuItem(tele ,0,"Maison DKU");
AddMenuItem(tele ,0,"Précédent");
                  }
}
 return 1;
}
Titre: Re : [DEMANDE D'AIDE]Demande D'aide pour magasin, problème
Posté par: Spaggiari le 07 Mars 2010, 08:25:15
Bah là du coup y'en a une de trop, non?
Titre: Re : Re : [DEMANDE D'AIDE]Demande D'aide pour magasin, problème
Posté par: scott1 le 07 Mars 2010, 10:45:18
Citer


armes = CreateMenu("~b~Armurerie",1,125,150,300);
        if(IsValidMenu(armes)) {
   SetMenuColumnHeader(armes , 0, "Choisissez un composant:");
AddMenuItem(armes ,0,"Cocktail Molotov == 2500$");
AddMenuItem(armes ,0,"Minigun == 75000$");
AddMenuItem(armes ,0,"Desert Eagle == 7500$");
AddMenuItem(armes ,0,"Charges Explosives == 10000$");
AddMenuItem(armes ,0,"Lance-Flammes == 20000$");
AddMenuItem(armes ,0,"Sawn-Offs == 10000$");
AddMenuItem(armes ,0,"M4 == 10000$");
AddMenuItem(armes ,0,"Uzis == 7500$");
AddMenuItem(armes ,0,"Lance-Roquettes == 40000$");
AddMenuItem(armes ,0,"Sniper == 15000$");
AddMenuItem(armes ,0,"Précédent");
                  }
veh = CreateMenu("~b~Concessionnaire",1,125,150,300);
        if(IsValidMenu(veh)) {
   SetMenuColumnHeader(veh , 0, "Choisissez Un Véhicule:");
 AddMenuItem(veh ,0,"SWAT Van == 125000$");
   AddMenuItem(veh ,0,"Infernus == 75000$");
   AddMenuItem(veh ,0,"BF-400 ==15000$");
   AddMenuItem(veh ,0,"Skimmer == 50000$");
   AddMenuItem(veh ,0,"Tank == 150000$");
   AddMenuItem(veh ,0,"Sparrow == 50000$");
   AddMenuItem(veh ,0,"Turismo == 75000$");
   AddMenuItem(veh ,0,"Hunter == 150000$");
   AddMenuItem(veh ,0,"NRG-500 == 75000$");
   AddMenuItem(veh ,0,"Monster == 25000$");
   AddMenuItem(veh ,0,"Rc Cam == 17$");
   AddMenuItem(veh ,0,"Précédent");
                 }
tele = CreateMenu("~b~Teleporteur",1,125,150,300);
        if(IsValidMenu(tele)) {
   SetMenuColumnHeader(tele , 0, "Choisissez Un Endroit (1000$ la téléportation):");
 AddMenuItem(tele ,0,"Maison De Caribou");
   AddMenuItem(tele ,0,"Wang Car");
   AddMenuItem(tele ,0,"Jizzy's Pleasure Dome");
   AddMenuItem(tele ,0,"Aéroport SF");
   AddMenuItem(tele ,0,"Golden Gate");
   AddMenuItem(tele ,0,"Aéroport LV");
   AddMenuItem(tele ,0,"Toit Emerald Island");
   AddMenuItem(tele ,0,"Aéroport LS");
   AddMenuItem(tele ,0,"Grove Street");
   AddMenuItem(tele ,0,"Santa Maria");
   AddMenuItem(tele ,0,"Maison DKU");
   AddMenuItem(tele ,0,"Précédent");
                  }
}
 return 1;
}

Suprime la 2eme acolade sous la 1ere  }
}

3 fois tu a mis une acolade de trop

Si ton Public se termine apres les menu laisse la eme2, si non tuprime la

Double post
Les crash de Pawno viennent principalement des accolades oubliées. Ça doit normalement être corrigé dans la release serveur 0.3b.
Édit: Trouvé.


public OnGameModeInit()
{
        magasin = CreateMenu("~b~Magasin",1,125,150,300);
        if(IsValidMenu(magasin)) { // Cette accolade n'est pas fermée
                SetMenuColumnHeader(magasin , 0, "Choisissez Un Magasin:");
                AddMenuItem(magasin ,0,"Armes");
                AddMenuItem(magasin ,0,"Véhicules");
                AddMenuItem(magasin ,0,"Téléportations");
                AddMenuItem(magasin ,0,"Quitter");
        } // Ajouter une accolade ici résout le problème.
}


Enleve la dernière acolade
Titre: Re : [DEMANDE D'AIDE]Demande D'aide pour magasin, problème
Posté par: CarCrasher le 07 Mars 2010, 11:34:21
Ah ben ca c'était ce qu'il y avait au départ,
mais en fait le problème venait de dans OnPlayerSelectedMenuRow
A chaque menu je mettais à la fin return 1;

Merci à tous de votre aide :)

Sauf que maintenant il y a un plus gros problème,

Quand je lance mon Serveur avec le FS, et que je fais magasin, samp-server.exe se ferme et le menu n'apparait pas °_O, que puis-je faire??
Titre: Re : [DEMANDE D'AIDE]Demande D'aide pour magasin, problème
Posté par: CarCrasher le 08 Mars 2010, 16:33:54
Up  ::)
Titre: Re : [DEMANDE D'AIDE]Demande D'aide pour magasin, problème
Posté par: CarCrasher le 12 Mars 2010, 17:30:23
S'il vous plait répondez, il le faut absolument  :'(
Titre: Re : [DEMANDE D'AIDE]Demande D'aide pour magasin, problème
Posté par: CarCrasher le 14 Mars 2010, 22:29:20
S'il vous plait  :(