ACE3/addons/spectator/XEH_postInit.sqf
SilentSpike 85c5fbabe9 Remove locations tab from spectator (#5431)
* Fix incorrect function input for spectator hiding
* Remove locations tab from spectator

- Doesn't add much value, adds complexity and the implementation is half
baked. Would rather add back in at a later date (if at all) with a
better implementation.
- I have an idea to replace the locations tab with a meta tab so users
can toggle things like projectile drawing via the UI and are not forced
to use a hotkey. Might also be a good place to display the extended controls.
2017-08-17 12:50:43 +01:00

41 lines
1.5 KiB
Plaintext

#include "script_component.hpp"
["ace_settingsInitialized", {
GVAR(availableModes) = [[0,1,2], [1,2], [0], [1], [2]] select GVAR(restrictModes);
GVAR(availableVisions) = [[-2,-1,0,1], [-2,-1], [-2,0,1], [-2]] select GVAR(restrictVisions);
}] call CBA_fnc_addEventHandler;
if (isServer) then {
// Create a radio channel for any spectators to text chat in
GVAR(channel) = radioChannelCreate [[0.729,0.149,0.098,1],"Spectator","Spectator (%UNIT_NAME)",[]];
publicVariable QGVAR(channel);
// Used by the template to transfer zeus to virtual unit
// Commands must be ran on server
[QGVAR(transferZeus),{
unassignCurator (_this select 1);
// Can only re-assign when ready
[
{isNull getAssignedCuratorUnit (_this select 0)},
{(_this select 0) assignCurator (_this select 1)},
_this
] call CBA_fnc_waitUntilAndExecute;
}] call CBA_fnc_addEventHandler;
};
[QGVAR(stageSpectator), FUNC(stageSpectator)] call CBA_fnc_addEventHandler;
// Delay until local player (must not be ACE_Player) is fully initalized
[
{ !isNil { player } && { !isNull player } },
{
// Initalise virtual spectator players (must not be ACE_Player)
[QGVAR(virtual),"initpost",{
if !(GVAR(isSet)) then {
if (player == (_this select 0)) then { [true] call FUNC(setSpectator) };
};
},false,[],true] call CBA_fnc_addClassEventHandler;
},[]
] call CBA_fnc_waitUntilAndExecute;