From 4447e1430fc3d9f0473218a7c5bf921e11ffb25c Mon Sep 17 00:00:00 2001 From: AndreasBrostrom Date: Thu, 3 Aug 2023 19:49:25 +0200 Subject: [PATCH] Added event handler for zeus creation and logging for clearing --- cScripts/functions/init/fn_init_vehicle.sqf | 17 +++++++++++++++++ cScripts/functions/vehicle/fn_vehicle_reset.sqf | 5 +++++ 2 files changed, 22 insertions(+) diff --git a/cScripts/functions/init/fn_init_vehicle.sqf b/cScripts/functions/init/fn_init_vehicle.sqf index 869e6a95a..7ce066e22 100644 --- a/cScripts/functions/init/fn_init_vehicle.sqf +++ b/cScripts/functions/init/fn_init_vehicle.sqf @@ -44,3 +44,20 @@ if !(EGVAR(Settings,enableVehicleSystem)) exitWith {}; _vehicle remoteExec [QEFUNC(vehicle,addRadio), 2]; }]; } forEach allCurators; + +["ace_zeusCreated", { + if (isNull{player setVariable [QEGVAR(player,zeus), false]}) exitWith {}; + player setVariable [QEGVAR(player,zeus), true]; + player addEventHandler ["CuratorObjectPlaced", { + params ["", "_vehicle"]; + if (_vehicle iskindOf "man") exitWith {}; + waitUntil {!isNull _vehicle && _vehicle == _vehicle;}; + _vehicle remoteExec [QEFUNC(vehicle,reset), 0, true]; + _vehicle remoteExec [QEFUNC(vehicle,addFunctions), -2, true]; + _vehicle remoteExec [QEFUNC(vehicle,addInventory), 2]; + _vehicle remoteExec [QEFUNC(vehicle,addDefaultLoadout), 2]; + _vehicle remoteExec [QEFUNC(vehicle,addCosmetics), 2]; + _vehicle remoteExec [QEFUNC(vehicle,addStagingActions), -2]; + _vehicle remoteExec [QEFUNC(vehicle,addRadio), 2]; + }]; +}] call CBA_fnc_addEventHandler; \ No newline at end of file diff --git a/cScripts/functions/vehicle/fn_vehicle_reset.sqf b/cScripts/functions/vehicle/fn_vehicle_reset.sqf index 4f6da1f01..1c988ba2a 100644 --- a/cScripts/functions/vehicle/fn_vehicle_reset.sqf +++ b/cScripts/functions/vehicle/fn_vehicle_reset.sqf @@ -16,6 +16,11 @@ params [["_vehicle", objNull, [objNull]]]; if (!isServer) exitWith {}; if (_vehicle iskindOf "man") exitWith {}; +#ifdef DEBUG_MODE + [formatText["Clearing systems on vehicle %1.", _vehicle], "Vehicle Reset"] call FUNC(info); +#endif + + // Clear cosmetics and labels private _labels = _vehicle getVariable [QEGVAR(Vehicle,Labels), []]; if (count _labels != 0) then {{deleteVehicle _x} forEach _labels;};