• 29 Mars 2024, 00:40:05


Auteur Sujet: GUI onButtonClick  (Lu 5955 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne equipier_sas

  • *
  • Nouveau
  • Messages: 14
    • Voir le profil
GUI onButtonClick
« 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

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : GUI onButtonClick
« Réponse #1 le: 20 Août 2013, 14:31:43 »
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...
++

Hors ligne equipier_sas

  • *
  • Nouveau
  • Messages: 14
    • Voir le profil
Re : GUI onButtonClick
« Réponse #2 le: 20 Août 2013, 14:59:23 »
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 !
« Modifié: 21 Août 2013, 10:31:27 par equipier_sas »