void main() { object oClicker = GetClickingObject(); string sTag = GetTag(OBJECT_SELF), sAdd, sWay; object oTarget = GetTransitionTarget(OBJECT_SELF); int iNum; sWay = GetLocalString(oClicker,"Illusion_way"); sTag = GetSubString(sTag,6,2); iNum = StringToInt(sTag); if (iNum == 34 && sWay == "2341") { oTarget = GetWaypointByTag("IllusionDone"); DeleteLocalString(oClicker,"Illusion_Way"); } switch (iNum) { case 1 : sAdd = "1"; break; case 2 : sAdd = "1"; break; case 3 : sAdd = "1"; break; case 4 : sAdd = "2"; break; case 5 : sAdd = "2"; break; case 6 : sAdd = "2"; break; case 7 : sAdd = "2"; break; case 8 : sAdd = "2"; break; case 9 : sAdd = "2"; break; case 10 : sAdd = "1"; break; case 11 : sAdd = "1"; break; case 12 : sAdd = "1"; break; case 13 : sAdd = "3"; break; case 14 : sAdd = "3"; break; case 15 : sAdd = "3"; break; case 16 : sAdd = "4"; break; case 17 : sAdd = "4"; break; case 18 : sAdd = "4"; break; case 19 : sAdd = "4"; break; case 20 : sAdd = "4"; break; case 21 : sAdd = "4"; break; case 22 : sAdd = "3"; break; case 23 : sAdd = "3"; break; case 24 : sAdd = "3"; break; case 25 : sAdd = "5"; break; case 26 : sAdd = "5"; break; case 27 : sAdd = "5"; break; case 28 : sAdd = "6"; break; case 29 : sAdd = "6"; break; case 30 : sAdd = "6"; break; case 31 : sAdd = "6"; break; case 32 : sAdd = "6"; break; case 33 : sAdd = "6"; break; case 34 : sAdd = "5"; break; case 35 : sAdd = "5"; break; case 36 : sAdd = "5"; break; } sWay = GetSubString(sAdd+sWay,0,4); SetLocalString(oClicker,"Illusion_way",sWay); SetAreaTransitionBMP(AREA_TRANSITION_RANDOM); AssignCommand(oClicker,JumpToObject(oTarget)); }