integer Lhandle; integer channelL = 991155; list Level_1 = ["AxC", "ExG", "DxE", "GxE", "A-E-C", "AxCxD", "AxC-H", "AxG-D", "A-C-E", "B-F-D", "AxCxA", "AxG-B", "ExG-B", "ExA-F", "FxExD", "GxA-E"]; list Level_2 = ["AxCxAxC", "ExG-B-F", "BxA-D-F", "B-FxG-D", "CxE-HxA", "BxC-FxE", "AxG-BxC", "FxG-DxE", "GxA-FxE", "GxF-BxC", "GxFxE-H", "GxE-BxC", "GxE-AxC", "GxExF-B", "H-DxCxE", "AxCxB-FxC", "CxB-FxE-H", "DxCxA-FxG", "F-BxCxD-H", "GxE-AxB-D", "HxAxGxF-B", "AxC-FxGxH-D", "BxAxH-DxExF", "ExG-B-FxE-H"]; list Level_3 = ["G-BxC-HxG-B", "G-BxCxD-HxG", "G-BxA-DxExF", "AxG-BxCxD-HxG", "E-H-B-FxGxExC", "G-A-CxD-HxGxF", "AxG-BxC-FxG-DxC", "AxGxE-F-BxCxD-H", "F-BxCxE-HxG-BxA", "H-DxCxB-F-ExGxA", "ExG-B-FxE-H-DxExF-BxA", "ExG-B-FxE-H-DxExF-BxA-ExG-B-FxExG-B-F"]; list Two_Pony = ["(1) AxB-F ..... (2) D-HxB", "(1) ExF-B ..... (2) AxH-D", "(1) DxExG ..... (2) CxAxB", "(1) F-BxC-H ..... (2) H-CxB-F", "(1) ExC-FxG ..... (2) GxF-CxE", "(1) CxExF-B ..... (2) GxAxB-F", "(1) D-HxAxG ..... (2) F-BxCxE", "(1) AxCxExG ..... (2) GxExCxA", "(1) BxCxD-HxG ..... (2) HxGxF-BxC"]; list Three_Pony = ["(1) AxExC ..... (2) GxCxA ..... (3) CxGxE", "(1) FxExD ..... (2) DxCxB ..... (3) HxGxF", "(1) CxE-H-D ..... (2) AxC-F-B ..... (3) GxA-D-H", "(1) CxDxExF ..... (2) GxHxAxB ..... (3) AxBxCxD","(1) GxE-AxB-D ..... (2) ExC-GxH-B ..... (3) CxA-ExF-H", "(1) ExGxF-BxCxA ..... (2) GxAxH-DxExD ..... (3) AxCxB-FxGxE"]; list Four_Pony = ["(1) AxCxB ..... (2) CxExD ..... (3) ExGxF ..... (4) GxAxH", "(1) AxH-C ..... (2) CxB-E ..... (3) ExD-G ..... (4) GxF-A", "(1) A-F-C-H ..... (2) C-H-E-B ..... (3) E-B-G-D ..... (4) G-D-A-F", "(1) GxF-A-D-G ..... (2) ExD-G-B-E ..... (3) AxH-C-F-A ..... (4) CxB-E-H-C", "(1) CxExD-HxAxB ..... (2) AxCxB-FxGxE ..... (3) GxAxH-DxExC ..... (4) ExGxF-BxCxA", "(1) AxCxB-FxGxE ..... (2) CxExD-HxAxG ..... (3) ExGxF-BxCxA ..... (4) GxAxH-DxExC"]; default { state_entry() { llListenRemove(Lhandle); } touch_start(integer total_number) { Lhandle = llListen(channelL,"","",""); llDialog(llDetectedKey(0), "Which level pattern do you wish to access?", ["Level_1", "Level_2", "Level_3", "Two_Pony", "Three_Pony", "Four_Pony"], channelL); llSetTimerEvent(15); } timer() { llListenRemove(Lhandle); } listen(integer channel, string name, key id, string mes) { if(mes == "Level_1") { llSay(0, llList2String(llListRandomize(Level_1, 1), 0)); llListenRemove(Lhandle); llSetTimerEvent(0); } else if(mes == "Level_2") { llSay(0, llList2String(llListRandomize(Level_2, 1), 0)); llListenRemove(Lhandle); llSetTimerEvent(0); } else if(mes == "Level_3") { llSay(0, llList2String(llListRandomize(Level_3, 1), 0)); llListenRemove(Lhandle); llSetTimerEvent(0); } else if(mes == "Two_Pony") { llSay(0, llList2String(llListRandomize(Two_Pony, 1), 0)); llListenRemove(Lhandle); llSetTimerEvent(0); } else if(mes == "Three_Pony") { llSay(0, llList2String(llListRandomize(Three_Pony, 1), 0)); llListenRemove(Lhandle); llSetTimerEvent(0); } if(mes == "Four_Pony") { llSay(0, llList2String(llListRandomize(Four_Pony, 1), 0)); llListenRemove(Lhandle); llSetTimerEvent(0); } } }