V59 Tweaks

This commit is contained in:
second_coming 2016-08-12 11:36:20 +01:00
parent 91d162766e
commit 8b438ddbfc
8 changed files with 38 additions and 23 deletions

View File

@ -1,3 +1,8 @@
=================================================================================
V59 (12-08-2016)
=================================================================================
Random spawn tweaks and a few other optimisations
=================================================================================
V58 (10-08-2016)
=================================================================================

View File

@ -4,7 +4,7 @@ class CfgPatches
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
a3_exile_occupation_version = "V58 (10-08-2016)";
a3_exile_occupation_version = "V59 (12-08-2016)";
requiredAddons[] = {"a3_dms"};
author[]= {"second_coming"};
};

View File

@ -27,10 +27,10 @@ SC_scaleAI = 10; // any more than _scaleAI players on the server and _
SC_removeUserMapMarkers = true; // true to delete map markers placed by players every 10 seconds
// Distance limits for selecting safe places to spawn AI
SC_minDistanceToSpawnZones = 1000; // Minimum distance in metres to the nearest spawn zone
SC_minDistanceToTraders = 1000; // Minimum distance in metres to the nearest trader zone
SC_minDistanceToTerritory = 500; // Minimum distance in metres to the nearest player territory
SC_minDistanceToPlayer = 400; // Minimum distance in metres to the nearest player
SC_minDistanceToSpawnZones = 750; // Minimum distance in metres to the nearest spawn zone
SC_minDistanceToTraders = 750; // Minimum distance in metres to the nearest trader zone
SC_minDistanceToTerritory = 350; // Minimum distance in metres to the nearest player territory
SC_minDistanceToPlayer = 250; // Minimum distance in metres to the nearest player
SC_useWaypoints = true; // When spawning AI create waypoints to make them enter buildings (can affect performance when the AI is spawned and the waypoints are calculated)
@ -65,12 +65,12 @@ SC_fastNightsMultiplierDay = 4; // the time multiplier to
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SC_randomSpawnMinPlayers = 1; // Minimum number of players to be online before random spawning AI can spawn
SC_randomSpawnMaxGroups = 5; // Maximum amount of random AI groups allowed at any time
SC_randomSpawnMaxGroups = 4; // Maximum amount of random AI groups allowed at any time
SC_randomSpawnMinGroupSize = 1; // Minimum amount of random AI groups allowed per group
SC_randomSpawnMaxGroupSize = 3; // Maximum amount of random AI groups allowed per group
SC_randomSpawnChance = 10; // Percentage chance of spawning if suitable player found
SC_randomSpawnMaxGroupSize = 4; // Maximum amount of random AI groups allowed per group
SC_randomSpawnChance = 12; // Percentage chance of spawning if suitable player found
SC_randomSpawnIgnoreCount = true; // true if you want spawn random AI groups regardless of overall AI count (they still count towards the total though)
SC_randomSpawnFrequency = 1800; // time in seconds between the possibility of random AI hunting the same player (1800 for 30 minutes)
SC_randomSpawnFrequency = 3600; // time in seconds between the possibility of random AI hunting the same player (1800 for 30 minutes)
SC_randomSpawnAnnounce = true; // true if you want a warning toast issued to all players when AI spawns
SC_randomSpawnNearBases = false; // true if you want to allow random spawns in range of territories
@ -142,7 +142,7 @@ SC_occupyLootCratesLocations = [
[4000,4000,0]
];
SC_numberofLootCrates = 6; // if SC_occupyLootCrates = true spawn this many loot crates (overrided below for Namalsk)
SC_LootCrateGuards = 3; // number of AI to spawn at each crate
SC_LootCrateGuards = 2; // number of AI to spawn at each crate
SC_LootCrateGuardsRandomize = true; // Use a random number of guards up to a maximum = SC_LootCrateGuards (so between 1 and SC_LootCrateGuards)
SC_occupyLootCratesMarkers = true; // true if you want to have markers on the loot crate spawns
@ -235,19 +235,19 @@ SC_HeliCrashMagazinesAmount = [2,2]; // [fixed amount to add, random amount to
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SC_minimumCrewAmount = 2; // Maximum amount of AI allowed in a vehicle
SC_maximumCrewAmount = 4; // Maximum amount of AI allowed in a vehicle
SC_maximumCrewAmount = 3; // Maximum amount of AI allowed in a vehicle
// (essential crew like drivers and gunners will always spawn regardless of these settings)
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Roaming Land Vehicle Setup
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
SC_maxNumberofVehicles = 4; // How many roaming vehicles to spawn
SC_maxNumberofVehicles = 3; // How many roaming vehicles to spawn
SC_occupyVehicleIgnoreCount = true; // true if you want spawn vehicles regardless of overall AI count
SC_occupyVehiclesLocked = false; // true if AI vehicles to stay locked until all the linked AI are dead
SC_occupyVehicleSurvivors = false; // true if you want a chance to spawn survivor AI as well as bandits (SC_occupyVehicle must be true to use this option)
SC_occupyVehicleUseFixedPos = false; // True if you want to specify the patrol positions and radius of the area to patrol / false for random
SC_occupyVehicleUseFixedPos = true; // True if you want to specify the patrol positions and radius of the area to patrol / false for random
// if you set SC_maxNumberofVehicles higher than the number of static positions, the remainder will be random
// they will also ignore any blacklisted areas
@ -283,7 +283,7 @@ SC_maxNumberofHelis = 1;
// Array of aircraft which can be used by AI patrols (the number next to next vehicle is the maximum amount of that class allowed, 0 for no limit)
SC_HeliClassToUse = [ ["Exile_Chopper_Huey_Armed_Green",0] ];
SC_occupyHeliUseFixedPos = false; // True if you want to specify the patrol positions and radius of the area to patrol / false for random
SC_occupyHeliUseFixedPos = true; // True if you want to specify the patrol positions and radius of the area to patrol / false for random
// if you set SC_maxNumberofHelis higher than the number of static positions, the remainder will be random
// they will also ignore any blacklisted areas
@ -423,7 +423,6 @@ if (worldName == 'Chernarus' AND SC_useMapOverrides) then
if (worldName == 'Tanoa' AND SC_useMapOverrides) then
{
SC_useApexClasses = true;
SC_maxAIcount = 80;
};
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -2,7 +2,7 @@
// Attempts to get the current vehicle driver to repair the vehicle
_vehicle = _this select 0;
_vehicle removeAllMPEventHandlers "mphit";
_vehicle removeAllMPEventHandlers "mphit";
_vehicleDamage = damage _vehicle;
_damagedWheels = 0;
@ -131,7 +131,8 @@ if(_wheelDamage OR _engineDamage OR _fueltankDamage) then
_group setBehaviour "SAFE";
_group setCombatMode "RED";
_driver enableAI "MOVE";
_driver enableAI "FSM";
_driver enableAI "FSM";
_vehicle addMPEventHandler ["mphit", "_this call SC_fnc_hitLand;"];
};
}
else
@ -140,5 +141,9 @@ else
[_logDetail] call SC_fnc_log;
_logDetail = format ["[OCCUPATION:repairVehicle]:: Vehicle: %1 damage: %2 engine: %3 fuelTank: %4",_vehicle,_vehicleDamage,_engineDamage,_fueltankDamage];
[_logDetail] call SC_fnc_log;
[] spawn
{
sleep 2;
};
_vehicle addMPEventHandler ["mphit", "_this call SC_fnc_hitLand;"];
};
_vehicle addMPEventHandler ["mphit", "_this call SC_fnc_hitLand;"];

