Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local shieldID = 0
- if not term.isColor() then
- print("Advanced computer required")
- error()
- end
- local function showError(message)
- term.setBackgroundColor(colors.black)
- term.setTextColor(colors.red)
- term.write(message)
- term.setBackgroundColor(colors.black)
- term.setTextColor(colors.white)
- print()
- end
- local function showErrorAndExit(message)
- showError(message)
- error()
- end
- local shield
- local sides = peripheral.getNames()
- for key,side in pairs(sides) do
- if peripheral.getType(side) == "warpdriveForceFieldProjector" then
- shield = peripheral.wrap(side)
- end
- end
- if shield == nil or shield.isInterfaced() ~= true then
- showErrorAndExit("No force field projector detected")
- end
- term.clear()
- term.setCursorPos(1, 1)
- print("Phoenix shield client of Lupus Space Industries started.")
- function split(inputstr, sep)
- if sep == nil then
- sep = "%s"
- end
- local t={}
- for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
- table.insert(t, str)
- end
- return t
- end
- while true do
- local ws, err = http.websocket("ws://144.76.116.75:2021")
- if(err) then
- showErrorAndExit(err)
- shell.run("startup")
- end
- local message = ws.receive()
- if string.match(message, "shdEnergy") then
- print("Received: "..message)
- local energy, maxEnergy, energyType = shield.getEnergyStatus()
- ws.send("shieldEnergy " .. shieldID .. " " .. energy .. " " .. maxEnergy .. " " .. energyType)
- print("Send: shieldEnergy " .. shieldID .. " " .. energy .. " " .. maxEnergy .. " " .. energyType)
- elseif string.match(message, "shdState") then
- print("Received: "..message)
- local status, isEnabled, isConnected, isPowered, shape, energy = shield.state()
- local tier, tierName = shield.getTier()
- local name = shield.name()
- local frequence = shield.beamFrequency()
- ws.send("shieldState " .. shieldID .. " " .. status .. " " .. isEnabled .. " " .. isConnected .. " " .. isPowered .. " " .. shape .. " " .. energy .. " " .. tier .. " " .. tierName .. " " .. name .. " " .. frequence)
- print("Send: shieldState " .. shieldID .. " " .. status .. " " .. isEnabled .. " " .. isConnected .. " " .. isPowered .. " " .. shape .. " " .. energy .. " " .. tier .. " " .. tierName .. " " .. name .. " " .. frequence)
- elseif string.match(message, "shdName") then
- print("Received: "..message)
- local name = split(message, " ")
- shield.name(name[2])
- elseif string.match(message, "shdFrequence") then
- print("Received: "..message)
- local frequence = split(message, " ")
- shield.beamFrequency(frequence[2])
- elseif string.match(message, "shdToggle") then
- print("Received: "..message)
- local status, isEnabled, isConnected, isPowered, shape, energy = shield.state()
- if(isConnected) then
- if(shape == "NONE") then
- print("Projector is missing a shape!")
- else
- if(isEnabled) then
- shield.enable(false)
- else
- shield.enable(true)
- end
- end
- else
- print("Projector is missing a beam frequency!")
- end
- end
- os.sleep(1)
- ws.close()
- end
Add Comment
Please, Sign In to add comment