fix up stuff in itrainmap

This commit is contained in:
orwell96 2017-02-03 20:43:46 +01:00
parent 328d5054a1
commit b3ce833df8
1 changed files with 2 additions and 9 deletions

View File

@ -25,7 +25,7 @@ local function create_map_form_with_bg(d)
local lbl={} local lbl={}
for pts, tid in pairs(advtrains.detector.on_node) do for pts, tid in pairs(advtrains.detector.on_node) do
local pos=minetest.get_position_from_hash(pts) local pos=minetest.string_to_pos(pts)
form=form.."box["..(edge_x*(pos.x-minx))..","..(form_z-(edge_z*(pos.z-minz)))..";"..len_x..","..len_z..";red]" form=form.."box["..(edge_x*(pos.x-minx))..","..(form_z-(edge_z*(pos.z-minz)))..";"..len_x..","..len_z..";red]"
lbl[sid(tid)]=pos lbl[sid(tid)]=pos
end end
@ -52,7 +52,7 @@ local function create_map_form(d)
if x>=minx and x<=maxx then if x>=minx and x<=maxx then
for z,y in pairs(itx) do for z,y in pairs(itx) do
if z>=minz and z<=maxz then if z>=minz and z<=maxz then
local adn=advtrains.detector.on_node[minetest.hash_node_position({x=x, y=y, z=z})] local adn=advtrains.detector.on_node[minetest.pos_to_string({x=x, y=y, z=z})]
local color="gray" local color="gray"
if adn then if adn then
color="red" color="red"
@ -128,21 +128,14 @@ local timer=0
minetest.register_globalstep(function(dtime) minetest.register_globalstep(function(dtime)
timer=timer-math.min(dtime, 0.1) timer=timer-math.min(dtime, 0.1)
if timer<=0 then if timer<=0 then
local t1=os.clock()
local any=false
for pname,d in pairs(itm_pdata) do for pname,d in pairs(itm_pdata) do
minetest.show_formspec(pname, "itrainmap", create_map_form(d)) minetest.show_formspec(pname, "itrainmap", create_map_form(d))
any=true
end
if any then
minetest.log("action", "itm "..math.floor((os.clock()-t1)*1000).."ms")
end end
timer=2 timer=2
end end
end) end)
minetest.register_on_player_receive_fields(function(player, formname, fields) minetest.register_on_player_receive_fields(function(player, formname, fields)
if formname=="itrainmap" and fields.quit then if formname=="itrainmap" and fields.quit then
minetest.log("action", "itm form quit")
itm_pdata[player:get_player_name()]=nil itm_pdata[player:get_player_name()]=nil
end end
end) end)