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
Fr: 23 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

    [SCHNIPSEL] Archivement System

    • Natic
    • 3. April 2019 um 10:34
    • Erledigt
    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      10
      Beiträge
      408
      • 3. April 2019 um 10:34
      • #1

      Moin NN,

      da sich viele Menschen fragen, wie man ein Archivement System

      entwickelt hier ein kleiner Anfang.

      Zu Beachten: Dies ist nur ein Anfang (Schnipsel), es ist kein komplettes Tutorial.

      ebenfalls ist die Ausarbeitung mit Dialog und so schlecht, ihr solltet es so nicht benutzen sondern nur als Hilfestellung nehmen, da ich wenig Zeit habe, kann ich leider kein komplettes erstellen ^^

      Schritt 1:

      Wir legen eine Config namens Config_Archivements.hpp an

      Code
      /*
          Author: Natic
      */
      class cfgArchives
        {
         
          class ticket {
                variable = "archiv_ticket";
                    titel = "Strafzettel";
                    side = "cop";
                    description = "<t size='1'>Vergebe: %2 Strafzettel <br/>Vergebene Strafzettel: %1 </t>";   
            
                class level_1 {
                                      needed = 100;
                                      archiv = "Streifenbulle";
                          };
                 class level_2 {
                                      needed = 300;
                                      archiv = "Hüter der Bürger";
                          };
            
                  class level_3 {
                                      needed = 800;
                                      archiv = "Kaufhauscop";
                          };
            
                  class level_4 {
                                      needed = 2500;
                                      archiv = "König der Hüter";
                          };
            
                  class level_5 {
                                      needed = 5000;
                                      archiv = "König der Könige";
                          };
              };
        
          
        };
      Alles anzeigen

      Schritt 2:

      Wir gehen in die Datei: fn_ticketGive.sqf und ersetzen diese mit

      Code
      #include "..\..\script_macros.hpp"
      /*
          File: fn_ticketGive.sqf
          Author: Bryan "Tonic" Boardwine
          Modified by: Natic
      
          Description:
          Gives a ticket to the targeted player.
      */
      private ["_val","_ticketcount"];
      if (isNil "life_ticket_unit") exitWith {["Keine Person","Person für das Ticket ist nil!", true, "fast"] spawn ESG_fnc_notify;};
      if (isNull life_ticket_unit) exitWith {["Keine Person","Die Person für das Ticket gibt es nicht!", true, "fast"] spawn ESG_fnc_notify;};
      
      _val = ctrlText 2652;
      _ticketcount = 0;
      
      if (!([_val] call TON_fnc_isnumber)) exitWith {["Keine Zahl","Du hast keine echte Zahl eingegeben!", true, "fast"] spawn ESG_fnc_notify;};
      if ((parseNumber _val) > 500000) exitWith {["Zu hohes Bußgeld","Strafzettel können nicht mehr als $500.000 betragen!", true, "fast"] spawn ESG_fnc_notify;};
      if (playerside isEqualTo west)then {
          [0,"STR_Cop_TicketGive",true,[profileName,[(parseNumber _val)] call life_fnc_numberText,life_ticket_unit getVariable ["realname",name life_ticket_unit]]] remoteExecCall ["life_fnc_broadcast",RCLIENT];
      }
      else
      {
          [0,"STR_Med_TicketGive",true,[profileName,[(parseNumber _val)] call life_fnc_numberText,life_ticket_unit getVariable ["realname",name life_ticket_unit]]] remoteExecCall ["life_fnc_broadcast",RCLIENT];
      };
      [player,(parseNumber _val)] remoteExec ["life_fnc_ticketPrompt",life_ticket_unit];
      closeDialog 0;
      
          _ticketcount = _ticketcount + 1;
          
          private ["_lvl_1","_lvl_2","_lvl_3","_lvl_4","_lvl_5"];
          
          _lvl_1 = getText(missionConfigFile >>"cfgArchives" >> "tickets" >> "level_1","archiv");
          _lvl_2 = getText(missionConfigFile >>"cfgArchives" >> "tickets" >> "level_2","archiv");
          _lvl_3 = getText(missionConfigFile >>"cfgArchives" >> "tickets" >> "level_3","archiv");
          _lvl_4 = getText(missionConfigFile >>"cfgArchives" >> "tickets" >> "level_4","archiv");
          _lvl_5 = getText(missionConfigFile >>"cfgArchives" >> "tickets" >> "level_5","archiv");
          
          if (_ticketcount == 100) then {
          if (getNumber(missionConfigFile >>"cfgArchives" >> "tickets" >> "level_1","needed")) then {
                      lbAdd [100100, "%1",_lvl_1];
          };
          };
          if (_ticketcount == 300) then {
          if (getNumber(missionConfigFile >>"cfgArchives" >> "tickets" >> "level_1","needed")) then {
              lbAdd [100100, "%1",_lvl_2];
          };
          };
          if (_ticketcount == 800) then {
          if (getNumber(missionConfigFile >>"cfgArchives" >> "tickets" >> "level_1","needed")) then {
              lbAdd [100100, "%1",_lvl_3];
          };
          };
          if (_ticketcount == 2500) then {
          if (getNumber(missionConfigFile >>"cfgArchives" >> "tickets" >> "level_1","needed")) then {
              lbAdd [100100, "%1",_lvl_4];
          };
          };
          if (_ticketcount == 5000) then {
          if (getNumber(missionConfigFile >>"cfgArchives" >> "tickets" >> "level_1","needed")) then {
              lbAdd [100100, "%1",_lvl_5];
          };
          };
      Alles anzeigen

      Schritt3: Wir erstellen ein Dialog:

      Code
      /*
          Author: Natic
      */
      class sealife_archivements {
          idd = 100100;
          name = "sealife_archivements";
          onLoad = "";
          onUnLoad = "";
          movingEnable = false;
          enableSimulation = false;
      
          class controlsBackground {
              class bg: Life_RscPicture
              {
                  idc = -1;
                  text = "ure\misc\bg_menu.paa";
                  x = 0.17 * safezoneW + safezoneX;
                  y = 0.115 * safezoneH + safezoneY;
                  w = 0.665156 * safezoneW;
                  h = 0.693 * safezoneH;
                  ColorBackground[] = {0.784313,0.784313,0.784313,0};
                  ColorText[] = {0,0,0,1};
              };
              class title: Life_RscStructuredText
              {
                  idc = 5999;
                  text = "<t align'right' font'PuristaBold' size'1.5'>Archivements</t>";
                  x = 0.412621 * safezoneW + safezoneX;
                  y = 0.169549 * safezoneH + safezoneY;
                  w = 0.154687 * safezoneW;
                  h = 0.033 * safezoneH;
                  ColorBackground[] = {0,0,0,0};
              };
          };
          class controls {
              class btn_submit: Life_RscButtonMenu
              {
                  idc = 2400;
                  text = "Schließen";
                  onButtonClick = "";
                  x = 0.647855 * safezoneW + safezoneX;
                  y = 0.034475 * safezoneH + safezoneY;
                  w = 0.221719 * safezoneW;
                  h = 0.055 * safezoneH;
                  ColorBackground[] = {0.145098,0.145098,0.145098,1};
                  ColorText[] = {1,1,1,1};
              };
              class archives_list: Life_RscListbox
              {
                  idc = 100101;
                  x = 0.209235 * safezoneW + safezoneX;
                  y = 0.232345 * safezoneH + safezoneY;
                  w = 0.752604 * safezoneW;
                  h = 0.722222 * safezoneH;
                  ColorBackground[] = {0,0,0,0.705882};
                  ColorText[] = {1,1,1,1};
                  colorSelectBackground[] = {0,0,0,1};
                  colorSelect[] = {0,0,0,1};
              };
          };
      };
      Alles anzeigen

      Ich hoffe ich konnte euch ggf. Helfen

      viel spaß

      Mit freundlichen Grüßen

      Natic

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

      Kein direkten PN - Support

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

      Programierung

      Wir lieben

      es

    • BlueType
      Nerd
      Reaktionen
      190
      Trophäen
      8
      Beiträge
      735
      Bilder
      27
      • 3. April 2019 um 12:25
      • #2

      Darfst du SeaLife Sachen veröffentlichen? Aber gute und nette Sache :)

      MFG ƁLƱΣƬΨƤΣ™

      :!:Hinweis:!:

      :!:Ich bin zwar erfahren mit der Sprache SQF, lerne trotzdem noch, definitiv kein Profi:!:

      Discord : ╲⎝⧹⎝ƁLƱΣƬΨƤΣ™⎠⧸⎠╱#0448

      Discord Server : https://discord.gg/K8KhAnE

      Teamspeak : ts.Endless-Net.de

    • Rene Lerchberg
      Nerd
      Reaktionen
      167
      Trophäen
      8
      Beiträge
      562
      Dateien
      2
      Bilder
      82
      • 3. April 2019 um 13:00
      • #3
      Zitat von BlueType

      Darfst du SeaLife Sachen veröffentlichen? Aber gute und nette Sache :)

      wenn er sie geschrieben hat und er keinen vertrag mit dennen hat dann darf er das Und ich gebe ihm probs weil sowas wie code schnipsel bringt dir arma3 community weiter danke dafür werde ich mir mal genau ansehen

      Mit Freundlichen Grüßen

      Rene Lerchberg

      "Einzigartigkeit entsteht durch Perfektion"

      The-Programmer.com (Support & Translation)

    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      10
      Beiträge
      408
      • 3. April 2019 um 13:41
      • #4

      BlueType ja, ich darf dies. Da ich dieses System entwickelt habe und es nicht als vollständiges System auf SeaLife war ^^

      Mit freundlichen Grüßen

      Natic

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

      Kein direkten PN - Support

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

      Programierung

      Wir lieben

      es

    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 3. April 2019 um 14:56
      • #5

      Wenn du es schon Codeschnipsel nennst pack es doch auch in den Bereich <3

    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      10
      Beiträge
      408
      • 3. April 2019 um 17:36
      • #6

      Es war nicht alleine ein Schnipsel, deshalb war ich mir nicht sicher Alice Kingsleigh ^^

      Mit freundlichen Grüßen

      Natic

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

      Kein direkten PN - Support

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

      Programierung

      Wir lieben

      es

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 3. April 2019 um 17:44
      • #7
      Zitat von Natic

      Es war nicht alleine ein Schnipsel, deshalb war ich mir nicht sicher Alice Kingsleigh^^

      2 Schnipsel - du Monster 8o

      #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!

      ______________________

    Registrieren oder Einloggen

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

    Registrieren

    Tags

    • arma 3 archivements system
    • archivement system
    • altis life archivement

    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™