v21 fixes & tweaks

This commit is contained in:
second_coming 2016-04-16 02:32:48 +01:00
parent 48c160dcb2
commit f6aac51555
6 changed files with 70 additions and 54 deletions

View File

@ -13,11 +13,11 @@
// 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 = false; // set to true to turn on debug features (not for live servers)
SC_extendedLogging = false; // set to true for additional logging SC_extendedLogging = true; // 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
SC_mapMarkers = false; // Place map markers at the occupied areas (occupyPlaces and occupyMilitary only) true/false SC_mapMarkers = true; // Place map markers at the occupied areas (occupyPlaces and occupyMilitary only) true/false
SC_minFPS = 5; // any lower than minFPS on the server and additional AI won't spawn SC_minFPS = 5; // any lower than minFPS on the server and additional AI won't spawn
SC_scaleAI = 10; // any more than _scaleAI players on the server and _maxAIcount is reduced for each extra player SC_scaleAI = 10; // any more than _scaleAI players on the server and _maxAIcount is reduced for each extra player
@ -30,12 +30,14 @@ SC_occupyPlaces = true; // true if you want villages,towns,cities patr
SC_occupyVehicle = true; // true if you want to have roaming AI vehicles SC_occupyVehicle = true; // true if you want to have roaming AI vehicles
SC_occupyVehiclesLocked = true; // true if AI vehicles to stay locked until all the linked AI are dead SC_occupyVehiclesLocked = true; // true if AI vehicles to stay locked until all the linked AI are dead
SC_SurvivorsFriendly = true; // true if you want survivors to be friendly to players (until they are attacked by players)
// false if you want survivors to be aggressive to players
SC_SurvivorsChance = 33; // chance in % to spawn survivors instead of bandits (for places and land vehicles) SC_SurvivorsChance = 33; // chance in % to spawn survivors instead of bandits (for places and land vehicles)
SC_occupyPlacesSurvivors = true; // true if you want a chance to spawn survivor AI as well as bandits (SC_occupyPlaces must be true to use this option) SC_occupyPlacesSurvivors = true; // true if you want a chance to spawn survivor AI as well as bandits (SC_occupyPlaces must be true to use this option)
SC_occupyVehicleSurvivors = true; // true if you want a chance to spawn survivor AI as well as bandits (SC_occupyVehicle must be true to use this option) SC_occupyVehicleSurvivors = true; // true if you want a chance to spawn survivor AI as well as bandits (SC_occupyVehicle must be true to use this option)
SC_occupyMilitary = true; // true if you want military buildings patrolled (specify which types of building below) SC_occupyMilitary = false; // true if you want military buildings patrolled (specify which types of building below)
SC_buildings = [ "Land_TentHangar_V1_F","Land_Hangar_F", SC_buildings = [ "Land_TentHangar_V1_F","Land_Hangar_F",
"Land_Airport_Tower_F","Land_Cargo_House_V1_F", "Land_Airport_Tower_F","Land_Cargo_House_V1_F",
@ -68,7 +70,7 @@ SC_buildings = [ "Land_TentHangar_V1_F","Land_Hangar_F",
]; ];
SC_occupyStatic = true; // true if you want to garrison AI in specific locations SC_occupyStatic = false; // true if you want to garrison AI in specific locations
SC_occupySky = true; // true if you want to have roaming AI helis SC_occupySky = true; // true if you want to have roaming AI helis
SC_occupySea = false; // true if you want to have roaming AI boats SC_occupySea = false; // true if you want to have roaming AI boats
@ -116,7 +118,15 @@ if (worldName == 'Namalsk') then
SC_occupyPublicBusClass = "Exile_Car_LandRover_Urban"; // the ikarus bus gets stuck on Namalsk SC_occupyPublicBusClass = "Exile_Car_LandRover_Urban"; // the ikarus bus gets stuck on Namalsk
}; };
// Don't alter anything below this point // Don't alter anything below this point, unless you want your server to explode :)
if(!SC_SurvivorsFriendly) then
{
CIVILIAN setFriend[RESISTANCE,0];
CIVILIAN setFriend[EAST,0];
CIVILIAN setFriend[WEST,0];
EAST setFriend[CIVILIAN,0];
WEST setFriend[CIVILIAN,0];
};
SC_SurvivorSide = CIVILIAN; SC_SurvivorSide = CIVILIAN;
SC_BanditSide = EAST; SC_BanditSide = EAST;
SC_liveVehicles = 0; SC_liveVehicles = 0;

View File

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

View File

