See below

Fixed some issues with waypoint monitoring.
Deleted unused code.
This commit is contained in:
Chris Cardozo 2018-11-18 14:29:07 -05:00
parent 371d462bb3
commit 747ed55d2e
49 changed files with 1673 additions and 293 deletions

View File

@ -20,5 +20,4 @@ private _Groups_AI_Side = 0;
}forEach allGroups;
//diag_log format["_fnc_groupsOnAISide:: -- >> allGroups = %1 | _Groups_AI_Side = %2",allGroups, _Groups_AI_Side];
// Return the number of groups used.
_Groups_AI_Side

View File

@ -13,7 +13,7 @@
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
params["_obj","_difficulty"];
private _mod = [] call blck_fnc_getModType;
//diag_log format["_fnc_addMoneyToObject: _this = %1",_this];
#ifdef blck_debugMode
{
diag_log format["_fnc_addMoneyToOject: _this select %1 = %2",_foreachindex, _this select _foreachindex];

View File

@ -21,7 +21,7 @@ switch (_returnMode) do
case 0:{_return = (_alive / _total)};
case 1:{_return = [_alive,_total]};
};
//diag_log format["_fnc_countAliveAI: _alive = %1 | _total = %2 | _return = %3",_alive,_total,_return];
_return

View File

@ -9,10 +9,10 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
private["_markerName"];
_markerName = _this select 0;
deleteMarker _markerName;
_markerName = "label" + _markerName;
deleteMarker _markerName;
//diag_log format["deleteMarker complete script for _this = %1",_this];

View File

@ -11,8 +11,8 @@
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
params["_veh"];
clearWeaponCargoGlobal _veh;
clearMagazineCargoGlobal _veh;
clearBackpackCargoGlobal _veh;
clearItemCargoGlobal _veh;
params["_veh"];
clearWeaponCargoGlobal _veh;
clearMagazineCargoGlobal _veh;
clearBackpackCargoGlobal _veh;
clearItemCargoGlobal _veh;

View File

@ -24,13 +24,11 @@ _Arc = 360/_num;
for "_i" from 1 to _num do
{
_currentDir = _currentDir + _Arc;
//diag_log format["spawnEmplaced: _currentDir is %1 for cycle %2",_currentDir,_i];
_dist = round(_minDistance + (random(_maxDistance - _minDistance)));
_newpos = _center getPos [_dist, _currentDir];
//diag_log format["findPositionAlongRadius:: distance of pos %1 from center is %2",_newpos, _newpos distance _center];
_locs pushback _newpos;
};
//diag_log format["_fnc_findPositionsAlongARadius:: _locations = %1",_locations];
_locs

View File

