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
So: 18 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

    I-Inventar Rucksack Dupe Fix

      • Altis Life
    • Larry
    • 29. Juli 2020 um 12:14
    • Larry
      Frischling
      Trophäen
      9
      Beiträge
      22
      • 29. Juli 2020 um 12:14
      • #1

      Okey also,

      sollte noch jemand den Dupe fixen wollen hier nochmal gezeigt welcher gemeint ist: https://youtu.be/OrvqHvBIsH8

      Auch wenn in dem Video [Pached] steht funktioniert das in Altis Life immer noch aufgrund der ziemlich primitiven Speicherung des Gears.

      Ich habe ein wenig umgespielt und jetzt eine für mich annehmbare Lösung gefunden.


      Schritt 1:

      Man erstellt in der core/fn_setupEVH.sqf 2 neue Einträge und zwar

      Code
      player addEventHandler ["Put", {_this call life_fnc_onPut}];
      player addEventHandler ["Take",{_this call life_fnc_onTake}];

      Schritt 2:

      Wir erstellen die Datei core/functions/fn_onTake.sqf in welche wir folgendes einfügen.

      Code
      private _error = params[
          ["_unit", objNull, [objNull]],
          ["_container", objNull, [objNull]],
          ["_item", "", [""]]
      ];
      
      if (!_error) exitWith {};
      [] call life_fnc_playerSkins; // Das playerskins ist optional aber sorgt dafür das die Kleidung erneuert wird beim Sachen aufheben
      _unit setVariable ["BackItems",backpackItems _unit];

      Schritt 3:

      Wir erstellen die Datei core/functions/fn_onPut.sqf in welche wir folgendes einfügen.

      Code
      #include "..\..\script_macros.hpp"
      private _error = params[
          ["_unit", objNull, [objNull]],
          ["_container", objNull, [objNull]],
          ["_item", "", [""]]
      ];
      
      if (!_error) exitWith {};
      
      
      if ((typeOf _container) in ["Box_IND_Grenades_F","B_supplyCrate_F"]) then {
          private _backpacks = ["B_Bergen_tna_f", "B_Carryall_khk"]; // Hier müssen alle Rucksäcke eingetragen werden die nicht ablegbar sein dürfen
          _backItems = _unit getVariable ["BackItems",backpackItems _unit];
          if (_item in _backpacks) then {
              clearBackpackCargoGlobal _container;
              _unit addBackpack _item;
              { _unit addItemToBackpack _x } forEach _backItems;
      
              ["Du kannst keine Rucksäcke in Kisten legen.","fast","r"] spawn life_fnc_message; // Wer das script nicht hat einfach mit hint ersetzen
          };
      };
      
      _unit setVariable ["BackItems",backpackItems _unit];
      Alles anzeigen

      Schritt 4:

      Öffne deine core/functions/fn_inventoryOpened.sqf und füge ganz unten

      _unit setVariable ["BackItems",backpackItems _unit]; ein.

      Schritt 5:

      Füge die neuen Datein in die Functions.hpp ein in der class Functions {

      Code
      class onPut {};
      class onTake {};


      Das war´s soweit ich hoffe ich habe nichts vergessen ^^

      Was das Script in onPut.sqf macht ist einfach den reingelegten Rucksack sofort wieder zu löschen und dem Spieler den gleichen Rucksack wieder aufsetzten mit dem gleichen Gear, das einzige was dabei verloren geht sind Rucksäcke in dem Rucksack und alle Aüfsätze von Waffen in dem Rucksack da diese nicht bei backpackItems player mitgespeichert werden.

      Schön Tag euch noch,

      Larry

      3 Mal editiert, zuletzt von Larry (29. Juli 2020 um 12:33)

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 29. Juli 2020 um 12:26
      • #2
      Zitat von Larry

      if (_item == "B_Bergen_tna_f") then {

      wenn du das änderst zu if (_item in _backpacks) then {, dann bringt deine Liste auch was :P

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

      ______________________

    • Larry
      Frischling
      Trophäen
      9
      Beiträge
      22
      • 29. Juli 2020 um 12:29
      • #3

      Huch war noch von test zwecken ^^

    • Henne
      Nerd
      Reaktionen
      155
      Trophäen
      7
      Beiträge
      840
      Bilder
      7
      • 29. Juli 2020 um 12:42
      • #4

      Auch löscht du hiermit ja alle Rucksäcke aus dem Container: clearBackpackCargoGlobal _container

      Die werden immer dann gelöscht, wenn ein Rucksack nicht in den Container gelegt werden darf.

      Weiter kann der Bug ja mit jedem Container durchgeführt werden, also auch alle Fahrzeuge, etc.

      Die müssten dann ja ebenfalls eingetragen werden.

    • Larry
      Frischling
      Trophäen
      9
      Beiträge
      22
      • 29. Juli 2020 um 12:49
      • #5

      Ich habe bei mir das Fahrzeug Inventar komplett verboten und ja es werden alle Rucksäcke gelöscht weil ich für mich beschlossen hatte die Rucksäcke alle zu verbieten, ich bin mir jetzt nicht ganz sicher ob man überhaupt einzelne Rucksäcke löschen kann. Vielleicht mit deleteAt oder so...

    • br1zey
      Meister
      Reaktionen
      881
      Trophäen
      11
      Beiträge
      2.458
      Dateien
      2
      Bilder
      58
      • 29. Juli 2020 um 13:07
      • #6

      Kleiner Tipp guck dir mal

      getUnitLoadout und setUnitLoadout an

      Damit kannst du auch die Aufsätze von Waffen ect richtig wieder geben ^^
      dann kann sich am ende keiner Beschweren

      ReallifeRPG Admin, Scripter, Technischer Helfer, und Manchmal auch Spieler

      realliferpg128x128.png?resize=128%2C128&ssl=1

    • Larry
      Frischling
      Trophäen
      9
      Beiträge
      22
      • 29. Juli 2020 um 13:42
      • #7

      Wenn jemand das so braucht dann kann er das ja ganz einfach umschreiben, für mich passt das script so erstmal ganz gut. Ich habe das ja auch nur als Ansatz hochgeladen.

      Das ganze kann jeder natürlich frei abändern.:)

    • Fl0rixn
      Nerd
      Reaktionen
      190
      Trophäen
      9
      Beiträge
      619
      Bilder
      27
      • 29. Juli 2020 um 14:58
      • #8
      Zitat von br1zey

      Kleiner Tipp guck dir mal

      getUnitLoadout und setUnitLoadout an

      Damit kannst du auch die Aufsätze von Waffen ect richtig wieder geben ^^
      dann kann sich am ende keiner Beschweren

      Aber Achtung, setUnitLoadout ist Async mit dem Server.

      Also kann sein das er beim setzen (Einmalig) kurz Async ist, und wenn man in dem Moment was droppt, und man mit getunitloadout was abfragt, sagt er das es noch da wäre. (Das sind beim setzen paar ms)

    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
    • Bug
    • bugfix
    • Dupen

    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™