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
{
[] call blck_fnc_vehicleMonitor;
#ifdef GRGserver
[] call blck_fnc_broadcastServerFPS;
#endif
_timer1sec = diag_tickTime + 1;
};
if (diag_tickTime > _timer5sec) then

View File

@ -14,7 +14,7 @@
params["_coords","_missionLandscape",["_min",3],["_max",15],["_nearest",1]];
private["_objects","_wreck","_dir","_dirOffset"];
#define maxObjectSpawnRadius 25
#define minObjectSpawnRadius 10
#define minObjectSpawnRadius 15
private _objectSpawnRange = maxObjectSpawnRadius - minObjectSpawnRadius;
_objects = [];
@ -25,21 +25,15 @@ _wreck enableSimulationGlobal false;
_wreck enableDynamicSimulation false;
_objects pushBack _wreck;
{
//Random Position Objects based on distance in array
// https://community.bistudio.com/wiki/BIS_fnc_findSafePos
private _posX = ((_coords select 0) + ((random(_objectSpawnRange) + minObjectSpawnRadius) * (selectRandom[1,-1])));
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];
private _dir = random(360);
private _radius = minObjectSpawnRadius + random(maxObjectSpawnRadius);
_wreck = createVehicle[_x, _coords getPos[_radius,_dir], [], 2];
//diag_log format["_fnc_spawnRandomLandscape: _x = %1 | _wreck = %2",_x,_wreck];
_wreck allowDamage true;
_wreck enableSimulation false;
_wreck enableSimulationGlobal false;
_wreck enableDynamicSimulation false;
_dirOffset = random(30) * ([1,-1] call BIS_fnc_selectRandom);
_dir = _dirOffset +([_wreck,_coords] call BIS_fnc_dirTo);
_wreck setDir _dir;
//_wreck setDir (_wreck relativeDir _coords);
_wreck setDir (_wreck getRelDir _coords);
_objects pushback _wreck;
sleep 0.1;
} 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 =_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;
};
//diag_log format["calling blck_fnc_rewardKiller for death of unit %1 and killer %2",_unit,_killer];
[_unit,_killer] call blck_fnc_rewardKiller;
if (blck_showCountAliveAI) then
{
@ -77,6 +77,5 @@ if (blck_showCountAliveAI) then
//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;
} forEach blck_missionMarkers;
//call blck_fnc_updateAllMarkerAliveCounts;
};

View File

