add Freightcodes to wagon properties formspec
This commit is contained in:
parent
00031064a5
commit
de8add139c
|
@ -810,10 +810,27 @@ function wagon:show_wagon_properties(pname)
|
||||||
]]
|
]]
|
||||||
local data = advtrains.wagons[self.id]
|
local data = advtrains.wagons[self.id]
|
||||||
local form="size[5,5]"
|
local form="size[5,5]"
|
||||||
form = form .. "field[0.5,1;4,1;whitelist;Allow these players to access your wagon:;"..(data.whitelist or "").."]"
|
form = form .. "field[0.5,1;4.5,1;whitelist;Allow these players to access your wagon:;"..(data.whitelist or "").."]"
|
||||||
form = form .. "field[0.5,2;4,1;roadnumber;Wagon road number:;"..(data.roadnumber or "").."]"
|
form = form .. "field[0.5,2;4.5,1;roadnumber;Wagon road number:;"..(data.roadnumber or "").."]"
|
||||||
--seat groups access lists were here
|
local fc = ""
|
||||||
form=form.."button_exit[0.5,3;4,1;save;"..attrans("Save wagon properties").."]"
|
if data.fc then
|
||||||
|
fc = table.concat(data.fc, "!")
|
||||||
|
end
|
||||||
|
form = form .. "field[0.5,3;4.5,1;fc;Freight Code:;"..fc.."]"
|
||||||
|
if data.fc then
|
||||||
|
if not data.fcind then data.fcind = 1 end
|
||||||
|
if data.fcind > 1 then
|
||||||
|
form=form.."button[0.5,3.5;1,1;fcp;prev FC]"
|
||||||
|
end
|
||||||
|
form=form.."label[1.5,3.5;Current FC:]"
|
||||||
|
|
||||||
|
local cur = data.fc[data.fcind] or ""
|
||||||
|
form=form.."label[1.5,3.75;"..cur.."]"
|
||||||
|
if data.fcind < #data.fc then
|
||||||
|
form=form.."button[3.5,3.5;1,1;fcn;next FC]"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
form=form.."button_exit[0.5,4.5;4,1;save;"..attrans("Save wagon properties").."]"
|
||||||
minetest.show_formspec(pname, "advtrains_prop_"..self.id, form)
|
minetest.show_formspec(pname, "advtrains_prop_"..self.id, form)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -832,6 +849,14 @@ local function checklock(pname, own1, own2, wl1, wl2)
|
||||||
return advtrains.check_driving_couple_protection(pname, own1, wl1)
|
return advtrains.check_driving_couple_protection(pname, own1, wl1)
|
||||||
or advtrains.check_driving_couple_protection(pname, own2, wl2)
|
or advtrains.check_driving_couple_protection(pname, own2, wl2)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function string:split(sep)
|
||||||
|
local sep, fields = sep or ":", {}
|
||||||
|
local pattern = string.format("([^%s]+)", sep)
|
||||||
|
self:gsub(pattern, function(c) fields[#fields+1] = c end)
|
||||||
|
return fields
|
||||||
|
end
|
||||||
|
|
||||||
function wagon:show_bordcom(pname)
|
function wagon:show_bordcom(pname)
|
||||||
if not self:train() then return end
|
if not self:train() then return end
|
||||||
local train = self:train()
|
local train = self:train()
|
||||||
|
@ -1046,6 +1071,27 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||||
if fields.roadnumber then
|
if fields.roadnumber then
|
||||||
data.roadnumber = fields.roadnumber
|
data.roadnumber = fields.roadnumber
|
||||||
end
|
end
|
||||||
|
if fields.fc then
|
||||||
|
data.fc = string.split(fields.fc, "!")
|
||||||
|
if not data.fcind then
|
||||||
|
data.fcind = 1
|
||||||
|
elseif data.fcind > #data.fc then
|
||||||
|
data.fcind = #data.fc
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if fields.fcp then
|
||||||
|
if data.fcind > 1 then
|
||||||
|
data.fcind = data.fcind - 1
|
||||||
|
end
|
||||||
|
wagon.show_wagon_properties({id=uid}, pname)
|
||||||
|
end
|
||||||
|
if fields.fcn then
|
||||||
|
if data.fcind < #data.fc then
|
||||||
|
minetest.chat_send_all(data.fcind)
|
||||||
|
data.fcind = data.fcind + 1
|
||||||
|
end
|
||||||
|
wagon.show_wagon_properties({id=uid}, pname)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
uid=string.match(formname, "^advtrains_bordcom_(.+)$")
|
uid=string.match(formname, "^advtrains_bordcom_(.+)$")
|
||||||
|
|
Loading…
Reference in New Issue