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
Fr: 23 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

    Altis Life 4.4 Aus einem Item mehrere verarbeiten

    • TheValle
    • 21. April 2017 um 18:15
    • Geschlossen
    • Erledigt
    • TheValle
      Anfänger
      Reaktionen
      1
      Trophäen
      11
      Beiträge
      24
      • 21. April 2017 um 18:15
      • #1

      Guten Tag.

      Wir wollen auf unserem Server aus einem Item mehrere Craften, also soll aus z.B. Stein die Items Sand und Kalk werden. In der 4.5 und 5.0 geht das recht simpel, aber wir können/wollen nicht wechseln, da viele unserer Scripts für die 4.4 optimiert sind.

      So sieht die "processAction" aus der 4.4 aus:

      Code
      #include "..\..\script_macros.hpp"
      /*
          File: fn_processAction.sqf
          Author: Bryan "Tonic" Boardwine
          
          Description:
          Master handling for processing an item.
      */
      private["_vendor","_type","_itemInfo","_oldItem","_newItem","_cost","_upp","_hasLicense","_itemName","_oldVal","_ui","_progress","_pgText","_cP"];
      _vendor = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      _type = [_this,3,"",[""]] call BIS_fnc_param;
      //Error check
      if(isNull _vendor OR EQUAL(_type,"") OR (player distance _vendor > 10)) exitWith {};
      
      //unprocessed item,processed item, cost if no license,Text to display (I.e Processing  (percent) ..."
      _itemInfo = switch (_type) do {
          case "oil": {["oil_unprocessed","oil_processed",40000,(localize "STR_Process_Oil")];};
          case "stein": {["stein","HIER MEHRERE ITEMS HERAUSBEKOMMEN",40000,(localize "STR_Process_Heroin")];};
          case "copper": {["copper_unrefined","copper_refined",40000,(localize "STR_Process_Copper")];};
          case "iron": {["iron_unrefined","iron_refined",40000,(localize "STR_Process_Iron")];};
          case "sand": {["sand","glass",40000,(localize "STR_Process_Sand")];};
          case "cocaine": {["cocaine_unprocessed","cocaine_processed",40000,(localize "STR_Process_Cocaine")];};
          case "marijuana": {["cannabis","marijuana",40000,(localize "STR_Process_Marijuana")];};
          case "weizen": {["weizenu","weizenp",40000,(localize "STR_Process_weizen")];};
          case "kartoffel": {["kartoffelu","kartoffelp",40000,(localize "STR_Process_kartoffel")];};
          case "bier": {["bieru","bierp",40000,(localize "STR_Process_bier")];};
          case "kohle": {["kohleu","kohlep",40000,(localize "STR_Process_kohle")];};
          case "chemie": {["chemieu","chemiep",40000,(localize "STR_Process_chemie")];};
          case "holz": {["holzu","holzp",40000,(localize "STR_Process_holz")];};
          default {[];};
      };
      
      //Error checking
      if(EQUAL(count _itemInfo,0)) exitWith {};
      
      //Setup vars.
      _oldItem = SEL(_itemInfo,0);
      _newItem = SEL(_itemInfo,1);
      _cost = SEL(_itemInfo,2);
      _upp = SEL(_itemInfo,3);
      
      if(_vendor in [mari_processor,coke_processor,heroin_processor]) then {
          _hasLicense = true;
      } else {
          _hasLicense = LICENSE_VALUE(_type,"civ");
      };
      
      _itemName = M_CONFIG(getText,"VirtualItems",_newItem,"displayName");
      _oldVal = ITEM_VALUE(_oldItem);
      
      _cost = _cost * _oldVal;
      //Some more checks
      if(EQUAL(_oldVal,0)) exitWith {};
      
      //Setup our progress bar.
      disableSerialization;
      5 cutRsc ["life_progress","PLAIN"];
      _ui = GVAR_UINS "life_progress";
      _progress = _ui displayCtrl 38201;
      _pgText = _ui displayCtrl 38202;
      _pgText ctrlSetText format["%2 (1%1)...","%",_upp];
      _progress progressSetPosition 0.01;
      _cP = 0.01;
      
      life_is_processing = true;
      
      if(_hasLicense) then {
          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(player distance _vendor > 10) exitWith {};
          };
          
          if(player distance _vendor > 10) exitWith {hint localize "STR_Process_Stay"; 5 cutText ["","PLAIN"]; life_is_processing = false;};
          if(!([false,_oldItem,_oldVal] call life_fnc_handleInv)) exitWith {5 cutText ["","PLAIN"]; life_is_processing = false;};
          if(!([true,_newItem,_oldVal] call life_fnc_handleInv)) exitWith {5 cutText ["","PLAIN"]; [true,_oldItem,_oldVal] call life_fnc_handleInv; life_is_processing = false;};
          5 cutText ["","PLAIN"];
          titleText[format[localize "STR_Process_Processed",_oldVal,localize _itemName],"PLAIN"];
          life_is_processing = false;
      } else {
          if(CASH < _cost) exitWith {hint format[localize "STR_Process_License",[_cost] call life_fnc_numberText]; 5 cutText ["","PLAIN"]; life_is_processing = false;};
          
          while{true} do {
              sleep  0.9;
              _cP = _cP + 0.01;
              _progress progressSetPosition _cP;
              _pgText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%",_upp];
              if(_cP >= 1) exitWith {};
              if(player distance _vendor > 10) exitWith {};
          };
          
          if(player distance _vendor > 10) exitWith {hint localize "STR_Process_Stay"; 5 cutText ["","PLAIN"]; life_is_processing = false;};
          if(CASH < _cost) exitWith {hint format[localize "STR_Process_License",[_cost] call life_fnc_numberText]; 5 cutText ["","PLAIN"]; life_is_processing = false;};
          if(!([false,_oldItem,_oldVal] call life_fnc_handleInv)) exitWith {5 cutText ["","PLAIN"]; life_is_processing = false;};
          if(!([true,_newItem,_oldVal] call life_fnc_handleInv)) exitWith {5 cutText ["","PLAIN"]; [true,_oldItem,_oldVal] call life_fnc_handleInv; life_is_processing = false;};
          5 cutText ["","PLAIN"];
          titleText[format[localize "STR_Process_Processed2",_oldVal,localize _itemName,[_cost] call life_fnc_numberText],"PLAIN"];
          SUB(CASH,_cost);
          life_is_processing = false;
      };
      Alles anzeigen

      Wie kann ich jetzt aus Stein mehrere Sachen herausbekommen?

      Danke für die Hilfe.

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von NodeZone.net? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Registrieren

    Tags

    • Altis Life 4.4
    • Item
    • Verarbeitung

    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™