Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --pastebin get 1qsQLbcF Blinky
- os.loadAPI("ocs/apis/sensor")
- blinkSpeed = 0.1
- eyeNormal = paintutils.loadImage("eye/eye")
- eyeBlink1 = paintutils.loadImage("eye/eyeBlink1")
- eyeBlink2 = paintutils.loadImage("eye/eyeBlink2")
- eyeBlink3 = paintutils.loadImage("eye/eyeBlink3")
- eyeScanH = paintutils.loadImage("eye/eyeScan1")
- eyeScanV = paintutils.loadImage("eye/eyeScan2")
- eyeGood = paintutils.loadImage("eye/eyeGood")
- eyeBad = paintutils.loadImage("eye/eyeBad")
- mon = peripheral.wrap("back")
- radar = sensor.wrap("left")
- mon.setTextScale(0.5)
- xMin = 0
- xMax = 3
- zMin = 0
- zMax = 3
- term.redirect(mon)
- paintutils.drawImage(eyeNormal, 1, 1)
- allow = {}
- allow.DeannReid = true
- allow.curtis1149 = true
- allow.super_sheep_man = false
- allow.Rburgess1997 = false
- allow.noonoo456 = true
- redstone.setOutput("bottom", false)
- local function checkInRange(number, min, max)
- --term.setBackgroundColour(colours.black)
- --print("Pos = "..number)
- return number >= min and number <= max
- end
- local function checkTargets(targets, compare)
- for k,v in pairs(compare) do
- if targets[k] then
- if checkInRange(targets[k].Position.X, xMin, xMax) and checkInRange(targets[k].Position.Z, zMin, zMax) then
- return true
- end
- end
- end
- return false
- end
- local function checkForAnyone()
- peeps = radar.getTargets()
- for k,v in pairs(peeps) do
- if checkInRange(v.Position.X, xMin, xMax) and checkInRange(v.Position.Z, zMin, zMax) then
- return true
- end
- end
- return false
- end
- function blink()
- paintutils.drawImage(eyeBlink1, 1, 1)
- sleep(blinkSpeed)
- paintutils.drawImage(eyeBlink2, 1, 1)
- sleep(blinkSpeed)
- paintutils.drawImage(eyeBlink3, 1, 1)
- sleep(blinkSpeed)
- paintutils.drawImage(eyeBlink2, 1, 1)
- sleep(blinkSpeed)
- paintutils.drawImage(eyeBlink1, 1, 1)
- sleep(blinkSpeed)
- paintutils.drawImage(eyeNormal, 1, 1)
- end
- function scan()
- for i = 1, 20 do
- paintutils.drawImage(eyeScanH, 1, math.abs(10 - i))
- paintutils.drawImage(eyeScanV, i - 5, 1)
- sleep(0.1)
- paintutils.drawImage(eyeNormal, 1, 1)
- end
- end
- function goodTimes()
- paintutils.drawImage(eyeGood, 1, 1)
- redstone.setOutput("bottom", true)
- sleep(4)
- redstone.setOutput("bottom", false)
- paintutils.drawImage(eyeNormal, 1, 1)
- end
- function badTimes()
- paintutils.drawImage(eyeBad, 1, 1)
- sleep(4)
- paintutils.drawImage(eyeNormal, 1, 1)
- end
- while true do
- if checkForAnyone() then
- scan()
- if checkTargets(radar.getTargets(),allow) then
- goodTimes()
- else
- badTimes()
- end
- elseif math.random() > 0.8 then
- blink()
- end
- sleep(0.2)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement