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

Titre: Comment faire des menus ou l'on peut acheter des items ?
Posté 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               
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: S!m le 01 Janvier 2009, 16:34:24
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++
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: moster54 le 01 Janvier 2009, 16:44:34
Merci Sim. Je vais m'aider du tuto et de tes renseignements

++

moster54
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: moster54 le 01 Janvier 2009, 17:42:55
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
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: S!m le 01 Janvier 2009, 17:56:26
Salut,

je dirais que tu as fait une faute d'orthographe dans le nom de ton menu

++Sim++
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: moster54 le 01 Janvier 2009, 19:43:46
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
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: moster54 le 01 Janvier 2009, 19:57:54
Citer
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.

++
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: cristab le 01 Janvier 2009, 22:17:17
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
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: moster54 le 02 Janvier 2009, 14:22:16
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.





Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: S!m le 02 Janvier 2009, 15:44:07
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++
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: moster54 le 02 Janvier 2009, 21:42:02
Salut

Merci de ton aide Sim, mais en fait j'ai pas compris ce qu'il faut mettre entre les parenthèses.







Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: inbox le 02 Janvier 2009, 22:48:18
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,
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: Azz45 le 02 Janvier 2009, 22:55:48
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 ?
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: moster54 le 02 Janvier 2009, 23:22:23
Salut

Oui c'est ça que je cherche merci. Je vais le chercher sur sa-mp.com

++



Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: Azz45 le 03 Janvier 2009, 03:01:11
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 ;)
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: moster54 le 03 Janvier 2009, 15:39:52
Salut

Je crois que j'ai trouvé le FS dont tu parlais mais dans OnPlayerSelectedMenuRow, il y a des erreurs :

Code: (actionscript) [Sélectionner]
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"
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: Eloctro le 03 Janvier 2009, 15:42:35
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;
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: inbox le 03 Janvier 2009, 15:46:31
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,
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: moster54 le 04 Janvier 2009, 11:50:45
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.
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: Azz45 le 04 Janvier 2009, 12:17:04
Derien poto ;)
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: MrFredo le 04 Janvier 2009, 12:19:49
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 ;)
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: Azz45 le 04 Janvier 2009, 12:36:16
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
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: inbox le 04 Janvier 2009, 12:46:49
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,
Titre: Re : Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: MrFredo le 04 Janvier 2009, 13:14:33
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

Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: moster54 le 04 Janvier 2009, 13:26:38
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
Titre: Re : Comment faire des menus ou l'on peut acheter des items ?
Posté par: Azz45 le 04 Janvier 2009, 13:30:01
Avec un

GivePlayerMoney si je me trompe pas ..
Titre: /
Posté par: moster54 le 04 Janvier 2009, 18:40:28
Merci tout le monde, je sais maintenant comment faire.



++



BONNE ANNEE