mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
43958142b8
Fully customizable system. Base system laid out more so as an example. Included: -Murders -Deaths -Suicides -Revives -AIKills -AntagonistKills -ZombieKills -MissionsAttempted -CompletedMissions Client side stat change with optional send to server. Server side stat change with optional send to client. Server is backed up with token check if sent from client.
92 lines
3.1 KiB
Plaintext
92 lines
3.1 KiB
Plaintext
/*
|
|
Author: Aaron Clark - EpochMod.com
|
|
|
|
Contributors:
|
|
|
|
Description:
|
|
Init Server Variables
|
|
|
|
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_server/init/server_variables.sqf
|
|
*/
|
|
EPOCH_BuildingSlots = [];
|
|
EPOCH_TraderSlots = [];
|
|
EPOCH_saveBldQueue = [];
|
|
EPOCH_saveVehQueue = [];
|
|
EPOCH_saveStorQueue = [];
|
|
EPOCH_saveBuildQueue = [];
|
|
EPOCH_cleanupQueue = [];
|
|
EPOCH_defaultVars_SEPXVar = compileFinal str(EPOCH_defaultVars);
|
|
EPOCH_group_upgrade_lvl_SEPXVar = EPOCH_group_upgrade_lvl;
|
|
EPOCH_staticTraderLocations = [];
|
|
EPOCH_staticNPCTraderPos = [];
|
|
EPOCH_traderStoredVehicles = [];
|
|
EPOCH_traderStoredVehiclesCnt = [];
|
|
|
|
private _configArray = [
|
|
["serverRestart", false],
|
|
["forceRestartTime", 14400],
|
|
["StorageSlotsLimit",1500],
|
|
["BuildingSlotsLimit", 1500],
|
|
["StaticDateTime", []],
|
|
["timeDifference", 0],
|
|
["lootMultiplier", 0.5],
|
|
["WeatherStaticForecast", []],
|
|
["showEarthQuakes", true],
|
|
["showShippingContainers", true],
|
|
["cloneCost", 100],
|
|
["vehicleLockTime", 1800],
|
|
["antagonistChanceTrash", 0.09],
|
|
["antagonistChancePDeath", 0.33],
|
|
["antagonistChanceLoot", 0.09],
|
|
["taxRate", 0.1],
|
|
["starterTraderItems", [[], []]],
|
|
["SHOW_TRADERS", true],
|
|
["SHOW_JAMMERS", true],
|
|
["SHOW_BOATLOOT", true],
|
|
["NPCSlotsLimit", 50],
|
|
["forceStaticTraders", true],
|
|
["expiresBuilding", "604800"],
|
|
["expiresPlayer", "2592000"],
|
|
["expiresBank", "7776000"],
|
|
["expiresVehicle", "604800"],
|
|
["expiresAIdata", "604800"],
|
|
["expiresCommunityStats", "7776000"],
|
|
["hiveAdminCmdExec", false],
|
|
["hiveAdminSavePlayerList", true],
|
|
["hiveAdminCmdTime", 5],
|
|
["DEBUG_VEH", false],
|
|
["useOldLoadVehicles", false],
|
|
["enableUnitTestOnStart", 0],
|
|
["forcedVehicleSpawnTable",""],
|
|
["forcedLootSpawnTable",""]
|
|
];
|
|
|
|
EPOCH_fnc_returnConfigEntry = {
|
|
private["_defaultData", "_config", "_varData"];
|
|
_defaultData = _this select 2;
|
|
_varData = _defaultData;
|
|
if (isClass(_this select 0)) then{
|
|
_config = (_this select 0) >> (_this select 1);
|
|
_varData = switch (typeName _defaultData) do {
|
|
case "SCALAR": {if (isNumber (_config)) then { getNumber _config } else {_defaultData} };
|
|
case "BOOL": {if (isText (_config)) then {(getText _config) isEqualTo "true"} else {if (isNumber (_config)) then {(getNumber _config) isEqualTo 1} else {_defaultData}}};
|
|
case "ARRAY": {if (isArray (_config)) then { getArray _config } else {_defaultData} };
|
|
case "STRING": {if (isText (_config)) then { getText _config } else {_defaultData} };
|
|
default {_defaultData};
|
|
};
|
|
};
|
|
_varData
|
|
};
|
|
|
|
// Cast default vars to global vars
|
|
// Note: TODO not all of these should be cast to a global var to save memory. If used only once use config lookup.
|
|
private _serverSettingsConfig = configFile >> "CfgEpochServer";
|
|
{
|
|
private _varData = [_serverSettingsConfig,_x select 0,_x select 1] call EPOCH_fnc_returnConfigEntry;
|
|
missionNamespace setVariable[format["EPOCH_%1", _x select 0], _varData];
|
|
}forEach _configArray;
|