V42 Tweaks

This commit is contained in:
second_coming
2016-05-22 23:08:11 +01:00
parent 907fda05a0
commit f465d772db
13 changed files with 64 additions and 9 deletions

View File

@ -1,3 +1,10 @@
=================================================================================
V42 (18-05-2016)
=================================================================================
Forced reload after spawning AI to make sure they are ready to fire when they spot
an enemy
Added in compatibility with the new DMS feature AI freezing
=================================================================================
V41 (15-05-2016)
=================================================================================

View File

@ -4,6 +4,8 @@ class CfgPatches
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
a3_exile_occupation_version = "v42 (22-05-2016)";
requiredAddons[] = {"a3_dms"};
author[]= {"second_coming"};
};
};

View File

@ -23,7 +23,7 @@ SC_scaleAI = 10; // any more than _scaleAI players on the server an
SC_removeUserMapMarkers = true; // true to delete map markers placed by players every 10 seconds
SC_fastNights = true; // true if you want night time to go faster than daytime
SC_fastNights = false; // true if you want night time to go faster than daytime
SC_fastNightsStarts = 18; // Start fast nights at this hour (24 hour clock) eg. 18 for 6pm
SC_fastNightsMultiplierNight= 16; // the time multiplier to use at night (12 = 12x speed)
SC_fastNightsEnds = 6; // End fast nights at this hour (24 hour clock) eg. 6 for 6am

View File

@ -2,7 +2,6 @@
//
// Server Occupation script by second_coming
//
SC_occupationVersion = "v41 (17-05-2016)";
//
// http://www.exilemod.com/profile/60-second_coming/
//
@ -20,6 +19,8 @@ SC_occupationVersion = "v41 (17-05-2016)";
//
////////////////////////////////////////////////////////////////////////////////////////////
SC_occupationVersion = getText (configFile >> "CfgPatches" >> "a3_exile_occupation" >> "a3_exile_occupation_version");
[] spawn
{
diag_log format ["[OCCUPATION]:: Occupation %2 Giving the server time to start before starting [OCCUPATION] (%1)",time,SC_occupationVersion];

View File

@ -52,6 +52,14 @@ while{!_validspot} do
};
};
_isOverWater = surfaceIsWater _position;
if(!_waterSpawn && _isOverWater) then
{
_validspot = false;
diag_log format["BIS_fnc_findSafePos none waterspawn over water %1",_position];
};
if(_validspot) then
{
_validspot = [ _position ] call SC_fnc_isSafePos;

View File

@ -57,6 +57,7 @@ for "_i" from 1 to SC_numberofLootCrates do
_unit = [_group,_spawnPosition,"custom","random","bandit","soldier",_loadOut] call DMS_fnc_SpawnAISoldier;
_unitName = ["bandit"] call SC_fnc_selectName;
_unit setName _unitName;
reload _unit;
};
// Get the AI to shut the fuck up :)

View File

@ -149,7 +149,8 @@ _areaToScan = [ false, false ] call SC_fnc_findsafePos;
[_unit] joinSilent grpNull;
[_unit] joinSilent _group;
_unitName = ["bandit"] call SC_fnc_selectName;
_unit setName _unitName;
_unit setName _unitName;
reload _unit;
if(SC_debug) then
{
_tag = createVehicle ["Sign_Arrow_Blue_F", position _unit, [], 0, "CAN_COLLIDE"];

View File

@ -11,11 +11,19 @@ _logDetail = format ["[OCCUPATION:Unstick]:: Initialised at %1",time];
_pos = position _x;
_nearestMarker = [allMapMarkers, _pos] call BIS_fnc_nearestPosition; // Nearest Marker to the Location
_posNearestMarker = getMarkerPos _nearestMarker;
if(_pos distance _posNearestMarker < 750) then
_group = group _x;
_isFrozen = _group getVariable["DMS_isGroupFrozen",false];
if (!_isFrozen && (_pos distance _posNearestMarker < 750)) then
{
_GroupLeader = leader (group _x);
_GroupLeader doMove _originalSpawnLocation;
};
}
else
{
_logDetail = format ["[OCCUPATION:Unstick]:: Air: %1 is currently frozen",_x];
[_logDetail] call SC_fnc_log;
};
}forEach SC_liveHelisArray;
{
@ -23,7 +31,17 @@ _logDetail = format ["[OCCUPATION:Unstick]:: Initialised at %1",time];
_logDetail = format ["[OCCUPATION:Unstick]:: Land: %1 is active",_x];
[_logDetail] call SC_fnc_log;
_x setFuel 1;
[_x] call SC_fnc_unstick;
_group = group _x;
_isFrozen = _group getVariable["DMS_isGroupFrozen",false];
if (!_isFrozen) then
{
[_x] call SC_fnc_unstick;
}
else
{
_logDetail = format ["[OCCUPATION:Unstick]:: Land: %1 is currently frozen",_x];
[_logDetail] call SC_fnc_log;
};
sleep 2;
}forEach SC_liveVehiclesArray;
@ -31,8 +49,18 @@ _logDetail = format ["[OCCUPATION:Unstick]:: Initialised at %1",time];
if(isNull _x) exitWith { SC_liveBoatsArray = SC_liveBoatsArray - [_x]; };
_logDetail = format ["[OCCUPATION:Unstick]:: Sea: %1 is active",_x];
[_logDetail] call SC_fnc_log;
_x setFuel 1;
[_x] call SC_fnc_unstick;
_x setFuel 1;
_group = group _x;
_isFrozen = _group getVariable["DMS_isGroupFrozen",false];
if (!_isFrozen) then
{
[_x] call SC_fnc_unstick;
}
else
{
_logDetail = format ["[OCCUPATION:Unstick]:: Sea: %1 is currently frozen",_x];
[_logDetail] call SC_fnc_log;
};
sleep 2;
}forEach SC_liveBoatsArray;

