From 22102ab0661f2450c2fec0d0601df4ac25bb04b4 Mon Sep 17 00:00:00 2001 From: eraser1 Date: Mon, 11 Jul 2016 19:00:59 -0500 Subject: [PATCH] Summary Description --- @ExileServer/addons/a3_dms/FSM/missions.fsm | 94 ++++++++++++++----- @ExileServer/addons/a3_dms/config.cpp | 2 +- .../addons/a3_dms/fn_DMS_postInit.sqf | 16 +++- .../addons/a3_dms/scripts/fn_CreateMarker.sqf | 57 ++++++----- Changelog.md | 5 + 5 files changed, 115 insertions(+), 59 deletions(-) diff --git a/@ExileServer/addons/a3_dms/FSM/missions.fsm b/@ExileServer/addons/a3_dms/FSM/missions.fsm index 5195dba..f4b5484 100644 --- a/@ExileServer/addons/a3_dms/FSM/missions.fsm +++ b/@ExileServer/addons/a3_dms/FSM/missions.fsm @@ -16,11 +16,14 @@ item11[] = {"Mission_Cleanup",2,250,697.923035,248.598328,797.923035,298.598328, item12[] = {"INITIALIZE",4,218,638.875183,-106.463760,728.875183,-56.463760,0.000000,"INITIALIZE"}; item13[] = {"PREPARE",2,250,763.528931,-107.864372,853.528931,-57.864372,0.000000,"PREPARE"}; item14[] = {"___min_loop",4,218,838.578918,171.729218,928.578918,221.729218,3.000000,"1 min loop"}; -item15[] = {"Select_Mission",2,4346,839.279602,248.118042,929.279663,298.118042,0.000000,"Select Mission"}; +item15[] = {"Select_Mission",2,250,839.279602,248.118042,929.279663,298.118042,0.000000,"Select Mission"}; item16[] = {"",7,210,880.582092,366.639160,888.582092,374.639160,0.000000,""}; -item17[] = {"___min_loop__AI",4,218,975.237671,175.934219,1065.237793,225.934219,0.000000,"1 min loop (AI)"}; -item18[] = {"Set_AI_Ownership",2,250,975.237732,250.921417,1065.237305,300.921417,0.000000,"Set AI Ownership"}; -item19[] = {"",7,210,1016.540222,366.725281,1024.540283,374.725281,0.000000,""}; +item17[] = {"___min_loop__AI",4,218,954.751831,174.416748,1044.750732,224.416748,0.000000,"1 min loop (AI)"}; +item18[] = {"Set_AI_Ownership",2,250,953.993164,247.127747,1043.991455,297.127747,0.000000,"Set AI Ownership"}; +item19[] = {"",7,210,995.295715,366.725281,1003.295776,374.725281,0.000000,""}; +item20[] = {"Freeze_Loop",4,218,1067.345947,174.190506,1157.346191,224.190506,0.000000,"Freeze Loop"}; +item21[] = {"Freeze_Manager",2,250,1067.652466,248.645218,1157.652100,298.645233,0.000000,"Freeze Manager"}; +item22[] = {"",7,210,1108.954956,366.725311,1116.955078,374.725311,0.000000,""}; link0[] = {0,10}; link1[] = {1,12}; link2[] = {2,3}; @@ -28,24 +31,28 @@ link3[] = {3,5}; link4[] = {3,8}; link5[] = {3,14}; link6[] = {3,17}; -link7[] = {4,7}; -link8[] = {5,6}; -link9[] = {6,10}; -link10[] = {7,9}; -link11[] = {8,11}; -link12[] = {9,2}; -link13[] = {10,4}; -link14[] = {11,0}; -link15[] = {12,13}; -link16[] = {13,2}; -link17[] = {14,15}; -link18[] = {15,16}; -link19[] = {16,0}; -link20[] = {17,18}; -link21[] = {18,19}; -link22[] = {19,16}; -globals[] = {0.000000,0,0,0,0,640,480,2,454,6316128,1,432.812775,1219.813965,504.306030,-50.239235,799,589,1}; -window[] = {0,-1,-1,-1,-1,834,100,1394,100,1,817}; +link7[] = {3,20}; +link8[] = {4,7}; +link9[] = {5,6}; +link10[] = {6,10}; +link11[] = {7,9}; +link12[] = {8,11}; +link13[] = {9,2}; +link14[] = {10,4}; +link15[] = {11,0}; +link16[] = {12,13}; +link17[] = {13,2}; +link18[] = {14,15}; +link19[] = {15,16}; +link20[] = {16,0}; +link21[] = {17,18}; +link22[] = {18,19}; +link23[] = {19,16}; +link24[] = {20,21}; +link25[] = {21,22}; +link26[] = {22,19}; +globals[] = {0.000000,0,0,0,0,640,480,2,457,6316128,1,382.327179,1353.613037,520.585144,-195.419098,799,589,1}; +window[] = {0,-1,-1,-32000,-32030,859,125,1419,125,1,817}; *//*%FSM*/ class FSM { @@ -112,6 +119,16 @@ class FSM action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ + /*%FSM*/ + class Freeze_Loop + { + priority = 0.000000; + to="Freeze_Manager"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"((diag_tickTime - _freeze) > DMS_ai_freezeCheckingDelay)"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ /*%FSM*/ class ___min_loop__AI { @@ -180,10 +197,11 @@ class FSM init = /*%FSM*/"private [""_missionsMonitor"",""_cleanupTime"",""_selectMission""];" \n "diag_log (""DMS :: Initializing FSM mission script"");" \n "" \n - "_missionsMonitor = diag_tickTime;" \n - "_cleanupTime = diag_tickTime;" \n - "_selectMission = diag_tickTime;" \n - "_aiLocality = diag_tickTime;"/*%FSM*/; + "_missionsMonitor = 0;" \n + "_cleanupTime = 0;" \n + "_selectMission = 0;" \n + "_aiLocality = 0;" \n + "_freeze = 0;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { @@ -255,6 +273,30 @@ class FSM }; }; /*%FSM*/ + /*%FSM*/ + class Freeze_Manager + { + name = "Freeze_Manager"; + init = /*%FSM*/"//(format [""FSM CHECK :: calling DMS_fnc_AILocalityManager""]) call DMS_fnc_DebugLog;" \n + "" \n + "_freeze = diag_tickTime;" \n + "call DMS_fnc_FreezeManager;"/*%FSM*/; + precondition = /*%FSM*/""/*%FSM*/; + class Links + { + /*%FSM*/ + class true + { + priority = 0.000000; + to="Waiting"; + precondition = /*%FSM*/""/*%FSM*/; + condition=/*%FSM*/"true"/*%FSM*/; + action=/*%FSM*/""/*%FSM*/; + }; + /*%FSM*/ + }; + }; + /*%FSM*/ }; initState="INIT"; finalStates[] = diff --git a/@ExileServer/addons/a3_dms/config.cpp b/@ExileServer/addons/a3_dms/config.cpp index e0c2240..ad57928 100644 --- a/@ExileServer/addons/a3_dms/config.cpp +++ b/@ExileServer/addons/a3_dms/config.cpp @@ -4,7 +4,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; - a3_DMS_version = "July 9, 2016"; + a3_DMS_version = "July 11, 2016"; requiredVersion = 1.36; requiredAddons[] = {"exile_client","exile_server_config"}; }; diff --git a/@ExileServer/addons/a3_dms/fn_DMS_postInit.sqf b/@ExileServer/addons/a3_dms/fn_DMS_postInit.sqf index 6c92504..d73b26c 100644 --- a/@ExileServer/addons/a3_dms/fn_DMS_postInit.sqf +++ b/@ExileServer/addons/a3_dms/fn_DMS_postInit.sqf @@ -216,15 +216,28 @@ if (DMS_ShowDifficultyColorLegend) then { + missionNamespace setVariable + [ + format["DMS_Mission_%1",_missionName], + compileFinal preprocessFileLineNumbers (format ["\x\addons\DMS\missions\bandit\%1.sqf",_missionName]) + ]; + [_x] call DMS_fnc_SpawnBanditMission; } forEach DMS_BanditMissionsOnServerStart; + if (DMS_StaticMission) then { private _temp = DMS_StaticMinPlayerDistance; DMS_StaticMinPlayerDistance = 0; { + missionNamespace setVariable + [ + format["DMS_StaticMission_%1",_x], + compileFinal preprocessFileLineNumbers (format ["\x\addons\DMS\missions\static\%1.sqf",_x]) + ]; + [_x] call DMS_fnc_SpawnStaticMission; } forEach DMS_StaticMissionsOnServerStart; @@ -235,9 +248,6 @@ if (DMS_StaticMission) then // Add heli paratroopers monitor to the thread system. [5, DMS_fnc_HeliParatroopers_Monitor, [], true] call ExileServer_system_thread_addTask; -// Add "freeze" monitor to the thread system. -[DMS_ai_freezeCheckingDelay, DMS_fnc_FreezeManager, [], true] call ExileServer_system_thread_addTask; - diff --git a/@ExileServer/addons/a3_dms/scripts/fn_CreateMarker.sqf b/@ExileServer/addons/a3_dms/scripts/fn_CreateMarker.sqf index a3285c6..36cc4f7 100644 --- a/@ExileServer/addons/a3_dms/scripts/fn_CreateMarker.sqf +++ b/@ExileServer/addons/a3_dms/scripts/fn_CreateMarker.sqf @@ -45,39 +45,38 @@ private _randomMarker = private _num = DMS_MissionCount; -private _color = "ColorGreen"; + private _markerType = "mil_dot"; +private _color = + switch (toLower _difficulty) do + { + case "easy": + { + _markerType = "ExileMissionEasyIcon"; + "ColorGreen" + }; + case "moderate": + { + _markerType = "ExileMissionModerateIcon"; + "ColorYellow" + }; + case "difficult": + { + _markerType = "ExileMissionDifficultIcon"; + "ColorRed" + }; + case "hardcore": + { + _markerType = "ExileMissionHardcoreIcon"; + "ColorBlack" + }; -switch (toLower _difficulty) do -{ - case "easy": - { - _color = "ColorGreen"; - _markerType = "ExileMissionEasyIcon"; + default + { + _difficulty + }; }; - case "moderate": - { - _color = "ColorYellow"; - _markerType = "ExileMissionModerateIcon"; - }; - case "difficult": - { - _color = "ColorRed"; - _markerType = "ExileMissionDifficultIcon"; - }; - case "hardcore": - { - _color = "ColorBlack"; - _markerType = "ExileMissionHardcoreIcon"; - }; - - default - { - _color = _difficulty; - _markerType = "mil_dot"; - }; -}; /* // Don't think this is really needed, ArmA gives you an error anyways. diff --git a/Changelog.md b/Changelog.md index 43fe837..10b6b78 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,11 @@ ### Main Branch +### July 11, 2016 (7:00 PM CST-America): +* Fixed spawning missions on server start if it wasn't listed in static/bandit missions. +* Moved the freeze manager to FSM. +* Slight optimizations + fixes for the new markers (they look amazing btw :D ). + ### July 11, 2016 (5:20 PM CST-America): * **NEW CONFIG VALUE**