/*%FSM*/ /*%FSM*/ /* item0[] = {"init",0,250,-450.000000,-200.000000,-350.000000,-150.000000,0.000000,"init"}; item1[] = {"Open",2,250,-125.000000,25.000000,-25.000000,75.000000,0.000000,"Open"}; item2[] = {"nearby",4,4314,-200.000000,-50.000000,-100.000000,0.000000,0.000000,"nearby"}; item3[] = {"wait",2,250,-325.000000,-50.000000,-225.000000,0.000000,0.000000,"wait"}; item4[] = {"local",4,218,-325.000000,-125.000000,-225.000000,-75.000000,2.000000,"local"}; item5[] = {"opened",4,218,-325.000000,25.000000,-225.000000,75.000000,0.000000,"opened"}; item6[] = {"server",4,218,-450.000000,-125.000000,-350.000000,-75.000000,1.000000,"server"}; item7[] = {"true",8,218,-575.000000,-125.000000,-475.000000,-75.000000,0.000000,"true"}; item8[] = {"end",1,250,-450.000000,-50.000000,-350.000000,0.000000,0.000000,"end"}; item9[] = {"closed",4,218,-200.000000,-125.000000,-100.000000,-75.000000,0.000000,"closed"}; item10[] = {"",7,210,-79.000000,-29.000000,-71.000000,-21.000000,0.000000,""}; item11[] = {"",7,210,-79.000000,-104.000000,-71.000000,-96.000000,0.000000,""}; link0[] = {0,4}; link1[] = {0,6}; link2[] = {0,7}; link3[] = {1,10}; link4[] = {2,3}; link5[] = {3,5}; link6[] = {4,3}; link7[] = {5,1}; link8[] = {6,8}; link9[] = {7,8}; link10[] = {9,3}; link11[] = {10,2}; link12[] = {10,11}; link13[] = {11,9}; globals[] = {25.000000,1,0,0,0,640,480,1,97,6316128,1,-619.928406,50.669247,261.518799,-371.823456,954,901,1}; window[] = {2,-1,-1,-32000,-32000,1145,315,1286,203,3,972}; *//*%FSM*/ class FSM { fsmName = "DayZ Trap"; class States { /*%FSM*/ class init { name = "init"; init = /*%FSM*/"_trap = _this select 0;" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class local { priority = 2.000000; to="wait"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"local _trap"/*%FSM*/; action=/*%FSM*/"_pos = getPosATL _trap;"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class server { priority = 1.000000; to="end"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"isServer"/*%FSM*/; action=/*%FSM*/"[_trap] call eh_localCleanup;"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class true { priority = 0.000000; to="end"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Open { name = "Open"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class closed { priority = 0.000000; to="wait"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"((_trap animationPhase ""LeftShutter"") > 0)"/*%FSM*/; action=/*%FSM*/"[nil,_trap,rSAY,[""trap_bear_0"",60]] call RE;"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class nearby { priority = 0.000000; to="wait"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"count (_pos nearEntities 0.5) > 0"/*%FSM*/; action=/*%FSM*/"_ent = (_pos nearEntities 0.5) select 0;" \n "" \n "//Sound/Animate" \n "[nil,_trap,rSAY,[""trap_bear_0"",60]] call RE;" \n "_trap animate [""LeftShutter"",1];" \n "_trap animate [""RightShutter"",1];" \n "" \n "if (_ent isKindOf ""Animal"") then {" \n " _ent setDamage 1;" \n "} else {" \n " _ent setHit [""legs"",1];" \n " _ent setVariable [""hit_legs"",2,true];" \n "};"/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class wait { name = "wait"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class opened { priority = 0.000000; to="Open"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!((_trap animationPhase ""LeftShutter"") > 0)"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class end { name = "end"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ }; initState="init"; finalStates[] = { "end", }; }; /*%FSM*/