Made return nozzle bypass connect-attach

This commit is contained in:
jonpas 2015-08-17 01:12:14 +02:00
parent b717ff8dde
commit 40eb5a5ba9
4 changed files with 37 additions and 11 deletions

View File

@ -25,10 +25,10 @@
exceptions[] = {"isNotInside"}; \ exceptions[] = {"isNotInside"}; \
icon = PATHTOF(ui\icon_refuel_interact.paa); \ icon = PATHTOF(ui\icon_refuel_interact.paa); \
}; \ }; \
class GVAR(Connect) { \ class GVAR(Return) { \
displayName = CSTRING(Return); \ displayName = CSTRING(Return); \
condition = QUOTE([ARR_1(_player)] call FUNC(canConnectNozzle)); \ condition = QUOTE([ARR_1(_player)] call FUNC(canConnectNozzle)); \
statement = QUOTE([ARR_2(_player,_target)] call DFUNC(connectNozzle)); \ statement = QUOTE([ARR_2(_player,_target)] call DFUNC(returnNozzle)); \
exceptions[] = {"isNotInside"}; \ exceptions[] = {"isNotInside"}; \
icon = PATHTOF(ui\icon_refuel_interact.paa); \ icon = PATHTOF(ui\icon_refuel_interact.paa); \
}; \ }; \

View File

@ -13,6 +13,7 @@ PREP(connectNozzleAction);
PREP(disconnect); PREP(disconnect);
PREP(getFuel); PREP(getFuel);
PREP(moduleRefuelSettings); PREP(moduleRefuelSettings);
PREP(returnNozzle);
PREP(setFuel); PREP(setFuel);
PREP(takeNozzle); PREP(takeNozzle);
PREP(turnOff); PREP(turnOff);

View File

@ -81,14 +81,6 @@ _weaponSelect = _unit getVariable QGVAR(selectedWeaponOnRefuel);
_unit selectWeapon _weaponSelect; _unit selectWeapon _weaponSelect;
_unit setVariable [QGVAR(selectedWeaponOnRefuel), nil]; _unit setVariable [QGVAR(selectedWeaponOnRefuel), nil];
_source = _nozzle getVariable QGVAR(source);
if (_source == _target) exitWith {
_source setVariable [QGVAR(isConnected), false, true];
ropeDestroy (_nozzle getVariable QGVAR(rope));
deleteVehicle _nozzle;
_unit setVariable [QGVAR(isRefueling), false];
};
_nozzle attachTo [_target, _endPosTestOffset]; _nozzle attachTo [_target, _endPosTestOffset];
_nozzle setVariable [QGVAR(sink), _target, true]; _nozzle setVariable [QGVAR(sink), _target, true];
_nozzle setVariable [QGVAR(fueling), 1, true]; _nozzle setVariable [QGVAR(fueling), 1, true];
@ -96,4 +88,4 @@ _target setVariable [QGVAR(nozzle), _nozzle, true];
[_unit, _target, _nozzle] call FUNC(refuel); [_unit, _target, _nozzle] call FUNC(refuel);
true true

View File

@ -0,0 +1,33 @@
/*
* Author: GitHawk et.al., Jonpas
* Returns the nozzle back to source vehicle.
*
* Arguments:
* 0: Player <OBJECT>
* 1: Target <OBJECT>
*
* Return Value:
* Returned Nozzle <BOOL>
*
* Example:
* [player] call ace_refuel_fnc_returnNozzle
*
* Public: No
*/
#include "script_component.hpp"
private ["_nozzle"];
params ["_unit", "_target"];
_source = _nozzle getVariable QGVAR(source);
_nozzle = _unit getVariable QGVAR(nozzle);
if (_source != _target || {isNil "_nozzle"}) exitWith {false};
_source setVariable [QGVAR(isConnected), false, true];
ropeDestroy (_nozzle getVariable QGVAR(rope));
deleteVehicle _nozzle;
_unit setVariable [QGVAR(isRefueling), false];
true