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: 01 Juni 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

    ACE Items verdoppeln sich bei benutzung des Kleidungsshop

    • BillGage
    • 25. Juni 2018 um 13:11
    • Erledigt
    • BillGage
      Schüler
      Reaktionen
      4
      Trophäen
      9
      Beiträge
      126
      Bilder
      4
      • 25. Juni 2018 um 13:11
      • #1

      Guten Tag,

      leider haben wir zurzeit das Problem das wenn man Beispielsweise 5 Kabelbinder im I Inventar hat und dann die Kleidung wechselt dann 10 Kabelbinder hat.

      Ich habe bereits die Dateien Durchgeschaut aber leider nix endeckt.

      Hier ist meine HandleItem.sqf und meine WeaponShopBuySell.sqf

      Code: HandleItem.sqf
      #include "..\..\script_macros.hpp"
      /*
      File: fn_handleItem.sqf
      Author: Bryan "Tonic" Boardwine
      
      Description
      Main gear handling functionality.
      */
      private ["_item","_details","_bool","_ispack","_items","_isgun","_ongun","_override","_toUniform","_toVest","_preview","_acecheck"];
      _item = [_this,0,"",[""]] call BIS_fnc_param;
      _bool = [_this,1,false,[false]] call BIS_fnc_param;
      _ispack = [_this,2,false,[false]] call BIS_fnc_param;
      _ongun = [_this,3,false,[false]] call BIS_fnc_param;
      _override = [_this,4,false,[false]] call BIS_fnc_param;
      _toUniform = [_this,5,false,[false]] call BIS_fnc_param; //Manual override to send items specifically to a uniform.
      _toVest = [_this,6,false,[false]] call BIS_fnc_param; //Manual override to send items specifically to a vest
      _preview = [_this,7,false,[false]] call BIS_fnc_param;
      _acecheck = ["ACE_atropine","ACE_morphine","ACE_epinephrine","ACE_EarPlugs","ACE_fieldDressing","ACE_elasticBandage","ACE_quikclot","ACE_packingBandage","ACE_salineIV_250","ACE_salineIV_500","ACE_tourniquet","ACE_personalAidKit","ACE_bloodIV_250","ACE_bloodIV_500","ACE_plasmaIV_250","ACE_plasmaIV_500","ACE_surgicalKit","ACE_CableTie"];
      
      //Some checks
      if (_item isEqualTo "") exitWith {};
      _isgun = false;
      
      _details = [_item] call life_fnc_fetchCfgDetails;
      if (count _details isEqualTo 0) exitWith {};
      
      if (_bool) then {
      switch (_details select 6) do {
      case "CfgGlasses": {
      if (_toUniform) exitWith {player addItemToUniform _item;};
      if (_toVest) exitWith {player addItemToVest _item;};
      
      if (_ispack) then {
      player addItemToBackpack _item;
      } else {
      if (_override) then {
      player addItem _item;
      } else {
      if (!(goggles player isEqualTo "")) then {
      removeGoggles player;
      };
      player addGoggles _item;
      };
      };
      };
      
      case "CfgVehicles": {
      if (!(backpack player isEqualTo "")) then {
      _items = (backpackItems player);
      removeBackpack player;
      };
      
      player addBackpack _item;
      clearAllItemsFromBackpack player;
      
      if (!isNil "_items") then {
      {[_x,true,true,false,true] call life_fnc_handleItem; } forEach _items;
      };
      };
      
      case "CfgMagazines": {
      if (_toUniform) exitWith {player addItemToUniform _item;};
      if (_toVest) exitWith {player addItemToVest _item;};
      if (_ispack) exitWith {player addItemToBackpack _item;};
      if(_item in _acecheck) then{player addItem _item;};
      
      player addMagazine _item;
      };
      
      case "CfgWeapons": {
      //New addition
      if (_toUniform) exitWith {player addItemToUniform _item;};
      if (_toVest) exitWith {player addItemToVest _item;};
      if (_ispack) exitWith {player addItemToBackpack _item;};
      if(_item in _acecheck) then {player addItem _item;};
      
      if ((_details select 4) in [1,2,4,5,4096]) then {
      if ((_details select 4) isEqualTo 4096) then {
      if ((_details select 5) isEqualTo -1) then {
      _isgun = true;
      };
      } else {
      _isgun = true;
      };
      };
      
      if (_isgun) then {
      if (!_ispack && _override) exitWith {}; //It was in the vest/uniform, try to close to prevent it overriding stuff... (Actual weapon and not an item)
      if (_item isEqualTo "MineDetector") then {
      player addItem _item;
      } else {
      player addWeapon _item;
      };
      } else {
      switch (_details select 5) do {
      case 0: {
      if (_ispack) then {
      player addItemToBackpack _item;
      } else {
      if (_override) then {
      player addItem _item;
      } else {
      if (_item in (assignedItems player)) then {
      player addItem _item;
      } else {
      player linkItem _item;
      };
      };
      };
      };
      
      case 605: {
      if (_ispack) then{
      player addItemToBackpack _item;
      } else {
      if (_override) then {
      player addItem _item;
      } else {
      if (headgear player isEqualTo _item && {!_preview}) then {
      player addItem _item;
      } else {
      if (!(headgear player isEqualTo "")) then {removeHeadGear player;};
      player addHeadGear _item;
      };
      };
      };
      };
      
      case 801: {
      if (_ispack) then {
      player addItemToBackpack _item;
      } else {
      if (_override) then {
      player addItem _item;
      } else {
      if (player isKindOf "Civilian") then {
      if (uniform player isEqualTo _item && {!_preview}) then {
      player addItem _item;
      } else {
      if (!(uniform player isEqualTo "")) then {
      _items = uniformItems player;
      removeUniform player;
      };
      
      player addUniform _item;
      if (!isNil "_items") then {
      {player addItemToUniform _x} forEach _items;
      };
      };
      } else {
      if (!(uniform player isEqualTo "")) then {
      _items = uniformItems player;
      removeUniform player;
      };
      
      if (!(player isUniformAllowed _item)) then {
      player forceAddUniform _item;
      } else {
      player addUniform _item;
      };
      if (!isNil "_items") then {
      {player addItemToUniform _x} forEach _items;
      };
      };
      };
      };
      };
      
      case 701: {
      if (_ispack) then {
      player addItemToBackpack _item;
      } else {
      if (_override) then{
      player addItem _item;
      } else {
      if (vest player isEqualTo _item && {!_preview}) then {
      player addItem _item;
      } else {
      if (!(vest player isEqualTo "")) then {
      _items = vestItems player;
      removeVest player;
      };
      
      player addVest _item;
      
      if (!isNil "_items") then {
      {[_x,true,false,false,true] spawn life_fnc_handleItem;} forEach _items;
      };
      };
      };
      };
      };
      
      case 201: {
      if (_ispack) then {
      player addItemToBackpack _item;
      } else {
      private "_type";
      _type = [_item,201] call life_fnc_accType;
      if (_ongun) then {
      switch (_type) do {
      case 1: { player addPrimaryWeaponItem _item; };
      case 2: { player addSecondaryWeaponItem _item; };
      case 3: { player addHandgunItem _item; };
      };
      } else {
      if (_override) then {
      player addItem _item;
      } else {
      private ["_wepItems","_action","_slotTaken"];
      _wepItems = switch (_type) do {case 1:{primaryWeaponItems player}; case 2:{secondaryWeaponItems player}; case 3:{handgunItems player}; default {["","",""]};};
      _slotTaken = false;
      
      if (!((_wepItems select 2) isEqualTo "")) then {_slotTaken = true;};
      
      if (_slotTaken) then {
      _action = [localize "STR_MISC_AttachmentMSG",localize "STR_MISC_Attachment",localize "STR_MISC_Weapon",localize "STR_MISC_Inventory"] call BIS_fnc_guiMessage;
      if (_action) then {
      switch (_type) do {
      case 1: {player addPrimaryWeaponItem _item;};
      case 2: {player addSecondaryWeaponItem _item;};
      case 3: {player addHandgunItem _item;};
      default {player addItem _item;};
      };
      } else {
      player addItem _item; //Add it to any available container
      };
      } else {
      switch (_type) do {
      case 1: {player addPrimaryWeaponItem _item;};
      case 2: {player addSecondaryWeaponItem _item;};
      case 3: {player addHandgunItem _item;};
      default {player addItem _item;};
      };
      };
      };
      };
      };
      };
      
      case 301: {
      if (_ispack) then {
      player addItemToBackpack _item;
      } else {
      private "_type";
      _type = [_item,301] call life_fnc_accType;
      
      if (_ongun) then {
      switch (_type) do {
      case 1: { player addPrimaryWeaponItem _item; };
      case 2: { player addSecondaryWeaponItem _item; };
      case 3: { player addHandgunItem _item; };
      };
      } else {
      if (_override) then {
      player addItem _item;
      } else {
      private ["_wepItems","_action","_slotTaken"];
      _wepItems = switch (_type) do {case 1:{primaryWeaponItems player}; case 2:{secondaryWeaponItems player}; case 3:{handgunItems player}; default {["","",""]};};
      _slotTaken = false;
      
      if (!((_wepItems select 1) isEqualTo "")) then {_slotTaken = true;};
      
      if (_slotTaken) then {
      _action = [localize "STR_MISC_AttachmentMSG",localize "STR_MISC_Attachment",localize "STR_MISC_Weapon",localize "STR_MISC_Inventory"] call BIS_fnc_guiMessage;
      if (_action) then {
      switch (_type) do {
      case 1: {player addPrimaryWeaponItem _item;};
      case 2: {player addSecondaryWeaponItem _item;};
      case 3: {player addHandgunItem _item;};
      default {player addItem _item;};
      };
      } else {
      player addItem _item; //Add it to any available container
      };
      } else {
      switch (_type) do {
      case 1: {player addPrimaryWeaponItem _item;};
      case 2: {player addSecondaryWeaponItem _item;};
      case 3: {player addHandgunItem _item;};
      default {player addItem _item;};
      };
      };
      };
      };
      };
      };
      
      case 101:{
      if (_ispack) then {
      player addItemToBackpack _item;
      } else {
      private "_type";
      _type = [_item,101] call life_fnc_accType;
      
      if (_ongun) then {
      switch (_type) do {
      case 1: { player addPrimaryWeaponItem _item; };
      case 2: { player addSecondaryWeaponItem _item; };
      case 3: { player addHandgunItem _item; };
      };
      } else {
      if (_override) then {
      player addItem _item;
      } else {
      private ["_wepItems","_action","_slotTaken"];
      _wepItems = switch (_type) do {case 1:{primaryWeaponItems player}; case 2:{secondaryWeaponItems player}; case 3:{handgunItems player}; default {["","",""]};};
      _slotTaken = false;
      
      if (!((_wepItems select 0) isEqualTo "")) then {_slotTaken = true;};
      
      if (_slotTaken) then {
      _action = [localize "STR_MISC_AttachmentMSG",localize "STR_MISC_Attachment",localize "STR_MISC_Weapon",localize "STR_MISC_Inventory"] call BIS_fnc_guiMessage;
      if (_action) then {
      switch (_type) do {
      case 1: {player addPrimaryWeaponItem _item;};
      case 2: {player addSecondaryWeaponItem _item;};
      case 3: {player addHandgunItem _item;};
      default {player addItem _item;};
      };
      } else {
      player addItem _item; //Add it to any available container
      };
      } else {
      switch (_type) do {
      case 1: {player addPrimaryWeaponItem _item;};
      case 2: {player addSecondaryWeaponItem _item;};
      case 3: {player addHandgunItem _item;};
      default {player addItem _item;};
      };
      };
      };
      };
      };
      };
      
      case 621: {
      if (_ispack) then {
      player addItemToBackpack _item;
      } else {
      if (_override) then {
      player addItem _item;
      } else {
      player linkItem _item;
      };
      };
      };
      
      case 616: {
      if (_ispack) then {
      player addItemToBackpack _item;
      } else {
      if (_override) then {
      player addItem _item;
      } else {
      player linkItem _item;
      };
      };
      };
      
      default {
      if (_ispack) then {
      player addItemToBackpack _item;
      } else {
      player addItem _item;
      };
      };
      };
      };
      };
      };
      } else {
      switch (_details select 6) do {
      case "CfgVehicles": {
      removeBackpack player;
      };
      
      case "CfgMagazines": {
      player removeMagazine _item;
      };
      
      case "CfgGlasses": {
      if (_item isEqualTo goggles player) then {
      removeGoggles player;
      } else {
      player removeItem _item;
      };
      };
      
      case "CfgWeapons": {
      if ((_details select 4) in [1,2,4,5,4096]) then {
      if ((_details select 4) isEqualTo 4096) then {
      if ((_details select 5) isEqualTo 1) then {
      _isgun = true;
      };
      } else {
      _isgun = true;
      };
      };
      
      
      if (_isgun) then {
      switch (true) do {
      case (primaryWeapon player isEqualTo _item) : {_ispack = false;};
      case (secondaryWeapon player isEqualTo _item) : {_ispack = false;};
      case (handgunWeapon player isEqualTo _item) : {_ispack = false;};
      case (_item in assignedItems player) : {_ispack = false;};
      default {_ispack = true;};
      };
      
      if (_item isEqualTo "MineDetector") then {
      player removeItem _item;
      } else {
      
      //Lovely code provided by [OCB]Dash
      private "_tmpfunction";
      _tmpfunction = {
      private ["_tWeapons","_tWeaponCount"];
      switch (true) do {
      case (_this in (uniformItems player)): {
      _tWeapons = (getWeaponCargo (uniformContainer player)) select 0;
      _tWeaponCount = (getWeaponCargo (uniformContainer player)) select 1;
      
      clearWeaponCargo (uniformContainer player);
      {
      _numVestWeps = _tWeaponCount select _forEachIndex;
      if (_x == _this) then
      {
      _numVestWeps = _numVestWeps - 1;
      };
      (uniformContainer player) addWeaponCargo [ _x,_numVestWeps];
      }forEach _tWeapons;
      };
      
      case (_this in (vestItems player)): {
      _tWeapons = (getWeaponCargo (vestContainer player)) select 0;
      _tWeaponCount = (getWeaponCargo (vestContainer player)) select 1;
      
      clearWeaponCargo (vestContainer player);
      {
      _numVestWeps = _tWeaponCount select _forEachIndex;
      if (_x == _this) then
      {
      _numVestWeps = _numVestWeps - 1;
      };
      (vestContainer player) addWeaponCargo [ _x,_numVestWeps];
      }forEach _tWeapons;
      };
      
      case (_this in (backpackItems player)): {
      _tWeapons = (getWeaponCargo (backpackContainer player)) select 0;
      _tWeaponCount = (getWeaponCargo (backpackContainer player)) select 1;
      
      clearWeaponCargo (backpackContainer player);
      {
      _numVestWeps = _tWeaponCount select _forEachIndex;
      if (_x == _this) then
      {
      _numVestWeps = _numVestWeps - 1;
      };
      (backpackContainer player) addWeaponCargo [ _x,_numVestWeps];
      }forEach _tWeapons;
      };
      };
      };
      
      if (_ispack) then {
      _item call _tmpfunction;
      } else {
      switch (true) do {
      case (_item in (uniformItems player)): {_item call _tmpfunction;};
      case (_item in (vestItems player)) : {_item call _tmpfunction;};
      case (_item in (backpackItems player)) : {_item call _tmpfunction;};
      default {player removeWeapon _item;};
      };
      };
      };
      } else {
      switch (_details select 5) do {
      case 0: {player unassignItem _item; player removeItem _item;};
      case 605: {if (headgear player isEqualTo _item) then {removeHeadgear player} else {player removeItem _item};};
      case 801: {if (uniform player isEqualTo _item) then {removeUniform player} else {player removeItem _item};};
      case 701: {if (vest player isEqualTo _item) then {removeVest player} else {player removeItem _item};};
      case 621: {player unassignItem _item; player removeItem _item;};
      case 616: {player unassignItem _item; player removeItem _item;};
      default {
      switch (true) do {
      case (_item in primaryWeaponItems player) : {player removePrimaryWeaponItem _item;};
      case (_item in handgunItems player) : {player removeHandgunItem _item;};
      default {player removeItem _item;};
      };
      };
      };
      };
      };
      };
      };
      Alles anzeigen
      Code: WeaponShopBuySell.sqf
      #include "..\..\script_macros.hpp"
      /*
      File: fn_weaponShopBuySell.sqf
      Author: Bryan "Tonic" Boardwine
      
      Description:
      Master handling of the weapon shop for buying / selling an item.
      */
      disableSerialization;
      private ["_price","_item","_itemInfo","_bad"];
      if ((lbCurSel 38403) isEqualTo -1) exitWith {hint localize "STR_Shop_Weapon_NoSelect"};
      _price = lbValue[38403,(lbCurSel 38403)]; if (isNil "_price") then {_price = 0;};
      _item = lbData[38403,(lbCurSel 38403)];
      _itemInfo = [_item] call life_fnc_fetchCfgDetails;
      
      _bad = "";
      
      if ((_itemInfo select 6) != "CfgVehicles") then {
      if ((_itemInfo select 4) in [4096,131072]) then {
      if (!(player canAdd _item) && (uiNamespace getVariable ["Weapon_Shop_Filter",0]) != 1) exitWith {_bad = (localize "STR_NOTF_NoRoom")};
      };
      };
      
      if (_bad != "") exitWith {hint _bad};
      
      if ((uiNamespace getVariable ["Weapon_Shop_Filter",0]) isEqualTo 1) then {
      CASH = CASH + _price;
      [_item,false] call life_fnc_handleItem;
      hint parseText format [localize "STR_Shop_Weapon_Sold",_itemInfo select 1,[_price] call life_fnc_numberText];
      [nil,(uiNamespace getVariable ["Weapon_Shop_Filter",0])] call life_fnc_weaponShopFilter; //Update the menu.
      } else {
      private _altisArray = ["Land_u_Barracks_V2_F","Land_i_Barracks_V2_F"];
      private _tanoaArray = ["Land_School_01_F","Land_Warehouse_03_F","Land_House_Small_02_F"];
      private _hideoutObjs = [[["Altis", _altisArray], ["Tanoa", _tanoaArray]]] call TON_fnc_terrainSort;
      private _hideout = (nearestObjects[getPosATL player,_hideoutObjs,25]) select 0;
      if (!isNil "_hideout" && {!isNil {group player getVariable "gang_bank"}} && {(group player getVariable "gang_bank") >= _price}) then {
      _action = [
      format [(localize "STR_Shop_Virt_Gang_FundsMSG")+ "<br/><br/>" +(localize "STR_Shop_Virt_Gang_Funds")+ " <t color='#8cff9b'>$%1</t><br/>" +(localize "STR_Shop_Virt_YourFunds")+ " <t color='#8cff9b'>$%2</t>",
      [(group player getVariable "gang_bank")] call life_fnc_numberText,
      [CASH] call life_fnc_numberText
      ],
      localize "STR_Shop_Virt_YourorGang",
      localize "STR_Shop_Virt_UI_GangFunds",
      localize "STR_Shop_Virt_UI_YourCash"
      ] call BIS_fnc_guiMessage;
      if (_action) then {
      hint parseText format [localize "STR_Shop_Weapon_BoughtGang",_itemInfo select 1,[_price] call life_fnc_numberText];
      _funds = group player getVariable "gang_bank";
      _funds = _funds - _price;
      group player setVariable ["gang_bank",_funds,true];
      [_item,true] spawn life_fnc_handleItem;
      
      if (life_HC_isActive) then {
      [1,group player] remoteExecCall ["HC_fnc_updateGang",HC_Life];
      } else {
      [1,group player] remoteExecCall ["TON_fnc_updateGang",RSERV];
      };
      
      
      } else {
      if (_price > CASH) exitWith {hint localize "STR_NOTF_NotEnoughMoney"};
      hint parseText format [localize "STR_Shop_Weapon_BoughtItem",_itemInfo select 1,[_price] call life_fnc_numberText];
      CASH = CASH - _price;
      [_item,true] spawn life_fnc_handleItem;
      };
      } else {
      if (_price > CASH) exitWith {hint localize "STR_NOTF_NotEnoughMoney"};
      hint parseText format [localize "STR_Shop_Weapon_BoughtItem",_itemInfo select 1,[_price] call life_fnc_numberText];
      CASH = CASH - _price;
      [_item,true] spawn life_fnc_handleItem;
      };
      };
      [0] call SOCK_fnc_updatePartial;
      [] call life_fnc_saveGear;
      Alles anzeigen
    • TW_Sebastian
      Profi
      Reaktionen
      241
      Trophäen
      9
      Beiträge
      1.009
      Dateien
      2
      Bilder
      26
      • 25. Juni 2018 um 14:01
      • #2

      Versuch mal in der Zeile 76 in fn_handleItem.sqf folgendes

      if(_item in _acecheck) then{player addItem _item;};

      bei manchen behebt sich der Fehler aber auch komischer weise nach Deaktiveren von Spyglass war beispiels weise bei einem Kollegen von mir mal so

      _____________________________________________________

      ☎ Kontaktdaten ☎

      Team-Leitung - Deutschland Life

      Discord: https://discord.gg/EnPVuXWfp2

      _____________________________________________________

    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™