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

    [TUT]Verarbeiten des Fahrzeug Inhaltes

      • Altis Life
    • Deathman
    • 12. September 2021 um 10:17
    • Deathman
      Profi
      Reaktionen
      259
      Trophäen
      10
      Beiträge
      676
      Dateien
      12
      Bilder
      106
      • 12. September 2021 um 10:17
      • #1

      Verarbeiten des Fahrzeug Inhaltes

      Hey Leute ich stelle euch heute eine erweiterung für das Vanilla Verarbeitungs System vor und dem Verarbeitungs System von mir.

      Erstmal möchte ich das ihr euere Mission einmal Backuped, weil Backups sind immer wichtig.

      Also fangen wir an.


      Vanilla Verarbeitungs System(Nicht Getestet)

      1. Geht in eure core\actions ordner dort fügt ihr diese Datei ein ➤ fn_VerarbeitungFahrzeugVanilla.rar

      2. Geht in die Function.hpp und geht zu der class Actions { und tragt unter class processAction {}; das hier ein class VerarbeitungFahrzeugVanilla {};

      3. Jetzt zur Init, eigentlich Simpel es ist wie beim normalen Standart Abfrage nur das hier eine andere datei abgefragt wird, das ganze würde dan so aussehen this addAction[localize"STR_Process_Kupfer",life_fnc_VerarbeitungFahrzeugVanilla,"Kupfer",0,false,false,"",' life_inv_copper_unrefined > 0 && !life_is_processing && !life_action_inUse',5];.

      Mein Verarbeitungs System

      1. Geht in den core\Verarbeitungssystem Ordner und fügt diese dateien ein ➤ VerarbeitungsSystemFahrzeuge.rar

      2. Geht in den Functions.hpp und geht zu der class class Verarbeitungssystem {

      und fügt unter class VerarbeitungsAuswahl {}; das hier ein

      C++
      class VerarbeitungsSwitch {};
      class VerarbeitungFahrzeug {};

      3. Geht nochmal in den core\Verarbeitungssystem Ordner und öffnet die datei fn_VerarbeitungsMenu.sqf und ersetzt diese mit diesen Inhalt.

      JavaScript
      #include "..\..\script_macros.hpp"
      
          File: fn_VerarbeitungsMenu.sqf
          Author: Deathman
          Description:
          Verarbeitungs Menu Öffnen
      
      params [
          ["_VerNPC", objNull, [objNull]],
          "",
          "",
          ["_VerType", "", [""]]
      ];
      
      if (isNull _VerNPC || {_VerType isEqualTo ""}) exitWith {};
      private _VerSide = M_CONFIG(getText,"Verarbeitung",_VerType,"side");
      
      Life_Ver_type = _VerType;
      Life_Ver_npc = _VerNPC;
      
      private _exit = false;
      
      if !(_VerSide isEqualTo "") then {
          private _flag = switch (playerSide) do {case west: {"cop"}; case independent: {"med"}; default {"civ"};};
          if !(_flag isEqualTo _VerSide) then {_exit = true;};
      };
      
      if (_exit) exitWith {};
      disableSerialization;
      createDialog "Verarbeitungs_Menu";
      
      private _filters = ((findDisplay 335400) displayCtrl 335410);
      lbClear _filters;
      
      _filters lbAdd "Dein Inventar";
      private "_veh";
      private "_pic";
      private "_name";
      private "_color";
      private "_text";
      for "_i" from 0 to (count Life_vehicles)-1 do {
          _veh = Life_vehicles select _i;
          _data = _veh getVariable ["Trunk",[]];
          diag_log _data;
          if(_veh distance _VerNPC < 30) then {
              if (!isNull _veh && alive _veh) then {
                  _color = ((M_CONFIG(getArray,"LifeCfgVehicles",(typeOf _veh),"textures") select (_veh getVariable "Life_VEH_color")) select 0);
                  if (isNil "_color") then {_color = ""};
                  _text = format ["(%1)",_color];
                  if (_text == "()") then {
                      _text = "";
                  };
      
                  _name = getText(configFile >> "CfgVehicles" >> (typeOf _veh) >> "displayName");
                  _pic = getText(configFile >> "CfgVehicles" >> (typeOf _veh) >> "picture");
                  if (!isNil {_veh getVariable "Chiptuning"}) then {
                      if(_veh getVariable "Chiptuning") then {
                          if((_veh getVariable "Chiptuning") && (_veh getVariable "Chip") isEqualTo "Chip_VDFI") then {
                              _filters lbAdd format ["%1 %3 - [Distance: %2m]",_name,round(player distance _veh),_text];
                              _filters lbSetData [(lbSize _filters)-1,netId _veh];
                              if (_pic != "pictureStaticObject") then {
                                  _filters lbSetPicture [(lbSize _filters)-1,_pic];
                              };
                          };
                      };
                  };
              };
          };
      };
      _filters lbSetCurSel 0;
      
      [] call Life_fnc_VerarbeitungsUpdate;
      Alles anzeigen

      4. Geht in euren dialog Ordner und öffnet dort die Verarbeitungs_Menu.hpp und sucht nach onbuttonclick = "[]call Life_fnc_VerarbeitungsAuswahl;"; und erstezt ihn hier mit onbuttonclick = "[]spawn Life_fnc_VerarbeitungsSwitch;"; 

      So das wars an den Inits hier müsst ihr nicht verändern.



      Falls Fehler oder änhliches passieren bitte bescheid sagen.

      Habt viel Spaß damit



      Gruß Deathman

      Einmal editiert, zuletzt von Deathman (12. September 2021 um 10:46)

    • TaktischerSpeck
      Profi
      Reaktionen
      292
      Trophäen
      9
      Beiträge
      1.211
      Dateien
      6
      Bilder
      35
      • 14. September 2021 um 11:48
      • #2

      Ich bin etwas durch das Script gegangen und wenn ich es richtig verstehe fügst du jedes Fahrzeug hinzu was primär in nähe und Schlüsselbund ist, wenn man dieses Fahrzeug auswählt.

      Theoretisch, wenn ich es richtig sehe könnten ohne Probleme mehrere Leute ein Fahrzeug verarbeiten und die Items Dupen.

      Eine simple true / false variable die einfach das vehicle blockt sollte dabei schonmal helfen. Besser wäre es die variablen die den entsprechenden Nutzer des T-Inventars auf das Fahrzeug schreibt zu verwenden sodas man auch das T-Inventars blockt und somit schützt man sich zumindest bis zum Lagswitch Nutzer.

      Mit freundlichen Grüßen

      TaktischerSpeck - Vincent

      2945262602.gif

      Leidenschaftlicher Analphabet mit leichtem Drang zum Sabbern.

      2945262602.gif
      Welcome to Arma, a game where Physics don't give a f*ck.

      2945262602.gif
      If (ArmA == Bullshit) exitWith {[] call f*uckThisShit};

      2945262602.gif

      Kontaktmöglichkeiten

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

    • Deathman
      Profi
      Reaktionen
      259
      Trophäen
      10
      Beiträge
      676
      Dateien
      12
      Bilder
      106
      • 15. September 2021 um 05:48
      • #3

      Nein an sich werden nur die Fahrzeuge angezeigt die einem selber gehören und die in der Nähe sind.

      Ich denke ich weiß was es zu Duping sein könnte aber an sich sollte dort auch nichts passieren, du meinst aber warscheinlich dann das so Veh. Verarbeitet -> Spieler geht an Veh. T -> Nimmt sich Erz Items raus -> Veh. Verarbeitet trotzdem. An sich sollte das nicht so funktionieren weil er ja unten bei der Abfrage von Kofferraum des Fahrzeuge was du ausgewählt hast keine Items mehr da sind und dir so dort einen Skript Error raushauen sollte. Was man jetzt nochmal machen kann ist das Veh überprüfen und gucken das es noch da ist und ob genau die Items sich noch im Kofferraum befinden

    • Deathman
      Profi
      Reaktionen
      259
      Trophäen
      10
      Beiträge
      676
      Dateien
      12
      Bilder
      106
      • 15. September 2021 um 05:52
      • #4

      Man könnte es aber auch so machen wenn du am Verarbeitetn bist können alle eingeschlossen du selber nicht auf das T Inv. zugreifen oder man macht sobald ein Fahrzeug am Verarbeiteten ist muss das andere Fahrzeug von einem anderen Spieler warten bis es Fertig ist

    • maltepower99
      Fortgeschrittener
      Reaktionen
      58
      Trophäen
      9
      Beiträge
      306
      • 16. September 2021 um 09:22
      • #5
      Zitat von Deathman

      Man könnte es aber auch so machen wenn du am Verarbeitetn bist können alle eingeschlossen du selber nicht auf das T Inv. zugreifen oder man macht sobald ein Fahrzeug am Verarbeiteten ist muss das andere Fahrzeug von einem anderen Spieler warten bis es Fertig ist

      Ja ich denke ich würde zusätzlich einfach die trunkInUse Variable auf true setzen um einfach erstmal die "Duping Möglichkeiten" zu limitieren. Aber selbst dann ist es eigentlich nicht ganz sicher, du bräuchtest am besten noch eine Hintergrundabfrage die auf jeden Fall ein paar Sekunden abfragt wer der trunkUser ist (also bei mir habe ich diese trunkUser Variable eingefügt - ka ob sowas in der v4-5 schon standardmäßig enthalten ist :D). Der User wird dann mit der Aktion (T/Verarbeiten/...) gesetzt. Letzten Endes kann ja nur 1 User drin stehen also irgendeine setVariable hat sich am Ende durchgesetzt. Dann einfach if (trunkUser != userName) exitWith {...}; passiv noch nebenher laufen lassen. Aber to be honest ich habs jetzt nicht selbst getestet aktuell keine Zeit zu, aber das sollte auf jeden Fall die bedenken von TaktischerSpeck eigentlich lösen. Vll meinte er dass auch schon so er hatte das etwas verwirrend geschrieben mit der UserVariable...

    • Deathman
      Profi
      Reaktionen
      259
      Trophäen
      10
      Beiträge
      676
      Dateien
      12
      Bilder
      106
      • 16. September 2021 um 21:29
      • #6

      An sich reicht es wenn du trunk use machst weil es wird ja für dieses Fahrzeug die Variable auf True gesetzt. Was man noch machen könnte ist eine Variable zu machen die sagt wenn jemand im T Inv ist das er im Ver. Menü sagt das er nicht Verbeiten kann solang sich einer im T Inv befindet dazu brauche ich keinen User Name da reicht auch true oder false

    • TaktischerSpeck
      Profi
      Reaktionen
      292
      Trophäen
      9
      Beiträge
      1.211
      Dateien
      6
      Bilder
      35
      • 17. September 2021 um 10:57
      • #7

      Wenn ich jetzt irgendwo dein Code falsch lese oder verstehe verzeih mir.

      fn_VerarbeitungFahrzeug.sqf

      Bis Zeile 101 machst du eigentlich nichts außer variablen checken etc., also nichts wird entfernt oder hinzugefügt.

      Zeile 103–111 hast du eine schleife die einfach die Verarbeitungszeit und progressbar bedient / realisiert, hier wird auch nichts hinzugefügt oder entfernt, jedoch erhält das komplette Script eine pause von ca. 130–140 Sekunden das Merken wir uns einmal.

      In Zeile 115–121 entfernst du nun alle Items

      In Zeile 124–129 fügst du die neuen hinzu

      Der Punkt, an dem ich sage / behaupte da könnten dupes entstehen (wo ich mir auch immer noch ziemlich sicher bin) ist zwischen der progressbar / warte Zeit und dem Entfernen der Items.

      Was würde passieren, wenn auf einmal alle Items oder besser alle Items bis auf 1 weg sind?

      _minimumConversions gibt am Ende des Scripts an wie viel Items hinzugefügt werden.

      Im Grunde vertraut da z.b. das Standard Framework da drauf das niemand an den Trunk des Fahrzeuges etc. kann aber genau da liegt das Problem, jemand könnte dran und ich würde behaupten das jemand auch gleichzeitig verarbeiten kann.

      Die Frage, ob die Script Errors wirklich kommen oder ggf. irgendwie man auch da etwas tricksen kann ist halt ziemlich wage, zu wage für ein öffentliches Script.

      Wenn du ggf. ein Test Server hast können wirs auch einfach mal probieren :D hast mich ja in Discord.

      Bzgl. der Lösung, ich würde einmal, sobald das Verarbeiten startet, eine var aufs Fahrzeug legen, die einfach nur dafür sorgt, dass beim Erstellen der Auswahlliste das Fahrzeug ignoriert.

      Gleichzeitig sollte beim Starten des Verarbeitens auch diese var nochmal abgefragt werden.

      Nach dieser var würde ich einfach die normalen vars vom Framework verwenden sprich trunk_in_use mit true / false und trunk_in_use_by mit dem player object damit integrierst du das quasi direkt ins bestehende System.

      Mit freundlichen Grüßen

      TaktischerSpeck - Vincent

      2945262602.gif

      Leidenschaftlicher Analphabet mit leichtem Drang zum Sabbern.

      2945262602.gif
      Welcome to Arma, a game where Physics don't give a f*ck.

      2945262602.gif
      If (ArmA == Bullshit) exitWith {[] call f*uckThisShit};

      2945262602.gif

      Kontaktmöglichkeiten

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

      Twitch

      Youtube

      Steam

      TLG (Einfach nur TLG ins IP Feld (trust me its gonna work))

      --alternativ--

      Ts.TheLastGamer.de

      Website

      Forum

      E-Mail: [email protected]

    • maltepower99
      Fortgeschrittener
      Reaktionen
      58
      Trophäen
      9
      Beiträge
      306
      • 17. September 2021 um 18:27
      • #8

      Habe dir auf Steam mal ein Script geschickt was das Problem beheben sollte.

      MfG Malte

    • Deathman
      Profi
      Reaktionen
      259
      Trophäen
      10
      Beiträge
      676
      Dateien
      12
      Bilder
      106
      • 18. September 2021 um 20:29
      • #9

      Wie gesagt das ding habe ich so in 2-3h gemacht das war für meinen server dort gab es keine fehler oder Dupes, aber ich kann es nicht genau sagen wie es auf Dauer aussieht leider war dazu das Update nicht zu lange oben

    • maltepower99
      Fortgeschrittener
      Reaktionen
      58
      Trophäen
      9
      Beiträge
      306
      • 19. September 2021 um 01:21
      • #10
      Zitat von Deathman

      Wie gesagt das ding habe ich so in 2-3h gemacht das war für meinen server dort gab es keine fehler oder Dupes, aber ich kann es nicht genau sagen wie es auf Dauer aussieht leider war dazu das Update nicht zu lange oben

      Ja gut es kommt klar auch immer auf die Spieler selbst an.

      Ob diese halt solche Methoden ausnutzen etc.

      Aber es ist nicht verkehrt sich gleich abzusichern im voraus, wenn möglich. um dann das schlimmste zu vermeiden.

      Aber solang das Script geht, kann es ja jeder gern als Vorlage nutzen und nach Wunsch mit einer "Sicherungserweiterung" ausbauen.

    • Deathman
      Profi
      Reaktionen
      259
      Trophäen
      10
      Beiträge
      676
      Dateien
      12
      Bilder
      106
      • 19. September 2021 um 15:39
      • #11

      Natürlich werde ich das Skript noch anpassen

    • sTarBuZz
      Frischling
      Trophäen
      8
      Beiträge
      27
      • 8. April 2022 um 09:53
      • #12

      Hallo, seitdem ich das Fahrzeugverarbeitungssystem von dir eingebaut habe, bekomme ich folgende Meldung:

      Code
      Mission directory: mpmissions\Altis_Life.Testing.Altis\
      Warning Message: Script core\Verarbeitungssystem\fn_VerarbeitungsSwitch.sqf not found

      Hab ich da was verpasst? In deiner Anleitung habe ich nichts von dieser sqf gelesen.

    • Kuchenplatte
      Erleuchteter
      Reaktionen
      1.013
      Beiträge
      3.387
      Dateien
      7
      Bilder
      10
      • 8. April 2022 um 10:38
      • #13
      Zitat von sTarBuZz

      Hallo, seitdem ich das Fahrzeugverarbeitungssystem von dir eingebaut habe, bekomme ich folgende Meldung:

      Code
      Mission directory: mpmissions\Altis_Life.Testing.Altis\
      Warning Message: Script core\Verarbeitungssystem\fn_VerarbeitungsSwitch.sqf not found

      Hab ich da was verpasst? In deiner Anleitung habe ich nichts von dieser sqf gelesen.

      https://native-network.net/attachment/249…mfahrzeuge-rar/

      Shadow|Eagle: "Frag mich eher why ich dich nicht noch irgendwas gegeben hab als Vorschlag xD"

      !Acryl-Exile Server!

      195.201.148.155:2302

      Kuchenplatte On GitHub

      https://github.com/Kuchenplatte

      Kuchenplattes Backstube

      Kuchenplattes Discord

      Kuchenplatte On Twitch
      Come On and Follow Me! On Twitch.TV

    Registrieren oder Einloggen

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

    Benutzerkonto erstellen

    Tags

    • Altis Life
    • altis
    • life
    • tutorial
    • verarbeiten
    • neu
    • altis life 5.0
    • life 5.0
    • Process

    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™