/** * fn_sendRequest_f.sqf * @Descr: Send a request to an unit and execute code based upon results. * @Author: Glowbal * * @Arguments: [caller OBJECT, target OBJECT, requestID STRING, requestMessage STRING (Will be localized for other target object), callback CODE (Code called upon accept or decline.)] * @Return: void * @PublicAPI: true */ #include "script_component.hpp" private ["_caller", "_target", "_requestMessage", "_requestID", "_callBack"]; _caller = _this select 0; _target = _this select 1; _requestID = _this select 2; _requestMessage = _this select 3; _callBack = _this select 4; if (isPlayer _target) then { // Pass request on to target locality for player accept/decline. [[_caller, _target, _requestID, _requestMessage, _callBack], QUOTE(FUNC(receiveRequest)), _target, false] call EFUNC(common,execRemoteFnc); } else { // accept it, since it's an AI. [_caller, _target, true] call compile _callBack; };