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
Di: 01 Juli 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] Risk's RankUp System

      • Altis Life
    • Risk
    • 12. September 2017 um 11:27
    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 12. September 2017 um 11:27
      • #1

      Mit diesem System können Leute ab einem Bestimmten Rang jeden beliebigen Spieler befördern und/oder degradieren!

      1. Erstell unter core/AAR/RankUp 2 Dateien

      fn_rankMenue.sqf

      Spoiler anzeigen
      Code
      #include "..\..\..\script_macros.hpp"
      /*
      *   File: fn_rankMenue.sqf
      *   Author: ԄӏՖҚ - Fabian
      *   Server: AllAboutRoleplay.de
      *
      *   Description:
      *   Öffnet das RankUp Menü.
      *
      */
      disableSerialization;
      
      if (playerSide isEqualTo civilian) exitWith {};
      
      createDialog "life_rankUp";
      
      private _display = findDisplay 999;
      private _players = _display displayCtrl 9991;
      lbClear _players;
      
      if(playerSide isEqualTo west && (FETCH_CONST(life_coplevel) < 12)) exitWith { ["Dein Rang ist zu Niedrig.","FAST","DEFAULT"] spawn aar_fnc_message;};
      if(playerSide isEqualTo independent && (FETCH_CONST(life_mediclevel) < 8)) exitWith { ["Dein Rang ist zu Niedrig.","FAST","DEFAULT"] spawn aar_fnc_message;};
      
      {
          private _side = switch (side _x) do {case west: {"Polizei"}; case independent : {"EMS"}; case civilian : {"Zivilist"}; default {"Unbekannt"};};
          _players lbAdd format ["%1 - %2", name _x,_side];
          _players lbSetData [(lbSize _players)-1,str(_x)];
      } forEach playableUnits;
      Alles anzeigen


      fn_rankUp.sqf

      Spoiler anzeigen
      Code
      #include "..\..\..\script_macros.hpp"
      /*
      *   File: fn_rankUp.sqf
      *   Author: ԄӏՖҚ - Fabian
      *   Server: AllAboutRoleplay.de
      *
      *   Description:
      *   Empfängt die Eingabe des Spielers und gibt diese an die Datenbank weiter.
      *
      */
      private ["_side","_type","_list","_unit","_rank"];
      
      private _unit = lbData[9991,lbCurSel (9991)];
      _unit = call compile format ["%1", _unit];
      
      if (isNil "_unit") exitWith {};
      if (isNull _unit) exitWith {};
      if (_unit isEqualTo player) exitWith {[localize "STR_ANOTF_Error","FAST","DEFAULT"] spawn aar_fnc_message;};
      
      //rang nehmen
      _txtRoh = ctrlText 9992;
      _txtF = _txtRoh splitString ",";
      if(count _txtF != 2) exitWith {["Benutzung: Eingabe ins Textfeld-> Rang,Polizei oder Rang,EMS OHNE LEERZEICHEN NACH DEM KOMMA!","FAST","DEFAULT"] spawn aar_fnc_message;};
      if((_txtF select 1) isEqualTo "") exitWith {["Benutzung: Eingabe ins Textfeld-> Rang,Polizei oder Rang,EMS OHNE LEERZEICHEN NACH DEM KOMMA!","FAST","DEFAULT"] spawn aar_fnc_message;};
      _rank = parseNumber(_txtF select 0);
      _seite = switch(_txtF select 1) do {
          case "Polizei": {west};
          case "EMS": {independent};
      };
      
      if (_rank > 14) exitWith {["Es gibt nicht mehr als 14 Ränge.","FAST","DEFAULT"] spawn aar_fnc_message;};
      if (_rank < 0) exitWith {};
      if (!([str(_rank)] call TON_fnc_isnumber)) exitWith {[localize "STR_ATM_notnumeric","FAST","DEFAULT"] spawn aar_fnc_message;};
      
      [_rank, getPlayerUID _unit, _seite, _unit] remoteExec ["AARSV_fnc_resetRankUp", 2];
      Alles anzeigen

      2. geht in eure Functions.hpp und tragt folgendes ein -> NICHT IN DIE CLASS LIFE_CLIENT CORE!

      Spoiler anzeigen
      Code
      class AAR_Scripts {
          tag = "aar";
          class rankup {
              file = "core\AAR\RankUp";
              class rankUp {};
              class rankMenue {};
          };
      };

      3. Geht in eure cfg RemoteExec und tragt folgendes ein

      Code
      F(aar_fnc_rankUp,ANYONE)

      4. Geht in den Dialog Ordner und erstellt einen neuen Dialog aarRankUpDialog.hpp

      Spoiler anzeigen
      Code
      /* #Feloxy
      $[
          1.063,
          ["aarRankUp",[[0,0,1,1],0.025,0.04,"GUI_GRID"],0,0,0],
          [1000,"rankUpBackground",[1,"",["0.319532 * safezoneW + safezoneX","0.434 * safezoneH + safezoneY","0.216563 * safezoneW","0.319 * safezoneH"],[-1,-1,-1,-1],[0,0,0,0.5],[-1,-1,-1,-1],"","-1"],[]],
          [1400,"rankText",[1,"Polizei 0-14 Ärzte 0-10",["0.324687 * safezoneW + safezoneX","0.654 * safezoneH + safezoneY","0.20625 * safezoneW","0.022 * safezoneH"],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
          [2400,"buttonRankUp",[1,"Rang verändern.",["0.324687 * safezoneW + safezoneX","0.687 * safezoneH + safezoneY","0.20625 * safezoneW","0.022 * safezoneH"],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
          [1500,"",[1,"",["0.324687 * safezoneW + safezoneX","0.445 * safezoneH + safezoneY","0.20625 * safezoneW","0.198 * safezoneH"],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
          [2401,"buttonClose",[1,"Schließen!",["0.324687 * safezoneW + safezoneX","0.72 * safezoneH + safezoneY","0.20625 * safezoneW","0.022 * safezoneH"],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]]
      ]
      */
      
      class life_rankUp {
          idd = 999;
          name= "life_rankUp";
          movingEnable = 1;
          enableSimulation = 1;
      
          class controlsBackground {
              class rankUpBackground: Life_RscText
              {
                  idc = 1000;
                  x = 0.319532 * safezoneW + safezoneX;
                  y = 0.434 * safezoneH + safezoneY;
                  w = 0.216563 * safezoneW;
                  h = 0.319 * safezoneH;
                  colorBackground[] = {0,0,0,0.5};
              };
          };
          class controls {
              class rankText: Life_RscEdit
              {
                  idc = 9992;
                  text = "rang,seite"; //--- ToDo: Localize;
                  x = 0.324687 * safezoneW + safezoneX;
                  y = 0.654 * safezoneH + safezoneY;
                  w = 0.20625 * safezoneW;
                  h = 0.022 * safezoneH;
              };
              class buttonRankUp: Life_RscButtonMenu
              {
                  idc = 2400;
                  text = "Rang verändern."; //--- ToDo: Localize;
                  onButtonClick = "[] call aar_fnc_rankUp;";
                  x = 0.324687 * safezoneW + safezoneX;
                  y = 0.687 * safezoneH + safezoneY;
                  w = 0.20625 * safezoneW;
                  h = 0.022 * safezoneH;
              };
              class RscListbox_1500: Life_RscListbox
              {
                  idc = 9991;
                  onLBSelChanged = "";
                  text = "";
                  sizeEx = 0.035;
                  x = 0.324687 * safezoneW + safezoneX;
                  y = 0.445 * safezoneH + safezoneY;
                  w = 0.20625 * safezoneW;
                  h = 0.198 * safezoneH;
              };
              class buttonClose: Life_RscButtonMenu
              {
                  idc = 2401;
                  text = "Schließen!"; //--- ToDo: Localize;
                  onButtonClick = "closeDialog 0;";
                  x = 0.324687 * safezoneW + safezoneX;
                  y = 0.72 * safezoneH + safezoneY;
                  w = 0.20625 * safezoneW;
                  h = 0.022 * safezoneH;
              };
          };
      };
      Alles anzeigen

      tragt diesen auch in die MasterHandler ein

      Code
      #include "aarRankUpDialog.hpp"

      5 Geht in euren Life_server und erstellt eine neue Datei unter life_server/Functions/AAR/rankUp

      fn_resetRankUp.sqf

      Spoiler anzeigen
      Code
      /*
      *   File: fn_resetRankUp.sqf
      *   Author: ԄӏՖҚ - Fabian
      *   Server: AllAboutRoleplay.de
      *
      *   Description:
      *   Reset the "perso" and set the new cop/med rank.
      *
      */
      
      params [
          "_insert",
          "_uid",
          ["_side",sideUnknown,[sideUnknown]],
          ["_player",objNull,[objNull]]
      ];
      //reset the perso
      _query = switch(_side) do
      {
          case west:
          {
              format["UPDATE perso SET persoCop='""[]""' WHERE pid='%1'", _uid];
          };
          case independent:
          {
              format["UPDATE perso SET persoMed='""[]""' WHERE pid='%1'", _uid];
          };
      };
      [_query,1] call DB_fnc_asyncCall;
      
      //set the new rank
      _query2 = switch(_side) do
      {
          case west:
          {
              format["UPDATE players SET coplevel='%1' WHERE pid='%2'", _insert,_uid];
          };
          case independent:
          {
              format["UPDATE players SET mediclevel='%1' WHERE pid='%2'", _insert,_uid];
          };
      };
      [_query2,1] call DB_fnc_asyncCall;
      
      ["rankUp",false] remoteExecCall ["BIS_fnc_endMission",(owner  _player)];
      Alles anzeigen

      6. Als letztes tragt ihr das ganze noch in die config.cpp ein dies ist wieder eine neue class

      Code
      class AAR_Functions {
          tag = "AARSV";
          class RankUp {
              file = "\life_server\Functions\AAR\rankUp";
              class resetRankUp {};
          };    };

      Viel Spaß Damit !


      ddfa120174bbe8462727c4d9c02b6bfb


      EDIT:

      description.ext eintrag in der class debriefing.

      Code
      class rankUp
      {
          title = "Rangänderrung";
          subTitle = "";
          description = "Bitte ändere deinen Namen!";
          pictureBackground = "";
          picture = "";
          pictureColor[] = {0,0.3,0.6,1};
      };

      kann aufgerufen werden durch

      Code
      _btn1 buttonSetAction "closeDialog 0; call aar_fnc_rankMenue;";

      Das System resetet unteranderem auch diesen Perso falls die Namen beim rankup geändert werden müssen.

      [Tutorial] Permanenter Personalausweis/Dienstausweis - ID Card

      mfg Risk

      https://www.twitch.tv/theriskarma

      2 Mal editiert, zuletzt von Risk (17. September 2017 um 16:46)

    • Marius1773
      Profi
      Reaktionen
      369
      Trophäen
      9
      Beiträge
      962
      • 12. September 2017 um 11:44
      • #2
      Code
      Server: AllAboutRoleplay.de

      ??

      Windows Server :love:

      Das Heilige Buch der Arma 3 Scripter, die Arma 3 Scripter Bibel: https://community.bistudio.com/wiki/Category:Scripting_Commands

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 12. September 2017 um 11:58
      • #3

      Für den Server hab ich das geschrieben.

      mfg Risk

      https://www.twitch.tv/theriskarma

    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 12. September 2017 um 12:15
      • #4

      Hast du vllt ein Bild vom Menü ?

      Mein Discord:
      https://discord.gg/4UMWmpfDet

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 12. September 2017 um 12:21
      • #5

      Ist updatet

      mfg Risk

      https://www.twitch.tv/theriskarma

    • AvirexDE
      Meister
      Reaktionen
      784
      Beiträge
      1.917
      Dateien
      1
      Bilder
      39
      • 12. September 2017 um 13:42
      • #6

      Nur zu allgemeinen Frage unter welchen Altis Life Version funktioniert das ?

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

      ▀ Freundliche Grüße ▀

      giphy.gif

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

    • Luchs2017
      Gast
      • 12. September 2017 um 15:04
      • #7
      Zitat von Risk

      Für den Server hab ich das geschrieben.

      Darf man fragen wieso du dich dazu entschlossen hast es zu veröffentlichen?

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 12. September 2017 um 15:15
      • #8

      sollte für jede Version gehen.

      Ich wollte einfach nett sein :D

      mfg Risk

      https://www.twitch.tv/theriskarma

      Einmal editiert, zuletzt von Risk (12. September 2017 um 15:28)

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 12. September 2017 um 17:26
      • #9

      das system resetet unteranderem auch den perso.

      mfg Risk

      https://www.twitch.tv/theriskarma

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 17. September 2017 um 16:46
      • #10

      Hab nochmal was ergänzt.

      mfg Risk

      https://www.twitch.tv/theriskarma

    • Lassi262612
      Nerd
      Reaktionen
      55
      Trophäen
      11
      Beiträge
      730
      • 26. September 2017 um 15:33
      • #11

      Ich habe folgenden Fehlerarma3server_x64_2017-09-26_15-27-04.rpt hier mal die datei dazu ich habe dort die variablen angepasstfn_rankMenue.sqf

      ich hoffe wer weiß wo erliegt geschweige jemand sieht was was ich übersehen habe Altis Life Version ist die neuste mit extdb3

      gz Lassi

    • Monstersquad1
      Anfänger
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      49
      • 27. September 2017 um 14:13
      • #12

      Bei mir kommt eine fehlermeldung:

      https://imgur.com/j3sQzzJ

      Und im log steht nichts außer:

      Code
      14:04:07 Warning Message: Config : some input after EndOfFile.

      Ich benutze Version 4.4 ich hoffe mir kann wer weiterhelfen da ich keine ahnung habe was die Fehlermeldung bedeutet und wie man sie behebt.

      Einmal editiert, zuletzt von Monstersquad1 (27. September 2017 um 14:18)

    • AvirexDE
      Meister
      Reaktionen
      784
      Beiträge
      1.917
      Dateien
      1
      Bilder
      39
      • 27. September 2017 um 15:07
      • #13
      Zitat von Monstersquad1

      Bei mir kommt eine fehlermeldung:

      https://imgur.com/j3sQzzJ

      Und im log steht nichts außer:

      Code
      14:04:07 Warning Message: Config : some input after EndOfFile.

      Ich benutze Version 4.4 ich hoffe mir kann wer weiterhelfen da ich keine ahnung habe was die Fehlermeldung bedeutet und wie man sie behebt.

      Einmal den gesamten RPT Log und den Client Log bitte ;)

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

      ▀ Freundliche Grüße ▀

      giphy.gif

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 27. September 2017 um 15:08
      • #14

      Ich gucke heute Abend nach der Arbeit.

      mfg Risk

      https://www.twitch.tv/theriskarma

    • AvirexDE
      Meister
      Reaktionen
      784
      Beiträge
      1.917
      Dateien
      1
      Bilder
      39
      • 27. September 2017 um 15:14
      • #15
      Code
      15:28:08 Error in expression <
      if((playerSide == west) && (FETCH_CONST(life_coplevel) < 14)) then
      {
      ["Dein Ran>
      15:28:08   Error position: <(life_coplevel) < 14)) then
      {
      ["Dein Ran>
      15:28:08   Error Missing )
      15:28:08 File core\cop\fn_rankMenue.sqf [life_fnc_rankMenue], line 17
      15:28:08 Error in expression <
      if((playerSide == west) && (FETCH_CONST(life_coplevel) < 14)) then
      {
      ["Dein Ran>
      15:28:08   Error position: <(life_coplevel) < 14)) then
      {
      ["Dein Ran>
      15:28:08   Error Missing )
      15:28:08 File core\cop\fn_rankMenue.sqf [life_fnc_rankMenue], line 17
      Alles anzeigen

      Lassi262612 dein Fehler liegt in der fn_rankMenu.sqf. Häng die Datei mal an.

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

      ▀ Freundliche Grüße ▀

      giphy.gif

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

    • Lassi262612
      Nerd
      Reaktionen
      55
      Trophäen
      11
      Beiträge
      730
      • 27. September 2017 um 16:41
      • #16

      die ist eig angepinnt warte

      Dateien

      fn_rankMenue.sqf 961 Byte – 270 Downloads
    • AvirexDE
      Meister
      Reaktionen
      784
      Beiträge
      1.917
      Dateien
      1
      Bilder
      39
      • 27. September 2017 um 16:50
      • #17
      Zitat von Lassi262612

      die ist eig angepinnt warte

      Meine Dummheit hab es nicht gesehen 8o

      Probiere mal die Datei in meinem Anhang

      Dateien

      fn_rankMenue.sqf 985 Byte – 366 Downloads

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

      ▀ Freundliche Grüße ▀

      giphy.gif

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

    • Lassi262612
      Nerd
      Reaktionen
      55
      Trophäen
      11
      Beiträge
      730
      • 27. September 2017 um 17:04
      • #18

      kleigikeit was ich wie ich schrieb gem,acht habe sind die variabeln geändert weil wir ja life net aar haben

    • Lassi262612
      Nerd
      Reaktionen
      55
      Trophäen
      11
      Beiträge
      730
      • 27. September 2017 um 17:08
      • #19

      Mit der datei kleinen änderungen ist der fehler weg!

    • AvirexDE
      Meister
      Reaktionen
      784
      Beiträge
      1.917
      Dateien
      1
      Bilder
      39
      • 27. September 2017 um 17:14
      • #20
      Zitat von Lassi262612

      Mit der datei kleinen änderungen ist der fehler weg!

      Also geht es jetzt oder ?

      Du solltest mal bitte Deutsche Sätze schreiben ich kann es nciht so richtig verstehen^^

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

      ▀ Freundliche Grüße ▀

      giphy.gif

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

    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™