Dalsi vylepseni.

This commit is contained in:
severak 2021-01-09 00:36:38 +01:00
parent 5bb3d68aa5
commit 2af1ed0197
1 changed files with 142 additions and 30 deletions

View File

@ -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.