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
Di: 20 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

    Multiprocessing für 4.4

    • Flamer
    • 19. September 2016 um 13:05
    • Geschlossen
    • Erledigt
    • Flamer
      Anfänger
      Reaktionen
      21
      Trophäen
      9
      Beiträge
      68
      • 19. September 2016 um 13:05
      • #1

      Hallo, ich finde einfach den Fehler nicht in meinem Script, ich hoffe mir kann jemand helfen. Ich bekomme nichtmal die Auswahl beim NPC :( .
      Bevor jetzt wieder jemand nach dem RPT-Log fragt, dort steht kein Fehler drinn.

      fn_mprocessAction:

      Code
      private ["_inputItems", "_outputItem", "_inputItemsNeeded", "_outputItemAmount", "_itemsInv", "_itemsNeeded", "_inputItemsDeleted", "_ui", "_progress", "_pgText", "_cP", "_productionAmount", "_possibleProductionAmount","_processor","_formatedProcessingInfo","_hasLicense","_licenseNeeded","_processingCost","_type","_productionInfo"];
      if (isServer) exitWith {};
      if (life_is_processing) exitWith {hint localize "STR_NOTF_multigreenlifenotbesch";}; 
      //parameter
      _processor = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      _type = [_this,3,"",[""]] call BIS_fnc_param;
      //Error check. taken from tonic.
      if(isNull _processor OR _type == "" OR (player distance _processor > 5)) exitWith {};
      if(vehicle player != player) exitwith {hint localize["STR_NOTF_multigreenlifenotfahrze"];};
      life_is_processing = true;
      //define your production line here
      _productionInfo = switch (_type) do
      { 
       case "plastik": {[["oil_processed","kohle"],[1,1],"plastik",1,"plastik",2000];};
       default {[]};
      };
      //initialize
      _inputItems = _productionInfo select 0;
      _inputItemsNeeded = _productionInfo select 1;
      _outputItem = _productionInfo select 2;
      _outputItemAmount = [(_productionInfo select 3),0,0,[0]] call BIS_fnc_param;
      _licenseNeeded = _productionInfo select 4;
      _processingCost = [(_productionInfo select 5),0,0,[0]] call BIS_fnc_param;
      _hasLicense = missionNamespace getVariable (([_licenseNeeded,0] call life_fnc_licenseType) select 0);
      _inputItemsDeleted = true;_productionAmount = 9999; 
      //infinite
      if ((count _inputItems) != (count _inputItemsNeeded)) exitWith {
      diag_log format["ERROR: ProcessMultipleItems falsch initialisiert: Anzahl InputItems ungleich Anzahl InputItem Kosten"];
      life_is_processing = false;};
      //check if the player has enough items and determine how much he can produce
      for "_x" from 0 to ((count _inputItems) - 1) do 
      { 
       //get current amount player has 
       _itemsInv = missionNamespace getVariable ([(_inputItems select _x),0] call life_fnc_varHandle); 
       _itemsNeeded = _inputItemsNeeded select _x; 
       //calculate possible amount of processing cycles 
       _possibleProductionAmount = floor (_itemsInv / _itemsNeeded); 
       if (_possibleProductionAmount < _productionAmount) then 
       { 
       _productionAmount = _possibleProductionAmount; 
       };
      };
       //exit if the player doenst have the required items for one process
      if (_productionAmount < 1) exitWith { hint localize "STR_NOTF_multigreenlifenotrohs"; life_is_processing = false;};
      //check for cash if the player doesnt have the license and calculate possible max production
      if (!_hasLicense) then 
      { 
       //determine max production by money 
       if ((floor (life_cash / _processingCost)) < _productionAmount) then 
       { 
       _productionAmount = floor (life_cash / _processingCost); 
       };
      };
      //exit if the player doenst have the required money for one process
      if (_productionAmount < 1) exitWith { hint localize "STR_NOTF_multigreenlifenotgeld"; life_is_processing = false;};
      //Setup our progress bar. taken from tonic.
      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)...","%","Bei der Herstellung."];
      _progress progressSetPosition 0.01;
      _cP = 0.01; 
      //progress bar. taken from tonic.
      while{true} do
      { 
       sleep 0.3; 
       _cP = _cP + 0.01; 
       _progress progressSetPosition _cP; 
       _pgText ctrlSetText format["%3 (%1%2)...",round(_cP * 100),"%","Bei der Herstellung."]; 
       if(_cP >= 1) exitWith {}; 
       if(player distance _processor > 10) exitWith {};
      };
      if(player distance _processor > 10) exitWith {hint localize "STR_NOTF_multigreenlifenotweitweg"; 
      5 cutText ["","PLAIN"]; 
      life_is_processing = false;};
      //substract items 
      for "_x" from 0 to ((count _inputItems) - 1) do 
      { 
       if (!([false,(_inputItems select _x),((_inputItemsNeeded select _x) * _productionAmount)] call life_fnc_handleInv)) then 
       { 
       _inputItemsDeleted = false; 
       };
      };
      //add new items if players items where deleted
      if (_inputItemsDeleted) then 
      { 
       if (!_hasLicense) then 
       { 
       life_cash = life_cash - (_processingCost * _productionAmount); 
       }; 
       //add the new item 
       if (!([true,_outputItem,(_outputItemAmount * _productionAmount)] call life_fnc_handleInv)) then 
       {
       hint localize "STR_NOTF_multigreenlifenoterr"; 
       diag_log format["ERROR: fn_processMultipleItems - new item(s) are not added"];
       }; 
       //format output
       _formatedProcessingInfo = "Du hast"; 
       for "_x" from 0 to ((count _inputItems) - 2) do 
       { 
       _formatedProcessingInfo = _formatedProcessingInfo + format[" %1 %2,",((_inputItemsNeeded select _x) * _productionAmount),(_inputItems select _x)]; 
       }; 
       _formatedProcessingInfo = _formatedProcessingInfo + format[" und %1 %2 zu %4 %3 verarbeitet",((_inputItemsNeeded select ((count _inputItemsNeeded) - 1)) * _productionAmount),(_inputItems select ((count _inputItems) - 1)),_outputItem,(_outputItemAmount * _productionAmount)]; 
       5 cutText ["","PLAIN"]; 
       titleText[format["%1",_formatedProcessingInfo],"PLAIN"];
      };
       life_is_processing = false;
      Alles anzeigen


      NPC-Init:

      Code
      this addAction["Plastik herstellen",life_fnc_mprocessAction,"plastik",0,false,false,"",' life_inv_kohle > 0 && life_inv_oil_processed > 0 && !life_is_processing'];

      im Spyglass sind eingetragen:
      LIFE_Functions[] = {"life_fnc_mprocessaction_meta","life_fnc_mprocessaction",......

      allowedVariables[] = { { "life_is_mprocessing", "BOOL" }, ........


      in der Stringtable habe ich auch alle nötigen Einträge vorgenommen.


      BEFilters\scripts.txt eingetragen:

      !"this addAction[\"Process Plastik\",life_fnc_mprocessAction"


      Über eine produktive Antwort würde ich mich sehr freuen.
      MfG
      Flamer

    • nflug
      Nerd
      Reaktionen
      225
      Trophäen
      9
      Beiträge
      781
      • 19. September 2016 um 13:55
      • #2

      RPT Log... EGAL ob von deiner Ansicht nichts drinne steht..

      #MAKE_ARMA_NOT_WAR

      ⥴ Scripts made with love

      Why do programmers work in dark rooms?

      Because light attracts bugs...

    • Flamer
      Anfänger
      Reaktionen
      21
      Trophäen
      9
      Beiträge
      68
      • 19. September 2016 um 14:02
      • #3
      Zitat von Flyyying_nflug

      RPT Log... EGAL ob von deiner Ansicht nichts drinne steht..

      Mhhh, ich bin schon so fit in der Materie um selektieren zu können ob da was drinn steht oder nicht, warum soll ich ein RPT posten wenn zu dem Fehler nichts drinn steht. auch das DEV-Tool von shinji gibt dazu kein Fehler aus. Hätte ich da ein Fehler dazu, würde ich ja weiter kommen... :(

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 19. September 2016 um 15:25
      • #4
      Zitat von Flamer

      Mhhh, ich bin schon so fit in der Materie um selektieren zu können ob da was drinn steht oder nicht, warum soll ich ein RPT posten wenn zu dem Fehler nichts drinn steht. auch das DEV-Tool von shinji gibt dazu kein Fehler aus. Hätte ich da ein Fehler dazu, würde ich ja weiter kommen...

      Nimm mir das jetzt nicht übel, aber ob du tief in der Materie bist oder nicht oder ob du da was siehst und selektieren kannst oder nicht interessiert hier keinen. Entweder du gibst uns Logs, mit denen wir arbeiten können (in dem Fall Client Logs, solltest du aber wissen wenn du tief in der Materie drin bist) oder du wirst hier keine große Hilfe erwarten können. Wir supporten, aber rätselraten veranstalten wir nicht.


      #Sorry für meine Direktheit und das Salz, aber ich habe von "In den Logs steht nix"-Diskussionen langsam die Nase voll und bin grade auch so nicht gerade gut Kirschen essen.

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

      ______________________

    • br1zey
      Meister
      Reaktionen
      881
      Trophäen
      11
      Beiträge
      2.458
      Dateien
      2
      Bilder
      58
      • 19. September 2016 um 15:35
      • #5

      das dir die addAction nicht angezeigt wird ist normal da du was was abfragst ob du mehr als 0 im Inventar hast


      Code
      this addAction["Plastik herstellen",life_fnc_mprocessAction,"plastik",0,false,false,"",' life_inv_kohle > 0 && life_inv_oil_processed > 0 && !life_is_processing'];

      ist aber ok

      doch das Problem ist

      life_inv_oil_processed das gibt es nicht wenn muss es life_inv_oilProcessed sein ^^

      über prüfe mal in der config_vItems.hpp
      was für eine variable angegeben ist

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

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

    • Flamer
      Anfänger
      Reaktionen
      21
      Trophäen
      9
      Beiträge
      68
      • 19. September 2016 um 16:31
      • #6
      Zitat von br1zey

      das dir die addAction nicht angezeigt wird ist normal da du was was abfragst ob du mehr als 0 im Inventar hast


      Code
      this addAction["Plastik herstellen",life_fnc_mprocessAction,"plastik",0,false,false,"",' life_inv_kohle > 0 && life_inv_oil_processed > 0 && !life_is_processing'];

      ist aber ok

      doch das Problem ist

      life_inv_oil_processed das gibt es nicht wenn muss es life_inv_oilProcessed sein ^^

      über prüfe mal in der config_vItems.hpp
      was für eine variable angegeben ist

      Alles anzeigen

      jo, danke Dir die variable ist tatsächlich:

      Code
      class oil_processed {
              variable = "oilProcessed";

      das werde ich mal gleich Probieren.


      Zitat von blackfisch

      Nimm mir das jetzt nicht übel, aber ob du tief in der Materie bist oder nicht oder ob du da was siehst und selektieren kannst oder nicht interessiert hier keinen. Entweder du gibst uns Logs, mit denen wir arbeiten können (in dem Fall Client Logs, solltest du aber wissen wenn du tief in der Materie drin bist) oder du wirst hier keine große Hilfe erwarten können. Wir supporten, aber rätselraten veranstalten wir nicht.

      #Sorry für meine Direktheit und das Salz, aber ich habe von "In den Logs steht nix"-Diskussionen langsam die Nase voll und bin grade auch so nicht gerade gut Kirschen essen.

      Blackfish, Grundsätzlich gebe ich Dir recht auch anderen Speilern empfehle ich immer mit Logs, aber wie gesagt, dieser Fehler konnte und wurde nicht im RPT aufgelöst, es ist ja in dem Sinne kein Fehler. Also, warum was schicken, wenn da nix steht? ;) .
      PS.: Habe Dich trotzdem lieb auch wenn gerade nicht Kirschen essen mit Dir ist. :rolleyes:

    • Flamer
      Anfänger
      Reaktionen
      21
      Trophäen
      9
      Beiträge
      68
      • 19. September 2016 um 17:51
      • #7

      Thread kann somit geschlossen werden und erledigt ;)

    • br1zey
      Meister
      Reaktionen
      881
      Trophäen
      11
      Beiträge
      2.458
      Dateien
      2
      Bilder
      58
      • 19. September 2016 um 18:23
      • #8

      also war das der fehler :P

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

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

    • Flamer
      Anfänger
      Reaktionen
      21
      Trophäen
      9
      Beiträge
      68
      • 19. September 2016 um 18:28
      • #9

      Jepp, das war der Fehler. ;)

    Registrieren oder Einloggen

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

    Registrieren

    Ähnliche Themen

    • [TUTORIAL] Mulitprocess für die 4.4r3

      • Nijanu
      • 27. Oktober 2016 um 20:31
      • Tutorials & Releases

    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™