View File

@ -34,7 +34,7 @@ _validspot = false;
while{!_validspot} do
{
sleep 0.2;
sleep 1;
_tempPosition = [_pos,0,_maxDist,15,_inWater,20,0] call BIS_fnc_findSafePos;
_position = [_tempPosition select 0, _tempPosition select 1, 0];
_validspot = true;

View File

@ -103,7 +103,13 @@ if(time < 300) exitWith
}
else
{
// Remove existing waypoints
while {(count (waypoints _group)) > 0} do
{
deleteWaypoint ((waypoints _group) select 0);
};
// Make sure the target is being hunted
_group reveal [_selectedPlayer,1.5];
_destination = getPos _selectedPlayer;
@ -298,7 +304,7 @@ _livePlayers call BIS_fnc_arrayShuffle;
_group setVariable ["DMS_AllowFreezing",false];
_group setVariable ["DMS_LockLocality",true];
_group setVariable ["DMS_SpawnedGroup",true];
_group setVariable ["DMS_Group_Side", SC_BanditSide];
_group setVariable ["DMS_Group_Side", "bandit"];
_group setVariable ["SC_huntedPlayer",_selectedPlayer];
_selectedPlayer setVariable ["SC_lastHunted",time];
SC_liveRandomGroups = SC_liveRandomGroups + [_group];

View File

@ -37,7 +37,7 @@ while {true} do
_spawnLocation = [_nearestRoadPos select 0, _nearestRoadPos select 1, 0];
_transportSpeed = "LIMITED";
_transportBehaviour = "SAFE";
_transportWaitingTime = 10;
_transportWaitingTime = 20;
}
else
{
@ -45,7 +45,7 @@ while {true} do
_spawnLocation = [SC_occupyTransportStartPos select 0, SC_occupyTransportStartPos select 1, 200];
_transportSpeed = "NORMAL";
_transportBehaviour = "CARELESS";
_transportWaitingTime = 60;
_transportWaitingTime = 120;
};