aboutsummaryrefslogtreecommitdiff
path: root/advtrains/models/advtrains_dtrack_swlst_45.b3d
blob: dae694ef8b8e8f8b79651a9babb91cca1820a583 (plain)
ofshex dumpascii
0000 42 42 33 44 4e a1 00 00 01 00 00 00 42 52 55 53 2e 00 00 00 01 00 00 00 42 72 75 73 68 2e 30 30 BB3DN.......BRUS........Brush.00
0020 31 00 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 00 00 01 00 00 00 00 00 00 00 ff ff 1....?...?...?...?..............
0040 ff ff 4e 4f 44 45 0c a1 00 00 64 74 72 61 63 6b 5f 73 77 6c 73 74 5f 34 35 00 00 00 00 00 00 00 ..NODE....dtrack_swlst_45.......
0060 00 bf 00 00 00 00 9c fa b4 3f 00 00 80 3f 9c fa b4 3f 5e 83 6c 3f 00 00 00 00 19 ef c3 be 00 00 .........?...?...?^.l?..........
0080 00 00 4d 45 53 48 cc a0 00 00 ff ff ff ff 56 52 54 53 0c 88 00 00 01 00 00 00 01 00 00 00 02 00 ..MESH........VRTS..............
00a0 00 00 39 bf 85 be 29 5c 0f 3e 1e 3a db bd 66 dd 32 bf 66 cb 32 3f 3d 91 1e 3e a5 ff 00 3e 24 e4 ..9...)\.>.:..f.2.f.2?=..>...>$.
00c0 04 3f a1 72 8c be 29 5c 0f 3e 49 9e 37 be 6d 6f 36 bf 64 11 32 3f 75 81 ba 3d a4 ff 00 3e 2e 13 .?.r..)\.>I.7.mo6.d.2?u..=...>..
00e0 dd 3e 6e 84 6f be 29 5c 0f 3e c0 2a 25 be 64 25 32 3f 70 d1 37 3f 4f 81 27 bc 4c 1f 37 3e 34 13 .>n.o.)\.>.*%.d%2?p.7?O.'.L.7>4.
0100 dd 3e b8 5a 6b be 29 5c 0f 3e 2a a4 c5 bd 65 43 32 3f 6e ed 36 3f 11 b1 88 bd 4b 1f 37 3e 27 e4 .>.Zk.)\.>*...eC2?n.6?....K.7>'.
0120 04 3f b8 5a 6b be 29 5c 0f 3e 2a a4 c5 bd 65 43 32 3f 6e ed 36 3f 11 b1 88 bd 4b 1f 37 3e 27 e4 .?.Zk.)\.>*...eC2?n.6?....K.7>'.
0140 04 3f 88 40 62 be 29 5c 0f 3e 1a c7 e2 bc 68 cf 33 3f 6a cf 34 3f 69 91 b4 bd 4a 1f 37 3e b3 3e .?.@b.)\.>....h.3?j.4?i...J.7>.>
0160 1b 3f ea ac 76 be 29 5c 0f 3e 22 5c f3 bc 5e 33 2f bf 68 fb 33 3f 8c c9 45 3e a7 ff 00 3e b1 3e .?..v.)\.>"\..^3/.h.3?..E>...>.>
0180 1b 3f 39 bf 85 be 29 5c 0f 3e 1e 3a db bd 66 dd 32 bf 66 cb 32 3f 3d 91 1e 3e a5 ff 00 3e 24 e4 .?9...)\.>.:..f.2.f.2?=..>...>$.
01a0 04 3f 9a 05 5a be c8 ba 22 3d 84 0c 81 3d c3 b9 e1 be 2c 2d 16 bf 5c e7 2d 3f ca 00 96 3e 3c 99 .?..Z..."=...=....,-..\.-?...><.
01c0 31 3f 72 fa 56 be c8 ba 22 3d 84 46 80 3d 4a e3 24 3f 28 dd 13 bf 01 61 00 3f e0 e1 75 3e 40 99 1?r.V..."=.F.=J.$?(....a.?..u>@.
01e0 31 3f 88 40 62 be c8 ba 22 3d 1a c7 e2 bc 68 cf 33 3f 6a cf 34 bf 69 91 b4 bd e4 e1 75 3e b3 3e 1?.@b..."=....h.3?j.4.i.....u>.>
0200 1b 3f ea ac 76 be c8 ba 22 3d 22 5c f3 bc 5e 33 2f bf 68 fb 33 bf 8c c9 45 3e cb 00 96 3e af 3e .?..v..."="\..^3/.h.3...E>...>.>
0220 1b 3f 88 40 62 be 29 5c 0f 3e 1a c7 e2 bc 68 cf 33 3f 6a cf 34 3f 69 91 b4 bd 4a 1f 37 3e b3 3e .?.@b.)\.>....h.3?j.4?i...J.7>.>
0240 1b 3f 72 fa 56 be 29 5c 0f 3e 84 46 80 3d 4a e3 24 3f 28 dd 13 3f 01 61 00 3f 4a 1f 37 3e 40 99 .?r.V.)\.>.F.=J.$?(..?.a.?J.7>@.
0260 31 3f 9a 05 5a be 29 5c 0f 3e 84 0c 81 3d c3 b9 e1 be 2c 2d 16 3f 5c e7 2d 3f a9 ff 00 3e 3e 99 1?..Z.)\.>...=....,-.?\.-?...>>.
0280 31 3f ea ac 76 be 29 5c 0f 3e 22 5c f3 bc 5e 33 2f bf 68 fb 33 3f 8c c9 45 3e a7 ff 00 3e b1 3e 1?..v.)\.>"\..^3/.h.3?..E>...>.>
02a0 1b 3f ac c8 8d be c8 ba 22 3d 0e 3d a0 be 70 eb 37 bf 62 f7 30 bf 3b a1 9d bd ce 00 96 3e fe a8 .?......"=.=..p.7.b.0.;......>..
02c0 83 3e 34 33 64 be c8 ba 22 3d 01 9b 98 be 5e 1d 2f 3f 70 09 38 bf f9 b1 fc 3d f5 e1 75 3e 02 a9 .>43d..."=....^./?p.8....=..u>..
02e0 83 3e 86 34 4f be c8 ba 22 3d 58 6b c5 be 57 49 2b 3f 70 d7 37 bf 88 d1 43 3e f9 e1 75 3e d0 e7 .>.4O..."=Xk..WI+?p.7...C>..u>..
0300 2d 3e 40 42 85 be c8 ba 22 3d 9b 78 cf be 66 37 33 bf 62 d7 30 bf 72 19 39 be cf 00 96 3e cc e7 ->@B...."=.x..f73.b.0.r.9....>..
0320 2d 3e ea fd 8e be c8 ba 22 3d 78 43 7b be 70 09 38 bf 64 e7 31 bf d9 81 6c 3c ce 00 96 3e 16 5e ->......"=xC{.p.8.d.1...l<...>.^
0340 b0 3e 24 36 6d be c8 ba 22 3d 63 88 6a be 63 ab 31 3f 6f bf 37 bf c8 e1 63 3d f1 e1 75 3e 1c 5e .>$6m..."=c.j.c.1?o.7...c=..u>.^
0360 b0 3e 34 33 64 be c8 ba 22 3d 01 9b 98 be 5e 1d 2f 3f 70 09 38 bf f9 b1 fc 3d f5 e1 75 3e 02 a9 .>43d..."=....^./?p.8....=..u>..
0380 83 3e ac c8 8d be c8 ba 22 3d 0e 3d a0 be 70 eb 37 bf 62 f7 30 bf 3b a1 9d bd ce 00 96 3e fe a8 .>......"=.=..p.7.b.0.;......>..
03a0 83 3e a1 72 8c be c8 ba 22 3d 49 9e 37 be 6d 6f 36 bf 64 11 32 bf 75 81 ba 3d cd 00 96 3e 2e 13 .>.r...."=I.7.mo6.d.2.u..=...>..
03c0 dd 3e 6e 84 6f be c8 ba 22 3d c0 2a 25 be 64 25 32 3f 70 d1 37 bf 4f 81 27 bc ed e1 75 3e 34 13 .>n.o..."=.*%.d%2?p.7.O.'...u>4.
03e0 dd 3e 24 36 6d be c8 ba 22 3d 63 88 6a be 63 ab 31 3f 6f bf 37 bf c8 e1 63 3d f1 e1 75 3e 1c 5e .>$6m..."=c.j.c.1?o.7...c=..u>.^
0400 b0 3e ea fd 8e be c8 ba 22 3d 78 43 7b be 70 09 38 bf 64 e7 31 bf d9 81 6c 3c ce 00 96 3e 16 5e .>......"=xC{.p.8.d.1...l<...>.^
0420 b0 3e 39 bf 85 be c8 ba 22 3d 1e 3a db bd 66 dd 32 bf 66 cb 32 bf 3d 91 1e 3e cc 00 96 3e 23 e4 .>9....."=.:..f.2.f.2.=..>...>#.
0440 04 3f b8 5a 6b be c8 ba 22 3d 2a a4 c5 bd 65 43 32 3f 6e ed 36 bf 11 b1 88 bd e8 e1 75 3e 27 e4 .?.Zk..."=*...eC2?n.6.......u>'.
0460 04 3f 6e 84 6f be c8 ba 22 3d c0 2a 25 be 64 25 32 3f 70 d1 37 bf 4f 81 27 bc ed e1 75 3e 34 13 .?n.o..."=.*%.d%2?p.7.O.'...u>4.
0480 dd 3e a1 72 8c be c8 ba 22 3d 49 9e 37 be 6d 6f 36 bf 64 11 32 bf 75 81 ba 3d cd 00 96 3e 2e 13 .>.r...."=I.7.mo6.d.2.u..=...>..
04a0 dd 3e ea ac 76 be c8 ba 22 3d 22 5c f3 bc 5e 33 2f bf 68 fb 33 bf 8c c9 45 3e cb 00 96 3e af 3e .>..v..."="\..^3/.h.3...E>...>.>
04c0 1b 3f 88 40 62 be c8 ba 22 3d 1a c7 e2 bc 68 cf 33 3f 6a cf 34 bf 69 91 b4 bd e4 e1 75 3e b3 3e .?.@b..."=....h.3?j.4.i.....u>.>
04e0 1b 3f b8 5a 6b be c8 ba 22 3d 2a a4 c5 bd 65 43 32 3f 6e ed 36 bfdetbl.code or "" err=nodetbl.err or "" env=nodetbl.env or "" end local sel = 1 for n,_ in pairs(atlatc.envs) do envs_asvalues[#envs_asvalues+1]=n if n==env then sel=#envs_asvalues end end local form = "size[10,10]dropdown[0,0;3;env;"..table.concat(envs_asvalues, ",")..";"..sel.."]" .."button[4,0;2,1;save;Save]button[7,0;2,1;cle;Clear local env] textarea[0.2,1;10,10;code;Code;"..minetest.formspec_escape(code).."]" .."label[0,9.8;"..err.."]" return form end function ac.after_dig_node(pos, node, player) advtrains.invalidate_all_paths(pos) advtrains.ndb.clear(pos) local ph=minetest.pos_to_string(pos) ac.nodes[ph]=nil end function ac.on_receive_fields(pos, formname, fields, player) if not minetest.check_player_privs(player:get_player_name(), {atlatc=true}) then minetest.chat_send_player(player:get_player_name(), "Missing privilege: atlatc - Operation cancelled!") return end local meta=minetest.get_meta(pos) local ph=minetest.pos_to_string(pos) local nodetbl = ac.nodes[ph] or {} --if fields.quit then return end if fields.env then nodetbl.env=fields.env end if fields.code then nodetbl.code=fields.code end if fields.save then nodetbl.err=nil end if fields.cle then nodetbl.data={} end ac.nodes[ph]=nodetbl meta:set_string("formspec", ac.getform(pos, meta)) if nodetbl.env then meta:set_string("infotext", "LuaAutomation component, assigned to environment '"..nodetbl.env.."'") else meta:set_string("infotext", "LuaAutomation component, invalid enviroment set!") end end function ac.run_in_env(pos, evtdata, customfct_p) local ph=minetest.pos_to_string(pos) local nodetbl = ac.nodes[ph] if not nodetbl then atwarn("LuaAutomation component at",ph,": Data not in memory! Please visit component and click 'Save'!") return end local meta if minetest.get_node_or_nil(pos) then meta=minetest.get_meta(pos) end if not nodetbl.env or not atlatc.envs[nodetbl.env] then atwarn("LuaAutomation component at",ph,": Not an existing environment: "..(nodetbl.env or "<nil>")) return false end if not nodetbl.code or nodetbl.code=="" then atwarn("LuaAutomation component at",ph,": No code to run! (insert -- to suppress warning)") return false end local customfct=customfct_p or {} -- add interrupt function customfct.interrupt=function(t, imesg) assertt(t, "number") assert(t >= 0) atlatc.interrupt.add(t, pos, {type="int", int=true, message=imesg, msg=imesg}) --Compatiblity "message" field. end -- add digiline_send function, if digiline is loaded if minetest.global_exists("digiline") then customfct.digiline_send=function(channel, msg) assertt(channel, "string") digiline:receptor_send(pos, digiline.rules.default, channel, msg) end end local datain=nodetbl.data or {} local succ, dataout = atlatc.envs[nodetbl.env]:execute_code(datain, nodetbl.code, evtdata, customfct) if succ then atlatc.active.nodes[ph].data=atlatc.remove_invalid_data(dataout) else atlatc.active.nodes[ph].err=dataout atwarn("LuaAutomation ATC interface rail at",ph,": LUA Error:",dataout) if meta then meta:set_string("infotext", "LuaAutomation ATC interface rail, ERROR:"..dataout) end end if meta then meta:set_string("formspec", ac.getform(pos, meta)) end end function ac.on_digiline_receive(pos, node, channel, msg) atlatc.interrupt.add(0, pos, {type="digiline", digiline=true, channel = channel, msg = msg}) end atlatc.active=ac