Code:
quest state_test begin state start begin function s_set_state() say("set state") local x = select("1", "2", "3", "4", "5", "start", "cancel") if x == 6 then return elseif x == 5 then set_state('start') else set_state('state_test_'..x) end end when 20018.chat."set state" begin say("your state is start") state_test.s_set_state() end end state state_test_1 begin when 20018.chat."set state" begin say("your state is 1") state_test.s_set_state() end end state state_test_2 begin when 20018.chat."set state" begin say("your state is 2") state_test.s_set_state() end end state state_test_3 begin when 20018.chat."set state" begin say("your state is 3") state_test.s_set_state() end end state state_test_4 begin when 20018.chat."set state" begin say("your state is 4") state_test.s_set_state() end end state state_test_5 begin when 20018.chat."set state" begin say("your state is 5") state_test.s_set_state() end end end