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: 25 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
    6. Archiv

    Fehler beim craften

    • Saturin78
    • 16. April 2016 um 11:29
    • Geschlossen
    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 16. April 2016 um 11:29
      • #1

      Hallo zusammen,

      ich habe bei mir versucht nach dem TUT bei gg (crafting) welches für 3.1.4.8 - 4.x sein soll, das craften bei mir einzubauen. Ich habe es soweit hinbekommen, dass ich die zu bauenden Sachen auswählen kann etc. Aber wenn ich auf Bauen drücke (egal ob ich das Material im Inv habe oder nicht) kommt immer diese Fehlermeldung.

      Ich weiß aber leider überhauptnicht, was da der Fehler ist. Ich habe nun einige Tipps von anderen Leuten ausprobiert und ich komme nicht weiter.

      Bash: fn_craftAction.sqf
      #include <macro.h>
      /*
      	File: fn_craftAction.sqf
      	Author: EdgeKiller
      
      
      
      
      	Description:
      	Master handling for crafting an item.
      */
      private["_dialog","_item","_itemInfo","_oldItem","_newItem","_upp","_itemName","_ui","_progress","_pgText","_cP","_allMaterial","_matsNeed","_invSize","_handledItem","_itemFilter","_backpackOldItems","_weight"];
      
      
      
      
      disableSerialization;
      
      
      
      
      _dialog = findDisplay 666;
      if((lbCurSel 669) == -1) exitWith {hint localize "STR_ISTR_SelectItemFirst";};
      _item = lbData[669,(lbCurSel 669)];
      _allMaterial = true;
      _itemFilter = lbData[673,(lbCurSel 673)];
      
      
      
      
      _matsNeed = 0;
      
      
      
      
      /*_config = [_itemFilter] call life_fnc_craftCfg;
      {
      
      
      
      
      	if(_item == _x select 0)then
      	{
      		_matsNeed = _x select 1;
      		_invSize = count _matsNeed;
      		for [{_i=0},{_i<_invSize-1},{_i=_i+2}] do {
      
      
      
      
      			_str = [_matsNeed select _i] call life_fnc_varToStr;
      			_matsNum = _matsNeed select _i+1;
      
      
      
      
      			if((missionNamespace getVariable (_matsNeed select _i)) < _matsNum) exitWith {_allMaterial = false;};
      
      
      
      
      		};
      	};*/
      _config = [_itemFilter] call life_fnc_craftCfg;
      {
      	if(_item == _x select 0)then
      	{
      		_matsNeed = _x select 1;
      		_invSize = count _matsNeed;
      		for [{_i=0},{_i<_invSize-1},{_i=_i+2}] do {
      			_matsNum = _matsNeed select _i+1;
      			_str = ITEM_VARNAME(_matsNeed select _i);			
      			if((GVAR_MNS _str) < _matsNum) exitWith {_allMaterial = false;};
      		};
      	};
      } foreach (_config select 1);
      
      
      
      
      if(!_allMaterial) exitWith {hint localize "STR_PM_NoMaterial";};
      
      
      
      
      //Some checks
      if((count _matsNeed) == 0) exitWith {};
      //if((count _matsNeed) == 0) then { exitWith {hint "Sie verfügen nicht über die benötigten Materialien !";};};
      
      
      
      
      if(_itemFilter == "backpack" && backpack player != "") exitWith{
      		hint localize "STR_CRAFT_AR_Backpack";
      };
      
      
      
      
      if(_itemFilter == "uniform" && uniform player != "") exitWith{
      		hint localize "STR_CRAFT_AR_Uniform";
      };
      
      
      
      
      if(_itemFilter == "item") then {
      	//_weight = ([_item] call life_fnc_itemWeight);
      	_weight = M_CONFIG(getNumber,"VirtualItems",_item,"weight");
      };
      if(_itemFilter == "item" && (life_carryWeight + _weight) > life_maxWeight) exitWith {
      	hint localize "STR_NOTF_NoRoom";
      };
      
      
      
      
      if(_itemFilter == "weapon" && !(player canAdd _Item) || currentWeapon player != "") exitWith {
      	hint localize "STR_NOTF_NoRoom";
      };
      
      
      
      
      _oldItem = _matsNeed;
      _newItem = _item;
      
      
      
      
      if(_itemFilter == "item") then{
      	//_itemName = [_newItem] call life_fnc_varToStr;
      	_itemName = localize (ITEM_NAME(_newitem));
      } else {
      	_itemInfo = [_newItem] call life_fnc_fetchCfgDetails;
      	_itemName = _itemInfo select 1;
      };
      
      
      
      
      _upp = format["Crafting %1",_itemName];
      closeDialog 0;
      
      
      
      
      //Setup our progress bar.
      5 cutRsc ["life_progress","PLAIN"];
      _ui = uiNameSpace getVariable "life_progress";
      _progress = _ui displayCtrl 38201;
      _pgText = _ui displayCtrl 38202;
      _pgText ctrlSetText format["%2 (1%1)...","%",_upp];
      _progress progressSetPosition 0.01;
      _cP = 0.01;
      
      
      
      
      _removeItemSuccess = true;
      _invSize = count _oldItem;
      for [{_i=0},{_i<_invSize-1},{_i=_i+2}] do {
      
      
      
      
      	//_handledItem = [_oldItem select _i,1] call life_fnc_varHandle;
      	_handledItem = M_CONFIG(getText,"VirtualItems",_oldItem select _i,"variable");
      	if(!([false,_handledItem,_oldItem select _i+1] call life_fnc_handleInv)) exitWith {_removeItemSuccess = false;};
      };
      if(!_removeItemSuccess) exitWith {5 cutText ["","PLAIN"]; life_is_processing = false;};
      [] call life_fnc_p_updateMenu;
      
      
      
      
      life_is_processing = true;
      
      
      
      
      while{true} do
      {
      	sleep  0.3;
      	_cP = _cP + 0.01;
      	_progress progressSetPosition _cP;
      	_pgText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%",_upp];
      	if(_cP >= 1) exitWith {};
      };
      
      
      
      
      if(_itemFilter == "backpack") then{
      	if(backpack player == "") then{
      		player addBackpack _newItem;
      	}else{
      		hint localize "STR_CRAFT_AR_Backpack";
      		life_is_processing = false;
      	};
      };
      
      
      
      
      /*if(_itemFilter == "item") then{
      	_handledItem = [_newItem,1] call life_fnc_varHandle;
      	[true,_handledItem,1] call life_fnc_handleInv;
      };
      */
      if(_itemFilter == "item") then{
      	_handledItem = M_CONFIG(getText,"VirtualItems",_newitem,"variable");
      	[true,_handledItem,1] call life_fnc_handleInv;
      };
      
      
      
      
      if(_itemFilter == "uniform") then{
      	if(uniform player == "") then{
      		player addUniform _newItem;
      	}else{
      		hint localize "STR_CRAFT_AR_Uniform";
      		life_is_processing = false;
      	};
      };
      
      
      
      
      if(_itemFilter == "weapon") then{
      
      
      
      
      	if(player canAdd _newItem) then{
      		player addItem _newItem;
      	} else {
      		if(currentWeapon player == "") then{
      			player addWeapon _newItem;
      		}else{
      			5 cutText ["","PLAIN"];
      			for [{_i=0},{_i<_invSize-1},{_i=_i+2}] do {
      				_handledItem = [_oldItem select _i,1] call life_fnc_varHandle;
      				[true,_handledItem,_oldItem select _i+1] call life_fnc_handleInv;
      			};
      			life_is_processing = false;
      		};
      	};
      
      
      
      
      };
      
      
      
      
      5 cutText ["","PLAIN"];
      titleText[format[localize "STR_CRAFT_Process",_itemName],"PLAIN"];
      life_is_processing = false;
      Alles anzeigen

      Wie man sieht habe ich auch hier einige Versuche gemacht (durch ausklammern etc.) aber es brachte alles nichts. Ich habe noch keine anderen zu Bauenden Sachen eingefügt. Da ich erstmal das Teil zu laufen bringen muß um dann andere Gegenstände einzubauen. Ich hätte auch gerne dass die zu bauenden Sachen einfach vor einem auf dem Boden spawnen, kann man das machen, oder ist das schon so? Also sobald es mal gehen sollte :)

      Vielleicht kann mir hier jemand helfen.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • br1zey
      Meister
      Reaktionen
      881
      Trophäen
      11
      Beiträge
      2.458
      Dateien
      2
      Bilder
      58
      • 16. April 2016 um 15:28
      • #2

      Du must es auf die 4.0 umschreiben :D z.b. varToStr.sqf gibt es nicht mehr

      Beispiel Zeile 30 ist bei mir

      Code
      _str = M_CONFIG(getText,"VirtualItems",(SEL(_matsNeed,_i)),"displayName");

      hier mal deine umgeschrieben versuch die mal bitte


      Code
      #include <macro.h>
      /*
      	File: fn_craftAction.sqf
      	Author: EdgeKiller
      	Description:
      	Master handling for crafting an item.
      */
      private["_dialog","_item","_itemInfo","_oldItem","_newItem","_upp","_itemName","_ui","_progress","_pgText","_cP","_allMaterial","_matsNeed","_invSize","_handledItem","_itemFilter","_backpackOldItems","_weight"];
      disableSerialization;
      _dialog = findDisplay 666;
      if((lbCurSel 669) == -1) exitWith {hint localize "STR_ISTR_SelectItemFirst";};
      _item = lbData[669,(lbCurSel 669)];
      _allMaterial = true;
      _itemFilter = lbData[673,(lbCurSel 673)];
      _matsNeed = 0;
      /*_config = [_itemFilter] call life_fnc_craftCfg;
      {
      	if(_item == _x select 0)then
      	{
      		_matsNeed = _x select 1;
      		_invSize = count _matsNeed;
      		for [{_i=0},{_i<_invSize-1},{_i=_i+2}] do {
      			_str = M_CONFIG(getText,"VirtualItems",(SEL(_matsNeed,_i)),"displayName");
      			_matsNum = _matsNeed select _i+1;
      			if((missionNamespace getVariable (_matsNeed select _i)) < _matsNum) exitWith {_allMaterial = false;};
      		};
      	};*/
      _config = [_itemFilter] call life_fnc_craftCfg;
      {
      	if(_item == _x select 0)then
      	{
      		_matsNeed = _x select 1;
      		_invSize = count _matsNeed;
      		for [{_i=0},{_i<_invSize-1},{_i=_i+2}] do {
      			_matsNum = _matsNeed select _i+1;
      			_str = ITEM_VARNAME(_matsNeed select _i);			
      			if((GVAR_MNS _str) < _matsNum) exitWith {_allMaterial = false;};
      		};
      	};
      } foreach (_config select 1);
      if(!_allMaterial) exitWith {hint localize "STR_PM_NoMaterial";};
      //Some checks
      if((count _matsNeed) == 0) exitWith {};
      //if((count _matsNeed) == 0) then { exitWith {hint "Sie verfügen nicht über die benötigten Materialien !";};};
      if(_itemFilter == "backpack" && backpack player != "") exitWith{
      		hint localize "STR_CRAFT_AR_Backpack";
      };
      if(_itemFilter == "uniform" && uniform player != "") exitWith{
      		hint localize "STR_CRAFT_AR_Uniform";
      };
      if(_itemFilter == "item") then {
      	//_weight = ([_item] call life_fnc_itemWeight);
      	_weight = M_CONFIG(getNumber,"VirtualItems",_item,"weight");
      };
      if(_itemFilter == "item" && (life_carryWeight + _weight) > life_maxWeight) exitWith {
      	hint localize "STR_NOTF_NoRoom";
      };
      if(_itemFilter == "weapon" && !(player canAdd _Item) || currentWeapon player != "") exitWith {
      	hint localize "STR_NOTF_NoRoom";
      };
      _oldItem = _matsNeed;
      _newItem = _item;
      if(_itemFilter == "item") then{
      	//_itemName = [_newItem] call life_fnc_varToStr;
      	//_itemName = localize (ITEM_NAME(_newitem));
        _itemName = M_CONFIG(getText,"VirtualItems",_newItem,"displayName");
      } else {
      	_itemInfo = [_newItem] call life_fnc_fetchCfgDetails;
      	_itemName = _itemInfo select 1;
      };
      _upp = format["Crafting %1",_itemName];
      closeDialog 0;
      //Setup our progress bar.
      5 cutRsc ["life_progress","PLAIN"];
      _ui = uiNameSpace getVariable "life_progress";
      _progress = _ui displayCtrl 38201;
      _pgText = _ui displayCtrl 38202;
      _pgText ctrlSetText format["%2 (1%1)...","%",_upp];
      _progress progressSetPosition 0.01;
      _cP = 0.01;
      _removeItemSuccess = true;
      _invSize = count _oldItem;
      for [{_i=0},{_i<_invSize-1},{_i=_i+2}] do {
      	//_handledItem = [_oldItem select _i,1] call life_fnc_varHandle;
      //	_handledItem = M_CONFIG(getText,"VirtualItems",_oldItem select _i,"variable");
        _handledItem = M_CONFIG(getText,"VirtualItems",(SEL(_oldItem,_i)),"variable");
      	if(!([false,_handledItem,_oldItem select _i+1] call life_fnc_handleInv)) exitWith {_removeItemSuccess = false;};
      };
      if(!_removeItemSuccess) exitWith {5 cutText ["","PLAIN"]; life_is_processing = false;};
      [] call life_fnc_p_updateMenu;
      life_is_processing = true;
      while{true} do
      {
      	sleep  0.3;
      	_cP = _cP + 0.01;
      	_progress progressSetPosition _cP;
      	_pgText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%",_upp];
      	if(_cP >= 1) exitWith {};
      };
      if(_itemFilter == "backpack") then{
      	if(backpack player == "") then{
      		player addBackpack _newItem;
      	}else{
      		hint localize "STR_CRAFT_AR_Backpack";
      		life_is_processing = false;
      	};
      };
      /*if(_itemFilter == "item") then{
      	_handledItem = [_newItem,1] call life_fnc_varHandle;
      	[true,_handledItem,1] call life_fnc_handleInv;
      };
      */
      if(_itemFilter == "item") then{
      	_handledItem = M_CONFIG(getText,"VirtualItems",_newitem,"variable");
      	[true,_handledItem,1] call life_fnc_handleInv;
      };
      if(_itemFilter == "uniform") then{
      	if(uniform player == "") then{
      		player addUniform _newItem;
      	}else{
      		hint localize "STR_CRAFT_AR_Uniform";
      		life_is_processing = false;
      	};
      };
      if(_itemFilter == "weapon") then{
      	if(player canAdd _newItem) then{
      		player addItem _newItem;
      	} else {
      		if(currentWeapon player == "") then{
      			player addWeapon _newItem;
      		}else{
      			5 cutText ["","PLAIN"];
      			for [{_i=0},{_i<_invSize-1},{_i=_i+2}] do {
      				//_handledItem = [_oldItem select _i,1] call life_fnc_varHandle;
              _handledItem = M_CONFIG(getText,"VirtualItems",(SEL(_oldItem,_i)),"variable");
      				[true,_handledItem,_oldItem select _i+1] call life_fnc_handleInv;
      			};
      			life_is_processing = false;
      		};
      	};
      };
      5 cutText ["","PLAIN"];
      titleText[format[localize "STR_CRAFT_Process",_itemName],"PLAIN"];
      life_is_processing = false;
      Alles anzeigen

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

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

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 16. April 2016 um 15:57
      • #3

      Vielen Dank,

      hat geklappt. Mir hat gerade nochjemand das gleiche gesagt und nun funktioniert es. super. Danke Leute.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • chris89
      Schüler
      Reaktionen
      15
      Trophäen
      10
      Beiträge
      108
      • 18. Mai 2016 um 11:15
      • #4

      Saturin78 hab mal eine frage an dich.

      So wie ich sehe hast du es für die 4.0 zum laufen gebracht.

      Besteht die Möglichkeit das du die Scripts hier posten könntest währe sehr Nice von dir ?

      Bin langsam am verzeifeln weis mir nicht mehr zu helfen.

      Gruß

      Chris

    • nox 25. März 2023 um 00:47

      Hat das Thema aus dem Forum Hilfeforum - ArmA 3 nach Archiv verschoben.

    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™