From 3259329fb4b9d49efd01be8c2c6d9aa8acf4bb62 Mon Sep 17 00:00:00 2001 From: AndreasBrostrom Date: Thu, 2 Nov 2023 17:05:56 +0100 Subject: [PATCH 01/12] Added function to ban ai dismount for crew --- cScripts/CfgFunctions.hpp | 3 +- cScripts/cScripts_preInit.sqf | 14 +- cScripts/functions/init/fn_init_aI.sqf | 121 ++++++++++++++++++ .../init/fn_init_skillAdjustment.sqf | 102 --------------- 4 files changed, 134 insertions(+), 106 deletions(-) create mode 100644 cScripts/functions/init/fn_init_aI.sqf delete mode 100644 cScripts/functions/init/fn_init_skillAdjustment.sqf diff --git a/cScripts/CfgFunctions.hpp b/cScripts/CfgFunctions.hpp index 31b499ef4..836b1cac2 100644 --- a/cScripts/CfgFunctions.hpp +++ b/cScripts/CfgFunctions.hpp @@ -5,7 +5,8 @@ class cScripts { class init_aceTagging {}; class init_aceItemReplace {}; - class init_skillAdjustment {}; + class init_ai {}; + class init_vehicle {}; class init_staging {}; diff --git a/cScripts/cScripts_preInit.sqf b/cScripts/cScripts_preInit.sqf index bf790f972..3517ba28e 100644 --- a/cScripts/cScripts_preInit.sqf +++ b/cScripts/cScripts_preInit.sqf @@ -47,6 +47,16 @@ private _cScriptSettings = "cScripts Mission Settings"; {}, true ] call CBA_fnc_addSetting; +[ // Ai dismount + QEGVAR(Settings,setAiBanDismountOfCrew), + "LIST", + ["Allow", "This allow or disallow ai crew to dismount vehicles."], + [_cScriptSettings, "1; Mission"], + true, + true, + {}, + true +] call CBA_fnc_addSetting; //2; Radios @@ -370,9 +380,7 @@ call EFUNC(init,chatCommands); call EFUNC(init,zenModuels); -if (EGVAR(Settings,setAiSystemDifficulty) >= 1 ) then { - call EFUNC(init,skillAdjustment); -}; +call EFUNC(init,ai); call EFUNC(init,eventHandlers); diff --git a/cScripts/functions/init/fn_init_aI.sqf b/cScripts/functions/init/fn_init_aI.sqf new file mode 100644 index 000000000..25c43a2f6 --- /dev/null +++ b/cScripts/functions/init/fn_init_aI.sqf @@ -0,0 +1,121 @@ +#include "..\script_component.hpp"; +/* + * Author: CPL.Brostrom.A + * This function changes AI behaviours + * + * Example: + * call cScripts_fnc_init_ai + * + * Public: No + */ + +INFO("init", "Applying AI Event Handler to units and vehicles..."); + +if (EGVAR(Settings,setAiBanDismountOfCrew)) then { + ["AllVehicles", "init", { + params ["_vehicle"]; + if (local _vehicle) then { + _vehicle setUnloadInCombat [true, false]; + }; + }, true, ["man"], true] call CBA_fnc_addClassEventHandler; + + ["AllVehicles", "initPost", { + params ["_vehicle"]; + if (local _vehicle) then { + _vehicle setUnloadInCombat [true, false]; + }; + }, true, ["man"], true] call CBA_fnc_addClassEventHandler; +}; + + +if (!isServer) exitWith {}; + +if (EGVAR(Settings,setAiSystemDifficulty) >= 1 ) then { + ["CAManBase", "init", { + params ["_unit"]; + + if !(isPlayer _unit) then { + if (EGVAR(Settings,setAiSystemDifficulty) == 1) then { + _unit setSkill ["aimingspeed", 0.420]; + _unit setSkill ["aimingaccuracy", 1.000]; + _unit setSkill ["aimingshake", 0.360]; + _unit setSkill ["spottime", 1.000]; + _unit setSkill ["spotdistance", 1.000]; + _unit setSkill ["commanding", 1.0]; + _unit setSkill ["general", 1.0]; + }; + if (EGVAR(Settings,setAiSystemDifficulty) == 2) then { + if (getLighting select 1 <= 5) then { + if (hmd _unit != "") then { + _unit setSkill ["spottime", 0.015]; + _unit setSkill ["spotdistance", 0.015]; + } else { + _unit setSkill ["spottime", 0.520]; + _unit setSkill ["spotdistance", 0.520]; + }; + } else { + _unit setSkill ["spottime", 1.000]; + _unit setSkill ["spotdistance", 1.000]; + }; + + switch (faction _unit) do { + case "rhs_faction_msv"; + case "rhs_faction_rva"; + case "rhs_faction_tv"; + case "rhs_faction_vdv_45"; + case "rhs_faction_vdv"; + case "rhs_faction_vmf"; + case "rhs_faction_vpvo"; + case "rhs_faction_vv"; + case "rhs_faction_vvs_c"; + case "rhs_faction_vvs": { + _unit setSkill ["general", 1.000]; + _unit setSkill ["commanding", 0.950]; + _unit setSkill ["courage", 1.000]; + _unit setSkill ["aimingspeed", 0.720]; + _unit setSkill ["aimingaccuracy", 0.920]; + _unit setSkill ["aimingshake", 0.260]; + _unit setSkill ["reloadSpeed", 1.000]; + }; + default { + _unit setSkill ["general", 0.900]; // Bad <=> Good + _unit setSkill ["commanding", 0.750]; // Bad <=> Good + _unit setSkill ["courage", 0.750]; // Bad <=> Good + _unit setSkill ["aimingspeed", 0.620]; // Bad <=> Good + _unit setSkill ["aimingaccuracy", 0.830]; // Bad <=> Good + _unit setSkill ["aimingshake", 0.360]; // Good <=> Bad + _unit setSkill ["reloadSpeed", 0.750]; // Bad <=> Good + }; + }; + + // Role adjusted + if (getText (configfile >> "CfgVehicles" >> typeOf _unit >> "textSingular") == "machinegunner") then { + _unit setSkill ["aimingspeed", 0.820]; + _unit setSkill ["aimingaccuracy", 0.820]; + _unit setSkill ["aimingshake", 0.350]; + _unit setSkill ["reloadSpeed", 0.800]; + }; + if (getText (configfile >> "CfgVehicles" >> typeOf _unit >> "textSingular") == "sniper") then { + _unit setSkill ["aimingspeed", 0.600]; + _unit setSkill ["aimingaccuracy", 0.950]; + _unit setSkill ["aimingshake", 0.100]; + _unit setSkill ["reloadSpeed", 0.800]; + }; + + // For logging + private _skillArray = [ + ["general", _unit skill "general"], + ["commanding", _unit skill "commanding"], + ["courage", _unit skill "courage"], + ["aimingspeed", _unit skill "aimingspeed"], + ["aimingaccuracy", _unit skill "aimingaccuracy"], + ["aimingshake", _unit skill "aimingshake"], + ["reloadSpeed", _unit skill "reloadSpeed"], + ["spottime", _unit skill "spottime"], + ["spotdistance", _unit skill "spotdistance"] + ]; + INFO_3("init","AI unit %1 (%2) have skill levels %3.", _unit, typeOf _unit, _skillArray); + }; + }; + }, true, [], true] call CBA_fnc_addClassEventHandler; +}; diff --git a/cScripts/functions/init/fn_init_skillAdjustment.sqf b/cScripts/functions/init/fn_init_skillAdjustment.sqf deleted file mode 100644 index 5cbe02ecd..000000000 --- a/cScripts/functions/init/fn_init_skillAdjustment.sqf +++ /dev/null @@ -1,102 +0,0 @@ -#include "..\script_component.hpp"; -/* - * Author: CPL.Brostrom.A - * This function changes AI skill values - * - * Example: - * call cScripts_fnc_init_skillAdjustment - * - * Public: No - */ - -INFO("init", "Applying AI Event Handler to units..."); - -if (!isServer) exitWith {}; - -["CAManBase", "init", { - params ["_unit"]; - - if !(isPlayer _unit) then { - if (EGVAR(Settings,setAiSystemDifficulty) == 1) then { - _unit setSkill ["aimingspeed", 0.420]; - _unit setSkill ["aimingaccuracy", 1.000]; - _unit setSkill ["aimingshake", 0.360]; - _unit setSkill ["spottime", 1.000]; - _unit setSkill ["spotdistance", 1.000]; - _unit setSkill ["commanding", 1.0]; - _unit setSkill ["general", 1.0]; - }; - if (EGVAR(Settings,setAiSystemDifficulty) == 2) then { - if (getLighting select 1 <= 5) then { - if (hmd _unit != "") then { - _unit setSkill ["spottime", 0.015]; - _unit setSkill ["spotdistance", 0.015]; - } else { - _unit setSkill ["spottime", 0.520]; - _unit setSkill ["spotdistance", 0.520]; - }; - } else { - _unit setSkill ["spottime", 1.000]; - _unit setSkill ["spotdistance", 1.000]; - }; - - switch (faction _unit) do { - case "rhs_faction_msv"; - case "rhs_faction_rva"; - case "rhs_faction_tv"; - case "rhs_faction_vdv_45"; - case "rhs_faction_vdv"; - case "rhs_faction_vmf"; - case "rhs_faction_vpvo"; - case "rhs_faction_vv"; - case "rhs_faction_vvs_c"; - case "rhs_faction_vvs": { - _unit setSkill ["general", 1.000]; - _unit setSkill ["commanding", 0.950]; - _unit setSkill ["courage", 1.000]; - _unit setSkill ["aimingspeed", 0.720]; - _unit setSkill ["aimingaccuracy", 0.920]; - _unit setSkill ["aimingshake", 0.260]; - _unit setSkill ["reloadSpeed", 1.000]; - }; - default { - _unit setSkill ["general", 0.900]; // Bad <=> Good - _unit setSkill ["commanding", 0.750]; // Bad <=> Good - _unit setSkill ["courage", 0.750]; // Bad <=> Good - _unit setSkill ["aimingspeed", 0.620]; // Bad <=> Good - _unit setSkill ["aimingaccuracy", 0.830]; // Bad <=> Good - _unit setSkill ["aimingshake", 0.360]; // Good <=> Bad - _unit setSkill ["reloadSpeed", 0.750]; // Bad <=> Good - }; - }; - - // Role adjusted - if (getText (configfile >> "CfgVehicles" >> typeOf _unit >> "textSingular") == "machinegunner") then { - _unit setSkill ["aimingspeed", 0.820]; - _unit setSkill ["aimingaccuracy", 0.820]; - _unit setSkill ["aimingshake", 0.350]; - _unit setSkill ["reloadSpeed", 0.800]; - }; - if (getText (configfile >> "CfgVehicles" >> typeOf _unit >> "textSingular") == "sniper") then { - _unit setSkill ["aimingspeed", 0.600]; - _unit setSkill ["aimingaccuracy", 0.950]; - _unit setSkill ["aimingshake", 0.100]; - _unit setSkill ["reloadSpeed", 0.800]; - }; - - // For logging - private _skillArray = [ - ["general", _unit skill "general"], - ["commanding", _unit skill "commanding"], - ["courage", _unit skill "courage"], - ["aimingspeed", _unit skill "aimingspeed"], - ["aimingaccuracy", _unit skill "aimingaccuracy"], - ["aimingshake", _unit skill "aimingshake"], - ["reloadSpeed", _unit skill "reloadSpeed"], - ["spottime", _unit skill "spottime"], - ["spotdistance", _unit skill "spotdistance"] - ]; - INFO_3("init","AI unit %1 (%2) have skill levels %3.", _unit, typeOf _unit, _skillArray); - }; - }; -}, true, [], true] call CBA_fnc_addClassEventHandler; From fbe59699a60e46fb512bd921fb221a60627756d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brostr=C3=B6m=2EA=20=7C=20Evul?= Date: Sat, 4 Nov 2023 11:40:52 +0100 Subject: [PATCH 02/12] Update fn_init_aI.sqf --- cScripts/functions/init/fn_init_aI.sqf | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/cScripts/functions/init/fn_init_aI.sqf b/cScripts/functions/init/fn_init_aI.sqf index 25c43a2f6..23920aa11 100644 --- a/cScripts/functions/init/fn_init_aI.sqf +++ b/cScripts/functions/init/fn_init_aI.sqf @@ -11,6 +11,7 @@ INFO("init", "Applying AI Event Handler to units and vehicles..."); +// AI Behavior if (EGVAR(Settings,setAiBanDismountOfCrew)) then { ["AllVehicles", "init", { params ["_vehicle"]; @@ -27,9 +28,7 @@ if (EGVAR(Settings,setAiBanDismountOfCrew)) then { }, true, ["man"], true] call CBA_fnc_addClassEventHandler; }; - -if (!isServer) exitWith {}; - +// AI Skills if (EGVAR(Settings,setAiSystemDifficulty) >= 1 ) then { ["CAManBase", "init", { params ["_unit"]; From 15752e7fac3dd7167e85f1002af389cea4031ba6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brostr=C3=B6m=2EA=20=7C=20Evul?= Date: Sat, 4 Nov 2023 11:57:45 +0100 Subject: [PATCH 03/12] Update fn_init_aI.sqf --- cScripts/functions/init/fn_init_aI.sqf | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/cScripts/functions/init/fn_init_aI.sqf b/cScripts/functions/init/fn_init_aI.sqf index 23920aa11..a92c2bc52 100644 --- a/cScripts/functions/init/fn_init_aI.sqf +++ b/cScripts/functions/init/fn_init_aI.sqf @@ -17,13 +17,7 @@ if (EGVAR(Settings,setAiBanDismountOfCrew)) then { params ["_vehicle"]; if (local _vehicle) then { _vehicle setUnloadInCombat [true, false]; - }; - }, true, ["man"], true] call CBA_fnc_addClassEventHandler; - - ["AllVehicles", "initPost", { - params ["_vehicle"]; - if (local _vehicle) then { - _vehicle setUnloadInCombat [true, false]; + _vehicle allowCrewInImmobile [true, true]; }; }, true, ["man"], true] call CBA_fnc_addClassEventHandler; }; From c9d7dce97eff979083d01f187d981da946e75e55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brostr=C3=B6m=2EA=20=7C=20Evul?= Date: Sat, 4 Nov 2023 15:50:34 +0100 Subject: [PATCH 04/12] Update fn_init_aI.sqf --- cScripts/functions/init/fn_init_aI.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cScripts/functions/init/fn_init_aI.sqf b/cScripts/functions/init/fn_init_aI.sqf index a92c2bc52..31f01edc8 100644 --- a/cScripts/functions/init/fn_init_aI.sqf +++ b/cScripts/functions/init/fn_init_aI.sqf @@ -17,7 +17,7 @@ if (EGVAR(Settings,setAiBanDismountOfCrew)) then { params ["_vehicle"]; if (local _vehicle) then { _vehicle setUnloadInCombat [true, false]; - _vehicle allowCrewInImmobile [true, true]; + _vehicle allowCrewInImmobile [true, false]; }; }, true, ["man"], true] call CBA_fnc_addClassEventHandler; }; From a3d0fc882026b5aa11a34a625a50333b29100e49 Mon Sep 17 00:00:00 2001 From: AndreasBrostrom Date: Sat, 4 Nov 2023 15:58:50 +0100 Subject: [PATCH 05/12] Fixed some logging and as well as handling --- cScripts/functions/init/fn_init_aI.sqf | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/cScripts/functions/init/fn_init_aI.sqf b/cScripts/functions/init/fn_init_aI.sqf index 31f01edc8..00536173f 100644 --- a/cScripts/functions/init/fn_init_aI.sqf +++ b/cScripts/functions/init/fn_init_aI.sqf @@ -11,6 +11,8 @@ INFO("init", "Applying AI Event Handler to units and vehicles..."); +if (!isServer) {}; + // AI Behavior if (EGVAR(Settings,setAiBanDismountOfCrew)) then { ["AllVehicles", "init", { @@ -97,17 +99,17 @@ if (EGVAR(Settings,setAiSystemDifficulty) >= 1 ) then { // For logging private _skillArray = [ - ["general", _unit skill "general"], - ["commanding", _unit skill "commanding"], - ["courage", _unit skill "courage"], - ["aimingspeed", _unit skill "aimingspeed"], - ["aimingaccuracy", _unit skill "aimingaccuracy"], - ["aimingshake", _unit skill "aimingshake"], - ["reloadSpeed", _unit skill "reloadSpeed"], - ["spottime", _unit skill "spottime"], - ["spotdistance", _unit skill "spotdistance"] + ["general", _unit skill "general", _unit skillFinal "general"], + ["commanding", _unit skill "commanding", _unit skillFinal "commanding"], + ["courage", _unit skill "courage", _unit skillFinal "courage"], + ["aimingspeed", _unit skill "aimingspeed", _unit skillFinal "aimingspeed"], + ["aimingaccuracy", _unit skill "aimingaccuracy", _unit skillFinal "aimingaccuracy"], + ["aimingshake", _unit skill "aimingshake", _unit skillFinal "aimingshake"], + ["reloadSpeed", _unit skill "reloadSpeed", _unit skillFinal "reloadSpeed"], + ["spottime", _unit skill "spottime", _unit skill "spottime"], + ["spotdistance", _unit skill "spotdistance", _unit skillFinal "spotdistance"] ]; - INFO_3("init","AI unit %1 (%2) have skill levels %3.", _unit, typeOf _unit, _skillArray); + INFO_3("AI","Unit %1 (%2) have skill levels %3.", _unit, typeOf _unit, _skillArray); }; }; }, true, [], true] call CBA_fnc_addClassEventHandler; From d35f0e98c4715a0ee314d31e6d52415e3c0191ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brostr=C3=B6m=2EA=20=7C=20Evul?= Date: Sat, 4 Nov 2023 16:00:52 +0100 Subject: [PATCH 06/12] Rename fn_init_aI.sqf to fn_init_ai.sqf --- cScripts/functions/init/{fn_init_aI.sqf => fn_init_ai.sqf} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename cScripts/functions/init/{fn_init_aI.sqf => fn_init_ai.sqf} (100%) diff --git a/cScripts/functions/init/fn_init_aI.sqf b/cScripts/functions/init/fn_init_ai.sqf similarity index 100% rename from cScripts/functions/init/fn_init_aI.sqf rename to cScripts/functions/init/fn_init_ai.sqf From 7c1dd7685e1d567c9bbf70c44af7660989ac26d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brostr=C3=B6m=2EA=20=7C=20Evul?= Date: Sat, 4 Nov 2023 16:01:29 +0100 Subject: [PATCH 07/12] Update fn_init_ai.sqf --- cScripts/functions/init/fn_init_ai.sqf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cScripts/functions/init/fn_init_ai.sqf b/cScripts/functions/init/fn_init_ai.sqf index 00536173f..6a1da1610 100644 --- a/cScripts/functions/init/fn_init_ai.sqf +++ b/cScripts/functions/init/fn_init_ai.sqf @@ -9,9 +9,8 @@ * Public: No */ -INFO("init", "Applying AI Event Handler to units and vehicles..."); - if (!isServer) {}; +INFO("init", "Applying AI Event Handler to units and vehicles..."); // AI Behavior if (EGVAR(Settings,setAiBanDismountOfCrew)) then { From 20690724ae83da3dc48a5f7b63a8d81c2bb4b861 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brostr=C3=B6m=2EA=20=7C=20Evul?= Date: Sat, 4 Nov 2023 16:01:42 +0100 Subject: [PATCH 08/12] Update fn_init_ai.sqf --- cScripts/functions/init/fn_init_ai.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cScripts/functions/init/fn_init_ai.sqf b/cScripts/functions/init/fn_init_ai.sqf index 6a1da1610..79d8a0cb1 100644 --- a/cScripts/functions/init/fn_init_ai.sqf +++ b/cScripts/functions/init/fn_init_ai.sqf @@ -9,7 +9,7 @@ * Public: No */ -if (!isServer) {}; +if (!isServer) exitWith {}; INFO("init", "Applying AI Event Handler to units and vehicles..."); // AI Behavior From 2924bd6823b585673601e431ae7d8cfbe10c5e44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brostr=C3=B6m=2EA=20=7C=20Evul?= Date: Mon, 6 Nov 2023 20:27:35 +0100 Subject: [PATCH 09/12] Update cScripts_preInit.sqf --- cScripts/cScripts_preInit.sqf | 1 + 1 file changed, 1 insertion(+) diff --git a/cScripts/cScripts_preInit.sqf b/cScripts/cScripts_preInit.sqf index 4b1d0eb36..28c50d4a7 100644 --- a/cScripts/cScripts_preInit.sqf +++ b/cScripts/cScripts_preInit.sqf @@ -37,6 +37,7 @@ private _cScriptSettings = "cScripts Mission Settings"; {}, true ] call CBA_fnc_addSetting; + [ // Ai setting QEGVAR(Settings,setAiSystemDifficulty), "LIST", From 690afa1ad6c27fef4b73090a26e56b2f5d5d4dcb Mon Sep 17 00:00:00 2001 From: AndreasBrostrom Date: Mon, 27 Nov 2023 13:55:21 +0100 Subject: [PATCH 10/12] Updated AI functions with experimental setting --- cScripts/cScripts_preInit.sqf | 13 ++++++------- cScripts/functions/init/fn_init_ai.sqf | 11 +++++------ 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/cScripts/cScripts_preInit.sqf b/cScripts/cScripts_preInit.sqf index 28c50d4a7..b174af580 100644 --- a/cScripts/cScripts_preInit.sqf +++ b/cScripts/cScripts_preInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp"; /* - * Author: CPL.Brostrom.A + * Author: SGT.Brostrom.A * This is the rules set for the mission using the cba XEH. Each setting here is alterd via cbaSettings */ @@ -37,21 +37,20 @@ private _cScriptSettings = "cScripts Mission Settings"; {}, true ] call CBA_fnc_addSetting; - -[ // Ai setting +[ // AI setting QEGVAR(Settings,setAiSystemDifficulty), "LIST", - ["AI Setting", "This adjustes the ai and make them less godlike and more arcade to play against."], + ["AI Setting", "This adjusts the ai and make them less godlike and more arcade to play against."], [_cScriptSettings, "1; Mission"], [[0,1,2], ["Arma Default", "Adjusted", "Faction Based"], 2], true, {}, true ] call CBA_fnc_addSetting; -[ // Ai dismount +[ // AI dismount QEGVAR(Settings,setAiBanDismountOfCrew), "LIST", - ["Allow", "This allow or disallow ai crew to dismount vehicles."], + ["(Experimental) Allow AI dismount", "This allow or disallow ai crew to dismount vehicles."], [_cScriptSettings, "1; Mission"], true, true, @@ -60,7 +59,7 @@ private _cScriptSettings = "cScripts Mission Settings"; ] call CBA_fnc_addSetting; -//2; Radios +// 2; Radios [ // Enable QEGVAR(Settings,enableRadios), "CHECKBOX", diff --git a/cScripts/functions/init/fn_init_ai.sqf b/cScripts/functions/init/fn_init_ai.sqf index 79d8a0cb1..17b31424f 100644 --- a/cScripts/functions/init/fn_init_ai.sqf +++ b/cScripts/functions/init/fn_init_ai.sqf @@ -1,6 +1,6 @@ #include "..\script_component.hpp"; /* - * Author: CPL.Brostrom.A + * Author: SGT.Brostrom.A * This function changes AI behaviours * * Example: @@ -10,16 +10,15 @@ */ if (!isServer) exitWith {}; -INFO("init", "Applying AI Event Handler to units and vehicles..."); +INFO("AI", "Applying AI Custom AI..."); // AI Behavior if (EGVAR(Settings,setAiBanDismountOfCrew)) then { + SHOW_WARNING("AI Experimental", "Vehicle AI dismount ban system applied to all vehicles."); ["AllVehicles", "init", { params ["_vehicle"]; - if (local _vehicle) then { - _vehicle setUnloadInCombat [true, false]; - _vehicle allowCrewInImmobile [true, false]; - }; + _vehicle setUnloadInCombat [true, false]; + _vehicle allowCrewInImmobile [true, false]; }, true, ["man"], true] call CBA_fnc_addClassEventHandler; }; From 0c6dcbf5f51d896cb892adcf920497e868fa20c5 Mon Sep 17 00:00:00 2001 From: AndreasBrostrom Date: Mon, 27 Nov 2023 13:59:21 +0100 Subject: [PATCH 11/12] Default disabled --- cScripts/cScripts_preInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cScripts/cScripts_preInit.sqf b/cScripts/cScripts_preInit.sqf index b174af580..6f7c41297 100644 --- a/cScripts/cScripts_preInit.sqf +++ b/cScripts/cScripts_preInit.sqf @@ -52,7 +52,7 @@ private _cScriptSettings = "cScripts Mission Settings"; "LIST", ["(Experimental) Allow AI dismount", "This allow or disallow ai crew to dismount vehicles."], [_cScriptSettings, "1; Mission"], - true, + false, true, {}, true From 3860caf5ec5d4f4672a765daaeabd4baf69ea616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brostr=C3=B6m=2EA=20=7C=20Evul?= Date: Thu, 30 Nov 2023 14:41:06 +0100 Subject: [PATCH 12/12] Allow turned over but not wheal dismount --- cScripts/functions/init/fn_init_ai.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cScripts/functions/init/fn_init_ai.sqf b/cScripts/functions/init/fn_init_ai.sqf index 17b31424f..7faeed84a 100644 --- a/cScripts/functions/init/fn_init_ai.sqf +++ b/cScripts/functions/init/fn_init_ai.sqf @@ -18,7 +18,7 @@ if (EGVAR(Settings,setAiBanDismountOfCrew)) then { ["AllVehicles", "init", { params ["_vehicle"]; _vehicle setUnloadInCombat [true, false]; - _vehicle allowCrewInImmobile [true, false]; + _vehicle allowCrewInImmobile [false, true]; }, true, ["man"], true] call CBA_fnc_addClassEventHandler; };