v16 tweaks & fixes
This commit is contained in:
parent
0f4b922a46
commit
5e8f0ef6ee
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
// Shared Config for each occupation monitor
|
// 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_extendedLogging = false; // set to true for additional logging
|
||||||
SC_infiSTAR_log = true; // true Use infiSTAR logging, false logs to server rpt
|
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
|
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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
//
|
//
|
||||||
// Server Occupation script by second_coming
|
// 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/
|
// http://www.exilemod.com/profile/60-second_coming/
|
||||||
//
|
//
|
||||||
|
@ -39,9 +39,9 @@ if(_aiActive > _maxAIcount) exitWith
|
|||||||
[_logDetail] call SC_fnc_log;
|
[_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;
|
_spawnPosition = _currentStatic select 0;
|
||||||
_aiCount = _currentStatic select 1;
|
_aiCount = _currentStatic select 1;
|
||||||
_radius = _currentStatic select 2;
|
_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
|
// Don't spawn additional AI if there are already AI in range
|
||||||
_aiNear = count(_spawnPosition nearEntities ["O_recon_F", 250]);
|
_nearEastAI = { side _x == EAST AND _x distance _pos < 250 } count allUnits;
|
||||||
if(_aiNear > 0) exitwith
|
if(_nearEastAI > 0) exitwith
|
||||||
{
|
{
|
||||||
_okToSpawn = false;
|
_okToSpawn = false;
|
||||||
if(_debug) then
|
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
|
// 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;
|
_okToSpawn = false;
|
||||||
if(_debug) then
|
if(_debug) then
|
||||||
@ -89,23 +89,32 @@ for [{_i = 0},{_i < (count _statics)},{_i =_i + 1}] do
|
|||||||
_side = "bandit";
|
_side = "bandit";
|
||||||
|
|
||||||
DMS_ai_use_launchers = false;
|
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 grpNull;
|
||||||
[_unit] joinSilent _group;
|
[_unit] joinSilent _group;
|
||||||
}foreach units _group;
|
if(SC_debug) then
|
||||||
|
{
|
||||||
[ _group,_spawnPosition,_difficulty,"AWARE" ] call DMS_fnc_SetGroupBehavior;
|
_tag = createVehicle ["Sign_Arrow_F", position _unit, [], 0, "CAN_COLLIDE"];
|
||||||
DMS_ai_use_launchers = true;
|
_tag attachTo [_unit,[0,0,0.6],"Head"];
|
||||||
|
};
|
||||||
|
}foreach units _initialGroup;
|
||||||
|
|
||||||
|
|
||||||
// Get the AI to shut the fuck up :)
|
// Get the AI to shut the fuck up :)
|
||||||
enableSentences false;
|
enableSentences false;
|
||||||
enableRadio false;
|
enableRadio false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(!_staticSearch) then
|
if(!_staticSearch) then
|
||||||
{
|
{
|
||||||
[_group, _spawnPosition, _groupRadius] call bis_fnc_taskPatrol;
|
[_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 = "[OCCUPATION Static]: Ended";
|
||||||
[_logDetail] call SC_fnc_log;
|
[_logDetail] call SC_fnc_log;
|
@ -164,7 +164,8 @@ if(_vehiclesToSpawn >= 1) then
|
|||||||
_vehicleSeat = _x select 1;
|
_vehicleSeat = _x select 1;
|
||||||
if(_vehicleRole == "Driver") then
|
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
|
if(_side == "survivor") then
|
||||||
{
|
{
|
||||||
removeUniform _unit;
|
removeUniform _unit;
|
||||||
@ -233,6 +234,11 @@ if(_vehiclesToSpawn >= 1) then
|
|||||||
_logDetail = format['[OCCUPATION:Vehicle] %3 vehicle %1 spawned @ %2',_VehicleClassToUse,_spawnLocation,_side];
|
_logDetail = format['[OCCUPATION:Vehicle] %3 vehicle %1 spawned @ %2',_VehicleClassToUse,_spawnLocation,_side];
|
||||||
[_logDetail] call SC_fnc_log;
|
[_logDetail] call SC_fnc_log;
|
||||||
sleep 15;
|
sleep 15;
|
||||||
|
|
||||||
|
{
|
||||||
|
_x enableAI "FSM";
|
||||||
|
}forEach units _group;
|
||||||
|
|
||||||
[_group, _spawnLocation, 2000] call bis_fnc_taskPatrol;
|
[_group, _spawnLocation, 2000] call bis_fnc_taskPatrol;
|
||||||
_group setBehaviour "SAFE";
|
_group setBehaviour "SAFE";
|
||||||
_group setCombatMode "RED";
|
_group setCombatMode "RED";
|
||||||
|
Loading…
Reference in New Issue
Block a user