Biuld 147

Bug fixes only
No change in content or major change in functionality.
This commit is contained in:
Ghostrider-GRG- 2018-07-21 17:04:50 -04:00
parent 52a9845b50
commit b63047acf7
12 changed files with 1527 additions and 115 deletions

View File

@ -18,7 +18,7 @@ params["_unit","_killer"];
private["_reward","_maxReward","_dist","_killstreakReward","_distanceBonus","_newKillerScore","_newKillerFrags","_money"];
//diag_log format["[blckeagles] rewardKiller:: - _modType = %1",_modType];
//diag_log format["[blckeagls] rewardKiller:: - _modType = %1",_modType];
//if (_modType isEqualTo "Epoch") exitWith {}; // Have players pull crypto from AI bodies now that this feature is available.
if (blck_modType isEqualTo "Epoch") then

View File

@ -36,8 +36,8 @@ blck_fnc_missionCompleteMarker = compileFinal preprocessFileLineNumbers "\q\add
blck_fnc_deleteMarker = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_deleteMarker.sqf";
blck_fnc_updateMarkerAliveCount = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_updateMarkerAliveCount.sqf";
blck_fnc_addMoneyToObject = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_addMoneyToObject.sqf";
// GMS_fnc_addMoneyToObject
//blck_fnc_updateAllMarkerAliveCounts = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\updateAllMarkerAliveCounts.sqf"; // GMS_fnc_updateAllMarkerAliveCounts
//blck_fnc_getTraderCitiesEpoch = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitiesEpoch.sqf";
//blck_fnc_getTraderCitesExile = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesExile.sqf";
#ifdef GRGserver
blck_fnc_broadcastServerFPS = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_broadcastServerFPS.sqf";

View File

@ -541,7 +541,8 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
"WhiskeyNoodle","ItemSodaAlpineDude","ItemSodaOrangeSherbet","ItemSodaPurple","ItemSodaMocha","ItemSodaBurst","ItemSodaRbull","FoodWalkNSons"
];
blck_Food = [
"HotAxeSauce_epoch","gyro_wrap_epoch","icecream_epoch","redburger_epoch","bluburger_epoch","krypto_candy_epoch","ItemBakedBeans","ItemRiceBox","ItemPowderMilk","ItemCereals","FoodBioMeat","FoodMeeps","FoodSnooter","sardines_epoch","meatballs_epoch","scam_epoch","sweetcorn_epoch","honey_epoch","CookedSheep_EPOCH","CookedGoat_EPOCH","SnakeMeat_EPOCH",
"HotAxeSauce_epoch","gyro_wrap_epoch","icecream_epoch","redburger_epoch","bluburger_epoch","krypto_candy_epoch","ItemBakedBeans","ItemRiceBox","ItemPowderMilk","ItemCereals",
"FoodBioMeat","FoodMeeps","FoodSnooter","sardines_epoch","meatballs_epoch","scam_epoch","sweetcorn_epoch","honey_epoch","CookedSheep_EPOCH","CookedGoat_EPOCH","SnakeMeat_EPOCH",
"CookedRabbit_EPOCH","CookedChicken_EPOCH","CookedDog_EPOCH","ItemTroutCooked","ItemSeaBassCooked","ItemTunaCooked","TacticalBacon"
];
blck_ConsumableItems = blck_Meats + blck_Drink + blck_Food;
@ -550,8 +551,13 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
blck_explosives = blck_throwableExplosives + blck_otherExplosives;
blck_medicalItems = ["FAK"];
blck_specialItems = blck_throwableExplosives + blck_medicalItems;
blck_NVG = ["NVG_EPOCH"];
blck_epochValuables = ["PartOreGold","PartOreSilver","PartOre","ItemGoldBar","ItemGoldBar2oz","ItemGoldBar3oz","ItemGoldBar4oz","ItemGoldBar5oz","ItemGoldBar6oz","ItemGoldBar7oz","ItemGoldBar8oz","ItemGoldBar9oz","ItemGoldBar10oz","ItemSilverBar","ItemSilverBar2oz","ItemSilverBar3oz","ItemSilverBar4oz","ItemSilverBar5oz","ItemSilverBar6oz","ItemSilverBar7oz","ItemSilverBar8oz","ItemSilverBar9oz","ItemSilverBar10oz","ItemAluminumBar","ItemAluminumBar10oz","ItemCopperBar","ItemCopperBar10oz","ItemTinBar","ItemTinBar10oz","ItemTopaz","ItemOnyx","ItemSapphire","ItemAmethyst","ItemEmerald","ItemCitrine","ItemRuby","ItemQuartz","ItemJade","ItemGarnet","ItemKiloHemp"];
blck_medicalItems = ["FAK","ItemVitamins","morphine_epoch","iodide_pills_epoch","adrenaline_epoch","caffeinepills_epoch","orlistat_epoch",
"atropine_epoch","ItemWaterPurificationTablets","ItemPainKillers"," ItemDefibrillator ","ItemBloodBag_Empty",
"ItemBloodBag_Full","ItemAntibiotic","nanite_cream_epoch ","nanite_gun_epoch","nanite_pills_epoch"];
blck_epochValuables = ["PartOreGold","PartOreSilver","PartOre","ItemGoldBar","ItemSilverBar",
"ItemGoldBar10oz","ItemTopaz","ItemOnyx","ItemSapphire","ItemAmethyst",
"ItemEmerald","ItemCitrine","ItemRuby","ItemQuartz","ItemJade",
"ItemGarnet","ItemKiloHemp"];
blck_epochBuildingSupplies = ["PartPlankPack","ItemPlywoodPack","CinderBlocks","MortarBucket","ItemScraps",
"ItemCorrugated","ItemCorrugatedLg","CircuitParts","WoodLog_EPOCH","ItemRope","ItemStick","ItemRock","ItemBurlap","ItemBulb","ItemSolar","ItemCables","ItemBattery","Pelt_EPOCH","JackKit","ItemCanvas","ItemSeedBag","ItemPipe"];
blck_epochVehicleRepair = ["EngineParts","FuelTank","SpareTire","ItemGlass",

View File

@ -355,8 +355,8 @@
waitUntil {(isNil "blck_configsEpochLoaded") isEqualTo false;};
waitUntil{blck_configsEpochLoaded};
blck_configsEpochLoaded = nil;
diag_log "[blckeagles] Running getTraderCitiesEpoch to get location of trader cities";
execVM "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesEpoch.sqf";
//diag_log "[blckeagls] Running getTraderCitiesEpoch to get location of trader cities";
//execVM "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesEpoch.sqf";
};
if (_modType isEqualTo "Exile") then
{
@ -365,7 +365,7 @@
waitUntil {(isNil "blck_configsExileLoaded") isEqualTo false;};
waitUntil{blck_configsExileLoaded};
blck_configsExileLoaded = nil;
if (blck_blacklistTraderCities || blck_blacklistSpawns || blck_listConcreteMixerZones) then {execVM "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesExile.sqf";};
//if (blck_blacklistTraderCities || blck_blacklistSpawns || blck_listConcreteMixerZones) then {execVM "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesExile.sqf";};
};
if (blck_useConfigsGeneratedLoadouts) then
{

View File

@ -3,7 +3,6 @@
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last Modified 3-14-17
--------------------------
License
@ -17,6 +16,10 @@
diag_log "[blckeagls] Loading Configuration Overides";
/*
See the examples below as a guide for adding configs that are unique for each of several servers.
*/
/*
private["_startTime"];
_startTime = diag_tickTime;
_world = toLower format ["%1", worldName];
@ -26,7 +29,6 @@ switch (_world) do {
case "napf":{_nightAccel = 12; _dayAccel = 2;_duskAccel = 6;};
case "namalsk":{_nightAccel = 12; _dayAccel = 2;_duskAccel = 6;};
case "tanoa":{_nightAccel = 12; _dayAccel = 3.2;_duskAccel = 6;};
case "namalsk":{_nightAccel = 12; _dayAccel = 2; _duskAccel = 6;};
};
switch (toLower (worldName)) do
@ -80,9 +82,9 @@ switch (toLower (worldName)) do
blck_maxCrashSites = 1; // recommended settings: 3 for Altis, 2 for Tanoa, 1 for smaller maps. Set to -1 to disable
blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below.
blck_timeAccelerationDay = 2; // Daytime time accelearation
blck_timeAccelerationDusk = 6; // Dawn/dusk time accelearation
blck_timeAccelerationNight = (12); // Nighttim time acceleration
blck_timeAccelerationDay = ((_serverUpTime + 2)/_daylight); // Daytime time accelearation
blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation
blck_timeAccelerationNight = (3/_nightTime); // Nighttim time acceleration
};
case "esseker":
{
@ -129,99 +131,13 @@ switch (toLower (worldName)) do
blck_maxCrashSites = 3;
};
};
if (blck_debugON || (blck_debugLevel > 0)) then // These variables are found in \custom_server\compiles\blck_variables.sqf
{
// Used primarily for debugging.
diag_log "[blckeagls] Debug seting is ON, Custom configurations used";
//blck_useTimeAcceleration = false; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below.
//blck_timeAccelerationDay = 1; // Daytime time accelearation
//blck_timeAccelerationDusk = 18; // Dawn/dusk time accelearation
//blck_timeAccelerationNight = 24; // Nighttim time acceleration
blck_useHC = true;
blck_maxSpawnedMissions = 15;
blck_mainThreadUpdateInterval = 10;
blck_enableOrangeMissions = 1;
blck_enableGreenMissions = 1;
blck_enableRedMissions = 1;
blck_enableBlueMissions = 1;
blck_numberUnderwaterDynamicMissions = 1;
blck_enableHunterMissions = 1;
blck_enableScoutsMissions = 1;
blck_maxCrashSites = 3;
blck_cleanupCompositionTimer = 20; // Time after mission completion at which items in the composition are deleted.
blck_AliveAICleanUpTimer = 20; // Time after mission completion at which any remaining live AI are deleted.
blck_bodyCleanUpTimer = 20;
blck_vehicleDeleteTimer = 20;
//blck_MissionTimeout = 30;
blck_noPatrolHelisOrange = 1;
blck_chanceHeliPatrolOrange = 1;
blck_chanceParaOrange = 1;
blck_chanceHeliPatrolBlue = -1;
blck_noPatrolHelisBlue = -1;
blck_chanceParaBlue = -1; // [0 - 1] set to 0 to deactivate and 1 to always have paratroops spawn over the center of the mission. This value can be a range as well [0.1,0.3]
blck_noParaBlue = 3; // [1-N]
blck_paraTriggerDistanceBlue = 400;
//blck_chanceHeliPatrolBlue = 1;
blck_SpawnEmplaced_Orange = 1; // Number of static weapons at Orange Missions
blck_SpawnEmplaced_Green = 1; // Number of static weapons at Green Missions
blck_SpawnEmplaced_Blue = 1; // Number of static weapons at Blue Missions
blck_SpawnEmplaced_Red = 1;
blck_SpawnVeh_Orange = 1; // Number of vehicles at Orange Missions
blck_SpawnVeh_Green = 1; // Number of vehicles at Green Missions
blck_SpawnVeh_Blue = 1; // Number of vehicles at Blue Missions
blck_SpawnVeh_Red = 1;
blck_TMin_Blue = 7;
blck_TMin_Red = 10;
blck_TMin_Green = 13;
blck_TMin_Orange = 16;
blck_TMin_Hunter = 20;
blck_TMin_Scouts = 20;
blck_TMin_Crashes = 5;
blck_TMin_UMS = 20;
//Maximum Spawn time between missions in seconds
blck_TMax_Blue = 12;
blck_TMax_Red = 15;
blck_TMax_Green = 17;
blck_TMax_Orange = 21;
blck_TMax_Hunter = 22;
blck_TMax_Scouts = 22;
blck_TMax_Crashes = 15;
blck_TMax_UMS = 25;
//blck_MinAI_Orange = 1;
//blck_MaxAI_Orange = 2;
//blck_AIGrps_Orange = 1;
blck_MinAI_Blue = 1;
blck_MaxAI_Blue = 2;
blck_AIGrps_Blue = 1;
blck_AIPatrolVehicles = ["Exile_Car_MB4WDOpen"];
/*
blck_SkillsBlue = [
["aimingAccuracy",0.01],
["aimingShake",0.01],
["aimingSpeed",0.01],
["endurance",0.01],
["spotDistance",0.01],
["spotTime",0.01],
["courage",0.01],
["reloadSpeed",0.80],
["commanding",0.8],
["general",1.00]
];
*/
};
/*
You can define configs for additional mods or loadouts here
*/
/*
blck_CUPWeapons = [
"CUP_lmg_L7A2",
"CUP_lmg_L110A1",
@ -1350,3 +1266,4 @@ blck_NIA_WeaponsSniper = [
"hlc_rifle_psg1",
"hlc_rifle_psg1A1"
];
*/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,69 @@
/*
Determine the map name, set the map center and size, and return the map name.
Trader coordinates were pulled from the config.cfg
Inspired by the Vampire and DZMS
Last Modified 9/3/16
--------------------------
License
--------------------------
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
private["_blck_WorldName"];
_blck_WorldName = toLower format ["%1", worldName];
_blck_worldSize = worldSize;
diag_log format["[blckeagls] Loading Map-specific settings with worldName = %1",_blck_WorldName];
switch (_blck_WorldName) do
{// These may need some adjustment - including a test for shore or water should help as well to avoid missions spawning on water.
case "altis":{
diag_log "[blckeagls] Altis-specific settings for Epoch loaded";
blck_mapCenter = [6322,7801,0];
blck_mapRange = 21000;
};
case "stratis":{
diag_log "[blckeagls] Stratis-specific settings loaded";
blck_mapCenter = [6322,7801,0];
blck_mapRange = 4500;
}; // Add Central, East and West respawns/traders
case "chernarus":{
diag_log "[blckeagls] Chernarus-specific settings loaded";
blck_mapCenter = [7100, 7750, 0]; //centerPosition = {7100, 7750, 300};
blck_mapRange = 5300;
};
case "chernarus_summer":{blck_mapCenter = [7100, 7750, 0]; blck_mapRange = 6000;};
case "bornholm":{
//diag_log "Bornholm-specific settings loaded";
blck_mapCenter = [11240, 11292, 0];
blck_mapRange = 14400;
};
case "esseker":{
diag_log "Esseker-specific settings loaded";
blck_mapCenter = [6049.26,6239.63,0]; //centerPosition = {7100, 7750, 300};
blck_mapRange = 6000;
};
case "taviana":{blck_mapCenter = [10370, 11510, 0];blck_mapRange = 14400;};
case "namalsk":{blck_mapCenter = [4352, 7348, 0];blck_mapRange = 10000;};
case "napf": {blck_mapCenter = [10240,10240,0]; blck_mapRange = 14000}; // {_centerPos = [10240, 10240, 0];_isMountainous = true;_maxHeight = 50;};
case "australia": {blck_mapCenter = [20480,20480, 150];blck_mapRange = 40960;};
case "panthera3":{blck_mapCenter = [4400, 4400, 0];blck_mapRange = 4400;};
case "isladuala":{blck_mapCenter = [4400, 4400, 0];blck_mapRange = 4400;};
case "sauerland":{blck_mapCenter = [12800, 12800, 0];blck_mapRange = 12800;};
case "trinity":{blck_mapCenter = [6400, 6400, 0];blck_mapRange = 6400;};
case "utes":{blck_mapCenter = [3500, 3500, 0];blck_mapRange = 3500;};
case "zargabad":{blck_mapCenter = [4096, 4096, 0];blck_mapRange = 4096;};
case "fallujah":{blck_mapCenter = [3500, 3500, 0];blck_mapRange = 3500;};
case "tavi":{blck_mapCenter = [10370, 11510, 0];blck_mapRange = 14090;};
case "lingor":{blck_mapCenter = [4400, 4400, 0];blck_mapRange = 4400;};
case "takistan":{blck_mapCenter = [5500, 6500, 0];blck_mapRange = 5000;};
case "lythium":{blck_mapCenter = [10000,10000,0];blck_mapRange = 8500;};
case "malden":{blck_mapCenter = [6000,7000,0];blck_mapRange = 5500;};
default {_blck_WorldName = "default";blck_mapCenter = [6322,7801,0]; blck_mapRange = 6000};
};
blck_worldSet = true;

View File

@ -0,0 +1,62 @@
// pull trader cities from config
/*
By Ghostrider [GRG]
--------------------------
License
--------------------------
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
if (blck_modType isEqualTo "Epoch") then
{
_blckListPrior = blck_locationBlackList;
private _config = configFile >> "CfgEpoch";
private _configWorld = _config >> worldname;
private _telePos = getArray(configFile >> "CfgEpoch" >> worldName >> "telePos" );
//diag_log format["[blckeagls] _fnc_getTraderCities: _config = %1 | _configWorld = %2",_config,_configWorld];
//diag_log format["[blckegle] _fnc_getTraderCities: count _telePos = %1 || _telepos = %2",count _telePos,_telePos];
//if (true) exitWith {};
{
blck_locationBlackList pushback [_x select 3, 1000];
#ifdef blck_debugMode
if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getTraderCitiesEpoch:: -- >> Added epoch trader city location at %1", (_x select 3)];};
#endif
} foreach _telePos; // (getArray(_configWorld >> "telePos"));
diag_log format["[blckeagls] blckListPrior = %1",_blckListPrior];
diag_log format["[blckeagls] ] blck_locationBlackList = %1",blck_locationBlackList];
};
if (blck_modType isEqualTo "Exile") then
{
if (blck_blacklistTraderCities || blck_blacklistSpawns || blck_listConcreteMixerZones) then
{
private _traderCites = allMapMarkers;
private _tc = [];
{
//if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getExileLocations :: -- >> Evaluating Markertype of %1", (getMarkerType _x)];};
if (getMarkerType _x isEqualTo "ExileTraderZone" && blck_blacklistTraderCities) then {
blck_locationBlackList pushback [(getMarkerPos _x),1000];
#ifdef blck_debugMode
if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getExileLocations :: -- >> Added Exile Trader location at %1", (getMarkerPos _x)];};
#endif
};
if ((getMarkerType _x isEqualTo "ExileSpawnZone") && blck_blacklistSpawns) then {
blck_locationBlackList pushback [(getMarkerPos _x),1000];
#ifdef blck_debugMode
if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getExileLocations :: -- >> Added Exile Spawn location at %1", (getMarkerPos _x)];};
#endif
};
//
if (getMarkerType _x isEqualTo "ExileConcreteMixerZone" && blck_listConcreteMixerZones) then {
blck_locationBlackList pushback [(getMarkerPos _x),1000];
#ifdef blck_debugMode
if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getExileLocations :: -- >> Added Exile Concrete Mixer location at %1", (getMarkerPos _x)];};
#endif
};
}forEach _traderCites;
};
};

View File

@ -23,7 +23,7 @@ if !(isNil "blck_Initialized") exitWith{};
private["_blck_loadingStartTime"];
_blck_loadingStartTime = diag_tickTime;
#include "\q\addons\custom_server\init\build.sqf";
diag_log format["[blckeagls] Loading Version %2 Build Date %1",_blck_versionDate,_blck_version];
diag_log format["[blckeagls] Loading Headless Client Version %2 Build Date %1",_blck_versionDate,_blck_version];
call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_variables.sqf";
waitUntil {(isNil "blck_variablesLoaded") isEqualTo false;};

View File

@ -14,8 +14,7 @@ if ( !(isServer) || hasInterface) exitWith{};
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
if !(isNil "blck_Initialized") exitWith{};
private["_blck_loadingStartTime"];
_blck_loadingStartTime = diag_tickTime;
private _blck_loadingStartTime = diag_tickTime;
#include "\q\addons\custom_server\init\build.sqf";
diag_log format["[blckeagls] Loading Server Mission System Version %2 Build Date %1",_blck_versionDate,_blck_version];
@ -23,7 +22,6 @@ call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\bl
waitUntil {(isNil "blck_variablesLoaded") isEqualTo false;};
waitUntil{blck_variablesLoaded};
blck_variablesLoaded = nil;
//if !(blck_debugON) then {uiSleep 60;};
// compile functions
call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_functions.sqf";
@ -53,7 +51,7 @@ if (blck_spawnMapAddons) then
blck_spawnMapAddons = nil;
diag_log "[blckeagls] Loading Map-specific information";
execVM "\q\addons\custom_server\Compiles\Functions\GMS_fnc_findWorld.sqf";
execVM "\q\addons\custom_server\init\GMS_fnc_findWorld.sqf";
waitUntil {(isNil "blck_worldSet") isEqualTo false;};
waitUntil{blck_worldSet};
blck_worldSet = nil;
@ -72,7 +70,6 @@ diag_log "[blckegls] dynamic simulation manager enabled";
#else
diag_log "[blckegls] blckegls simulation manager enabled";
#endif
diag_log format["[blckeagls] version %1 Build %2 Loaded in %3 seconds",_blck_versionDate,_blck_version,diag_tickTime - _blck_loadingStartTime]; //,blck_modType];
diag_log format["blckeagls] waiting for players to join ---- >>>>"];
@ -84,7 +81,6 @@ if !(blck_debugON || (blck_debugLevel isEqualTo 0)) then
diag_log "[blckeagls] spawning Missions";
};
if (blck_spawnStaticLootCrates) then
{
// Start the static loot crate spawner
@ -98,6 +94,11 @@ if (blck_spawnStaticLootCrates) then
diag_log "[blckeagls] SLS:: -- >> Static Loot Spawner disabled";
};
if (true /*blck_blacklistTraderCities*/) then
{
execVM "\q\addons\custom_server\init\GMS_fnc_getTraderCites.sqf";
};
//Start the mission timers
if (blck_enableOrangeMissions > 0) then
{

View File

@ -1,6 +1,6 @@
private ["_version","_versionDate"];
blck_version = "6.84 Build 146";
blck_version = "6.84 Build 147";
_blck_version = blck_version;
_blck_versionDate = "7-7-18 5:00 PM";
_blck_versionDate = "7-21-18 5:00 PM";
blck_pvs_version = _blck_version;
publicVariable blck_pvs_version;

View File

@ -30,3 +30,8 @@ if(!(isServer) && !(hasInterface)) then
{
execVM "\q\addons\custom_server\init\blck_init_HC.sqf";
};
if ((!isServer) && (hasInterface)) then
{
diag_log "[blckeagls] <ERROR CONDITION: this mission system must be run on either a dedicated server or headless client";
};