diff options
author | orwell <orwell@bleipb.de> | 2025-01-28 22:56:21 +0100 |
---|---|---|
committer | orwell <orwell@bleipb.de> | 2025-01-28 22:56:21 +0100 |
commit | d3749af5a53754cbdb41f5480e1384d128732427 (patch) | |
tree | fd72319901d9163777188b60ce197b452148a0f6 /advtrains_line_automation | |
parent | 48f2950cd3aa3174d3193c3db00498fd3d43c6b4 (diff) | |
download | advtrains-d3749af5a53754cbdb41f5480e1384d128732427.tar.gz advtrains-d3749af5a53754cbdb41f5480e1384d128732427.tar.bz2 advtrains-d3749af5a53754cbdb41f5480e1384d128732427.zip |
Stoprail wait green signal: make configurable, off for existing, default on for all new
Diffstat (limited to 'advtrains_line_automation')
-rw-r--r-- | advtrains_line_automation/stoprail.lua | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/advtrains_line_automation/stoprail.lua b/advtrains_line_automation/stoprail.lua index 19e9fa9..ba3977d 100644 --- a/advtrains_line_automation/stoprail.lua +++ b/advtrains_line_automation/stoprail.lua @@ -59,8 +59,9 @@ local function show_stoprailform(pos, player) form = form.."field[6.05,2.0;1.75,1;wait;"..attrans("Stop Time")..";"..stdata.wait.."]" form = form.."label[0.5,2.6;"..attrans("Door Side").."]" form = form.."dropdown[0.51,3.0;2;doors;Left,Right,Closed;"..door_dropdown[stdata.doors].."]" - form = form.."checkbox[3.00,2.7;reverse;"..attrans("Reverse train")..";"..(stdata.reverse and "true" or "false").."]" - form = form.."checkbox[3.00,3.1;kick;"..attrans("Kick out passengers")..";"..(stdata.kick and "true" or "false").."]" + form = form.."checkbox[3.00,2.4;reverse;"..attrans("Reverse train")..";"..(stdata.reverse and "true" or "false").."]" + form = form.."checkbox[3.00,2.8;kick;"..attrans("Kick out passengers")..";"..(stdata.kick and "true" or "false").."]" + form = form.."checkbox[3.00,3.2;waitsig;"..attrans("Wait for signal to clear")..";"..(stdata.waitsig and "true" or "false").."]" form = form.."textarea[0.8,4.2;7,2;ars;Trains stopping here (ARS rules);"..advtrains.interlocking.ars_to_text(stdata.ars).."]" form = form.."button[0.5,6;7,1;save;"..attrans("Save").."]" @@ -87,6 +88,9 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if fields.reverse then tmp_checkboxes[pe].reverse = (fields.reverse == "true") end + if fields.waitsig then + tmp_checkboxes[pe].waitsig = (fields.waitsig == "true") + end if fields.save then if fields.stn and stdata.stn ~= fields.stn and fields.stn ~= "" then local stn = advtrains.lines.stations[fields.stn] @@ -153,7 +157,7 @@ local adefunc = function(def, preset, suffix, rotation) after_place_node=function(pos) local pe = advtrains.encode_pos(pos) advtrains.lines.stops[pe] = { - stn="", track="", doors="R", wait=10 + stn="", track="", doors="R", wait=10, waitsig = true } updatemeta(pos) end, @@ -199,7 +203,10 @@ local adefunc = function(def, preset, suffix, rotation) local stnname = stn and stn.name or "Unknown Station" -- Send ATC command and set text - advtrains.atc.train_set_command(train, "B0 W O"..stdata.doors..(stdata.kick and "K" or "").." D"..stdata.wait.." "..(stdata.reverse and "R" or "").." A1 G OC D"..(stdata.ddelay or 1) .. " S" ..(stdata.speed or "M"), true) + advtrains.atc.train_set_command(train, "B0 W O"..stdata.doors..(stdata.kick and "K" or "") + .." D"..stdata.wait.." "..(stdata.reverse and "R" or "") + .." A1 "..(stdata.waitsig and "G" or "") + .." OC D"..(stdata.ddelay or 1) .. " S" ..(stdata.speed or "M"), true) train.text_inside = stnname if tonumber(stdata.wait) then minetest.after(tonumber(stdata.wait), function() train.text_inside = "" end) |