diff options
author | Singularis <singularis@volny.cz> | 2024-12-13 08:50:15 +0100 |
---|---|---|
committer | orwell <orwell@bleipb.de> | 2025-05-27 20:22:01 +0200 |
commit | 52898a3cd2223585ebe6762588ff4398f19bac27 (patch) | |
tree | 53e7658d790b3d527bb167dfdb7b487bf1fb08ce | |
parent | c46cf7d336f2004371efca60adb4a4937cd73f46 (diff) | |
download | advtrains-52898a3cd2223585ebe6762588ff4398f19bac27.tar.gz advtrains-52898a3cd2223585ebe6762588ff4398f19bac27.tar.bz2 advtrains-52898a3cd2223585ebe6762588ff4398f19bac27.zip |
[advtrains_line_automation] přidáno tlačítko Nastavit posun na odjezd teď + uložit
- [ch_core/teleportace] přidány příkazy /stavím a /nastavbu
-rw-r--r-- | advtrains_line_automation/stoprail.lua | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/advtrains_line_automation/stoprail.lua b/advtrains_line_automation/stoprail.lua index 5b86a44..abc3488 100644 --- a/advtrains_line_automation/stoprail.lua +++ b/advtrains_line_automation/stoprail.lua @@ -101,6 +101,7 @@ local function show_stoprailform(pos, player) "field[4.75,6;2,0.75;routingcode;Sm.kód na odj.;"..minetest.formspec_escape(stdata.routingcode or "").."]".. "field[0.25,7.25;2,0.75;interval;Interval \\[s\\]:;"..minetest.formspec_escape(stdata.interval or "").."]".. "field[2.5,7.25;2,0.75;ioffset;Jeho posun:;"..minetest.formspec_escape(stdata.ioffset or "0").."]".. + "button[4.75,7;3,1.0;ioffsetnow;Nastavit posun\nna odjezd teď + uložit]".. "textarea[0.25,8.4;7.5,1.5;ars;"..attrans("Trains stopping here (ARS rules)")..";"..advtrains.interlocking.ars_to_text(stdata.ars).."]".. "label[0.3,10.25;Platí jen pro vlaky s]".. "field[3,10;1,0.5;minparts;;"..minetest.formspec_escape(stdata.minparts or "0").."]".. @@ -126,7 +127,9 @@ local function show_stoprailform(pos, player) "následujícího intervalu. Výchozí začátky intervalů stejné délky jsou v celé železniční síti společné.\n".. "Slouží k nastavení intervalového provozu.]".. "tooltip[ioffset;Hodnota v sekundách 0 až (interval - 1). Posune začátek intervalů oproti výchozímu stavu\n".. - "o zadaný počet sekund vpřed. Slouží k detailnímu vyladění času odjezdů relativně vůči ostatním linkám.]" + "o zadaný počet sekund vpřed. Slouží k detailnímu vyladění času odjezdů relativně vůči ostatním linkám.]".. + "tooltip[ioffsetnow;Nastaví posun intervalu tak\\, aby pro tuto kolej nový interval začínal právě teď.\n".. + "Také uloží ostatní provedené změny.]" minetest.show_formspec(pname, "at_lines_stop_"..pe, formspec) @@ -163,7 +166,18 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end end - if fields.save then + local set_offset + + if fields.ioffsetnow and fields.interval ~= "" and fields.interval ~= "0" then + local interval = to_int(fields.interval) + if 0 < interval and interval <= 3600 then + local rwt = assert(advtrains.lines.rwt) + local rwtime = rwt.to_secs(rwt.get_time()) + set_offset = rwtime % interval + end + end + + if fields.save or set_offset ~= nil then local new_index = player_to_stn_override[pname] if new_index ~= nil then if new_index == 1 then @@ -237,6 +251,8 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end if stdata.interval == nil then stdata.ioffset = nil + elseif set_offset ~= nil then + stdata.ioffset = set_offset elseif fields.ioffset then if fields.ioffset == "" or fields.ioffset == "0" then stdata.ioffset = nil |