Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Base Monitoring System By: ZakyyyHD (VintageGaming)
- -- Personal Use
- -- User Options [For Users! Change options based on preference and locations of peripherals]
- local EUstorage = true
- local reactor = false
- local EUcapacity = 40000
- local EUstorageType = "BatBox"
- local userBridgeLoc = "left"
- local userNetLoc = "right"
- local userMonLoc = "top"
- local userReactorLoc = "BigReactors-Reactor_0"
- local userNetStorageType = "batbox_0"
- -- Variables
- local bridge = peripheral.wrap(userBridgeLoc)
- local monitor = peripheral.wrap(userMonLoc)
- local net = peripheral.wrap(userNetLoc)
- local offset = 0
- local width = 50
- local yAxis = 4
- local storageUnits = {
- {
- ["id"] = userNetStorageType,
- ["name"] = EUstorageType,
- }
- }
- -- Main Script [DO NOT EDIT!]
- bridge.addBox(2, 2, 54, 19, 0xFFFFFF, 0.3)
- for key, storageUnit in pairs(storageUnits) do
- pxOffset = offset * 20
- storageUnit["label"] = bridge.addText(4, 4 + pxOffset, storageUnit["name"], 0x000000)
- storageUnit["bar"] = bridge.addBox(4, 14 + pxOffset, 0, 5, 0xFF0000, 0.9)
- -- storageUnit["bar"].setZIndex(2)
- storageUnit["bg"] = bridge.addBox(4, 14 + pxOffset, width, 5, 0x000000, 0.5)
- offset = offset + 1
- end
- while true do
- -- Monitor
- monitor.clear()
- monitor.setCursorPos(2,1)
- monitor.write("Home Monitoring System v3.0")
- monitor.setCursorPos(1,3)
- EUs = net.callRemote(userNetStorageType, "getEUStored")
- if EUs > EUcapacity then
- EUs = EUcapacity
- end
- if EUs <= EUcapacity then
- end
- if EUstorage == true then
- monitor.setCursorPos(1, yAxis)
- monitor.write(EUstorageType.. ": ".. EUs .. " / ".. EUcapacity .. " EU.")
- else
- end
- if reactor == true then
- monitor.setCursorPos(1, yAxis + 1)
- monitor.write("Reactor Temp: ".. net.callRemote("BigReactors-Reactor_3", "getTemperature") .. " Degrees.")
- monitor.setCursorPos(1, yAxis + 2)
- monitor.write("Reactor RF: ".. net.callRemote("BigReactors-Reactor_3", "getEnergyStored") .. " RF.")
- else
- end
- -- Terminal Glasses
- for i=#storageUnits,1,-1 do
- storageUnit = storageUnits[i]
- if net.isPresentRemote(storageUnit["id"]) then
- capacity = net.callRemote(storageUnit["id"], "getEUCapacity")
- amount = net.callRemote(storageUnit["id"], "getEUStored")
- storageUnit["bar"].setWidth(width / capacity * amount)
- else
- -- storageUnit["bar"].delete()
- -- storageUnit["bg"].delete()
- -- storageUnit["label"].delete()
- table.remove(storageUnits, i)
- end
- end
- sleep(0.5)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement