Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local component = require("component")
- local colors = require("colors")
- local bridge = component.openperipheral_bridge
- local table = require("table")
- function EnderPouchSystem(tempX, tempY)
- local startX = tempX
- local startY = tempY
- local endX = tempX + 112
- local paddingIconY = 16 --distance between vertical placement of icons
- local paddingIconX = 16 --distance between horizontal placement of icons
- local paddingTextX = 4 --horizontal additional padding to add text
- local paddingTextY = 5 --vertical additional padding to add text
- --bridge.addBox(startX,startY,endX,paddingIconY + paddingIconY,colors.black,0.2)
- bridge.addIcon(startX,startY,"EnderStorage:enderPouch")
- bridge.addText(startX + paddingIconX + paddingTextX,startY + paddingTextY,"Storage Deposit",0xFFFFFF)
- bridge.addIcon(startX,startY + paddingIconY,"EnderStorage:enderPouch",4095)
- bridge.addText(startX + paddingIconX + paddingTextX,startY + paddingIconY + paddingTextY,"Exchanging pouch",0xFFFFFF)
- end
- function IndividualHud()
- local players = {}
- local attachedCount = 0
- local capturedCount = 0
- local labelPlayers = bridge.addText(-10,2, "Player count: 0/0")
- labelPlayers.setScreenAnchor("right","top")
- labelPlayers.setScreenAnchor("right","bottom")
- labelPlayers.setRotation(-90)
- local function InitializePlayer(name,uuid)
- local playerData = {name = name, uuid = uuid}
- playerData.surface = bridge.getSurfaceByUUID(playerData.uuid)
- labelPlayer = playerData.surface.addText(0,-10,"Hello" .. playerData.name)
- labelPlayer.setAlignment("middle", "top")
- players[playerData.uuid] = playerData
- end
- local function changeCounter(deltaAttached, deltaCaptured)
- attachedCount = attachedCount + deltaAttached
- capturedCount = capturedCount + deltaCaptured
- labelPlayers.setText("Player count: " .. attachedCount .. "/" .. capturedCount)
- end
- for _,user in pairs(bridge.getUsers()) do
- InitializePlayer(user.name,user.uuid)
- changeCounter(1,0)
- end
- while true do
- evt = table.pack(os.pullEvent())
- if evt[1] == "key" then
- break
- -- Player equips glasses
- elseif evt[1] == "glasses_attach" then
- local name = evt[3]
- local uuid = evt[4]
- InitializePlayer(name,uuid)
- changeCounter(1,0)
- --Player unequips glasses
- elseif evt[1] == "glasses_detach" then
- local playerUuid = evt[4]
- players[playerUuid] = nil
- changeCounter(-1,0)
- --
- elseif evt[1] == "glasses_release" then
- changeCounter(-1,0)
- local playerUuid = evt[4]
- local playerData = players[playerUuid]
- if playerData then
- playerData.surface.clear()
- initialisePlayer(playerData.name,playerData.uuid)
- end
- end
- end
- end
- function start()
- bridge.clear()
- --Put functions here(if they are static)
- --Example function()
- --End of static functions
- while true do
- bridge.clear()
- --Put functions here(if they need to be updated every tick)
- EnderPouchSystem(2,30)
- -- ConnectedPlayers()
- IndividualHud()
- --End of ticking functions
- bridge.sync()
- os.sleep(0.1)
- end
- end
- start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement