Build 164

More bug fixes and code cleanup.
This commit is contained in:
Chris Cardozo 2018-11-22 04:31:36 -05:00
parent abbd0b096c
commit 4c94e9e42c
17 changed files with 75 additions and 228 deletions

View File

@ -25,9 +25,6 @@ while {true} do
if (diag_tickTime > _timer1sec) then if (diag_tickTime > _timer1sec) then
{ {
[] call blck_fnc_vehicleMonitor; [] call blck_fnc_vehicleMonitor;
#ifdef GRGserver
[] call blck_fnc_broadcastServerFPS;
#endif
_timer1sec = diag_tickTime + 1; _timer1sec = diag_tickTime + 1;
}; };
if (diag_tickTime > _timer5sec) then if (diag_tickTime > _timer5sec) then

View File

@ -14,7 +14,7 @@
params["_coords","_missionLandscape",["_min",3],["_max",15],["_nearest",1]]; params["_coords","_missionLandscape",["_min",3],["_max",15],["_nearest",1]];
private["_objects","_wreck","_dir","_dirOffset"]; private["_objects","_wreck","_dir","_dirOffset"];
#define maxObjectSpawnRadius 25 #define maxObjectSpawnRadius 25
#define minObjectSpawnRadius 10 #define minObjectSpawnRadius 15
private _objectSpawnRange = maxObjectSpawnRadius - minObjectSpawnRadius; private _objectSpawnRange = maxObjectSpawnRadius - minObjectSpawnRadius;
_objects = []; _objects = [];
@ -25,21 +25,15 @@ _wreck enableSimulationGlobal false;
_wreck enableDynamicSimulation false; _wreck enableDynamicSimulation false;
_objects pushBack _wreck; _objects pushBack _wreck;
{ {
//Random Position Objects based on distance in array private _dir = random(360);
// https://community.bistudio.com/wiki/BIS_fnc_findSafePos private _radius = minObjectSpawnRadius + random(maxObjectSpawnRadius);
private _posX = ((_coords select 0) + ((random(_objectSpawnRange) + minObjectSpawnRadius) * (selectRandom[1,-1]))); _wreck = createVehicle[_x, _coords getPos[_radius,_dir], [], 2];
private _posY = ((_coords select 1) + ((random(_objectSpawnRange) + minObjectSpawnRadius) * (selectRandom[1,-1])));
_pos = [_coords,_min,_max,_nearest,0,5,0] call BIS_fnc_findSafePos;
_wreck = createVehicle[_x, _pos, [], 2];
//diag_log format["_fnc_spawnRandomLandscape: _x = %1 | _wreck = %2",_x,_wreck]; //diag_log format["_fnc_spawnRandomLandscape: _x = %1 | _wreck = %2",_x,_wreck];
_wreck allowDamage true; _wreck allowDamage true;
_wreck enableSimulation false; _wreck enableSimulation false;
_wreck enableSimulationGlobal false; _wreck enableSimulationGlobal false;
_wreck enableDynamicSimulation false; _wreck enableDynamicSimulation false;
_dirOffset = random(30) * ([1,-1] call BIS_fnc_selectRandom); _wreck setDir (_wreck getRelDir _coords);
_dir = _dirOffset +([_wreck,_coords] call BIS_fnc_dirTo);
_wreck setDir _dir;
//_wreck setDir (_wreck relativeDir _coords);
_objects pushback _wreck; _objects pushback _wreck;
sleep 0.1; sleep 0.1;
} forEach _missionLandscape; } forEach _missionLandscape;

View File

@ -65,10 +65,10 @@ if (blck_useKillMessages) then
_message = format["[blck] %1 killed with %2 from %3 meters",name _killer,getText(configFile >> "CfgWeapons" >> _weapon >> "DisplayName"), round(_unit distance _killer)]; _message = format["[blck] %1 killed with %2 from %3 meters",name _killer,getText(configFile >> "CfgWeapons" >> _weapon >> "DisplayName"), round(_unit distance _killer)];
}; };
_message =_message + _killstreakMsg; _message =_message + _killstreakMsg;
//diag_log format["[blck] unit killed message is %1",_message,""]; diag_log format["[blck] unit killed message is %1",_message,""];
[["aikilled",_message,"victory"],allPlayers] call blck_fnc_messageplayers; [["aikilled",_message,"victory"],allPlayers] call blck_fnc_messageplayers;
}; };
//diag_log format["calling blck_fnc_rewardKiller for death of unit %1 and killer %2",_unit,_killer];
[_unit,_killer] call blck_fnc_rewardKiller; [_unit,_killer] call blck_fnc_rewardKiller;
if (blck_showCountAliveAI) then if (blck_showCountAliveAI) then
{ {
@ -77,6 +77,5 @@ if (blck_showCountAliveAI) then
//diag_log format["_fnc_processAIKills: blck_missionMarkers itm %1 = %2",_forEachIndex,_x]; //diag_log format["_fnc_processAIKills: blck_missionMarkers itm %1 = %2",_forEachIndex,_x];
[_x select 0, _x select 1, _x select 2] call blck_fnc_updateMarkerAliveCount; [_x select 0, _x select 1, _x select 2] call blck_fnc_updateMarkerAliveCount;
} forEach blck_missionMarkers; } forEach blck_missionMarkers;
//call blck_fnc_updateAllMarkerAliveCounts;
}; };

View File

@ -15,7 +15,7 @@
params["_unit","_killer"]; params["_unit","_killer"];
private["_reward","_maxReward","_dist","_killstreakReward","_distanceBonus","_newKillerScore","_newKillerFrags","_money"]; private["_reward","_maxReward","_dist","_killstreakReward","_distanceBonus","_newKillerScore","_newKillerFrags","_money"];
if (toLower(blck_modType) isEqualTo "Epoch") then if (toLower(blck_modType) isEqualTo "epoch") then
{ {
if ( (vehicle _killer) in blck_forbidenVehicles || (currentWeapon _killer) in blck_forbidenVehicleGuns ) then if ( (vehicle _killer) in blck_forbidenVehicles || (currentWeapon _killer) in blck_forbidenVehicleGuns ) then
{ {
@ -31,7 +31,8 @@ if (toLower(blck_modType) isEqualTo "Epoch") then
if (_dist < 100) then { _reward = _maxReward - (_maxReward / 1.5); _reward }; if (_dist < 100) then { _reward = _maxReward - (_maxReward / 1.5); _reward };
if (_dist < 800) then { _reward = _maxReward - (_maxReward / 2); _reward }; if (_dist < 800) then { _reward = _maxReward - (_maxReward / 2); _reward };
if (_dist > 800) then { _reward = _maxReward - (_maxReward / 4); _reward }; if (_dist > 800) then { _reward = _maxReward - (_maxReward / 4); _reward };
//diag_log format["_fnc_rewardPlayer: _killer %1 | _dist %2 | _reward %3 ",_killer,_dist,_reward];
//diag_log format["_fnc_rewardPlayer: blck_addAIMoney %1 | blck_useKillScoreMessage %2",blck_addAIMoney,blck_useKillScoreMessage];
private _killstreakReward=+(_kills*2); private _killstreakReward=+(_kills*2);
if (blck_addAIMoney) then if (blck_addAIMoney) then
{ {
@ -44,7 +45,7 @@ if (toLower(blck_modType) isEqualTo "Epoch") then
}; };
}; };
if (toLower(blck_modType) isEqualTo "Exile") then if (toLower(blck_modType) isEqualTo "exile") then
{ {
private["_distanceBonus","_overallRespectChange","_newKillerScore","_newKillerFrags","_maxReward","_money","_message"]; private["_distanceBonus","_overallRespectChange","_newKillerScore","_newKillerFrags","_maxReward","_money","_message"];
if ( (isPlayer _killer) && (_killer getVariable["ExileHunger",0] > 0) && (_killer getVariable["ExileThirst",0] > 0) ) then if ( (isPlayer _killer) && (_killer getVariable["ExileHunger",0] > 0) && (_killer getVariable["ExileThirst",0] > 0) ) then

View File

@ -28,7 +28,7 @@
// a bit of bandwidth seems worth ensuring that vehicles do in fact get unlocked. // a bit of bandwidth seems worth ensuring that vehicles do in fact get unlocked.
uiSleep 0.1; uiSleep 0.1;
_count = _count + 1; _count = _count + 1;
diag_log format["_fnc_releaseVehicleToPlayersl: locked state of vehicle %1 = ^%2",_veh, locked _veh]; //diag_log format["_fnc_releaseVehicleToPlayersl: locked state of vehicle %1 = ^%2",_veh, locked _veh];
//if ((_veh locked) isEqualTo "UNLOCKED" || (diag_tickTime - _timeIn) > 5) then {_locked = false}; //if ((_veh locked) isEqualTo "UNLOCKED" || (diag_tickTime - _timeIn) > 5) then {_locked = false};
}; };

View File

@ -21,12 +21,6 @@ if (_backpacks isEqualTo []) then {_backpacks = [_skillAI] call blck_fnc_sele
if (_weaponList isEqualTo []) then {_weaponList = [_skillAI] call blck_fnc_selectAILoadout}; if (_weaponList isEqualTo []) then {_weaponList = [_skillAI] call blck_fnc_selectAILoadout};
if (_sideArms isEqualTo []) then {[_skillAI] call blck_fnc_selectAISidearms}; if (_sideArms isEqualTo []) then {[_skillAI] call blck_fnc_selectAISidearms};
/*
{
diag_log format["_fnc_spawnMissionHeli: parameter %1 = %2",_foreachIndex,_x];
}forEach [_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms];
*/
#ifdef blck_debugMode #ifdef blck_debugMode
if (blck_debugLevel > 0) then if (blck_debugLevel > 0) then
{ {
@ -44,20 +38,6 @@ if (isNull _grpPilot) then
if !(isNull _grpPilot) then if !(isNull _grpPilot) then
{ {
_grpPilot setBehaviour "COMBAT";
_grpPilot setCombatMode "RED";
_grpPilot setSpeedMode "NORMAL";
_grpPilot allowFleeing 0;
_grpPilot setVariable["patrolCenter",_coords];
_grpPilot setVariable["minDis",15];
_grpPilot setVariable["maxDis",30];
_grpPilot setVariable["timeStamp",diag_tickTime];
_grpPilot setVariable["arc",0];
_grpPilot setVariable["wpRadius",30];
_grpPilot setVariable["wpMode","SAD"];
diag_log format["_fnc_spawnMissionHeli - max radii are: blue %1 | red %2 | green %3 | orange %4",blck_maxPatrolRadiusHelisBlue,blck_maxPatrolRadiusHelisRed,blck_maxPatrolRadiusHelisGreen,blck_maxPatrolRadiusHelisOrange];
diag_log format["_fnc_spawnMissionHeli(59): _skillAI = %1 | _minDist = %2 | _maxDist = %3",_skillAI,_minDist,_maxDist];
[_coords,_minDist,_maxDist,_grpPilot,"random","SAD","pilot"] call blck_fnc_setupWaypoints;
switch (toLower(_skillAI)) do switch (toLower(_skillAI)) do
{ {
case "blue": {_minDist = 150;_maxDist = blck_maxPatrolRadiusHelisBlue}; case "blue": {_minDist = 150;_maxDist = blck_maxPatrolRadiusHelisBlue};
@ -66,6 +46,21 @@ if !(isNull _grpPilot) then
case "orange" : {_minDist = 150;_maxDist = blck_maxPatrolRadiusHelisOrange}; case "orange" : {_minDist = 150;_maxDist = blck_maxPatrolRadiusHelisOrange};
default {_minDist = 150; _maxDist = 500}; default {_minDist = 150; _maxDist = 500};
}; };
_grpPilot setBehaviour "COMBAT";
_grpPilot setCombatMode "RED";
_grpPilot setSpeedMode "NORMAL";
_grpPilot allowFleeing 0;
_grpPilot setVariable["patrolCenter",_coords];
_grpPilot setVariable["minDis",_minDist];
_grpPilot setVariable["maxDis",_maxDist];
_grpPilot setVariable["timeStamp",diag_tickTime];
_grpPilot setVariable["arc",0];
_grpPilot setVariable["wpRadius",30];
_grpPilot setVariable["wpMode","SAD"];
//diag_log format["_fnc_spawnMissionHeli - max radii are: blue %1 | red %2 | green %3 | orange %4",blck_maxPatrolRadiusHelisBlue,blck_maxPatrolRadiusHelisRed,blck_maxPatrolRadiusHelisGreen,blck_maxPatrolRadiusHelisOrange];
//diag_log format["_fnc_spawnMissionHeli(59): _skillAI = %1 | _minDist = %2 | _maxDist = %3",_skillAI,_minDist,_maxDist];
[_coords,_minDist,_maxDist,_grpPilot,"random","SAD","pilot"] call blck_fnc_setupWaypoints;
blck_monitoredMissionAIGroups pushBack _grpPilot; blck_monitoredMissionAIGroups pushBack _grpPilot;
//create helicopter and spawn it //create helicopter and spawn it

View File

@ -163,11 +163,6 @@ private _functions = [
missionnamespace setvariable [_name,compileFinal preprocessFileLineNumbers _path]; missionnamespace setvariable [_name,compileFinal preprocessFileLineNumbers _path];
} foreach _functions; } foreach _functions;
#ifdef GRGserver
blck_fnc_broadcastServerFPS = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_broadcastServerFPS.sqf";
diag_log "blck_functions loaded using GRGserver settings ---- >>>> ";
#endif
onPlayerDisconnected {[_name,_owner] call blck_fnc_onPlayerDisconnected;}; onPlayerDisconnected {[_name,_owner] call blck_fnc_onPlayerDisconnected;};

View File

@ -20,10 +20,13 @@
blck_debugON = false; // Do not touch ... blck_debugON = false; // Do not touch ...
blck_debugLevel = 0; // Do not touch ... blck_debugLevel = 0; // Do not touch ...
#ifdef blck_milServer #ifdef blck_milServer
if (true) exitWith {execVM "\q\addons\custom_server\Configs\blck_configs_mil.sqf";}; if (true) exitWith
{
diag_log format["[blckeagls] Running configs for militarized servers build %1",blck_buildNumber];
execVM "\q\addons\custom_server\Configs\blck_configs_mil.sqf";
};
#endif #endif
diag_log format["[blckeagls] Loading configurations for Non-militarized servers build %1",blck_buildNumber];
//diag_log "[blckeagls] Loading configurations for Non-militarized servers: blck_configs.sqf";
/* /*
************************************** **************************************
Configurations begin here Configurations begin here
@ -104,7 +107,7 @@
blck_SmokeAtMissions = [false,"random"]; // set to [false,"anything here"] to disable this function altogether. blck_SmokeAtMissions = [false,"random"]; // set to [false,"anything here"] to disable this function altogether.
blck_useSignalEnd = true; // When true a smoke grenade/chemlight will appear at the loot crate for 2 min after mission completion. blck_useSignalEnd = true; // When true a smoke grenade/chemlight will appear at the loot crate for 2 min after mission completion.
blck_missionEndCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" blck_missionEndCondition = "allKilledOrPlayerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
blck_killPercentage = 0.999999; // The mission will complete if this fraction of the total AI spawned has been killed. blck_killPercentage = 0.999999999; // The mission will complete if this fraction of the total AI spawned has been killed.
// This facilitates mission completion when one or two AI are spawned into objects. // This facilitates mission completion when one or two AI are spawned into objects.
blck_spawnCratesTiming = "atMissionSpawnGround"; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir". blck_spawnCratesTiming = "atMissionSpawnGround"; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
// Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute. // Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute.
@ -173,7 +176,7 @@
_blck_armed_hurons = ["B_Heli_Transport_03_F","B_Heli_Transport_03_black_F"]; _blck_armed_hurons = ["B_Heli_Transport_03_F","B_Heli_Transport_03_black_F"];
_blck_armed_attackHelis = ["B_Heli_Attack_01_F"]; _blck_armed_attackHelis = ["B_Heli_Attack_01_F"];
_blck_armed_heavyAttackHelis = ["O_Heli_Attack_02_F","O_Heli_Attack_02_black_F"]; _blck_armed_heavyAttackHelis = ["O_Heli_Attack_02_F","O_Heli_Attack_02_black_F"];
_blck_fighters = [ _blck_fighters = [
"O_Plane_CAS_02_F", // /ti-199 Neophron (CAS) "O_Plane_CAS_02_F", // /ti-199 Neophron (CAS)
"I_Plane_Fighter_03_AA_F", // A-143 Buzzard (AA) "I_Plane_Fighter_03_AA_F", // A-143 Buzzard (AA)
"I_Plane_Fighter_04_F", // A-149 Gryphon "I_Plane_Fighter_04_F", // A-149 Gryphon
@ -294,13 +297,13 @@
blck_SpawnEmplaced_Blue = 1; // Number of static weapons at Blue Missions blck_SpawnEmplaced_Blue = 1; // Number of static weapons at Blue Missions
blck_SpawnEmplaced_Red = 1; // Number of static weapons at Red Missions blck_SpawnEmplaced_Red = 1; // Number of static weapons at Red Missions
/**************************************************************** /****************************************************************
GENERAL AI SETTINGS GENERAL AI SETTINGS
****************************************************************/ ****************************************************************/
// When true, AI loadouts will be set from the class names in CfgPricing rather than the settings in the mod-specific configuration files
blck_useConfigsGeneratedLoadouts = true;
blck_groupBehavior = "SENTRY"; // Suggested choices are "SAD", "SENTRY", "AWARE" https://community.bistudio.com/wiki/ArmA:_AI_Combat_Modes blck_groupBehavior = "SENTRY"; // Suggested choices are "SAD", "SENTRY", "AWARE" https://community.bistudio.com/wiki/ArmA:_AI_Combat_Modes
blck_combatMode = "RED"; // Change this to "YELLOW" if the AI wander too far from missions for your tastes. blck_combatMode = "RED"; // Change this to "YELLOW" if the AI wander too far from missions for your tastes.
@ -318,7 +321,7 @@
blck_maximumPatrolRadius = 35; blck_maximumPatrolRadius = 35;
//This defines how long after an AI dies that it's body disappears. //This defines how long after an AI dies that it's body disappears.
blck_bodyCleanUpTimer = 60*40; // time in seconds after which dead AI bodies are deleted blck_bodyCleanUpTimer = 60*60; // time in seconds after which dead AI bodies are deleted
// Each time an AI is killed, the location of the killer will be revealed to all AI within this range of the killed AI, set to -1 to disable // Each time an AI is killed, the location of the killer will be revealed to all AI within this range of the killed AI, set to -1 to disable
// values are ordered as follows [blue, red, green, orange]; // values are ordered as follows [blue, red, green, orange];
blck_AliveAICleanUpTimer = 60*20; // Time after mission completion at which any remaining live AI are deleted. blck_AliveAICleanUpTimer = 60*20; // Time after mission completion at which any remaining live AI are deleted.
@ -433,17 +436,19 @@
if (toLower(blck_modType) isEqualTo "epoch") then if (toLower(blck_modType) isEqualTo "epoch") then
{ {
diag_log format["[blckeagls] Loading Mission System using Parameters for %1",_modType]; diag_log format["[blckeagls] Loading Mission System using Parameters for %1",blck_modType];
execVM "\q\addons\custom_server\Configs\blck_configs_epoch.sqf"; execVM "\q\addons\custom_server\Configs\blck_configs_epoch.sqf";
}; };
if (toLower(blck_modType) isEqualTo "exile") then if (toLower(blck_modType) isEqualTo "exile") then
{ {
diag_log format["[blckeagls] Loading Mission System using Parameters for %1",_modType]; diag_log format["[blckeagls] Loading Mission System using Parameters for %1",blck_modType];
execVM "\q\addons\custom_server\Configs\blck_configs_exile.sqf"; execVM "\q\addons\custom_server\Configs\blck_configs_exile.sqf";
}; };
waitUntil{!isNil "blck_useConfigsGeneratedLoadouts"};
waitUntil {!isNil "blck_maximumItemPriceInAI_Loadouts"};
if (blck_useConfigsGeneratedLoadouts) then if (blck_useConfigsGeneratedLoadouts) then
{ {
diag_log format["[blckeagles] Dynamic Configs Enabled"]; diag_log format["[blckeagls] Dynamic Configs Enabled"];
execVM "\q\addons\custom_server\Configs\blck_dynamicConfigs.sqf"; execVM "\q\addons\custom_server\Configs\blck_dynamicConfigs.sqf";
}; };

View File

@ -11,7 +11,7 @@
*/ */
#include "\q\addons\custom_server\Configs\blck_defines.hpp"; #include "\q\addons\custom_server\Configs\blck_defines.hpp";
diag_log format["[blckeagls] loading configurations for Epoch for blckeagls build %1",blck_buildNumber];
//////////// ////////////
// Epoch-specific settings // Epoch-specific settings
//////////// ////////////
@ -47,8 +47,6 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
blck_allowSalesAtBlackMktTraders = true; // Allow vehicles to be sold at Halvjes black market traders. blck_allowSalesAtBlackMktTraders = true; // Allow vehicles to be sold at Halvjes black market traders.
// When true, AI loadouts will be set from the class names in CfgPricing rather than the settings in the mod-specific configuration files
blck_useConfigsGeneratedLoadouts = true;
blck_maximumItemPriceInAI_Loadouts = 100; blck_maximumItemPriceInAI_Loadouts = 100;
_blck_lightlyArmed_ARMA3 = [ _blck_lightlyArmed_ARMA3 = [
@ -1100,4 +1098,4 @@ blck_supportLoot = blck_BoxLoot_Orange;
blck_crateTypes = ["Box_FIA_Ammo_F","Box_FIA_Support_F","Box_FIA_Wps_F","I_SupplyCrate_F","Box_NATO_AmmoVeh_F","Box_East_AmmoVeh_F","IG_supplyCrate_F","Box_NATO_Wps_F","I_CargoNet_01_ammo_F","O_CargoNet_01_ammo_F","B_CargoNet_01_ammo_F"]; // Default crate type. blck_crateTypes = ["Box_FIA_Ammo_F","Box_FIA_Support_F","Box_FIA_Wps_F","I_SupplyCrate_F","Box_NATO_AmmoVeh_F","Box_East_AmmoVeh_F","IG_supplyCrate_F","Box_NATO_Wps_F","I_CargoNet_01_ammo_F","O_CargoNet_01_ammo_F","B_CargoNet_01_ammo_F"]; // Default crate type.
diag_log "[blckeagls] Configurations for Epoch Loaded"; diag_log "[blckeagls] Configurations for Epoch Loaded";
blck_configsEpochLoaded = true;

View File

@ -15,10 +15,12 @@
#include "\q\addons\custom_server\Configs\blck_defines.hpp"; #include "\q\addons\custom_server\Configs\blck_defines.hpp";
#ifdef blck_milServer #ifdef blck_milServer
execVM "\q\addons\custom_server\Configs\blck_configs_exile_mil.sqf"; if (true) exitWith
if (true) exitWith {}; {
diag_log "[blckeagls] running blck_configs_exile_mil for militarized servers";
execVM "\q\addons\custom_server\Configs\blck_configs_exile_mil.sqf";
};
#endif #endif
diag_log "[blckeagls] Loading Exile-specific configs for Non-militarized servers: blck_configs_exile.sqf"; diag_log "[blckeagls] Loading Exile-specific configs for Non-militarized servers: blck_configs_exile.sqf";
//////////// ////////////
// Exile-specific settings // Exile-specific settings
@ -54,9 +56,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
blck_crateMoneyRed = [175, 300]; blck_crateMoneyRed = [175, 300];
blck_crateMoneyGreen = [300, 500]; blck_crateMoneyGreen = [300, 500];
blck_crateMoneyOrange = [500, 750]; blck_crateMoneyOrange = [500, 750];
// When true, AI loadouts will be set from the class names in CfgPricing rather than the settings in the mod-specific configuration files
blck_useConfigsGeneratedLoadouts = true;
blck_maximumItemPriceInAI_Loadouts = 1000; blck_maximumItemPriceInAI_Loadouts = 1000;
_blck_armed_vehicles_Exile = [ _blck_armed_vehicles_Exile = [

View File

@ -47,8 +47,6 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
blck_crateMoneyGreen = [300, 500]; blck_crateMoneyGreen = [300, 500];
blck_crateMoneyOrange = [500, 750]; blck_crateMoneyOrange = [500, 750];
// When true, AI loadouts will be set from the class names in CfgPricing rather than the settings in the mod-specific configuration files
blck_useConfigsGeneratedLoadouts = true;
blck_maximumItemPriceInAI_Loadouts = 1000; blck_maximumItemPriceInAI_Loadouts = 1000;
_blck_armed_vehicles_Exile = [ _blck_armed_vehicles_Exile = [

View File

@ -11,8 +11,7 @@
*/ */
#include "\q\addons\custom_server\Configs\blck_defines.hpp"; #include "\q\addons\custom_server\Configs\blck_defines.hpp";
diag_log format["[blckeagls] Loading blck_configs_mil.sqf for Militarized Servers for blckeagls build %1",blck_buildNumber];
diag_log "[blckeagls] Loading blck_configs_mil.sqf for Militarized Servers";
/*************************************************************** /***************************************************************
BLCKEAGLS SUPPLEMENTAL MODULES BLCKEAGLS SUPPLEMENTAL MODULES
@ -83,7 +82,7 @@
blck_SmokeAtMissions = [false,"random"]; // set to [false,"anything here"] to disable this function altogether. blck_SmokeAtMissions = [false,"random"]; // set to [false,"anything here"] to disable this function altogether.
blck_useSignalEnd = true; // When true a smoke grenade/chemlight will appear at the loot crate for 2 min after mission completion. blck_useSignalEnd = true; // When true a smoke grenade/chemlight will appear at the loot crate for 2 min after mission completion.
blck_missionEndCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" blck_missionEndCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
blck_killPercentage = 0.9; // The mission will complete if this fraction of the total AI spawned has been killed. blck_killPercentage = 0.99999999999; // The mission will complete if this fraction of the total AI spawned has been killed.
// This facilitates mission completion when one or two AI are spawned into objects. // This facilitates mission completion when one or two AI are spawned into objects.
blck_spawnCratesTiming = "atMissionEndAir"; // Choices: "atMissionSpawnGround","atMissionStartAir","atMissionEndGround","atMissionEndAir". blck_spawnCratesTiming = "atMissionEndAir"; // Choices: "atMissionSpawnGround","atMissionStartAir","atMissionEndGround","atMissionEndAir".
// Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute. // Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute.
@ -203,12 +202,8 @@
//////////////////// ////////////////////
// Maximum number of missions shown on the map at any one time. // Maximum number of missions shown on the map at any one time.
#ifdef GRGserver
blck_maxSpawnedMissions = 15;
#else
// Change this value to reduce the number of spawned missions at any one time. // Change this value to reduce the number of spawned missions at any one time.
blck_maxSpawnedMissions = 4; blck_maxSpawnedMissions = 4;
#endif
//Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission - this feature is not recommended because you may run out of available groups. //Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission - this feature is not recommended because you may run out of available groups.
blck_enableOrangeMissions = 1; blck_enableOrangeMissions = 1;
@ -217,12 +212,6 @@
blck_enableBlueMissions = 2; blck_enableBlueMissions = 2;
blck_numberUnderwaterDynamicMissions = 2; // Values from 0 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned. blck_numberUnderwaterDynamicMissions = 2; // Values from 0 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned.
#ifdef GRGserver
blck_enableHunterMissions = 1;
blck_enableScoutsMissions = 2;
blck_maxcrashsites = 3;
#endif
//////////////////// ////////////////////
// MISSION TIMERS // MISSION TIMERS
//////////////////// ////////////////////
@ -233,24 +222,13 @@
blck_TMin_Blue = 120; blck_TMin_Blue = 120;
blck_TMin_Red = 150; blck_TMin_Red = 150;
blck_TMin_UMS = 180; blck_TMin_UMS = 180;
#ifdef GRGserver
blck_TMin_Hunter = 120;
blck_TMin_Scouts = 115;
blck_TMin_Crashes = 115;
#endif
//Maximum Spawn time between missions in seconds //Maximum Spawn time between missions in seconds
blck_TMax_Orange = 360; blck_TMax_Orange = 360;
blck_TMax_Green = 300; blck_TMax_Green = 300;
blck_TMax_Blue = 200; blck_TMax_Blue = 200;
blck_TMax_Red = 250; blck_TMax_Red = 250;
blck_TMax_UMS = 200; blck_TMax_UMS = 200;
#ifdef GRGserver
blck_TMax_Hunter = 200;
blck_TMax_Scouts = 200;
blck_TMax_Crashes = 200;
#endif
/////////////////////////////// ///////////////////////////////
// AI VEHICLE PATROL PARAMETERS // AI VEHICLE PATROL PARAMETERS
@ -290,7 +268,8 @@
GENERAL AI SETTINGS GENERAL AI SETTINGS
****************************************************************/ ****************************************************************/
// When true, AI loadouts will be set from the class names in CfgPricing rather than the settings in the mod-specific configuration files
blck_useConfigsGeneratedLoadouts = true;
blck_groupBehavior = "SAD"; // Suggested choices are "SAD", "SENTRY", "AWARE" https://community.bistudio.com/wiki/ArmA:_AI_Combat_Modes blck_groupBehavior = "SAD"; // Suggested choices are "SAD", "SENTRY", "AWARE" https://community.bistudio.com/wiki/ArmA:_AI_Combat_Modes
blck_combatMode = "RED"; // Change this to "YELLOW" if the AI wander too far from missions for your tastes. blck_combatMode = "RED"; // Change this to "YELLOW" if the AI wander too far from missions for your tastes.
blck_groupFormation = "WEDGE"; // Possibilities include "WEDGE","VEE","FILE","DIAMOND" blck_groupFormation = "WEDGE"; // Possibilities include "WEDGE","VEE","FILE","DIAMOND"
@ -307,12 +286,7 @@
blck_maximumPatrolRadius = 35; blck_maximumPatrolRadius = 35;
//This defines how long after an AI dies that it's body disappears. //This defines how long after an AI dies that it's body disappears.
blck_bodyCleanUpTimer = 40*60; // time in seconds after which dead AI bodies are deleted blck_bodyCleanUpTimer = 80*60; // time in seconds after which dead AI bodies are deleted
#ifdef GRGserver
#ifdef blck_milServer
blck_bodyCleanUpTimer = 40*60; // Trying to reduce lag with player counts > 20
#endif
#endif
// Each time an AI is killed, the location of the killer will be revealed to all AI within this range of the killed AI, set to -1 to disable // Each time an AI is killed, the location of the killer will be revealed to all AI within this range of the killed AI, set to -1 to disable
// values are ordered as follows [blue, red, green, orange]; // values are ordered as follows [blue, red, green, orange];
@ -372,79 +346,24 @@
blck_maxMoneyRed = 30; blck_maxMoneyRed = 30;
blck_maxMoneyBlue = 20; blck_maxMoneyBlue = 20;
#ifdef GRGserver if (toLower(blck_modType) isEqualTo "epoch") then
blck_AIAlertDistance = [250,425,650,800]; // Radius within which AI will be notified of enemy activity. Depricated as a group-sed system is used now. The group is informed of the enemy location when a group member is hit or killed.
//blck_AIAlertDistance = [150,225,400,500];
// How precisely player locations will be revealed to AI after an AI kill
// values are ordered as follows [blue, red, green, orange];
blck_AIIntelligence = [0.3, 0.5, 0.7, 0.9];
blck_baseSkill = 1; // The overal skill of the AI - range 0.1 to 1.0.
/***************************************************************
MISSION TYPE SPECIFIC AI SETTINGS
**************************************************************/
//This defines the skill, minimum/Maximum number of AI and how many AI groups are spawned for each mission type
// Orange Missions
blck_MinAI_Orange = 30;
blck_MaxAI_Orange = 35;
blck_AIGrps_Orange = 5;
blck_SkillsOrange = [
["aimingAccuracy",0.6],["aimingShake",0.9],["aimingSpeed",0.9],["endurance",1.00],["spotDistance",1.0],["spotTime",1.0],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00]
];
// Green Missions
blck_MinAI_Green = 26;
blck_MaxAI_Green = 31;
blck_AIGrps_Green = 4;
blck_SkillsGreen = [
["aimingAccuracy",0.55],["aimingShake",0.75],["aimingSpeed",0.85],["endurance",0.9],["spotDistance",0.9],["spotTime",0.9],["courage",0.9],["reloadSpeed",0.9],["commanding",0.9],["general",0.75]
];
// Red Missions
blck_MinAI_Red = 12;
blck_MaxAI_Red = 18;
blck_AIGrps_Red = 3;
blck_SkillsRed = [
["aimingAccuracy",0.4],["aimingShake",0.6],["aimingSpeed",0.6],["endurance",0.80],["spotDistance",0.7],["spotTime",0.8],["courage",0.80],["reloadSpeed",0.70],["commanding",0.8],["general",0.70]
];
// Blue Missions
blck_MinAI_Blue = 8;
blck_MaxAI_Blue = 14;
blck_AIGrps_Blue = 2;
blck_SkillsBlue = [
["aimingAccuracy",0.12],["aimingShake",0.3],["aimingSpeed",0.5],["endurance",0.50],["spotDistance",0.6],["spotTime",0.6],["courage",0.60],["reloadSpeed",0.60],["commanding",0.7],["general",0.60]
];
// Add some money to AI; only works with Exile for now.
blck_maxMoneyOrange = 25;
blck_maxMoneyGreen = 20;
blck_maxMoneyRed = 15;
blck_maxMoneyBlue = 10;
#endif
if (toLower(blck_modType) isEqualTo "epoch") then
{ {
diag_log format["[blckeagls] Loading Mission System using Parameters for %1 for militarized servers",blck_modType]; diag_log format["[blckeagls] Loading Mission System using Parameters for %1 for militarized servers",blck_modType];
execVM "\q\addons\custom_server\Configs\blck_configs_epoch_mil.sqf"; execVM "\q\addons\custom_server\Configs\blck_configs_epoch_mil.sqf";
waitUntil {(isNil "blck_configsEpochLoaded") isEqualTo false;}; waitUntil {(isNil "blck_configsEpochLoaded") isEqualTo false;};
waitUntil{blck_configsEpochLoaded}; waitUntil{blck_configsEpochLoaded};
blck_configsEpochLoaded = nil; blck_configsEpochLoaded = nil;
//diag_log "[blckeagls] Running getTraderCitiesEpoch to get location of trader cities";
//execVM "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesEpoch.sqf";
}; };
if (toLower(blck_modType) isEqualTo "exile") then if (toLower(blck_modType) isEqualTo "exile") then
{ {
diag_log format["[blckeagls] Loading Mission System using Parameters for %1 for militarized servers",blck_modType]; diag_log format["[blckeagls] Loading Mission System using Parameters for %1 for militarized servers",blck_modType];
execVM "\q\addons\custom_server\Configs\blck_configs_exile_mil.sqf"; execVM "\q\addons\custom_server\Configs\blck_configs_exile_mil.sqf";
//if (blck_blacklistTraderCities || blck_blacklistSpawns || blck_listConcreteMixerZones) then {execVM "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesExile.sqf";};
}; };
waitUntil{!isNil "blck_useConfigsGeneratedLoadouts"}:
waitUntil {!isNil "blck_maximumItemPriceInAI_Loadouts"}:
if (blck_useConfigsGeneratedLoadouts) then if (blck_useConfigsGeneratedLoadouts) then
{ {
diag_log format["[blckeagles] Dynamic Configs Enabled"]; diag_log format["[blckeagls] Dynamic Configs Enabled"];
execVM "\q\addons\custom_server\Configs\blck_dynamicConfigs.sqf"; execVM "\q\addons\custom_server\Configs\blck_dynamicConfigs.sqf";
}; };

View File

@ -11,7 +11,7 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/ http://creativecommons.org/licenses/by-nc-sa/4.0/
*/ */
#define blck_buildNumber 164
#define useAPEX #define useAPEX
//#define blck_milServer //#define blck_milServer
//#define blck_useCUP //#define blck_useCUP
@ -21,10 +21,7 @@
// Do not touch anything below this line // Do not touch anything below this line
/////////////////////////// ///////////////////////////
//#define useDynamicSimulation
//#define blck_debugMode //#define blck_debugMode
//#define GRG_TestServer
//#define GRGserver
#define blck_triggerLoopCompleteTime 40*60 #define blck_triggerLoopCompleteTime 40*60
#define onFoot 1 #define onFoot 1

View File

@ -94,7 +94,7 @@ _misc = [];
_baseClasses = []; _baseClasses = [];
_classnameList = []; _classnameList = [];
diag_log format["blck_modType = %1",blck_modType]; //diag_log format["blck_modType = %1",blck_modType];
if (toLower(blck_modType) isEqualTo "epoch") then if (toLower(blck_modType) isEqualTo "epoch") then
{ {
_classnameList = (missionConfigFile >> "CfgPricing" ) call BIS_fnc_getCfgSubClasses; _classnameList = (missionConfigFile >> "CfgPricing" ) call BIS_fnc_getCfgSubClasses;
@ -103,25 +103,23 @@ if (toLower(blck_modType) isEqualTo "exile") then
{ {
_classnameList = (missionConfigFile >> "CfgExileArsenal" ) call BIS_fnc_getCfgSubClasses; _classnameList = (missionConfigFile >> "CfgExileArsenal" ) call BIS_fnc_getCfgSubClasses;
}; };
diag_log format["_fnc_dynamicConfigsConfigurator: count _classnameList = %1",count _classnameList]; //diag_log format["_fnc_dynamicConfigsConfigurator: count _classnameList = %1",count _classnameList];
{ {
private _temp = [_x] call bis_fnc_itemType; private _temp = [_x] call bis_fnc_itemType;
//diag_log _temp; //diag_log _temp;
_itemCategory = _temp select 0; _itemCategory = _temp select 0;
_itemType = _temp select 1; _itemType = _temp select 1;
_price = blck_maximumItemPriceInAI_Loadouts; _price = blck_maximumItemPriceInAI_Loadouts;
if (blck_modType isEqualTo "Epoch") then if (toLower(blck_modType) isEqualTo "epoch") then
{ {
_price = getNumber(missionConfigFile >> "CfgPricing" >> _x >> "price"); _price = getNumber(missionConfigFile >> "CfgPricing" >> _x >> "price");
}; };
if (blck_modType isEqualTo "Exile") then if (toLower(blck_modType) isEqualTo "exile") then
{ {
_price = getNumber(missionConfigFile >> "CfgExileArsenal" >> _x >> "price"); _price = getNumber(missionConfigFile >> "CfgExileArsenal" >> _x >> "price");
}; };
//diag_log format["_fnc_dynamicConfigsConfigurator: _price = %1",_price];
if (_price < blck_maximumItemPriceInAI_Loadouts) then if (_price < blck_maximumItemPriceInAI_Loadouts) then
{ {
//if (_itemCategory != "") then {diag_log format["_fnc_dynamicConfigsConfigurator: _itemCategory = %1 | _itemType = %2",_itemCategory,_itemType]};
if (_itemCategory isEqualTo "Weapon") then if (_itemCategory isEqualTo "Weapon") then
{ {
switch (_itemType) do switch (_itemType) do
@ -136,14 +134,11 @@ diag_log format["_fnc_dynamicConfigsConfigurator: count _classnameList = %1",cou
case "Launcher": {if !(_x in blck_blacklistedLaunchersAndSwingWeapons) then {_wpnLauncher pushBack _x}}; case "Launcher": {if !(_x in blck_blacklistedLaunchersAndSwingWeapons) then {_wpnLauncher pushBack _x}};
case "RocketLauncher": {if !(_x in blck_blacklistedLaunchersAndSwingWeapons) then {_wpnLauncher pushBack _x}}; case "RocketLauncher": {if !(_x in blck_blacklistedLaunchersAndSwingWeapons) then {_wpnLauncher pushBack _x}};
case "Throw": {if !(_x in blck_blacklistedItems) then {_wpnThrow pushBack _x}}; case "Throw": {if !(_x in blck_blacklistedItems) then {_wpnThrow pushBack _x}};
//case "": {if !(_x in ) then { pushBack _x}};
//case "": {if !(_x in ) then { pushBack _x}};
}; };
}; };
if (_itemCategory isEqualTo "Item") then if (_itemCategory isEqualTo "Item") then
{ {
//diag_log format["Evaluating Item class name %1",_x];
switch (_itemType) do switch (_itemType) do
{ {
case "AccessoryMuzzle": {if !(_x in blck_blacklistedAttachments) then {_wpnMuzzles pushBack _x}}; case "AccessoryMuzzle": {if !(_x in blck_blacklistedAttachments) then {_wpnMuzzles pushBack _x}};
@ -153,22 +148,13 @@ diag_log format["_fnc_dynamicConfigsConfigurator: count _classnameList = %1",cou
case "Binocular": {if !(_x in blck_blacklistedItems) then {_misc pushBack _x}}; case "Binocular": {if !(_x in blck_blacklistedItems) then {_misc pushBack _x}};
case "Compass": {if !(_x in blck_blacklistedItems) then {_misc pushBack _x}}; case "Compass": {if !(_x in blck_blacklistedItems) then {_misc pushBack _x}};
case "GPS": {if !(_x in blck_blacklistedItems) then {_misc pushBack _x}}; case "GPS": {if !(_x in blck_blacklistedItems) then {_misc pushBack _x}};
case "NVGoggles": {if !(_x in blck_blacklistedItems) then {_NVG pushBack _x}}; case "NVGoggles": {if !(_x in blck_blacklistedItems) then {_NVG pushBack _x}};
//case "": {if !(_x in ) then { pushBack _x}};
//case "": {if !(_x in ) then { pushBack _x}};
//case "": {if !(_x in ) then { pushBack _x}};
//case "": {if !(_x in ) then { pushBack _x}};
//case "": {if !(_x in ) then { pushBack _x}};
//case "": {if !(_x in ) then { pushBack _x}};
//case "": {if !(_x in ) then { pushBack _x}};
//case "": {if !(_x in ) then { pushBack _x}};
}; };
}; };
if (_itemCategory isEqualTo "Equipment") then if (_itemCategory isEqualTo "Equipment") then
{ {
//diag_log format["Evaluating Equipment class name %1",_x];
switch (_itemType) do switch (_itemType) do
{ {
case "Glasses": {if !(_x in blck_blacklistedItems) then {_glasses pushBack _x}}; case "Glasses": {if !(_x in blck_blacklistedItems) then {_glasses pushBack _x}};

View File

@ -22,8 +22,6 @@ if ((tolower blck_modType) isEqualTo "epoch") then
if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getTraderCitiesEpoch:: -- >> Added epoch trader city location at %1", (_x select 3)];}; if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getTraderCitiesEpoch:: -- >> Added epoch trader city location at %1", (_x select 3)];};
#endif #endif
} foreach _telePos; } foreach _telePos;
diag_log format["[blckeagls] blckListPrior = %1",_blckListPrior];
diag_log format["[blckeagls] ] blck_locationBlackList = %1",blck_locationBlackList];
}; };
if ((tolower blck_modType) isEqualTo "exile") then if ((tolower blck_modType) isEqualTo "exile") then

View File

@ -28,20 +28,20 @@ if ((toLower blck_modType) isEqualTo "exile") then
private _blck_loadingStartTime = diag_tickTime; private _blck_loadingStartTime = diag_tickTime;
#include "\q\addons\custom_server\init\build.sqf"; #include "\q\addons\custom_server\init\build.sqf";
diag_log format["[blckeagls] Loading Server Mission System Version"]; diag_log format["[blckeagls] Loading Server Mission System Version",blck_buildNumber];
// compile functions // compile functions
call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_functions.sqf"; call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_functions.sqf";
diag_log format["[blckeagls] functions compiled in %1 seconds",diag_tickTime-_blck_loadingStartTime]; diag_log format["[blckeagls] functions compiled in %1 seconds",diag_tickTime-_blck_loadingStartTime];
call compile preprocessfilelinenumbers "\q\addons\custom_server\Configs\blck_configs.sqf"; call compile preprocessfilelinenumbers "\q\addons\custom_server\Configs\blck_configs.sqf";
uiSleep 10; waitUntil{(!isNil "blck_useHC") && (!isNil "blck_simulationManager") && (!isNil "blck_debugOn")};
diag_log format["[blckeagls] blck_useHC = %1 | blck_simulationManager = %2 ",blck_useHC,blck_simulationManager]; diag_log format["[blckeagls] blck_useHC = %1 | blck_simulationManager = %2 ",blck_useHC,blck_simulationManager];
diag_log format["[blckeagls] debug mode settings:blck_debugON = %1 blck_debugLevel = %2",blck_debugON,blck_debugLevel]; diag_log format["[blckeagls] debug mode settings:blck_debugON = %1 blck_debugLevel = %2",blck_debugON,blck_debugLevel];
// Load any user-defined specifications or overrides // Load any user-defined specifications or overrides
call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Configs\blck_custom_config.sqf"; call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Configs\blck_custom_config.sqf";
diag_log format["[blckeagls] configurations loaded at %1",diag_tickTime]; //diag_log format["[blckeagls] configurations loaded at %1",diag_tickTime];
call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_variables.sqf"; call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_variables.sqf";
@ -80,37 +80,26 @@ switch (blck_simulationManager) do
case 0: {diag_log "[blckeagls] simulation management disabled"}; case 0: {diag_log "[blckeagls] simulation management disabled"};
}; };
#ifdef GRGserver
// start the dynamic loot crate system
compile preprocessfilelinenumbers "\q\addons\custom_server\DLS\DLS_init.sqf";
#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] 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 ---- >>>>"]; diag_log format["blckeagls] waiting for players to join ---- >>>>"];
#ifdef GRGserver
diag_log "[blckeagls] Running GhostriderGaming Version";
#endif
if !(blck_debugON || (blck_debugLevel isEqualTo 0)) then if ( !(blck_debugON) && (blck_debugLevel isEqualTo 0)) then
{ {
waitUntil{{isPlayer _x}count allPlayers > 0}; waitUntil{{isPlayer _x}count allPlayers > 0};
diag_log "[blckeagls] Player Connected, spawning missions"; diag_log "[blckeagls] Player Connected, spawning missions";
} else { } else {
diag_log "[blckeagls] spawning Missions"; diag_log "[blckeagls] Debug mode ON, proceding without players";
}; };
if (blck_spawnStaticLootCrates) then if (blck_spawnStaticLootCrates) then
{ {
// Start the static loot crate spawner
//diag_log "[blckeagls] SLS:: -- >> Static Loot Spawner Started";
call compile preprocessfilelinenumbers "\q\addons\custom_server\SLS\SLS_init.sqf"; call compile preprocessfilelinenumbers "\q\addons\custom_server\SLS\SLS_init.sqf";
diag_log "[blckeagls] SLS:: -- >> Static Loot Spawner Done"; diag_log "[blckeagls] SLS:: -- >> Static Loot Spawner Done";
}else{ }else{
diag_log "[blckeagls] SLS:: -- >> Static Loot Spawner disabled"; diag_log "[blckeagls] SLS:: -- >> Static Loot Spawner disabled";
}; };
if (true /*blck_blacklistTraderCities*/) then if (blck_blacklistTraderCities) then
{ {
call compile preprocessfilelinenumbers "\q\addons\custom_server\init\GMS_fnc_getTraderCites.sqf"; call compile preprocessfilelinenumbers "\q\addons\custom_server\init\GMS_fnc_getTraderCites.sqf";
}; };
@ -137,31 +126,6 @@ if (blck_enableBlueMissions > 0) then
[_missionListBlue,_pathBlue,"BlueMarker","blue",blck_TMin_Blue,blck_TMax_Blue,blck_enableBlueMissions] call blck_fnc_addMissionToQue; [_missionListBlue,_pathBlue,"BlueMarker","blue",blck_TMin_Blue,blck_TMax_Blue,blck_enableBlueMissions] call blck_fnc_addMissionToQue;
}; };
#ifdef GRGserver
diag_log format["[blckeagls] _init_server: blck_enableScoutsMissions = %1",blck_enableScoutsMissions];
if (blck_enableScoutsMissions > 0) then
{
//[_missionListScouts,_pathScouts,"ScoutsMarker","red",blck_TMin_Scouts,blck_TMax_Scouts] spawn blck_fnc_missionTimer;
[_missionListScouts,_pathScouts,"ScoutsMarker","red",blck_TMin_Scouts,blck_TMax_Scouts,blck_enableScoutsMissions,false] call blck_fnc_addMissionToQue;
};
diag_log format["[blckeagls] _init_server: blck_enableHunterMissions = %1",blck_enableHunterMissions];
if (blck_enableHunterMissions > 0) then
{
//[_missionListHunters,_pathHunters,"HunterMarker","green",blck_TMin_Hunter,blck_TMax_Hunter] spawn blck_fnc_missionTimer;
// params["_missionList","_path","_marker","_difficulty","_tMin","_tMax","_noMissions"];
[_missionListHunters,_pathHunters,"HunterMarker","green",blck_TMin_Hunter,blck_TMax_Hunter,blck_enableHunterMissions,false] call blck_fnc_addMissionToQue;
};
// Running new version of Crash sites.
diag_log format["[blckeagls] _init_server: blck_maxCrashSites = %1",blck_maxCrashSites];
if (blck_maxCrashSites > 0) then
{
[] execVM "\q\addons\custom_server\Missions\HeliCrashs\Crashes2.sqf";
};
#endif
// start the main thread for the mission system which monitors missions running and stuff to be cleaned up // start the main thread for the mission system which monitors missions running and stuff to be cleaned up
[] spawn blck_fnc_mainThread; [] spawn blck_fnc_mainThread;

View File

@ -1,6 +1,7 @@
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
private ["_version","_versionDate"]; private ["_version","_versionDate"];
blck_version = "6.88 Build 163"; blck_version = format["6.88 Build %1",blck_buildNumber];
_blck_version = blck_version; _blck_version = blck_version;
_blck_versionDate = "11-19-18 4:00 PM"; _blck_versionDate = "11-21-18 4:00 PM";
blck_pvs_version = _blck_version; blck_pvs_version = _blck_version;
publicVariable blck_pvs_version; publicVariable blck_pvs_version;