Minor fixes in the chernarus maps loading for grid system.

Commented out incompatiable features to prevent accidental loading.
This commit is contained in:
Teh Dango 2017-11-04 13:00:50 -04:00
parent 483b2fc919
commit 653b57c579
5 changed files with 91 additions and 513 deletions

View File

@ -1,33 +0,0 @@
// =========================================================================================================
// SAR_AI - DayZ AI library
// Version: 1.0.0
// Author: Sarge (sarge@krumeich.ch)
//
// Wiki: to come
// Forum: to come
//
// ---------------------------------------------------------------------------------------------------------
// Required:
// UPSMon
// SHK_pos
//
// ---------------------------------------------------------------------------------------------------------
// grid cfg file for Chernarus
// last modified: 5.3.2013
// ---------------------------------------------------------------------------------------------------------
// x coordinate of the first, bottom left grid center point
_startx=2500;
// y coordinate of the first, bottom left grid center point
_starty=2800;
// gridsize x (how many single squares in the grid) for the x-axis
_gridsize_x=6;
// gridsize y (how many single squares in the grid) for the y-axis
_gridsize_y=6;
// distance from the center of one square of the grid to the border of that square. so overall size of a square in the grid is 2x gridwidth / 2x gridwidth
_gridwidth = 1000;

View File

