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
Do: 22 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

    [Tutorial] 2 Items zum Prozessen

      • Altis Life
    • Noldy
    • 9. August 2015 um 05:12
    • Noldy
      Amateur
      Reaktionen
      100
      Trophäen
      11
      Beiträge
      166
      • 9. August 2015 um 05:12
      • #1

      Hallo,

      Heute zeige ich euch, wie ihr ganz einfach für einen Job 2 Items braucht um es zu Prozessen.

      1. Fügt folgende Datei namens fn_processActionMulti unter core/actions mit folgendem Inhallt ein:

      Code
      /*
          File: fn_processActionMulti.sqf
          Author: Niels "Gamewalker" Kräupl, Bryan "Tonic" Boardwine
      
      
      
      
          Description:
          Master handling for processing multiple items.
      */
      private["_vendor","_type","_itemInfo","_oldItem","_newItem","_cost","_upp","_hasLicense","_itemName","_oldVal","_ui","_progress","_pgText","_cP", "_detMinValArray"];
      _vendor = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      _type = [_this,3,"",[""]] call BIS_fnc_param;
      //Error check
      if(isNull _vendor OR _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 "beer": 
          {
              player say3D "brauen";
              [["yeast", "hops"],"beerp",500,"Braue Bier"]
          };
          default {[];};
      };
      
      
      
      
      //Error checking
      if(count _itemInfo == 0) exitWith {};
      
      
      
      
      //Setup vars.
      _oldItemArray = _itemInfo select 0;
      _newItem = _itemInfo select 1;
      _cost = _itemInfo select 2;
      _upp = _itemInfo select 3;
      
      
      
      
      if(_vendor in [mari_processor,cocaine_processor,heroin_processor]) then {
          _hasLicense = true;
      } else {
          _hasLicense = missionNamespace getVariable (([_type,0] call life_fnc_licenseType) select 0);
      };
      
      
      
      
      _itemName = [([_newItem,0] call life_fnc_varHandle)] call life_fnc_varToStr;
      
      
      
      
      _detMinValArray = [];
      {
          _detMinValArray = _detMinValArray + [missionNamespace getVariable ([_x,0] call life_fnc_varHandle)];
      } forEach _oldItemArray;
      
      
      
      
      _oldVal = _detMinValArray call BIS_fnc_lowestNum;
      
      
      
      
      _cost = _cost * _oldVal;
      //Some more checks
      if(_oldVal == 0) exitWith {};
      
      
      
      
      //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;
      
      
      
      
      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 "Du hast dich zuweit entfernt!"; 5 cutText ["","PLAIN"]; life_is_processing = false;};
      
          {
              if(!([false,_x,_oldVal] call life_fnc_handleInv)) exitWith {
                  5 cutText ["","PLAIN"]; 
                  life_is_processing = false;
              };
          } forEach _oldItemArray;
      
          if(!life_is_processing) exitWith {};
      
          if(!([true,_newItem,_oldVal] call life_fnc_handleInv)) exitWith {
              5 cutText ["","PLAIN"];         
              {
                  [true,_x,_oldVal] call life_fnc_handleInv; 
              } forEach _oldItemArray;
              life_is_processing = false;
          };
      
          5 cutText ["","PLAIN"];
          titleText[format["Du hast %1 zu %2 verarbeitet",_oldVal,_itemName],"PLAIN"];
          life_is_processing = false;
      }
      else
      {
          if(life_cash < _cost) exitWith {hint format["Du brauchst $%1 um ohne Lizenz verarbeiten zu können!",[_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 "Du hast dich zuweit entfernt!"; 5 cutText ["","PLAIN"]; life_is_processing = false;};
      
          if(life_cash < _cost) exitWith {hint format["Du brauchst $%1 um ohne Lizenz verarbeiten zu können!",[_cost] call life_fnc_numberText]; 5 cutText ["","PLAIN"]; life_is_processing = false;};
      
          {
              if(!([false,_x,_oldVal] call life_fnc_handleInv)) exitWith {
                  5 cutText ["","PLAIN"]; 
                  life_is_processing = false;
              };
          } forEach _oldItemArray;
      
          if(!life_is_processing) exitWith {};
      
          if(!([true,_newItem,_oldVal] call life_fnc_handleInv)) exitWith {
              5 cutText ["","PLAIN"];         
              {
                  [true,_x,_oldVal] call life_fnc_handleInv; 
              } forEach _oldItemArray;
              life_is_processing = false;
          };
      
          5 cutText ["","PLAIN"];
          titleText[format["Du hast %1 zu %2 zu $%3 verarbeitet",_oldVal,_itemName,[_cost] call life_fnc_numberText],"PLAIN"];
          life_cash = life_cash - _cost;
          life_is_processing = false;
      };
      Alles anzeigen

      Ihr seht ja als beispiel:

      Code
      case "beer": 
          {
              player say3D "brauen";
              [["yeast", "hops"],"beerp",500,"Braue Bier"]
          };


      Heißt, das man yeast und hops braucht um ein Bier zu bekommen.

      Falls ihr keinen Sound haben möchtet, so entfernt einfach das player say3D "brauen";

      2. Geht in eure Functions.h und fügt folgendes unter class Actions ein:

      Code
      class processActionMulti {};

      3. Geht in euer Arma3 Editor, erstellt einen NPC und gibt ihm folgenden INIT:

      Code
      this allowDamage false; this enableSimulation false; this addAction[""Braue Bier"",life_fnc_processActionMulti,""beer"",0,false,false,"""",'life_inv_hops > 0 && life_inv_yeast > 0 && !life_is_processing'];";

      Das war es schon ;)

      Denk daran, das ihr da alle Items nehmen könnt die ihr wollt. Einfach nicht vergessen, die INIT entsprechend anzupassen ;)

      MfG
      Noldy

    • Christian
      Anfänger
      Reaktionen
      5
      Trophäen
      11
      Beiträge
      59
      • 12. Dezember 2015 um 00:38
      • #2

      Hallo liebe Freunde der Nacht,

      erst mal ein Mega Lob an die Leute die das hier auf die Beine Gestellt haben (Forum)!
      Das Forum hier ist schon wie meine Tageszeitung am Morgen :).


      Nun haben ich mal hier zum TuT eine Frage, und zwar wenn es möglich ist aus 2 Items eins zur machen ist es denn auch möglich aus 1 Item 2 zur machen?


      Z.b

      Ein PKW Rad auf Felge, man fährt damit zum Verarbeiter lässt das Rad Abziehen und bekommt danach die Felge und den Reifen?


      Mit freundlichen Gruß
      Christiab

    • sebel1
      Frischling
      Trophäen
      11
      Beiträge
      8
      • 17. Dezember 2015 um 18:39
      • #3

      Hallo, ich habe es versucht einzubauen, aber bei 1% Verarbeiten bleibt er stehen und ich habe den Fehler leider nicht gefunden. Leider

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

      Funktioniert dieses Script noch oder ist das Outdatet ??

    • chris89
      Schüler
      Reaktionen
      15
      Trophäen
      10
      Beiträge
      108
      • 11. Mai 2016 um 08:48
      • #5
      Zitat von sebel1

      Hallo, ich habe es versucht einzubauen, aber bei 1% Verarbeiten bleibt er stehen und ich habe den Fehler leider nicht gefunden. Leider

      Hab genau das selbe Problem gibts dazu eine Lösung ?

    • Xylometachlorid
      Nerd
      Reaktionen
      402
      Trophäen
      11
      Beiträge
      584
      • 11. Mai 2016 um 09:46
      • #6
      Zitat von chris89

      Funktioniert dieses Script noch oder ist das Outdatet ??

      Kommt auf deine Version an.

      extDB2 Tutorial: extDB2 Einrichten - so geht's richtig

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

      Altis 4.0

    • John_Parker
      Fortgeschrittener
      Reaktionen
      37
      Trophäen
      10
      Beiträge
      338
      • 30. Juni 2016 um 04:46
      • #8
      Zitat von chris89

      Altis 4.0

      Das ist aber für die Version "3.1.4.8".

      d4ccfe34e7e85df1132cf7f0832e56.gif

    • Mr.Unbekannt
      Anfänger
      Reaktionen
      1
      Trophäen
      11
      Beiträge
      38
      • 22. Juli 2016 um 19:36
      • #9

      Funktioniert bei mir ebenfalls nicht,bleibt auch bei 1% hängen.

    • niclasbuerger
      Amateur
      Reaktionen
      18
      Trophäen
      9
      Beiträge
      187
      Bilder
      3
      • 16. August 2016 um 00:49
      • #10

      Geht das ganze noch für die 4.4 ?
      Hat jemand Erfahrungen damit mit gemacht in der Version ?

    • sheox
      Anfänger
      Reaktionen
      1
      Trophäen
      10
      Beiträge
      32
      • 25. Oktober 2016 um 20:22
      • #11

      Ich weis ist ein altes Thema, aber ich muss fragen, gibt es nun eine Möglichkeit für die 4.0 bis 4.4 so etwas zu machen.

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 26. Oktober 2016 um 09:07
      • #12

      Also ich habe bei mir das Moonshine und das VollUran eingebaut und das ist auch mit mehreren Items zum Verarbeiten. Verwende die 4.0. Also gehen tut es.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • sheox
      Anfänger
      Reaktionen
      1
      Trophäen
      10
      Beiträge
      32
      • 26. Oktober 2016 um 18:29
      • #13
      Zitat von Saturin78

      Also ich habe bei mir das Moonshine und das VollUran eingebaut und das ist auch mit mehreren Items zum Verarbeiten. Verwende die 4.0. Also gehen tut es.

      also [item1,item2,item3,endprodukt....] =?

    • Nijanu
      Anfänger
      Reaktionen
      19
      Trophäen
      10
      Beiträge
      22
      • 27. Oktober 2016 um 20:13
      • #14

      Ich mache mal ein Tutorial für die 4.4
      [TUTORIAL] Mulitprocess für die 4.4r3

    • sheox
      Anfänger
      Reaktionen
      1
      Trophäen
      10
      Beiträge
      32
      • 27. Oktober 2016 um 21:17
      • #15
      Zitat von Nijanu

      Ich mache mal ein Tutorial für die 4.4
      [TUTORIAL] Mulitprocess für die 4.4r3

      hummmmm
      Brauche aber 4.0 :D

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 27. Oktober 2016 um 21:26
      • #16

      Ich schaue heute nacht wen ich heim kommen dran denke mal nach. Aber soweit ich weiß klappt es bei der 4.0 so wie es hier beschrieben ist.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • sheox
      Anfänger
      Reaktionen
      1
      Trophäen
      10
      Beiträge
      32
      • 9. November 2016 um 17:53
      • #17

      Noch eine Frage dazu,
      kann ich auf noch mehr items einfügen also 3 z.B?
      als ["item1,item2,item3]"endprodukt .... >?

    • Marius1773
      Profi
      Reaktionen
      369
      Trophäen
      9
      Beiträge
      962
      • 8. März 2017 um 17:20
      • #18

      Moin,

      auch wenn der Thread auch alt ist aber dennoch hätte ich ne kleine Frage ^^

      Unzwar würde ich gerne mehrere Prozessmöglichkeiten reinmachen würde es so funktionieren?

      Code
      //unprocessed item,processed item, cost if no license,Text to display (I.e Processing (percent) ..."
      _itemInfo = switch (_type) do
      {
       case "xyz": 
       {
       [["xprodukt", "zprodukt"],"endprodukt",500,"xyz zusammenmischen..."]
       };
      
       case "xyz2": 
       {
       [["xprodukt", "zprodukt"],"endprodukt",500,"xyz verarbeiten.."]
       };
       default {[];};
      };
      Alles anzeigen

      Windows Server :love:

      Das Heilige Buch der Arma 3 Scripter, die Arma 3 Scripter Bibel: https://community.bistudio.com/wiki/Category:Scripting_Commands

    • kleinkiko
      Schüler
      Reaktionen
      9
      Trophäen
      8
      Beiträge
      93
      Dateien
      1
      • 20. März 2018 um 18:47
      • #19

      Gibt es bereits ein Fix dafür das es bei 1% stehen bleibt? ^^ An sich klappt alles jedoch bleibt es wie gesagt bei 1% stehen . Benutze Altis 4.0

      //Edit: Grade erst gesehen das das Thema von 2017 ist . Sorry für das Ausgraben des toten Themas :D

      Mit freundlichen Grüßen

      kleinkiko

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 20. März 2018 um 20:46
      • #20
      Zitat von kleinkiko

      Gibt es bereits ein Fix dafür das es bei 1% stehen bleibt? ^^ An sich klappt alles jedoch bleibt es wie gesagt bei 1% stehen . Benutze Altis 4.0

      //Edit: Grade erst gesehen das das Thema von 2017 ist . Sorry für das Ausgraben des toten Themas :D

      Nutz die 5.0 - Problem gelöst. ist da alles drin.

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

      ______________________

    Registrieren oder Einloggen

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

    Registrieren

    Ähnliche Themen

    • Multiprocess

      • Scrpt
      • 10. Oktober 2016 um 17:46
      • Hilfeforum
    • Gather Wurst / Gather Wasser = process Wurstwasser?

      • Kuchenplatte
      • 30. August 2016 um 17:24
      • Hilfeforum

    Tags

    • farmroute
    • farmrouten
    • jobs
    • farmroute tutorial
    • jobs erstellen

    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™