ACE3/addons/towing/XEH_postInit.sqf
Dystopian b54992b8fc
Towing - Fix some issues (#9007)
Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
Co-authored-by: LinkIsGrim <salluci.lovi@gmail.com>
2024-02-05 15:54:51 -03:00

41 lines
1.6 KiB
Plaintext

#include "script_component.hpp"
["MouseButtonUp", LINKFUNC(onMouseButtonUp)] call CBA_fnc_addDisplayHandler;
GVAR(mouseLeft) = false;
GVAR(mouseRight) = false;
GVAR(blockFireEHID) = -1;
[QGVAR(ropeAttachTo), {
params ["_child", "_relativeAttachPos", "_rope", "_helper"];
TRACE_4("ropeAttachTo",_child,_relativeAttachPos,_rope,_helper);
_helper ropeDetach _rope;
[_child, _relativeAttachPos] ropeAttachTo _rope;
deleteVehicle _helper;
}] call CBA_fnc_addEventHandler;
[QGVAR(attachVehicles), LINKFUNC(attachVehicles)] call CBA_fnc_addEventHandler;
[QGVAR(detachChild), LINKFUNC(detachChild)] call CBA_fnc_addEventHandler;
if (!isServer) exitWith {};
[QGVAR(cleanupParent), {
params ["_parent"];
TRACE_1("cleanupParent",_parent);
_parent removeEventHandler ["RopeBreak", _parent getVariable [QGVAR(RopeBreakEHID), -1]];
_parent setVariable [QGVAR(RopeBreakEHID), -1];
private _parentParentHooks = _parent getVariable [QGVAR(parentHooks), []];
if (_parentParentHooks isEqualTo []) then {
TRACE_1("remove Deleted EH",_parent);
_parent removeEventHandler ["Deleted", _parent getVariable [QGVAR(DeletedEHID), -1]];
_parent setVariable [QGVAR(DeletedEHID), -1];
};
}] call CBA_fnc_addEventHandler;
addMissionEventHandler ["PlayerConnected", {
if (GVAR(allChildren) isEqualTo []) exitWith {};
params ["", "", "", "_jip", "_owner"];
if (!_jip) exitWith {};
TRACE_2("pushing children",_owner,GVAR(allChildren));
[QGVAR(setTowParentAllChildren), [GVAR(allChildren)], _owner] call CBA_fnc_ownerEvent;
}];