BNRG fnc getOwnerFromClient
Jump to navigation
Jump to search
BNRG_fnc_getOwnerFromClient
Allows a client to get accurate owner ids
Use
Syntax
[queriedObject,queryRecipiantObject] spawn BNRG_fnc_getOwnerFromClient
queriedObject (optional) - Object -
queryRecipiantObject (optional) - Object -
Examples
[] spawn BNRG_fnc_getOwnerFromClient
[_obj] spawn BNRG_fnc_getOwnerFromClient
[_obj,otherPlayer] spawn BNRG_fnc_getOwnerFromClient
Code
BNRG_GetOwnerFromClient = { _requestedObject = [_this, 0, player,[player]] call BIS_fnc_param; _requestor = [_this, 1, player,[player]] call BIS_fnc_param; call Compile format ["BNRG_fnc_ClientGetOwner_ID_%1 = nil",getplayeruid _requestor]; BNRG_GetOwnerFromClient_RETURN = nil; [[[_requestedObject,_requestor], { if (isServer) then { _BNRG_fnc_SendOwnerToClient = compile format[' BNRG_fnc_ClientGetOwner_ID_%1 = owner (_this select 0); _BNRG_fnc_ClientGetOwner_ID_Requestor = owner (_this select 1); _BNRG_fnc_ClientGetOwner_ID_Requestor publicVariableClient "BNRG_fnc_ClientGetOwner_ID_%1"; BNRG_fnc_ClientGetOwner_ID_%1 = nil; ',getplayeruid (_this select 0)]; [_this select 0, _this select 1] call _BNRG_fnc_SendOwnerToClient; }; }], "BIS_fnc_spawn", true, false, false] call BIS_fnc_MP; BNRG_GetOwnerFromClient_RETURN = call Compile format ["waitUntil {!isNil 'BNRG_fnc_ClientGetOwner_ID_%1'}; BNRG_fnc_ClientGetOwner_ID_%1;",getplayeruid _requestor]; waitUntil {!isNil 'BNRG_GetOwnerFromClient_RETURN'} call Compile format ["BNRG_fnc_ClientGetOwner_ID_%1 = nil",getplayeruid _requestor]; };
Return
Use BNRG_GetOwnerFromClient_RETURN to get return value NUMBER