BNRG fnc getOwnerFromClient: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(formatting) |
||
Line 1: | Line 1: | ||
[[category:Arma 3 Functions]] | |||
=BNRG_fnc_getOwnerFromClient= | =BNRG_fnc_getOwnerFromClient= | ||
Allows a client to get accurate owner ids | Allows a client to get accurate owner ids | ||
Line 4: | Line 5: | ||
=Use= | =Use= | ||
==Syntax== | ==Syntax== | ||
[queriedObject,queryRecipiantObject] spawn BNRG_fnc_getOwnerFromClient | [queriedObject,queryRecipiantObject] spawn '''BNRG_fnc_getOwnerFromClient''' | ||
queriedObject (optional) - Object - <br> | queriedObject (optional) - Object - <br> | ||
queryRecipiantObject (optional) - Object - | queryRecipiantObject (optional) - Object - | ||
==Examples== | ==Examples== | ||
[] spawn BNRG_fnc_getOwnerFromClient | [] spawn '''BNRG_fnc_getOwnerFromClient''' | ||
[_obj] spawn '''BNRG_fnc_getOwnerFromClient''' | |||
[_obj,otherPlayer] spawn '''BNRG_fnc_getOwnerFromClient''' | |||
=Code= | |||
BNRG_GetOwnerFromClient_RETURN = call Compile format ["waitUntil {!isNil 'BNRG_fnc_ClientGetOwner_ID_%1'}; BNRG_fnc_ClientGetOwner_ID_%1;",getplayeruid _requestor]; | '''BNRG_GetOwnerFromClient''' = { | ||
waitUntil {!isNil 'BNRG_GetOwnerFromClient_RETURN'} | |||
call Compile format ["BNRG_fnc_ClientGetOwner_ID_%1 = nil",getplayeruid _requestor]; | _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= | =Return= | ||
Use BNRG_GetOwnerFromClient_RETURN to get return value NUMBER | Use '''BNRG_GetOwnerFromClient_RETURN''' to get return value NUMBER |
Latest revision as of 20:15, 27 March 2015
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