diff options
author | Singularis <singularis@volny.cz> | 2024-12-22 09:01:44 +0100 |
---|---|---|
committer | orwell <orwell@bleipb.de> | 2025-05-27 20:22:01 +0200 |
commit | dd258991d07b66847997441269b1ec6bb963f317 (patch) | |
tree | 0f79dd228ad683f6b5a61851f709c9972e7890bd /advtrains_line_automation/structs.md | |
parent | d7c9d3149850b1dba694aaf594df2edb9753c383 (diff) | |
download | advtrains-dd258991d07b66847997441269b1ec6bb963f317.tar.gz advtrains-dd258991d07b66847997441269b1ec6bb963f317.tar.bz2 advtrains-dd258991d07b66847997441269b1ec6bb963f317.zip |
[advtrains,advtrains_line_automation] první verze systému linek
Diffstat (limited to 'advtrains_line_automation/structs.md')
-rw-r--r-- | advtrains_line_automation/structs.md | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/advtrains_line_automation/structs.md b/advtrains_line_automation/structs.md new file mode 100644 index 0000000..a18d8cf --- /dev/null +++ b/advtrains_line_automation/structs.md @@ -0,0 +1,96 @@ +Datové struktury: + +train = { + line_status = { + -- záznam o posledním zastavení/průjezdu vlaku neanonymní zastávkovou kolejí + -- (používá se jako údaj o poloze vlaku) + last_enter = { + stn = string, -- kód dopravny + encpos = string, -- zakódovaná pozice koleje, kde došlo ke kontaktu + rwtime = int, -- železniční čas + } or nil, + + -- záznam o posledním odjezdu/průjezdu vlaku neanonymní zastávkovou kolejí + -- (používá se jako údaj o poloze vlaku) + last_leave = { + stn = string, -- kód dopravny + encpos = string, -- zakódovaná pozice koleje, kde došlo ke kontaktu + rwtime = int, -- železniční čas + } or nil, + + -- pokud vlak právě stojí na zastávkové koleji, obsahuje její zakódovanou pozici; + -- při odjezdu se vynuluje + standing_at = string or nil, + + -- nastaví se na 1 v případě, že "bylo dáno znamení", aby vlak zastavil + stop_request = 1 or nil, + + -- Následující pole jsou vyplněna jen u linkových vlaků: + -- =========================== + -- varianta linky LINE/STCODE/RC + linevar = string, + + -- prostřední díl z 'linevar' (kód stanice, kde jsou uložena data varianty linky) + linevar_station = string, + + -- skutečný železniční čas odjezdu z *výchozí* zastávky spoje + linevar_dep = int, + + -- index zastávky spoje (do pole 'stops'), kde vlak naposledy zastavil + linevar_index = int, + + -- skutečný železniční čas odjezdu z poslední zastávky spoje, kde vlak zastavil + linevar_last_dep = int, + + -- kód zastávky spoje, kde vlak naposledy zastavil + linevar_last_stn = string, + } +} + +station = { + linevars = { + [linevar] = { + -- linevar (LINE/STCODE/RC) + name = string, + + -- LINE (první část názvu) + line = string, + + -- přihlašovací jméno postavy, která linku spravuje + owner = string, + + -- jméno vlaku pro zobrazení (volitelné) + train_name = string or nil, + + -- je-li true, nové vlaky nemohou dostat tuto variantu přidělenu + disabled = bool or nil, + + -- seznam zastávek na lince, seřazený podle 'dep': + stops = { + { + -- kód dopravny, kde má vlak zastavit + stn = string, + + -- plánovaný čas odjezdu, relativně vůči odjezdu z výchozí zastávky (v sekundách) + dep = int, + + -- režim zastávky (podle konstant ve zdrojovém kódu) + -- nil odpovídá 0 (normální zastavení) + mode = int or nil, + + -- je-li vyplněna, vlak zastaví jen na koleji na uvedené pozici + pos = "X,Y,Z" or nil, + + -- orientační údaj pro cestující, na které koleji má vlak zastavit + track = string or nil, + }... + } + } + } +} + +stop = { + -- žel. čas posledního odjezdu jakéhokoliv zastavivšího vlaku z této zastávkové koleje; + -- používá se v kombinaci s intervalem + last_dep = int or nil, +} |