This commit is contained in:
Teh Dango 2018-04-05 19:27:23 -04:00
parent 03854c083c
commit c6a6bc0567
12 changed files with 291 additions and 81 deletions

BIN
Sarge.pbo

Binary file not shown.

View File

@ -0,0 +1,65 @@
// Leader lodout options
SAR_band_leader_model = ["U_C_Mechanic_01_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_band_leader_uniform = [["U_I_C_Soldier_Bandit_1_F","U_I_C_Soldier_Bandit_2_F","U_I_C_Soldier_Bandit_3_F","U_I_C_Soldier_Bandit_4_F","U_I_C_Soldier_Bandit_5_F"]];
SAR_band_leader_vest = [];
SAR_band_leader_backpack = [];
SAR_band_leader_primary = ["arifle_Katiba_F","arifle_Mk20_F","arifle_MXC_F","arifle_MX_F","arifle_TRG21_F","arifle_TRG20_F"];
SAR_band_leader_pistol = [];
SAR_band_leader_items = [];
SAR_band_leader_tools = [["ItemMap",50],["ItemCompass",30],["NVGoggles",5],["ItemRadio",100]];
SAR_band_leader_skills = [
["aimingAccuracy",0.10, round(random 2)], // [skill, level, multiplier]
["aimingShake", 0.10, round(random 2)],
["aimingSpeed", 0.10, round(random 2)],
["spotDistance", 0.10, round(random 2)],
["spotTime", 0.10, round(random 2)],
["endurance", 0.10, round(random 2)],
["courage", 0.10, round(random 2)],
["reloadSpeed", 0.10, round(random 2)],
["commanding", 0.10, round(random 2)],
["general", 0.10, round(random 2)]
];
// Riflemen loadout options
SAR_band_rifleman_model = ["U_C_Mechanic_01_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_band_rifleman_uniform = [["U_I_C_Soldier_Bandit_1_F","U_I_C_Soldier_Bandit_2_F","U_I_C_Soldier_Bandit_3_F","U_I_C_Soldier_Bandit_4_F","U_I_C_Soldier_Bandit_5_F"]];
SAR_band_rifleman_vest = [];
SAR_band_rifleman_backpack = [];
SAR_band_rifleman_primary = ["arifle_Katiba_F","arifle_Mk20_F","arifle_MXC_F","arifle_MX_F","arifle_TRG21_F","arifle_TRG20_F"];
SAR_band_rifleman_pistol = [];
SAR_band_rifleman_items = [];
SAR_band_rifleman_tools = [["ItemMap",50],["ItemRadio",30]];
SAR_band_rifleman_skills = [
["aimingAccuracy",0.10, round(random 2)], // [skill, level, multiplier]
["aimingShake", 0.10, round(random 2)],
["aimingSpeed", 0.10, round(random 2)],
["spotDistance", 0.10, round(random 2)],
["spotTime", 0.10, round(random 2)],
["endurance", 0.10, round(random 2)],
["courage", 0.10, round(random 2)],
["reloadSpeed", 0.10, round(random 2)],
["commanding", 0.10, round(random 2)],
["general", 0.10, round(random 2)]
];
// Sniper loadout options
SAR_band_sniper_model = ["U_C_Mechanic_01_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_band_sniper_uniform = [["U_I_C_Soldier_Bandit_1_F","U_I_C_Soldier_Bandit_2_F","U_I_C_Soldier_Bandit_3_F","U_I_C_Soldier_Bandit_4_F","U_I_C_Soldier_Bandit_5_F"]];
SAR_band_sniper_vest = [];
SAR_band_sniper_backpack = [];
SAR_band_sniper_primary = ["srifle_DMR_02_F","arifle_MXM_F","srifle_DMR_04_F"];
SAR_band_sniper_pistol = [];
SAR_band_sniper_items = [];
SAR_band_sniper_tools = [["ItemMap",50],["ItemRadio",30]];
SAR_band_sniper_skills = [
["aimingAccuracy",0.10, round(random 2)], // [skill, level, multiplier]
["aimingShake", 0.10, round(random 2)],
["aimingSpeed", 0.10, round(random 2)],
["spotDistance", 0.10, round(random 2)],
["spotTime", 0.10, round(random 2)],
["endurance", 0.10, round(random 2)],
["courage", 0.10, round(random 2)],
["reloadSpeed", 0.10, round(random 2)],
["commanding", 0.10, round(random 2)],
["general", 0.10, round(random 2)]
];

View File

@ -0,0 +1,66 @@
// Leader lodout options
SAR_sold_leader_model = ["U_C_Mechanic_01_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_sold_leader_uniform = [["U_I_C_Soldier_Para_1_F","U_I_C_Soldier_Para_2_F","U_I_C_Soldier_Para_3_F","U_I_C_Soldier_Para_4_F"]];
SAR_sold_leader_vest = [];
SAR_sold_leader_backpack = [];
SAR_sold_leader_primary = ["arifle_Katiba_F","arifle_Mk20_F","arifle_MXC_F","arifle_MX_F","arifle_TRG21_F","arifle_TRG20_F"];
SAR_sold_leader_pistol = [];
SAR_sold_leader_items = [];
SAR_sold_leader_tools = [["ItemMap",50],["ItemCompass",30],["NVGoggles",5],["ItemRadio",100]];
SAR_sold_leader_skills = [
["aimingAccuracy",0.10, round(random 2)], // [skill, level, multiplier]
["aimingShake", 0.10, round(random 2)],
["aimingSpeed", 0.10, round(random 2)],
["spotDistance", 0.10, round(random 2)],
["spotTime", 0.10, round(random 2)],
["endurance", 0.10, round(random 2)],
["courage", 0.10, round(random 2)],
["reloadSpeed", 0.10, round(random 2)],
["commanding", 0.10, round(random 2)],
["general", 0.10, round(random 2)]
];
// Riflemen loadout options
SAR_sold_rifleman_model = ["U_C_Mechanic_01_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_sold_rifleman_uniform = [["U_I_C_Soldier_Para_1_F","U_I_C_Soldier_Para_2_F","U_I_C_Soldier_Para_3_F","U_I_C_Soldier_Para_4_F"]];
SAR_sold_rifleman_vest = [];
SAR_sold_rifleman_backpack = [];
SAR_sold_rifleman_primary = ["arifle_Katiba_F","arifle_Mk20_F","arifle_MXC_F","arifle_MX_F","arifle_TRG21_F","arifle_TRG20_F"];
SAR_sold_rifleman_pistol = [];
SAR_sold_rifleman_items = [];
SAR_sold_rifleman_tools = [["ItemMap",50],["ItemRadio",30]];
SAR_sold_rifleman_skills = [
["aimingAccuracy",0.10, round(random 2)], // [skill, level, multiplier]
["aimingShake", 0.10, round(random 2)],
["aimingSpeed", 0.10, round(random 2)],
["spotDistance", 0.10, round(random 2)],
["spotTime", 0.10, round(random 2)],
["endurance", 0.10, round(random 2)],
["courage", 0.10, round(random 2)],
["reloadSpeed", 0.10, round(random 2)],
["commanding", 0.10, round(random 2)],
["general", 0.10, round(random 2)]
];
// Sniper loadout options
SAR_sold_sniper_model = ["U_C_Mechanic_01_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_sold_sniper_uniform = [["U_O_FullGhillie_lsh","U_O_FullGhillie_sard","U_O_FullGhillie_ard","U_I_FullGhillie_lsh","U_I_FullGhillie_sard","U_I_FullGhillie_ard"]];
SAR_sold_sniper_vest = [];
SAR_sold_sniper_backpack = [];
SAR_sold_sniper_primary = ["srifle_DMR_02_F","arifle_MXM_F","srifle_DMR_04_F"];
SAR_sold_sniper_pistol = [];
SAR_sold_sniper_items = [];
SAR_sold_sniper_tools = [["ItemMap",50],["ItemRadio",30]];
SAR_sold_sniper_skills = [
["aimingAccuracy",0.10, round(random 2)], // [skill, level, multiplier]
["aimingShake", 0.10, round(random 2)],
["aimingSpeed", 0.10, round(random 2)],
["spotDistance", 0.10, round(random 2)],
["spotTime", 0.10, round(random 2)],
["endurance", 0.10, round(random 2)],
["courage", 0.10, round(random 2)],
["reloadSpeed", 0.10, round(random 2)],
["commanding", 0.10, round(random 2)],
["general", 0.10, round(random 2)]
];

View File

@ -0,0 +1,65 @@
// Leader lodout options
SAR_surv_leader_model = ["U_C_Mechanic_01_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_surv_leader_uniform = [["U_C_Mechanic_01_F","U_C_IDAP_Man_Jeans_F","U_C_Man_casual_1_F","U_C_Man_casual_2_F","U_C_Man_casual_3_F","U_C_Journalist","U_C_HunterBody_grn"]];
SAR_surv_leader_vest = [];
SAR_surv_leader_backpack = [];
SAR_surv_leader_primary = ["arifle_Katiba_F","arifle_Mk20_F","arifle_MXC_F","arifle_MX_F","arifle_TRG21_F","arifle_TRG20_F"];
SAR_surv_leader_pistol = [];
SAR_surv_leader_items = [];
SAR_surv_leader_tools = [["ItemMap",50],["ItemCompass",30],["NVGoggles",5],["ItemRadio",100]];
SAR_surv_leader_skills = [
["aimingAccuracy",0.10, round(random 2)], // [skill, level, multiplier]
["aimingShake", 0.10, round(random 2)],
["aimingSpeed", 0.10, round(random 2)],
["spotDistance", 0.10, round(random 2)],
["spotTime", 0.10, round(random 2)],
["endurance", 0.10, round(random 2)],
["courage", 0.10, round(random 2)],
["reloadSpeed", 0.10, round(random 2)],
["commanding", 0.10, round(random 2)],
["general", 0.10, round(random 2)]
];
// Riflemen loadout options
SAR_surv_rifleman_model = ["U_C_Mechanic_01_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_surv_rifleman_uniform = [["U_C_Mechanic_01_F","U_C_IDAP_Man_Jeans_F","U_C_Man_casual_1_F","U_C_Man_casual_2_F","U_C_Man_casual_3_F","U_C_Journalist","U_C_HunterBody_grn"]];
SAR_surv_rifleman_vest = [];
SAR_surv_rifleman_backpack = [];
SAR_surv_rifleman_primary = ["arifle_Katiba_F","arifle_Mk20_F","arifle_MXC_F","arifle_MX_F","arifle_TRG21_F","arifle_TRG20_F"];
SAR_surv_rifleman_pistol = [];
SAR_surv_rifleman_items = [];
SAR_surv_rifleman_tools = [["ItemMap",50],["ItemRadio",30]];
SAR_surv_rifleman_skills = [
["aimingAccuracy",0.10, round(random 2)], // [skill, level, multiplier]
["aimingShake", 0.10, round(random 2)],
["aimingSpeed", 0.10, round(random 2)],
["spotDistance", 0.10, round(random 2)],
["spotTime", 0.10, round(random 2)],
["endurance", 0.10, round(random 2)],
["courage", 0.10, round(random 2)],
["reloadSpeed", 0.10, round(random 2)],
["commanding", 0.10, round(random 2)],
["general", 0.10, round(random 2)]
];
// Sniper loadout options
SAR_surv_sniper_model = ["U_C_Mechanic_01_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_surv_sniper_uniform = [["U_C_Mechanic_01_F","U_C_IDAP_Man_Jeans_F","U_C_Man_casual_1_F","U_C_Man_casual_2_F","U_C_Man_casual_3_F","U_C_Journalist","U_C_HunterBody_grn"]];
SAR_surv_sniper_vest = [];
SAR_surv_sniper_backpack = [];
SAR_surv_sniper_primary = ["srifle_DMR_02_F","arifle_MXM_F","srifle_DMR_04_F"];
SAR_surv_sniper_pistol = [];
SAR_surv_sniper_items = [];
SAR_surv_sniper_tools = [["ItemMap",50],["ItemRadio",30]];
SAR_surv_sniper_skills = [
["aimingAccuracy",0.10, round(random 2)], // [skill, level, multiplier]
["aimingShake", 0.10, round(random 2)],
["aimingSpeed", 0.10, round(random 2)],
["spotDistance", 0.10, round(random 2)],
["spotTime", 0.10, round(random 2)],
["endurance", 0.10, round(random 2)],
["courage", 0.10, round(random 2)],
["reloadSpeed", 0.10, round(random 2)],
["commanding", 0.10, round(random 2)],
["general", 0.10, round(random 2)]
];

View File

@ -1,6 +1,6 @@
// Leader lodout options
SAR_band_leader_model = ["C_man_p_beggar_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_band_leader_uniform = [["U_I_C_Soldier_Bandit_1_F","U_I_C_Soldier_Bandit_2_F","U_I_C_Soldier_Bandit_3_F","U_I_C_Soldier_Bandit_4_F","U_I_C_Soldier_Bandit_5_F"]];
SAR_band_leader_model = ["O_Survivor_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_band_leader_uniform = [["U_O_T_Officer_F","U_O_OfficerUniform_ocamo","U_OG_leader"]];
SAR_band_leader_vest = [];
SAR_band_leader_backpack = [];
SAR_band_leader_primary = ["arifle_Katiba_F","arifle_Mk20_F","arifle_MXC_F","arifle_MX_F","arifle_TRG21_F","arifle_TRG20_F"];
@ -21,8 +21,8 @@ SAR_band_leader_skills = [
];
// Riflemen loadout options
SAR_band_rifleman_model = ["C_man_p_beggar_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_band_rifleman_uniform = [["U_I_C_Soldier_Bandit_1_F","U_I_C_Soldier_Bandit_2_F","U_I_C_Soldier_Bandit_3_F","U_I_C_Soldier_Bandit_4_F","U_I_C_Soldier_Bandit_5_F"]];
SAR_band_rifleman_model = ["O_Survivor_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_band_rifleman_uniform = [["U_O_T_Officer_F","U_O_OfficerUniform_ocamo","U_OG_leader"]];
SAR_band_rifleman_vest = [];
SAR_band_rifleman_backpack = [];
SAR_band_rifleman_primary = ["arifle_Katiba_F","arifle_Mk20_F","arifle_MXC_F","arifle_MX_F","arifle_TRG21_F","arifle_TRG20_F"];
@ -43,8 +43,8 @@ SAR_band_rifleman_skills = [
];
// Sniper loadout options
SAR_band_sniper_model = ["C_man_p_beggar_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_band_sniper_uniform = [["U_I_C_Soldier_Bandit_1_F","U_I_C_Soldier_Bandit_2_F","U_I_C_Soldier_Bandit_3_F","U_I_C_Soldier_Bandit_4_F","U_I_C_Soldier_Bandit_5_F"]];
SAR_band_sniper_model = ["O_Survivor_F"]; // DO NOT CHANGE THIS ARRAY!
SAR_band_sniper_uniform = [["U_O_T_Officer_F","U_O_OfficerUniform_ocamo","U_OG_leader"]];
SAR_band_sniper_vest = [];
SAR_band_sniper_backpack = [];
SAR_band_sniper_primary = ["srifle_DMR_02_F","arifle_MXM_F","srifle_DMR_04_F"];

View File

@ -0,0 +1 @@
SAR_air_type = ["O_Heli_Light_02"];

View File

@ -0,0 +1 @@
SAR_land_type = [];

View File

@ -0,0 +1 @@
SAR_sea_type = [];

0
Sarge/code/temp.sqf Normal file
View File

View File

@ -1,5 +1,8 @@
#### 2.5.0 (Rolling)
- [New] Sarge AI now supports the Breaking Point mod for Arma 3.
#### 2.4.5
- [Fix] Changed bandit unit model to Opfor unit to fix issue causing bandits not to be hostile.
#### 2.4.4
- [New] Added support for the BreakingPoint mod.
#### 2.4.3
- [Fix] Fixed a bug that prevented Epoch players from entering vehicles.

View File

@ -10,14 +10,93 @@
Modded for Arma 3: Epoch Mod
Changes: Dango
https://www.hod-servers.com
Tips:
- All time formats are configured in seconds
- All distance formats are in meters
- Secondary AI skills can be decimal values i.e. 0.23
- Lower time intervals for detections require more CPU resources
*/
private ["_SAR_supportedMaps","_config","_modConfigs","_modPatches","_modName","_worldname","_startx","_starty","_gridsize_x","_gridsize_y","_gridwidth","_markername","_triggername","_trig_act_stmnt","_trig_deact_stmnt","_trig_cond","_legendname"];
_SAR_version = "2.4.3";
scopeName "Main";
_SAR_version = "2.4.5";
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];
// Initialize the Main Config
call compile preProcessFileLineNumbers "\addons\sarge\code\configs\main.sqf";
_SAR_supportedMods = ["dsr_code","epoch","exile","breakingpoint"];
_modName = "";
{
_modConfigs = toLower (isClass (configFile >> "CfgMods" >> _x));
if (_modConfigs) then {
_modName = _x;
};
_modPatches = isClass (configFile >> "CfgPatches" >> _x);
if (_modPatches) then {
_modName = _x;
};
if (_modName == "dsr_code") then {_modName = "desolation"};
} forEach _SAR_supportedMods;
SAR_AI_friendly_side = "";
SAR_AI_unfriendly_side = "";
switch (_modName) do {
case "desolation": {
SAR_AI_friendly_side = INDEPENDENT;
SAR_AI_unfriendly_side = EAST;
EAST setFriend [CIVILIAN, 0];
};
case "exile": {
SAR_AI_friendly_side = INDEPENDENT;
AR_AI_unfriendly_side = WEST;
WEST setFriend [INDEPENDENT, 0];
};
case "epoch": {
SAR_AI_friendly_side = WEST;
SAR_AI_unfriendly_side = RESISTANCE;
RESISTANCE setFriend [WEST, 0];
};
case "breakingpoint": {
SAR_AI_friendly_side = WEST;
SAR_AI_unfriendly_side = EAST;
};
default {
diag_log "Sarge AI System: ERROR! The mod you are loading Sarge AI for is not supported!";
breakOut "Main";
};
};
SAR_AI_monitor = [];
SAR_leader_number = 0;
// Initialize Vehicles arrays
call compile preProcessFileLineNumbers (format ["\addons\sarge\code\configs\vehicles\%1\%1_air.sqf",_modName]);
call compile preProcessFileLineNumbers (format ["\addons\sarge\code\configs\vehicles\%1\%1_land.sqf",_modName]);
call compile preProcessFileLineNumbers (format ["\addons\sarge\code\configs\vehicles\%1\%1_sea.sqf",_modName]);
// Initialize the AI loadout arrays
call compile preProcessFileLineNumbers (format ["\addons\sarge\code\configs\loadouts\%1\%1_bandits.sqf",_modName]);
call compile preProcessFileLineNumbers (format ["\addons\sarge\code\configs\loadouts\%1\%1_soldiers.sqf",_modName]);
call compile preProcessFileLineNumbers (format ["\addons\sarge\code\configs\loadouts\%1\%1_survivors.sqf",_modName]);
// Initialize the AI functions
call compile preProcessFileLineNumbers "\addons\sarge\code\functions\fn_functions.sqf";
_SAR_supportedMaps = ["altis","chernarus","chernarus_summer","chernarusredux","taviana","namalsk","lingor3","mbg_celle2","takistan","fallujah","panthera2","tanoa"];
// Begin Dynamic Spawn Setup

View File

@ -10,78 +10,7 @@
Modded for Arma 3: Epoch Mod
Changes: Dango
https://www.hod-servers.com
Tips:
- All time formats are configured in seconds
- All distance formats are in meters
- Secondary AI skills can be decimal values i.e. 0.23
- Lower time intervals for detections require more CPU resources
*/
scopeName "Main";
// Initialize the Main Config
call compile preProcessFileLineNumbers "\addons\sarge\code\configs\main.sqf";
_SAR_supportedMods = ["dsr_code","epoch","exile"];
_modName = "";
{
_modConfigs = isClass (configFile >> "CfgMods" >> _x);
if (_modConfigs) then {
_modName = _x;
};
_modPatches = isClass (configFile >> "CfgPatches" >> _x);
if (_modPatches) then {
_modName = _x;
};
if (_modName == "dsr_code") then {_modName = "desolation"};
} forEach _SAR_supportedMods;
SAR_AI_friendly_side = "";
SAR_AI_unfriendly_side = "";
switch (_modName) do {
case "desolation": {
SAR_AI_friendly_side = INDEPENDENT;
SAR_AI_unfriendly_side = EAST;
EAST setFriend [CIVILIAN, 0];
};
case "exile": {
SAR_AI_friendly_side = INDEPENDENT;
AR_AI_unfriendly_side = WEST;
WEST setFriend [INDEPENDENT, 0];
};
case "epoch": {
SAR_AI_friendly_side = WEST;
SAR_AI_unfriendly_side = RESISTANCE;
RESISTANCE setFriend [WEST, 0];
};
default {
diag_log "Sarge AI System: ERROR! The mod you are loading Sarge AI for is not supported!";
breakOut "Main";
};
};
SAR_AI_monitor = [];
SAR_leader_number = 0;
// Initialize Vehicles arrays
call compile preProcessFileLineNumbers (format ["\addons\sarge\code\configs\vehicles\%1\%1_air.sqf",_modName]);
call compile preProcessFileLineNumbers (format ["\addons\sarge\code\configs\vehicles\%1\%1_land.sqf",_modName]);
call compile preProcessFileLineNumbers (format ["\addons\sarge\code\configs\vehicles\%1\%1_sea.sqf",_modName]);
// Initialize the AI loadout arrays
call compile preProcessFileLineNumbers (format ["\addons\sarge\code\configs\loadouts\%1\%1_bandits.sqf",_modName]);
call compile preProcessFileLineNumbers (format ["\addons\sarge\code\configs\loadouts\%1\%1_soldiers.sqf",_modName]);
call compile preProcessFileLineNumbers (format ["\addons\sarge\code\configs\loadouts\%1\%1_survivors.sqf",_modName]);
// Initialize the AI functions
call compile preProcessFileLineNumbers "\addons\sarge\code\functions\fn_functions.sqf";
true;