@ -15,7 +15,7 @@
params["_unit","_killer"];
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
{
@ -31,7 +31,8 @@ if (toLower(blck_modType) isEqualTo "Epoch") then
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 / 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);
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"];
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.
uiSleep 0.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};
};

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 (_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
if (blck_debugLevel > 0) then
{
@ -44,20 +38,6 @@ 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
{
case "blue": {_minDist = 150;_maxDist = blck_maxPatrolRadiusHelisBlue};
@ -66,6 +46,21 @@ if !(isNull _grpPilot) then
case "orange" : {_minDist = 150;_maxDist = blck_maxPatrolRadiusHelisOrange};
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;
//create helicopter and spawn it

View File

@ -163,11 +163,6 @@ private _functions = [
missionnamespace setvariable [_name,compileFinal preprocessFileLineNumbers _path];
} 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;};

View File

@ -20,10 +20,13 @@
blck_debugON = false; // Do not touch ...
blck_debugLevel = 0; // Do not touch ...
#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
//diag_log "[blckeagls] Loading configurations for Non-militarized servers: blck_configs.sqf";
diag_log format["[blckeagls] Loading configurations for Non-militarized servers build %1",blck_buildNumber];
/*
**************************************
Configurations begin here
@ -104,7 +107,7 @@
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_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.
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.
@ -173,7 +176,7 @@
_blck_armed_hurons = ["B_Heli_Transport_03_F","B_Heli_Transport_03_black_F"];
_blck_armed_attackHelis = ["B_Heli_Attack_01_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)
"I_Plane_Fighter_03_AA_F", // A-143 Buzzard (AA)
"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_Red = 1; // Number of static weapons at Red Missions
/****************************************************************
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_combatMode = "RED"; // Change this to "YELLOW" if the AI wander too far from missions for your tastes.
@ -318,7 +321,7 @@
blck_maximumPatrolRadius = 35;
//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
// 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.
@ -433,17 +436,19 @@
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";
};
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";
};
waitUntil{!isNil "blck_useConfigsGeneratedLoadouts"};
waitUntil {!isNil "blck_maximumItemPriceInAI_Loadouts"};
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";
};

View File

@ -11,7 +11,7 @@
*/
#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
////////////
@ -47,8 +47,6 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
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_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.
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";
#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
diag_log "[blckeagls] Loading Exile-specific configs for Non-militarized servers: blck_configs_exile.sqf";
////////////
// Exile-specific settings
@ -54,9 +56,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
blck_crateMoneyRed = [175, 300];
blck_crateMoneyGreen = [300, 500];
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_armed_vehicles_Exile = [

View File

@ -47,8 +47,6 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
blck_crateMoneyGreen = [300, 500];
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_armed_vehicles_Exile = [

View File

@ -11,8 +11,7 @@
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
diag_log "[blckeagls] Loading blck_configs_mil.sqf for Militarized Servers";
diag_log format["[blckeagls] Loading blck_configs_mil.sqf for Militarized Servers for blckeagls build %1",blck_buildNumber];
/***************************************************************
BLCKEAGLS SUPPLEMENTAL MODULES
@ -83,7 +82,7 @@
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_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.
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.
@ -203,12 +202,8 @@
////////////////////
// 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.
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.
blck_enableOrangeMissions = 1;
@ -217,12 +212,6 @@
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.
#ifdef GRGserver
blck_enableHunterMissions = 1;
blck_enableScoutsMissions = 2;
blck_maxcrashsites = 3;
#endif
////////////////////
// MISSION TIMERS
////////////////////
@ -233,24 +222,13 @@
blck_TMin_Blue = 120;
blck_TMin_Red = 150;
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
blck_TMax_Orange = 360;
blck_TMax_Green = 300;
blck_TMax_Blue = 200;
blck_TMax_Red = 250;
blck_TMax_UMS = 200;
#ifdef GRGserver
blck_TMax_Hunter = 200;
blck_TMax_Scouts = 200;
blck_TMax_Crashes = 200;
#endif
///////////////////////////////
// AI VEHICLE PATROL PARAMETERS
@ -290,7 +268,8 @@
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_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"
@ -307,12 +286,7 @@
blck_maximumPatrolRadius = 35;
//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
#ifdef GRGserver
#ifdef blck_milServer
blck_bodyCleanUpTimer = 40*60; // Trying to reduce lag with player counts > 20
#endif
#endif
blck_bodyCleanUpTimer = 80*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
// values are ordered as follows [blue, red, green, orange];
@ -372,79 +346,24 @@
blck_maxMoneyRed = 30;
blck_maxMoneyBlue = 20;
#ifdef GRGserver
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
if (toLower(blck_modType) isEqualTo "epoch") then
{
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";
waitUntil {(isNil "blck_configsEpochLoaded") isEqualTo false;};
waitUntil{blck_configsEpochLoaded};
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
{
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";
//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
{
diag_log format["[blckeagles] Dynamic Configs Enabled"];
diag_log format["[blckeagls] Dynamic Configs Enabled"];
execVM "\q\addons\custom_server\Configs\blck_dynamicConfigs.sqf";
};

View File

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

View File

@ -94,7 +94,7 @@ _misc = [];
_baseClasses = [];
_classnameList = [];
diag_log format["blck_modType = %1",blck_modType];
//diag_log format["blck_modType = %1",blck_modType];
if (toLower(blck_modType) isEqualTo "epoch") then
{
_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;
};
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;
//diag_log _temp;
_itemCategory = _temp select 0;
_itemType = _temp select 1;
_price = blck_maximumItemPriceInAI_Loadouts;
if (blck_modType isEqualTo "Epoch") then
if (toLower(blck_modType) isEqualTo "epoch") then
{
_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");
};
//diag_log format["_fnc_dynamicConfigsConfigurator: _price = %1",_price];
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
{
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 "RocketLauncher": {if !(_x in blck_blacklistedLaunchersAndSwingWeapons) then {_wpnLauncher 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
{
//diag_log format["Evaluating Item class name %1",_x];
switch (_itemType) do
{
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 "Compass": {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 "": {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}};
case "NVGoggles": {if !(_x in blck_blacklistedItems) then {_NVG pushBack _x}};
};
};
if (_itemCategory isEqualTo "Equipment") then
{
//diag_log format["Evaluating Equipment class name %1",_x];
switch (_itemType) do
{
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)];};
#endif
} 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

View File

@ -28,20 +28,20 @@ if ((toLower blck_modType) isEqualTo "exile") then
private _blck_loadingStartTime = diag_tickTime;
#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
call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_functions.sqf";
diag_log format["[blckeagls] functions compiled in %1 seconds",diag_tickTime-_blck_loadingStartTime];
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] debug mode settings:blck_debugON = %1 blck_debugLevel = %2",blck_debugON,blck_debugLevel];
// Load any user-defined specifications or overrides
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";
@ -80,37 +80,26 @@ switch (blck_simulationManager) do
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] 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};
diag_log "[blckeagls] Player Connected, spawning missions";
} else {
diag_log "[blckeagls] spawning Missions";
diag_log "[blckeagls] Debug mode ON, proceding without players";
};
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";
diag_log "[blckeagls] SLS:: -- >> Static Loot Spawner Done";
}else{
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";
};
@ -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;
};
#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
[] spawn blck_fnc_mainThread;

View File

@ -1,6 +1,7 @@
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
private ["_version","_versionDate"];
blck_version = "6.88 Build 163";
blck_version = format["6.88 Build %1",blck_buildNumber];
_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;
publicVariable blck_pvs_version;