View File

@ -164,6 +164,7 @@ _locations = (nearestLocations [_spawnCenter, ["NameVillage","NameCity", "NameCi
[_unit] joinSilent grpNull;
[_unit] joinSilent _group;
[_side,_unit] call SC_fnc_addMarker;
reload _unit;
}foreach units _group;
// Get the AI to shut the fuck up :)
@ -254,6 +255,7 @@ _locations = (nearestLocations [_spawnCenter, ["NameVillage","NameCity", "NameCi
[_unit] joinSilent grpNull;
[_unit] joinSilent _group2;
[_side,_unit] call SC_fnc_addMarker;
reload _unit;
}foreach units _group2;
[_group2, _pos, _groupRadius] call bis_fnc_taskPatrol;

View File

@ -114,6 +114,7 @@ for "_i" from 1 to _vehiclesToSpawn do
_unit assignAsDriver _vehicle;
_unit moveInDriver _vehicle;
_unit setVariable ["DMS_AssignedVeh",_vehicle];
_unit setVariable ["DMS_AllowFreezing",false,true];
_unitPlaced = true;
};
if(_vehicleRole == "Turret") then

View File

@ -132,6 +132,7 @@ for "_i" from 1 to _vehiclesToSpawn do
_unit moveInDriver _vehicle;
//_vehicle lockDriver true;
_unit setVariable ["DMS_AssignedVeh",_vehicle];
_unit setVariable ["DMS_AllowFreezing",false,true];
removeBackpackGlobal _unit;
_unit addBackpackGlobal "B_Parachute";
_unitPlaced = true;

View File

@ -109,6 +109,7 @@ _transport setVariable ["SC_assignedDriver", _transportDriver,true];
_transport setVariable ["SC_transport", true,true];
_transport setVariable ["SC_vehicleSpawnLocation", _spawnLocation,true];
_transportDriver setVariable ["DMS_AssignedVeh",_transport];
_transportDriver setVariable ["DMS_AllowFreezing",false,true];
_transport addEventHandler ["getin", "_this call SC_fnc_getOnBus;"];
_transport addEventHandler ["getout", "_this call SC_fnc_getOffBus;"];

View File

@ -201,6 +201,7 @@ if(_vehiclesToSpawn >= 1) then
_unit assignAsDriver _vehicle;
_unit moveInDriver _vehicle;
_unit setVariable ["DMS_AssignedVeh",_vehicle];
_unit setVariable ["DMS_AllowFreezing",false,true];
_unit setVariable ["SC_drivenVehicle", _vehicle,true];
_unit addMPEventHandler ["mpkilled", "_this call SC_fnc_driverKilled;"];
_vehicle setVariable ["SC_assignedDriver", _unit,true];
@ -251,7 +252,8 @@ if(_vehiclesToSpawn >= 1) then
{
_x enableAI "FSM";
_x enableAI "MOVE";
_x enableAI "MOVE";
reload _x;
}forEach units _group;
[_group, _spawnLocation, 2000] call bis_fnc_taskPatrol;