Aller directement au contenu
  • Catégories
  • Récent
  • Mots-clés
  • Populaire
  • Web
  • Utilisateurs
  • Groupes
Habillages
  • Clair
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Sombre
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Défaut (Aucun habillage)
  • Aucun habillage
Réduire
Melinyel

Melinyel

  1. Accueil
  2. Emulation
  3. Arma III
  4. Tutoriels
  5. Fenêtre pour le vendeur de licences

Fenêtre pour le vendeur de licences

Planifié Épinglé Verrouillé Déplacé Tutoriels
9 Messages 5 Publieurs 7.8k Vues
  • Du plus ancien au plus récent
  • Du plus récent au plus ancien
  • Les plus votés
Répondre
  • Répondre à l'aide d'un nouveau sujet
Se connecter pour répondre
Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
  • vfrzV Hors-ligne
    vfrzV Hors-ligne
    vfrz
    a écrit sur dernière édition par
    #1

    Bonjour, il s'agit d'un tutoriel assez simple, cependant il faut avoir un minimum de connaissances pour s'y retrouver !

    Crédit :

    -RichHomieQuan pour le tutoriel sur altisliferpg.com

    -Moi pour la traduction 😛

    C'est parti !

    Ajoutez ceci dans le fichier functions.h, en dessous de "shops" :

    class licenses {};
    

    Créez un fichier dans le dossier dialog, nommé LicensesDialog.hpp

    class LicenseShop {
    idd = 5546;
    name= "life_license_shop";
    movingEnable = false;
    enableSimulation = true;
    onLoad = "uiNamespace setVariable [""LicenseShop"", _this select 0];";
    objects[] = { };
    class controls {
     
    class RscTitleBackground : Life_RscText
    {
    colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"};
    idc = -1;
    text = "Licenses"; //--- ToDo: Localize;
    x = 0.1;
    y = 0.2;
    w = 0.775;
    h = 0.04;
    };
     
    class Mainbackground : Life_RscText
    {
    colorBackground[] = {0,0,0,0.7};
    idc = -1;
    x = 0.1;
    y = 0.244;
    w = 0.775;
    h = 0.52;
    };
    class listbox: Life_RscListBox
    {
    idc = 55126;
    sizeEx = 0.035;
    x = 0.1125;
    y = 0.3;
    w = 0.3125;
    h = 0.4;
    };
    class ShowLicenseslistbox: Life_RscListBox
    {
    idc = 55131;
    x = 0.55;
    y = 0.3;
    w = 0.3125;
    h = 0.4;
    };
    class MyLicenses : Life_RscText
    {
    idc = 55130;
    text = "Available "; //--- ToDo: Localize;
    x = 0.1875;
    y = 0.24;
    w = 0.1375;
    h = 0.04;
    };
    class ShowLicenses : Life_RscText
    {
    idc = 55129;
    text = "My Licenses"; //--- ToDo: Localize;
    x = 0.65;
    y = 0.24;
    w = 0.1375;
    h = 0.04;
    };
    class buybutton: Life_RscButtonMenu
    {
    idc = 55127;
    text = "$STR_Global_Buy";
    x = 0.4125;
    y = 0.72;
    w = 0.15;
    h = 0.04;
    colorText[] = {1,1,1,1};
    colorBackground[] = {0,0,0,0.8};
    action = "if( (lbData[55126,lbCurSel (55126)] != """") ) then { [false, false, false, lbData[55126,lbCurSel (55126)]] call life_fnc_buyLicense; closeDialog 0; };";
    };
    };
    };
    

    Créez un fichier nommé fn_licenses.sqf dans core/shops :

    private["_display","_listbox","_shortname","_longname","_price","_hasLicense","_displayname"];
     
    _buyables = _this select 3; //called from action => select 3rd argument
     
     
    if(!dialog) then
    {
    if(!(createDialog "LicenseShop")) exitWith {};
    };
    disableSerialization;
     
    _display = findDisplay 5546;
    if(isNull _display) exitWith {};
    _listbox = _display displayCtrl 55126;
    _mylic = _display displayCtrl 55131;
    _struct = "";
     
    {
    _shortname = _x;
     
    _longname = ([_shortname, 0] call life_fnc_licenseType) select 0;
    _displayname = ([_shortname, 0] call life_fnc_licenseType) select 1;
    _price = [_shortname] call life_fnc_licensePrice;
    _hasLicense = missionNamespace getVariable _longname;
     
    if(!_hasLicense) then
    {
    _listbox lbAdd format["%1 ($%2)", _displayname, _price];
    _listbox lbSetData [(lbSize _listbox) - 1, _shortname];
    }
    else
    {
    _mylic lbAdd format["%1", _displayname];
    _mylic lbSetData [(lbSize _mylic) - 1, _shortname];
    };
    }
    foreach _buyables;
    

    Il va falloir aussi changer l'initialisation des pnjs comme ceci (exemple) :

    this addAction["Licenses",life_fnc_licenses,["driver","boat","pilot","truck","home","gun"],0,true,true,"",' playerSide == civilian '];
    

    Au lieu de :

    this addAction[format[""%1 ($%2)"",[""license_civ_driver""] call life_fnc_varToStr,[([""driver""] call life_fnc_licensePrice)] call life_fnc_numberText],life_fnc_buyLicense,""driver"",0,false,false,"""",' !license_civ_driver && playerSide == civilian ']; ...
    

    Voici un petit screenshot pour la fin :

    43af8e7fe6f0e28f936844c624531f97.png

    hbY2yJ9.gif7CNtQh6.gif

    1 réponse Dernière réponse
    0
    • ArrowDarkA Hors-ligne
      ArrowDarkA Hors-ligne
      ArrowDark
      a écrit sur dernière édition par
      #2

      Merci beaucoup 🙂

      Un intelligent peux joué au débile pas l'inverse ...

      1 réponse Dernière réponse
      0
      • S Hors-ligne
        S Hors-ligne
        subherox
        a écrit sur dernière édition par
        #3

        merci beaucoup pour le tuto 🙂

        1 réponse Dernière réponse
        0
        • S Hors-ligne
          S Hors-ligne
          subherox
          a écrit sur dernière édition par
          #4

          normal que tout soit a la ligne comme tu as mis ou pas? ^^ je préfère demander 😛

          1 réponse Dernière réponse
          0
          • vfrzV Hors-ligne
            vfrzV Hors-ligne
            vfrz
            a écrit sur dernière édition par
            #5

            Oui c'est normal mais cest pas grave, ça marche quand même 😉

            hbY2yJ9.gif7CNtQh6.gif

            1 réponse Dernière réponse
            0
            • T Hors-ligne
              T Hors-ligne
              Twolk
              a écrit sur dernière édition par
              #6

              Tu à sauter une étape

              Il faut aussi ajouter

               #include "LicensesDialog.hpp"
              

              Dans /dialog/MasterHandler.h

              Après ça marche parfaitement, merci à toi pour tout les partages que tu fait  🙂

              1 réponse Dernière réponse
              0
              • vfrzV Hors-ligne
                vfrzV Hors-ligne
                vfrz
                a écrit sur dernière édition par
                #7

                Ok merci je vais ajouter ceci 😉

                hbY2yJ9.gif7CNtQh6.gif

                1 réponse Dernière réponse
                0
                • S Hors-ligne
                  S Hors-ligne
                  subherox
                  a écrit sur dernière édition par
                  #8

                  Salut bravo pour ton tuto 🙂

                  1 réponse Dernière réponse
                  0
                  • K Hors-ligne
                    K Hors-ligne
                    Killian
                    a écrit sur dernière édition par
                    #9

                    merci

                    1 réponse Dernière réponse
                    0

                    Bonjour ! Vous semblez intéressé par cette conversation, mais vous n’avez pas encore de compte.

                    Marre de refaire défiler les mêmes messages ? Créez un compte pour retrouver votre position, recevoir des notifications des nouvelles réponses, sauvegarder vos favoris et voter pour les messages que vous appréciez.

                    Grâce à votre participation, ce message peut devenir encore meilleur 💗

                    S'inscrire Se connecter
                    Répondre
                    • Répondre à l'aide d'un nouveau sujet
                    Se connecter pour répondre
                    • Du plus ancien au plus récent
                    • Du plus récent au plus ancien
                    • Les plus votés


                    • Se connecter

                    • Connectez-vous ou inscrivez-vous pour faire une recherche.
                    Powered by NodeBB Contributors
                    • Premier message
                      Dernier message
                    0
                    • Catégories
                    • Récent
                    • Mots-clés
                    • Populaire
                    • Web
                    • Utilisateurs
                    • Groupes