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
Mi: 01 Oktober 2025
  • Anmelden oder registrieren
  • Suche
Alles
  • Alles
  • 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. Mitglieder
    3. B4v4r!4n_Str!k3r

    Beiträge von B4v4r!4n_Str!k3r

    • [Tutorial] Craftingsystem zum Herstellen von Items, Waffen usw.

      • B4v4r!4n_Str!k3r
      • 21. Juni 2016 um 13:38
      Zitat von J2ker

      Es öffnet sich nicht mal das Menu, ich drücke auf den Button und es passiert nichts.

      Alles noch einmal überprüft? Hast du irgendwelche Fehler im Log?

    • Schrottplatz

      • B4v4r!4n_Str!k3r
      • 21. Juni 2016 um 13:20

      Die Suchfunktion ist wie immer die Lösung: https://native-network.net/thread/11-tuto…nach-impounden/

    • [Tutorial] Craftingsystem zum Herstellen von Items, Waffen usw.

      • B4v4r!4n_Str!k3r
      • 21. Juni 2016 um 06:04

      irgendwelche Logs? Kannst du nicht Craften oder öffnet sich nicht einmal das Menü?

    • [Tutorial] Craftingsystem zum Herstellen von Items, Waffen usw.

      • B4v4r!4n_Str!k3r
      • 20. Juni 2016 um 22:40
      Zitat von TiTuTas

      Hi gute abreit aber vItems kann man damit nicht craften oder ?

      In der Version von mir nicht. In der für 3.1.4.8 ist eine Funktion eingebaut, aber ob diese funktioniert weiß ich nicht.

      Ich sehe dahinter auch keinen Sinn mehr, da man entweder Multiprocess einbauen kann oder einfach auf V4.4r3 updaten kann und dort das fertig implementierte Multiprocess verwendet. :)

      Wenn du aber willst, dass man auch vItems craften kann, versuche ich dies morgen umzusetzen. ;)

    • [Tutorial - 3.1.4.8] Craftingsystem zum Herstellen von Items, Waffen usw.

      • B4v4r!4n_Str!k3r
      • 20. Juni 2016 um 18:02

      so wie versprochen: das Tutorial für die Version 4.4 :)

    • [Tutorial] Craftingsystem zum Herstellen von Items, Waffen usw.

      • B4v4r!4n_Str!k3r
      • 20. Juni 2016 um 18:00

      Vorweg: Ich habe das Tutorial von @sebi1106 nur für die Version 4.4-5.0 angepasst. ;)
      Die Grundbasis wurde von EdgeKiller entworfen.

      Daher poste ich auch hier seinen Header: :)

      Zitat von Sebi1106

      Hiermit untersage ich wie immer die Verbreitung dieser Daten und die des von mir verfassten Tutorials in anderen Foren ohne vorher mein Einverständnis dazu einzuholen.

      Altes Tutorial:

      Spoiler anzeigen

      Schritt 1:
      öffnet die Datei /Functions.hpp und fügt dort folgendes unter der "class action" ein ein:

      Code: Functions.hpp
      class craftAction {};


      und folgendes unter der "class Player_Menu":

      C: Functions.hpp
      class craft {};
      class craft_update {};
      class craft_updateFilter {};


      und folgendes unter der "class config":

      C: Functions.hpp
      class craftCfg {};

      Schritt 2:

      öffnet die Datei /dialog/MasterHandler.h und fügt dort folgendes ein:

      C: MasterHandler.hpp
      #include "craft.hpp"

      Schritt 3:

      öffnet die Datei /dialog/player_inv.hpp und fügt dort folgendes unter "class controls" ein:

      C: player_inv.hpp
      class ButtonCraft : Life_RscButtonMenu {
                  idc = 2025;
                  text = "$STR_PM_Craft";
                  onButtonClick = "closeDialog 0; createDialog ""Life_craft"";";
                  x = 0.42 + (6.25 / 19.8) + (1 / 250 / (safezoneW / safezoneH));
                  y = 0.805;
                  w = (6.25 / 40);
                  h = (1 / 25);
      };

      Schritt 4:

      öffnet die Datei /stringtable.xml und fügt dort folgendes ein:

      XML: stringtable.xml
      <Package name="Craft">
              <Key ID="STR_CRAFT_Title">
                  <Original>Baumenü</Original>
              </Key>
              <Key ID="STR_PM_CraftStats">
                  <Original>Sachen zum Bauen</Original>
              </Key>
              <Key ID="STR_PM_CraftMaterials">
                  <Original>Benötigte Sachen</Original>
              </Key>
              <Key ID="STR_CRAFT_Button">
                  <Original>Bauen!</Original>
              </Key>
              <Key ID="STR_PM_NoMaterial">
                  <Original>Du hast nicht alle Baumaterialen!</Original>
              </Key>
              <Key ID="STR_CRAFT_Process">
                  <Original>Du hast folgendes hergestellt: %1</Original>
              </Key>
              <Key ID="STR_CRAFT_FILTER_Weapon">
                  <Original>Waffen</Original>
              </Key>
              <Key ID="STR_CRAFT_FILTER_Uniform">
                  <Original>Kleidung</Original>
              </Key>
              <Key ID="STR_CRAFT_FILTER_Backpack">
                  <Original>Rucksäcke</Original>
              </Key>
              <Key ID="STR_CRAFT_FILTER_Item">
                  <Original>Items</Original>
              </Key>
              <Key ID="STR_CRAFT_AR_Backpack">
                  <Original>Du hast bereit einen Rucksack! Pack den alten erstmal weg.</Original>
              </Key>
              <Key ID="STR_CRAFT_AR_Uniform">
                  <Original>Du hast bereits etwas an! Mach dich nackt und versuch es nochmal.</Original>
              </Key>
          </Package>
      Alles anzeigen

      und das im Package "Player_Menu":

      XML: stringtable.xml
      <Key ID="STR_PM_Craft">
          <Original>Craften</Original>
      </Key>

      Schritt 5:


      erstellt die Datei craft.hpp und fügt diese unter /dialog ein:

      C: craft.hpp
      /*
       File: craft.hpp
       Description: Crafting System
       Created by EdgeKiller
       Coder: EdgeKiller
      */
      class Life_craft {
          idd = 666;
          name= "life_craft";
          movingEnable = false;
          enableSimulation = true;
          onLoad = "[] spawn life_fnc_craft";
          class controlsBackground {
              class Life_RscTitleBackground:Life_RscText {
                  colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"};
                  idc = -1;
                  x = 0.1;
                  y = 0.2;
                  w = 0.8;
                  h = (1 / 25);
              };
              class MainBackground:Life_RscText {
                  colorBackground[] = {0, 0, 0, 0.7};
                  idc = -1;
                  x = 0.1;
                  y = 0.2 + (11 / 250);
                  w = 0.8;
                  h = 0.6 - (22 / 250);
              };
          };
          class controls {
              class Title : Life_RscTitle {
                  colorBackground[] = {0, 0, 0, 0};
                  idc = 667;
                  text = "$STR_CRAFT_Title";
                  x = 0.1;
                  y = 0.2;
                  w = 0.6;
                  h = (1 / 25);
              };
              class craftListHeader : Life_RscText {
                  idc = 668;
                  colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
                  text = "$STR_PM_CraftStats";
                  sizeEx = 0.04;
                  x = 0.105; y = 0.26;
                  w = 0.275; h = 0.04;
              };
              //Craft list
              class craftList : life_RscListBox {
                  idc = 669;
                  sizeEx = 0.030;
                  onLBSelChanged = "[] spawn life_fnc_craft_update";
                  x = 0.105;
                  y = 0.31;
                  w = 0.275; h = 0.44;
              };
              //Materials list header
              class materialListHeader : Life_RscText {
                  idc = 670;
                  colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
                  text = "$STR_PM_CraftMaterials";
                  sizeEx = 0.04;
                  x = 0.395; y = 0.26;
                  w = 0.275; h = 0.04;
              };
              //Materials list
              class materialList : Life_RscControlsGroup {
                  idc = 671;
                  w = 0.275;
                  h = 0.44;
                  x = 0.395;
                  y = 0.30;
                  class Controls {
                      class mats : Life_RscStructuredText {
                          idc = 672;
                          sizeEx = 0.020;
                          text = "";
                          x = 0;
                          y = 0;
                          w = 0.27; h = 0.44;
                      };
                  };
              };
              //FILTER
              class FilterList : Life_RscCombo {
                  idc = 673;
                  colorBackground[] = {0,0,0,0.7};
                  onLBSelChanged = "[] call life_fnc_craft_updateFilter";
                  x = 0.69;
                  y = 0.32;
                  w = (6.25 / 30);
                  h = (1 / 25);
              };
              //Craft button
              class ButtonCraft : Life_RscButtonMenu {
                  idc = 674;
                  text = "$STR_CRAFT_Button";
                  colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
                  onButtonClick = "if(!(life_is_processing && life_action_inUse)) then {[] spawn life_fnc_craftAction};";
                  x = 0.69;
                  y = 0.26;
                  w = (6.25 / 40);
                  h = (1 / 25);
              };
              class CloseButtonKey : Life_RscButtonMenu {
                  idc = -1;
                  text = "$STR_Global_Close";
                  onButtonClick = "closeDialog 0;";
                  x = 0.1;
                  y = 0.8 - (1 / 25);
                  w = (6.25 / 40);
                  h = (1 / 25);
              };
          };
      };
      Alles anzeigen


      Schritt 6:

      erstellt die Datei fn_craftAction.sqf und fügt diese unter /core/actions ein:

      C: fn_craftAction.sqf
      #include "..\..\script_macros.hpp"
      /*
       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","_weightUsedItems"];
      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;
      
      
      
      
      life_action_inUse = true;//Lock out other actions during processing.
      
      
      
      
      {
          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;
                  if ((ITEM_VALUE(_matsNeed select _i)) < _matsNum) then {_allMaterial = false;};
              };
          };
      } foreach (_config);
      _newItem = _item;
      diag_log format ["%1",_allMaterial];
      if (!_allMaterial) exitWith {hint localize "STR_PM_NoMaterial"; life_action_inUse = false;};
      //Some checks
      if ((count _matsNeed) == 0) exitWith {life_action_inUse = false;};
      if (_itemFilter == "backpack" && backpack player != "") exitWith {
          hint localize "STR_CRAFT_AR_Backpack";
          life_action_inUse = false;
      };
      if (_itemFilter == "uniform" && uniform player != "") exitWith {
          hint localize "STR_CRAFT_AR_Uniform";
          life_action_inUse = false;
      };
      if (_itemFilter == "weapon") then {
          if (!(player canAdd _newItem) || currentWeapon player != "") exitWith {
              hint localize "STR_NOTF_NoRoom";
              life_action_inUse = false;
          };
      };
      if (_itemFilter == "item") then {
          _weight = [_item] call life_fnc_itemWeight;
          _weightUsedItems = 0;
          for [{_i=0},{_i<(count _matsNeed)-1},{_i=_i+2}] do {
              _matsNum = _matsNeed select _i+1;
              _weightUsedItems = _weightUsedItems + (([(_matsNeed select _i)] call life_fnc_itemWeight) * _matsNum);
              diag_log format ["%1 - %2",(_matsNeed select _i),_weightUsedItems];
          };
          if ((life_carryWeight - _weightUsedItems + _weight) > life_maxWeight) exitWith {
              hint localize "STR_NOTF_NoRoom";
              life_action_inUse = false;
          };
      };
      _oldItem = _matsNeed;
      
      
      
      
      if (_itemFilter == "item") then {
          _itemName = localize M_CONFIG(getText,"VirtualItems",_newItem,"displayName");
      } else {
          _itemInfo = [_newItem] call life_fnc_fetchCfgDetails;
          _itemName = _itemInfo select 1;
      };
      
      
      
      
      life_is_processing = true;
      _upp = format["Baue %1",_itemName];
      closeDialog 0;
      //Setup our progress bar.
      disableSerialization;
      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);
          if(!([false,_handledItem,_oldItem select _i+1] call life_fnc_handleInv)) exitWith {_removeItemSuccess = false;};
      };
      if (!_removeItemSuccess) exitWith {5 cutText ["","PLAIN"]; life_is_processing = false; life_action_inUse = false;};
      
      
      
      
      for "_i" from 0 to 1 step 0 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;
              life_action_inUse = false;
          };
      };
      if (_itemFilter == "uniform") then{
          if(uniform player == "") then{
              player addUniform _newItem;
          } else {
              hint localize "STR_CRAFT_AR_Uniform";
              life_is_processing = false;
              life_action_inUse = 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);
                      [true,_handledItem,_oldItem select _i+1] call life_fnc_handleInv;
                  };
                  life_is_processing = false;
                  life_action_inUse = false;
              };
          };
      };
      if (_itemFilter == "item") then{
          _handledItem = _newItem;
          [true,_handledItem,1] call life_fnc_handleInv;
      };
      5 cutText ["","PLAIN"];
      titleText[format[localize "STR_CRAFT_Process",_itemName],"PLAIN"];
      [0] call SOCK_fnc_updatePartial;
      life_is_processing = false;
      life_action_inUse = false;
      Alles anzeigen



      Schritt 7:


      erstellt die Datei fn_craft.sqf und fügt diese unter /core/pmenu ein:

      C: fn_craft.sqf
      /*
       File: fn_craft.sqf
       Description: Crafting System
       Created by EdgeKiller
       Coder: EdgeKiller
      */
      private["_dialog","_inv","_itemInfo","_filter"]; //Declare all private variables
      if(!dialog) then { //Verify if the window is open
          createDialog "Life_craft";
      };
      disableSerialization; //Disable Serialization
      if(life_is_processing) exitWith{
          closeDialog 2001;
          closeDialog 0;
      };
      _dialog = findDisplay 666; //find the craft dialog/window
      _inv = _dialog displayCtrl 669; //find the listbox of items can be created
      lbClear _inv; //clear the listbox
      _filter = _dialog displayCtrl 673;
      _filter lbAdd localize "STR_CRAFT_FILTER_Weapon";
      _filter lbSetData[(lbSize _filter)-1,"weapon"];
      _filter lbAdd localize "STR_CRAFT_FILTER_Uniform";
      _filter lbSetData[(lbSize _filter)-1,"uniform"];
      _filter lbAdd localize "STR_CRAFT_FILTER_Backpack";
      _filter lbSetData[(lbSize _filter)-1,"backpack"];
      _filter lbAdd localize "STR_CRAFT_FILTER_Item";
      _filter lbSetData[(lbSize _filter)-1,"item"];
      _filter lbSetCurSel 0;
      Alles anzeigen



      Schritt 8:


      erstellt die Datei fn_craft_update.sqf und fügt diese unter /core/pmenu ein:

      C: fn_craft_update.sqf
      #include "..\..\script_macros.hpp"
      /*
       File: fn_craft_update.sqf
       Description: Crafting System
       Created by EdgeKiller
       Coder: EdgeKiller
      */
      private["_dialog","_inv","_mats","_item","_struct","_str","_invSize","_matsNeed","_matsNum","_config","_itemFilter"]; //Declare all private variables
      disableSerialization; //Disable Serialization
      _dialog = findDisplay 666; //find the craft dialog/window
      _inv = _dialog displayCtrl 669; //find the listbox of items can be created
      _mats = _dialog displayCtrl 672;
      _struct = "";
      if ((lbCurSel 669) == -1) exitWith {hint localize "STR_ISTR_SelectItemFirst";};
      _item = lbData[669,(lbCurSel 669)];
      _itemFilter = lbData[673,(lbCurSel 673)];
      _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",(_matsNeed select _i),"displayName");
                  _matsNum = _matsNeed select _i+1;
                  _struct = _struct + format["%1x %2<br/>",_matsNum,(localize _str)];
              };
          };
      } foreach (_config);
      if (_struct == "") then {
          _struct = "Es wird nichts benötigt";
      };
      _mats ctrlSetStructuredText parseText format["
      <t size='0.8px'>
      %1
      </t>
      ",_struct];
      Alles anzeigen


      Schritt 9:


      erstellt die Datei fn_craft_updateFilter.sqf und fügt diese unter /core/pmenu ein:

      C: fn_craft_updateFilter.sqf
      #include "..\..\script_macros.hpp"
      /*
       File: fn_craft_updateFilter.sqf
       Description: Crafting System
       Created by EdgeKiller
       Coder: EdgeKiller
      */
      disableSerialization;
      private["_list","_filter","_dialog","_inv","_mats","_filterBox","_item","_itemFilter"];
      _dialog = findDisplay 666; //find the craft dialog/window
      _inv = _dialog displayCtrl 669; //find the listbox of items can be created
      _mats = _dialog displayCtrl 672;
      _filterBox = _dialog displayCtrl 673;
      _itemFilter = lbData[673,(lbCurSel 673)];
      lbClear _inv;
      _struct = "";
      _config = [_itemFilter] call life_fnc_craftCfg;
      {
          if(_itemFilter == "item") then{
              _str = localize M_CONFIG(getText,"VirtualItems",(_x select 0),"displayName");
              _inv lbAdd format["%1",_str]; //add a gun to the listbox
              _inv lbSetData[(lbSize _inv)-1,_x select 0]; //set the data of the gun
          } else {
              _itemInfo = [_x select 0] call life_fnc_fetchCfgDetails;
              _inv lbAdd format["%1",_itemInfo select 1]; //add a gun to the listbox
              _inv lbSetData[(lbSize _inv)-1,_itemInfo select 0]; //set the data of the gun
              _inv lbSetPicture[(lbSize _inv)-1,_itemInfo select 2];
          };
      } foreach (_config);
      _inv lbSetCurSel 0;
      _item = lbData[669,(lbCurSel 669)];
      _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",(_matsNeed select _i),"displayName");
                  _matsNum = _matsNeed select _i+1;
                  _struct = _struct + format["%1x %2<br/>",_matsNum,(localize _str)];
              };
          };
      } foreach (_config);
      _mats ctrlSetStructuredText parseText format["
      <t size='0.8px'>
      %1
      </t>
      ",_struct];
      Alles anzeigen


      Schritt 10:


      erstellt die Datei fn_craftCfg.sqf und fügt diese unter /core/config ein:


      C: fn_craftCfg.sqf
      #include "..\..\script_macros.hpp"
      /*
       File: fn_craftCfg.sqf
       Author: EdgeKiller
       Description:
       Master configuration file for the crafting menu.
      */
      private["_craft","_return"];
      _craft = [_this,0,"",[""]] call BIS_fnc_param;
      if(_craft == "") exitWith {closeDialog 0}; //Bad shop type passed.
      switch(_craft) do {
          case "weapon": {
              _return = [
                  //[Object classname, [item #1,quantity item #1,item #2,quantity item #2]],]
                  ["hgun_P07_F", ["diamond_cut",2,"copper_refined",1]]
              ];
              if(FETCH_CONST(life_adminlevel) > 0) then {
                  _return pushBack
                      ["SMG_01_F", ["copper_refined",3,"iron_refined",3,"diamond_cut",1]];
              };
          };
          case "uniform": {
              _return = [
                  //[Object classname, [item #1,quantity item #1,item #2,quantity item #2]],]
                  ["U_IG_Guerilla1_1", ["copper_refined",1]]
              ];
          };
          case "backpack": {
              _return = [
                  //[Object classname, [item #1,quantity item #1,item #2,quantity item #2]],]
                  ["B_Carryall_oli", ["diamond_cut",1]]
              ];
          };
          case "item": {
              _return = [
                  //[Object classname, [item #1,quantity item #1,item #2,quantity item #2]],]
                  ["iron_refined", ["copper_refined",2]],
                  ["diamond_cut", ["copper_refined",1,"iron_refined",1]]
              ];
          };
      };
      _return;
      Alles anzeigen

      Neues Tutorial (Update):


      1. Cation Systems installieren:

      a) cation.zip entpacken und Ordner cation in <mission> einfügen.

      b) CfgRemoteExec.hpp bearbeiten:
      unter

      Code: CfgRemoteExec.hpp
      class CfgRemoteExec { 
        class Functions {
        mode = 1;
        jip = 0;

      #include "cation\cation_remoteExec.cpp"
      einfügen.

      c) description.ext bearbeiten:
      unter

      Code: description.ext
      CfGFuntions {

      #include "cation\cation_functions.cpp"

      einfügen und ganz am Ende der Datei
      #include "cation\cation_master.cpp"
      einfügen.

      2. Crafting installieren:

      a) craftingSystem.zip entpacken und Ordner crafting nach <mission>/cation kopieren

      b) in <misson>/cation/cation_function.cpp:
      #include "crafting\functions.cpp"
      einfügen.

      c) in <misson>/cation/cation_master.cpp:
      #include "crafting\config.cpp"
      einfügen.

      d) in <misson>/cation/cation_remoteExec.cpp:
      #include "crafting\remoteExec.cpp"
      einfügen.

      e) Init-Code zum hinzufügen der Craftingstation an ein bestimmtes Objekt / einen NPC:
      this allowDamage false; this enableSimulation false; this addAction["Craften",{["Variablennamen"] spawn cat_crafting_fnc_craft}];

      f) Code zu hinzufügen ins Z-Menü (Button):
      onButtonClick = "closeDialog 0; [""Variablennamen""] spawn cat_crafting_fnc_craft;";

      Variablennamen muss in der config.cpp in der craftingStations[] definiert seien.

      Alle anderen Einstellungen und Texte werden in <misson>/cation/crafting/config.cpp geändert


      Funktionieren sollte das für alle ArmA Life Versionen. Getestet wurde es mit der V4.4R4 und 5.0

      3. Crafting durch Fahrzeugcrafting erweitern:

      a) craftingVehicles.zip entpacken und fn_craftAction.sqf in den Ordner <mission>/cation/crafting kopieren bzw. alte Datei ersetzen.

      b) <mission>/cation/crafting/config.cpp öffnen und nach category[]={

      Code
      {
      "landvehicle", // Variable nicht verändern
      "Bodenfahrzeuge",
      {"C_SUV_01_F","",{"copper_refined",1,"diamond_cut",2},"Dark Red","civ"}
      },
      {
      "airvehicle", // Variable nicht verändern
      "Luftfahrzeuge",
      {"C_Heli_Light_01_civil_F","",{"copper_refined",1},"Civ Blue","civ"}
      },
      {
      "watervehicle", // Variable nicht verändern
      "Wasserfahrzeuge",
      {"C_Rubberboat","",{"copper_refined",1},"",""}
      },
      Alles anzeigen

      einfügen.

      In der craftingVehicles.zip ist nochmals eine config.cpp zum Vergleichen ob der Schritt richtig durchgeführt wurde.

      Fertig - viel Spaß!

      Dateien

      craftingVehicles.zip 5,65 kB – 1.018 Downloads craftingSystem.zip 11,08 kB – 1.715 Downloads cation.zip 408 Byte – 1.836 Downloads
    • Server - Apex Sneak Preview Build

      • B4v4r!4n_Str!k3r
      • 19. Juni 2016 um 19:55

      -beta apex_sneak_preview zu den Updateparametern hinzufügen

    • Probleme mit 2 Scrips

      • B4v4r!4n_Str!k3r
      • 17. Juni 2016 um 00:56

      naja ich denke wir reden gerade über die Datei core/init.sqf.

      Beim Start der Datei ist z.B. die Variable life_coplevel noch nicht definiert.

      In diesem Teil wird die Funktion zur Datenbankabfrage gestartet und darauf gewartet bis diese fertig ist:

      Code
      [] call SOCK_fnc_dataQuery;
      waitUntil {life_session_completed};


      jetzt wurde die Variable life_coplevel definiert und kann verwendet werden.

      d.h. du musst den Teil mit den Paychecks jetzt unterhalb den zwei oben genannten Heilen einfügen/verschieben.

      Code
      switch (playerSide) do
      {
      case west:
      {
      switch (call life_coplevel) do
      {
      case 1: {life_paycheck = life_paycheck + 1000;};
      case 2: {life_paycheck = life_paycheck + 2500;};
      case 3: {life_paycheck = life_paycheck + 5000;};
      case 4: {life_paycheck = life_paycheck + 7500;};
      case 5: {life_paycheck = life_paycheck + 9000;};
      case 6: {life_paycheck = life_paycheck + 10500;};
      case 7: {life_paycheck = life_paycheck + 20000;};
      default {""};
      };
      };
      
      
      
      
      case independent:
      {
      switch (call life_mediclevel) do
      {
      case 1: {life_paycheck = life_paycheck + 2000;};
      case 2: {life_paycheck = life_paycheck + 2500;};
      case 3: {life_paycheck = life_paycheck + 3000;};
      case 4: {life_paycheck = life_paycheck + 3500;};
      case 5: {life_paycheck = life_paycheck + 4000;};
      default {""};
      };
      };
      };
      Alles anzeigen
    • Probleme mit 2 Scrips

      • B4v4r!4n_Str!k3r
      • 17. Juni 2016 um 00:47
      Zitat von Snake586

      Hallo ich noch mal.
      Ich habe immer noch das Problem das er den Teil mit den Zusätzlichen Pay-Cheks nicht nimmt.

      Spoiler anzeigen

      switch (playerSide) do
      {
      case west:
      {
      switch (call life_coplevel) do
      {
      case 1: {life_paycheck = life_paycheck + 1000;};
      case 2: {life_paycheck = life_paycheck + 2500;};
      case 3: {life_paycheck = life_paycheck + 5000;};
      case 4: {life_paycheck = life_paycheck + 7500;};
      case 5: {life_paycheck = life_paycheck + 9000;};
      case 6: {life_paycheck = life_paycheck + 10500;};
      case 7: {life_paycheck = life_paycheck + 20000;};
      default {""};
      };
      };

      case independent:
      {
      switch (call life_mediclevel) do
      {
      case 1: {life_paycheck = life_paycheck + 2000;};
      case 2: {life_paycheck = life_paycheck + 2500;};
      case 3: {life_paycheck = life_paycheck + 3000;};
      case 4: {life_paycheck = life_paycheck + 3500;};
      case 5: {life_paycheck = life_paycheck + 4000;};
      default {""};
      };
      };
      };

      Das Problem was wir haben ist das er der Meinung ist das der Bereich: switch (call life_coplevel) do und switch (call life_mediclevel) do keine definierte Veariable ist.

      Alles anzeigen

      die Vermutung ist nicht schlecht. Probiere einmal deinen Paycheck-Teil nach

      Code
      [] call SOCK_fnc_dataQuery;
      waitUntil {life_session_completed};
      0 cutText[localize "STR_Init_ClientFinish","BLACK FADED"];
      0 cutFadeOut 9999999;

      einzufügen.

    • Tanoa Trailer - Community Trailer

      • B4v4r!4n_Str!k3r
      • 16. Juni 2016 um 23:57

      Insgesmat ein schöner Trailer, wobei du die Fraben ruhig natürlicher belassen könntest.

      Nun komme ich zur Kritik auf hohen Niveau, denn das sind Punkte die das Video vom ordentlichen zum perfekten Trailer machen:

      • ein roter Faden (erzähle eine kleine Geschichte, bilde mehr Zusammenhänge zwischen den Sequenzen)
      • kürzere Sequenzen (stellenweise bleiben die Bilder zu lange, sodass es langweilig wird)
      • Wechsel zwischen verschiedenen Perspektiven (Detail, Totale, Halbnah, Nah)

      Sehr positiv sind mir die ruhigen Kamerafahrten im Kopf geblieben. Weiter so!

    • Forum für höhere Auflösungen optimieren

      • B4v4r!4n_Str!k3r
      • 14. Juni 2016 um 17:36

      @nox @sebi1106 @pentoxide gedenkt ihr background-size: cover; wie oben beschrieben hinzuzufügen? :P ;)

      Wäre nice, denn schon langsam gehen mir die ewigen Laggs beim Scrollen auf die Nerven puke

    • Emotes

      • B4v4r!4n_Str!k3r
      • 13. Juni 2016 um 19:23

      wenn ich Google nach Emots Script Altis LIfe befrage bekomme ich diesen Link zum altisliferpg.com Forum: http://www.altisliferpg.com/topic/4143-tut…_keyhandlersqf/

      ist es das wonach du suchst? xD

      Edit: ist übrings auch im falschen Forumordner

    • Emotes

      • B4v4r!4n_Str!k3r
      • 13. Juni 2016 um 19:19

      wenn du uns vllt sagst was du mit Emots verstehst.

    • Waffen werden nach verlassen des Servers nicht übernommen.

      • B4v4r!4n_Str!k3r
      • 13. Juni 2016 um 18:43

      Schon einmal in der Config_Master.hpp save_civ_weapons auf true gesetzt?

    • Kleidung NPC's

      • B4v4r!4n_Str!k3r
      • 12. Juni 2016 um 23:52

      schon einmal mit forceAddUniform probiert?

    • Marktsystem für 4.3??

      • B4v4r!4n_Str!k3r
      • 12. Juni 2016 um 18:58

      kann ich machen ... wie gesagt ein Tutorial meinerseits wäre glaube ich angebracht ^^

    • Marktsystem für 4.3??

      • B4v4r!4n_Str!k3r
      • 12. Juni 2016 um 18:49

      Du bist nicht der einzige dem ich damit geholfen habe und schon langsam verbringe ich mehr Zeit damit es zu fixen. Da kann ich gleich in Tut machen^^ mit meinen Files, die ich vorher noch einmal in Vanilla AL tesete.

    • Marktsystem für 4.3??

      • B4v4r!4n_Str!k3r
      • 12. Juni 2016 um 18:44

      alles in die CfgRemoteExec eingetragen?

    • Marktsystem für 4.3??

      • B4v4r!4n_Str!k3r
      • 12. Juni 2016 um 18:23

      bin mir nicht sicher, aber das passiert normal immer beim 1. Mal, wenn noch keine Items in der Datenbank sind. Beim nächsten Restart sollte das eig nicht mehr passieren

    • [Tutorial - 3.1.4.8] Craftingsystem zum Herstellen von Items, Waffen usw.

      • B4v4r!4n_Str!k3r
      • 12. Juni 2016 um 16:23
      Zitat von B4v4r!4n_Str!k3r

      Nein, so wie es oben steht nicht, da es z.B. die varToString Methode nicht mehr gibt.
      Da ich das Crafting aber schon länger bei mir einbauen wollte, werde ich das diese Woche einmal machen und dann ein Tutorial für die Version 4.x erstellen.

      da ich im Moment mein AL von 4.4 auf 4.4r3 update werde ich es wohl erst nächstes Wochenende schaffen das Tutorial zu machen.

    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™