#include "..\script_component.hpp" /* * Author: IDSolutions * Sets the state of a player * * Arguments: * 0: Player * 1: Data * * Return Value: * Unit State * * Example: * [player, _data] call forge_client_common_fnc_actorStateSet * * Public: No */ params [["_player", objNull, [objNull]], ["_data", "", [""]]]; private _hash = createHashMap; if (isNull _player || _data isEqualTo "") exitWith { diag_log text format ["[FORGE:Player:Actor] Invalid player or data: %1", _player]; }; (parseSimpleArray _data) params ["_uid", "_loadout", "_pos", "_dir", "_stance", "_email", "_phone", "_bank", "_cash", "_state"]; _player setUnitLoadout _loadout; if !(isNil "_pos") then { _player setPosASL _pos; private _pAlt = ((getPosATLVisual player) select 2); private _pVelZ = ((velocity player) select 2); if (_pAlt > 5 && _pVelZ < 0) then { player setVelocity [0, 0, 0]; player setPosATL [((getPosATLVisual player) select 0), ((getPosATLVisual player) select 1), 1]; hint "You logged off mid air. You were moved to a safe position on the ground."; }; }; if !(isNil "_dir") then { _player setDir _dir; }; _player playAction _stance; SETPVAR(_player,FORGE_Phone,_phone); SETPVAR(_player,FORGE_Email,_email); SETPVAR(_player,FORGE_Bank,_bank); SETPVAR(_player,FORGE_Cash,_cash); SETPVAR(_player,FORGE_State,_state); _hash set ["uid", _uid]; _hash set ["loadout", _loadout]; _hash set ["position", _pos]; _hash set ["direction", _dir]; _hash set ["stance", _stance]; _hash set ["phone", _phone]; _hash set ["email", _email]; _hash set ["bank", _bank]; _hash set ["cash", _cash]; _hash set ["state", _state]; _hash