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
Mi: 21 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. Tutorials & Releases

    [TUTORIAL] Spielerinformationsmenu

      • Altis Life
    • Natic
    • 13. Januar 2019 um 12:02
    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      9
      Beiträge
      408
      • 13. Januar 2019 um 12:02
      • #1

      Hallo NN,

      hier ist eine kleine Erweiterung von mir.

      Ihr könnt anhand eines Dialoges Beispiel: Z-Menu => Infos => Spieler

      alle Informationen auslesen.

      ACHTUNG: Es muss angepasst werden, da es so noch nicht auf jeden Life_Server funktionieren würde.

      Somit erhaltet ihr die Erlaubnis es zu verändert, dennoch nicht ohne meiner Erlaubnis es in jenem Forum / anderen Plattformen zu posten.

      Tutorial:

      Schritt 1:

      erstellt eine Datei Namens fn_playerInfos.sqf

      Code
      /*
          @Author: Natic
          @Date: 12.01.2019
          @Disclaimer: Nobody is allowed to use/edit this script
      */
      private["_cop","_med","_civ","_admin","_don","_adac","_uid","_name","_time","_query","_qresult","_cars","_license","_atm","_info"];
      
      /*
          WARNING: Before you can use this Script, you need the civ and adac level!
      */
      
      _cop = life_coplevel;
      _med = life_mediclevel;
      _civ = life_civlevel;
      _admin = life_adminlevel;
      _adac = life_adaclevel;
      _don = life_donorlevel;
      _uid = getPlayerUID;
      _name = name player;
      _time = time;
      _info = this select 0;
      _listbox = _dialog displayCtrl 8180;
      
      
      if (playerside == west) then {
          _query = format["SELECT FROM players (coplevel, adminlevel, donorlevel, atm, time, license, cars ) WHERE '%1', '%2', '%3', '%4', '%5', '%6','%7'",_cop,_admin,_don,_time,_license,_atm,_cars];
                      diag_log format["Query: %1",_query];
                      waitUntil{!DB_Async_Active};
                      [_query,1] call DB_fnc_asyncCall;
      
          switch (_info) do {
              case 1: { 
                      _listbox lbAdd "%1",_name;
                      _listbox lbAdd "%2",_uid;
                      _listbox lbAdd "%3",_time;
                      _listbox lbAdd "%4",_cop;
                      _listbox lbAdd "Adminstatus:%5",_admin;
                      _listbox lbAdd "%5",_donor;
                      _listbox lbAdd "%6",_license;
                      _listbox lbAdd "%7",_atm;
                      _listbox lbAdd "%8",_cars;
              };
          };
      };
      
      if (playerside == independet) then {
              _query = format["SELECT FROM players (mediclevel, adminlevel, donorlevel, atm, time, license, cars ) WHERE '%1', '%2', '%3', '%4', '%5', '%6','%7'",_med,_admin,_don,_time,_license,_atm,_cars];
                      diag_log format["Query: %1",_query];
                      waitUntil{!DB_Async_Active};
                      [_query,1] call DB_fnc_asyncCall;
          switch (_info) do {
              case 1: { 
                      _listbox lbAdd "%1",_name;
                      _listbox lbAdd "%2",_uid;
                      _listbox lbAdd "%3",_time;
                      _listbox lbAdd "%4",_med;
                      _listbox lbAdd "Adminstatus:%5",_admin;
                      _listbox lbAdd "%5",_donor;
                      _listbox lbAdd "%6",_license;
                      _listbox lbAdd "%7",_atm;
                      _listbox lbAdd "%8",_cars;
              };
          };
      };
      
      if (playerside == civilian) then {
              _query = format["SELECT FROM players (civlevel, adminlevel, donorlevel, atm, time, license, cars ) WHERE '%1', '%2', '%3', '%4', '%5', '%6','%7'",_civ,_admin,_don,_time,_license,_atm,_cars];
                      diag_log format["Query: %1",_query];
                      waitUntil{!DB_Async_Active};
                      [_query,1] call DB_fnc_asyncCall;
      
          switch (_civ) do {
              case 1: { 
                      _listbox lbAdd "%1",_name;
                      _listbox lbAdd "%2",_uid;
                      _listbox lbAdd "%3",_time;
                      _listbox lbAdd "Veteran";
                      _listbox lbAdd "Adminstatus:%5",_admin;
                      _listbox lbAdd "%4",_donor;
                      _listbox lbAdd "%5",_license;
                      _listbox lbAdd "%6",_atm;
                      _listbox lbAdd "%7",_cars;
              };
              case 2: { 
                      _listbox lbAdd "%1",_name;
                      _listbox lbAdd "%2",_uid;
                      _listbox lbAdd "%3",_time;
                      _listbox lbAdd "Ehm.Admin";
                      _listbox lbAdd "%4",_donor;
                      _listbox lbAdd "%5",_license;
                      _listbox lbAdd "%6",_atm;
                      _listbox lbAdd "%7",_cars;
              };
              case 3: { 
                      _listbox lbAdd "%1",_name;
                      _listbox lbAdd "%2",_uid;
                      _listbox lbAdd "%3",_time;
                      _listbox lbAdd "Life-Admin";
                      _listbox lbAdd "%4",_donor;
                      _listbox lbAdd "%5",_license;
                      _listbox lbAdd "%6",_atm;
                      _listbox lbAdd "%7",_cars;
              };
              default: { 
                      _listbox lbAdd "%1",_name;
                      _listbox lbAdd "%2",_uid;
                      _listbox lbAdd "%3",_time;
                      _listbox lbAdd "Spieler";
                      _listbox lbAdd "%4",_donor;
                      _listbox lbAdd "%5",_license;
                      _listbox lbAdd "%6",_atm;
                      _listbox lbAdd "%7",_cars;
              };
          };
      };
          
          if (playerside == east) then {
              _query = format["SELECT FROM players (civlevel, adminlevel, donorlevel, atm, time, license, cars ) WHERE '%1', '%2', '%3', '%4', '%5', '%6','%7'",_civ,_admin,_don,_time,_license,_atm,_cars];
                      diag_log format["Query: %1",_query];
                      waitUntil{!DB_Async_Active};
                      [_query,1] call DB_fnc_asyncCall;
      
          switch (_info) do {
              case 1: { 
                      _listbox lbAdd "%1",_name;
                      _listbox lbAdd "%2",_uid;
                      _listbox lbAdd "%3",_time;
                      _listbox lbAdd "%4",_east;
                      _listbox lbAdd "Adminstatus:%5",_admin;
                      _listbox lbAdd "%5",_donor;
                      _listbox lbAdd "%6",_license;
                      _listbox lbAdd "%7",_atm;
                      _listbox lbAdd "%8",_cars;
              };
          };
      };
      Alles anzeigen

      Schritt 2: erstellt eine Datei Namens fn_pInfo_menu.hpp

      Code
      /*
          Creator: Natic
          Info: Dialog from Bug_tracker copied
      */
      class pinfo_menu {
          idd = 8180;
          name = "pinfo_menu";
          movingEnable = false;
          enableSimulation = true;
      
          class controlsBackground {
              class Life_RscTitleBackground: Life_RscText
              {
                  idc = -1;
                  text = "";
                  x = 0.162881 * safezoneW + safezoneX;
                  y = 0.090123 * safezoneH + safezoneY;
                  w = 0.6 * safezoneW;
                  h = 0.04 * safezoneH;
                  ColorBackground[] = {0.380392,0.698039,0.882352,0.698039};
              };
          };
          class controls {
              class MainBackground: Life_RscText
              {
                  idc = 8120;
                  text = "";
                  x = 0.026423 * safezoneW + safezoneX;
                  y = 0.098789 * safezoneH + safezoneY;
                  w = 0.960416 * safezoneW;
                  h = 0.911555 * safezoneH;
                  ColorBackground[] = {0,0,0,0.698039};
                  ColorText[] = {1,1,1,1};
              };
              class Title: Life_RscText
              {
                  idc = 8121;
                  text = "$STR_info_Title";
                  x = 0.163923 * safezoneW + safezoneX;
                  y = 0.086419 * safezoneH + safezoneY;
                  w = 0.6 * safezoneW;
                  h = 0.04 * safezoneH;
                  ColorBackground[] = {0,0,0,0};
                  ColorText[] = {1,1,1,1};
              };
              class BugConnection: Life_RscText
              {
                  idc = 8122;
                  text = "";
                  x = 0.160798 * safezoneW + safezoneX;
                  y = 0.088271 * safezoneH + safezoneY;
                  w = 0.6 * safezoneW;
                  h = 0.04 * safezoneH;
                  ColorBackground[] = {0.098039,0.098039,0.098039,0};
                  ColorText[] = {1,1,1,1};
              };
              class BugMsgList: Life_RscListBox
              {
                  idc = 8123;
                  text = "";
                  onLBSelChanged = "[] spawn life_fnc_playerInfos";
                  x = -0.00118 * safezoneW + safezoneX;
                  y = 0.186049 * safezoneH + safezoneY;
                  w = 0.951562 * safezoneW;
                  h = 0.733333 * safezoneH;
                  ColorBackground[] = {0.098039,0.098039,0.098039,0.588235};
                  ColorText[] = {1,1,1,1};
              };
              class CloseButtonKey: Life_RscButtonMenu
              {
                  idc = 8124;
                  text = "$STR_Global_Close";
                  onButtonClick = "closeDialog 0;";
                  x = 0.005590 * safezoneW + safezoneX;
                  y = 0.929012 * safezoneH + safezoneY;
                  w = 0.15625 * safezoneW;
                  h = 0.04 * safezoneH;
                  ColorBackground[] = {0.098039,0.098039,0.098039,0.666666};
                  ColorText[] = {1,1,1,1};
              };
              class ButtonBugMsgDelete: Life_RscButtonMenu
              {
                  idc = 8125;
                  text = "$STR_btn_delete";
                  onButtonClick = "";
                  x = 0.172256 * safezoneW + safezoneX;
                  y = 0.930863 * safezoneH + safezoneY;
                  w = 0.15625 * safezoneW;
                  h = 0.04 * safezoneH;
                  ColorBackground[] = {0.098039,0.098039,0.098039,0.666666};
                  ColorText[] = {1,1,1,1};
              };
          };
      };
      Alles anzeigen

      Einträge in der Stringtable, Function, Master_Handle sollten euren Fähigkeiten entsprechen ^^

      Viel spaß mit der Erweiterung

      Euer

      Natic

      Mit freundlichen Grüßen

      Natic

      --------------------------------------------------------------------------------------------------------------------------

      Kein direkten PN - Support

      --------------------------------------------------------------------------------------------------------------------------

      Programierung

      Wir lieben

      es

      3 Mal editiert, zuletzt von Natic (13. Januar 2019 um 13:19) aus folgendem Grund: Fehler fixed

    • Online
      NiceKype
      Profi
      Reaktionen
      554
      Trophäen
      9
      Beiträge
      996
      Dateien
      1
      Bilder
      62
      • 13. Januar 2019 um 12:33
      • #2

      Hmm ich hoffe das ist eine Admin und keine Cop Funktion. Für die Cops wäre das ja schwachsinnig ;)

      Am besten gefällt mir aber die Stelle: "@Reclaimer: Nobody is allowed to use/edit this script":D

      𝗡𝗜𝗖𝗘𝗞𝗬𝗣𝗘 // 𝗧𝗜𝗠𝗢

      ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
      MEINE LINKS:

      Have Fun, stay Nice
      ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄

    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      9
      Beiträge
      408
      • 13. Januar 2019 um 12:47
      • #3

      NiceKype wieso gefällt dir diese stelle am besten? Es war ein Tippfehler fehler ^^

      Und das kann jeder für Sich machen, Beispielsweise kann jeder Spieler seine Informationen so herrausfinden.

      Deshalb steht da, Anpassen für den Life_Server, da es so wie o.g. eine Admin Funktion ist.

      Bei mir ist es für jeden Spieler, da da auch nur SEINE Infos stehen ^^

      Mit freundlichen Grüßen

      Natic

      --------------------------------------------------------------------------------------------------------------------------

      Kein direkten PN - Support

      --------------------------------------------------------------------------------------------------------------------------

      Programierung

      Wir lieben

      es

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von NodeZone.net? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Registrieren

    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™