aboutsummaryrefslogtreecommitdiff
path: root/advtrains_line_automation/stoprail.lua
diff options
context:
space:
mode:
Diffstat (limited to 'advtrains_line_automation/stoprail.lua')
-rw-r--r--advtrains_line_automation/stoprail.lua19
1 files changed, 12 insertions, 7 deletions
diff --git a/advtrains_line_automation/stoprail.lua b/advtrains_line_automation/stoprail.lua
index 33ca0cc..8553c97 100644
--- a/advtrains_line_automation/stoprail.lua
+++ b/advtrains_line_automation/stoprail.lua
@@ -2,6 +2,8 @@
-- adds "stop rail". Recognized by lzb. (part of behavior is implemented there)
local rwt = assert(advtrains.lines.rwt)
+-- Translation
+S = attrans
local function to_int(n)
--- Disallow floating-point numbers
@@ -25,7 +27,7 @@ local function updatemeta(pos)
end
local door_dropdown = {L=1, R=2, C=3}
-local door_dropdown_rev = {["vpravo"]="R", ["vlevo"]="L", ["neotvírat"]="C"}
+local door_dropdown_code = {"L", "R", "C"} -- switch to numerical index of selection : for conversion of the numerical index in the opening side selection dropdown box to the internal codification
local function get_stn_dropdown(stn, player_name)
local stations = advtrains.lines.load_stations_for_formspec()
@@ -53,7 +55,7 @@ local function show_stoprailform(pos, player)
local pe = advtrains.encode_pos(pos)
local pname = player:get_player_name()
if minetest.is_protected(pos, pname) then
- minetest.chat_send_player(pname, attrans("Position is protected!"))
+ minetest.chat_send_player(pname, S("You are not allowed to configure this track."))
return
end
@@ -89,7 +91,7 @@ local function show_stoprailform(pos, player)
get_stn_dropdown(player_to_stn_override[pname] or stdata.stn, pname_unless_admin)..
"field[6.75,2;1,0.75;track;"..attrans("Track")..";"..minetest.formspec_escape(stdata.track).."]"..
"label[0.25,3.4;"..attrans("Door Side").."]"..
- "dropdown[2.25,3;2,0.75;doors;vlevo,vpravo,neotvírat;"..door_dropdown[stdata.doors].."]"..
+ "dropdown[2.25,3;2,0.75;doors;"..S("Left")..","..S("Right")..","..S("Closed")..";"..door_dropdown[stdata.doors]..";true]".. -- switch to numerical index of the selection
"checkbox[4.5,3.25;reverse;"..attrans("Reverse train")..";"..(stdata.reverse and "true" or "false").."]"..
"checkbox[4.5,3.75;kick;"..attrans("Kick out passengers")..";"..(stdata.kick and "true" or "false").."]"..
"checkbox[4.5,4.25;keepopen;Nezavírat dveře na odj.;"..(stdata.keepopen and "true" or "false").."]"..
@@ -143,7 +145,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
local pos = advtrains.decode_pos(pe)
if pos then
if minetest.is_protected(pos, pname) then
- minetest.chat_send_player(pname, attrans("Position is protected!"))
+ minetest.chat_send_player(pname, S("You are not allowed to configure this track."))
return
end
@@ -160,6 +162,9 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
if fields.keepopen then
tmp_checkboxes[pe].keepopen = (fields.keepopen == "true")
end
+ if fields.waitsig then
+ tmp_checkboxes[pe].waitsig = (fields.waitsig == "true")
+ end
if fields.stn then
local new_index = tonumber(fields.stn)
@@ -204,7 +209,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
-- dropdowns
if fields.doors then
- stdata.doors = door_dropdown_rev[fields.doors] or "C"
+ stdata.doors = door_dropdown_code[tonumber(fields.doors)] or "C" -- switch to numerical index of selection; attention : fields.doors is string typed, needed to be converted to an integer typed index in door_dropdown_code table
end
if fields.track then
@@ -289,7 +294,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,
@@ -340,7 +345,7 @@ if minetest.get_modpath("advtrains_train_track") ~= nil then
models_prefix="advtrains_dtrack",
models_suffix=".b3d",
shared_texture="advtrains_dtrack_shared_stop.png",
- description=attrans("Station/Stop Rail"),
+ description=S("Station/Stop Track"),
formats={},
get_additional_definiton = adefunc,
}, advtrains.trackpresets.t_30deg_straightonly)