diff --git a/vlak420.lua b/vlak420.lua index 89d5161..7d2e7db 100644 --- a/vlak420.lua +++ b/vlak420.lua @@ -1,4 +1,4 @@ -title = "Vlak ve 4:20" +title = "Vlak ve 4:20" --[[ @@ -10,17 +10,13 @@ slovesa: - použij CO - zkontroluj KOHO/CO (na kontrolu jízdenek) - vyslechni KOHO (na nezávaznou konverzaci) - - čekej (může vyvolávat myšlení, před 4:15 trvá jedno čekání 5 minut) - -konkrétní akce: - -- zkontroluj čas (podívá se na hodinky) -- použij výpravku (vypraví vlak) -- zkontrolovat bezdomovce -> Leopolde, jsi v pořádku? - Jo, jenom jsem včera trochu přebral. - + - čekej (může vyvolávat myšlení, TODO - před 4:15 trvá jedno čekání 5 minut) GVD: +4.00 začátek hry +4.10 odjezd rychlíku + 4.20 Markétov Rybník ? Markétov Mlýnská ? Obora @@ -37,7 +33,7 @@ optimalizovat GVD na hraní - zastavení stojí 3 minuty (výstup, případná a - vyprávěno v první osobě s přeskoky do třetí - in-character úvod o hrdinech, kteří udržují náš svět v pohybu -- popisy na tři věty - první náladu, druhá předměty, třetí východy +- popisy tak na tři věty - první náladu, druhá předměty, třetí východy - v inventáři - terminál, kleštičky, píšťalka - upozornění ve stylu (Myslím, že je na čase vypravit vlak.) @@ -158,7 +154,7 @@ inv = verb{ act = function() p "Mám sebou následující předměty:" for i,item in ipairs(item_ord) do - if item.w=="me" then + if item.w=="me"and not item.nolist then p(item.n) end end @@ -172,7 +168,7 @@ inv = verb{ hala = room{ n = "Nádražní hala", - d = "Takhle po ránu je docela prázdná. Otevřeno má akorát jedna pokladna a automat na kafe. Z haly vede podchod pod odjezdovou tabulí, dveře ven a na první nástupiště.", + d = "Takhle po ránu je docela prázdná. Otevřeno má akorát jedna pokladna a automat na kafe. K nastupištím se chodí podchodem, nad kterým visí odjezdová tabule. První nástupiště (kde je můj vlak) má však vlastní dveře.", exits = { {"první nástupiště", "nastupiste1"}, {"podchod", true, "Můj vlak čeká na nástupišti 1a, nemusím chodit podchodem."}, @@ -182,14 +178,15 @@ hala = room{ automat = item{ n = "automat", - desc = "Automat na kávu která chutná jako štěrk z kolejových polí.", + desc = [[Na boční stěně automatu je fotografie jakési překrásné zrzky. +Ach, patronko všech cestovatelů, tolik chvil jsme spolu prožili...]], use = function() if vars.vypil_kafe then - p "Už jsem si jedno kafe koupil." + p "Jedno kafe mi prozatím stačí." else p "Objednáváš si z automatu kafe. Automat ho s hučením vaří." p "" - p '"Á... Teplý kafe... To jsem přesně potřeboval!"' + p '"Á... Teplý kafe... Přesně tohle jsem potřeboval!"' vars.vypil_kafe = true -- TODO: kelímek do inventáře? end @@ -199,6 +196,7 @@ automat = item{ pokladna = item{ n = "pokladnu", + desc = "Takhle brzo ráno je otevřená jenom jedna pokladna. Sedí v ní Maruška a lakuje si nehty.", use = "Jako nádražák jízdenky nepotřebuju.", talkto = [[ "Tak co, Maruško, jak se vede?" - "Ále znáš to, děti zlobí, manžel chlastá..." @@ -252,7 +250,7 @@ nastupiste1 = room{ rychlik = item{ n = "rychlík", desc = "Expres 263 Juraj Jánošík ve směru Bratislava.", - d = "Stojí tu rychlík", + d = "Stojí tu rychlík. Můj vlak je o něco dál.", w = "nastupiste1" } @@ -261,7 +259,7 @@ rychlik = item{ nastupiste1a = room{ n = "Nástupiště 1a", - d = "... DBG", + d = "Na konci prvního nástupiště je ještě slepá kolej dlouhá tak akorát na jeden motorák, který evidentně jede někam do zapadákova, soudě dle zarostlosti kolejí.", exits = { {"zpět", "nastupiste1"}, {"dovnitř", function() @@ -272,16 +270,26 @@ nastupiste1a = room{ } } +-- TODO - strojvůdce stojí a kouří +-- TODO - koš + vlak = item{ n = "vlak", d = "Stojí tu můj vlak.", - dsc = "Motorová jednotka přezdívaná Nunčaki, protože je rozdělena kloubem na dvě části.", + desc = "Motorová jednotka přezdívaná Nunčaki, protože je rozdělena kloubem na dvě části.", w = "nastupiste1a" } -- VLAK: +trasa = { + [2] = "Vlak projíždí mezi rodinnými domky, vychází slunce.", + [3] = "Vlak brzdí před zastávkou Mlýnská." + [5] = "Vlak přejíždí most nad čtyřproudovkou. Středem ulice projíždí poslední noční tramvaj." + -- TODO +} + function vystup() if vars.vlak_jede then p "Není možné vystupovat za jízdy" @@ -294,10 +302,12 @@ kabina = room{ n = "Kabina strojvůce", d = "...", exits = { - {"zpět", "vagon"} + {"zpět", "vagon1"} } } +-- TODO - videokamera + vagon1 = room{ n = "První vagón", d = "...", @@ -312,7 +322,7 @@ vagon2 = room{ n = "Druhý vagón", d = "...", exits = { - {"do druhého vagónu", "vagon1"}, + {"do prvního vagónu", "vagon1"}, {"na wc", "wc"}, {"do zadní kabiny", "zadni_kabina"}, {"ven", vystup} @@ -331,6 +341,9 @@ zadni_kabina = room{ exits = {{"zpět", "vagon2"}} } +-- TODO - všude (kromě záchoda) okna na pozorování ven +-- (v kabinách jako "prozkoumej trať") + -- zastávky z_mlynska = room{ @@ -338,24 +351,77 @@ z_mlynska = room{ d = "Zastávka Mlýnská smrdí novotou." } +-- TODO - pasažér pankáč + z_obora = room{ n = "Obora", d = "..." } +-- TODO - pasažér zrzka + +z_pusta_pole = room{ + n ="Pustá Pole", + d ="..." +} + +z_slamena_lhota = room{ + n = "Slaměná Lhota", + d = "..." +} + +-- TODO - zde bude znít Time killer + +z_certuv_hradek = room{ + n = "Čertův Hrádek", + d = "..." +} + +z_hamry = room{ + n = "Hamry nad Lesy", + d = "..." +} + +-- TODO houby + +z_sanatorium = room{ + n = "Zloduška, sanatorium", + d = "..." +} + +z_zloduska = room{ + n = "Zloduška", + d = "..." +} + +-- TODO nádraží s dalším automatem na kafe + -- inventář vypravka = item{ n = "výpravku", - dsc = "Malá zelená výpravka, která mi slouží k tomu, abych dával vlaku znamení k odjezdu.", + desc = "Malá zelená výpravka, která mi slouží k tomu, abych dával vlaku znamení k odjezdu.", use = function() if is_here "vlak" then + if vars.hh==4 and vars.mm<18 then + p "Ještě je moc brzo na vypravování vlaku." + if not vars.vypil_kafe then + p "Místo toho bych si mohl dát kafe." + end + return + end + + -- TODO - kontrola pro + p "Zamával jsem výpravkou a zapískal a vlak se dal do pohybu." p "Nastoupil jsem:" vars.vlak_jede = true walk("vagon1", true) + -- TODO - až bude ve vlaku holka budem nastupovat za ní + elseif is_here "rychlik" then + p "Tohle není můj vlak, ten nemůžu vypravit." else - p "Tady nemá smysl mávat výpravkou." + p "Tady nemá moc smysl mávat výpravkou." end end } @@ -364,7 +430,9 @@ cas = item{ n = "čas", check = function() p("Právě je " .. vars.hh .. ":" .. vars.mm) - end + -- TODO - zde kontrolovat + end, + nolist = true } @@ -373,38 +441,82 @@ cas = item{ zastavky = { [1] = "nastupiste1a", [4] = "z_mlynska", - [8] = "z_obora" + [8] = "z_obora", + [13] = "z_pusta_pole", + [19] = "z_slamena_lhota", + [22] = "z_certuv_hradek", + [25] = "z_hamry", + [29] = "z_sanatorium", + [33] = "z_zloduska" } function round() + -- plynutí času vars.mm = vars.mm + 1 if vars.mm==60 then vars.hh = vars.hh + 1 vars.mm = 1 end - -- zde handlovat události - + -- upozornění na kafe: if not vars.vypil_kafe then - p "(A docela bych si dal kafe.)" + if vars.hh==4 and vars.mm<16 and (vars.mm%3)==0 then + p "(Docela bych si dal kafe.)" + elseif vars.hh==4 and vars.mm==16 then + p "(To kafe už asi nestihnu.)" + end end - if vars.vlak_pozice==1 and vars.hh==4 and vars.mm>18 then - p "(Myslím, že bych už měl jít do vlaku.)" + -- nádražní hlášení + if vars.hh==4 and vars.mm==8 then + p "Nádražím zní hlášení:" + p "Z prvního nástupiště odjede expres číslo 263 Juraj Jánošík ve směru Nenastupovat, Trstina, Szombathély a Bratislava hlavní nádraží. Vlak je připraven k odjezdu." end + if vars.hh==4 and vars.mm==10 then + if is_here "rychlik" then + p "Z posledního vagonu rychlíku najednou vykouknul průvodčí a zapískal. Vlak obrzdil a se dal do pohybu. Docela pomalu na to že je to mezinárodní expres." + end + move("rychlik","void") + end + + if vars.hh==4 and vars.mm==18 then + p "Nádražím zní hlášení:" + p "Z nástupiště jedna Á odjede osobní vlak 320 ve směru Obora, Slaměná Lhota, Čertův hrádek a Zloduška. Vlak je připraven k odjezdu." + + if w.game.me=="hala" then + p "(Měl bych jít k vlaku, když už ho hlásí.)" + end + end + + -- upozornění na vlak + local varujeme_kde = { + hala = true, + nastupiste1 = true + } + if vars.vlak_pozice==1 and vars.hh==4 and vars.mm>18 and varujeme_kde[game.me.w] then + p "(Myslím, že bych už měl jít k vlaku.)" + end + + -- jízda vlaku if vars.vlak_jede == true then vars.vlak_pozice = vars.vlak_pozice + 1 + if trasa[vars.vlak_pozice] then + p(trasa[vars.vlak_pozice]) + end if zastavky[vars.vlak_pozice] then p "Vlak zastavuje." + p "(Vystupuju, abych mohl vypravit vlak.)" + p "" vars.vlak_jede = false move("vlak", zastavky[vars.vlak_pozice]) + walk(zastavky[vars.vlak_pozice], true) end end end intro = room{ - d = [[(demoverze z 6.9.2019) + d = [[(demoverze z 8.1.2021) V této interaktivní povídce se stanete vlakvedoucím prvního ranního vlaku. Budete mít za úkol kontrolovat jízdenky a na každé zastávce vlak vypravit.