38 lines
969 B
Lua
38 lines
969 B
Lua
--[[
|
|
Stations are kiosks where users can configure their portable computer for a
|
|
particular route to another station.
|
|
|
|
You should add a "station_config.tbl" file containing:
|
|
{
|
|
name = "stationname",
|
|
displayName = "Station Name",
|
|
range = 8
|
|
}
|
|
]]--
|
|
|
|
local modem = peripheral.wrap("top") or error("Missing top modem")
|
|
local BROADCAST_CHANNEL = 45451
|
|
|
|
local function readConfig()
|
|
local f = io.open("station_config.tbl", "r")
|
|
if not f then error("Missing station_config.tbl") end
|
|
local cfg = textutils.unserialize(f:read("*a"))
|
|
f:close()
|
|
return cfg
|
|
end
|
|
|
|
local function broadcast(config)
|
|
while true do
|
|
modem.transmit(BROADCAST_CHANNEL, BROADCAST_CHANNEL, config)
|
|
os.sleep(1)
|
|
end
|
|
end
|
|
|
|
local config = readConfig()
|
|
term.clear()
|
|
term.setCursorPos(1, 1)
|
|
print("Running station transponder for \""..config.name.."\".")
|
|
print(" Display Name: "..config.displayName)
|
|
print(" Range: "..config.range.." blocks")
|
|
broadcast(config)
|