service_tunnels_definitions = { -- name # O ^ | ["0"] = { name="nol'nol" , e1= "1" }; ["1"] = { name="nol'lse" , e1= "0", e2= "7", e3= "2" }; ["2"] = { name="nol'dyle" , e1= "3", e3= "1", e4= "8" }; ["3"] = { name="nol'vlye" , e1= "2", e2= "4" , ex = "first_city_factory"}; ["4"] = { name="nol'elt" , e2= "3", e3="10" }; ["5"] = { name="nol'tei" , e1="11" }; -- name # O ^ | ["6"] = { name="lse'nol" , e2="12", e3= "7" }; ["7"] = { name="lse'lse" , e2= "1", e3= "6", e4="13" }; ["8"] = { name="lse'dyle" , e1="14", e3= "9", e4="02" }; ["9"] = { name="lse'vlye" , e2="15", e3= "8" }; ["10"] = { name="lse'elt" , e2="11", e3= "4" }; ["11"] = { name="lse'tei" , e1= "5", e2="10", e3="17" }; -- name # O ^ | ["12"] = { name="dyle'nol" , e2= "6", e3="18" }; ["13"] = { name="dyle'lse" , e1="19", e2="14", e4= "7" }; ["14"] = { name="dyle'dyle", e1= "8", e2="13" }; ["15"] = { name="dyle'vlye", e1="16", e2= "9", e3="21" }; ["16"] = { name="dyle'elt" , e1="15", e3="22", e4="17" }; ["17"] = { name="dyle'tei" , e3="11", e4="16" }; -- name # O ^ | ["18"] = { name="vlye'nol" , e3="12", e4="24" }; ["19"] = { name="vlye'lse" , e1="13", e2="20" }; ["20"] = { name="vlye'dyle", e2="19", e4="21" }; ["21"] = { name="vlye'vlye", e3="15", e4="20" }; ["22"] = { name="vlye'elt" , e1="28", e2="23", e3="16" }; ["23"] = { name="vlye'tei" , e2="22" }; -- name # O ^ | ["24"] = { name="elt'nol" , e1="30", e2="25", e4="18", ex = "first_city_engineering"}; ["25"] = { name="elt'lse" , e2="24", e3="26" }; ["26"] = { name="elt'dyle" , e3="25" }; ["27"] = { name="elt'vlye" , e1="33", e2="28" }; ["28"] = { name="elt'elt" , e1="22", e2="27", e3="34", e4="29" }; ["29"] = { name="elt'tei" , e1="35", e4="28" }; -- name # O ^ | ["30"] = { name="tei'nol" , e1="24", e2="31" }; ["31"] = { name="tei'lse" , e2="30", e3="32" }; ["32"] = { name="tei'dyle" , e3="31", e4="33" }; ["33"] = { name="tei'vlye" , e1="27", e4="32" }; ["34"] = { name="tei'elt" , e3="28" }; ["35"] = { name="tei'tei" , e1="29" , ex = "first_city_powerplant"}; }; service_tunnels = room { nam = "service_tunnels"; disp = "Сервисные тоннели"; position = "0"; definitions = service_tunnels_definitions; entered = function(s) path('e1'):disable(); path('e2'):disable(); path('e3'):disable(); path('e4'):disable(); path('ex'):disable(); if (s.definitions[s.position].e1) then path('e1'):enable(); end; if (s.definitions[s.position].e2) then path('e2'):enable(); end; if (s.definitions[s.position].e3) then path('e3'):enable(); end; if (s.definitions[s.position].e4) then path('e4'):enable(); end; if (s.definitions[s.position].ex) then path('ex'):enable(); end; end; dsc = function(s) return "Вы находитесь в сервисном тоннеле Лсэрианотра. Табличка сообщает вам, что вы находитесь в секции " .. s.definitions[s.position].name .. ". "; end; way = { kh_vroom('В направлении #', function() service_tunnels.position = service_tunnels.definitions[service_tunnels.position].e1; return service_tunnels; end, "e1"); kh_vroom('В направлении O', function() service_tunnels.position = service_tunnels.definitions[service_tunnels.position].e2; return service_tunnels; end, "e2"); kh_vroom('В направлении \\^', function() service_tunnels.position = service_tunnels.definitions[service_tunnels.position].e3; return service_tunnels; end, "e3"); kh_vroom('В направлении |', function() service_tunnels.position = service_tunnels.definitions[service_tunnels.position].e4; return service_tunnels; end, "e4"); kh_vroom("Выход", function() return service_tunnels.definitions[service_tunnels.position].ex; end, "ex"); }; }