Epoch/Sources/epoch_code/init/client_init.sqf
2019-04-04 21:14:56 +02:00

111 lines
3.5 KiB
Plaintext

/*
Author: Aaron Clark - EpochMod.com
Contributors:
Description:
Initalize variables used client side and start login FSM
Licence:
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
Github:
https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/init/client_init.sqf
*/
EPOCH_Vehicle_MaintainLock = false;
EPOCH_CraftingItem = "";
EPOCH_ESP_TARGETS = [];
EPOCH_ESPMAP_TARGETS = [];
EPOCH_ESPGROUPS = [];
EPOCH_ESPGROUPCOLORS = [];
EPOCH_ESP_PLAYER = false;
EPOCH_ESP_VEHICLES = false;
EPOCH_ESP_VEHICLEPLAYER = [];
EPOCH_group_level_img = ["x\addons\a3_epoch_code\data\owner.paa", "x\addons\a3_epoch_code\data\mod.paa", "x\addons\a3_epoch_code\data\member.paa"];
if (isNil 'EPOCH_diag_fps') then {
EPOCH_diag_fps = 0;
};
EPOCH_lastTrash = diag_tickTime;
EPOCH_tradeDone = false;
EPOCH_bankBalance = 0;
EPOCH_antiWallCount = 0;
EPOCH_lastTargetTime = diag_tickTime;
EPOCH_arr_countdown = [];
EP_light = objNull;
EPOCH_p2ptradeTarget = objNull;
EPOCH_Holstered = "";
Epoch_invited_GroupUID = "";
Epoch_invited_GroupName = "";
Epoch_invited_GroupUIDs = [];
Epoch_invited_GroupUIDsPrev = [];
Epoch_my_Group = [];
Epoch_invited_tempGroupUID = "";
Epoch_invited_tempGroupName = "";
Epoch_invited_tempGroupUIDs = [];
Epoch_invited_tempGroupUIDsPrev = [];
Epoch_my_tempGroup = [];
EPOCH_prevOffer = [];
EPOCH_drawIcon3d = false;
EPOCH_velTransform = false;
EPOCH_stabilityTarget = objNull;
EPOCH_currentTarget = objNull;
EPOCH_currentTargetMode = 0;
EPOCH_LootedBlds = [];
EPOCH_lootObjects = [];
EPOCH_soundLevel = 1;
EPOCH_arr_interactedObjs = [];
EPOCH_buildOption = 0;
EPOCH_nearestLocations = [];
EPOCH_lastFiredLocation = [];
EPOCH_IsAutoRunning = false;
EPOCH_Earplugsin = false;
EPOCH_LastAutoRunKeyPressed = diag_ticktime;
EPOCH_PlayerMarkerOn = false;
EPOCH_DeathMarkerOn = false;
//Radiation
EPOCH_geiger_shown = false;
EPOCH_geiger_mute_counter = true;
EPOCH_geiger_mute_warning = true;
EPOCH_ambientRadiation = 0; //TODO: needs to go server side. Adds constant incremental radiation to all players. Use in special events.
rmx_var_drag_MouseDown = false;
rmx_var_dynamicHUD_groups = [];
rmx_var_dynamicHUD_groupCTRL = [];
//Favorites bar
EPOCH_favBar_itemConsumed = false;
rmx_var_favBar_Item = "";
EPOCH_modKeys = [false,false,false];
["EPOCH_onEachFrame", "onEachFrame", EPOCH_onEachFrame] call BIS_fnc_addStackedEventHandler;
// Custom Keys
EPOCH_keysActionPressed = false; //prevents EH spam
0 call EPOCH_clientKeyMap;
// load some frequently used configs to variables
EPOCH_maxBuildingHeight = ["CfgEpochClient", "maxBuildingHeight", 100] call EPOCH_fnc_returnConfigEntryV2;
EPOCH_MaxBuildingTilt = ["CfgEpochClient", "MaxBuildingTilt", 180] call EPOCH_fnc_returnConfigEntryV2;
Epoch_NuisanceMulti = ["CfgEpochClient", "NuisanceMulti", 0.5] call EPOCH_fnc_returnConfigEntryV2;
// Use Eventhandler "Fired" on Reviver instead of Eventhandler "HandeDamage" on Client to be revived for Heal / Revive Player
EPOCH_OldRevive = ["CfgEpochClient", "UseOldRevive", false] call EPOCH_fnc_returnConfigEntryV2;
//ON INIT and RESPAWN
call EPOCH_clientInit;
[] execFSM "epoch_code\system\player_login.fsm";
if (isclass (configFile >> "CfgPatches" >> "ace_common")) then {
if (["CfgEpochClient", "DisableDoorInteractForACE", true] call EPOCH_fnc_returnConfigEntryV2) then {
[] spawn {
private _start = diag_ticktime;
waituntil {!isnil "MACRO_DOOR_REACH_DISTANCE" || diag_ticktime - _start > 90};
MACRO_DOOR_REACH_DISTANCE = -1;
};
};
};
true