v16 tweaks & fixes

This commit is contained in:
second_coming 2016-04-14 11:29:30 +01:00
parent 0f4b922a46
commit 5e8f0ef6ee
4 changed files with 35 additions and 19 deletions

View File

@ -12,7 +12,7 @@
// Shared Config for each occupation monitor
SC_debug = false; // set to true to turn on debug features (not for live servers)
SC_debug = true; // set to true to turn on debug features (not for live servers)
SC_extendedLogging = false; // set to true for additional logging
SC_infiSTAR_log = true; // true Use infiSTAR logging, false logs to server rpt
SC_maxAIcount = 100; // the maximum amount of AI, if the AI count is above this then additional AI won't spawn
@ -70,7 +70,7 @@ SC_buildings = [ "Land_TentHangar_V1_F","Land_Hangar_F",
];
SC_occupyStatic = false; // true if you want to garrison AI in specific locations
SC_occupyStatic = true; // true if you want to garrison AI in specific locations

View File

@ -2,7 +2,7 @@
//
// Server Occupation script by second_coming
//
SC_occupationVersion = "v15 (14-04-2016)";
SC_occupationVersion = "v16 (14-04-2016)";
//
// http://www.exilemod.com/profile/60-second_coming/
//

View File

@ -39,9 +39,9 @@ if(_aiActive > _maxAIcount) exitWith
[_logDetail] call SC_fnc_log;
};
for [{_i = 0},{_i < (count _statics)},{_i =_i + 1}] do
{
_currentStatic = _statics select _i;
_currentStatic = _x;
_spawnPosition = _currentStatic select 0;
_aiCount = _currentStatic select 1;
_radius = _currentStatic select 2;
@ -57,8 +57,8 @@ for [{_i = 0},{_i < (count _statics)},{_i =_i + 1}] do
{
// Don't spawn additional AI if there are already AI in range
_aiNear = count(_spawnPosition nearEntities ["O_recon_F", 250]);
if(_aiNear > 0) exitwith
_nearEastAI = { side _x == EAST AND _x distance _pos < 250 } count allUnits;
if(_nearEastAI > 0) exitwith
{
_okToSpawn = false;
if(_debug) then
@ -69,7 +69,7 @@ for [{_i = 0},{_i < (count _statics)},{_i =_i + 1}] do
};
// Don't spawn additional AI if there are players in range
if([_spawnPosition, 400] call ExileClient_util_world_isAlivePlayerInRange) exitwith
if([_spawnPosition, 250] call ExileClient_util_world_isAlivePlayerInRange) exitwith
{
_okToSpawn = false;
if(_debug) then
@ -89,23 +89,32 @@ for [{_i = 0},{_i < (count _statics)},{_i =_i + 1}] do
_side = "bandit";
DMS_ai_use_launchers = false;
_group = [_spawnPosition, _aiCount, _difficulty, "assault", _side] call DMS_fnc_SpawnAIGroup;
_initialGroup = [_spawnPosition, _aiCount, _difficulty, "assault", _side] call DMS_fnc_SpawnAIGroup;
DMS_ai_use_launchers = _useLaunchers;
_initialGroup setCombatMode "BLUE";
_initialGroup setBehaviour "SAFE";
_group = createGroup EAST;
_group setVariable ["DMS_LockLocality",nil];
_group setVariable ["DMS_SpawnedGroup",true];
_group setVariable ["DMS_Group_Side", _side];
{
_unit = _x;
_unit = _x;
[_unit] joinSilent grpNull;
[_unit] joinSilent _group;
}foreach units _group;
[ _group,_spawnPosition,_difficulty,"AWARE" ] call DMS_fnc_SetGroupBehavior;
DMS_ai_use_launchers = true;
if(SC_debug) then
{
_tag = createVehicle ["Sign_Arrow_F", position _unit, [], 0, "CAN_COLLIDE"];
_tag attachTo [_unit,[0,0,0.6],"Head"];
};
}foreach units _initialGroup;
// Get the AI to shut the fuck up :)
enableSentences false;
enableRadio false;
if(!_staticSearch) then
{
[_group, _spawnPosition, _groupRadius] call bis_fnc_taskPatrol;
@ -170,6 +179,7 @@ for [{_i = 0},{_i < (count _statics)},{_i =_i + 1}] do
};
};
};
}forEach _statics;
_logDetail = "[OCCUPATION Static]: Ended";
[_logDetail] call SC_fnc_log;

View File

@ -164,7 +164,8 @@ if(_vehiclesToSpawn >= 1) then
_vehicleSeat = _x select 1;
if(_vehicleRole == "Driver") then
{
_unit = [_group,_spawnLocation,"assault","random",_side,"Vehicle"] call DMS_fnc_SpawnAISoldier;
_unit = [_group,_spawnLocation,"assault","random",_side,"Vehicle"] call DMS_fnc_SpawnAISoldier;
_unit disableAI "FSM";
if(_side == "survivor") then
{
removeUniform _unit;
@ -233,6 +234,11 @@ if(_vehiclesToSpawn >= 1) then
_logDetail = format['[OCCUPATION:Vehicle] %3 vehicle %1 spawned @ %2',_VehicleClassToUse,_spawnLocation,_side];
[_logDetail] call SC_fnc_log;
sleep 15;
{
_x enableAI "FSM";
}forEach units _group;
[_group, _spawnLocation, 2000] call bis_fnc_taskPatrol;
_group setBehaviour "SAFE";
_group setCombatMode "RED";