/*%FSM*/ /*%FSM*/ /* item0[] = {"Destroy_the_Radi",0,250,-50.000000,-150.000000,50.000000,-100.000000,0.000000,"Destroy" \n "the" \n "Radiotower"}; item1[] = {"Ready_",8,218,-50.000000,-75.000000,50.000000,-25.000000,0.000000,"Ready!"}; item2[] = {"Set_timeout___",2,250,-50.000000,0.000000,50.000000,50.000000,0.000000,"Set timeout..."}; item3[] = {"Ready_to_check_",4,218,-50.000000,75.000000,50.000000,125.000000,0.000000,"Ready to" \n "check?"}; item4[] = {"Is_the_Radiotower",2,250,-50.000000,150.000000,50.000000,200.000000,0.000000,"Is the" \n "Radiotower" \n "dead?"}; item5[] = {"No",8,218,75.000000,75.000000,175.000000,125.000000,0.000000,"No"}; item6[] = {"Yes",4,218,-50.000000,225.000000,50.000000,275.000000,1.000000,"Yes"}; item7[] = {"Completed_",1,250,-50.000000,300.000000,50.000000,350.000000,0.000000,"Completed!"}; item8[] = {"",7,210,121.000000,21.000000,129.000000,29.000000,0.000000,""}; item9[] = {"",7,210,121.000000,171.000000,129.000000,179.000000,0.000000,""}; link0[] = {0,1}; link1[] = {1,2}; link2[] = {2,3}; link3[] = {3,4}; link4[] = {4,6}; link5[] = {4,9}; link6[] = {5,8}; link7[] = {6,7}; link8[] = {8,2}; link9[] = {9,5}; globals[] = {25.000000,1,0,0,0,640,480,1,11,6316128,1,-661.751099,549.136108,554.120117,-220.952133,1392,891,1}; window[] = {0,-1,-1,-1,-1,1115,78,1998,78,1,1410}; *//*%FSM*/ class FSM { fsmName = "Destroy the Radiotower"; class States { /*%FSM*/ class Destroy_the_Radi { name = "Destroy_the_Radi"; init = /*%FSM*/"_pos = _this select 0;" \n "_code = _this select 1;" \n "" \n "_tower = ""Land_TTowerBig_1_F"" createVehicle _pos;" \n "_tower setVectorUp [0,0,1];" \n "" \n "_mines = [];" \n "" \n "for ""_c"" from 0 to 79 do" \n "{" \n " _mine = createMine [""SLAMDirectionalMine"", _pos, [], 50];" \n " _mines = _mines + [_mine];" \n "};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Ready_ { priority = 0.000000; to="Set_timeout___"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Set_timeout___ { name = "Set_timeout___"; init = /*%FSM*/"_timeout = (time + 5 + (random 10));"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Ready_to_check_ { priority = 0.000000; to="Is_the_Radiotower"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"time >= _timeout"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Is_the_Radiotower { name = "Is_the_Radiotower"; init = /*%FSM*/""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class Yes { priority = 1.000000; to="Completed_"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!alive _tower"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ /*%FSM*/ class No { priority = 0.000000; to="Set_timeout___"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Completed_ { name = "Completed_"; init = /*%FSM*/"result = true;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ }; initState="Destroy_the_Radi"; finalStates[] = { "Completed_", }; }; /*%FSM*/