@ -192,6 +192,7 @@ _locations = (nearestLocations [_spawnCenter, ["NameVillage","NameCity", "NameCi
if(_side == "survivor") then if(_side == "survivor") then
{ {
_unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"]; _unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"];
_unit addMPEventHandler ["mpkilled", "_this call SC_fnc_unitMPKilled;"];
removeUniform _unit; removeUniform _unit;
_unit forceAddUniform "Exile_Uniform_BambiOverall"; _unit forceAddUniform "Exile_Uniform_BambiOverall";
if(SC_debug) then if(SC_debug) then
@ -289,6 +290,7 @@ _locations = (nearestLocations [_spawnCenter, ["NameVillage","NameCity", "NameCi
if(_side == "survivor") then if(_side == "survivor") then
{ {
_unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"]; _unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"];
_unit addMPEventHandler ["mpkilled", "_this call SC_fnc_unitMPKilled;"];
removeUniform _unit; removeUniform _unit;
_unit forceAddUniform "Exile_Uniform_BambiOverall"; _unit forceAddUniform "Exile_Uniform_BambiOverall";
if(SC_debug) then if(SC_debug) then
@ -321,16 +323,17 @@ _locations = (nearestLocations [_spawnCenter, ["NameVillage","NameCity", "NameCi
_marker setMarkerType "mil_dot"; _marker setMarkerType "mil_dot";
_marker setMarkerBrush "Solid"; _marker setMarkerBrush "Solid";
_marker setMarkerAlpha 0.5; _marker setMarkerAlpha 0.5;
_marker setMarkerColor "ColorOrange";
_marker setMarkerText "Occupied Area"; _marker setMarkerText "Occupied Area";
}; };
if(_side == "survivor") then if(_side == "survivor") then
{ {
_marker setMarkerColor "ColorGreen";
_logDetail = format ["[OCCUPATION:Places]:: Spawning %2 survivor AI in at %3 to patrol %1",_locationName,_aiCount,_spawnPosition]; _logDetail = format ["[OCCUPATION:Places]:: Spawning %2 survivor AI in at %3 to patrol %1",_locationName,_aiCount,_spawnPosition];
} }
else else
{ {
_marker setMarkerColor "ColorOrange";
_logDetail = format ["[OCCUPATION:Places]:: Spawning %2 bandit AI in at %3 to patrol %1",_locationName,_aiCount,_spawnPosition]; _logDetail = format ["[OCCUPATION:Places]:: Spawning %2 bandit AI in at %3 to patrol %1",_locationName,_aiCount,_spawnPosition];
}; };
[_logDetail] call SC_fnc_log; [_logDetail] call SC_fnc_log;

View File

@ -158,6 +158,8 @@ if(_vehiclesToSpawn >= 1) then
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 removeAllMPEventHandlers "mphit";
_unit removeAllMPEventHandlers "mpkilled";
_unit disableAI "FSM"; _unit disableAI "FSM";
if(_side == "survivor") then if(_side == "survivor") then
{ {
@ -192,6 +194,7 @@ if(_vehiclesToSpawn >= 1) then
if(_side == "survivor") then if(_side == "survivor") then
{ {
_unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"]; _unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"];
_unit addMPEventHandler ["mpkilled", "_this call SC_fnc_unitMPKilled;"];
removeUniform _unit; removeUniform _unit;
_unit forceAddUniform "Exile_Uniform_BambiOverall"; _unit forceAddUniform "Exile_Uniform_BambiOverall";
}; };
@ -205,11 +208,12 @@ if(_vehiclesToSpawn >= 1) then
if(_side == "survivor") then if(_side == "survivor") then
{ {
_unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"]; _unit addMPEventHandler ["mphit", "_this call SC_fnc_unitMPHit;"];
_unit addMPEventHandler ["mpkilled", "_this call SC_fnc_unitMPKilled;"];
removeUniform _unit; removeUniform _unit;
_unit forceAddUniform "Exile_Uniform_BambiOverall"; _unit forceAddUniform "Exile_Uniform_BambiOverall";
}; };
_unit assignAsCargo _vehicle; _unit assignAsCargo _vehicle;
_unit moveInCargo _vehicle; _unit moveInCargo [_vehicle, _vehicleSeat];
_unit setVariable ["DMS_AssignedVeh",_vehicle]; _unit setVariable ["DMS_AssignedVeh",_vehicle];
_unitPlaced = true; _unitPlaced = true;
}; };

View File

@ -8,10 +8,9 @@ if(SC_extendedLogging) then
}; };
_deadDriver = _this select 0; _deadDriver = _this select 0;
_deadDriver removeAllMPEventHandlers "mpkilled"; //_deadDriver removeAllMPEventHandlers "mpkilled";
_vehicle = _deadDriver getVariable "SC_drivenVehicle"; _vehicle = _deadDriver getVariable "SC_drivenVehicle";
if(SC_debug) then if(SC_debug) then
{ {
{ detach _x; deleteVehicle _x; } forEach attachedObjects _deadDriver; { detach _x; deleteVehicle _x; } forEach attachedObjects _deadDriver;
@ -48,6 +47,7 @@ if(count units _group > 0) then
_driver setVariable ["SC_drivenVehicle", _vehicle,true]; _driver setVariable ["SC_drivenVehicle", _vehicle,true];
_vehicle setVariable ["SC_assignedDriver", _driver,true]; _vehicle setVariable ["SC_assignedDriver", _driver,true];
_vehicle addMPEventHandler ["mphit", "_this call SC_fnc_repairVehicle;"]; _vehicle addMPEventHandler ["mphit", "_this call SC_fnc_repairVehicle;"];
_driver removeAllMPEventHandlers "mpkilled";
_driver addMPEventHandler ["mpkilled", "_this call SC_fnc_driverKilled;"]; _driver addMPEventHandler ["mpkilled", "_this call SC_fnc_driverKilled;"];
if(SC_debug) then if(SC_debug) then

View File

@ -4,7 +4,6 @@ _killer = _this select 1;
// remove all eventhandlers from the dead unit // remove all eventhandlers from the dead unit
_unit removeAllMPEventHandlers "mphit"; _unit removeAllMPEventHandlers "mphit";
_unit removeAllMPEventHandlers "mpkilled";
if(SC_debug) then if(SC_debug) then
{ {