瀏覽代碼

change to event system

thefloff 4 年之前
父節點
當前提交
2eb3331790

+ 11 - 10
addons - Copy/RD501_Main/functions/magclamp/fnc_startRefuel.sqf

@@ -2,8 +2,8 @@ params["_vehicle"];
 
 private _rate = 10;
 
-private _attached = _vehicle getVariable["RD501_mc_attached_large",objNull];
-_vehicle setVariable["RD501_mc_stop_refuel",false,true];
+private _attached = _vehicle getVariable["RD501_mc_attached_large", objNull];
+_vehicle setVariable["RD501_mc_stop_refuel", false, true];
 
 _maxFuelSource = getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "fuelCapacity");
 _maxFuelTarget = getNumber (configFile >> "CfgVehicles" >> typeOf _attached >> "fuelCapacity");
@@ -17,7 +17,7 @@ if (isMultiplayer) then
     _firstTick = time;
 };
 
-_vehicle setVariable["RD501_mc_lastRefuelTick",_firstTick,true];
+_vehicle setVariable["RD501_mc_lastRefuelTick", _firstTick, true];
 
 [{
     params ["_args", "_pfID"];
@@ -39,15 +39,16 @@ _vehicle setVariable["RD501_mc_lastRefuelTick",_firstTick,true];
 
     private _transfer = _rate * _deltaT;
 
-    /*
-     *  REMOTE EXECUTE THIS
-     */
-    _target setFuel ((_target_fuel + _transfer) / _maxFuelTarget);
+    private _target_new_fuel = ((_target_fuel + _transfer) / _maxFuelTarget);
+    private _source_new_fuel = ((_source_fuel - _transfer) / _maxFuelSource);
 
-    _source setFuel ((_source_fuel - _transfer) / _maxFuelSource);
-    _source setVariable["RD501_mc_lastRefuelTick",_currentTime,true];
+    _target setVariable ["RD501_mc_targetFuel", _target_new_fuel];
+    ["RD501_mc_set_fuel", [], _target] call CBA_fnc_targetEvent;
 
-    private _stop = _source getVariable["RD501_mc_stop_refuel",false];
+    _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;

+ 11 - 2
addons - Copy/RD501_Main/functions/magclamp/magclamp.sqf

@@ -89,8 +89,7 @@ macro_grp_fnc_name(magclamp,handle_drop_all) = {
     };
 };
 
-
-//add keybinds
+// add keybinds
 ["RD501 Magclamp","small_1",["First Small Clamp (Laat/I, Laat/C Left)","Activate/Deactivate left Magclamp on Laat/C or main Magclamp on Laat/I"],{
     [player] call macro_grp_fnc_name(magclamp,handle_small_1_pressed);
 },"",[DIK_7,[false,false,false]],false] call cba_fnc_addKeybind;
@@ -103,3 +102,13 @@ macro_grp_fnc_name(magclamp,handle_drop_all) = {
 ["RD501 Magclamp","detach_all",["Detach All","Detach all clamped vehicles"],{
     [player] call macro_grp_fnc_name(magclamp,handle_drop_all);
 },"",[DIK_0,[false,false,false]],false] call cba_fnc_addKeybind;
+
+// refuel target function
+["RD501_mc_set_fuel", {
+    systemChat str this;
+    systemChat str vehicle this;
+    _vehicle = (vehicle this);
+    if (isNil _vehicle) exitWith {};
+    _new_fuel = _vehicle getVariable["RD501_mc_targetFuel", 0];
+    _vehicle setFuel _new_fuel;
+}, []] call CBA_fnc_addEventHandlerArgs;