1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Downloads
  4. Galerie
    1. Alben
  5. Toolbox
    1. Passwort Generator
    2. Portchecker
  6. Mitglieder
    1. Mitgliedersuche
    2. Benutzer online
    3. Trophäen
    4. Team
Sa: 17 Mai 2025
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Dateien
  • Seiten
  • Bilder
  • Erweiterte Suche

Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.

Anmelden oder registrieren
    1. Nodezone.net Community
    2. Forum
    3. Gameserver & Hosting
    4. ArmA Series - ArmA 3 / Reforger
    5. Hilfeforum

    Berufsystem - Über einen Button im GUI eine bestimmte Lizenz kaufen

    • FarmersSohn
    • 1. November 2017 um 15:11
    • Erledigt
    • FarmersSohn
      Schüler
      Reaktionen
      23
      Trophäen
      10
      Beiträge
      82
      Bilder
      1
      • 1. November 2017 um 15:11
      • #1

      Moin zusammen,

      ich bin gerade dabei ein Berufsystem zu entwickeln, bei dem man zur Jobbörse gehen muss um sich einen Beruf auszusuchen. Der NPC bei der Jobbörse hat ein User Interface, in dem verschieden Knöpfe sind um entweder Bauer oder ähnlich zu werden. Die Knöpfe sollen eine bestimmte Lizenz vergeben, je nachdem was man werden will. Ich habe bereits eine Abfrage eingebaut, dass man nur einen neuen Job annehmen kann, wenn man noch keinen hat. Ich tue mich allerdings mit der onButtonClick action des Buttons schwer. Also meine Frage, wie kann man über einen Button eine bestimmte Lizenz erwerben?


      Der Dialog:

      Code: berufswahl.hpp
      class berufswahl
      {
          idd = 5555;
          
          class ControlsBackground
          {
              
          };
          class Controls
          {
              class HeadBg
              {
                  type = 0;
                  idc = 0;
                  x = safeZoneX + safeZoneW * 0.29375;
                  y = safeZoneY + safeZoneH * 0.22444445;
                  w = safeZoneW * 0.4125;
                  h = safeZoneH * 0.04888889;
                  style = 0;
                  text = "";
                  colorBackground[] = {0.3687,0.102,0.102,0.6111};
                  colorText[] = {1,1,1,1};
                  font = "PuristaMedium";
                  sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1);
                  
              };
              class MainBg
              {
                  type = 0;
                  idc = 0;
                  x = safeZoneX + safeZoneW * 0.29375;
                  y = safeZoneY + safeZoneH * 0.27888889;
                  w = safeZoneW * 0.4125;
                  h = safeZoneH * 0.49555556;
                  style = 0;
                  text = "";
                  colorBackground[] = {0.102,0.102,0.102,0.754};
                  colorText[] = {1,1,1,1};
                  font = "PuristaMedium";
                  sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1);
                  
              };
              class Heading
              {
                  type = 0;
                  idc = 0;
                  x = safeZoneX + safeZoneW * 0.29375;
                  y = safeZoneY + safeZoneH * 0.22444445;
                  w = safeZoneW * 0.4125;
                  h = safeZoneH * 0.04555556;
                  style = 0;
                  text = "Berufsauswahl";
                  colorBackground[] = {0,0,0,0};
                  colorText[] = {1,1,1,1};
                  font = "PuristaBold";
                  sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1);
                  
              };
              class GetBauer
              {
                  type = 1;
                  idc = -1;
                  x = safeZoneX + safeZoneW * 0.34375;
                  y = safeZoneY + safeZoneH * 0.38111112;
                  w = safeZoneW * 0.096875;
                  h = safeZoneH * 0.05444445;
                  style = 0;
                  text = "Bauer - 10.000 $";
                  borderSize = 0;
                  colorBackground[] = {0.102,0.102,0.102,1};
                  colorBackgroundActive[] = {1,0,0,1};
                  colorBackgroundDisabled[] = {0.2,0.2,0.2,1};
                  colorBorder[] = {0,0,0,0};
                  colorDisabled[] = {0.2,0.2,0.2,1};
                  colorFocused[] = {0.2,0.2,0.2,1};
                  colorShadow[] = {0,0,0,1};
                  colorText[] = {1,1,1,1};
                  font = "PuristaMedium";
                  offsetPressedX = 0.01;
                  offsetPressedY = 0.01;
                  offsetX = 0.01;
                  offsetY = 0.01;
                  sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1);
                  soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1.0};
                  soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.09,1.0};
                  soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1.0};
                  soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.09,1.0};
                  onButtonClick = "[false, false, false, bauer] call life_fnc_buyLicense; closeDialog 0;";
                  
              };
              class GetMetallbauer
              {
                  type = 1;
                  idc = -1;
                  x = safeZoneX + safeZoneW * 0.54375;
                  y = safeZoneY + safeZoneH * 0.38111112;
                  w = safeZoneW * 0.096875;
                  h = safeZoneH * 0.05444445;
                  style = 0;
                  text = "Metallbauer - 10.000 $";
                  borderSize = 0;
                  colorBackground[] = {0.102,0.102,0.102,1};
                  colorBackgroundActive[] = {1,0,0,1};
                  colorBackgroundDisabled[] = {0.2,0.2,0.2,1};
                  colorBorder[] = {0,0,0,0};
                  colorDisabled[] = {0.2,0.2,0.2,1};
                  colorFocused[] = {0.2,0.2,0.2,1};
                  colorShadow[] = {0,0,0,1};
                  colorText[] = {1,1,1,1};
                  font = "PuristaMedium";
                  offsetPressedX = 0.01;
                  offsetPressedY = 0.01;
                  offsetX = 0.01;
                  offsetY = 0.01;
                  sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1);
                  soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1.0};
                  soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.09,1.0};
                  soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1.0};
                  soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.09,1.0};
                  onButtonClick = "[false, false, false, metallbauer] call life_fnc_buyLicense; closeDialog 0;";//Hier brauche ich Hilfe            
              };
              class Close
              {
                  type = 1;
                  idc = -1;
                  x = safeZoneX + safeZoneW * 0.469375;
                  y = safeZoneY + safeZoneH * 0.61555556;
                  w = safeZoneW * 0.058125;
                  h = safeZoneH * 0.02333334;
                  style = 0+2;
                  text = "EXIT";
                  borderSize = 0;
                  colorBackground[] = {0.102,0.102,0.102,1};
                  colorBackgroundActive[] = {1,0,0,1};
                  colorBackgroundDisabled[] = {0.2,0.2,0.2,1};
                  colorBorder[] = {0,0,0,0};
                  colorDisabled[] = {0.2,0.2,0.2,1};
                  colorFocused[] = {0.2,0.2,0.2,1};
                  colorShadow[] = {0,0,0,1};
                  colorText[] = {1,1,1,1};
                  font = "PuristaMedium";
                  offsetPressedX = 0.01;
                  offsetPressedY = 0.01;
                  offsetX = 0.01;
                  offsetY = 0.01;
                  sizeEx = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1);
                  soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1.0};
                  soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.09,1.0};
                  soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1.0};
                  soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.09,1.0};
                  onButtonClick = "closeDialog 0; ";
                  
              };
              
          };
          
      };
      Alles anzeigen


      Die Funktion:

      Code: fn_berufswahl.sqf
      #include "..\..\script_macros.hpp" //Ja ich weiß unnötig
      createDialog "berufswahl";
      
      if(license_civ_bauer || license_civ_metallbauer) then {
          closeDialog 0; 
          hint localize "STR_NOTF_AlreadyJob";
          };

      Ich hoffe ihr konntet mein anliegen verstehen und mir helfen.

      Mit freundlichen Grüßen, Moritz B.

      logo.png

    • Brizi Jaeger
      Profi
      Reaktionen
      291
      Trophäen
      11
      Beiträge
      1.025
      • 1. November 2017 um 17:43
      • #2

      Also bei dem Dialog hätte ich das so gemacht das der sich erst erstellt wenn er die lizenzen nicht hat ergibt für mich mehr Sinn nicht erst öffnen und dann wieder schliessen :


      zum thema :

      Code
      missionNamespace setVariable [LICENSE_VARNAME("lizenzname","civ"),true];
      life_cash = life_cash - 10000;
      hint "Du hast lizenzname gekauft"; 

      I dont know ob das so funkt eig aber schon probiers mal aus also das wäre jz ein neues Script den du als onbuttonclick im dialog rein machst am bestn

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 1. November 2017 um 18:58
      • #3
      Zitat von Brizi Jaeger

      missionNamespace setVariable [LICENSE_VARNAME("lizenzname","civ"),true];

      warum immer so unnötig kompliziert?

      license_civ_LIZENZNAME = true;

      #MakeArmaNotWar

      Kein Support via PN & Steam! / No Support via DM & Steam!


      Mit freundlichen Grüßen
      blackfisch
      ______________________

      Web: blackfisch.me

      GitHub: GitHub.com/blackfisch

      Mail: [email protected]

      ______________________
      Wichtige Links:
      [Erklärung|Leitfaden] Code Optimierung

      [Tutorial] life_fnc_MP zu remoteExec

      Ohne Logs & entsprechende Dateien kein Support!

      ______________________

    • FarmersSohn
      Schüler
      Reaktionen
      23
      Trophäen
      10
      Beiträge
      82
      Bilder
      1
      • 1. November 2017 um 20:43
      • #4

      Vielen Dank an euch beide läuft jetzt ;)

      Mit freundlichen grüßen Moritz B.

    • Brizi Jaeger
      Profi
      Reaktionen
      291
      Trophäen
      11
      Beiträge
      1.025
      • 1. November 2017 um 21:20
      • #5
      Zitat von blackfisch

      warum immer so unnötig kompliziert?

      license_civ_LIZENZNAME = true;

      Weil ein Brizi alles kompliziert macht :)

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von Native-Servers.com? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Benutzerkonto erstellen

    Benutzer online in diesem Thema

    • 1 Besucher

    Wichtige Links & Informationen

    Server & Hosting-Ressourcen

      Server Administration & Hosting Basics

      Windows Server Support & Guides

      Linux Server Configuration & Help

      Setting up TeamSpeak 3 & VoIP Servers

      Domains & Web Hosting for Beginners & Professionals

      Cloud Hosting, Docker & Kubernetes Tutorials

    Gameserver & Modding-Ressourcen

      ArmA 3 Tutorials & Script Collection

      Renting & Operating Gameservers

      DayZ Server Management & Help

      FiveM (GTA V) Server & Script Development

      Rust Server Modding & Administration

      Setting up & Optimizing ARK Survival Servers

    NodeZone.net – Deine Community für Gameserver, Server-Hosting & Modding

      NodeZone.net ist dein Forum für Gameserver-Hosting, Rootserver, vServer, Webhosting und Modding. Seit 2015 bietet unsere Community eine zentrale Anlaufstelle für Server-Admins, Gamer und Technikbegeisterte, die sich über Server-Management, Hosting-Lösungen und Spielemodding austauschen möchten.


      Ob Anleitungen für eigene Gameserver, Hilfe bei Root- und vServer-Konfigurationen oder Tipps zu Modding & Scripting – bei uns findest du fundiertes Wissen und praxisnahe Tutorials. Mit einer stetig wachsenden Community findest du hier Antworten auf deine Fragen, Projektpartner und Gleichgesinnte für deine Gaming- und Serverprojekte. Schließe dich NodeZone.net an und werde Teil einer aktiven Community rund um Server-Hosting, Gameserver-Management und Modding-Ressourcen.

    Wer jetzt nicht teilt ist selber Schuld:
    1. Nutzungsbestimmungen
    2. Datenschutzerklärung
    3. Impressum
    4. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™