#include "..\script_component.hpp" params ["_type"]; // string of the object's classname if (!(_type isKindOf "CAManBase")) exitWith {}; if ( (localNamespace getVariable [QGVAR(fileForReinsertClassesAdded), []]) find _type != -1 ) exitWith {}; private _fileForReinsertAction = [ QGVAR(fileReinsertRequestAction), "File Re-insert Request", "\A3\ui_f\data\igui\cfg\simpleTasks\types\takeoff_ca.paa", { // statement params ["_target", "_player", "_params"]; // find nearest base or location private _base = [_player] call EFUNC(common,getNearestBase); private _baseName = [_base] call EFUNC(common,getNameOfBase); // send event to server [QGVAR(fileReinsertRequest), [_player, _base]] call CBA_fnc_serverEvent; // notify player their request was filed [["Re-insert Request Filed"], [format["Location: %1", _baseName]]] call CBA_fnc_notify; }, { // condition params ["_target", "_player", "_params"]; // find nearest base or location private _base = [_player] call EFUNC(common,getNearestBase); private _baseDistance = _player distance _base; private _maxRangeToReady = missionNamespace getVariable [QGVAR(setting_maxRangeToReady), 400]; private _existingQueue = missionNamespace getVariable [QGVAR(reinsertionQueue), []]; // check if module is enabled, player is near a base, and player is not already in the queue // (serverTime - GVAR(missionStartServerTime)) > 60*5 && // only allow after 15 minutes missionNamespace getVariable ["milsim_reinsert_setting_reinsertion_enabled", true] && (_baseDistance < _maxRangeToReady) && not (_player in (_existingQueue apply {_x#0})) } ] call ace_interact_menu_fnc_createAction; [_type, 1, ["ACE_SelfActions"], _fileForReinsertAction, true] call ace_interact_menu_fnc_addActionToClass; private _removeFileForReinsertAction = [ QGVAR(removeReinsertRequestAction), "Remove Re-insert Request", "\A3\ui_f\data\igui\cfg\simpleTasks\types\land_ca.paa", { // statement params ["_target", "_player", "_params"]; // send event to server [QGVAR(removeReinsertRequest), [_player]] call CBA_fnc_serverEvent; // notify player their request was rescinded "Re-insert Request Rescinded" call CBA_fnc_notify; }, { // condition params ["_target", "_player", "_params"]; private _existingQueue = missionNamespace getVariable [QGVAR(reinsertionQueue), []]; // check if module is enabled, player is in the queue // (serverTime - GVAR(missionStartServerTime)) > 60*5 && // only allow after 15 minutes missionNamespace getVariable ["milsim_reinsert_setting_reinsertion_enabled", true] && (_player in (_existingQueue apply {_x#0})) } ] call ace_interact_menu_fnc_createAction; [_type, 1, ["ACE_SelfActions"], _removeFileForReinsertAction, true] call ace_interact_menu_fnc_addActionToClass; private _classesActionsAddedTo = (localNamespace getVariable [QGVAR(fileForReinsertClassesAdded), []]); _classesActionsAddedTo pushBackUnique _type; localNamespace setVariable [QGVAR(fileForReinsertClassesAdded), _classesActionsAddedTo];