Build 141
fixed an issue with Hostage missions. Fixed an issue whereby collisions between objects at missions caused them to fly about. Changed the default for some objects to allow damage which should increase realism and make certain player tasks like loading crates easier.
This commit is contained in:
parent
411c3eac70
commit
461b89b44c
@ -0,0 +1,130 @@
|
||||
// self explanatory. Checks to see if the position is in either a black listed location or near a player spawn.
|
||||
// As written this relies on BIS_fnc_findSafePos to ensure that the spawn point is not on water or an excessively steep slope.
|
||||
//
|
||||
/*
|
||||
for ghostridergaming
|
||||
By Ghostrider [GRG]
|
||||
Copyright 2016
|
||||
Last Modified 1-22-17
|
||||
--------------------------
|
||||
License
|
||||
--------------------------
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||
|
||||
private["_findNew","_tries","_coords","_dist","_xpos","_ypos","_newPos","_townPos","_pole","_oldPos","_ignore"];
|
||||
|
||||
_findNew = true;
|
||||
_tries = 0;
|
||||
while {_findNew} do {
|
||||
_findNew = false;
|
||||
//[_centerForSearch,_minDistFromCenter,_maxDistanceFromCenter,_minDistanceFromNearestObj,_waterMode,_maxTerainGradient,_shoreMode] call BIS_fnc_findSafePos
|
||||
// https://community.bistudio.com/wiki/BIS_fnc_findSafePos
|
||||
_coords = [blck_mapCenter,0,blck_mapRange,30,0,5,0] call BIS_fnc_findSafePos;
|
||||
//diag_log format["<<--->> _coords = %1",_coords];
|
||||
|
||||
{
|
||||
if ((_x distance2D _coords) < blck_MinDistanceFromMission) then {
|
||||
_findNew = true;
|
||||
};
|
||||
}forEach blck_heliCrashSites;
|
||||
|
||||
{
|
||||
if ( ((_x select 0) distance2D _coords) < (_x select 1)) exitWith
|
||||
{
|
||||
_findNew = true;
|
||||
};
|
||||
} forEach blck_locationBlackList;
|
||||
|
||||
//diag_log format["#- findSafePosn -# blck_ActiveMissionCoords isEqualTo %1", blck_ActiveMissionCoords];
|
||||
{
|
||||
//diag_log format["#- findSafePosn -# blck_ActiveMissionCoords active mission item is %1", _x];
|
||||
if ( (_x distance2D _coords) < blck_MinDistanceFromMission) exitWith
|
||||
{
|
||||
_FindNew = true;
|
||||
};
|
||||
} forEach blck_ActiveMissionCoords;
|
||||
|
||||
//diag_log format["#- findSafePosn -# blck_recentMissionCoords isEqualTo %1", blck_recentMissionCoords];
|
||||
{
|
||||
_ignore = false;
|
||||
//diag_log format["-# findSafePosn.sqf -# Old Mission element is %1", _x];
|
||||
if (diag_tickTime > ((_x select 1) + 1200)) then // if the prior mission was completed more than 20 min ago then delete it from the list and ignore the check for this location.
|
||||
{
|
||||
_ignore = true;
|
||||
blck_recentMissionCoords= blck_recentMissionCoords - _x;
|
||||
//diag_log format["-# findSafePosn.sqf -# Removing Old Mission element: %1", _x];
|
||||
};
|
||||
if !(_ignore) then
|
||||
{
|
||||
//diag_log format["-# findSafePosn.sqf -# testing _coords against Old Mission coords is %1", _x select 0];
|
||||
if ( ((_x select 0) distance2D _coords) < blck_MinDistanceFromMission) then
|
||||
{
|
||||
_findNew = true;
|
||||
//diag_log format["-# findSafePosn.sqf -# Too Close to Old Mission element: %1", _x];
|
||||
};
|
||||
};
|
||||
} forEach blck_recentMissionCoords;
|
||||
|
||||
// test for water nearby
|
||||
_dist = 100;
|
||||
for [{_i=0}, {_i<360}, {_i=_i+20}] do
|
||||
{
|
||||
_xpos = (_coords select 0) + sin (_i) * _dist;
|
||||
_ypos = (_coords select 1) + cos (_i) * _dist;
|
||||
_newPos = [_xpos,_ypos,0];
|
||||
if (surfaceIsWater _newPos) then
|
||||
{
|
||||
_findNew = true;
|
||||
_i = 361;
|
||||
};
|
||||
};
|
||||
// check that missions spawn at least 1 kkm from towns
|
||||
{
|
||||
_townPos = [((locationPosition _x) select 0), ((locationPosition _x) select 1), 0];
|
||||
if (_townPos distance2D _coords < blck_minDistanceFromTowns) exitWith {
|
||||
_findNew = true;
|
||||
};
|
||||
} forEach blck_townLocations;
|
||||
|
||||
// check for nearby plot pole/freq jammer within 800 meters
|
||||
_mod = call blck_fnc_getModType;
|
||||
_pole = "";
|
||||
if (_mod isEqualTo "Epoch") then {_pole = "PlotPole_EPOCH"};
|
||||
if (_mod isEqualTo "Exile") then {_pole = "Exile_Construction_Flag_Static"};
|
||||
//diag_log format["_fnc_findSafePosn:: -- >> _mod = %1 and _pole = %2",_mod,_pole];
|
||||
{
|
||||
if ((_x distance2D _coords) < blck_minDistanceToBases) then
|
||||
{
|
||||
_findNew = true;
|
||||
};
|
||||
}forEach nearestObjects[blck_mapCenter, [_pole], blck_minDistanceToBases];
|
||||
|
||||
// check to be sure we do not spawn a mission on top of a player.
|
||||
{
|
||||
if (isPlayer _x && (_x distance2D _coords) < blck_minDistanceToPlayer) then
|
||||
{
|
||||
_findNew = true;
|
||||
};
|
||||
}forEach playableUnits;
|
||||
|
||||
if (toLower(worldName) isEqualTo "taviana") then
|
||||
{
|
||||
_tavTest = createVehicle ["SmokeShell",_coords,[], 0, "CAN_COLLIDE"];
|
||||
_tavHeight = (getPosASL _tavTest) select 2;
|
||||
deleteVehicle _tavTest;
|
||||
if (_tavHeight > 100) then {_FindNew = true;};
|
||||
};
|
||||
_tries = _tries + 1;
|
||||
};
|
||||
|
||||
if ((count _coords) > 2) then
|
||||
{
|
||||
private["_temp"];
|
||||
_temp = [_coords select 0, _coords select 1];
|
||||
_coords = _temp;
|
||||
};
|
||||
_coords;
|
@ -5,7 +5,6 @@
|
||||
for ghostridergaming
|
||||
By Ghostrider [GRG]
|
||||
Copyright 2016
|
||||
Last Modified 1-22-17
|
||||
--------------------------
|
||||
License
|
||||
--------------------------
|
||||
@ -15,59 +14,112 @@
|
||||
*/
|
||||
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||
|
||||
private["_findNew","_tries","_coords","_dist","_xpos","_ypos","_newPos","_townPos","_pole","_oldPos","_ignore"];
|
||||
|
||||
private["_findNew","_tries","_coords","_dist","_xpos","_ypos","_newPos","_townPos","_pole"];
|
||||
private["_minDistFromBases","_minDistFromMission","_minDistanceFromTowns","_minSistanceFromPlayers","_weightBlckList","_weightBases","_weightMissions","_weightTowns","_weightPlayers"];
|
||||
_findNew = true;
|
||||
_tries = 0;
|
||||
while {_findNew} do {
|
||||
_findNew = false;
|
||||
//[_centerForSearch,_minDistFromCenter,_maxDistanceFromCenter,_minDistanceFromNearestObj,_waterMode,_maxTerainGradient,_shoreMode] call BIS_fnc_findSafePos
|
||||
// https://community.bistudio.com/wiki/BIS_fnc_findSafePos
|
||||
_coords = [blck_mapCenter,0,blck_mapRange,30,0,5,0] call BIS_fnc_findSafePos;
|
||||
//diag_log format["<<--->> _coords = %1",_coords];
|
||||
|
||||
_minDistFromBases = blck_minDistanceToBases;
|
||||
_minDistFromMission = blck_MinDistanceFromMission;
|
||||
_minDistanceFromTowns = blck_minDistanceFromTowns;
|
||||
_minSistanceFromPlayers = blck_minDistanceToPlayer;
|
||||
_weightBlckList = 0.95;
|
||||
_weightBases = 0.9;
|
||||
_weightMissions = 0.8;
|
||||
_weightTowns = 0.7;
|
||||
_weightPlayers = 0.6;
|
||||
if (blck_modType isEqualTo "Epoch") then {_pole = "PlotPole_EPOCH"};
|
||||
if (blck_modType isEqualTo "Exile") then {_pole = "Exile_Construction_Flag_Static"};
|
||||
|
||||
{
|
||||
if (diag_tickTime > ((_x select 1) + 1200)) then // if the prior mission was completed more than 20 min ago then delete it from the list and ignore the check for this location.
|
||||
{
|
||||
if ((_x distance2D _coords) < blck_MinDistanceFromMission) then {
|
||||
_findNew = true;
|
||||
blck_recentMissionCoords deleteAt (blck_recentMissionCoords find _x);
|
||||
};
|
||||
}forEach blck_heliCrashSites;
|
||||
}forEach blck_recentMissionCoords;
|
||||
|
||||
while {_findNew} do
|
||||
{
|
||||
_findNew = false;
|
||||
_coords = [blck_mapCenter,0,blck_mapRange,30,0,5,0] call BIS_fnc_findSafePos;
|
||||
//diag_log format["_fnc_findSafePosn: _coords = %1 | _tries = %2",_coords,_tries];
|
||||
{
|
||||
if ( ((_x select 0) distance2D _coords) < (_x select 1)) exitWith
|
||||
{
|
||||
_findNew = true;
|
||||
};
|
||||
} forEach blck_locationBlackList;
|
||||
|
||||
//diag_log format["#- findSafePosn -# blck_ActiveMissionCoords isEqualTo %1", blck_ActiveMissionCoords];
|
||||
if !(_findNew) then
|
||||
{
|
||||
//diag_log format["#- findSafePosn -# blck_ActiveMissionCoords active mission item is %1", _x];
|
||||
if ( (_x distance2D _coords) < blck_MinDistanceFromMission) exitWith
|
||||
{
|
||||
if ((_x distance2D _coords) < _minDistFromMission) then {
|
||||
_findNew = true;
|
||||
};
|
||||
}forEach blck_heliCrashSites;
|
||||
};
|
||||
if !(_findNew) then
|
||||
{
|
||||
{
|
||||
if ( (_x distance2D _coords) < _minDistFromMission) exitWith
|
||||
{
|
||||
_FindNew = true;
|
||||
};
|
||||
} forEach blck_ActiveMissionCoords;
|
||||
|
||||
//diag_log format["#- findSafePosn -# blck_recentMissionCoords isEqualTo %1", blck_recentMissionCoords];
|
||||
{
|
||||
_ignore = false;
|
||||
//diag_log format["-# findSafePosn.sqf -# Old Mission element is %1", _x];
|
||||
if (diag_tickTime > ((_x select 1) + 1200)) then // if the prior mission was completed more than 20 min ago then delete it from the list and ignore the check for this location.
|
||||
{
|
||||
_ignore = true;
|
||||
blck_recentMissionCoords= blck_recentMissionCoords - _x;
|
||||
//diag_log format["-# findSafePosn.sqf -# Removing Old Mission element: %1", _x];
|
||||
};
|
||||
if !(_ignore) then
|
||||
if !(_findNew) then
|
||||
{
|
||||
//diag_log format["-# findSafePosn.sqf -# testing _coords against Old Mission coords is %1", _x select 0];
|
||||
if ( ((_x select 0) distance2D _coords) < blck_MinDistanceFromMission) then
|
||||
{
|
||||
if ((_x distance2D _coords) < blck_minDistanceToBases) then
|
||||
{
|
||||
_findNew = true;
|
||||
//diag_log format["-# findSafePosn.sqf -# Too Close to Old Mission element: %1", _x];
|
||||
};
|
||||
}forEach nearestObjects[blck_mapCenter, [_pole], blck_minDistanceToBases];
|
||||
};
|
||||
if !(_findNew) then
|
||||
{
|
||||
{
|
||||
_townPos = [((locationPosition _x) select 0), ((locationPosition _x) select 1), 0];
|
||||
if (_townPos distance2D _coords < blck_minDistanceFromTowns) exitWith {
|
||||
_findNew = true;
|
||||
};
|
||||
} forEach blck_townLocations;
|
||||
};
|
||||
if !(_findNew) then
|
||||
{
|
||||
{
|
||||
if (isPlayer _x && (_x distance2D _coords) < blck_minDistanceToPlayer) then
|
||||
{
|
||||
_findNew = true;
|
||||
};
|
||||
}forEach playableUnits;
|
||||
};
|
||||
if (_findNew) then
|
||||
{
|
||||
if (_tries in [3,6,9,12,15,18,21]) then
|
||||
{
|
||||
_minDistFromMission = _minDistFromMission * _weightMissions;
|
||||
_minDistFromBases = _minDistFromBases * _weightBases;
|
||||
_minSistanceFromPlayers = _minSistanceFromPlayers * _minSistanceFromPlayers;
|
||||
_minDistanceFromTowns = _minDistanceFromTowns * _weightTowns;
|
||||
};
|
||||
if (_tries > 25) then
|
||||
{
|
||||
_findNew = false;
|
||||
};
|
||||
};
|
||||
} forEach blck_recentMissionCoords;
|
||||
};
|
||||
if ((count _coords) > 2) then
|
||||
{
|
||||
private["_temp"];
|
||||
_temp = [_coords select 0, _coords select 1];
|
||||
_coords = _temp;
|
||||
};
|
||||
_coords;
|
||||
|
||||
/*
|
||||
while {_findNew} do {
|
||||
|
||||
|
||||
|
||||
// test for water nearby
|
||||
_dist = 100;
|
||||
@ -82,34 +134,6 @@ while {_findNew} do {
|
||||
_i = 361;
|
||||
};
|
||||
};
|
||||
// check that missions spawn at least 1 kkm from towns
|
||||
{
|
||||
_townPos = [((locationPosition _x) select 0), ((locationPosition _x) select 1), 0];
|
||||
if (_townPos distance2D _coords < blck_minDistanceFromTowns) exitWith {
|
||||
_findNew = true;
|
||||
};
|
||||
} forEach blck_townLocations;
|
||||
|
||||
// check for nearby plot pole/freq jammer within 800 meters
|
||||
_mod = call blck_fnc_getModType;
|
||||
_pole = "";
|
||||
if (_mod isEqualTo "Epoch") then {_pole = "PlotPole_EPOCH"};
|
||||
if (_mod isEqualTo "Exile") then {_pole = "Exile_Construction_Flag_Static"};
|
||||
//diag_log format["_fnc_findSafePosn:: -- >> _mod = %1 and _pole = %2",_mod,_pole];
|
||||
{
|
||||
if ((_x distance2D _coords) < blck_minDistanceToBases) then
|
||||
{
|
||||
_findNew = true;
|
||||
};
|
||||
}forEach nearestObjects[blck_mapCenter, [_pole], blck_minDistanceToBases];
|
||||
|
||||
// check to be sure we do not spawn a mission on top of a player.
|
||||
{
|
||||
if (isPlayer _x && (_x distance2D _coords) < blck_minDistanceToPlayer) then
|
||||
{
|
||||
_findNew = true;
|
||||
};
|
||||
}forEach playableUnits;
|
||||
|
||||
if (toLower(worldName) isEqualTo "taviana") then
|
||||
{
|
||||
@ -121,10 +145,4 @@ while {_findNew} do {
|
||||
_tries = _tries + 1;
|
||||
};
|
||||
|
||||
if ((count _coords) > 2) then
|
||||
{
|
||||
private["_temp"];
|
||||
_temp = [_coords select 0, _coords select 1];
|
||||
_coords = _temp;
|
||||
};
|
||||
_coords;
|
||||
|
||||
|
@ -83,7 +83,7 @@ if !(isNull _groupSpawned) then
|
||||
};
|
||||
#endif
|
||||
//params["_pos","_aiGroup",_skillLevel,_uniforms, _headGear,_vests,_backpacks,_Launcher,_weaponList,_sideArms,_scuba];
|
||||
[_pos,_groupSpawned,_skillLevel,_uniforms,_headGear,_vests,_backpacks,_launcherType, _weaponList, _sideArms, _scuba, _antiGlitch] call blck_fnc_spawnUnit;
|
||||
[_pos,_groupSpawned,_skillLevel,_uniforms,_headGear,_vests,_backpacks,_launcherType, _weaponList, _sideArms, _scuba] call blck_fnc_spawnUnit;
|
||||
};
|
||||
_groupSpawned selectLeader (units _groupSpawned select 0);
|
||||
// params["_pos","_minDis","_maxDis","_group",["_mode","random"],["_pattern",["MOVE","SAD"]]];
|
||||
|
@ -47,124 +47,20 @@ if (isNil "_hostageConfig") then {_hostageConfig = []};
|
||||
if (isNil "_enemyLeaderConfig") then {_enemyLeaderConfig = []};
|
||||
if (isNil "_useMines") then {_useMines = blck_useMines;};
|
||||
if (isNil "_weaponList") then {_weaponList = [_aiDifficultyLevel] call blck_fnc_selectAILoadout};
|
||||
if (isNil "_sideArms") then
|
||||
{
|
||||
switch (toLower (_aiDifficultyLevel)) do
|
||||
{
|
||||
case "blue": {_sideArms = blck_Pistols_blue};
|
||||
case "red": {_sideArms = blck_Pistols_red};
|
||||
case "green": {_sideArms = blck_Pistols_green};
|
||||
case "orange": {_sideArms = blck_Pistols_orange};
|
||||
default {_sideArms = blck_Pistols};
|
||||
};
|
||||
};
|
||||
|
||||
if (isNil "_uniforms") then
|
||||
{
|
||||
switch (toLower (_aiDifficultyLevel)) do
|
||||
{
|
||||
case "blue": {_uniforms = blck_SkinList_blue};
|
||||
case "red": {_uniforms = blck_SkinList_red};
|
||||
case "green": {_uniforms = blck_SkinList_green};
|
||||
case "orange": {_uniforms = blck_SkinList_orange};
|
||||
default {_uniforms = blck_SkinList};
|
||||
};
|
||||
};
|
||||
|
||||
if (isNil "_headGear") then
|
||||
{
|
||||
switch (toLower (_aiDifficultyLevel)) do
|
||||
{
|
||||
case "blue": {_headGear = blck_headgear_blue};
|
||||
case "red": {_headGear = blck_headgear_red};
|
||||
case "green": {_headGear = blck_headgear_green};
|
||||
case "orange": {_headGear = blck_headgear_orange};
|
||||
default {_headGear = blck_headgear};
|
||||
};
|
||||
};
|
||||
|
||||
if (isNil "_vests") then
|
||||
{
|
||||
switch (toLower (_aiDifficultyLevel)) do
|
||||
{
|
||||
case "blue": {_vests = blck_vests_blue};
|
||||
case "red": {_vests = blck_vests_red};
|
||||
case "green": {_vests = blck_vests_green};
|
||||
case "orange": {_vests = blck_vests_orange};
|
||||
default {_vests = blck_vests};
|
||||
};
|
||||
};
|
||||
|
||||
if (isNil "_backpacks") then
|
||||
{
|
||||
switch (toLower (_aiDifficultyLevel)) do
|
||||
{
|
||||
case "blue": {_backpacks = blck_backpacks_blue};
|
||||
case "red": {_backpacks = blck_backpacks_red};
|
||||
case "green": {_backpacks = blck_backpacks_green};
|
||||
case "orange": {_backpacks = blck_backpacks_orange};
|
||||
default {_backpacks = blck_backpacks};
|
||||
};
|
||||
};
|
||||
if (isNil "_chanceHeliPatrol") then
|
||||
{
|
||||
switch (toLower(_aiDifficultyLevel)) do
|
||||
{
|
||||
case "blue": {_chanceHeliPatrol = blck_chanceHeliPatrolBlue};
|
||||
case "red": {_chanceHeliPatrol = blck_chanceHeliPatrolRed};
|
||||
case "green": {_chanceHeliPatrol = blck_chanceHeliPatrolGreen};
|
||||
case "orange": {_chanceHeliPatrol = blck_chanceHeliPatrolOrange};
|
||||
default {_chanceHeliPatrol = 0};
|
||||
};
|
||||
};
|
||||
if (isNil "_noChoppers") then
|
||||
{
|
||||
switch (toLower(_aiDifficultyLevel)) do
|
||||
{
|
||||
case "blue": {_noChoppers = blck_noPatrolHelisBlue};
|
||||
case "red": {_noChoppers = blck_noPatrolHelisRed};
|
||||
case "green": {_noChoppers = blck_noPatrolHelisGreen};
|
||||
case "orange": {_noChoppers = blck_noPatrolHelisOrange};
|
||||
default {_noChoppers = 0};
|
||||
};
|
||||
};
|
||||
if (isNil "_chancePara") then
|
||||
{
|
||||
switch (toLower (_aiDifficultyLevel)) do
|
||||
{
|
||||
case "blue": {_chancePara = blck_chanceParaBlue};
|
||||
case "red": {_chancePara = blck_chanceParaRed};
|
||||
case "green": {_chancePara = blck_chanceParaGreen};
|
||||
case "orange": {_chancePara = blck_chanceParaOrange};
|
||||
default {_chancePara = 0};
|
||||
};
|
||||
};
|
||||
if (isNil "_missionHelis") then
|
||||
{
|
||||
switch (toLower (_aiDifficultyLevel)) do
|
||||
{
|
||||
case "blue": {_missionHelis = blck_patrolHelisBlue};
|
||||
case "red": {_missionHelis = blck_patrolHelisRed};
|
||||
case "green": {_missionHelis = blck_patrolHelisGreen};
|
||||
case "orange": {_missionHelis = blck_patrolHelisOrange};
|
||||
default {_missionHelis = blck_patrolHelisBlue};
|
||||
};
|
||||
};
|
||||
if (isNil "_noPara") then
|
||||
{
|
||||
switch (toLower (_aiDifficultyLevel)) do
|
||||
{
|
||||
case "blue": {_noPara = blck_noParaBlue};
|
||||
case "red": {_noPara = blck_noParaRed};
|
||||
case "green": {_noPara = blck_noParaGreen};
|
||||
case "orange": {_noPara = blck_noParaOrange};
|
||||
default {_noPara = 0};
|
||||
};
|
||||
};
|
||||
if (isNil "_sideArms") then {_sideArms = [_aiDifficultyLevel] call blck_fnc_selectAISidearms};
|
||||
if (isNil "_uniforms") then {_uniforms = [_aiDifficultyLevel] call blck_fnc_selectAIUniforms};
|
||||
if (isNil "_headGear") then {_headGear = [_aiDifficultyLevel] call blck_fnc_selectAIHeadgear};
|
||||
if (isNil "_vests") then {_vests = [_aiDifficultyLevel] call blck_fnc_selectAIVests};
|
||||
if (isNil "_backpacks") then {_backpacks = [_aiDifficultyLevel] call blck_fnc_selectAIBackpacks};
|
||||
if (isNil "_chanceHeliPatrol") then {_chanceHeliPatrol = [_aiDifficultyLevel] call blck_fnc_selectChanceHeliPatrol};
|
||||
if (isNil "_noChoppers") then {_noChoppers = [_aiDifficultyLevel] call blck_fnc_selectNumberAirPatrols};
|
||||
if (isNil "_chancePara") then {_chancePara = [_aiDifficultyLevel] call blck_fnc_selectChanceParatroops};
|
||||
if (isNil "_missionHelis") then {_missionHelis = [_aiDifficultyLevel] call blck_fnc_selectMissionHelis};
|
||||
if (isNil "_noPara") then {_noPara = [_aiDifficultyLevel] call blck_fnc_selectNumberParatroops};
|
||||
if (isNil "_chanceLoot") then {_chanceLoot = 1.0}; //0.5};
|
||||
if (isNil "_paraTriggerDistance") then {_paraTriggerDistance = 400;};
|
||||
if (isNil "_paraLoot") then {_paraLoot = blck_BoxLoot_Green};
|
||||
if (isNil "_paraLootCounts") then {_paraLootCounts = blck_lootCountsRed};
|
||||
if (isNil "_paraLoot") then {_paraLoot = blck_BoxLoot_Green}; // Add diffiiculty based settings
|
||||
if (isNil "_paraLootCounts") then {_paraLootCounts = blck_lootCountsRed}; // Add difficulty based settings
|
||||
|
||||
|
||||
_objects = [];
|
||||
|
@ -428,8 +428,16 @@ private _spawnPara = if (random(1) < _chancePara) then {true} else {false};
|
||||
_x setVariable["crateSpawnPos", (getPos _x)];
|
||||
} forEach _crates;
|
||||
|
||||
private["_thresholdPercentageKilled","_result","_minPercentageKilled"];
|
||||
_thresholdPercentageKilled = (1-blck_killPercentage);
|
||||
private["_minNoAliveForCompletion","_result","_minPercentageKilled"];
|
||||
if (_secureAsset) then
|
||||
{
|
||||
_minNoAliveForCompletion = round((1 - blck_killPercentage) * (({alive _x} count _blck_AllMissionAI) - 1));
|
||||
if (_minNoAliveForCompletion < 2) then {_minNoAliveForCompletion = 2};
|
||||
} else {
|
||||
_minNoAliveForCompletion = floor((1 - blck_killPercentage) * ({alive _x} count _blck_AllMissionAI));
|
||||
if (_minNoAliveForCompletion == 0) then {_minNoAliveForCompletion = 1};
|
||||
};
|
||||
|
||||
while {_missionComplete isEqualTo -1} do
|
||||
{
|
||||
#ifdef blck_debugMode
|
||||
@ -442,15 +450,11 @@ while {_missionComplete isEqualTo -1} do
|
||||
|
||||
if (_endIfAIKilled) then
|
||||
{
|
||||
_result = [_blck_AllMissionAI,1] call blck_fnc_countAliveAI;
|
||||
// _result is an array of [no alive, total spawned];
|
||||
//private _noneAlive = if (_result select 0 isEqualTo 0) then {true} else {false};
|
||||
//private _aiCountBelowThreshold = if ( (_result select 0)/(_result select 1) < _thresholdPercentageKilled) then {true} else {false};
|
||||
//diag_log format["_fnc_missionSpawner: _noneAlive = %1 | _result = %2 | PercentageKilled = %3",_noneAlive,_result,(_result select 0)/(_result select 1)];
|
||||
if ((_result select 0) < 1 || ((_result select 0)/(_result select 1)) < _thresholdPercentageKilled ) then {_missionComplete = 1};
|
||||
if (({alive _x} count _blck_AllMissionAI) <= _minNoAliveForCompletion) then {_missionComplete = 1};
|
||||
};
|
||||
if (_spawnCratesTiming isEqualTo "atMissionSpawn") then
|
||||
{
|
||||
// Re-evaluate this - may not need the forEach
|
||||
{
|
||||
if ({[_x] call blck_fnc_crateMoved} count _crates > 0) exitWith
|
||||
{
|
||||
@ -463,27 +467,27 @@ while {_missionComplete isEqualTo -1} do
|
||||
{
|
||||
if !(alive _assetSpawned) then
|
||||
{
|
||||
_missionComplete = 1
|
||||
_missionComplete = 1;
|
||||
} else {
|
||||
//if (_assetSpawned getVariable["blck_AIState",0] > 0 && (({alive _x} count _blck_AllMissionAI) isEqualTo 1)) then {_missionComplete = 1};
|
||||
_result = [_blck_AllMissionAI, 1] call blck_fnc_countAliveAI;
|
||||
// _result is an array of [no alive, total spawned];
|
||||
//private _noneAlive = if (_result select 0 isEqualTo 0) then {true} else {false};
|
||||
//private _aiCountBelowThreshold = if ((_result select 0)/(_result select 1) < _thresholdPercentageKilled) then {true} else {false};
|
||||
//diag_log format["_fnc_missionSpawner: _noneAlive = %1 | _result = %2 | PercentageKilled = %3",_noneAlive,_result,(_result select 0)/(_result select 1)];
|
||||
if (((_result select 0)/(_result select 1)) < 0.18) then
|
||||
|
||||
if (({alive _x} count _blck_AllMissionAI) <= _minNoAliveForCompletion) then
|
||||
{
|
||||
if (_assetSpawned getVariable["blck_unguarded",0] isEqualTo 0) then {_assetSpawned setVariable["blck_unguarded",1,true]};
|
||||
if ((_assetSpawned getVariable["blck_AIState",0] > 0)) then {
|
||||
_missionComplete = 1:
|
||||
if ((_assetSpawned getVariable["blck_unguarded",0]) isEqualTo 0) then
|
||||
{
|
||||
_assetSpawned setVariable["blck_unguarded",1,true];
|
||||
};
|
||||
|
||||
if ((_assetSpawned getVariable["blck_AIState",0]) isEqualTo 1) then
|
||||
{
|
||||
_missionComplete = 1;
|
||||
_assetSpawned allowdamage false;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
if (_spawnPara) then
|
||||
{
|
||||
|
||||
if ([_coords,_paraTriggerDistance,true] call blck_fnc_playerInRange) then
|
||||
{
|
||||
_spawnPara = false; // The player gets one try to spawn these.
|
||||
|
@ -32,19 +32,11 @@ _newObjs = [];
|
||||
{
|
||||
_simDam = _x select 3;
|
||||
};
|
||||
_obj = (_x select 0) createVehicle [0,0,0];
|
||||
//diag_log format["_fnc_spawnBaseObjects: _obj = %1",_obj];
|
||||
//_spawnPos = (_center vectorAdd (_x select 1));
|
||||
//_obj = (_x select 0) createVehicle [0,0,0];
|
||||
_obj = createVehicle[(_x select 0),_center vectorAdd (_x select 1),[],0,"CAN_COLLIDE"];
|
||||
_newObjs pushback _obj;
|
||||
//diag_log format["_fnc_spawnBaseObjects: _center = %1 and _x select 1 = %2",_center,_x select 1];
|
||||
_spawnPos = (_center vectorAdd (_x select 1));
|
||||
if (surfaceIsWater _spawnPos) then
|
||||
{
|
||||
_obj setPosASL _spawnPos;
|
||||
//diag_log "_fnc_spawnBaseObjects: detected surface == water";
|
||||
} else {
|
||||
_obj setPosATL _spawnPos;
|
||||
//diag_log "_fnc_spawnBaseObjects: detected surface = Land";
|
||||
};
|
||||
|
||||
_obj setDir (_x select 2);
|
||||
_obj enableDynamicSimulation (_simDam select 0);
|
||||
_obj allowDamage (_simDam select 1);
|
||||
|
@ -15,14 +15,14 @@
|
||||
params["_coords","_missionLandscape",["_min",3],["_max",15],["_nearest",1]];
|
||||
private["_objects","_wreck","_dir","_dirOffset"];
|
||||
_objects = [];
|
||||
_wreck = createVehicle ["Flag_AAF_F", _coords, [], 25, "NONE"];
|
||||
//_wreck = createVehicle ["Flag_AAF_F", _coords, [], 25, "NONE"];
|
||||
_objects pushBack _wreck;
|
||||
{
|
||||
//Random Position Objects based on distance in array
|
||||
// https://community.bistudio.com/wiki/BIS_fnc_findSafePos
|
||||
_pos = [_coords,_min,_max,_nearest,0,5,0] call BIS_fnc_findSafePos;
|
||||
_wreck = createVehicle[_x, _pos, [], 25, "NONE"];
|
||||
_wreck allowDamage false;
|
||||
_wreck = createVehicle[_x, _pos, [], 0, "CAN_COLLIDE"];
|
||||
_wreck allowDamage true;
|
||||
_wreck enableSimulation false;
|
||||
_wreck enableSimulationGlobal false;
|
||||
_wreck enableDynamicSimulation false;
|
||||
|
@ -51,7 +51,7 @@ if (blck_modType isEqualTo "Exile") then
|
||||
case "orange":{_unit setVariable["ExileMoney",8 + floor(random(blck_maxMoneyOrange)),true];};
|
||||
};
|
||||
};
|
||||
_unit = _aiGroup createUnit[_unitType,_pos,[],5,"FORM"];
|
||||
_unit = _aiGroup createUnit[_unitType,_pos,[],10,"FORM"];
|
||||
|
||||
//_unit setPos ( _pos findEmptyPosition [0.1,3,(typeOf _unit)]);
|
||||
/*
|
||||
|
@ -83,7 +83,7 @@ blck_fnc_clearMines = compileFinal preprocessFileLineNumbers "\q\addons\custom_s
|
||||
blck_fnc_signalEnd = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_signalEnd.sqf"; // deploy smoke grenades at loot crates at the end of the mission.
|
||||
blck_fnc_endMission = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_endMission.sqf";
|
||||
//blck_fnc_missionAIareDead = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionAIareDead.sqf";
|
||||
blck_fnc_countAliveAI = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_countAliveAI.sqf";
|
||||
//blck_fnc_countAliveAI = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_countAliveAI.sqf";
|
||||
blck_fnc_paraDropObject = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_paraDropObject.sqf";
|
||||
blck_fnc_loadMissionCrate = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_loadMissionCrate.sqf";
|
||||
blck_fnc_crateMoved = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_crateMoved.sqf";
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
#include"\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||
|
||||
blck_debugON = true;
|
||||
blck_debugON = false;
|
||||
blck_debugLevel = 0; // Sets level of detail for debugging info - WIP.
|
||||
blck_minFPS = 8;
|
||||
|
||||
|
@ -363,7 +363,7 @@
|
||||
blck_configsExileLoaded = nil;
|
||||
if (blck_blacklistTraderCities || blck_blacklistSpawns || blck_listConcreteMixerZones) then {execVM "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesExile.sqf";};
|
||||
};
|
||||
if (true /*blck_useConfigsGeneratedLoadouts*/) then
|
||||
if (blck_useConfigsGeneratedLoadouts) then
|
||||
{
|
||||
diag_log format["[blckeagles] Dynamic Configs Enabled"];
|
||||
execVM "\q\addons\custom_server\Configs\blck_dynamicConfigs.sqf";
|
||||
|
@ -3,6 +3,7 @@
|
||||
for ghostridergaming
|
||||
By Ghostrider [GRG]
|
||||
Copyright 2016
|
||||
Last Modified 3-14-17
|
||||
|
||||
--------------------------
|
||||
License
|
||||
@ -16,10 +17,6 @@
|
||||
|
||||
diag_log "[blckeagls] Loading Configuration Overides";
|
||||
|
||||
/*
|
||||
See the examples below as a guide for adding configs that are unique for each of several servers.
|
||||
*/
|
||||
/*
|
||||
private["_startTime"];
|
||||
_startTime = diag_tickTime;
|
||||
_world = toLower format ["%1", worldName];
|
||||
@ -29,6 +26,7 @@ switch (_world) do {
|
||||
case "napf":{_nightAccel = 12; _dayAccel = 2;_duskAccel = 6;};
|
||||
case "namalsk":{_nightAccel = 12; _dayAccel = 2;_duskAccel = 6;};
|
||||
case "tanoa":{_nightAccel = 12; _dayAccel = 3.2;_duskAccel = 6;};
|
||||
case "namalsk":{_nightAccel = 12; _dayAccel = 2; _duskAccel = 6;};
|
||||
};
|
||||
|
||||
switch (toLower (worldName)) do
|
||||
@ -82,9 +80,9 @@ switch (toLower (worldName)) do
|
||||
blck_maxCrashSites = 1; // recommended settings: 3 for Altis, 2 for Tanoa, 1 for smaller maps. Set to -1 to disable
|
||||
|
||||
blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below.
|
||||
blck_timeAccelerationDay = ((_serverUpTime + 2)/_daylight); // Daytime time accelearation
|
||||
blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation
|
||||
blck_timeAccelerationNight = (3/_nightTime); // Nighttim time acceleration
|
||||
blck_timeAccelerationDay = 2; // Daytime time accelearation
|
||||
blck_timeAccelerationDusk = 6; // Dawn/dusk time accelearation
|
||||
blck_timeAccelerationNight = (12); // Nighttim time acceleration
|
||||
};
|
||||
case "esseker":
|
||||
{
|
||||
@ -131,13 +129,99 @@ switch (toLower (worldName)) do
|
||||
blck_maxCrashSites = 3;
|
||||
};
|
||||
};
|
||||
*/
|
||||
|
||||
if (blck_debugON || (blck_debugLevel > 0)) then // These variables are found in \custom_server\compiles\blck_variables.sqf
|
||||
{
|
||||
// Used primarily for debugging.
|
||||
diag_log "[blckeagls] Debug seting is ON, Custom configurations used";
|
||||
|
||||
//blck_useTimeAcceleration = false; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below.
|
||||
//blck_timeAccelerationDay = 1; // Daytime time accelearation
|
||||
//blck_timeAccelerationDusk = 18; // Dawn/dusk time accelearation
|
||||
//blck_timeAccelerationNight = 24; // Nighttim time acceleration
|
||||
|
||||
blck_useHC = true;
|
||||
|
||||
blck_maxSpawnedMissions = 15;
|
||||
blck_mainThreadUpdateInterval = 10;
|
||||
blck_enableOrangeMissions = -1;
|
||||
blck_enableGreenMissions = -1;
|
||||
blck_enableRedMissions = -1;
|
||||
blck_enableBlueMissions = 1;
|
||||
blck_numberUnderwaterDynamicMissions = -1;
|
||||
blck_enableHunterMissions = -1;
|
||||
blck_enableScoutsMissions = -1;
|
||||
blck_maxCrashSites = -3;
|
||||
|
||||
blck_cleanupCompositionTimer = 20; // Time after mission completion at which items in the composition are deleted.
|
||||
blck_AliveAICleanUpTimer = 20; // Time after mission completion at which any remaining live AI are deleted.
|
||||
blck_bodyCleanUpTimer = 20;
|
||||
blck_vehicleDeleteTimer = 20;
|
||||
//blck_MissionTimeout = 30;
|
||||
|
||||
blck_noPatrolHelisOrange = 1;
|
||||
blck_chanceHeliPatrolOrange = 1;
|
||||
blck_chanceParaOrange = 1;
|
||||
blck_chanceHeliPatrolBlue = -1;
|
||||
blck_noPatrolHelisBlue = -1;
|
||||
blck_chanceParaBlue = -1; // [0 - 1] set to 0 to deactivate and 1 to always have paratroops spawn over the center of the mission. This value can be a range as well [0.1,0.3]
|
||||
blck_noParaBlue = 3; // [1-N]
|
||||
blck_paraTriggerDistanceBlue = 400;
|
||||
|
||||
//blck_chanceHeliPatrolBlue = 1;
|
||||
blck_SpawnEmplaced_Orange = 1; // Number of static weapons at Orange Missions
|
||||
blck_SpawnEmplaced_Green = 1; // Number of static weapons at Green Missions
|
||||
blck_SpawnEmplaced_Blue = -1; // Number of static weapons at Blue Missions
|
||||
blck_SpawnEmplaced_Red = 1;
|
||||
|
||||
blck_SpawnVeh_Orange = 1; // Number of vehicles at Orange Missions
|
||||
blck_SpawnVeh_Green = 1; // Number of vehicles at Green Missions
|
||||
blck_SpawnVeh_Blue = -4; // Number of vehicles at Blue Missions
|
||||
blck_SpawnVeh_Red = 1;
|
||||
|
||||
blck_TMin_Blue = 7;
|
||||
blck_TMin_Red = 10;
|
||||
blck_TMin_Green = 13;
|
||||
blck_TMin_Orange = 16;
|
||||
blck_TMin_Hunter = 20;
|
||||
blck_TMin_Scouts = 20;
|
||||
blck_TMin_Crashes = 5;
|
||||
blck_TMin_UMS = 20;
|
||||
//Maximum Spawn time between missions in seconds
|
||||
blck_TMax_Blue = 12;
|
||||
blck_TMax_Red = 15;
|
||||
blck_TMax_Green = 17;
|
||||
blck_TMax_Orange = 21;
|
||||
blck_TMax_Hunter = 22;
|
||||
blck_TMax_Scouts = 22;
|
||||
blck_TMax_Crashes = 15;
|
||||
blck_TMax_UMS = 25;
|
||||
|
||||
//blck_MinAI_Orange = 1;
|
||||
//blck_MaxAI_Orange = 2;
|
||||
//blck_AIGrps_Orange = 1;
|
||||
|
||||
blck_MinAI_Blue = 1;
|
||||
blck_MaxAI_Blue = 2;
|
||||
blck_AIGrps_Blue = 1;
|
||||
|
||||
blck_AIPatrolVehicles = ["Exile_Car_MB4WDOpen"];
|
||||
/*
|
||||
blck_SkillsBlue = [
|
||||
["aimingAccuracy",0.01],
|
||||
["aimingShake",0.01],
|
||||
["aimingSpeed",0.01],
|
||||
["endurance",0.01],
|
||||
["spotDistance",0.01],
|
||||
["spotTime",0.01],
|
||||
["courage",0.01],
|
||||
["reloadSpeed",0.80],
|
||||
["commanding",0.8],
|
||||
["general",1.00]
|
||||
];
|
||||
*/
|
||||
};
|
||||
|
||||
/*
|
||||
You can define configs for additional mods or loadouts here
|
||||
*/
|
||||
/*
|
||||
blck_CUPWeapons = [
|
||||
"CUP_lmg_L7A2",
|
||||
"CUP_lmg_L110A1",
|
||||
@ -1266,4 +1350,3 @@ blck_NIA_WeaponsSniper = [
|
||||
"hlc_rifle_psg1",
|
||||
"hlc_rifle_psg1A1"
|
||||
];
|
||||
*/
|
1269
@GMS/addons/custom_server/Configs/blck_custom_config_RC.sqf
Normal file
1269
@GMS/addons/custom_server/Configs/blck_custom_config_RC.sqf
Normal file
File diff suppressed because it is too large
Load Diff
@ -29,6 +29,5 @@
|
||||
#define groupSpawned 2
|
||||
#define timesSpawned 3
|
||||
#define respawnAt 4
|
||||
#define antiGlitchOn 1
|
||||
|
||||
|
||||
|
@ -24,42 +24,61 @@ _markerColor = "ColorBlue";
|
||||
_markerMissionName = "Rescue Hostage";
|
||||
_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise"
|
||||
_missionLandscape = [
|
||||
["Flag_AAF_F",[-10.6914,-10.541,0],0,[true,false]],
|
||||
["Land_SM_01_shelter_wide_F",[-6.29883,9.57617,0],0,[true,false]],
|
||||
["Land_ContainerLine_01_F",[-5.54492,40.8184,0],0,[true,false]],
|
||||
["Land_ContainerLine_01_F",[-6.92578,-38.2188,0],0,[true,false]],
|
||||
["Land_ContainerLine_01_F",[-65.8438,-28.4023,0],90,[true,false]],
|
||||
["Land_ContainerLine_01_F",[-66.0664,21.3496,0],90,[true,false]],
|
||||
["Land_ContainerLine_01_F",[195.047,-23.9395,0],87.9345,[true,false]],
|
||||
["Land_ContainerLine_01_F",[42.6172,-23.9395,0],90.5197,[true,false]],
|
||||
["Land_ContainerLine_01_F",[42.8398,27.5977,0],270,[true,false]],
|
||||
//["B_G_Soldier_AR_F",[-6.74219,-78.625,-0.00143886],0,[true,false]],
|
||||
//["B_G_Soldier_AR_F",[-86.3281,-5.14453,-0.00143886],0,[true,false]],
|
||||
//["B_G_Soldier_AR_F",[61.4609,-1.92773,-0.00143838],0,[true,false]],
|
||||
//["B_G_Soldier_AR_F",[-43.3359,54.0898,-0.00143838],0,[true,false]],
|
||||
//["B_Soldier_F",[70.5156,-90.3867,-2.75806],0,[true,false]],
|
||||
//["B_Soldier_F",[70.5156,-90.3867,-2.75806],0,[true,false]],
|
||||
//["B_MRAP_01_hmg_F",[70.5156,-90.3867,4.76837e-007],0,[true,false]],
|
||||
//["B_Soldier_F",[-78.834,72.0566,-2.20595],0,[true,false]],
|
||||
//["B_MRAP_01_F",[-78.834,72.0566,4.76837e-007],0,[true,false]],
|
||||
["Campfire_burning_F",[-8.68555,-2.57813,0],0,[true,false]],
|
||||
["Land_ChairPlastic_F",[-2.36719,16.1875,0],0,[true,false]],
|
||||
["Land_ChairPlastic_F",[-2.99609,13.2813,0],0,[true,false]],
|
||||
["Land_ChairPlastic_F",[-2.84766,10.3398,0],0,[true,false]],
|
||||
["Land_ChairPlastic_F",[-3.06055,8.08203,0],0,[true,false]],
|
||||
["Land_ChairPlastic_F",[-2.70313,5.98047,0],0,[true,false]],
|
||||
["Land_Stone_4m_F",[-5.71484,21.2051,0],0,[true,false]],
|
||||
["Land_Stone_4m_F",[-1.30469,21.2266,0],0,[true,false]],
|
||||
["Land_Stone_4m_F",[-10.1836,21.166,0],0,[true,false]],
|
||||
["Land_Stone_4m_F",[3.01953,10.2051,0],90.8324,[true,false]],
|
||||
["Land_Stone_4m_F",[2.97656,5.79492,0],90.8324,[true,false]],
|
||||
["Land_Stone_4m_F",[3.04492,14.6738,0],90.8324,[true,false]],
|
||||
["Land_Stone_4m_F",[-6.16992,-0.855469,0],0,[true,false]],
|
||||
["Land_Stone_4m_F",[-1.75977,-0.833984,0],0,[true,false]],
|
||||
["Land_Stone_4m_F",[-10.6387,-0.894531,0],0,[true,false]],
|
||||
["Land_Stone_4m_F",[-15.4609,9.93164,0],90.8324,[true,false]],
|
||||
["Land_Stone_4m_F",[-15.5039,5.52148,0],90.8324,[true,false]],
|
||||
["Land_Stone_4m_F",[-15.4355,14.4004,0],90.8324,[true,false]]
|
||||
["Flag_AAF_F",[0.935547,-24.3027,0],0,[true,false]],
|
||||
["Land_SM_01_shelter_wide_F",[0.298828,4.63867,0],0,[true,false]],
|
||||
["Campfire_burning_F",[-2.08789,-7.51563,0],0,[true,false]],
|
||||
["Land_Stone_8m_F",[-10.0313,-6.46875,0],268.936,[true,false]],
|
||||
["Land_Stone_8m_F",[-10.2402,1.90039,0],268.936,[true,false]],
|
||||
["Land_Stone_8m_F",[-10.3984,10.1035,0],268.936,[true,false]],
|
||||
["Land_Stone_8m_F",[10.125,-4.10156,0],270,[true,false]],
|
||||
["Land_Stone_8m_F",[10.0723,4.26953,0],270,[true,false]],
|
||||
["Land_Stone_8m_F",[10.0664,12.4746,0],270,[true,false]],
|
||||
["Land_Stone_8m_F",[7.95117,20.252,0],0,[true,false]],
|
||||
["Land_Stone_8m_F",[-0.314453,20.2656,0],0,[true,false]],
|
||||
["Land_Stone_8m_F",[-8.54102,20.3066,0],0,[true,false]],
|
||||
["Land_Stone_8m_F",[8.16016,-15.1113,0],0,[true,false]],
|
||||
["Land_Stone_8m_F",[-0.105469,-15.0977,0],0,[true,false]],
|
||||
["Land_Stone_8m_F",[-8.33203,-15.0566,0],0,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-50.875,38.2676,0],89.1786,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-50.3516,21.4355,0],89.1786,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-50.6055,29.8965,0],89.1786,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-49.4141,1.33203,0],89.1786,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-49.918,13.0254,0],89.1786,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-48.5371,-15.6992,0],89.1786,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-49.0938,-7.12305,0],89.1786,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-47.7773,-28.3535,0],89.1786,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-47.1641,-36.5547,0],89.1786,[true,false]],
|
||||
["Land_HBarrierWall6_F",[50.0566,-17.4785,0],270.274,[true,false]],
|
||||
["Land_HBarrierWall6_F",[50.1484,-25.9414,0],270.274,[true,false]],
|
||||
["Land_HBarrierWall6_F",[49.5039,2.64063,0],270.274,[true,false]],
|
||||
["Land_HBarrierWall6_F",[49.7852,-9.06055,0],270.274,[true,false]],
|
||||
["Land_HBarrierWall6_F",[48.9531,19.6855,0],270.274,[true,false]],
|
||||
["Land_HBarrierWall6_F",[49.3457,11.0996,0],270.274,[true,false]],
|
||||
["Land_HBarrierWall6_F",[48.4355,32.3516,0],270.274,[true,false]],
|
||||
["Land_HBarrierWall6_F",[47.9785,40.5625,0],270.274,[true,false]],
|
||||
["Land_HBarrierWall6_F",[50.2598,-34.3164,0],270.274,[true,false]],
|
||||
["Land_HBarrierWall6_F",[44.7031,55.5176,0],179.807,[true,false]],
|
||||
["Land_HBarrierWall6_F",[27.8652,55.1797,0],179.807,[true,false]],
|
||||
["Land_HBarrierWall6_F",[36.3281,55.3418,0],179.807,[true,false]],
|
||||
["Land_HBarrierWall6_F",[7.75195,54.4629,0],179.807,[true,false]],
|
||||
["Land_HBarrierWall6_F",[19.4512,54.8379,0],179.807,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-9.28711,53.7734,0],179.807,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-0.705078,54.2363,0],179.807,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-21.9492,53.1523,0],179.807,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-30.1563,52.6289,0],179.807,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-38.5195,52.3809,0],179.807,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-46.9727,52.0313,0],179.807,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-44.418,-50.7617,0],358.823,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-27.5898,-50.1348,0],358.823,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-36.0488,-50.4434,0],358.823,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-7.49023,-49.0723,0],358.823,[true,false]],
|
||||
["Land_HBarrierWall6_F",[-19.1816,-49.6484,0],358.823,[true,false]],
|
||||
["Land_HBarrierWall6_F",[9.5332,-48.0918,0],358.823,[true,false]],
|
||||
["Land_HBarrierWall6_F",[0.960938,-48.7012,0],358.823,[true,false]],
|
||||
["Land_HBarrierWall6_F",[22.1836,-47.252,0],358.823,[true,false]],
|
||||
["Land_HBarrierWall6_F",[30.3809,-46.5879,0],358.823,[true,false]],
|
||||
["Land_HBarrierWall6_F",[38.6406,-46.1328,0],358.823,[true,false]],
|
||||
["Land_HBarrierWall6_F",[47.0762,-45.5215,0],358.823,[true,false]]
|
||||
]; // list of objects to spawn as landscape; // list of objects to spawn as landscape
|
||||
|
||||
_hostageConfig = ["C_man_polo_6_F",
|
||||
@ -92,10 +111,10 @@ _missionLootVehicles = [
|
||||
_missionGroups =
|
||||
[
|
||||
//_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"];
|
||||
[[26.9961,-29.9551,-0.00143886],3,3,"Blue",10,20],
|
||||
[[32.2461,33.0605,-0.00143886],3,3,"Blue",10,20],
|
||||
[[-35.6035,32.1855,-0.00143886],3,3,"Blue",10,20],
|
||||
[[-47.4219,-19.8906,-0.00143886],3,3,"Blue",10,20]
|
||||
//[[26.9961,-29.9551,-0.00143886],3,3,"Blue",10,20],
|
||||
//[[32.2461,33.0605,-0.00143886],3,3,"Blue",10,20],
|
||||
//[[-35.6035,32.1855,-0.00143886],3,3,"Blue",10,20],
|
||||
[[-47.4219,-19.8906,-0.00143886],1,1,"Blue",10,20]
|
||||
]; // Can be used to define spawn positions of AI patrols
|
||||
|
||||
_missionEmplacedWeapons = [
|
||||
|
@ -14,8 +14,8 @@
|
||||
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||
|
||||
_pathBlue = "Blue";
|
||||
//_missionListBlue = ["resupplyCamp"];
|
||||
_missionListBlue = ["default"/*,"default2"/*,"medicalCamp","redCamp","resupplyCamp"*/];
|
||||
_missionListBlue = ["hostage1"];
|
||||
//_missionListBlue = ["default"/*,"default2"/*,"medicalCamp","redCamp","resupplyCamp"*/];
|
||||
|
||||
_pathRed = "Red";
|
||||
//_missionListRed = ["resupplyCamp"];
|
||||
|
@ -29,19 +29,19 @@ _missionLandscape = [
|
||||
["Land_dp_transformer_F",[1.698242,-10.4668,-0.00763702],271.32,[true,true]],
|
||||
["Land_Wreck_BRDM2_F",[1.37012,13.498,0.00109863],184.487,[true,true]],
|
||||
["Land_BagBunker_Small_F",[18.4512,-3.66406,0.00780487],305.003,[true,true]],
|
||||
["Land_Cargo_HQ_V1_F",[-20.1367,11.7539,0],90.8565,[true,false]],
|
||||
["Land_Cargo_HQ_V1_F",[-20.1367,11.7539,0],90.8565,[true,true]],
|
||||
["Land_BagBunker_Small_F",[-22.707,-3.75586,-0.0130234],44.9901,[true,true]],
|
||||
["Land_Cargo_House_V1_F",[24.3584,7.45313,0.00111389],91.6329,[true,true]],
|
||||
["StorageBladder_01_fuel_forest_F",[1.29492,29.3184,0.000999451],179.65,[false,false]],
|
||||
["Land_GarbageBags_F",[-9.45996,31.252,0.02005],184.595,[false,false]],
|
||||
["Land_GarbageBags_F",[-13.0459,32.668,-0.0283051],184.595,[false,false]],
|
||||
["Land_GarbageBags_F",[-11.5957,33.125,-0.598007],184.595,[false,false]],
|
||||
["Land_GarbageBags_F",[-8.98145,34.5801,-0.00514221],184.592,[false,false]],
|
||||
["Land_Addon_02_V1_ruins_F",[24.8369,24.6582,-0.00820923],90.9637,[false,false]],
|
||||
["Land_GarbageBags_F",[-10.9443,35.0449,0.577057],184.592,[false,false]],
|
||||
["Land_Cargo20_military_green_F",[14.6533,32.9004,0.000480652],90.0989,[false,false]],
|
||||
["Land_BagBunker_Small_F",[-23.0186,28.6738,-0.0271301],120.012,[false,false]],
|
||||
["Land_BagBunker_Small_F",[37.1504,34.5742,0.0146866],255,[false,false]]
|
||||
["StorageBladder_01_fuel_forest_F",[1.29492,29.3184,0.000999451],179.65,[false,true]],
|
||||
["Land_GarbageBags_F",[-9.45996,31.252,0.02005],184.595,[false,true]],
|
||||
["Land_GarbageBags_F",[-13.0459,32.668,-0.0283051],184.595,[false,true]],
|
||||
["Land_GarbageBags_F",[-11.5957,33.125,-0.598007],184.595,[false,true]],
|
||||
["Land_GarbageBags_F",[-8.98145,34.5801,-0.00514221],184.592,[false,true]],
|
||||
["Land_Addon_02_V1_ruins_F",[24.8369,24.6582,-0.00820923],90.9637,[false,true]],
|
||||
["Land_GarbageBags_F",[-10.9443,35.0449,0.577057],184.592,[false,true]],
|
||||
["Land_Cargo20_military_green_F",[14.6533,32.9004,0.000480652],90.0989,[false,true]],
|
||||
["Land_BagBunker_Small_F",[-23.0186,28.6738,-0.0271301],120.012,[false,true]],
|
||||
["Land_BagBunker_Small_F",[37.1504,34.5742,0.0146866],255,[false,true]]
|
||||
]; // list of objects to spawn as landscape
|
||||
_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position.
|
||||
_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position.
|
||||
|
@ -27,48 +27,48 @@ _markerMissionName = "Bandit Camp";
|
||||
_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise"
|
||||
_missionLandscape = [
|
||||
["Flag_AAF_F",[0,0,0],0,[false,false]],
|
||||
["Land_CampingChair_V1_F",[1.32227,2.07813,8.2016e-005],108.293,[false,false]],
|
||||
["Land_CampingChair_V1_F",[-2.01465,2.91992,3.05176e-005],236.049,[false,false]],
|
||||
["FirePlace_burning_F",[0.0302734,4.26563,2.47955e-005],359.997,[false,false]],
|
||||
["Land_CampingChair_V1_F",[2.47168,4.21484,0.000102997],108.293,[false,false]],
|
||||
["Land_CampingChair_V1_F",[-1.86816,5.07422,3.05176e-005],319.489,[false,false]],
|
||||
["Land_CampingChair_V1_F",[0.915039,6.20898,1.71661e-005],51.7207,[false,false]],
|
||||
["Land_Sleeping_bag_brown_F",[8.27441,0.609375,0.00414658],98.0314,[false,false]],
|
||||
["Land_Sleeping_bag_brown_F",[8.27344,2.76758,0.00447083],91.7928,[false,false]],
|
||||
["Land_Sleeping_bag_brown_F",[7.9082,4.95898,-0.00173759],85.1176,[false,false]],
|
||||
["Land_Garbage_square3_F",[-4.95508,8.24023,0.00018692],60.0024,[false,false]],
|
||||
["Land_Camping_Light_F",[8.92773,3.80273,-0.000205994],344.236,[false,false]],
|
||||
["Land_Sleeping_bag_brown_F",[7.32129,7.55859,-0.0051899],60.1216,[false,false]],
|
||||
["Land_TentDome_F",[-9.75488,3.13477,0.00125313],146.574,[false,false]],
|
||||
["Land_WoodPile_F",[-0.322266,9.97266,-0.000553131],35.0017,[false,false]],
|
||||
["Land_Razorwire_F",[-0.0185547,-9.84961,0.0752335],1.7831,[false,false]],
|
||||
["Land_CampingChair_V1_folded_F",[3.8584,9.59375,0],60,[false,false]],
|
||||
["Land_TentDome_F",[-8.76855,7.85156,-0.00471497],207.522,[false,false]],
|
||||
["Land_BagFence_Round_F",[8.99707,-8.01367,-0.00951576],326.002,[false,false]],
|
||||
["Land_BagFence_Round_F",[-10.8164,-6.33594,-0.0038681],59.9991,[false,false]],
|
||||
["Land_TentDome_F",[-7.12207,11.8398,-0.00328445],231.101,[false,false]],
|
||||
["Land_CampingTable_small_F",[-4.62598,13.2754,7.62939e-005],344.243,[false,false]],
|
||||
["Land_Camping_Light_F",[-4.5957,13.332,0.687943],344.243,[false,false]],
|
||||
["Land_Razorwire_F",[15.5459,0.605469,0.145557],102.505,[false,false]],
|
||||
["Land_BagFence_Round_F",[7.16211,13.8516,0.000429153],221.639,[false,false]],
|
||||
["Land_Razorwire_F",[15.9678,8.35938,0.0635166],85.7459,[false,false]],
|
||||
["Land_Razorwire_F",[-19.1553,-1.61328,-0.0238552],70.0997,[false,false]],
|
||||
["Land_Razorwire_F",[-12.3906,-15.4492,0.0128002],19.2641,[false,false]],
|
||||
["Land_Razorwire_F",[-19.4629,5.67969,0.0492821],102.505,[false,false]],
|
||||
["Land_BagFence_Round_F",[-11.2891,17.6777,-0.00759888],128.563,[false,false]],
|
||||
["Land_Razorwire_F",[15.2949,-14.3027,0.0502853],139.224,[false,false]],
|
||||
["Land_Razorwire_F",[15.2852,16.2656,-0.0208111],85.1363,[false,false]],
|
||||
["Land_Razorwire_F",[4.80273,21.8223,-0.0563145],49.2133,[false,false]],
|
||||
["Land_Razorwire_F",[-17.7891,13.4863,-0.0646877],102.5,[false,false]],
|
||||
["Land_Razorwire_F",[-14.7109,20.2871,0.0674477],306.189,[false,false]],
|
||||
["Land_BagFence_Round_F",[25.3975,-6.08008,0.00466537],272.26,[false,false]],
|
||||
["Land_Wreck_Truck_F",[26.6289,12.2441,0.00333214],344.243,[false,false]],
|
||||
["Land_GarbageBags_F",[-24.9463,17.3066,0.000968933],60.0003,[false,false]],
|
||||
["Land_BagFence_Round_F",[11.167,28.832,-0.00405121],178.394,[false,false]],
|
||||
["Land_BagFence_Round_F",[-6.36914,30.6953,-0.000207901],178.378,[false,false]],
|
||||
["Land_Wreck_Hunter_F",[21.0391,25.9707,0.0118179],325.412,[false,false]],
|
||||
["Land_Camping_Light_F",[-33.7852,10.0371,0.000759125],344.235,[false,false]],
|
||||
["Land_BagFence_Round_F",[-34.3232,10.1035,0.00181007],60.0012,[false,false]]
|
||||
["Land_CampingChair_V1_F",[1.32227,2.07813,8.2016e-005],108.293,[false,true]],
|
||||
["Land_CampingChair_V1_F",[-2.01465,2.91992,3.05176e-005],236.049,[false,true]],
|
||||
["FirePlace_burning_F",[0.0302734,4.26563,2.47955e-005],359.997,[false,true]],
|
||||
["Land_CampingChair_V1_F",[2.47168,4.21484,0.000102997],108.293,[false,true]],
|
||||
["Land_CampingChair_V1_F",[-1.86816,5.07422,3.05176e-005],319.489,[false,true]],
|
||||
["Land_CampingChair_V1_F",[0.915039,6.20898,1.71661e-005],51.7207,[false,true]],
|
||||
["Land_Sleeping_bag_brown_F",[8.27441,0.609375,0.00414658],98.0314,[false,true]],
|
||||
["Land_Sleeping_bag_brown_F",[8.27344,2.76758,0.00447083],91.7928,[false,true]],
|
||||
["Land_Sleeping_bag_brown_F",[7.9082,4.95898,-0.00173759],85.1176,[false,true]],
|
||||
["Land_Garbage_square3_F",[-4.95508,8.24023,0.00018692],60.0024,[false,true]],
|
||||
["Land_Camping_Light_F",[8.92773,3.80273,-0.000205994],344.236,[false,true]],
|
||||
["Land_Sleeping_bag_brown_F",[7.32129,7.55859,-0.0051899],60.1216,[false,true]],
|
||||
["Land_TentDome_F",[-9.75488,3.13477,0.00125313],146.574,[false,true]],
|
||||
["Land_WoodPile_F",[-0.322266,9.97266,-0.000553131],35.0017,[false,true]],
|
||||
["Land_Razorwire_F",[-0.0185547,-9.84961,0.0752335],1.7831,[false,true]],
|
||||
["Land_CampingChair_V1_folded_F",[3.8584,9.59375,0],60,[false,true]],
|
||||
["Land_TentDome_F",[-8.76855,7.85156,-0.00471497],207.522,[false,true]],
|
||||
["Land_BagFence_Round_F",[8.99707,-8.01367,-0.00951576],326.002,[false,true]],
|
||||
["Land_BagFence_Round_F",[-10.8164,-6.33594,-0.0038681],59.9991,[false,true]],
|
||||
["Land_TentDome_F",[-7.12207,11.8398,-0.00328445],231.101,[false,true]],
|
||||
["Land_CampingTable_small_F",[-4.62598,13.2754,7.62939e-005],344.243,[false,true]],
|
||||
["Land_Camping_Light_F",[-4.5957,13.332,0.687943],344.243,[false,true]],
|
||||
["Land_Razorwire_F",[15.5459,0.605469,0.145557],102.505,[false,true]],
|
||||
["Land_BagFence_Round_F",[7.16211,13.8516,0.000429153],221.639,[false,true]],
|
||||
["Land_Razorwire_F",[15.9678,8.35938,0.0635166],85.7459,[false,true]],
|
||||
["Land_Razorwire_F",[-19.1553,-1.61328,-0.0238552],70.0997,[false,true]],
|
||||
["Land_Razorwire_F",[-12.3906,-15.4492,0.0128002],19.2641,[false,true]],
|
||||
["Land_Razorwire_F",[-19.4629,5.67969,0.0492821],102.505,[false,true]],
|
||||
["Land_BagFence_Round_F",[-11.2891,17.6777,-0.00759888],128.563,[false,true]],
|
||||
["Land_Razorwire_F",[15.2949,-14.3027,0.0502853],139.224,[false,true]],
|
||||
["Land_Razorwire_F",[15.2852,16.2656,-0.0208111],85.1363,[false,true]],
|
||||
["Land_Razorwire_F",[4.80273,21.8223,-0.0563145],49.2133,[false,true]],
|
||||
["Land_Razorwire_F",[-17.7891,13.4863,-0.0646877],102.5,[false,true]],
|
||||
["Land_Razorwire_F",[-14.7109,20.2871,0.0674477],306.189,[false,true]],
|
||||
["Land_BagFence_Round_F",[25.3975,-6.08008,0.00466537],272.26,[false,true]],
|
||||
["Land_Wreck_Truck_F",[26.6289,12.2441,0.00333214],344.243,[false,true]],
|
||||
["Land_GarbageBags_F",[-24.9463,17.3066,0.000968933],60.0003,[false,true]],
|
||||
["Land_BagFence_Round_F",[11.167,28.832,-0.00405121],178.394,[false,true]],
|
||||
["Land_BagFence_Round_F",[-6.36914,30.6953,-0.000207901],178.378,[false,true]],
|
||||
["Land_Wreck_Hunter_F",[21.0391,25.9707,0.0118179],325.412,[false,true]],
|
||||
["Land_Camping_Light_F",[-33.7852,10.0371,0.000759125],344.235,[false,true]],
|
||||
["Land_BagFence_Round_F",[-34.3232,10.1035,0.00181007],60.0012,[false,true]]
|
||||
]; // list of objects to spawn as landscape
|
||||
_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position.
|
||||
_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position.
|
||||
|
@ -27,12 +27,12 @@ _missionLandscapeMode = "precise"; // acceptable values are "none","random","pre
|
||||
_missionLandscape = [
|
||||
["Land_Cargo_Patrol_V1_F",[-29.41016,0.13477,-0.0224228],359.992,[true,true]],
|
||||
["Land_Cargo_House_V1_F",[29.2988,-0.1,0.150505],54.9965,[true,true]],
|
||||
["CamoNet_INDP_big_F",[-20.4346,15.43164,-0.00395203],54.9965,[false,false]],
|
||||
["Land_BagBunker_Small_F",[-20.4346,15.43164,-0.0138168],119.996,[false,false]],
|
||||
["Land_BagBunker_Small_F",[-20.3604,-15.6035,-0.0130463],44.9901,[false,false]],
|
||||
["Land_BagBunker_Small_F",[18.4453,-15.791,0.00744629],305.003,[false,false]],
|
||||
["Land_BagBunker_Small_F",[18.3711,15.5703,0.0101624],254.999,[false,false]],
|
||||
["CamoNet_INDP_big_F",[18.3711,15.5703,-0.00395203],54.9965,[false,false]]
|
||||
["CamoNet_INDP_big_F",[-20.4346,15.43164,-0.00395203],54.9965,[false,true]],
|
||||
["Land_BagBunker_Small_F",[-20.4346,15.43164,-0.0138168],119.996,[false,true]],
|
||||
["Land_BagBunker_Small_F",[-20.3604,-15.6035,-0.0130463],44.9901,[false,true]],
|
||||
["Land_BagBunker_Small_F",[18.4453,-15.791,0.00744629],305.003,[false,true]],
|
||||
["Land_BagBunker_Small_F",[18.3711,15.5703,0.0101624],254.999,[false,true]],
|
||||
["CamoNet_INDP_big_F",[18.3711,15.5703,-0.00395203],54.9965,[false,true]]
|
||||
]; // list of objects to spawn as landscape
|
||||
_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position.
|
||||
_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position.
|
||||
|
@ -47,7 +47,7 @@ _sm_groups = +blck_sm_surfaceShips;
|
||||
{
|
||||
_return = [_pos,1,_difficulty,[_groupParameters],false] call blck_fnc_spawnMissionVehiclePatrols;
|
||||
//diag_log format["_fnc_monitorShips: _return = %1",_return];
|
||||
_group = group ((_return select 0) select 0);
|
||||
_group = group ((_return select 1) select 0);
|
||||
_timesSpawned = _timesSpawned + 1;
|
||||
_groupSpawned = 1;
|
||||
_respawnAt = 0;
|
||||
|
@ -47,6 +47,7 @@ _sm_groups = +blck_sm_submarines;
|
||||
{
|
||||
_return = [_pos,1,_difficulty,[_groupParameters],false,blck_UMS_uniforms,blck_UMS_headgear,blck_UMS_vests,blck_backpacks,blck_UMS_weapons,blck_Pistols,true] call blck_fnc_spawnMissionVehiclePatrols;
|
||||
//diag_log format["_fnc_monitorSubs: _return = %1",_return];
|
||||
_group = group ((_return select 1) select 0);
|
||||
_timesSpawned = _timesSpawned + 1;
|
||||
_groupSpawned = 1;
|
||||
_respawnAt = 0;
|
||||
|
@ -47,7 +47,8 @@ _sm_groups = +blck_sm_Vehicles;
|
||||
if ([_pos,staticPatrolTriggerRange] call blck_fnc_playerInRange) then
|
||||
{
|
||||
_return = [_pos,1,_difficulty,[_groupParameters],false] call blck_fnc_spawnMissionVehiclePatrols;
|
||||
_group = group (driver (_return select 0));
|
||||
//diag_log format["_fnc_monitorVehicles: _return = %1",_return];
|
||||
_group = group ((_return select 1) select 0);
|
||||
_timesSpawned = _timesSpawned + 1;
|
||||
_groupSpawned = 1;
|
||||
_respawnAt = 0;
|
||||
|
@ -15,8 +15,8 @@ private ["_staticMissions"];
|
||||
|
||||
_staticMissions = [
|
||||
// [mod (Epoch, Exile), map (Altis, Tanoa etc), mission center, eg [10445,2014,0], filename.sqf (name of static mission template for that mission)];
|
||||
["Epoch","Altis","staticMissionExample2_Epoch.sqf"],
|
||||
["Exile","Altis","staticMissionExample2_Exile.sqf"]
|
||||
//["Epoch","Altis","staticMissionExample2_Epoch.sqf"],
|
||||
//["Exile","Altis","staticMissionExample2_Exile.sqf"]
|
||||
];
|
||||
|
||||
//diag_log "[blckeagls] GMS_StaticMissions_Lists.sqf <Loaded>";
|
||||
|
@ -55,10 +55,10 @@ _missionLandscapeMode = "precise"; // acceptable values are "random","precise"
|
||||
// In precise mode objects will be spawned at the relative positions specified.
|
||||
// In the random mode, objects will be randomly spawned within the mission area.
|
||||
_missionLandscape = [ // Paste appropriate lines from M3EDEN output here.
|
||||
//["Land_Cargo_HQ_V2_F",[22894.7,16766,3.19],[[0,1,0],[0,0,1]],[true,false]],
|
||||
//["Land_Cargo_HQ_V1_F",[22918.1,16761.9,3.18151],[[0,1,0],[0,0,1]],[true,false]],
|
||||
//["Land_Cargo_HQ_V3_F",[22907.6,16740.3,3.17544],[[0,1,0],[0,0,1]],[true,false]],
|
||||
//["Land_Dome_Small_F",[22908.2,16808.8,3.19],[[0,1,0],[0,0,1]],[true,false]]
|
||||
["Land_Cargo_HQ_V2_F",[22894.7,16766,3.19],[[0,1,0],[0,0,1]],[true,false]],
|
||||
["Land_Cargo_HQ_V1_F",[22918.1,16761.9,3.18151],[[0,1,0],[0,0,1]],[true,false]],
|
||||
["Land_Cargo_HQ_V3_F",[22907.6,16740.3,3.17544],[[0,1,0],[0,0,1]],[true,false]],
|
||||
["Land_Dome_Small_F",[22908.2,16808.8,3.19],[[0,1,0],[0,0,1]],[true,false]]
|
||||
]; // list of objects to spawn as landscape using output from M3EDEN editor.
|
||||
|
||||
_missionLootBoxes = [ // Paste appropriate lines from M3EDEN editor output here, then add the appropriate lootArray
|
||||
@ -104,7 +104,7 @@ _aiGroupParameters = [
|
||||
//[[22849,16720.4,7.33123],"red",4, 75,9000],
|
||||
//[[22832.9,16805.6,4.59315],"red",4, 75,900],
|
||||
//[[22909.8,16778.6,3.19144],"red",4, 75,900],
|
||||
//[[22809.4,16929.5,5.33892],"blue",1, 75,0],
|
||||
[[22809.4,16929.5,5.33892],"blue",1, 75,0],
|
||||
[[22819.4,16929.5,0],"red",1, 75, 10]
|
||||
];
|
||||
|
||||
@ -122,7 +122,7 @@ _noAirPatrols = blck_noPatrolHelisRed; // You can use one of the pre-defined val
|
||||
// Note: this value is ignored if you specify air patrols in the array below.
|
||||
_airPatrols = [
|
||||
//["Exile_Chopper_Huey_Armed_Green",[22923.4,16953,3.19],"red",1000,900]//,
|
||||
//[selectRandom _aircraftTypes,[22830.2,16618.1,11.4549],"blue",1000,60]
|
||||
[selectRandom _aircraftTypes,[22830.2,16618.1,11.4549],"blue",1000,60]
|
||||
];
|
||||
// Change _useMines to true/false below to enable mission-specific settings.
|
||||
_useMines = blck_useMines; // Set to false if you have vehicles patrolling nearby.
|
||||
|
@ -16,8 +16,8 @@ private ["_staticMissions"];
|
||||
|
||||
_staticMissions = [
|
||||
// [mod (Epoch, Exile), map (Altis, Tanoa etc), mission center, eg [10445,2014,0], filename.sqf (name of static mission template for that mission)];
|
||||
["Epoch","Altis","staticMissionExample2_Epoch.sqf"],
|
||||
["Exile","Altis","staticMissionExample2_Exile.sqf"]
|
||||
//["Epoch","Altis","staticMissionExample2_Epoch.sqf"],
|
||||
//["Exile","Altis","staticMissionExample2_Exile.sqf"]
|
||||
];
|
||||
|
||||
//diag_log "[blckeagls] GMS_UMS_StaticMissions_Lists.sqf <Loaded>";
|
||||
|
@ -82,7 +82,7 @@ _missionLootBoxes = [ // Paste appropriate lines from M3EDEN editor output her
|
||||
_missionLootVehicles = [ // Paste appropriate lines from the output of M3EDEN Editor here and add the loot crate type and loot counts at the end of each entry as shown in the example below.
|
||||
// Many vehicles have less inventory capacity than crates so you may have to modify _lootcounts to avoid having stuff spawned all over the ground.
|
||||
//["Exile_Car_Van_Box_Guerilla02",[22896.8,16790.1,3.18987],[[0,1,0],[0,0,1]],[true,false], _crateLoot, [[1,2],[4,6],[2,6],[5,8],6,1]],
|
||||
//["B_T_Boat_Transport_01_F",[22570.1,15235.3,-4.49949],[[0,1,0],[0,0,1]],[true,false],_crateLoot, _lootCounts]
|
||||
["B_T_Boat_Transport_01_F",[22570.1,15235.3,-4.49949],[[0,1,0],[0,0,1]],[true,false],_crateLoot, _lootCounts]
|
||||
]; // [ ["vehicleClassName", [px, py, pz] /* possition at which to spawn*/, _loot /* pointer to array of loot (see below)];
|
||||
// When blank nothing is spawned.
|
||||
// You can use the same format used for _missionLootBoxes to add vehicles with/without loot.
|
||||
@ -110,14 +110,14 @@ _aiGroupParameters = [
|
||||
_aiScubaGroupParameters = [
|
||||
// [ [px, py, pz] /* position*/, "difficulty", 4 /*Number to Spawn*/, 150 /*radius of patrol*/]
|
||||
//[[22584.9,15304.8,-4.27578],"red",4, 75,0],
|
||||
//[[22613.5,15269.1,-4.28332],"red",3, 75,900],
|
||||
//[[22549,15288.9,0],"red",1, 75,0]
|
||||
[[22613.5,15269.1,-4.28332],"red",3, 75,900],
|
||||
[[22549,15288.9,0],"red",1, 75,0]
|
||||
];
|
||||
_noVehiclePatrols = blck_SpawnVeh_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4];
|
||||
// Note that this value is ignored if you define vehicle patrols in the array below.
|
||||
_vehiclePatrolParameters = [
|
||||
//["B_T_Boat_Transport_01_F",[22570.1,15235.3,-4.49949],"red",75,60],
|
||||
//["B_T_Boat_Armed_01_minigun_F",[22578.6,15273.3,-0.0354593],"red",75,0]
|
||||
["B_T_Boat_Armed_01_minigun_F",[22578.6,15273.3,-0.0354593],"red",75,0]
|
||||
]; //[ ["vehicleClassName",[px,py,pz] /* center of patrol area */, difficulty /* blue, red etc*/, patrol radius] ]
|
||||
// When this array is empty, vehicle patrols will be scattered randomely around the mission.
|
||||
// Allows you to define the location of the center of the patrol, vehicle type spawned, radius to patrol, and AI difficulty (blue, red, green etc).
|
||||
|
@ -1,6 +1,6 @@
|
||||
private ["_version","_versionDate"];
|
||||
blck_version = "6.83 Build 138";
|
||||
blck_version = "6.83 Build 141";
|
||||
_blck_version = blck_version;
|
||||
_blck_versionDate = "6-13-18 5:00 PM";
|
||||
_blck_versionDate = "6-16-18 5:00 PM";
|
||||
blck_pvs_version = _blck_version;
|
||||
publicVariable blck_pvs_version;
|
||||
|
@ -17,6 +17,10 @@ Added functions to despawn static patrols invehicles on on foot when no players
|
||||
|
||||
Added: Static units will now be spawned with gear specific to difficulty level (blue, red, green, orange) as specified in blck_config.sqf etc.
|
||||
|
||||
Changed: Hostage missions redesigned to reduce chances of AI being glitched into containers and of mission objects flying about when spawned in.
|
||||
Fixed: Collisions between objects at missions caused issues.
|
||||
Fixed: Attempted a fix to reduce the chance that AI will spawn inside or under objects like rocks or containers.
|
||||
Fixed: Captive missions now complete properly.
|
||||
|
||||
Version 1.82 Build 134
|
||||
Added: configs for blue, red, green and orange pistol, vest, backpack and uniforms (with thanks to Grahame for suggesting this change and doing most of the coding)
|
||||
|
Loading…
Reference in New Issue
Block a user