GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: moster54 le 01 Janvier 2009, 16:27:32
-
Bonjour, j'aimerais faire créer un menu ou l'on pourra acheter des voitures.
J'ai déja mis: new Menu:Vehicle; (au début juste après tous les #define ...)
et: Vehicle = CreateMenu("Vehicle",1,20,120,150,40);
SetMenuColumnHeader(Vehicle,0,"Vehicle :");
AddMenuItem(Vehicle,0,"Quad");
AddMenuItem(Vehicle,0,"Vortex");
AddMenuItem(Vehicle,0,"RC car");
AddMenuItem(Vehicle,0,"Sandking"); --------------------------> tout ça je l'ai mit dans OnFilterScriptInit
AddMenuItem(Vehicle,0,"Hydra");
AddMenuItem(Vehicle,0,"Infernus");
AddMenuItem(Vehicle,0,"Packer");
AddMenuItem(Vehicle,0,"Hotring");
AddMenuItem(Vehicle,0,"Mower");
AddMenuItem(Vehicle,0,"Monster");
AddMenuItem(Vehicle,0,"Camper");
AddMenuItem(Vehicle,0,"NRG-500");
et enfin: DestroyMenu(Menu:Vehicle); (ça je l'ai mis dans OnFilterScriptExit )
Mais quand j'ai fini de faire tout ça, je n'ai plus su quoi faire. Alors svp pourriez vous me dire cqu'est-ce qu'il faut faire à la suite de ce que j'ai fait ?
Merci d'avance
moster54
-
Salut et bonne année :birthday,
Par la suite tu doit décider de quand le joueur verra ce menu,
tu optera probablement pour une commande, mais peut importe où, tu doit placer la fonction ShowMenuForPlayer et n'oublie pas d'ajouter TogglePlayerControllable(playerid,0);
ensuite tu va à la callback OnPlayerExitMenu (ou un truc du genre) et tu ajoute TogglePlayerControllable(playerid,1);
et enfin tu trouve la callback OnPlayerSelectedMenuRow(playerid, row) pour y ajouter les actions que tu désire,
conseil: inspire toi du tuto sur les menu dans la section des tuto juste en haut ici
++Sim++
-
Merci Sim. Je vais m'aider du tuto et de tes renseignements
++
moster54
-
Bonjour je reviens parce que j'ai un nouveau problème.
J'ai réussi à mettre la commande et tout ce qu'il faut mais maintenant à chaque fois que je tape la commande je crash et la fenetre samp server se ferme.
Quelle est la cause dû à ce problème ?
Est-ce que vous pourriez m'aider à régler ce problème ?
Merci d'avance
moster54
-
Salut,
je dirais que tu as fait une faute d'orthographe dans le nom de ton menu
++Sim++
-
Salut
Non je n'ai fait aucune faute d'orthographe.
J'ai mis ca dans OnPlayerCommandText :
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/vmenu", cmdtext, true, 10) == 0)
{
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 dans des motos."); } //Si on ajoute des composants dans des motos ou vélos notre jeu crash...
ShowMenuForPlayer(Vehicle,playerid); // On active le menu "Vehicle"
TogglePlayerControllable(playerid,0); // On freeze le joueur
}
return 1;
}
return 0;
Et ça dans OnPlayerSelectedMenuRow :
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:Current = GetPlayerMenu(playerid); // Si le joueur séléctionne quel que chose du menu.
if (Current == Vehicle){
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 vous rapelle que je veut faire un menu où l'on peut acheter des voitures et seulement ça.
Merci d'avance.
moster54
-
Salut
Non je n'ai fait aucune faute d'orthographe.
J'ai mis ca dans OnPlayerCommandText :
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/vmenu", cmdtext, true, 10) == 0)
{
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 dans des motos."); } //Si on ajoute des composants dans des motos ou vélos notre jeu crash...
ShowMenuForPlayer(Vehicle,playerid); // On active le menu "Vehicle"
TogglePlayerControllable(playerid,0); // On freeze le joueur
}
return 1;
}
return 0;
Et ça dans OnPlayerSelectedMenuRow :
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:Current = GetPlayerMenu(playerid); // Si le joueur séléctionne quel que chose du menu.
if (Current == Vehicle){
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 vous rapelle que je veut faire un menu où l'on peut acheter des voitures et seulement ça.
Merci d'avance.
moster54
Dsl j'ai oublié de poser la question. :D
Est-ce que ceci est bon pour que le menu fonctionne correctement ?
Merci d'avance.
++
-
acheter des voiture deja dans le serveur ou alors creer une voiture pour un joueur car la le menu ajoute des composant et de plus il ne coorespond pas avec ton onegamemodeinit
-
Je veux créer des voitures qu'on peut acheter et non pas acheter des voitures qui sont deja dans le serveur.
Et je te fais remarquer que je n'ai rien mis dans de plus dans OnGameModeInit mis à part quelques voitures que j'ai ajouté avec samp debug.
-
Salut,
dans ce cas remplace les AddVehicleComponent par des CreateVehicle(....)
mais n'oublie pas de prendre en note la position du joueur pour placer le véhicule à une bonne place
++Sim++
-
Salut
Merci de ton aide Sim, mais en fait j'ai pas compris ce qu'il faut mettre entre les parenthèses.
-
Bonsoir,
Une petite recherche ne fait pas de mal :)
http://wiki.sa-mp.com/wiki/CreateVehicle (http://wiki.sa-mp.com/wiki/CreateVehicle)
Les autres Fonctions
http://wiki.sa-mp.com/wiki/Category:Scripting_Functions (http://wiki.sa-mp.com/wiki/Category:Scripting_Functions)
Cordialement,
-
Salut ,
Au pire trouve un filterscript j'en avait vu un sur le forum de samp , donc si tu cherche bien tu peut le trouver
celui que j'ai trouver consite a taper /vehicle et la t'as un menu qui s'affiche et tu choisit le vehicule que tu veut c'est sa que tu cherche ?
-
Salut
Oui c'est ça que je cherche merci. Je vais le chercher sur sa-mp.com
++
-
Oui ba tu va le trouver ;)
Je l'ai tester et il est plutot pas mal
Tu tape /commande ensuite ta une liste de véhicule et sa te la spawn a ton endroit
Utile pour les stunts ;)
-
Salut
Je crois que j'ai trouvé le FS dont tu parlais mais dans OnPlayerSelectedMenuRow, il y a des erreurs :
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(336) : error 017: undefined symbol "CurrentMenu"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(372) : error 017: undefined symbol "CurrentMenu"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(378) : error 017: undefined symbol "vzd"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(378) : warning 215: expression has no effect
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(379) : error 017: undefined symbol "x"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(380) : error 017: undefined symbol "cangle"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(381) : error 017: undefined symbol "x"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(381) : error 017: undefined symbol "vzd"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(381) : warning 215: expression has no effect
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(382) : error 017: undefined symbol "y"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(382) : error 017: undefined symbol "vzd"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(382) : warning 215: expression has no effect
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(383) : error 017: undefined symbol "x"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(389) : error 017: undefined symbol "vzd"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(389) : warning 215: expression has no effect
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(390) : error 017: undefined symbol "x"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(391) : error 017: undefined symbol "cangle"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(392) : error 017: undefined symbol "x"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(392) : error 017: undefined symbol "vzd"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(392) : warning 215: expression has no effect
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(393) : error 017: undefined symbol "y"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(393) : error 017: undefined symbol "vzd"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(393) : warning 215: expression has no effect
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(394) : error 017: undefined symbol "x"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(400) : error 017: undefined symbol "vzd"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(400) : warning 215: expression has no effect
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(401) : error 017: undefined symbol "x"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(402) : error 017: undefined symbol "cangle"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(403) : error 017: undefined symbol "x"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(403) : error 017: undefined symbol "vzd"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(403) : warning 215: expression has no effect
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(404) : error 017: undefined symbol "y"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(404) : error 017: undefined symbol "vzd"
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(404) : warning 215: expression has no effect
C:\Users\Moustafa.PC-de-SADIKI\Jeux\GTA San Andreas\samp02Xserver.win32\gamemodes\MOSTER.pwn(405) : error 017: undefined symbol "x"
-
whou fait un new pour chaque chose pas défini mais une foi si on a plusieur
exemple y a plusieur x tu maisz en haut : new x;
-
Bonjour,
a commencé par celui ci
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
pour le reste fait pareil fait des new
Cordialement,
-
Salut,
Merci à tous, j'ai réussi à faire mon menu, il marche niquel. Il fallait simplement que je mette tous les x,y,z en majuscules et que je mette les AddMenuItem dans OnGameModeInit.
Ca pourrait se finir la mais comme j'ai dit dans le nom du fil de discussion je veux un menu ou l'on peut ACHETER des voitures et non pas les avoir gratuitement.
Donc je voudrais comment mettre des prix sur les voitures.
Merci pour m'avoir aidé jusque là et merci d'avance.
-
Derien poto ;)
-
Il suffit de verifier que le joueur a plus d'argent que le prix du vehicule (une condition sur GetPlayerMoney) si oui tu fait que sa cree le vehicule et que aussi sa retire l'argent ;)
-
Mister ta pas compris enfin pas assez ;D
Il veut que par exemple je me connecte sur son serveur j'ai 3500$ sur moi
et je veut une turismo qui est a 1500$
il veut que quand je entre dans son menu je selectionne la turismo et la sa m'enleve 1500$
Mais en pensant c'est ce qu'a dit Mister xD
-
Bonjour,
Une simple condition comme celui ci suffit
if(5000 > GetPlayerMoney(playerid))
{
SendClientMessage(playerid,0xFFFFFFAA,"Vous n'avez pas assez d'argent");
return 1;
}
enlever l'argent
GivePlayerMoney(playerid, -5000);
cordialement,
-
Mister ta pas compris enfin pas assez ;D
Il veut que par exemple je me connecte sur son serveur j'ai 3500$ sur moi
et je veut une turismo qui est a 1500$
il veut que quand je entre dans son menu je selectionne la turismo et la sa m'enleve 1500$
Mais en pensant c'est ce qu'a dit Mister xD
C'est exactement se que je dit ^^
Inbox: essaye de pas toujours donné les code comme sa il faut qu'il apprenne un peux j'avait donné la methode pour le faire sa sufisait je pense
-
Salut
Oui mister-fred ça suffisait et merci tout le monde même si j'ai pas encore essayé.
Mais j'aurais juste une chose à demander.
Comment faire pour que le joueur rentre dans le jeu et ai deja de l'argent ?
MERCI
-
Avec un
GivePlayerMoney si je me trompe pas ..
-
Merci tout le monde, je sais maintenant comment faire.
++
BONNE ANNEE