Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local sensorpath = "sensor_0"
- local sensor = peripheral.wrap(sensorpath) or error("Unable to wrap sensor.",0)
- local maxx = 3
- local maxz = 3
- local maxy = 6
- local running = true
- local update = 0.1 -- seconds
- local state = true
- local gateside = "right"
- local rsinput = "top"
- local rsoutput = "left"
- local function getData()
- local users = sensor.getPlayerNames()
- local userdata = {}
- for index,ign in pairs(users) do
- local user = sensor.getPlayerData(ign)
- if user then
- table.insert(userdata,index,user.position)
- end
- end
- return userdata
- end
- local function checkUsers()
- local userdata = getData()
- for index,pos in ipairs(userdata) do
- if pos.x <= maxx+1 and pos.x >= -maxx
- and pos.z <= maxz+1 and pos.z >= -maxz
- and pos.y <= maxy and pos.y >= 0 then
- return true
- end
- end
- return false
- end
- while running do
- state = not checkUsers()
- rs.setOutput(gateside,state)
- rs.setOutput(rsoutput,rs.getInput(rsinput))
- sleep(update)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement