/*%FSM*/ /*%FSM*/ /* item0[] = {"Init",0,250,67.883751,-127.533096,157.883820,-77.533165,0.000000,"Init"}; item1[] = {"Update_Query",2,250,67.881363,24.571560,157.881256,74.571510,0.000000,"Update" \n "Query"}; item2[] = {"End",1,250,-189.891251,153.378479,-99.891129,203.378586,0.000000,"End"}; item3[] = {"Loop",4,218,68.212364,-51.053558,158.212402,-1.053517,0.000000,"Loop"}; item4[] = {"Gameover",4,218,-62.855103,24.549839,27.144907,74.549820,0.000000,"Gameover"}; item5[] = {"End_Check",2,4346,-191.718842,24.369755,-101.718727,74.369736,0.000000,"End Check"}; item6[] = {"_",8,218,-162.287018,100.867683,-128.674744,124.929321,0.000000,""}; link0[] = {0,3}; link1[] = {1,3}; link2[] = {1,4}; link3[] = {3,1}; link4[] = {4,5}; link5[] = {5,6}; link6[] = {6,2}; globals[] = {0.000000,0,0,0,0,640,480,1,21,6316128,1,-421.780701,421.779755,226.237854,-325.234192,748,514,1}; window[] = {0,-1,-1,-1,-1,772,203,1463,138,1,766}; *//*%FSM*/ class FSM { fsmName = "queryhandler"; class States { /*%FSM*/ class Init { name = "Init"; init = /*%FSM*/"_lastUpdate = time;" \n "" \n "_mysql_query = [];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Loop { priority = 0.000000; to="Update_Query"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"time - _lastUpdate > 0.3 && !gameOver"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Update_Query { name = "Update_Query"; init = /*%FSM*/"_cobjects = WF_Logic getVariable ""WF_MYSQL_CLIENT"";" \n "_sobjects = WF_Logic getVariable ""WF_MYSQL_SERVER"";" \n "" \n "_query = """";" \n "" \n "if (count _cobjects > 0) then {" \n " _query = _cobjects select 0;" \n " _cobjects set [0,""nil""];" \n " _cobjects = _cobjects - [""nil""];" \n " WF_Logic setVariable [""WF_MYSQL_CLIENT"",_cobjects,true];" \n "};" \n "" \n "if (count _sobjects > 0 && _query == """") then {" \n " _query = _sobjects select 0;" \n " _sobjects set [0,""nil""];" \n " _sobjects = _sobjects - [""nil""];" \n " WF_Logic setVariable [""WF_MYSQL_SERVER"",_sobjects];" \n "};" \n "" \n "if (_query != """") then {copyToClipboard _query};" \n "" \n "_lastUpdate = time;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Gameover { priority = 0.000000; to="End_Check"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"gameOver"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class Loop { priority = 0.000000; to="Update_Query"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"time - _lastUpdate > 0.3 && !gameOver"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class End { name = "End"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ /*%FSM*/ class End_Check { name = "End_Check"; init = /*%FSM*/"[] Spawn {" \n " {" \n " if (isPlayer (leader _x)) then {" \n " sleep 0.3;" \n " " \n " _get = Format[""WFBE_JIP_USER%1"",getPlayerUID (leader _x)] Call GetNamespace;" \n " if !(isNil '_get') then {" \n " _field = if (side (leader _x) == (WF_Logic getVariable ""WF_Winner"")) then {""win""} else {""loss""};" \n " _strTr = if (side(leader _x) == west) then {'west'} else {'east'};" \n " copyToClipboard Format [""MYSQLDATA�WFBE_EndGame�%1�%2�%3�%4�%5�%6"",getPlayerUID (leader _x), name (leader _x), time - (_get select 5), _strTr, worldName, _field];" \n " };" \n " };" \n " } forEach (('WFBE_EASTTEAMS' Call GetNamespace)+('WFBE_WESTTEAMS' Call GetNamespace));" \n "};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class _ { priority = 0.000000; to="End"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ }; initState="Init"; finalStates[] = { "End" }; }; /*%FSM*/