GTAOnline.net
IV : Multiplayer (iv:mp) => Scripting IV:MP [Squirrel center] => Discussion démarrée par: equipier_sas le 20 Août 2013, 14:07:15
-
Bonjour à tous, je suis en train de faire un GUI pour acceder a un menu Mac-do'.
La fenêtre se lance bien, le script s'execute, mais j'aimerai que lorsque je clique sur "Menu 1", cela débite 15$ de l'argent du joueur.
voila mon code actuel :
function onButtonClick(playerid, btnName, bState)
{
if(btnName == GUItest.button1.getName())
{
addChatMessage("Vous achetez le menu 1.");
GUItest.window.setVisible(false);
GUItest.windowshown = false;
guiToggleCursor(false);
givePlayerMoney(playerid, -15); // cette commande n'est pas valable dans le GUI ?
return 1;
}
}
addEvent("buttonClick", onButtonClick);
Cordialement,
Equipier_sas
-
Salut, je crois qu'il y a une fonction qui s'appelle triggerServerEvent qui permet d'appeler une fonction du serveur qui donnera de l'argent au joueur.
Donc tu peux appeler une fonction menu(playerid) où tu prendras 15$, et avec playerid = getLocalPlayer (playerid version client).
Ça se base juste sur ce que j'avais lu sur le wiki, j'ai jamais testé ce genre d'appels mais ça doit marcher à peu près comme ça...
++
-
Avant toute chose merci de m'avoir répondu,
mais je ne comprends pas trop ce que tu me demandes, voilà ce que j'ai fais :
function onButtonClick(playerid, btnName, bState)
{
local playerid = getLocalPlayer ();
if(btnName == GUItest.button1.getName())
{
addChatMessage("Vous achetez le menu 1.");
GUItest.window.setVisible(false);
GUItest.windowshown = false;
guiToggleCursor(false);
triggerServerEvent(givePlayerMoney(playerid, -15));
return 1;
}
}
addEvent("buttonClick", onButtonClick);
EDIT :
Resolu :
J'ai enfin fini par comprendre, voilà ce que j'ai fais :
Coté serveur
/////////////////////////////////////////////////////////////////////////////////////////////
function onPlayerSpawn1( playerid ) //
{ //
givePlayerMoney(playerid, -15); // payement menu 1 Macdo'
return true; //
} //
addEvent("menu1", onPlayerSpawn1); //
/////////////////////////////////////////////////////////////////////////////////////////////
coté client
if(btnName == GUItest.button1.getName())
{
addChatMessage("Vous achetez le menu 1 pour 15$.");
GUItest.window.setVisible(false);
GUItest.windowshown = false;
triggerServerEvent("menu1"); // ici j'appel le script coté client
macdo1.setVisible(false);
guiToggleCursor(false);
return 1;
}
Merci à Gilux pour sa précieuse aide !