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: 29 Juni 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

    Processgeschwindigkeit ändern

    • Kevin356
    • 4. Mai 2018 um 22:37
    • Geschlossen
    • Erledigt
    • Kevin356
      Anfänger
      Reaktionen
      1
      Trophäen
      10
      Beiträge
      23
      • 4. Mai 2018 um 22:37
      • #1

      Hallo Liebe NN Community,

      Mir stellt sich die Frage wo ich bei der "normale" (unveränderten) processAction die Verarbeitungszeit anpassen kann. Denn wenn ich bei uns aktuell ein Item Verarbeite dauert dies extrem Lange.

      Wo kann ich dies umstellen?

      Hier noch die processAction

      Spoiler anzeigen
      Code
      #include "..\..\script_macros.hpp"
      /*
          File: fn_processAction.sqf
          Author: Bryan "Tonic" Boardwine
          Modified : NiiRoZz
      
          Description:
          Master handling for processing an item.
          NiiRoZz : Added multiprocess
      */
      private ["_vendor","_type","_itemInfo","_oldItem","_newItemWeight","_newItem","_oldItemWeight","_cost","_upp","_hasLicense","_itemName","_oldVal","_ui","_progress","_pgText","_cP","_materialsRequired","_materialsGiven","_noLicenseCost","_text","_filter","_totalConversions","_minimumConversions"];
      _vendor = [_this,0,objNull,[objNull]] call BIS_fnc_param;
      _type = [_this,3,"",[""]] call BIS_fnc_param;
      //Error check
      if (isNull _vendor || _type isEqualTo "" || (player distance _vendor > 10)) exitWith {};
      life_action_inUse = true;//Lock out other actions during processing.
      
      if (isClass (missionConfigFile >> "ProcessAction" >> _type)) then {
          _filter = false;
          _materialsRequired = M_CONFIG(getArray,"ProcessAction",_type,"MaterialsReq");
          _materialsGiven = M_CONFIG(getArray,"ProcessAction",_type,"MaterialsGive");
          _noLicenseCost = M_CONFIG(getNumber,"ProcessAction",_type,"NoLicenseCost");
          _text = M_CONFIG(getText,"ProcessAction",_type,"Text");
      } else {_filter = true;};
      
      if (_filter) exitWith {life_action_inUse = false;};
      
      _itemInfo = [_materialsRequired,_materialsGiven,_noLicenseCost,(localize format ["%1",_text])];
      if (count _itemInfo isEqualTo 0) exitWith {life_action_inUse = false;};
      
      //Setup vars.
      _oldItem = _itemInfo select 0;
      _newItem = _itemInfo select 1;
      _cost = _itemInfo select 2;
      _upp = _itemInfo select 3;
      _exit = false;
      if (count _oldItem isEqualTo 0) exitWith {life_action_inUse = false;};
      
      _totalConversions = [];
      {
          _var = ITEM_VALUE(_x select 0);
          if (_var isEqualTo 0) exitWith {_exit = true;};
          if (_var < (_x select 1)) exitWith {_exit = true;};
          _totalConversions pushBack (floor (_var/(_x select 1)));
      } forEach _oldItem;
      
      if (_exit) exitWith {life_is_processing = false; hint localize "STR_NOTF_NotEnoughItemProcess"; life_action_inUse = false;};
      
      if (_vendor in [mari_processor,coke_processor,heroin_processor]) then {
          _hasLicense = true;
      } else {
          _hasLicense = LICENSE_VALUE(_type,"civ");
      };
      
      _cost = _cost * (count _oldItem);
      
      _minimumConversions = _totalConversions call BIS_fnc_lowestNum;
      _oldItemWeight = 0;
      {
          _weight = ([_x select 0] call life_fnc_itemWeight) * (_x select 1);
          _oldItemWeight = _oldItemWeight + _weight;
      } count _oldItem;
      
      _newItemWeight = 0;
      {
          _weight = ([_x select 0] call life_fnc_itemWeight) * (_x select 1);
          _newItemWeight = _newItemWeight + _weight;
      } count _newItem;
      
      _exit = false;
      
      if (_newItemWeight > _oldItemWeight) then {
          _netChange = _newItemWeight - _oldItemWeight;
          _freeSpace = life_maxWeight - life_carryWeight;
          if (_freeSpace < _netChange) exitWith {_exit = true;};
          private _estConversions = floor(_freeSpace / _netChange);
          if (_estConversions < _minimumConversions) then {
              _minimumConversions = _estConversions;
          };
      };
      
      if (_exit) exitWith {hint localize "STR_Process_Weight"; life_is_processing = false; life_action_inUse = false;};
      
      //Setup our progress bar.
      disableSerialization;
      "progressBar" 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 {
          for "_i" from 0 to 1 step 0 do {
              uiSleep  0.18;
              _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"; "progressBar" cutText ["","PLAIN"]; life_is_processing = false; life_action_inUse = false;};
      
          {
              [false,(_x select 0),((_x select 1)*(_minimumConversions))] call life_fnc_handleInv;
          } count _oldItem;
      
          {
              [true,(_x select 0),((_x select 1)*(_minimumConversions))] call life_fnc_handleInv;
          } count _newItem;
      
          "progressBar" cutText ["","PLAIN"];
          if (_minimumConversions isEqualTo (_totalConversions call BIS_fnc_lowestNum)) then {hint localize "STR_NOTF_ItemProcess";} else {hint localize "STR_Process_Partial";};
          life_is_processing = false; life_action_inUse = false;
      } else {
          if (CASH < _cost) exitWith {hint format [localize "STR_Process_License",[_cost] call life_fnc_numberText]; "progressBar" cutText ["","PLAIN"]; life_is_processing = false; life_action_inUse = false;};
      
          for "_i" from 0 to 1 step 0 do {
              uiSleep  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"; "progressBar" cutText ["","PLAIN"]; life_is_processing = false; life_action_inUse = false;};
          if (CASH < _cost) exitWith {hint format [localize "STR_Process_License",[_cost] call life_fnc_numberText]; "progressBar" cutText ["","PLAIN"]; life_is_processing = false; life_action_inUse = false;};
      
          {
              [false,(_x select 0),((_x select 1)*(_minimumConversions))] call life_fnc_handleInv;
          } count _oldItem;
      
          {
              [true,(_x select 0),((_x select 1)*(_minimumConversions))] call life_fnc_handleInv;
          } count _newItem;
      
          "progressBar" cutText ["","PLAIN"];
          if (_minimumConversions isEqualTo (_totalConversions call BIS_fnc_lowestNum)) then {hint localize "STR_NOTF_ItemProcess";} else {hint localize "STR_Process_Partial";};
          CASH = CASH - _cost;
          [0] call SOCK_fnc_updatePartial;
          life_is_processing = false;
          life_action_inUse = false;
      };
      Alles anzeigen

      Besten Dank

      Freundliche Grüsse

      Kevin

    • AvirexDE
      Meister
      Reaktionen
      784
      Beiträge
      1.917
      Dateien
      1
      Bilder
      39
      • 5. Mai 2018 um 09:54
      • #2

      Du musst einfach den uiSleepverringern.

      (Zeile: 98 und 122)

      Spieler Processen schneller, manche langsamer

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

      ▀ Freundliche Grüße ▀

      giphy.gif

      ●●●▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄●●●

    • B4v4r!4n_Str!k3r
      Nerd
      Reaktionen
      246
      Trophäen
      11
      Beiträge
      725
      Bilder
      5
      • 5. Mai 2018 um 10:32
      • #3

      Besser wäre es _cP = _cP + 0.01; durch z.b._cP = _cP + 0.03; zu ersetzen, also den Summanden zu erhöhen.

      23106-logo-schrift-dunkel-390-70-png class=

      Services rund um ArmA RPG Life

      ArmA Bibel: https://community.bistudio.com/wiki/

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      10
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 8. Mai 2018 um 13:45
      • #4
      Zitat von B4v4r!4n_Str!k3r

      Besser wäre es _cP = _cP + 0.01; durch z.b._cP = _cP + 0.03; zu ersetzen, also den Summanden zu erhöhen.

      Naja, nicht wirklich "besser" als den sleep zu verändern :) Nachteil ist außerdem, dass auch die progressbar dann In 3% Schritten läuft

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

      ______________________

    • Kevin356
      Anfänger
      Reaktionen
      1
      Trophäen
      10
      Beiträge
      23
      • 9. Mai 2018 um 19:34
      • #5

      Habs nun mit dem UiSleep geändert.

      Danke für die schnelle hilfe

    Registrieren oder Einloggen

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

    Registrieren

    Tags

    • verarbeiten
    • verarbeiter
    • Process
    • Geschwindigkeit

    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™