thefloff 4 years ago
parent
commit
08afafc210
1 changed files with 23 additions and 2 deletions
  1. 23 2
      addons - Copy/RD501_Main/functions/magclamp/fnc_startRefuel.sqf

+ 23 - 2
addons - Copy/RD501_Main/functions/magclamp/fnc_startRefuel.sqf

@@ -17,12 +17,17 @@ if (isMultiplayer) then
     _firstTick = time;
 };
 
+hint "Refueling started";
+
 _vehicle setVariable["RD501_mc_lastRefuelTick", _firstTick, true];
+_vehicle setVariable["RD501_mc_nextRefuelUpdate", 0.1, true];
 
 [{
     params ["_args", "_pfID"];
     _args params ["_target", "_source", "_rate", "_maxFuelSource", "_maxFuelTarget"];
 
+    private _stop = _source getVariable["RD501_mc_stop_refuel", false];
+
     private _currentTime = 0;
     if (isMultiplayer) then
     {
@@ -42,7 +47,24 @@ _vehicle setVariable["RD501_mc_lastRefuelTick", _firstTick, true];
     private _target_new_fuel = ((_target_fuel + _transfer) / _maxFuelTarget);
     private _source_new_fuel = ((_source_fuel - _transfer) / _maxFuelSource);
 
-    systemChat str _transfer;
+    private _last_update = _source getVariable["RD501_mc_nextRefuelUpdate", 0];
+
+    if (_target_new_fuel >= 1.0) then
+    {
+        _target_new_fuel = 1.0;
+        hint "Refueling complete";
+        _stop = true;
+    } else 
+    {
+        if (_target_new_fuel >= _last_update) then
+        {
+            _last_update = round(_target_new_fuel * 10) / 10;
+            hint format ["Refueling at %1", _last_update];
+            _source setVariable["RD501_mc_nextRefuelUpdate", _last_update+0.1, true];
+        };
+    };
+
+    systemChat format ["Refuel status: %1", _target_new_fuel * 100];
 
     _target setVariable ["RD501_mc_targetFuel", _target_new_fuel];
     ["RD501_mc_set_fuel", [], _target] call CBA_fnc_targetEvent;
@@ -50,7 +72,6 @@ _vehicle setVariable["RD501_mc_lastRefuelTick", _firstTick, true];
     _source setFuel _source_new_fuel;
     _source setVariable["RD501_mc_lastRefuelTick", _currentTime, true];
 
-    private _stop = _source getVariable["RD501_mc_stop_refuel", false];
     if (_stop) then
     {
         [_pfID] call CBA_fnc_removePerFrameHandler;