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
Alles
  • Alles
  • 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. Mitglieder
    3. NeoxNX

    Beiträge von NeoxNX

    • Whitelist

      • NeoxNX
      • 15. Juli 2019 um 11:13

      Hey,

      Ja Armaremoteadmin stellt Q1 2020 den Dienst ein WEIL sie dann eine Open Soruce Version veröffentlichen wollen :S

      MfG

    • Zählen bis 1.000.000

      • NeoxNX
      • 13. Juli 2019 um 11:06

      323

    • TFAR Nummer statt Name

      • NeoxNX
      • 12. Juli 2019 um 22:25

      :thumbup:

    • TFAR Nummer statt Name

      • NeoxNX
      • 12. Juli 2019 um 22:14

      Hey,

      Sicher das die Mod vorher ohne das verändern der Variable ging ?

      Außerdem weiß ich nicht genau ob du die Mod mit dem Addon Builder packen solltest allerdings weiß ich nicht ob das genau der Fehler sein kann.

      Wie schon beschrieben ich habe meine TFAR Mod genommen per "PBO Manager" entpackt diese Zeile verändert mit dem "PBO Manager" wieder gepackt und danach in mein Modpack & auf den Server geworfen und alles klappte beim ersten Start.

      Ich selber bekam diese Fehlermeldung noch nicht und wüsste auch nicht wo die herkommt.

    • TFAR Nummer statt Name

      • NeoxNX
      • 12. Juli 2019 um 22:07

      Hey,

      Natürlich kann es sein das du durch deine vorherige Arbeit an der Mod irgendwas falsch gemacht hast.

      Das kann aber nicht daran liegen das ich nun wie oben beschrieben habe eine Zeile in der sqf von TFAR geändert habe.

      Was hast du denn genau an der Mod geändert ? hast du vorher ein Backup gemacht ?

      und sonst wie ich oben schon beschrieben habe wenn du nichts wichtiges an deiner TFAR Mod gemacht hast Mod neu installieren und wie oben beschrieben die variable verändern ?

    • TFAR Nummer statt Name

      • NeoxNX
      • 12. Juli 2019 um 21:54

      Hey,

      Ich habe es vor dem Post hier extra noch mal getestet und bei mir hat es Super Funktioniert .

      Was heißt denn "Will er mich nicht mehr das Spiel starten lassen" kannst du das genauer erklären und ggf Logs anhängen ?

      MfG

    • TFAR Nummer statt Name

      • NeoxNX
      • 12. Juli 2019 um 21:50

      Hey,


      Ja es ist möglich in der PBO von TFAR (task_force_radio) unter functions/fn_send_FrequencyInfo.sqf

      Zeile 76

      Code
      _alive = alive TFAR_currentUnit;
      if (_alive) then {
          TFAR_player_name = name player;
      };

      TFAR_player_name = name player; -> Sagt dem Teamspeak das er den namen vom Spieler selber nehmen soll würdest du somit "name player" durch "profileNameSteam" ersetzen so würde im Teamspeak der Name deines Steam Accounts stehen.

      Ich denke daraus lässt sich was bauen

      MfG

    • Spiel: ABC bis ein Teammitglied Stopp sagt :D

      • NeoxNX
      • 16. April 2019 um 21:30

      G

    • Problem beim Dialog

      • NeoxNX
      • 19. August 2018 um 15:04

      Ok,

      Hat es nun geklappt oder gibt es immer noch Fehler ?

      MfG

    • Problem beim Dialog

      • NeoxNX
      • 17. August 2018 um 23:58

      Hey,


      Nein direkt übernehmen würde nichts bringen .. wir habe unterschiedliche X/Y/W/H Daten ... ich meinte nur die safezones dahinter ... :D

      Ich mache das mal eben für dich und füge auch direkt die Scrollbar ein...

      Code
      #include "player_sys.sqf"
      
      class playerSettings {
       idd = playersys_DIALOG;
       movingEnable = 1;
       enableSimulation = 1;
       
       
       class controlsBackground {
       class Life_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;
       x = 0.1;
       y = 0.2;
       w = 0.8;
       h = (1 / 25);
       };
       class MainBackground: Life_RscText {
       colorBackground[] = {0, 0, 0, 0.7};
       idc = -1;
       x = 0.1;
       y = 0.2 + (11 / 250);
       w = 0.8;
       h = 0.6 - (22 / 250);
       };
       class Title: Life_RscTitle {
       colorBackground[] = {0, 0, 0, 0};
       idc = -1;
       text = "$STR_PM_Title";
       x = 0.1;
       y = 0.2;
       w = 0.8;
       h = (1 / 25);
       };
       class moneyStatusInfo : Life_RscStructuredText 
       {
       idc = 2015;
       //sizeEx = 0.020;
       text = "";
       x = 0.105; * safezoneW + safezoneX;
       y = 0.30; * safezoneH + safezoneY;
       w = 0.3; * safezoneW;
       h = 0.6; * safezoneH;
       };
       class PlayersName: Title {
       idc = carry_weight;
       style = 1;
       text = "";
       };
       };
       class controls {
       class itemHeader: Life_RscText {
       idc = -1;
       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])", 0.5};
       text = "$STR_PM_cItems";
       sizeEx = 0.04;
       x = 0.62;
       y = 0.26;
       w = 0.275;
       h = 0.04;
       };
       class licenseHeader: Life_RscText {
       idc = -1;
       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])", 0.5};
       text = "$STR_PM_Licenses";
       sizeEx = 0.04;
       x = 0.336;
       y = 0.26;
       w = 0.275;
       h = 0.04;
       };
       class moneySHeader: Life_RscText {
       idc = -1;
       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])", 0.5};
       text = "$STR_PM_MoneyStats";
       sizeEx = 0.04;
       x = 0.11;
       y = 0.26;
       w = 0.219;
       h = 0.04;
       };
       class itemList: Life_RscListBox {
       idc = item_list;
       sizeEx = 0.030;
       x = 0.62;
       y = 0.30;
       w = 0.275;
       h = 0.3;
       };
       class moneyEdit: Life_RscEdit {
       idc = 2018;
       text = "1";
       sizeEx = 0.030;
       x = 0.12;
       y = 0.42;
       w = 0.18;
       h = 0.03;
       };
       class NearPlayers: Life_RscCombo {
       idc = 2022;
       x = 0.12;
       y = 0.46;
       w = 0.18;
       h = 0.03;
       };
       class moneyDrop: Life_RscButtonMenu {
       idc = 2001;
       text = "$STR_Global_Give";
       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])", 0.5};
       onButtonClick = "[] call life_fnc_giveMoney";
       sizeEx = 0.025;
       x = 0.135;
       y = 0.50;
       w = 0.13;
       h = 0.036;
       };
       class itemEdit: Life_RscEdit {
       idc = item_edit;
       text = "1";
       sizeEx = 0.030;
       x = 0.62;
       y = 0.61;
       w = 0.275;
       h = 0.03;
       };
       class iNearPlayers: Life_RscCombo {
       idc = 2023;
       x = 0.62;
       y = 0.65;
       w = 0.275;
       h = 0.03;
       };
       class DropButton: Life_RscButtonMenu {
       idc = 2002;
       text = "$STR_Global_Give";
       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])", 0.5};
       onButtonClick = "[] call life_fnc_giveItem;";
       x = 0.765;
       y = 0.70;
       w = (5.25 / 40);
       h = (1 / 25);
       };
       class UseButton: Life_RscButtonMenu {
       text = "$STR_Global_Use";
       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])", 0.5};
       onButtonClick = "[] call life_fnc_useItem;";
       x = 0.62;
       y = 0.70;
       w = (5.25 / 40);
       h = (1 / 25);
       };
       class RemoveButton: Life_RscButtonMenu {
       text = "$STR_Global_Remove";
       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])", 0.5};
       onButtonClick = "[] call life_fnc_removeItem;";
       x = 0.475;
       y = 0.70;
       w = (5.25 / 40);
       h = (1 / 25);
       };
       class ButtonClose: Life_RscButtonMenu {
       idc = -1;
       //shortcuts[] = {0x00050000 + 2};
       text = "$STR_Global_Close";
       onButtonClick = "closeDialog 0;";
       x = 0.1;
       y = 0.8 - (1 / 25);
       w = (6.25 / 40);
       h = (1 / 25);
       };
       class ButtonSettings: Life_RscButtonMenu {
       idc = -1;
       text = "$STR_Global_Settings";
       onButtonClick = "[] call life_fnc_settingsMenu;";
       x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
       y = 0.8 - (1 / 25);
       w = (6.25 / 40);
       h = (1 / 25);
       };
       class ButtonMyGang: Life_RscButtonMenu {
       idc = 2011;
       text = "$STR_PM_MyGang";
       onButtonClick = "if (isNil ""life_action_gangInUse"") then {if (isNil {(group player) getVariable ""gang_owner""}) then {createDialog ""Life_Create_Gang_Diag"";} else {[] spawn life_fnc_gangMenu;};};";
       x = 0.1 + (6.25 / 19.8) + (1 / 250 / (safezoneW / safezoneH));
       y = 0.8 - (1 / 25);
       w = (6.25 / 40);
       h = (1 / 25);
       };
       
       
        class Licenses_Menu : Life_RscControlsGroup {
              idc = -1;
              w = 0.28; * safezoneW;
              h = 0.38; * safezoneH;
              x = 0.34; * safezoneW + safezoneX;
              y = 0.30; * safezoneH + safezoneY;
       
              class HScrollbar {
      
                  idc = -1;
                  width = 2;
                  autoScrollEnabled = 0;
                  autoScrollSpeed = 0;
                  autoScrollRewind = 0;
                  h = 2;
                  arrowEmpty = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_active_ca.paa";
                  arrowFull = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_active_ca.paa";
              };
       
          class Controls {
              
              class Life_Licenses: Life_RscStructuredText {
                  idc = 2014;
                  sizeEx = 0.020;
                  text = "";
                  x = 0;
                  y = 0;
                  w = 0.27; * safezoneW;
                  h = 0.65; * safezoneW;
              };
          };
        };
       
       
       
       
       class ButtonGangList: Life_RscButtonMenu {
       idc = 2012;
       text = "$STR_PM_WantedList";
       onButtonClick = "[] call life_fnc_wantedMenu";
       x = 0.1 + (6.25 / 19.8) + (1 / 250 / (safezoneW / safezoneH));
       y = 0.8 - (1 / 25);
       w = (6.25 / 40);
       h = (1 / 25);
       };
       class ButtonKeys: Life_RscButtonMenu {
       idc = 2013;
       text = "$STR_PM_KeyChain";
       onButtonClick = "createDialog ""Life_key_management"";";
       x = 0.26 + (6.25 / 19.8) + (1 / 250 / (safezoneW / safezoneH));
       y = 0.8 - (1 / 25);
       w = (6.25 / 40);
       h = (1 / 25);
       };
       class ButtonCell: Life_RscButtonMenu {
       idc = 2014;
       text = "$STR_PM_CellPhone";
       onButtonClick = "createDialog ""Life_cell_phone"";";
       x = 0.42 + (6.25 / 19.8) + (1 / 250 / (safezoneW / safezoneH));
       y = 0.8 - (1 / 25);
       w = (6.25 / 40);
       h = (1 / 25);
       };
       class ButtonAdminMenu: Life_RscButtonMenu {
       idc = 2021;
       text = "$STR_PM_AdminMenu";
       onButtonClick = "createDialog ""life_admin_menu"";";
       x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
       y = 0.805;
       w = (6.25 / 40);
       h = (1 / 25);
       };
       class ButtonSyncData: Life_RscButtonMenu {
       idc = -1;
       //shortcuts[] = {0x00050000 + 2};
       text = "$STR_PM_SyncData";
       onButtonClick = "[] call SOCK_fnc_syncData;";
       x = 0.1;
       y = 0.805;
       w = (6.25 / 40);
       h = (1 / 25);
       };
       };
      };
      Alles anzeigen

      Was ich dir ansonsten noch ans Herz legen kann ist das du deine .hpp ein bisschen schöner machst .. ich habe dir das mal bei den Lizensen gezeigt .. ist viel schöner und dabei bekommst du auch ein besseren Überblick ... Edit: ok nvm. wird durch die Code Funktion automatisch ein wenig abgeändert... hab nichts gesagt dash

      Wenn es ansonsten immer noch nicht geht dann vielleicht mal Client RPT und Server RPT anhängen .. am Dialog kann es dann nicht mehr liegen

      MfG

    • Problem beim Dialog

      • NeoxNX
      • 17. August 2018 um 21:04

      Hey,

      Zu dem Thema es werden keine Lizensen angezeigt habe ich mal eben dein Dialog mit meinem überprüft

      Kurzer Ausschnitt von meinem Dialog

      Code
      class Licenses_Menu: Life_RscControlsGroup {
      
                   idc = -1;
                   x = 0.207067 * safezoneW + safezoneX;
                   y = 0.538688 * safezoneH + safezoneY;
                   w = 0.117988 * safezoneW;
                   h = 0.237636 * safezoneH;
                   sizeEx = 0.035;
      
                 class HScrollbar {
      
                     idc = -1;
                     width = 2;
                     autoScrollEnabled = 0;
                     autoScrollSpeed = 0;
                     autoScrollRewind = 0;
                     h = 2;
                     arrowEmpty = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_active_ca.paa";
                     arrowFull = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_active_ca.paa";
                  };
      
                    class Controls {
                      class Life_Licenses: Life_RscStructuredText {
                       idc = 2014;
                       x = 0;
                       y = 0;
                       w = 0.325 * safezoneW;
                       h = 0.6 * safezoneW;
                       size = 0.035;
                      };
                    };
              };
      Alles anzeigen

      Dein Dialog ist quasi gleich bis auf das du die safezone nicht gesetzt hast das würde ich vielleicht mal probieren ...

      Ansonsten habe ich noch eine Scrollbar die es dir erlaubt bei dem Lizensen Feld nach unten zu Scrollen (Bei uns war es so das unserer Lizensen Feld zu klein war und nicht alle Lizensen angezeigt wurden deswegen die Scrollbar)...

      Bis auf diese zwei kleinen dinge fällt mir nichts mehr ein .. kannst du ja mal versuchen ..


      Edit: Das gleiche mit dem Geld vielleicht einfach mal überall die safezones hinzufügen

      MfG

    • Neue Farming Routen

      • NeoxNX
      • 16. August 2018 um 11:51

      Hey,

      Zeig uns doch mal die Zeilen in den Files die du hinzugefügt hast...


      MfG

      Edit:

      Wie blackfisch schon geschrieben hat denke ich auch das du auf die 5.0 umsteigen solltest ...

    • E76 Objekte werden Ingame nicht angezeigt

      • NeoxNX
      • 15. August 2018 um 21:24

      --Update--

      Sollte der Fehler noch bei einem anderen auftreten dann bitte darauf achten ob in dem Ordner E76_Buildings noch mal der E76_Buildings Ordner ist ... sollte das der Fall sein dann einfach aus dem Pfad E76_Buildings\E76_Buildings\.... | E76_Buildings\... machen sonst erkennen die ganzen Configs diesen Ordner nicht ... dashdash

      Kann also geschlossen werden

      MfG

    • E76 Objekte werden Ingame nicht angezeigt

      • NeoxNX
      • 15. August 2018 um 14:33

      Hey,

      Nein ist leider nicht die Lösung da ich meine Map nicht Verschlüssel .. :D

    • Feher beim server

      • NeoxNX
      • 15. August 2018 um 14:18

      Oh da war Avirex wohl schneller .. war auch kurz am überlegen ob Ä / Ö / Ü in einer class so gut sind :P

      Edit :

      Eine Condition kann zbs. eine License sein ... (license_civ_meingeilerlicenseclass)

    • Feher beim server

      • NeoxNX
      • 15. August 2018 um 13:09

      Hey,

      Der erste Fehler besagt das du in der Config_vItems nach einer klammer } <- etwas geschrieben hast oder eine Klammer nicht da ist wo sie sein sollte... zeig uns doch die stelle von der Config_vItems ca. Zeile 9 (Da sich ein Fehler aber um Zeilen verschieben kann solltest du nicht nur Zeile 9 schicken :P

      Zum zweiten Fehler kann ich nichts sagen .. kenne das max_phone nicht...

      Edit:

      Zum letzten Fehler hat Marius schon eine gute Antwort gegeben :P

      MfG

    • Problem beim Dialog

      • NeoxNX
      • 15. August 2018 um 10:58

      Hey,

      Ansonsten mal geguckt ob in der fn_p_updateMenu alles richtig ist ? Dabei hatte ich Fehler als ich mein Dialog erstellt hatte ..

      MfG

    • E76 Objekte werden Ingame nicht angezeigt

      • NeoxNX
      • 14. August 2018 um 23:05

      Guten Abend liebe NN Community,

      Ich habe per XCam eine Stadt gebaut wobei ich E76 Objekte verwendet habe .. ich habe diese also per XCam platziert und diese dann per Import -> Import Objects im Terrain Builder eingefügt .. alles funktioniert wunderbar .. bis das die E76 Objekte Ingame nicht angezeigt werden .. alle anderen Objekte der Stadt werden geladen nur die Objekte von E76 nicht ... sie werden Im Terrain Builder angezeigt ich kann sie dabei also auch sehen .. als ich die Stadt mit XCam gebaut habe waren diese auch zu sehen ... sie werden mir nur nicht mehr angezeigt nach dem ich die Map Ingame bespielen möchte ... die Map wird mit dem Addon Builder gepackt und sie wird dabei nicht binarisiert.


      Wie gesagt bei allen anderen Mods geht es nur bei den E76_Objects und E76_Buildings Mods nicht ...

      Ich dachte mir auch schon das ich vielleicht eine Falsche Mod Version der beiden E76 Mods habe .. also habe ich sie mehrfach von dem Applegate Projekt runter geladen leider ohne Erfolg ...

      Außerdem habe ich zum Test auch mal CUP mit geladen .. das alles leider ohne Erfolg....

      Vielleicht kennt ja jemand diesen Fehler und kann mir dabei helfen ..

      Ansonsten noch einen schönen Abend

      MfG

    • [Jackson-County] Fehler im Buldozer

      • NeoxNX
      • 17. Juli 2018 um 12:26

      Hey,

      Kann btw geschlossen werden .. wenn noch andere den Fehler haben dann ladet die Mods nur aus dem P Drive und nicht aus P:\a3 .... dashdash

      #Closed

    • [Jackson-County] Fehler im Buldozer

      • NeoxNX
      • 13. Juli 2018 um 21:16

      Huhu,

      Welche Core Datei denn ?

      Wenn wir hier schon ins Gespräch gekommen sind hat einer vielleicht noch eine Idee was ich falsch mache ...

      Sobald ich Straßen von dem e76_roads Mod als Objekt Plazieren möchte bekomme ich immer diese Meldung im Buldozer :

      Sobald ich sie als Polylines kennzeichne und die ID der Straße einfüge sehe ich diese einfach gar nicht in meinem Buldozer (Ingame auch nicht)

      Allgemein sobald ich Mods hinzufüge alleine die normalen Structures_F sagt der mir das eine ca Datei fehlt bzw er die Texturen daraus nicht laden kann ? Aber wieso benötigt denn der Buldozer eine Extra Mod für ein ganz normalen Arma Objekt ?

      Ich verzweifel nach und nach immer mehr

      MfG

    Registrieren oder Einloggen

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

    Registrieren

    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™