1
0
mirror of https://github.com/Defent/DMS_Exile.git synced 2024-08-30 16:52:12 +00:00

More Fixes!

FSM should now call all of the functions...

Fixed debug messages for selectmission

Added recursive call for cleanup for typeName ARRAY arguments

Fixed parsing for FillCrate

Fixed script errors and removed some RPT spam from missionsmonitor

Allow groups for missionsuccesstate

Removed debug log for converting data type into array for TargetsKilled
This commit is contained in:
eraser1 2015-08-31 02:52:46 -05:00
parent c300f83bb4
commit a4144c7c07
7 changed files with 207 additions and 198 deletions

View File

@ -1,4 +1,4 @@
/*%FSM<COMPILE "scriptedFSM.cfg, dms_main">*/
/*%FSM<COMPILE "C:\Program Files (x86)\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, dms_main">*/
/*%FSM<HEAD>*/
/*
item0[] = {"",7,210,821.012817,321.000000,829.012817,329.000000,0.000000,""};
@ -6,17 +6,17 @@ item1[] = {"INIT",0,250,516.749146,-106.908607,606.749146,-56.908607,0.000000,"I
item2[] = {"true",8,218,775.000000,25.000000,875.000000,75.000000,0.000000,"true"};
item3[] = {"Waiting",2,250,775.000000,100.000000,875.000000,150.000000,0.000000,"Waiting"};
item4[] = {"",7,210,596.000000,321.000000,604.000000,329.000000,0.000000,""};
item5[] = {"___min_loop_2",4,218,625.012756,175.000000,725.012756,225.000000,1.000000,"1 min loop"};
item6[] = {"Check_Mission_Running",2,4346,624.311890,250.000000,724.311890,300.000000,0.000000,"Check Mission" \n "Running" \n "Status"};
item5[] = {"___min_loop_1",4,218,625.012756,175.000000,725.012756,225.000000,1.000000,"1 min loop"};
item6[] = {"Check_Mission_Running",2,250,624.311890,250.000000,724.311890,300.000000,0.000000,"Check Mission" \n "Running" \n "Status"};
item7[] = {"",7,210,521.000000,321.000000,529.000000,329.000000,0.000000,""};
item8[] = {"___min_loop_1",4,218,777.816040,173.598328,867.816040,223.598328,2.000000,"1 min loop"};
item8[] = {"___min_loop",4,218,777.816040,173.598328,867.816040,223.598328,2.000000,"1 min loop"};
item9[] = {"",7,210,521.000000,46.000000,529.000000,54.000000,0.000000,""};
item10[] = {"",7,210,670.311951,321.000000,678.311951,329.000000,0.000000,""};
item11[] = {"Mission_Cleanup",2,250,774.311890,250.000000,874.311890,300.000000,0.000000,"Mission Cleanup"};
item12[] = {"INITIALIZE",4,218,655.694763,-107.164581,745.694763,-57.164581,0.000000,"INITIALIZE"};
item13[] = {"PREPARE",2,250,780.348511,-108.565193,870.348511,-58.565193,0.000000,"PREPARE"};
item14[] = {"___Min_loop",4,218,914.967773,173.130890,1004.967773,223.130890,3.000000,"1 Min loop"};
item15[] = {"Select_Mission",2,250,915.668457,249.519714,1005.668518,299.519714,0.000000,"Select Mission"};
item15[] = {"Select_Mission",2,4346,915.668457,249.519714,1005.668518,299.519714,0.000000,"Select Mission"};
item16[] = {"",7,210,956.270142,321.086121,964.270142,329.086121,0.000000,""};
link0[] = {0,10};
link1[] = {1,12};
@ -37,8 +37,8 @@ link15[] = {13,2};
link16[] = {14,15};
link17[] = {15,16};
link18[] = {16,0};
globals[] = {0.000000,0,0,0,0,640,480,2,451,6316128,1,326.983643,1179.875732,440.842163,-196.198654,1217,909,1};
window[] = {2,-1,-1,-1,-1,838,104,1398,104,3,1235};
globals[] = {0.000000,0,0,0,0,640,480,2,451,6316128,1,326.983643,1179.875732,440.842163,-196.198654,1217,1041,1};
window[] = {2,-1,-1,-1,-1,1009,275,1569,275,3,1235};
*//*%FSM</HEAD>*/
class FSM
{
@ -49,7 +49,6 @@ class FSM
class INIT
{
name = "INIT";
itemno = 1;
init = /*%FSM<STATEINIT""">*/""/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
@ -57,7 +56,6 @@ class FSM
/*%FSM<LINK "INITIALIZE">*/
class INITIALIZE
{
itemno = 12;
priority = 0.000000;
to="PREPARE";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@ -72,7 +70,6 @@ class FSM
class Waiting
{
name = "Waiting";
itemno = 3;
init = /*%FSM<STATEINIT""">*/"// Waiting for next task to proceed with."/*%FSM</STATEINIT""">*/;
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
class Links
@ -80,7 +77,6 @@ class FSM
/*%FSM<LINK "___Min_loop">*/
class ___Min_loop
{
itemno = 14;
priority = 3.000000;
to="Select_Mission";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@ -89,10 +85,9 @@ class FSM
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "___min_loop_1">*/
class ___min_loop_1
/*%FSM<LINK "___min_loop">*/
class ___min_loop
{
itemno = 8;
priority = 2.000000;
to="Mission_Cleanup";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@ -100,10 +95,9 @@ class FSM
action=/*%FSM<ACTION""">*/"_cleanupTime = time;"/*%FSM</ACTION""">*/;
};
/*%FSM</LINK>*/
/*%FSM<LINK "___min_loop_2">*/
class ___min_loop_2
/*%FSM<LINK "___min_loop_1">*/
class ___min_loop_1
{
itemno = 5;
priority = 1.000000;
to="Check_Mission_Running";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@ -118,9 +112,8 @@ class FSM
class Check_Mission_Running
{
name = "Check_Mission_Running";
itemno = 6;
init = /*%FSM<STATEINIT""">*/"call DMS_MissionsMonitor;" \n
"" \n
init = /*%FSM<STATEINIT""">*/"_missionsMonitor = diag_tickTime;" \n
"call DMS_MissionsMonitor;" \n
"" \n
"if(DMS_DEBUG) then {" \n
" diag_log format [""DMS_DEBUG FSM CHECK :: calling missionsmonitor""];" \n
@ -131,7 +124,6 @@ class FSM
/*%FSM<LINK "true">*/
class true
{
itemno = 2;
priority = 0.000000;
to="Waiting";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@ -146,8 +138,8 @@ class FSM
class Mission_Cleanup
{
name = "Mission_Cleanup";
itemno = 11;
init = /*%FSM<STATEINIT""">*/"call DMS_CleanUpManager;" \n
init = /*%FSM<STATEINIT""">*/"_cleanupTime = diag_tickTime;" \n
"call DMS_CleanUpManager;" \n
"" \n
"if(DMS_DEBUG) then {" \n
" diag_log format [""DMS_DEBUG FSM CHECK :: calling mission cleanup""];" \n
@ -158,7 +150,6 @@ class FSM
/*%FSM<LINK "true">*/
class true
{
itemno = 2;
priority = 0.000000;
to="Waiting";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@ -173,7 +164,6 @@ class FSM
class PREPARE
{
name = "PREPARE";
itemno = 13;
init = /*%FSM<STATEINIT""">*/"private [""_missionsMonitor"",""_cleanupTime"",""_selectMission""];" \n
"diag_log (""DMS :: Initializing FSM mission script"");" \n
"" \n
@ -186,7 +176,6 @@ class FSM
/*%FSM<LINK "true">*/
class true
{
itemno = 2;
priority = 0.000000;
to="Waiting";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
@ -201,8 +190,8 @@ class FSM
class Select_Mission
{
name = "Select_Mission";
itemno = 15;
init = /*%FSM<STATEINIT""">*/"call DMS_selectMission;" \n
init = /*%FSM<STATEINIT""">*/"_selectMission = diag_tickTime;" \n
"call DMS_selectMission;" \n
"" \n
"if(DMS_DEBUG) then {" \n
" diag_log format [""DMS_DEBUG FSM CHECK :: calling mission select""];" \n
@ -213,7 +202,6 @@ class FSM
/*%FSM<LINK "true">*/
class true
{
itemno = 2;
priority = 0.000000;
to="Waiting";
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;

View File

@ -28,7 +28,7 @@ if ((_time - DMS_BMissionLastStart > DMS_BMissionDelay) && {diag_fps >= DMS_MinS
if (DMS_DEBUG) then
{
diag_log format ["DMS_DEBUG SelectMission :: Spawning mission: %1 | DMS_BMissionDelay set to %2",_mission,DMS_TimeBetweenMissions];
diag_log format ["DMS_DEBUG SelectMission :: Spawning mission: %1 | DMS_BMissionDelay set to %2",_mission,DMS_BMissionDelay];
};
call compile preprocessFileLineNumbers (format ["\x\addons\DMS\missions\%1.sqf",_mission]);

View File

@ -98,6 +98,14 @@ _clean =
};
};
};
if ((typeName _x) == "ARRAY") exitWith
{
if (DMS_DEBUG) then
{
diag_log format ["DMS_DEBUG CleanUp :: Doing recursive call for ARRAY: %1",_x];
};
_x call DMS_CleanUp;
};
diag_log format ["DMS ERROR :: Attempted to call DMS_CleanUp on non- group or object %1 from array %2",_x,_this];
};

View File

@ -88,6 +88,10 @@ if ((_wepCount>0) && {count _weps>0}) then
{
_weapon = _weps call BIS_fnc_selectRandom;
_ammo = _weapon call DMS_selectMagazine;
if ((typeName _weapon)=="STRING") then
{
_weapon = [_weapon,1];
};
_box addWeaponCargoGlobal _weapon;
_box addItemCargoGlobal [_ammo, (4 + floor(random 3))];
};
@ -100,6 +104,10 @@ if ((_itemCount > 0) && {count _items>0}) then
for "_i" from 1 to _itemCount do
{
_item = _items call BIS_fnc_selectRandom;
if ((typeName _item)=="STRING") then
{
_item = [_item,1];
};
_box addItemCargoGlobal _item;
};
};
@ -111,6 +119,10 @@ if ((_backpackCount > 0) && {count _backpacks>0}) then
for "_i" from 1 to _backpackCount do
{
_backpack = _backpacks call BIS_fnc_selectRandom;
if ((typeName _backpack)=="STRING") then
{
_backpack = [_backpack,1];
};
_box addBackpackCargoGlobal _backpack;
};
};
@ -122,6 +134,10 @@ if(DMS_RareLoot && {count DMS_RareLoot>0}) then
if(random 100 < DMS_RareLootChance) then
{
_item = DMS_RareLoot call BIS_fnc_selectRandom;
if ((typeName _item)=="STRING") then
{
_item = [_item,1];
};
_box addItemCargoGlobal _item;
};
};

View File

@ -34,7 +34,7 @@ _success = true;
_OK = _x params
[
["_completionType", "", [""] ],
["_completionArgs", [], [[]] ]
["_completionArgs", [], [[],grpNull] ]
];
if (!_OK) exitWith

View File

@ -22,10 +22,12 @@
*/
if (DMS_Mission_Arr isEqualTo []) exitWith // Empty array, no missions running
{
/* Removed because RPT spam
if (DMS_DEBUG) then
{
diag_log "DMS_DEBUG MissionStatusCheck :: DMS_Mission_Arr is empty!";
};
*/
};
@ -52,7 +54,7 @@ _index = 0;
if (_success) exitWith
{
DMS_CleanUpList pushBack [_units+_building,diag_tickTime,DMS_CompletedMissionCleanupTime];
DMS_CleanUpList pushBack [_units+_buildings,diag_tickTime,DMS_CompletedMissionCleanupTime];
if (_missionSide == "bandit") then
{

View File

@ -14,11 +14,6 @@
if ((typeName _this) in ["GROUP","OBJECT"]) then
{
if (DMS_DEBUG) then
{
diag_log format ["DMS_DEBUG TargetsKilled :: Converting %1 into ARRAY",_this];
};
_this = [_this];
};