@ -15,8 +15,8 @@
// area, group & spawn cfg file for Chernarus
// last modified: 28.5.2013
// ---------------------------------------------------------------------------------------------------------
/* reconfiguring the properties of the grid (keep in mind the grid has default settings, but these you should overwrite where needed.
/*
reconfiguring the properties of the grid (keep in mind the grid has default settings, but these you should overwrite where needed.
IMPORTANT: The grid squares are named like : SAR_area_0_0
@ -31,11 +31,11 @@ You want to change the number arrays in the below lines:
The order for these numbers is always [BANDIT, SURVIVOR, SOLDIER]
Lets take an example for Chernarus
// Kamenka, 0 bandit groups, 1 soldier groups, 2 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
_check = [["max_grps","rnd_grps","max_p_grp"],[[0,1,2],[0,75,100],[0,4,3]],"SAR_area_0_0"] call SAR_AI_mon_upd;
[[0,1,2],[0,75,100],[0,4,3]]
[[0,1,2],[0,75,100],[0,4,3]]
the first set of numbers : 0,1,2
stands for
@ -56,20 +56,13 @@ thats the maximum number of ppl in the group (including the leader)
max 4 soldiers
max 3 survivors
this number is randomized
*/
//
// grid definition for the automatic spawn system
//
*/
if (SAR_dynamic_spawning) then {
diag_log format["SAR_AI: Dynamic spawning definition / adjustments started"];
// Kamenka, 0 bandit groups, 1 soldier groups, 2 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
/* // Kamenka, 0 bandit groups, 1 soldier groups, 2 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[0,1,2],[0,100,100],[0,2,1]],"SAR_area_0_0"] call SAR_AI_mon_upd;
// Balota, 1 bandit groups, 0 soldier groups, 2 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
@ -127,7 +120,7 @@ if (SAR_dynamic_spawning) then {
[["max_grps","rnd_grps","max_p_grp"],[[0,1,1],[0,75,75],[0,4,2]],"SAR_area_4_5"] call SAR_AI_mon_upd;
// test south of lopatino, 1 bandit groups, 0 soldier groups, 0 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[1,0,0],[100,0,0],[6,0,0]],"SAR_area_0_3"] call SAR_AI_mon_upd;
[["max_grps","rnd_grps","max_p_grp"],[[1,0,0],[100,0,0],[6,0,0]],"SAR_area_0_3"] call SAR_AI_mon_upd; */
diag_log format["SAR_AI: Dynamic spawning definition / adjustments finished"];
@ -169,7 +162,7 @@ _this setMarkerDir 59.354115;
SAR_marker_helipatrol_nwaf = _this;
// NEAF, heli patrol area
_this = createMarker ["SAR_marker_helipatrol_neaf", [12034.16, 12725.376, 0]];
_this = createMarker ["SAR_marker_helipatrol_neaf", [12034.16, 12725.376]];
_this setMarkerShape "RECTANGLE";
_this setMarkeralpha 0;
_this setMarkerType "Flag";
@ -187,7 +180,7 @@ _this setMarkerSize [300, 1000];
_this setMarkerDir -19.085985;
SAR_marker_DEBUG_veh = _this;
_this = createMarker ["SAR_marker_DEBUG_devilscastle", [6913.47,11437.2,0.001]];
_this = createMarker ["SAR_marker_DEBUG_devilscastle", [6913.47,11437.2]];
_this setMarkerShape "RECTANGLE";
_this setMarkeralpha 0;
_this setMarkerType "Flag";
@ -240,25 +233,25 @@ diag_log format["Sarge AI: Static Spawning for Helicopter patrols started"];
//
//Heli Patrol NWAF
[SAR_marker_helipatrol_nwaf,1,true] call SAR_fnc_AI_heli;
[SAR_marker_helipatrol_nwaf,3,true] call SAR_fnc_AI_heli;
//Heli Patrol NEAF
[SAR_marker_helipatrol_neaf,1,true] call SAR_fnc_AI_heli;
[SAR_marker_helipatrol_neaf,3,true] call SAR_fnc_AI_heli;
// Heli patrol south coast
[SAR_marker_helipatrol_southcoast,1,true] call SAR_fnc_AI_heli;
[SAR_marker_helipatrol_southcoast,1,true] call SAR_fnc_AI_heli;
//[SAR_marker_helipatrol_southcoast,1,true] call SAR_fnc_AI_heli;
// heli patrol east coast
[SAR_marker_helipatrol_eastcoast,1,true] call SAR_fnc_AI_heli;
[SAR_marker_helipatrol_eastcoast,1,true] call SAR_fnc_AI_heli;
//[SAR_marker_helipatrol_eastcoast,1,true] call SAR_fnc_AI_heli;
// example war scenario in the northwest. Comment OUT after having had a look at it!
[SAR_marker_DEBUG_veh,1,true,30] call SAR_fnc_AI_heli;
/* [SAR_marker_DEBUG_veh,1,true,30] call SAR_fnc_AI_heli;
[SAR_marker_DEBUG_veh,1,true,30] call SAR_fnc_AI_heli;
[SAR_marker_DEBUG_veh,3,true,30] call SAR_fnc_AI_heli;
[SAR_marker_DEBUG_veh,3,true,30] call SAR_fnc_AI_heli;
[SAR_marker_DEBUG_veh,3,true,30] call SAR_fnc_AI_heli; */
diag_log format["Sarge AI: Static Spawning for Helicopter patrols finished"];
@ -305,13 +298,13 @@ diag_log format["Sarge AI: Static Spawning for infantry patrols started"];
// define your static infantry patrols here
//
[SAR_marker_DEBUG_devilscastle,1,0,6,"fortify",true] call SAR_fnc_AI_infantry;
[SAR_marker_DEBUG_devilscastle,3,0,6,"fortify",true] call SAR_fnc_AI_infantry;
// example war scenario in the northwest. Comment OUT after having had a look at it!
[SAR_marker_DEBUG_veh,1,0,9,"patrol",true] call SAR_fnc_AI_infantry;
/* [SAR_marker_DEBUG_veh,1,0,9,"patrol",true] call SAR_fnc_AI_infantry;
[SAR_marker_DEBUG_veh,2,0,9,"patrol",true] call SAR_fnc_AI_infantry;
[SAR_marker_DEBUG_veh,3,0,9,"patrol",true] call SAR_fnc_AI_infantry;
[SAR_marker_DEBUG_veh,3,0,9,"patrol",true] call SAR_fnc_AI_infantry;
[SAR_marker_DEBUG_veh,3,0,9,"patrol",true] call SAR_fnc_AI_infantry; */
diag_log format["Sarge AI: Static Spawning for infantry patrols finished"];
@ -368,7 +361,7 @@ diag_log format["Sarge AI: Static Spawning for vehicle patrols started"];
//
// example war scenario in the northwest. Comment OUT after having had a look at it!
[
/* [
SAR_marker_DEBUG_veh, // Name of the area that the vehicle patrol will spawn in
1, // type of group
["LandRover_CZ_EP1","M1030","M1030","LandRover_CZ_EP1"], // used vehicle
@ -393,8 +386,52 @@ diag_log format["Sarge AI: Static Spawning for vehicle patrols started"];
[[1,1,0]], // Vehicle initial crew
true, // if this group should respawn or not
60 // waittime until this group will respawn
] call SAR_fnc_AI_vehicle; */
[
SAR_marker_helipatrol_nwaf, // Name of the area that the vehicle patrol will spawn in
3, // type of group
["CUP_C_UAZ_Unarmed_TK_CIV"], // used vehicle
[[1,1,1]], // Vehicle initial crew
true, // if this group should respawn or not
(random 300) // waittime until this group will respawn
] call SAR_fnc_AI_vehicle;
[
SAR_marker_helipatrol_nwaf, // Name of the area that the vehicle patrol will spawn in
3, // type of group
["CUP_B_Ural_CDF"], // used vehicle
[[1,2,5]], // Vehicle initial crew
true, // if this group should respawn or not
(random 300) // waittime until this group will respawn
] call SAR_fnc_AI_vehicle;
[
SAR_marker_helipatrol_nwaf, // Name of the area that the vehicle patrol will spawn in
3, // type of group
["CUP_C_UAZ_Unarmed_TK_CIV"], // used vehicle
[[1,1,2]], // Vehicle initial crew
true, // if this group should respawn or not
(random 300) // waittime until this group will respawn
] call SAR_fnc_AI_vehicle;
/* [
SAR_marker_helipatrol_nwaf, // Name of the area that the vehicle patrol will spawn in
3, // type of group
["CUP_B_Ural_CDF"], // used vehicle
[[1,2,5]], // Vehicle initial crew
true, // if this group should respawn or not
(random 300) // waittime until this group will respawn
] call SAR_fnc_AI_vehicle;
[
SAR_marker_helipatrol_nwaf, // Name of the area that the vehicle patrol will spawn in
3, // type of group
["CUP_C_UAZ_Unarmed_TK_CIV"], // used vehicle
[[1,1,2]], // Vehicle initial crew
true, // if this group should respawn or not
(random 300) // waittime until this group will respawn
] call SAR_fnc_AI_vehicle; */
diag_log format["Sarge AI: Static Spawning for vehicle patrols finished"];
// ---- end of configuration area ----

View File

@ -1,437 +0,0 @@
// =========================================================================================================
// SAR_AI - DayZ AI library
// Version: 1.5.0
// Author: Sarge (sarge@krumeich.ch)
//
// Wiki: to come
// Forum: to come
//
// ---------------------------------------------------------------------------------------------------------
// Required:
// UPSMon
// SHK_pos
//
// ---------------------------------------------------------------------------------------------------------
// area, group & spawn cfg file for Chernarus
// last modified: 28.5.2013
// ---------------------------------------------------------------------------------------------------------
/*
reconfiguring the properties of the grid (keep in mind the grid has default settings, but these you should overwrite where needed.
IMPORTANT: The grid squares are named like : SAR_area_0_0
where the first 0 is the x counter, and the second 0 the y counter.
So to adress the bottom left square in the grid, you use SAR_area_0_0.
The square above that one would be: SAR_area_0_1
the square one to the right of the bottom left square is SAR_area_1_0
You want to change the number arrays in the below lines:
The order for these numbers is always [BANDIT, SURVIVOR, SOLDIER]
Lets take an example for Chernarus
// Kamenka, 0 bandit groups, 1 soldier groups, 2 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
_check = [["max_grps","rnd_grps","max_p_grp"],[[0,1,2],[0,75,100],[0,4,3]],"SAR_area_0_0"] call SAR_AI_mon_upd;
[[0,1,2],[0,75,100],[0,4,3]]
the first set of numbers : 0,1,2
stands for
0 bandit groups
1 soldier group
2 surivors groups
thats the max that can spawn in this grid
the second set of numbers : 0,75,100
that means:
0% probability to spawn bandit groups
75% for soldiers
100% for survivors
the last set of numbers : 0,4,3
thats the maximum number of ppl in the group (including the leader)
0 bandits
max 4 soldiers
max 3 survivors
this number is randomized
*/
if (SAR_dynamic_spawning) then {
diag_log format["SAR_AI: Dynamic spawning definition / adjustments started"];
/* // Kamenka, 0 bandit groups, 1 soldier groups, 2 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[0,1,2],[0,100,100],[0,2,1]],"SAR_area_0_0"] call SAR_AI_mon_upd;
// Balota, 1 bandit groups, 0 soldier groups, 2 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[1,0,2],[80,0,80],[2,0,3]],"SAR_area_1_0"] call SAR_AI_mon_upd;
// Cherno, 2 bandit groups, 0 soldier groups, 3 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[2,0,3],[75,0,75],[4,0,4]],"SAR_area_2_0"] call SAR_AI_mon_upd;
// Prido, 1 bandit groups, 0 soldier groups, 3 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[1,0,3],[50,0,50],[4,0,2]],"SAR_area_3_0"] call SAR_AI_mon_upd;
// Elektro, 2 bandit groups, 0 soldier groups, 3 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[2,0,3],[50,0,50],[4,0,4]],"SAR_area_4_0"] call SAR_AI_mon_upd;
// Kamyshovo, 0 bandit groups, 0 soldier groups, 1 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[0,0,1],[0,0,80],[0,0,3]],"SAR_area_5_0"] call SAR_AI_mon_upd;
// Tulga, 0 bandit groups, 0 soldier groups, 1 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[0,0,1],[0,0,80],[0,0,3]],"SAR_area_5_1"] call SAR_AI_mon_upd;
// Solni, 1 bandit groups, 0 soldier groups, 0 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[1,0,0],[80,0,0],[2,0,0]],"SAR_area_5_2"] call SAR_AI_mon_upd;
// Berezino, 0 bandit groups, 0 soldier groups, 3 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[0,0,3],[0,0,75],[0,0,3]],"SAR_area_5_3"] call SAR_AI_mon_upd;
// Khelm, 1 bandit groups, 0 soldier groups, 1 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[1,0,1],[75,0,75],[3,0,3]],"SAR_area_5_4"] call SAR_AI_mon_upd;
// NEAF, 0 bandit groups, 3 soldier groups, 1 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[0,3,1],[0,50,75],[0,2,4]],"SAR_area_5_5"] call SAR_AI_mon_upd;
// NWAF, 0 bandit groups, 2 soldier groups, 1 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[0,2,1],[0,50,75],[0,2,4]],"SAR_area_1_4"] call SAR_AI_mon_upd;
// Stary, 3 bandit groups, 0 soldier groups, 3 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[3,0,3],[50,0,50],[3,0,3]],"SAR_area_2_2"] call SAR_AI_mon_upd;
// Devils Castle, 2 bandit groups, 0 soldier groups, 0 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[2,0,0],[75,0,0],[3,0,0]],"SAR_area_2_4"] call SAR_AI_mon_upd;
// Skalka, 1 bandit groups, 0 soldier groups, 0 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[1,0,0],[75,0,0],[3,0,0]],"SAR_area_0_5"] call SAR_AI_mon_upd;
// Petrovka1, 2 bandit groups, 0 soldier groups, 0 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[2,0,0],[75,0,0],[3,0,0]],"SAR_area_1_5"] call SAR_AI_mon_upd;
// Petrovka2, 2 bandit groups, 0 soldier groups, 0 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[2,0,0],[75,0,0],[3,0,0]],"SAR_area_2_5"] call SAR_AI_mon_upd;
// Pobeda, 2 bandit groups, 0 soldier groups, 0 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[2,0,0],[75,0,0],[3,0,0]],"SAR_area_3_5"] call SAR_AI_mon_upd;
// Krasno, 0 bandit groups, 1 soldier groups, 1 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[0,1,1],[0,75,75],[0,4,2]],"SAR_area_4_5"] call SAR_AI_mon_upd;
// test south of lopatino, 1 bandit groups, 0 soldier groups, 0 survivor groups - spawn probability ba,so,su - maximum group members ba,so,su
[["max_grps","rnd_grps","max_p_grp"],[[1,0,0],[100,0,0],[6,0,0]],"SAR_area_0_3"] call SAR_AI_mon_upd; */
diag_log format["SAR_AI: Dynamic spawning definition / adjustments finished"];
};
//
// Definition of area markers for static spawns
//
diag_log format["SAR_AI: Static spawning area definition started"];
// soutcoast, heli patrol area
_this = createMarker ["SAR_marker_helipatrol_southcoast", [7997.2837, 2687.6707]];
_this setMarkerShape "RECTANGLE";
_this setMarkeralpha 0;
_this setMarkerType "Flag";
_this setMarkerBrush "Solid";
_this setMarkerSize [6500, 1200];
SAR_marker_helipatrol_southcoast = _this;
// eastcoast, heli patrol area
_this = createMarker ["SAR_marker_helipatrol_eastcoast", [13304.196, 8220.9795]];
_this setMarkerShape "RECTANGLE";
_this setMarkeralpha 0;
_this setMarkerType "Flag";
_this setMarkerBrush "Solid";
_this setMarkerSize [1200, 6000];
SAR_marker_helipatrol_eastcoast = _this;
// NWAF, heli patrol area
_this = createMarker ["SAR_marker_helipatrol_nwaf", [4525.3335, 10292.299]];
_this setMarkerShape "RECTANGLE";
_this setMarkeralpha 0;
_this setMarkerType "Flag";
_this setMarkerBrush "Solid";
_this setMarkerSize [1500, 500];
_this setMarkerDir 59.354115;
SAR_marker_helipatrol_nwaf = _this;
// NEAF, heli patrol area
_this = createMarker ["SAR_marker_helipatrol_neaf", [12034.16, 12725.376]];
_this setMarkerShape "RECTANGLE";
_this setMarkeralpha 0;
_this setMarkerType "Flag";
_this setMarkerBrush "Solid";
_this setMarkerSize [1000, 600];
SAR_marker_helipatrol_neaf = _this;
_this = createMarker ["SAR_marker_DEBUG_veh", [1951.4304, 11905.569]];
_this setMarkerShape "RECTANGLE";
_this setMarkeralpha 0;
_this setMarkerType "Flag";
_this setMarkerBrush "Solid";
_this setMarkerSize [300, 1000];
_this setMarkerDir -19.085985;
SAR_marker_DEBUG_veh = _this;
_this = createMarker ["SAR_marker_DEBUG_devilscastle", [6913.47,11437.2]];
_this setMarkerShape "RECTANGLE";
_this setMarkeralpha 0;
_this setMarkerType "Flag";
_this setMarkerBrush "Solid";
_this setMarkerSize [10, 10];
SAR_marker_DEBUG_devilscastle = _this;
diag_log format["SAR_AI: Static spawning area definition finished"];
// ----------------------------------------------------------------------------------------
// End of area marker definition section
// ----------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// Static, predefined heli patrol areas with configurable units
//---------------------------------------------------------------------------------
//
// format: [areamarker,type_of_group,(respawn),(respawntime)] call SAR_AI;
//
// areamarker : Name of an area, as defined in your area definitions (MUST NOT BE similar to SAR_area_ ! THIS IS IMPORTANT!)
// type_of_group : 1 = military, 2 = survivors, 3 = bandits
//
// respawn : true or false (optional)
// respawntime : time in secs until group respawns (optional)
// air_vehicle_type : classnema of the air vehicle you want to use
//
//
// Note: The crew will be automatically seized to man any available gun in the airplane / heli.
//
// Examples:
//
// A) military air group patrolling, respawning, respawn time = default configured time, using default randomized vehicles
//
// [SAR_marker_DEBUG,1,true] call SAR_fnc_AI_heli;
//
// B) bandit air group patrolling, not respawning,
//
// [SAR_marker_DEBUG,3] call SAR_fnc_AI_heli;
//
// C) survivor air group patrolling, respawning, respawn time = 120 seconds
//
// [SAR_marker_DEBUG,true,120] call SAR_fnc_AI_heli;
//
//---------------------------------------------------------------------------------
diag_log format["Sarge AI: Static Spawning for Helicopter patrols started"];
//
// define your static air patrols here
//
//Heli Patrol NWAF
[SAR_marker_helipatrol_nwaf,3,true] call SAR_fnc_AI_heli;
//Heli Patrol NEAF
[SAR_marker_helipatrol_neaf,3,true] call SAR_fnc_AI_heli;
// Heli patrol south coast
[SAR_marker_helipatrol_southcoast,1,true] call SAR_fnc_AI_heli;
//[SAR_marker_helipatrol_southcoast,1,true] call SAR_fnc_AI_heli;
// heli patrol east coast
[SAR_marker_helipatrol_eastcoast,1,true] call SAR_fnc_AI_heli;
//[SAR_marker_helipatrol_eastcoast,1,true] call SAR_fnc_AI_heli;
// example war scenario in the northwest. Comment OUT after having had a look at it!
/* [SAR_marker_DEBUG_veh,1,true,30] call SAR_fnc_AI_heli;
[SAR_marker_DEBUG_veh,1,true,30] call SAR_fnc_AI_heli;
[SAR_marker_DEBUG_veh,3,true,30] call SAR_fnc_AI_heli;
[SAR_marker_DEBUG_veh,3,true,30] call SAR_fnc_AI_heli; */
diag_log format["Sarge AI: Static Spawning for Helicopter patrols finished"];
//---------------------------------------------------------------------------------
// Static, predefined infantry patrols in defined areas with configurable units
//---------------------------------------------------------------------------------
//
// format: [areamarker,type_of_group,number_of_snipers,number_of_riflemen,action_to_do,(respawn),(respawntime)] call SAR_fnc_AI_infantry;
//
// areamarker : Name of an area, as defined in your area definitions (MUST NOT BE similar to SAR_area_ ! THIS IS IMPORTANT!)
// type_of_group : 1 = military, 2 = survivors, 3 = bandits
// number_of_snipers : amount of snipers in the group
// number_of_riflemen : amount of riflemen in the group
//
// action_to_do : groupaction (optional, default is "patrol")
// possible values:
// "fortify" -> the group will search for nearby buildings and move in them. They will stay there until an enemy spotted, then they will chase him.
// "ambush" -> the group will look for a nearby road, and setup an ambush. They will not move until an enemy was spotted.
// "patrol" -> the group will patrol random waypoints in the area, and engage any enemy they see.
//
// respawn : true or false (optional)
// respawntime : time in secs until group respawns (optional)
//
// Examples:
//
// A) military group patrolling, with 1 leader and 1 rifleman, respawning, respawn time = default configured time
//
// [SAR_marker_DEBUG,1,0,1,"patrol",true] call SAR_fnc_AI_infantry;
//
// B) bandit group patrolling, with 1 leader, 2 snipers and 1 rifleman, respawning, respawn time = 30 seconds
//
// [SAR_marker_DEBUG,3,2,1,"patrol",true,30] call SAR_fnc_AI_infantry;
//
// C) survivor group fortifying, with 1 leader, 1 sniper and 3 riflemen, not respawning
//
// [SAR_marker_DEBUG,2,1,3,"fortify",false] call SAR_fnc_AI_infantry;
//
//---------------------------------------------------------------------------------
diag_log format["Sarge AI: Static Spawning for infantry patrols started"];
//
// define your static infantry patrols here
//
[SAR_marker_DEBUG_devilscastle,3,0,6,"fortify",true] call SAR_fnc_AI_infantry;
// example war scenario in the northwest. Comment OUT after having had a look at it!
/* [SAR_marker_DEBUG_veh,1,0,9,"patrol",true] call SAR_fnc_AI_infantry;
[SAR_marker_DEBUG_veh,2,0,9,"patrol",true] call SAR_fnc_AI_infantry;
[SAR_marker_DEBUG_veh,3,0,9,"patrol",true] call SAR_fnc_AI_infantry;
[SAR_marker_DEBUG_veh,3,0,9,"patrol",true] call SAR_fnc_AI_infantry; */
diag_log format["Sarge AI: Static Spawning for infantry patrols finished"];
// -------------------------------------------------------------------------------------
//
// Static spawns for vehicle groups
//
// format: [areamarker,type_of_group,vehicle array,crew array,(respawn),(respawntime)] call SAR_AI_land;
//
//
// areamarker : Name of an area, as defined in your area definitions
// type_of_group : 1 = military, 2 = survivors, 3 = bandits
// vehicle array : e.g. ["car1"], MUST be enclosed by [], and MUST be valid vehicle classnames. multiple vehicles are possible, like this: ["car1","car1","car1"]
// crew array : e.g. [[1,2,3]] -> the first entry in the array element sets if the leader travels in that vehicle, the second is the number of snipers in the vehicle, the third is the number of riflemen.
// must match to the number of defined vehicles, so for the above example, you need: [[1,2,3],[0,1,2],[0,1,1]]
//
//
// respawn : true or false (optional)
// respawntime : time in secs until group respawns (optional)
//
//
//
// Examples:
//
// A) This will spawn an AI group with 1 vehicle(UAZ), and 3 AI in it
/*
[
SAR_marker_DEBUG_veh_1, // Name of the area that the vehicle patrol will spawn in
1, // type of group
["UAZ_Unarmed_TK_EP1"], // used vehicles
[[1,1,1]], // Vehicle initial crew
false // if this group should respawn or not
] call SAR_fnc_AI_vehicle;
*/
//
// B) This will spawn an AI group with 1 vehicle, 3 AI in the UAZ, and this group will respawn after 60 seconds
/*
[
SAR_marker_DEBUG_veh_1, // Name of the area that the vehicle patrol will spawn in
1, // type of group
["UAZ_Unarmed_TK_EP1"], // used vehicle
[[1,1,1]], // Vehicle initial crews
true, // if this group should respawn or not
60 // waittime until this group will respawn
] call SAR_fnc_AI_vehicle;
*/
//
// -------------------------------------------------------------------------------------
diag_log format["Sarge AI: Static Spawning for vehicle patrols started"];
//
// define your static vehicle patrols here
//
// example war scenario in the northwest. Comment OUT after having had a look at it!
/* [
SAR_marker_DEBUG_veh, // Name of the area that the vehicle patrol will spawn in
1, // type of group
["LandRover_CZ_EP1","M1030","M1030","LandRover_CZ_EP1"], // used vehicle
[[1,1,1],[0,1,1],[0,1,1],[0,1,1]], // Vehicle initial crew
true, // if this group should respawn or not
10
] call SAR_fnc_AI_vehicle;
[
SAR_marker_DEBUG_veh, // Name of the area that the vehicle patrol will spawn in
3, // type of group
["M1030","M1030","M1030","M1030"], // used vehicle
[[1,1,0],[0,1,1],[0,1,1],[0,1,1]], // Vehicle initial crew
true, // if this group should respawn or not
60 // waittime until this group will respawn
] call SAR_fnc_AI_vehicle;
[
SAR_marker_DEBUG_veh, // Name of the area that the vehicle patrol will spawn in
2, // type of group
["M1030"], // used vehicle
[[1,1,0]], // Vehicle initial crew
true, // if this group should respawn or not
60 // waittime until this group will respawn
] call SAR_fnc_AI_vehicle; */
[
SAR_marker_helipatrol_nwaf, // Name of the area that the vehicle patrol will spawn in
3, // type of group
["CUP_C_UAZ_Unarmed_TK_CIV"], // used vehicle
[[1,1,1]], // Vehicle initial crew
true, // if this group should respawn or not
(random 300) // waittime until this group will respawn
] call SAR_fnc_AI_vehicle;
[
SAR_marker_helipatrol_nwaf, // Name of the area that the vehicle patrol will spawn in
3, // type of group
["CUP_B_Ural_CDF"], // used vehicle
[[1,2,5]], // Vehicle initial crew
true, // if this group should respawn or not
(random 300) // waittime until this group will respawn
] call SAR_fnc_AI_vehicle;
[
SAR_marker_helipatrol_nwaf, // Name of the area that the vehicle patrol will spawn in
3, // type of group
["CUP_C_UAZ_Unarmed_TK_CIV"], // used vehicle
[[1,1,2]], // Vehicle initial crew
true, // if this group should respawn or not
(random 300) // waittime until this group will respawn
] call SAR_fnc_AI_vehicle;
/* [
SAR_marker_helipatrol_nwaf, // Name of the area that the vehicle patrol will spawn in
3, // type of group
["CUP_B_Ural_CDF"], // used vehicle
[[1,2,5]], // Vehicle initial crew
true, // if this group should respawn or not
(random 300) // waittime until this group will respawn
] call SAR_fnc_AI_vehicle;
[
SAR_marker_helipatrol_nwaf, // Name of the area that the vehicle patrol will spawn in
3, // type of group
["CUP_C_UAZ_Unarmed_TK_CIV"], // used vehicle
[[1,1,2]], // Vehicle initial crew
true, // if this group should respawn or not
(random 300) // waittime until this group will respawn
] call SAR_fnc_AI_vehicle; */
diag_log format["Sarge AI: Static Spawning for vehicle patrols finished"];
// ---- end of configuration area ----

View File

@ -11,7 +11,7 @@
Changes: Dango
https://www.hod-servers.com
*/
private ["_worldname","_startx","_starty","_gridsize_x","_gridsize_y","_gridwidth","_markername","_triggername","_trig_act_stmnt","_trig_deact_stmnt","_trig_cond","_check","_script_handler","_legendname"];
private ["_worldname","_startx","_starty","_gridsize_x","_gridsize_y","_gridwidth","_markername","_triggername","_trig_act_stmnt","_trig_deact_stmnt","_trig_cond","_legendname"];
diag_log format ["Sarge's AI System: Welcome to Sarge AI!"];
diag_log format ["Sarge's AI System: Now initializing Sarge AI version %1 for %2",SAR_version,worldName];
@ -19,18 +19,19 @@ diag_log format ["Sarge's AI System: Now initializing Sarge AI version %1 for %2
call compile preProcessFileLineNumbers "\addons\sarge\UPSMON\Init_UPSMON.sqf";
call compile preProcessFileLineNumbers "\addons\sarge\code\functions\fn_functions.sqf";
// Lets hope this helps with the AI's view of object locality
/* waituntil {(!isNil "PublicServerIsLoaded")};
waituntil {(PublicServerIsLoaded)}; */
if (SAR_dynamic_spawning) then {
_worldname = toLower worldName;
if (!(_worldname in SAR_Maps)) exitWith {diag_log format ["Sarge's AI System: %1 does not currently support dynamic AI spawning! Dynamic AI spawning has been disabled!",_worldName];};
if (_worldname isEqualTo "chernarus") then {
call compile preprocessFileLineNumbers (format ["\addons\sarge\code\map_config\SAR_cfg_grid_chernarus.sqf"]);
} else {
call compile preprocessFileLineNumbers (format ["\addons\sarge\code\map_config\SAR_cfg_grid_%1.sqf",_worldname]);
};
diag_log format ["Sarge's AI System: Now generating dynamic map grid for %1.",_worldname];
call compile preprocessFileLineNumbers (format ["\addons\sarge\code\map_config\SAR_cfg_grid_%1.sqf",_worldname]);
// Create grid system and triggers
SAR_area_ = text format ["SAR_area_%1","x"];
@ -91,24 +92,34 @@ if (SAR_dynamic_spawning) then {
};
diag_log format["Sarge's AI System: The map grid has been established for %1.",worldName];
["dynamic"] call compile preprocessFileLineNumbers (format ["\addons\sarge\code\map_config\SAR_cfg_grps_%1.sqf",_worldname]);
if (_worldname isEqualTo "chernarus") then {
["dynamic"] call compile preprocessFileLineNumbers (format ["\addons\sarge\code\map_config\SAR_cfg_grps_chernarus.sqf"]);
} else {
["dynamic"] call compile preprocessFileLineNumbers (format ["\addons\sarge\code\map_config\SAR_cfg_grps_%1.sqf",_worldname]);
};
diag_log format["Sarge's AI System: Dynamic spawn definitions have been configured for %1.",worldName];
};
if (SAR_useBlacklist) then {
switch (_worldname) do {
/* switch (_worldname) do {
case "namalsk": {SAR_Blacklist = ["TraderZoneSebjan","NorthernBoatTrader","SouthernBoatTrader"];diag_log format ["Sarge's AI System: Blacklisted zones are %1",SAR_Blacklist];};
case "altis": {SAR_Blacklist = ["MafiaTraderCity","TraderZoneSilderas","TraderZoneFolia"];diag_log format ["Sarge's AI System: Blacklisted zones are %1",SAR_Blacklist];};
case "tanoa": {SAR_Blacklist = ["ExileMarker1","ExileMarker13","ExileMarker15","ExileMarker35","ExileMarker51"];diag_log format ["Sarge's AI System: Blacklisted zones are %1",SAR_Blacklist];};
default {SAR_Blacklist = [];diag_log format ["Sarge's AI System: Blacklisted zones are not currently supported for %1!",worldName];};
};
}; */
};
if (_worldname isEqualTo "chernarus") then {
["static"] call compile preprocessFileLineNumbers (format ["\addons\sarge\code\map_config\SAR_cfg_grps_chernarus.sqf"]);
} else {
["static"] call compile preprocessFileLineNumbers (format ["\addons\sarge\code\map_config\SAR_cfg_grps_%1.sqf",_worldname]);
};
["static"] call compile preprocessFileLineNumbers (format ["\addons\sarge\code\map_config\SAR_cfg_grps_%1.sqf",_worldname]);
diag_log format["Sarge's AI System: Static spawn definitions have been configured for %1.",_worldname];
if (SAR_Base_Gaurds) then {
call compile PreprocessFileLineNumbers "\addons\sarge\code\init_base_guards.sqf";
//call compile PreprocessFileLineNumbers "\addons\sarge\code\init_base_guards.sqf";
};
if (SAR_anim_heli) then {

View File

@ -17,11 +17,11 @@
- Secondary AI skills can be decimal values i.e. 0.23
- Lower time intervals for detections require more CPU resources
*/
SAR_version = "2.2.6";
SAR_version = "2.2.7";
SAR_HC = true; // If there is no HC it will spawn on server automatically
// TODO: Create dynamic map support for any map
SAR_maps = ["altis","chernarus","chernarus_summer","taviana","namalsk","lingor3","mbg_celle2","takistan","fallujah","panthera2","tanoa"];
SAR_maps = ["altis","chernarus","chernarus_summer","chernarusredux","taviana","namalsk","lingor3","mbg_celle2","takistan","fallujah","panthera2","tanoa"];
SAR_useBlacklist = false; // ! ONLY USE FOR EXILE MOD !
/* Debug Settings */
@ -285,7 +285,7 @@ SAR_band_sniper_tools = [["ItemMap",50],["ItemCompass",30]];
// Helicopter Types ----------------------------------------------------
// ---------------------------------------------------------------------
SAR_heli_type = ["B_Heli_Light_01_stripped_F"];
SAR_heli_type = ["O_Heli_Light_02_unarmed_EPOCH"];
/* -------------------------------- Do Not Edit Below. If you do the AI will not work properly. -------------------------------- */