@ -132,33 +132,4 @@ if ((count _coords) > 2) then
};
_coords;
/*
while {_findNew} do {
// test for water nearby
_dist = 100;
for [{_i=0}, {_i<360}, {_i=_i+20}] do
{
_xpos = (_coords select 0) + sin (_i) * _dist;
_ypos = (_coords select 1) + cos (_i) * _dist;
_newPos = [_xpos,_ypos,0];
if (surfaceIsWater _newPos) then
{
_findNew = true;
_i = 361;
};
};
if (toLower(worldName) isEqualTo "taviana") then
{
_tavTest = createVehicle ["SmokeShell",_coords,[], 0, "CAN_COLLIDE"];
_tavHeight = (getPosASL _tavTest) select 2;
deleteVehicle _tavTest;
if (_tavHeight > 100) then {_FindNew = true;};
};
_tries = _tries + 1;
};

View File

@ -12,10 +12,6 @@
//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;
@ -30,9 +26,6 @@ while {true} do
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];
};
@ -41,7 +34,6 @@ while {true} do
_timer5sec = diag_tickTime + 5;
[] call blck_fnc_missionGroupMonitor;
[] call blck_fnc_sm_missionPatrolMonitor;
//diag_log format["[blckeagls] _fnc_mainThread 5 Second Timer Handled | Timstamp %1",diag_tickTime];
};
if (diag_tickTime > _timer20sec) then
@ -76,6 +68,7 @@ while {true} do
{
[] 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];

View File

@ -9,13 +9,12 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
params["_mArray","_count"];
_mArray params["_missionType","_markerPos","_markerLabel","_markerLabelType","_markerColor","_markerType"];
//diag_log "++++++++++++++--- marker label arrow detected";
_name = "ai_count" + _name;
_textPos = [(_pos select 0) + (count toArray (_text) * 12), (_pos select 1) + (_size select 0), 0];
_MainMarker = createMarker [_name, _textPos];

View File

@ -9,7 +9,7 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
//#include "\q\addons\custom_server\Configs\blck_defines.hpp";
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
private["_location","_MainMarker","_name"];
//diag_log format["blck_fnc_missionCompleteMarker:: _this = %1",_this];

View File

@ -1,4 +1,17 @@
/*
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";
//diag_log format["_fnc_nearestPlayers: _this = %1",_this];
params["_coords","_range"];
private["_return","_playerClassNames","_epochClasses","_exileClasses"];

View File

@ -14,9 +14,7 @@
private["_blck_fn_configureRoundMarker"];
_blck_fn_configureRoundMarker = {
//diag_log format["_blck_fn_configureRoundMarker: _this = %1",_this];
// [[""OrangeMarker1"",[11736.1,9272.76,0],""Soylent Green"",""center"",""ColorPink"",[""ellipse"",[250,250],""Cross""]]]"
private["_name","_pos","_color","_size","_MainMarker","_arrowMarker","_labelMarker","_labelType"];
// [_missionType,_markerPos,_markerColor,_markerLabel, _mSize,_markerLabelType,_mShape,_mBrush]
params["_name","_pos","_color","_text","_size","_labelType","_mShape","_mBrush"];
if ((_pos distance [0,0,0]) < 10) exitWith {};
@ -74,7 +72,7 @@ _blck_fn_configureIconMarker = {
params["_mArray"];
private["_marker"];
_mArray params["_missionMarkerName","_markerPos","_markerLabel","_markerLabelType","_markerColor","_markerTypeInfo"];
// add defaults to provide backward compatibility for older missions that do not specify a brush.
_markerTypeInfo params["_mShape",["_mSize",[0,0]],["_mBrush","GRID"]];
//diag_log format["spawnMarker.sqf:: -- >> _missionMarkerName %1 | _markerPos %2 | _markerLabel %3 | _markerLabelType %4 | _markerColor %5 | _markerTypeInfo %6 | _mShape %7",_missionMarkerName,_markerPos,_markerLabel,_markerLabelType,_markerColor,_markerTypeInfo,_mShape];

View File

@ -1,4 +1,14 @@
/*
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";
params["_center","_emplaced","_garrisonGroup"];
private["_obj","_objects"];
@ -13,8 +23,6 @@
_unit = [_group] call blck_fnc_spawnUnit;
_unit moveInGunner _unit;
_wep addMPEventHandler["MPHit",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIVehicle_HandleDamage}];
//_empGroup setVariable["groupVehicle",_wep];
//_wep setVariable["vehicleGroup",_empGroup];
_wep setVariable["GRG_vehType","emplaced"];
[_wep,false] call blck_fnc_configureMissionVehicle;
}forEach _emplaced;

View File

@ -1,12 +1,21 @@
/*
By Ghostrider [GRG]
--------------------------
License
--------------------------
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
params["_center","_landscape"];
// diag_log format["fnc_spawnMissionLandscapeRelative: _center = %1",_center];
private["_obj","_objects"];
_objects = [];
{
_x params["_objClassName","_objRelPos","_objDir"];
_obj = [_objClassName, _objRelPos vectorAdd _center, _objDir,enableSimulationForObject,enableDamageForObject,enableRopesforObject,"CAN_COLLIDE"] call blck_fnc_spawnSingleObject;
_objects pushBack _obj;
}forEach _landscape;
_landscape
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
params["_center","_landscape"];
// diag_log format["fnc_spawnMissionLandscapeRelative: _center = %1",_center];
private["_obj","_objects"];
_objects = [];
{
_x params["_objClassName","_objRelPos","_objDir"];
_obj = [_objClassName, _objRelPos vectorAdd _center, _objDir,enableSimulationForObject,enableDamageForObject,enableRopesforObject,"CAN_COLLIDE"] call blck_fnc_spawnSingleObject;
_objects pushBack _obj;
}forEach _landscape;
_landscape

View File

@ -1,17 +1,27 @@
/*
By Ghostrider [GRG]
--------------------------
License
--------------------------
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
params["_center","_crates"];
private["_crate","_cratesSpawned"];
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
params["_center","_crates"];
private["_crate","_cratesSpawned"];
_cratesSpawned = [];
{
_x params["_objClassName","_objRelPos","_crateLoot","_lootCounts","_objDir"];
_crate = [_objClassName, _objRelPos vectorAdd _center, _objDir] call blck_fnc_spawn_lootCrate;
//_crate setPosATL _objRelPos vectorAdd _center;
_cratesSpawned pushBack _crate;
//_crate setVariable ["LAST_CHECK", 100000];
_crate allowDamage false;
_crate enableRopeAttach false;
_crate
}forEach _crates;
_cratesSpawned
_cratesSpawned = [];
{
_x params["_objClassName","_objRelPos","_crateLoot","_lootCounts","_objDir"];
_crate = [_objClassName, _objRelPos vectorAdd _center, _objDir] call blck_fnc_spawn_lootCrate;
//_crate setPosATL _objRelPos vectorAdd _center;
_cratesSpawned pushBack _crate;
//_crate setVariable ["LAST_CHECK", 100000];
_crate allowDamage false;
_crate enableRopeAttach false;
_crate
}forEach _crates;
_cratesSpawned

View File

@ -1,10 +1,19 @@
/*
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";
params["_objClassName","_objPosn",["_objDir",0],["_enableSimulation",true],["_enableDamage",true],["_enableRopes",true],["_mode","NONE"]];
//diag_log format["_fnc_spawnSingleObject: _objClassName = %1 | _objPosn = %2 | _objPosn = %3",_objClassName,_objPosn,_objDir];
private _obj = createVehicle[_objClassName,_objPosn,[],0,_mode];
_obj setDir _objDir;
_obj allowDamage _enableDamage;
_obj enableDynamicSimulation _enableSimulation;
//diag_log format["created object %1 at %2 heading %3",_obj,getPosATL _obj, getDir _obj];
_obj
params["_objClassName","_objPosn",["_objDir",0],["_enableSimulation",true],["_enableDamage",true],["_enableRopes",true],["_mode","NONE"]];
//diag_log format["_fnc_spawnSingleObject: _objClassName = %1 | _objPosn = %2 | _objPosn = %3",_objClassName,_objPosn,_objDir];
private _obj = createVehicle[_objClassName,_objPosn,[],0,_mode];
_obj setDir _objDir;
_obj allowDamage _enableDamage;
_obj enableDynamicSimulation _enableSimulation;
//diag_log format["created object %1 at %2 heading %3",_obj,getPosATL _obj, getDir _obj];
_obj

View File

@ -14,7 +14,7 @@
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
#ifdef blck_debugMode
//diag_log "_fnc_changeToMoveWaypoint: blck_debugMode enabled";
diag_log "_fnc_changeToMoveWaypoint: blck_debugMode enabled";
#endif
private["_group","_wp","_wpPos","_dis","_arc","_dir","_newPos","_marker","_center","_minDis","_maxDis"];

View File

@ -1,8 +1,5 @@
/*
call as [] call blck_fnc_cleanEmptyGroups;
Deletes any empty groups and thereby prevents errors resulting from createGroup returning nullGroup.
By Ghostrider [GRG]
3/18/17
--------------------------
License
--------------------------

View File

@ -1,8 +1,6 @@
/*
By Ghostrider [GRG]
Copyright 2016
--------------------------
License
--------------------------
@ -15,7 +13,6 @@
private["_groupSpawned"];
_groupSpawned = createGroup [blck_AI_Side, true];
//_groupSpawned setVariable["groupVehicle",objNull];
if (blck_simulationManager == blck_useDynamicSimulationManagement) then
{
_groupSpawned enableDynamicSimulation true;
@ -32,4 +29,4 @@ _groupSpawned setVariable ["blck_group",true,true];
if (blck_debugLevel >= 2) then {diag_log format["_fnc_create_AI_Group: _groupSpawned = %1",_groupSpawned]};
#endif
_groupSpawned
_groupSpawned

View File

@ -1,9 +1,8 @@
// Sets the WP type for WP for the specified group and updates other atributes accordingly.
/*
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last modified 4/23/17
--------------------------
License

View File

@ -17,9 +17,9 @@
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
//diag_log format["_fnc_missionGroupMonitor (4/29:4:09 PM)::-->> running function at diag_tickTime = %1 with blck_fnc_missionGroupMonitor = %2",diag_tickTime,blck_monitoredMissionAIGroups];
#ifdef blck_debugMode
//diag_log format["_fnc_missionGroupMonitor:: blck_debugMode defined"];
diag_log format["_fnc_missionGroupMonitor (4/29:4:09 PM)::-->> running function at diag_tickTime = %1 with blck_fnc_missionGroupMonitor = %2",diag_tickTime,blck_monitoredMissionAIGroups];
//diag_log format["_fnc_missionGroupMonitor:: blck_debugMode defined"];
#endif
_fn_allPlayers = {
private ["_players"];
@ -31,29 +31,10 @@ _fn_allPlayers = {
_players
};
_fn_aliveGroupUnits = {
private["_grp","_aliveUnits"];
_grp = _this select 0;
_aliveUnits = [];
{
if ( alive _x) then {_aliveUnits pushback _x};
} forEach (units _grp);
_aliveUnits
};
////////////////
// local functions
////////////////
_fn_inCombat = {
private["_grp","_targets","_players","_aliveUnits"];
_grp = _this select 0;
_players = [] call _fn_allPlayers;
_aliveUnits = [_grp] call _fn_aliveGroupUnits;
_inCombat = false;
{
_targets = _x findNearestEnemy (position _x);
if !(isNull _targets) exitWith {_inCombat = true};
} forEach _aliveUnits;
//diag_log format["_fn_inCombat::-->> _grp to test is %1 and result is %2",_grp,_inCombat];
_inCombat;
};
_fn_removeEmptyOrNullGroups = {
//diag_log format["_fn_removeEmptyOrNullGroups::-->> excuting function at %1",diag_tickTime];
@ -75,10 +56,20 @@ _fn_removeEmptyOrNullGroups = {
};
};
_fn_centerGroup = {
};
_fn_monitorGroupWaypoints = {
{
private["_timeStamp","_index","_unit","_soldierType"];
/*
#define blck_turnBackRadiusInfantry 800
#define blck_turnBackRadiusVehicles 1000
#define blck_turnBackRadiusHelis 1000
#define blck_turnBackRadiusJets 1500
*/
diag_log format["_fn_monitorGroupWaypoints - radii: on foot %1 | vehicle %2 | heli %3 | jet %4",blck_turnBackRadiusInfantry,blck_turnBackRadiusVehicles,blck_turnBackRadiusHelis,blck_turnBackRadiusJets];
_timeStamp = _x getVariable ["timeStamp",0];
if (_timeStamp isEqualTo 0) then {
_x setVariable["timeStamp",diag_tickTime];
@ -118,9 +109,9 @@ _fn_monitorGroupWaypoints = {
{
private _leader = leader _x;
(_leader) call blck_fnc_changeToMoveWaypoint;
#ifdef blck_debugMode
if (blck_debugLevel > 2) then {diag_log format["_fnc_missionGroupMonitor: vehicle group %1 stuck, waypoint reset",_x];};
#endif
//#ifdef blck_debugMode
if (true /*blck_debugLevel > 2*/) then {diag_log format["_fnc_missionGroupMonitor: vehicle group %1 stuck, waypoint reset",_x];};
//#endif
/*
if ( (getPos _leader) distance2d (_group getVariable "patrolCenter") > 200) then
{
@ -130,28 +121,28 @@ _fn_monitorGroupWaypoints = {
};
};
/*
if (_soldierType isEqualTo "helicopter") then
{
if (diag_tickTime > (_x getVariable "timeStamp") + 60) then
if ((diag_tickTime > (_x getVariable "timeStamp")) then
{
_units = [_x] call _fn_aliveGroupUnits;
private _units = [_x] call _fn_aliveGroupUnits;
if (count _units > 0) then
{
private _leader = leader _x;
(_leader) call blck_fnc_changeToMoveWaypoint;
#ifdef blck_debugMode
if (blck_debugLevel > 2) then {diag_log format["_fnc_missionGroupMonitor: helicopter group %1 stuck, waypoint reset",_x];};
#endif
/*
if ( (getPos _leader) distance2d (_group getVariable "patrolCenter") > 200) then
if (_leader distance (_group getVariable "patrolCenter") > blck_turnBackRadiusHelis) then
{
};
*/
_leader call blck_fnc_changeToMoveWaypoint;
//#ifdef blck_debugMode
if (true ) then {diag_log format["_fnc_missionGroupMonitor: helicopter group %1 stuck, waypoint reset",_x];};
//#endif
//diag_log format["_fnc_missionGroupMonitor: helicopter group %1 stuck, waypoint reset",_x];
};
};
};
};
};
*/
} forEach blck_monitoredMissionAIGroups;
};
@ -165,22 +156,18 @@ _fn_simulationMonitor = {
_playerType = ["Epoch_Male_F","Epoch_Female_F"];
};
{
_players = (leader _x) nearEntities [_playerType, blck_simulationEnabledDistance];
private _players = (leader _x) nearEntities [_playerType, blck_simulationEnabledDistance];
if (count _players > 0) then
{
if !(simulationEnabled _x) then
private _group = _x;
{
{
_x enableSimulationGlobal true;
(_players select 0) reveal _x; // Force simulation on
}forEach (units _x);
}forEach (units _group);
};
}else{
// Be sure simulation is off for all units in the group.
if (simulationEnabled _x) then
{
{_x enableSimulationGlobal false}forEach (units _x);
};
{_x enableSimulationGlobal false}forEach (units _x);
};
} forEach blck_monitoredMissionAIGroups;
};
@ -192,7 +179,7 @@ if (blck_debugLevel > 2) then {diag_log format["_fnc_missionGroupMonitor: execut
#endif
[] call _fn_removeEmptyOrNullGroups;
uiSleep 0.1;
[] call _fn_monitorGroupWaypoints;
//[] call _fn_monitorGroupWaypoints;
if (blck_simulationManager == blck_useBlckeaglsSimulationManagement) then {[] call _fn_simulationMonitor};

View File

@ -80,7 +80,7 @@ if !(_soldierType isEqualTo "emplaced") then
_wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint;"];
#endif
#ifdef blck_debugMode
if (blck_debugLevel >= 2) then
if (blck_debugLevel >= 3) then
{
_marker = createMarker [format["GroupMarker%1",_group],_newPos];
_group setVariable["wpMarker",_marker,true];
@ -90,7 +90,7 @@ if !(_soldierType isEqualTo "emplaced") then
//diag_log format["_fnc_setupWaypoints: configuring weapoints for group %2 mobile patrol with _soldierType = %1",_solderType,_group];
diag_log format["_fnc_setupWaypoints: soldier type for mobile _group %1 set to %2",_group, (_group getVariable["soldierType","null"])];
diag_log format["_fnc_setupWaypoints: all variables for the group have been set for group %1",_group];
diag_log format["_fnc_setupWaypoints:: -- >> wpMode %1 _dir %2 _dis 3",_group getVariable["wpMode","random"], _dir, _dis];
diag_log format["_fnc_setupWaypoints:: -- >> wpMode %1 _dir %2 _dis %3",_group getVariable["wpMode","random"], _dir, _dis];
diag_log format["_fnc_setupWaypoints:: -- >> group to update is %1 and new position is %2",_group, _newPos];
diag_log format["_fnc_setupWaypoints:: -- >> Waypoint statements for group %1 have been configured as %2",_group, waypointStatements _wp];
diag_log format["_fnc_setupWaypoints:: -- >> Waypoint marker for group %1 have been configured as %2 with text set to %3",_group, _group getVariable "wpMarker", markerText (_group getVariable "wpMarker")];

View File

@ -12,9 +12,9 @@
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
private["_numbertospawn","_groupSpawned","_safepos","_useLauncher","_launcherType"];
private["_numbertospawn","_groupSpawned","_safepos","_useLauncher","_launcherType","_infantryType"];
// _newGroup = [_groupSpawnPos,_minAI,_maxAI,_skillLevel,_coords,_minPatrolRadius,_maxPatrolRadius,_uniforms,_headGear,_vests,_backpacks,_weapons,_sideArms,true,_isScubaGroup]
params["_pos", "_center", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], ["_minDist",20], ["_maxDist",35],["_configureWaypoints",true], ["_uniforms",[]], ["_headGear",[]],["_vests",[]],["_backpacks",[]],["_weaponList",[]],["_sideArms",[]], ["_scuba",false]];
params["_pos", "_center", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], ["_minDist",30], ["_maxDist",45],["_configureWaypoints",true], ["_uniforms",[]], ["_headGear",[]],["_vests",[]],["_backpacks",[]],["_weaponList",[]],["_sideArms",[]], ["_scuba",false]];
if (_weaponList isEqualTo []) then {_weaponList = [_skillLevel] call blck_fnc_selectAILoadout};
if (_sideArms isEqualTo []) then {_sideArms = [_skillLevel] call blck_fnc_selectAISidearms};
if (_uniforms isEqualTo []) then {_uniforms = [_skillLevel] call blck_fnc_selectAIUniforms};
@ -96,9 +96,8 @@ if !(isNull _groupSpawned) then
if (_configureWaypoints) then
{
if (_scuba) then {_infantryType = "scuba"} else {_infantryType = "infantry"};
[_pos,_minDist,_maxDist,_groupSpawned,"random","SAD","infantry"] spawn blck_fnc_setupWaypoints;
[_pos,_minDist,_maxDist,_groupSpawned,"random","SAD",_infantryType] spawn blck_fnc_setupWaypoints;
};
//[_pos,_minDist,_maxDist,_groupSpawned,"random","SENTRY"] spawn blck_fnc_setupWaypoints;
//diag_log format["_fnc_spawnGroup: blck_fnc_setupWaypoints called for group %1",_groupSpawned];
#ifdef blck_debugMode
if (blck_debugLevel >= 1) then

View File

@ -1,8 +1,4 @@
//////////////////////////////////////////////////////
// Attach a marker of type _marker to an object _crate
// by Ghostrider [GRG] based on code from Wicked AI for Arma 2 Dayz Epoch
// Last modified 8/2/15
/////////////////////////////////////////////////////
/*
--------------------------
License

View File

@ -1,8 +1,4 @@
//////////////////////////////////////////////////////
// Attach a marker of type _marker to an object _crate
// by Ghostrider [GRG] based on code from Wicked AI for Arma 2 Dayz Epoch
// Last modified 8/2/15
/////////////////////////////////////////////////////
/*
--------------------------
License

View File

@ -1,3 +1,11 @@
/*
--------------------------
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 _crate = _this select 0;
#ifdef blck_debugMode

View File

@ -306,7 +306,7 @@ uisleep 3;
if (count _garrisonedBuilding_ATLsystem > 0) then
{
_temp = [_coords, _garrisonedBuilding_ATLsystem, _aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call blck_fnc_garrisonBuilding_ATLsystem;
diag_log format["_missionspawner: garrisoned a building using ATL format, function returned %1",_temp];
//diag_log format["_missionspawner: garrisoned a building using ATL format, function returned %1",_temp];
// _return = [_group,_buildingsSpawned,_staticsSpawned];
_objects append (_temp select 1);
blck_monitoredVehicles append (_temp select 2);
@ -314,7 +314,7 @@ if (count _garrisonedBuilding_ATLsystem > 0) then
};
uiSleep 3;
diag_log format["_missionSpawner: _garrisonedBuildings_BuildingPosnSystem = %1",_garrisonedBuildings_BuildingPosnSystem];
//diag_log format["_missionSpawner: _garrisonedBuildings_BuildingPosnSystem = %1",_garrisonedBuildings_BuildingPosnSystem];
if (count _garrisonedBuildings_BuildingPosnSystem > 0) then
{
// params["_center","_garrison","_aiDifficultyLevel","_uniforms","_headGear","_vests","_backpacks","_weaponList","_sideArms"];
@ -456,7 +456,7 @@ if (_secureAsset) then
while {_missionComplete isEqualTo -1} do
{
#ifdef blck_debugMode
if (blck_debugLevel > 2) exitWith {uiSleep blck_triggerLoopCompleteTime;diag_log "_missionSpawner (492) scripted Mission End blck_debugLevel = 3";};
if (blck_debugLevel > 3) exitWith {uiSleep blck_triggerLoopCompleteTime;diag_log "_missionSpawner (492) scripted Mission End blck_debugLevel = 3";};
#endif
if (_endIfPlayerNear) then

View File

@ -74,12 +74,9 @@ if (_missionPatrolVehicles isEqualTo []) then
{
_abort = true;
};
//if !(isNull _vehGroup) then
//{
//blck_monitoredMissionAIGroups pushBack _vehGroup;
//};
blck_monitoredMissionAIGroups pushBack _vehGroup;
#ifdef blck_debugMode
if (blck_debugLevel > 1) then
{
@ -96,7 +93,7 @@ if (_missionPatrolVehicles isEqualTo []) then
#endif
//params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",30],["_maxDis",45],["_group",grpNull]];
_patrolVehicle = [_coords,_spawnPos,_vehicle,30,45,_vehGroup,true] call blck_fnc_spawnVehiclePatrol;
_patrolVehicle = [_coords,_spawnPos,_vehicle,40,60,_vehGroup,true] call blck_fnc_spawnVehiclePatrol;
//_vehGroup setVariable["groupVehicle",_vehicle];
#ifdef blck_debugMode
if (blck_debugLevel > 1) then

View File

@ -31,13 +31,13 @@ private["_index","_element","_waitTime"];
if (_index > -1) then
{
#ifdef blck_debugMode
if (blck_debuglevel > 2) then {diag_log format ["_fnc_updateMissionQue :: blck_pendingMissions began as %1",blck_pendingMissions];};
if (blck_debuglevel > 4) then {diag_log format ["_fnc_updateMissionQue :: blck_pendingMissions began as %1",blck_pendingMissions];};
#endif
_element = blck_pendingMissions select _index;
#ifdef blck_debugMode
if (blck_debuglevel > 2) then {diag_log format["_fnc_updateMissionQue:: -- >> _element before update = %1",_element];};
if (blck_debuglevel > 3) then {diag_log format["_fnc_updateMissionQue:: -- >> _element before update = %1",_element];};
#endif
// 0 1 2 3 4 5 6
//_mission = [_missionList,format["%1%2",_marker,_i],_difficulty,_tMin,_tMax,_waitTime,[0,0,0]];
@ -59,7 +59,7 @@ if (_index > -1) then
blck_pendingMissions set [_index, _element];
#ifdef blck_debugMode
if (blck_debuglevel > 2) then {diag_log format ["_fnc_updateMissionQue :: blck_pendingMissions after update = %1",blck_pendingMissions];};
if (blck_debuglevel > 4) then {diag_log format ["_fnc_updateMissionQue :: blck_pendingMissions after update = %1",blck_pendingMissions];};
#endif
};

View File

@ -67,6 +67,6 @@ for "_i" from 1 to _numAI do
};
//blck_monitoredMissionAIGroups pushback _paraGroup;
blck_monitoredMissionAIGroups pushback _paraGroup;
_paraGroup

View File

@ -55,7 +55,7 @@ if !(isNull _grpPilot) then
_grpPilot setVariable["arc",0];
_grpPilot setVariable["wpRadius",30];
_grpPilot setVariable["wpMode","SAD"];
// [_pos,_minDist,_maxDist,_groupSpawned,"random","SAD","infantry"] spawn blck_fnc_setupWaypoints;
//[_coords,_minDist,_maxDist,_groupSpawned,"random","SAD","infantry"] spawn blck_fnc_setupWaypoints;
diag_log format["_fnc_spawnMissionHeli - max radii are: blue %1 | red %2 | green %3 | orange %4",blck_maxPatrolRadiusHelisBlue,blck_maxPatrolRadiusHelisRed,blck_maxPatrolRadiusHelisGreen,blck_maxPatrolRadiusHelisOrange];
switch (toLower(_skillAI)) do
{
@ -65,8 +65,8 @@ if !(isNull _grpPilot) then
case "orange" : {_minDist = 150;_maxDist = blck_maxPatrolRadiusHelisOrange};
default {_minDist = 150; _maxDist = 500};
};
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;
[_coords,_minDist,_maxDist,_grpPilot,"random","SAD","helicopter"] call blck_fnc_setupWaypoints;
blck_monitoredMissionAIGroups pushBack _grpPilot;
//create helicopter and spawn it
if (( typeName _helis) isEqualTo "ARRAY") then
@ -79,7 +79,8 @@ if !(isNull _grpPilot) then
#ifdef blck_debugMode
if (blck_debugLevel > 1) then
{
diag_log format["_fnc_spawnMissionHeli (78):: _chopperType selected = %1",_chopperType];
diag_log format["_fnc_spawnMissionHeli(59): _skillAI = %1 | _minDist = %2 | _maxDist = %3",_skillAI,_minDist,_maxDist];
diag_log format["_fnc_spawnMissionHeli (78):: _chopperType selected = %1",_chopperType];
};
#endif

View File

@ -15,7 +15,7 @@
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
private["_vehType","_safepos","_veh","_unitNumber"];
params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",30],["_maxDis",45],["_group",grpNull],["_setWaypoints",true]];
params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",40],["_maxDis",60],["_group",grpNull],["_setWaypoints",true]];
#ifdef blck_debugMode
if (blck_debugLevel > 1) then
{

View File

@ -39,16 +39,9 @@ blck_fnc_addMoneyToObject = compileFinal preprocessFileLineNumbers "\q\addons\cu
blck_fnc_spawnMissionEmplacedRelative = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnMissionEmplacedRelative.sqf";
blck_fnc_spawnMissionLootBoxesRelative = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnMissionLootBoxesRelative.sqf";
blck_fnc_spawnSingleObject = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnSingleObject.sqf";
blck_fnc_emptyObjectInventory = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_emptyObjectInventory.sqf";
blck_fnc_emptyObjectInventory = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_emptyObject.sqf";
blck_fnc_spawnMissionLandscapeRelative = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnMissionLandscapeRelative.sqf";
blck_fnc_nearestPlayers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_nearestPlayers.sqf";
//blck_fnc_getTraderCitiesEpoch = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitiesEpoch.sqf";
//blck_fnc_getTraderCitesExile = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesExile.sqf";
#ifdef GRGserver
blck_fnc_broadcastServerFPS = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_broadcastServerFPS.sqf";
diag_log "blck_functions loaded using GRGserver settings ---- >>>> ";
#endif
// Player-related functions
blck_fnc_rewardKiller = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_rewardKiller.sqf";
@ -94,14 +87,12 @@ blck_fnc_garrisonBuilding_RelPosSystem = compileFinal preprocessFileLineNumbers
blck_fnc_garrisonBuilding_ATLsystem = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_garrisonBuilding_ATLsystem.sqf";
blck_fnc_spawnGarrisonInsideBuilding_ATL = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnGarrisonInsideBuilding_ATL.sqf";
blck_fnc_spawnGarrisonInsideBuilding_relPos = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnGarrisonInsideBuilding_relPos.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]
blck_fnc_setupWaypoints = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_setupWaypoints.sqf"; // Set default waypoints for a group
blck_fnc_missionGroupMonitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_missionGroupMonitor.sqf"; // Monitors active groups for those that are stuck in an SAD waypoint but not in combat
blck_fnc_changeToSADWaypoint = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_changeToSADWaypoint.sqf";
blck_fnc_changeToMoveWaypoint = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_changeToMoveWaypoint.sqf";
blck_fnc_changeToSentryWaypoint = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_changeToSentryWaypoint.sqf"; //
//blck_fnc_setNextWaypoint = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_setNextWaypoint.sqf";
blck_fnc_cleanEmptyGroups = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_cleanEmptyGroups.sqf"; // GMS_fnc_cleanEmptyGroups
blck_fnc_findNearestInfantryGroup = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_findNearestInfantryGroup.sqf";
blck_fnc_create_AI_Group = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_create_AI_Group.sqf"; // create a group for which other functions spawn AI.
@ -155,17 +146,13 @@ blck_fnc_placeCharacterInBuilding = compileFinal preprocessFileLineNumbers "\q\
// HC support functions
blck_fnc_HC_XferGroup = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_XferGroup.sqf";
//blck_fnc_HC_XferVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_XferVehicle.sqf";
blck_fnc_onPlayerDisconnected = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_onPlayerDisconnected.sqf";
//blck_fnc_HC_groupsAssigned = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_groupsAssigned.sqf";
blck_fnc_HC_monitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HCmonitor.sqf";
//blck_fnc_HC_vehicleMonitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_vehicleMonitor.sqf";
//blck_fnc_HC_monitorHC = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_monitorHC.sqf";
blck_fnc_HC_passToHCs = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_passToHCs.sqf";
blck_fnc_HC_getListConnected = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_getListConnected.sqf";
blck_fnc_HC_leastBurdened = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_leastBurdened.sqf";
blck_fnc_HC_countGroupsAssigned = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_countGroupsAssigned.sqf";
onPlayerDisconnected {[_name,_owner] call blck_fnc_onPlayerDisconnected;};
diag_log "[blckeagls] Functions Loaded";
//diag_log "[blckeagls] Functions Loaded";
blck_functionsCompiled = true;

View File

@ -12,12 +12,17 @@
*/
#include"\q\addons\custom_server\Configs\blck_defines.hpp";
diag_log "[blckeagls] loading variables";
//diag_log "[blckeagls] loading variables";
// blck_debugON = false; Moved to blck_configs.sqf because of script loading order issues.
// blck_debugLevel = 0; Moved to blck_configs.sqf because of script loading order issues.
blck_minFPS = 8;
// radius within whih missions are triggered. The trigger causes the crate and AI to spawn.
#ifdef blck_milServer
blck_TriggerDistance = 1500;
#else
blck_TriggerDistance = 1500;
#endif
////////////////////////////////////////////////
// Do Not Touch Anything Below This Line
///////////////////////////////////////////////
@ -35,10 +40,7 @@ blck_activeMissions = [];
blck_deadAI = [];
blck_connectedHCs = [];
blck_missionMarkers = [];
//blck_groupsOnHC = [];
//blck_vehiclesOnHC = [];
//blck_HC_monitoredVehicles = [];
//blck_HC_monitoredGroups = [];
if (blck_simulationManager == 2) then
{
"Group" setDynamicSimulationDistance 1800;
@ -47,14 +49,9 @@ if (blck_simulationManager == 2) then
blck_heliCrashSites = [];
// radius within whih missions are triggered. The trigger causes the crate and AI to spawn.
#ifdef blck_milServer
blck_TriggerDistance = 1500;
#else
blck_TriggerDistance = 1500;
#endif
blck_mainThreadUpdateInterval = 60;
blck_revealMode = "detailed"; //""basic" /*group or vehicle level reveals*/,detailed /*unit by unit reveals*/";
diag_log "[blckeagls] Variables Loaded";
//diag_log "[blckeagls] Variables Loaded";
blck_variablesLoaded = true;

View File

@ -0,0 +1,91 @@
_blck_lightlyArmed_ARMA3 = [
"B_G_Offroad_01_armed_F",
"O_G_Offroad_01_armed_F",
"B_MRAP_01_gmg_F",
"B_MRAP_01_hmg_F",
"O_MRAP_02_gmg_F",
"O_MRAP_02_hmg_F",
"I_MRAP_03_hmg_F",
"I_MRAP_03_gmg_F",
"B_APC_Wheeled_01_cannon_F",
"I_APC_Wheeled_03_cannon_F"
];
_blck_tracked_APC_ARMA3 = [
"B_APC_Tracked_01_rcws_F",
"B_APC_Tracked_01_CRV_F",
"B_APC_Tracked_01_AA_F",
"O_APC_Tracked_02_cannon_F",
"O_APC_Tracked_02_AA_F",
"O_APC_Wheeled_02_rcws_F",
"I_APC_tracked_03_cannon_F"
];
_blck_Tanks_ARMA3 = [
//"B_MBT_01_arty_F",
"B_MBT_01_mlrs_F",
"B_MBT_01_TUSK_F",
"O_MBT_02_cannon_F",
//"O_MBT_02_arty_F",
"I_MBT_03_cannon_F"
];
_blck_APC_CUP = [
"CUP_B_Mastiff_GMG_GB_D",
"CUP_B_Mastiff_HMG_GB_D",
"CUP_B_Ridgback_HMG_GB_D",
"CUP_B_Ridgback_GMG_GB_D",
"CUP_B_M1128_MGS_Desert",
"CUP_B_M1135_ATGMV_Desert_Slat",
"CUP_B_M1133_MEV_Desert_Slat",
"CUP_B_LAV25M240_desert_USMC",
"CUP_B_M1129_MC_MK19_Desert_Slat",
"CUP_B_LAV25_HQ_desert_USMC",
"CUP_B_BRDM2_ATGM_CDF",
"CUP_B_BTR60_CDF",
"CUP_B_M1130_CV_M2_Desert_Slat",
"CUP_B_M1126_ICV_MK19_Desert_Slat",
"CUP_O_BTR90_RU",
"CUP_O_GAZ_Vodnik_BPPU_RU",
"CUP_B_M1126_ICV_M2_Desert",
"CUP_B_M1126_ICV_MK19_Desert",
"CUP_B_M1130_CV_M2_Desert",
"CUP_B_M1126_ICV_M2_Desert_Slat",
"CUP_B_M1133_MEV_Desert",
"CUP_O_GAZ_Vodnik_AGS_RU",
"CUP_O_GAZ_Vodnik_PK_RU"
];
_blck_Tanks_CUP = [
"CUP_B_M2A3Bradley_USA_D",
"CUP_B_M113_desert_USA",
"CUP_B_M163_USA",
"CUP_B_M6LineBacker_USA_D",
"CUP_B_M1A1_DES_US_Army",
"CUP_B_M1A2_TUSK_MG_DES_US_Army",
"CUP_B_AAV_USMC",
"CUP_B_M270_DPICM_USA",
"CUP_B_ZSU23_CDF",
"CUP_B_BMP2_CDF",
"CUP_B_T72_CDF",
"CUP_I_T34_NAPA",
"CUP_B_Challenger2_NATO",
"CUP_B_FV432_Bulldog_GB_D_RWS",
"CUP_B_FV432_Bulldog_GB_D",
"CUP_B_FV510_GB_D_SLAT",
"CUP_B_MCV80_GB_D_SLAT",
"CUP_O_2S6_RU",
"CUP_O_BMP3_RU",
"CUP_O_T90_RU",
"CUP_O_T55_SLA",
"CUP_O_BMP1P_TKA",
"CUP_B_M270_DPICM_USA",
"CUP_B_M2Bradley_USA_W",
"CUP_B_FV510_GB_D",
"CUP_B_MCV80_GB_D",
"CUP_B_M7Bradley_USA_D",
"CUP_O_2S6_RU",
"CUP_O_BMP1_TKA"
];

View File

@ -17,8 +17,8 @@
changing any of these variables may break the mission systemChat
*/
blck_locationBlackList = []; // Do not touch ...
blck_debugON = false; // Do not touch ...
blck_debugLevel = 0; // Do not touch ...
blck_debugON = true; // Do not touch ...
blck_debugLevel = 3; // Do not touch ...
#ifdef blck_milServer
execVM "\q\addons\custom_server\Configs\blck_configs_mil.sqf";
if (true) exitWith {};
@ -51,7 +51,7 @@
*/
// 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_useTimeAcceleration = true; // 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
@ -71,7 +71,7 @@
***********************************************************/
////////
// Headless Client Configurations
blck_useHC = false; // Experimental (do not use if you allow players to claim mission vehicles).
blck_useHC = true; // Experimental (death messages and rewards not yet working).
///////////////////////////////
// Kill message configurations
@ -211,19 +211,17 @@
// Enable / Disable Missions
////////////////////
// Maximum number of missions shown on the map at any one time.
// 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_enableBlueMissions = 1;
blck_numberUnderwaterDynamicMissions = 3; // Values from -1 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned.
// Maximum number of missions shown on the map at any one time.
// Change this value to reduce the number of spawned missions at any one time.
//blck_maxSpawnedMissions = 9; // Set this to a value lower than the total number of missions if you want only some of the types of missions running at any one time.
blck_maxSpawnedMissions = blck_enableOrangeMissions + blck_enableGreenMissions + blck_enableRedMissions + blck_enableBlueMissions + blck_numberUnderwaterDynamicMissions;
////////////////////
// MISSION TIMERS
////////////////////
@ -240,7 +238,7 @@
blck_TMax_Green = 300;
blck_TMax_Blue = 200;
blck_TMax_Red = 250;
blck_TMax_UMS = 200;
blck_TMax_UMS = 400;
///////////////////////////////
// AI VEHICLE PATROL PARAMETERS
@ -298,8 +296,7 @@
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
@ -360,7 +357,7 @@
blck_maxMoneyRed = 15;
blck_maxMoneyBlue = 10;
private["_modType"];
private["_modType"];
_modType = [] call blck_fnc_getModType;
if (_modType isEqualTo "Epoch") then
{
@ -369,8 +366,6 @@
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
{
@ -378,8 +373,6 @@
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";};
};
if (blck_useConfigsGeneratedLoadouts) then
{
@ -389,4 +382,5 @@
//waitUntil{blck_dynamicConfigsLoaded};
//blck_dynamicConfigsLoaded = nil;
};
uisleep 3;
blck_configsLoaded = true;

View File

@ -48,7 +48,7 @@ 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 = false;
blck_useConfigsGeneratedLoadouts = true;
blck_maximumItemPriceInAI_Loadouts = 100;
_blck_lightlyArmed_ARMA3 = [
@ -517,7 +517,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
blck_vests_green = blck_vests;
blck_vests_orange = blck_vests;
//CraftingFood
//CraftingFood
blck_Meats=[
"SnakeCarcass_EPOCH","RabbitCarcass_EPOCH","ChickenCarcass_EPOCH","GoatCarcass_EPOCH","SheepCarcass_EPOCH","DogCarcass_EPOCH","ItemTrout","ItemSeaBass","ItemTuna"
];
@ -525,7 +525,8 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
"WhiskeyNoodle","ItemSodaAlpineDude","ItemSodaOrangeSherbet","ItemSodaPurple","ItemSodaMocha","ItemSodaBurst","ItemSodaRbull","FoodWalkNSons"
];
blck_Food = [
"HotAxeSauce_epoch","gyro_wrap_epoch","icecream_epoch","redburger_epoch","bluburger_epoch","krypto_candy_epoch","ItemBakedBeans","ItemRiceBox","ItemPowderMilk","ItemCereals","FoodBioMeat","FoodMeeps","FoodSnooter","sardines_epoch","meatballs_epoch","scam_epoch","sweetcorn_epoch","honey_epoch","CookedSheep_EPOCH","CookedGoat_EPOCH","SnakeMeat_EPOCH",
"HotAxeSauce_epoch","gyro_wrap_epoch","icecream_epoch","redburger_epoch","bluburger_epoch","krypto_candy_epoch","ItemBakedBeans","ItemRiceBox","ItemPowderMilk","ItemCereals",
"FoodBioMeat","FoodMeeps","FoodSnooter","sardines_epoch","meatballs_epoch","scam_epoch","sweetcorn_epoch","honey_epoch","CookedSheep_EPOCH","CookedGoat_EPOCH","SnakeMeat_EPOCH",
"CookedRabbit_EPOCH","CookedChicken_EPOCH","CookedDog_EPOCH","ItemTroutCooked","ItemSeaBassCooked","ItemTunaCooked","TacticalBacon"
];
blck_ConsumableItems = blck_Meats + blck_Drink + blck_Food;
@ -1080,7 +1081,7 @@ for examples of how you can do this see \Major\Compositions.sqf
"FAK" , "Towelette" , "ItemVitamins", "morphine_epoch", "iodide_pills_epoch", "adrenaline_epoch",
"caffeinepills_epoch", "orlistat_epoch", "ItemCanteen_Empty", "ItemCanteen_Clean", "ItemBottlePlastic_Empty",
"ItemBottlePlastic_Clean", "atropine_epoch", "ItemWaterPurificationTablets", "ItemPainKillers", "ItemDefibrillator",
"ItemBloodBag_Empty", "ItemBloodBag_Full", "ItemAntibiotic", "nanite_cream_epoch", "nanite_pills_epoch"
"ItemBloodBag_Empty", "ItemBloodBag_Full", "ItemAntibiotic", "nanite_pills_epoch"
],
[ // Backpacks
["B_AssaultPack_dgtl",0,2],["B_AssaultPack_khk",0,2],["B_AssaultPack_mcamo",0,2],["B_AssaultPack_ocamo",0,2],["B_AssaultPack_rgr",0,2],["B_AssaultPack_sgg",0,2],

View File

@ -49,7 +49,7 @@ 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 = false;
blck_useConfigsGeneratedLoadouts = true;
blck_maximumItemPriceInAI_Loadouts = 100;
_blck_lightlyArmed_ARMA3 = [
@ -533,7 +533,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
blck_vests_green = blck_vests;
blck_vests_orange = blck_vests;
//CraftingFood
//CraftingFood
blck_Meats=[
"SnakeCarcass_EPOCH","RabbitCarcass_EPOCH","ChickenCarcass_EPOCH","GoatCarcass_EPOCH","SheepCarcass_EPOCH","DogCarcass_EPOCH","ItemTrout","ItemSeaBass","ItemTuna"
];

View File

@ -56,7 +56,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
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 = false;
blck_useConfigsGeneratedLoadouts = true;
blck_maximumItemPriceInAI_Loadouts = 1000;
_blck_armed_vehicles_Exile = [

File diff suppressed because it is too large Load Diff

View File

@ -48,7 +48,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
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 = false;
blck_useConfigsGeneratedLoadouts = true;
blck_maximumItemPriceInAI_Loadouts = 1000;
_blck_armed_vehicles_Exile = [
@ -160,9 +160,9 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
//"Exile_Car_HMMWV_M134_Desert",
"Exile_Car_HMMWV_M2_Desert",
"B_LSV_01_armed_F",
//"_MRAP_02_gmg_ghex_F",
"_MRAP_02_gmg_ghex_F",
//"O_MRAP_02_hmg_ghex_F",
//"O_MRAP_03_gmg_ghex_F",
"O_MRAP_03_gmg_ghex_F",
//"O_MRAP_03_hmg_ghex_F",
"B_MBT_01_cannon_F",
"B_MBT_01_cannon_F", // Duplicate to increase chance that these will spawn relative to others

View File

@ -49,7 +49,7 @@
***********************************************************/
////////
// Headless Client Configurations
blck_useHC = false; // Experimental (do not use if you allow players to claim mission vehicles).
blck_useHC = true; //
///////////////////////////////
// Kill message configurations
@ -202,6 +202,9 @@
// Enable / Disable Missions
////////////////////
// Maximum number of missions shown on the map 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;
@ -209,11 +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.
// Maximum number of missions shown on the map at any one time.
// Change this value to reduce the number of spawned missions at any one time.
//blck_maxSpawnedMissions = 9; // Set this to a value lower than the total number of missions if you want only some of the types of missions running at any one time.
blck_maxSpawnedMissions = blck_enableOrangeMissions + blck_enableGreenMissions + blck_enableRedMissions + blck_enableBlueMissions + blck_numberUnderwaterDynamicMissions;
////////////////////
// MISSION TIMERS
////////////////////

View File

@ -3,6 +3,7 @@
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last Modified 3-14-17
--------------------------
License
@ -16,21 +17,6 @@
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];
private["_nightAccel","_dayAccel","_duskAccel"];
switch (_world) do {
case "altis":{_nightAccel = 3;_dayAccel=0.5; _duskAccel = 3;};
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;};
};
switch (toLower (worldName)) do
{
case "altis":
@ -82,9 +68,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 = ((_serverUpTime + 2)/_daylight); // Daytime time accelearation
blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation
blck_timeAccelerationNight = (3/_nightTime); // Nighttim time acceleration
blck_timeAccelerationDay = 1.5; // Daytime time accelearation
blck_timeAccelerationDusk = 6; // Dawn/dusk time accelearation
blck_timeAccelerationNight = (12); // Nighttim time acceleration
};
case "esseker":
{
@ -116,28 +102,133 @@ switch (toLower (worldName)) do
_sunset = _arr select 1;
_time = dayTime;
_daylight = _sunset - _sunrise;
systemChat format["%1",_daylight];
systemChat format["TimeAcelDay = %1", _daylight / 2.5];
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 = (_daylight / 2.5); // Daytime time accelearation
blck_timeAccelerationDusk = 8; // Dawn/dusk time accelearation
blck_timeAccelerationNight = ((24 - _daylight) / 1.5); // Nighttim time acceleration
blck_enableOrangeMissions = -1;
blck_enableGreenMissions = -1;
blck_enableRedMissions = -2;
blck_enableBlueMissions = -1;
blck_numberUnderwaterDynamicMissions = -3;
blck_enableHunterMissions = -1;
blck_enableScoutsMissions = -1;
blck_enableOrangeMissions = 1;
blck_enableGreenMissions = 1;
blck_enableRedMissions = 1;
blck_enableBlueMissions = 1;
blck_numberUnderwaterDynamicMissions = 3;
blck_enableHunterMissions = 1;
blck_enableScoutsMissions = 1;
blck_maxCrashSites = 3;
};
};
case "lythium":
{
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 = 5.5; // Daytime time accelearation
blck_timeAccelerationDusk = 7; // Dawn/dusk time accelearation
blck_timeAccelerationNight = 8; // Nighttim time acceleration
blck_enableOrangeMissions = 1;
blck_enableGreenMissions = 1;
blck_enableRedMissions = 1;
blck_enableBlueMissions = 1;
blck_enableHunterMissions = 1;
blck_enableScoutsMissions = 1;
blck_maxCrashSites = 3;
blck_numberUnderwaterDynamicMissions = -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";
/*
You can define configs for additional mods or loadouts here
*/
/*
//blck_useTimeAcceleration = false; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below.
//blck_timeAccelerationDay = 1; // Daytime time accelearation
//blck_timeAccelerationDusk = 18; // Dawn/dusk time accelearation
//blck_timeAccelerationNight = 24; // Nighttim time acceleration
blck_useHC = true;
blck_maxSpawnedMissions = 15;
blck_mainThreadUpdateInterval = 10;
blck_enableOrangeMissions = 1;
blck_enableGreenMissions = -1;
blck_enableRedMissions = -1;
blck_enableBlueMissions = -1;
blck_numberUnderwaterDynamicMissions = -3;
blck_enableHunterMissions = -1;
blck_enableScoutsMissions = -1;
blck_maxCrashSites = -3;
//blck_killEmptyStaticWeapons = false;
//blck_killEmptyAIVehicles = true;
blck_cleanupCompositionTimer = 20; // Time after mission completion at which items in the composition are deleted.
blck_AliveAICleanUpTimer = 20; // Time after mission completion at which any remaining live AI are deleted.
blck_bodyCleanUpTimer = 20;
blck_vehicleDeleteTimer = 20;
blck_MissionTimeout = 30;
blck_noPatrolHelisOrange = 1;
//blck_chanceHeliPatrolOrange = 1;
//blck_chanceParaOrange = 1;
//blck_chanceHeliPatrolBlue = -1;
//blck_noPatrolHelisBlue = -1;
//blck_chanceParaBlue = -1; // [0 - 1] set to 0 to deactivate and 1 to always have paratroops spawn over the center of the mission. This value can be a range as well [0.1,0.3]
//blck_noParaBlue = -3; // [1-N]
//blck_paraTriggerDistanceBlue = 400;
//blck_chanceHeliPatrolBlue = 1;
blck_SpawnEmplaced_Orange = 1; // Number of static weapons at Orange Missions
//blck_SpawnEmplaced_Green = 1; // Number of static weapons at Green Missions
//blck_SpawnEmplaced_Blue = 1; // Number of static weapons at Blue Missions
//blck_SpawnEmplaced_Red = 1;
blck_SpawnVeh_Orange = 1; // Number of vehicles at Orange Missions
//blck_SpawnVeh_Green = 1; // Number of vehicles at Green Missions
//blck_SpawnVeh_Blue = 1; // Number of vehicles at Blue Missions
//blck_SpawnVeh_Red = 1;
blck_TMin_Blue = 7;
blck_TMin_Red = 10;
blck_TMin_Green = 13;
blck_TMin_Orange = 16;
blck_TMin_Hunter = 20;
blck_TMin_Scouts = 20;
blck_TMin_Crashes = 5;
blck_TMin_UMS = 20;
//Maximum Spawn time between missions in seconds
blck_TMax_Blue = 12;
blck_TMax_Red = 15;
blck_TMax_Green = 17;
blck_TMax_Orange = 21;
blck_TMax_Hunter = 22;
blck_TMax_Scouts = 22;
blck_TMax_Crashes = 15;
blck_TMax_UMS = 25;
blck_MinAI_Orange = 1;
blck_MaxAI_Orange = 2;
blck_AIGrps_Orange = 0;
//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]
];
*/
};
#ifdef blck_useCUP
blck_CUPWeapons = [
"CUP_lmg_L7A2",
"CUP_lmg_L110A1",
@ -626,6 +717,9 @@ blck_CUPHeadgear = [
"CUP_H_USMC_Helmet_Pilot",
"CUP_H_USMC_Officer_Cap"
];
#endif
#ifdef blck_useRHS
blck_RHS_Weapons = [
"rhs_weap_hk416d10",
"rhs_weap_hk416d10_LMT",
@ -1083,6 +1177,8 @@ blck_RHS_WeaponsSAF = [
"rhs_weap_g36kv_ag36",
"rhs_weap_m84"
];
#endif
blck_NIA_WeaponsLMG = [
"hlc_lmg_M249E2",
@ -1266,4 +1362,3 @@ blck_NIA_WeaponsSniper = [
"hlc_rifle_psg1",
"hlc_rifle_psg1A1"
];
*/

View File

@ -12,7 +12,7 @@
*/
#define useAPEX
//#define useAPEX
//#define blck_milServer
//#define blck_useCUP
//#define blck_useRHS
@ -21,7 +21,9 @@
// Do not touch anything below this line
///////////////////////////
//#define useDynamicSimulation
//#define blck_debugMode
//#define GRG_TestServer
#define blck_triggerLoopCompleteTime 40*60

View File

@ -0,0 +1,37 @@
/*
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/
*/
#define useAPEX
//#define useDynamicSimulation
//#define blck_debugMode
#define blck_triggerLoopCompleteTime 40*60
#define blck_milServer
//#define GRG_TestServer
#define blck_useCUP
#define blck_useRHS
////////////////////////////
// Do not touch anything below this line
///////////////////////////
#define onFoot 1
#define inVehicle 2
// defines for static group spawners
#define staticPatrolTriggerRange 2000
#define groupParameters 0
#define patrolGroup 1
#define groupSpawned 2
#define timesSpawned 3
#define respawnAt 4

View File

@ -46,10 +46,6 @@ blck_configsLoaded = nil;
// Load any user-defined specifications or overrides
call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Configs\blck_custom_config.sqf";
#ifdef GRGserver
diag_log "[blckeagls] Running GRG Version";
#endif
switch (blck_simulationManager) do
case 1: {diag_log "[blckeagls] dynamic simulation manager enabled"};
case 2: {diag_log "[blckeagls] blckeagls simulation manager enabled"};

View File

@ -11,8 +11,7 @@
if ( !(isServer) || hasInterface) exitWith{};
//#include "blck_defines.hpp";
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
#include "blck_defines.hpp";
if !(isNil "blck_Initialized") exitWith{};
private _blck_loadingStartTime = diag_tickTime;
@ -62,6 +61,10 @@ waitUntil {(isNil "blck_worldSet") isEqualTo false;};
waitUntil{blck_worldSet};
blck_worldSet = nil;
#ifdef GRG_TestServer
//[] execVM "\q\addons\custom_server\init\testCrateLoading.sqf";
#endif
// set up the lists of available missions for each mission category
diag_log "[blckeagls] Loading Mission Lists";
#include "\q\addons\custom_server\Missions\GMS_missionLists.sqf";
@ -78,8 +81,8 @@ switch (blck_simulationManager) do
case 0: {diag_log "[blckeagls] simulation management disabled"};
};
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 "[blckeagls] Running GhostriderGaming Version";
#endif
if !(blck_debugON || (blck_debugLevel isEqualTo 0)) then
{
@ -89,6 +92,7 @@ if !(blck_debugON || (blck_debugLevel isEqualTo 0)) then
diag_log "[blckeagls] spawning Missions";
};
if (blck_spawnStaticLootCrates) then
{
// Start the static loot crate spawner
@ -106,23 +110,29 @@ if (true /*blck_blacklistTraderCities*/) then
{
execVM "\q\addons\custom_server\init\GMS_fnc_getTraderCites.sqf";
};
diag_log format["[blckeagls] _init_server: blck_enableOrangeMissions = %1",blck_enableOrangeMissions];
//Start the mission timers
if (blck_enableOrangeMissions > 0) then
{
//[_missionListOrange,_pathOrange,"OrangeMarker","orange",blck_TMin_Orange,blck_TMax_Orange] spawn blck_fnc_missionTimer;//Starts major mission system (Orange Map Markers)
[_missionListOrange,_pathOrange,"OrangeMarker","orange",blck_TMin_Orange,blck_TMax_Orange,blck_enableOrangeMissions] call blck_fnc_addMissionToQue;
};
diag_log format["[blckeagls] _init_server: blck_enableGreenMissions = %1",blck_enableGreenMissions];
if (blck_enableGreenMissions > 0) then
{
//[_missionListGreen,_pathGreen,"GreenMarker","green",blck_TMin_Green,blck_TMax_Green] spawn blck_fnc_missionTimer;//Starts major mission system 2 (Green Map Markers)
[_missionListGreen,_pathGreen,"GreenMarker","green",blck_TMin_Green,blck_TMax_Green,blck_enableGreenMissions] call blck_fnc_addMissionToQue;
};
diag_log format["[blckeagls] _init_server: blck_enableRedMissions = %1",blck_enableRedMissions];
if (blck_enableRedMissions > 0) then
{
//[_missionListRed,_pathRed,"RedMarker","red",blck_TMin_Red,blck_TMax_Red] spawn blck_fnc_missionTimer;//Starts minor mission system (Red Map Markers)//Starts minor mission system 2 (Red Map Markers)
[_missionListRed,_pathRed,"RedMarker","red",blck_TMin_Red,blck_TMax_Red,blck_enableRedMissions] call blck_fnc_addMissionToQue;
};
diag_log format["[blckeagls] _init_server: blck_enableBlueMissions = %1",blck_enableBlueMissions];
if (blck_enableBlueMissions > 0) then
{
//[_missionListBlue,_pathBlue,"BlueMarker","blue",blck_TMin_Blue,blck_TMax_Blue] spawn blck_fnc_missionTimer;//Starts minor mission system (Blue Map Markers)

View File

@ -1,6 +1,6 @@
private ["_version","_versionDate"];
blck_version = "6.86 Build 156";
blck_version = "6.88 Build 160";
_blck_version = blck_version;
_blck_versionDate = "10-22-18 1:30 AM";
_blck_versionDate = "11-19-18 1:30 AM";
blck_pvs_version = _blck_version;
publicVariable blck_pvs_version;

View File

@ -0,0 +1,18 @@
uiSleep 5;
diag_log format["<< ---- START TEST Crate Loading ---- >>"];
_coords = [12000,12000,0];
//_loot = blck_supportLoot; //[causes problems] blck_highPoweredLoot; // [causes problems] blck_contructionLoot ; //blck_BoxLoot_Orange;
_loot = blck_supportLoot;
_lootCounts = [100,100,100,100,100,100];
_aiDifficultyLevel = "Orange";
for "_i" from 1 to 100 do
{
diag_log format["testCrateLoading: pass %1",_i];
_crateType = selectRandom blck_crateTypes;
_crate = [_coords,_crateType] call blck_fnc_spawnCrate;
[_crate,_loot,_lootCounts] call blck_fnc_fillBoxes;
uiSleep 5;
diag_log format["testCrateLoading: crate inventory = %1",getItemCargo _crate];
};