more minor fixes

This commit is contained in:
Ghostrider-GRG- 2018-06-02 08:10:30 -04:00
parent 3adc530855
commit 1d24e8486b
19 changed files with 77 additions and 3026 deletions

View File

@ -1,100 +0,0 @@
/*
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";
//diag_log format["starting _fnc_mainThread with time = %1",diag_tickTime];
#ifdef GRGserver
diag_log "running GRGserver version of _fnc_mainThread";
#endif
private["_timer1sec","_timer5sec","_timer20sec","_timer5min","_timer5min"];
_timer1sec = diag_tickTime;
_timer5sec = diag_tickTime;
_timer20sec = diag_tickTime;
_timer1min = diag_tickTime;
_timer5min = diag_tickTime;
while {true} do
{
uiSleep 1;
//diag_log format["mainThread:: -- > time = %1",diag_tickTime];
if (diag_tickTime > _timer1sec) then
{
[] call blck_fnc_vehicleMonitor;
#ifdef GRGserver
[] call blck_fnc_broadcastServerFPS;
#endif
_timer1sec = diag_tickTime + 1;
//diag_log format["[blckeagls] _fnc_mainThread 1 Second Timer Handled | Timstamp %1",diag_tickTime];
};
if (diag_tickTime > _timer5sec) then
{
_timer5sec = diag_tickTime + 5;
[] call blck_fnc_missionGroupMonitor;
[] call blck_fnc_sm_monitorStaticMissionUnits;
//[] call blck_fnc_sm_checkForPlayerNearMission;
//diag_log format["[blckeagls] _fnc_mainThread 5 Second Timer Handled | Timstamp %1",diag_tickTime];
};
if (diag_tickTime > _timer20sec) then
{
[] call blck_fnc_cleanupAliveAI;
[] call blck_fnc_cleanupObjects;
[] call blck_fnc_cleanupDeadAI;
_timer20sec = diag_tickTime + 20;
//diag_log format["[blckeagls] _fnc_mainThread 20 Second Timer Handled | Timstamp %1",diag_tickTime];
};
if ((diag_tickTime > _timer1min)) then
{
//diag_log format["_fnc_mainThread: 60 second events run at %1",diag_tickTime];
_timer1min = diag_tickTime + 60;
//diag_log format["_fnc_mainThread: blck_missionsRunning = %1 | blck_maxSpawnedMissions = %2", blck_missionsRunning,blck_maxSpawnedMissions];
[] call blck_fnc_spawnPendingMissions;
<<<<<<< HEAD
diag_log format["_fnc_mainThrea: blck_numberUnderwaterDynamicMissions = %1 | blck_dynamicUMS_MissionsRuning = %2",blck_numberUnderwaterDynamicMissions,blck_dynamicUMS_MissionsRuning];
if (blck_dynamicUMS_MissionsRuning < blck_numberUnderwaterDynamicMissions) then
{
//diag_log "Adding dynamic UMS Mission";
//private ["_spawnPos"];
//_spawnPos = call blck_fnc_findShoreLocation;
//[_spawnPos] spawn blck_fnc_addDyanamicUMS_Mission;
[] spawn blck_fnc_addDyanamicUMS_Mission;
//_spawnPos call compileFinal preprocessFileLineNumbers format["q\addons\custom_server\Missions\UMS\dynamicMissiones\%1.sqf";
=======
//diag_log format["_fnc_mainThread: blck_numberUnderwaterDynamicMissions = %1 | blck_dynamicUMS_MissionsRuning = %2",blck_numberUnderwaterDynamicMissions,blck_dynamicUMS_MissionsRuning];
if (blck_dynamicUMS_MissionsRuning < blck_numberUnderwaterDynamicMissions) then
{
//diag_log "Adding dynamic UMS Mission";
[] spawn blck_fnc_addDyanamicUMS_Mission;
>>>>>>> Experimental
};
//diag_log format["_fnc_mainThread: control returned to _fnc_mainThread from _fnc_addDynamicUMS_Mission at %1",diag_tickTime];
if (blck_useHC) then
{
//diag_log format["_mainThread:: calling blck_fnc_passToHCs at diag_tickTime = %1",diag_tickTime];
[] call blck_fnc_HC_passToHCs;
};
if (blck_useTimeAcceleration) then
{
[] call blck_fnc_timeAcceleration;
};
#ifdef blck_debugMode
//diag_log format["_fnc_mainThread: active SQFscripts include: %1",diag_activeSQFScripts];
diag_log format["_fnc_mainThread: active scripts include: %1",diag_activeScripts];
#endif
//diag_log format["[blckeagls] _fnc_mainThread 60 Second Timer Handled | Timstamp %1",diag_tickTime];
};
if (diag_tickTime > _timer5min) then
{
diag_log format["[blckeagls] Timstamp %8 |Dynamic Missions Running %1 | UMS Running %2 | Vehicles %3 | Groups %4 | Server FPS %5 | Server Uptime %6 Min | Missions Run %7",blck_missionsRunning,blck_dynamicUMS_MissionsRuning,count blck_monitoredVehicles,count blck_monitoredMissionAIGroups,diag_FPS,floor(diag_tickTime/60),blck_missionsRun, diag_tickTime];
_timer5min = diag_tickTime + 300;
};
};

View File

@ -16,12 +16,12 @@ private["_cleanupAliveAITimer","_cleanupCompositionTimer","_isScubaMission"];
_fn_missionCleanup = {
params["_mines","_objects","_blck_AllMissionAI","_mission","_cleanupAliveAITimer","_cleanupCompositionTimer",["_isScubaMission",false]];
//diag_log format["_fn_missionCleanup: blck_missionsRunning Started at %1", blck_missionsRunning];
diag_log format["_fn_missionCleanup: blck_missionsRunning Started at %1", blck_missionsRunning];
[_mines] call blck_fnc_clearMines;
[_objects, _cleanupCompositionTimer] call blck_fnc_addObjToQue;
[_blck_AllMissionAI, (_cleanupAliveAITimer)] call blck_fnc_addLiveAItoQue;
blck_missionsRunning = blck_missionsRunning - 1;
//diag_log format["_fn_missionCleanup: blck_missionsRunning reset to %1", blck_missionsRunning];
diag_log format["_fn_missionCleanup: blck_missionsRunning reset to %1", blck_missionsRunning];
blck_ActiveMissionCoords = blck_ActiveMissionCoords - [ _coords];
if !(_isScubaMission) then
{
@ -43,7 +43,7 @@ _fn_missionCleanup = {
diag_log format["_fnc_endMission: _this = %1",_this];
#endif
params["_mines","_objects","_crates","_blck_AllMissionAI","_endMsg","_blck_localMissionMarker","_coords","_mission",["_endCondition",0],["_vehicles",[]],["_isScubaMission",false]];
//diag_log format["_fnc_endMission (44): _blck_localMissionMarker %1 | _coords %2 | _mission %3 | _endCondition %4",_blck_localMissionMarker,_coords,_mission,_endCondition];
diag_log format["_fnc_endMission (44): _blck_localMissionMarker %1 | _coords %2 | _mission %3 | _endCondition %4",_blck_localMissionMarker,_coords,_mission,_endCondition];
#ifdef blck_debugMode
if (blck_debugLevel > 0) then
{
@ -82,7 +82,7 @@ _fn_missionCleanup = {
};
if (_endCondition == 0) then // Normal Mission End State
{
//diag_log format["_fnc_endMission: mission end condition == 0 | setting all timers to 0"];
diag_log format["_fnc_endMission: mission end condition == 0 | setting all timers to 0"];
private["_cleanupAliveAITimer","_cleanupCompositionTimer"];
if (blck_useSignalEnd) then
{

View File

@ -623,18 +623,18 @@ if (blck_showCountAliveAI) then
}forEach blck_missionMarkers;
};
//diag_log format["_fnc_missionSpawner (557) Build 123: _secureAsset = %1 | {alive _assetSpawned} = %2 | assetType = %3",_secureAsset,alive _assetSpawned, _assetSpawned getVariable["assetType",-1]];
diag_log format["_fnc_missionSpawner (557) Build 123: _secureAsset = %1 | {alive _assetSpawned} = %2 | assetType = %3",_secureAsset,alive _assetSpawned, _assetSpawned getVariable["assetType",-1]];
if (_assetSpawned getVariable["assetType",0] isEqualTo 1) then
{
//diag_log "Processing Mission End for Hostage Rescue";
diag_log "Processing Mission End for Hostage Rescue";
_assetSpawned setCaptive false;
_assetSpawned setVariable["GMSAnimations",[""],true];
[_assetSpawned,""] remoteExec["switchMove",-2];;
uiSleep 0.1;
_assetSpawned enableAI "ALL";
private _newPos = (getPos _assetSpawned) getPos [1000, random(360)];
//diag_log format["processing domove for hostage with current pos = %1 and new pos = %2",getPos _assetSpawned, _newPos];
diag_log format["processing domove for hostage with current pos = %1 and new pos = %2",getPos _assetSpawned, _newPos];
(group _assetSpawned) setCurrentWaypoint [group _assetSpawned, 0];
[group _assetSpawned,0] setWaypointPosition [_newPos,0];
[group _assetSpawned,0] setWaypointType "MOVE";
@ -642,19 +642,19 @@ if (_assetSpawned getVariable["assetType",0] isEqualTo 1) then
if (_assetSpawned getVariable["assetType",0] isEqualTo 2) then
{
//diag_log format["Processing Mission End for Arrest of Leader %1 with endAnimation %2",_assetSpawned,_assetSpawned getVariable["endAnimation",""]];
diag_log format["Processing Mission End for Arrest of Leader %1 with endAnimation %2",_assetSpawned,_assetSpawned getVariable["endAnimation",""]];
[_assetSpawned,""] remoteExec["switchMove",-2];
_assetSpawned setVariable["GMSAnimations",_assetSpawned getVariable["endAnimation",["AidlPercMstpSnonWnonDnon_AI"]],true];
[_assetSpawned,selectRandom(_assetSpawned getVariable["endAnimation",["AidlPercMstpSnonWnonDnon_AI"]])] remoteExec["switchMove",-2];
};
//diag_log format["_fnc_missionSpawner (579) Build 123: <calling blck_fnc_endMission> _secureAsset = %1 | {alive _assetSpawned} = %2 | assetType = %3",_secureAsset,alive _assetSpawned, _assetSpawned getVariable["assetType",-1]];
diag_log format["_fnc_missionSpawner (579) Build 123: <calling blck_fnc_endMission> _secureAsset = %1 | {alive _assetSpawned} = %2 | assetType = %3",_secureAsset,alive _assetSpawned, _assetSpawned getVariable["assetType",-1]];
_result = [_mines,_objects,_crates,_blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_markerClass, 0] call blck_fnc_endMission;
#ifdef blck_debugMode
if (blck_debugLevel > 2) then {diag_log format["[blckeagls] missionSpawner:: (507)end of mission: blck_fnc_endMission has returned control to _fnc_missionSpawner"]};
#endif
//diag_log format["_fnc_missionSpawner (643) Mission Completed | _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName];
diag_log format["_fnc_missionSpawner (643) Mission Completed | _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName];
blck_missionsRun = blck_missionsRun + 1;
diag_log format["_fnc_missionSpawner (644): Total Dyanamic Land and UMS Run = %1", blck_missionsRun];

View File

@ -20,5 +20,5 @@ _crate setVariable["chute",_chute];
_chute setPos [getPos _chute select 0, getPos _chute select 1, _dropHeight];
_crate setPos (getPos _chute);
_crate attachTo [_chute, [0,0,0]];
if (_crateVisualMarker) then {[_crate] spawn blck_fnc_crateMarker};
if (_crateVisualMarker) then {[_crate] spawn blck_fnc_crateMapMarker};

View File

@ -77,7 +77,7 @@ blck_fnc_paraDropObject = compileFinal preprocessFileLineNumbers "\q\addons\cust
blck_fnc_loadMissionCrate = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_loadMissionCrate.sqf";
blck_fnc_crateMoved = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_crateMoved.sqf";
blck_fnc_crateMarker = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_crateMarker.sqf";
//blck_fnc_crateMapMarker = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_crateMapMarker.sqf";
blck_fnc_crateMapMarker = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_crateMapMarker.sqf";
// Group-related functions
blck_fnc_spawnGroup = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_spawnGroup.sqf"; // Spawn a single group and populate it with AI units]

View File

@ -1,378 +0,0 @@
/*
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
--------------------------
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";
#ifdef blck_milServer
execVM "\q\addons\custom_server\Configs\blck_configs_mil.sqf";
if (true) exitWith {};
#endif
diag_log "[blckeagls] Loading configurations for Non-militarized servers: blck_configs.sqf";
/***************************************************************
BLCKEAGLS SUPPLEMENTAL MODULES
****************************************************************
Configuration for Addons that support the overall Mission system.
These are:
1) a module to spawn map addons generated with the Eden Editor
2) And a moduel to spawn static loot crates at specific location
3) A time acceleration module.
*/
blck_spawnMapAddons = true; // When true map addons will be spawned based on parameters define in custum_server\MapAddons\MapAddons_init.sqf
blck_spawnStaticLootCrates = true; // When true, static loot crates will be spawned and loaded with loot as specified in custom_server\SLS\SLS_init_Epoch.sqf (or its exile equivalent).
// Note that you can define map-specific variants in custom_server\configs\blck_custom_config.sqf
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 = 0.25; // Daytime time accelearation
blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation
blck_timeAccelerationNight = 12; // Nighttim time acceleration
/**************************************************************
BLACKLIST LOCATIONS
**************************************************************/
// if true then missions will not spawn within 1000 m of spawn points for Altis, Bornholm, Cherno, Esseker or stratis.
blck_blacklistTraderCities = true; // Set this = true if you would like the mission system to automatically search for the locations of the Epoch/Exile trader cities. Note that these are added to the list of blacklisted locations for Epoch for the most common maps.
/***********************************************************
GENERAL MISSION SYSTEM CONFIGURATION
***********************************************************/
////////
// Headless Client Configurations
blck_useHC = true; // Experimental (death messages and rewards not yet working).
///////////////////////////////
// Kill message configurations
// These determine whether and when messages are sent to players regarding AI Kills or illegal kills that might damage a vehicle.
blck_useKillMessages = true; // when true a message will be broadcast to all players each time an AI is killed; may impact server performance.
blck_useKillScoreMessage = true; // when true a tile is displayed to the killer with the kill score information
blck_useIEDMessages = true; // Displayes a message when a player vehicle detonates and IED (such as would happen if a player killed AI with a forbidden weapon).
///////////////////////////////
// MISSION MARKER CONFIGURATION
// blck_labelMapMarkers: Determines if when the mission composition provides text labels, map markers with have a text label indicating the mission type
//When set to true,"arrow", text will be to the right of an arrow below the mission marker.
// When set to true,"dot", ext will be to the right of a black dot at the center the mission marker.
blck_labelMapMarkers = [true,"center"];
blck_preciseMapMarkers = true; // Map markers are/are not centered at the loot crate
<<<<<<< HEAD
blck_showCountAliveAI = true;
=======
blck_showCountAliveAI = false;
>>>>>>> Experimental
//Minimum distance between missions
blck_MinDistanceFromMission = 1500;
blck_minDistanceToBases = 900;
blck_minDistanceToPlayer = 900;
blck_minDistanceFromTowns = 300;
///////////////////////////////
// Mission Smoke and Signals
///////////////////////////////
// global loot crate options
// Options to spawn a smoking wreck near the crate. When the first parameter is true, a wreck or junk pile will be spawned.
// It's position can be either "center" or "random". smoking wreck will be spawned at a random location between 15 and 50 m from the mission.
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.9; // 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.
// This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission.
blck_loadCratesTiming = "atMissionSpawn"; // valid choices are "atMissionCompletion" and "atMissionSpawn";
// Pertains only to crates spawned at mission spawn.
// This sets the default but can be overridden for specific missions by defining _loadCratesTiming
// Examples:
// To spawn crates at mission start loaded with gear set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionSpawn"
// To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion"
// To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned.
// To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned.
///////////////////////////////
// PLAYER PENALTIES
///////////////////////////////
blck_RunGear = true; // When set to true, AI that have been run over will ve stripped of gear, and the vehicle will be given blck_RunGearDamage of damage.
blck_RunGearDamage = 0.2; // Damage applied to player vehicle for each AI run over
blck_VK_Gear = true; // When set to true, AI that have been killed by a player in a vehicle in the list of forbidden vehicles or using a forbiden gun will be stripped of gear and the vehicle will be given blck_RunGearDamage of damage
blck_VK_RunoverDamage = true; // when the AI was run over blck_RunGearDamage of damage will be applied to the killer's vehicle.
blck_VK_GunnerDamage = false; // when the AI was killed by a gunner on a vehicle that is is in the list of forbidden vehicles, blck_RunGearDamage of damage will be applied to the killer's vehicle each time an AI is killed with a vehicle's gun.
blck_forbidenVehicles = ["B_MRAP_01_hmg_F","O_MRAP_02_hmg_F","I_MRAP_03_hmg_F","B_MRAP_01_hmg_F","O_MRAP_02_hmg_F"]; // Add any vehicles for which you wish to forbid vehicle kills
// For a listing of the guns mounted on various land vehicles see the following link: https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Vehicle_Weapons
// HMG_M2 is mounted on the armed offroad that is spawned by Epoch
blck_forbidenVehicleGuns = ["LMG_RCWS","LMG_M200","HMG_127","HMG_127_APC","HMG_M2","HMG_NSVT","GMG_40mm","GMG_UGV_40mm","autocannon_40mm_CTWS","autocannon_30mm_CTWS","autocannon_35mm","LMG_coax","autocannon_30mm","HMG_127_LSV_01"]; // Add any vehicles for which you wish to forbid vehicle kills, o
///////////////////////////////
// MISC MISSION PARAMETERS
///////////////////////////////
blck_useKilledAIName = true; // When false, the name of the killer (player), weapon and distance are displayed; otherwise the name of the player, distance and name of AI unit killed are shown.
blck_useMines = false; // when true mines are spawned around the mission area. these are cleaned up when a player reaches the crate. Turn this off if you have vehicle patrols.
blck_cleanupCompositionTimer = 60*30; // Mission objects will be deleted after the mission is completed after a deley set by this timer.
blck_cleanUpLootChests = false; // when true, loot crates will be deleted together with other mission objects.
blck_MissionTimeout = 60*60; // 60 min - missions will timeout and respawn in another location. This prevents missions in impossible locations from persisting.
///////////////////////////////
// Paratroop Settings
// AI paratrooper reinforcement paramters
// The behavior of these can be linked to some degree to the spawning of patrolling helis.
// For example, if you always want a helicopter to spawn paratroops set the value 1.
// Recommended that you disable paratroops if using muliple aircraft/vehicle patrols
blck_chanceParaBlue = 0; // [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_chanceParaRed = 0;
blck_noParaRed = 3;
blck_chanceParaGreen = 0;
blck_noParaGreen = 4;
blck_chanceParaOrange = 0;
blck_noParaOrange = 4;
// Supplemental Loot Parameters.
///////////////////////////////
// Heli Patrol Heli Types
// Armed Helis
//////////////////////////////
_blck_littleBirds = ["B_Heli_Light_01_armed_F"]; // AH-9 Pawnee (WEST)
_blck_armed_hellcats = ["I_Heli_light_03_F"];
_blck_armed_orcas = ["O_Heli_Light_02_F","O_Heli_Light_02_v2_F"];
_blck_armed_ghosthawks = ["B_Heli_Transport_01_F","B_Heli_Transport_01_camo_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_heavyAttackHelis = ["O_Heli_Attack_02_F","O_Heli_Attack_02_black_F"];
_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
"B_Plane_CAS_01_F", // A-164 Wipeout (CAS)
"B_Plane_Fighter_01_F" // F/A-181 Black Wasp II
];
blck_blacklisted_heli_ammo = ["24Rnd_missiles","24Rnd_PG_missiles","12Rnd_PG_missiles","2Rnd_LG_scalpel","6Rnd_LG_scalpel","8Rnd_LG_scalpel","M_Scalpel_AT ","14Rnd_80mm_rockets","38Rnd_80mm_rockets"];
blck_blacklisted_heli_weapons = ["missiles_SCALPEL","missiles_titan","rockets_Skyfire","missiles_DAGR","missiles_DAR"];
///////////////////////////////
// Heli Patrol Settings
///////////////////////////////
blck_chanceHeliPatrolBlue = 0; //[0 - 1] Set to 0 to deactivate and 1 to always have a heli spawn over the mission center and patrol the mission area.
// The chance of paratroops dropping from the heli is defined by blck_chancePara(Blue|Red|Green|Orange) above.
// Recommend setting the change = 1 if you wish to spawn multiple helis at a mission.
blck_patrolHelisBlue = _blck_littleBirds;
blck_noPatrolHelisBlue = 1;
blck_chanceHeliPatrolRed = 0.1; // 0.4;
blck_patrolHelisRed = _blck_littleBirds;
blck_noPatrolHelisRed = 1;
blck_chanceHeliPatrolGreen = 0.4;
blck_patrolHelisGreen = _blck_littleBirds;
blck_noPatrolHelisGreen = 1;
blck_chanceHeliPatrolOrange = 0.5;
blck_patrolHelisOrange = _blck_armed_hellcats+_blck_armed_orcas;
blck_noPatrolHelisOrange = 1;
////////////////////
// Enable / Disable Missions
////////////////////
<<<<<<< HEAD
// Maximum number of missions shown on the map at any one time.
blck_maxSpawnedMissions = 9; // This determins the total number of missions spawned of all types. set this to the total of missions to be spawned to be sure all are always spawned. set this to less than that total
// to force spawning more limited missions like having only 2 on th emap at any one time.
//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_enableGreenMissions = 1;
blck_enableRedMissions = 1;
blck_enableBlueMissions = 1;
blck_numberUnderwaterDynamicMissions = 1; // Values from 0 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned.
=======
// Change this value to reduce the number of spawned missions at any one time.
blck_maxSpawnedMissions = 4;
//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_enableGreenMissions = 1;
blck_enableRedMissions = 2;
blck_enableBlueMissions = 2;
blck_numberUnderwaterDynamicMissions = 3; // Values from -1 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned.
>>>>>>> Experimental
////////////////////
// MISSION TIMERS
////////////////////
// Reduce to 1 sec for immediate spawns, or longer if you wish to space the missions out
blck_TMin_Orange = 250;
blck_TMin_Green = 200;
blck_TMin_Blue = 120;
blck_TMin_Red = 150;
blck_TMin_UMS = 180;
//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;
///////////////////////////////
// AI VEHICLE PATROL PARAMETERS
///////////////////////////////
blck_useVehiclePatrols = true; // When true vehicles will be spawned at missions and will patrol the mission area.
blck_killEmptyAIVehicles = false; // when true, the AI vehicle will be extensively damaged once all AI have gotten outor been killed.
blck_vehicleDeleteTimer = 120*60;
////////////////////
// Mission Vehicle Settings
////////////////////
//Defines how many AI Vehicles to spawn. Set this to -1 to disable spawning of static weapons or vehicles. To discourage players runniing with with vehicles, spawn more B_GMG_01_high
blck_SpawnVeh_Orange = [3,4]; // Number of static weapons at Orange Missions
blck_SpawnVeh_Green = [2,3]; // Number of static weapons at Green Missions
blck_SpawnVeh_Blue = 1; // Number of static weapons at Blue Missions
blck_SpawnVeh_Red = 1; // Number of static weapons at Red Missions
///////////////////////////////
// AI STATIC WEAPON PARAMETERS
///////////////////////////////
blck_useStatic = true; // When true, AI will man static weapons spawned 20-30 meters from the mission center. These are very effective against most vehicles
blck_killEmptyStaticWeapons = true; // When true, static weapons will have damage set to 1 when the AI manning them is killed.
blck_staticWeapons = ["B_HMG_01_high_F","B_GMG_01_high_F"/*,"O_static_AT_F"*/]; // [0.50 cal, grenade launcher, AT Launcher]
////////////////////
// Mission Static Weapon Settings
////////////////////
// Defines how many static weapons to spawn. Set this to -1 to disable spawning
blck_SpawnEmplaced_Orange = [3,4]; // Number of static weapons at Orange Missions
blck_SpawnEmplaced_Green = [2,3]; // Number of static weapons at Green Missions
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
****************************************************************/
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_groupFormation = "WEDGE"; // Possibilities include "WEDGE","VEE","FILE","DIAMOND"
blck_addAIMoney = true;
blck_chanceBackpack = 0.3; // Chance AI will be spawned with a backpack
blck_useNVG = true; // When true, AI will be spawned with NVG if is dark
blck_removeNVG = false; // When true, NVG will be removed from AI when they are killed.
blck_useLaunchers = false; // When true, some AI will be spawned with RPGs; they do not however fire on vehicles for some reason so I recommend this be set to false for now
//blck_launcherTypes = ["launch_NLAW_F","launch_RPG32_F","launch_B_Titan_F","launch_I_Titan_F","launch_O_Titan_F","launch_B_Titan_short_F","launch_I_Titan_short_F","launch_O_Titan_short_F"];
blck_launcherTypes = ["launch_RPG32_F"];
blck_launchersPerGroup = 1; // Defines the number of AI per group spawned with a launcher
blck_launcherCleanup = true;// When true, launchers and launcher ammo are removed from dead AI.
blck_minimumPatrolRadius = 22; // AI will patrol within a circle with radius of approximately min-max meters. note that because of the way waypoints are completed they may more more or less than this distance.
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
// 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.
// How precisely player locations will be revealed to AI after an AI kill
// values are ordered as follows [blue, red, green, orange];
blck_AIAlertDistance = [250,325,450,500]; // 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.0; // 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 = 20;
blck_MaxAI_Orange = 25;
blck_AIGrps_Orange = 5;
blck_SkillsOrange = [
["aimingAccuracy",[0.35,0.45]],["aimingShake",[0.65,0.75]],["aimingSpeed",[0.65,0.75]],["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 = 16;
blck_MaxAI_Green = 21;
blck_AIGrps_Green = 4;
blck_SkillsGreen = [
["aimingAccuracy",0.3],["aimingShake",0.65],["aimingSpeed",0.65],["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 = 15;
blck_AIGrps_Red = 3;
blck_SkillsRed = [
["aimingAccuracy",0.2],["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 = 12;
blck_AIGrps_Blue = 2;
blck_SkillsBlue = [
["aimingAccuracy",0.1],["aimingShake",0.5],["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;
private["_modType"];
_modType = [] call blck_fnc_getModType;
if (_modType isEqualTo "Epoch") then
{
diag_log format["[blckeagls] Loading Mission System using Parameters for %1",_modType];
execVM "\q\addons\custom_server\Configs\blck_configs_epoch.sqf";
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";
};
if (_modType isEqualTo "Exile") then
{
diag_log format["[blckeagls] Loading Mission System using Parameters for %1",_modType];
execVM "\q\addons\custom_server\Configs\blck_configs_exile.sqf";
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";};
};
blck_configsLoaded = true;

File diff suppressed because it is too large Load Diff

View File

@ -48,7 +48,7 @@
***********************************************************/
////////
// Headless Client Configurations
blck_useHC = false; //
blck_useHC = true; //
///////////////////////////////
// Kill message configurations

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,108 +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;
<<<<<<< HEAD
blck_enableRedMissions = -2;
blck_enableBlueMissions = -2;
blck_numberUnderwaterDynamicMissions = 3;
blck_enableHunterMissions = -1;
blck_enableScoutsMissions = -1;
blck_maxCrashSites = 0;
=======
blck_enableRedMissions = 1;
blck_enableBlueMissions = 1;
blck_numberUnderwaterDynamicMissions = -1;
blck_enableHunterMissions = 1;
blck_enableScoutsMissions = 1;
blck_maxCrashSites = 1;
>>>>>>> Experimental
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 = -4; // 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",
@ -1359,3 +1266,4 @@ blck_NIA_WeaponsSniper = [
"hlc_rifle_psg1",
"hlc_rifle_psg1A1"
];
*/

File diff suppressed because it is too large Load Diff

View File

@ -14,11 +14,7 @@
#define useAPEX
//#define useDynamicSimulation
//#define blck_debugMode
<<<<<<< HEAD
//#define blck_milServer
=======
//#define blck_triggerLoopCompleteTime 40*60
//#define blck_milServer
>>>>>>> Experimental

View File

@ -91,11 +91,7 @@ _missionLootVehicles = [
]; // Parameters are "vehiclel type", offset relative to mission center, loot array, items to load from each category of the loot array.
// ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/];
<<<<<<< HEAD
_missionGroups =
=======
_missionGroups =
>>>>>>> Experimental
[
//_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"];
[[-10.9121,-10.9824,-1.20243],5,7,"Green",5,12],
@ -110,11 +106,7 @@ _missionEmplacedWeapons = [
["O_static_AT_F",[-10,10,0]]
]; // can be used to define the type and precise placement of static weapons [["wep",[1,2,3]] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used
<<<<<<< HEAD
_missionPatrolVehicles = [
=======
_missionPatrolVehicles = [
>>>>>>> Experimental
["B_MRAP_01_hmg_F",[27.8945,100.275,0],0,[true,false]],
["B_MRAP_01_hmg_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]],
["B_MRAP_01_gmg_F",[-87.8457,-109.947,7.15256e-007],0,[true,false]]

View File

@ -25,11 +25,7 @@ _markerColor = "ColorRed";
_markerMissionName = "Medical Camp";
_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise"
_missionLandscape = [
<<<<<<< HEAD
["Flag_AAF_F",[3,3,0],0,[false,false]],
=======
["Flag_AAF_F",[0,0,0],0,[false,false]],
>>>>>>> Experimental
["Land_dp_transformer_F",[1.698242,-10.4668,-0.00763702],271.32,[true,true]],
["Land_Wreck_BRDM2_F",[1.37012,13.498,0.00109863],184.487,[true,true]],
["Land_BagBunker_Small_F",[18.4512,-3.66406,0.00780487],305.003,[true,true]],

View File

@ -26,10 +26,7 @@ _markerColor = "ColorRed";
_markerMissionName = "Bandit Camp";
_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise"
_missionLandscape = [
<<<<<<< HEAD
=======
["Flag_AAF_F",[0,0,0],0,[false,false]],
>>>>>>> Experimental
["Land_CampingChair_V1_F",[1.32227,2.07813,8.2016e-005],108.293,[false,false]],
["Land_CampingChair_V1_F",[-2.01465,2.91992,3.05176e-005],236.049,[false,false]],
["FirePlace_burning_F",[0.0302734,4.26563,2.47955e-005],359.997,[false,false]],

View File

@ -0,0 +1,25 @@
/*
by Ghostrider [GRG]
for ghostridergaming
12/5/17
--------------------------
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 ["_staticMissions"];
_staticMissions = [
// [mod (Epoch, Exile), map (Altis, Tanoa etc), mission center, eg [10445,2014,0], filename.sqf (name of static mission template for that mission)];
["Epoch","Altis","staticMissionExample2_Epoch.sqf"],
["Exile","Altis","staticMissionExample2_Exile.sqf"]
];
diag_log "[blckeagls] GMS_StaticMissions_Lists_Epoch.sqf <Loaded>";
_staticMissions

View File

@ -0,0 +1,23 @@
/*
by Ghostrider [GRG]
for ghostridergaming
12/5/17
--------------------------
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 ["_staticMissions"];
_staticMissions = [
// [mod (Epoch, Exile), map (Altis, Tanoa etc), mission center, eg [10445,2014,0], filename.sqf (name of static mission template for that mission)];
["Exile","Altis","staticMissionExample2.sqf"]
];
diag_log "[blckeagls] GMS_StaticMissions_Lists_Exile.sqf <Loaded>";
_staticMissions

View File

@ -11,34 +11,23 @@
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
//params["_pos"];
private["_UMS_mission","_waitTime","_mission","_pos"];
<<<<<<< HEAD
=======
if (count blck_dynamicUMS_MissionList == 0) exitWith
{
blck_numberUnderwaterDynamicMissions = -1;
diag_log "No Dynamic UMS Missions Listed <spawning disabled>";
};
>>>>>>> Experimental
_UMS_mission = selectRandom blck_dynamicUMS_MissionList;
_waitTime = (blck_TMin_UMS) + random(blck_TMax_UMS - blck_TMin_UMS);
_mission = format["%1%2","Mafia Pirates",floor(random(1000000))];
_pos = call blck_fnc_findShoreLocation;
<<<<<<< HEAD
diag_log format["_fnc_addDynamicUMS_Mission: blck_dynamicUMS_MissionsRuning = %1 | blck_missionsRunning = %2 | blck_UMS_ActiveDynamicMissions = %3",blck_dynamicUMS_MissionsRuning,blck_missionsRunning,blck_UMS_ActiveDynamicMissions];
=======
#ifdef blck_debugMode
if (blck_debugLevel >= 2) then {diag_log format["_fnc_addDynamicUMS_Mission: blck_dynamicUMS_MissionsRuning = %1 | blck_missionsRunning = %2 | blck_UMS_ActiveDynamicMissions = %3",blck_dynamicUMS_MissionsRuning,blck_missionsRunning,blck_UMS_ActiveDynamicMissions]};;
#endif
>>>>>>> Experimental
blck_UMS_ActiveDynamicMissions pushBack _pos;
blck_missionsRunning = blck_missionsRunning + 1;
blck_dynamicUMS_MissionsRuning = blck_dynamicUMS_MissionsRuning + 1;
//diag_log format["[blckeagls] UMS Spawner:-> waiting for %1",_waitTime];
uiSleep _waitTime;
//diag_log format["[blckeagls] UMS Spawner:-> spawning mission %1",_UMS_mission];
<<<<<<< HEAD
[_pos,_mission] call compileFinal preprocessFileLineNumbers format["q\addons\custom_server\Missions\UMS\dynamicMissions\%1",_UMS_mission];
=======
[_pos,_mission] call compileFinal preprocessFileLineNumbers format["q\addons\custom_server\Missions\UMS\dynamicMissions\%1",_UMS_mission];
>>>>>>> Experimental

View File

@ -96,7 +96,7 @@ _fn_setupCrates = {
_blck_localMissionMarker = [format["SLS%1%2",_location select 0, _location select 1],(getPos _crate),"","","ColorGreen",["mil_box",[]]];
diag_log format["[blckeagls] SLS:: spawning diagnostic marker at %1",getPos _crate];
// params["_missionType","_markerPos","_markerLabel","_markerLabelType","_markerColor","_markerType"];
[_blck_localMissionMarker] call blck_fnc_spawnMarker;
[_blck_localMissionMarker] execVM "debug\spawnMarker.sqf";
};
#endif
_crate

View File

@ -1,10 +1,6 @@
private ["_version","_versionDate"];
blck_version = "6.82 Build 133";
blck_version = "6.81 Build 130";
_blck_version = blck_version;
<<<<<<< HEAD
_blck_versionDate = "3-5-18 7:00 AM";
=======
_blck_versionDate = "6-2-18 4:00 PM";
>>>>>>> Experimental
_blck_versionDate = "5-28-18 4:00 PM";
blck_pvs_version = _blck_version;
publicVariable blck_pvs_version;