Skip to content

EngineerWAK/WMS_InfantryProgram

Repository files navigation

WMS_InfantryProgram

v2.855_2023JUL26_GitHub
Introducing "Static Missions" with "dynamic" NPC artillery (at least for Cam_Lao_Nam but can work for any map)
Build all your static missions in the mission editor on the map you want tp play them, export to sqf, put this sqf in \InfantryProgram\Scripts\ and call it from WMS_customMapsSettings.
One file for all the missions on the map. I use 4 different flags (hidden) to get the position and push the positions in 4 different arrays.
WMS_fnc_AMS_Mission_Static_A to manage the missions spawn from the 4 positions arrays
WMS_fnc_Mission_Static_DoFire to force artillery to fire on random named positions
WMS_AMS_ArtyDoFire = ["vn_o_pl_static_d44_01","vn_b_aus_army_static_m101_02","vn_o_kr_static_h12"];
WMS_AMS_MissionList [
...
//STATICS
["VC Arty",5],
["VC Patrol",5],
...
];
WMS_AMS_StaticPos_1 = []; //VC //patrol //pushback from AMS_StaticMissionsOBJ_Cam_Lao_Nam.sqf
WMS_AMS_StaticPos_2 = []; //PATHET //patrol, garrison positions //pushback from AMS_StaticMissionsOBJ_Cam_Lao_Nam.sqf
WMS_AMS_StaticPos_3 = []; //PAVN //patrol, garrison positions //ARTY 1 //pushback from AMS_StaticMissionsOBJ_Cam_Lao_Nam.sqf
WMS_AMS_StaticPos_4 = []; //KHMER //patrol, garrison positions //ARTY 2 //pushback from AMS_StaticMissionsOBJ_Cam_Lao_Nam.sqf
execVM "\InfantryProgram\Scripts\AMS_StaticMissionsOBJ_Cam_Lao_Nam.sqf";

v2.794_2023JAN25_GitHub
ADDED Judgement Day mission, can be called fron the Infantry Computer. 10 waves of NPC spawning in the building around + few civilians running
WMS_fnc_JudgementDay
WMS_JudgementDay = true;
WMS_JudgementDay_Run = false;
WMS_JudgementDay_Rad = 100;
WMS_JMD_PlayerTrigList = [];
WMS_JudgementDay_Array = [nil,[0,0,0],0,[],[],[],[],["JMD_mkr1","JMD_mkr2","JMD_mkr3","_JMD_mkr4","_JMD_mkr5"],[]];

v2.756_2022NOV12_GitHub
"headshot" eventHandler on NPCs for Missions And roamings.
NPC's should first loose their Helmet (if low damage to the head/face). (thanks Pierremgi from bohemia forum for the exemple)
And/or instant forced death if higer damage to the head/face.
Without helmet, ACE deal(should) more Damage to the NPCs and no need 5 headshots with 7.62AP to kill a bandit.

v2.7_2022OCT20_GitHub
Introducing "Fast Combat" options WMS_FastCombat = true; (dafault = false)
Reduce all cooldowns
Increase chances for triggers to spawn NPCs more often
Reduce dynamic threat timers/coefs
Add a Fast Combat Activation Marker on the map (bottom)
Logged Admins can activate/deactivate Fast Combat anytime in the console

v2.569_2022APR02_GitHub Exile Mod is fully compatible again
v2.548a_2022MAR26_PreRelease on GitHub to try to get back some Exile Mod compatibility

InfantryProgram (from the original name in February 2019) is a Dynamic AI/Mission system for Arma 3 dedicated servers.
It used to run with Exile Mod but not anymore (It might be compatible again).
It runs now on custom mpmission with CBA and ACE3.
Note that the all system is not optimized for big servers with tons of players.
Yes there is some old\weird way to do things and old functions, but it works even if it's not perfect, which is enough for me.
I strongly suggest to use LambsDanger (server side only), it help a lot with the retarded Bohemia's NPCs: https://github.com/nk3nny/LambsDanger

SetUp is in WMS_InitSystem.sqf (mostly):

WMS_serverCMDpwd    = "CHANGEME"; //Obviously important
WMS_CustomizedMap	= []; //Maps custom setup I made, if your map is in it, check WMS_customMapsSettings.sqf, it mostly change loadouts, AI counts, missions counts. Check for ClassNames if you don't use the same Mod(s)
WMS_exileToastMsg 	= false; //Exile Mod only
WMS_exileFireAndForget 	= false; //Exile Mod only
WMS_InfantryProgram_list = []; //this is the original array using the functions I made for Exile some time ago, it add some stuff you can do (like call a trader or artillery support) and a lot you can not (like using vehicles).

By default, the system should run with the old Vanilla setUp, no mods required (beside CBA and ACE3/Exile Mod):
execVM "\InfantryProgram\Scripts\WMS_List_VHL_Vanilla.sqf";
execVM "\InfantryProgram\Scripts\WMS_List_Loadout_Vanilla.sqf";
unless you use WMS_CustomizedMap.

Many things happen in WMS_fnc_DynAI_SelScen, every dynamic things happening on the server go through, depending the respect/vehicle/position/speed/whatever of the player, parameters are modified on the fly.

License

© 2022 {|||TNA|||}WAKeupneo

For any part of this work for which the license is applicable, this work is licensed under the Attribution-NonCommercial-NoDerivatives 4.0 International license. See LICENSE.CC-BY-NC-ND-4.0.

Creative Commons License

Any part of this work for which the CC-BY-NC-ND-4.0 license is not applicable is licensed under the Mozilla Public License 2.0. See LICENSE.MPL-2.0.

Any part of this work that is known to be derived from an existing work is licensed under the license of that existing work.

About

Dynamic AI/Mission system for Arma 3 dedicated servers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published