Advertisement
DeanReid

startup

Jan 8th, 2014 (edited)
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.63 KB | None | 0 0
  1. --pastebin get 1qsQLbcF Blinky
  2.  
  3. os.loadAPI("ocs/apis/sensor")
  4.  
  5. blinkSpeed = 0.1
  6.  
  7. eyeNormal = paintutils.loadImage("eye/eye")
  8. eyeBlink1 = paintutils.loadImage("eye/eyeBlink1")
  9. eyeBlink2 = paintutils.loadImage("eye/eyeBlink2")
  10. eyeBlink3 = paintutils.loadImage("eye/eyeBlink3")
  11. eyeScanH = paintutils.loadImage("eye/eyeScan1")
  12. eyeScanV = paintutils.loadImage("eye/eyeScan2")
  13. eyeGood = paintutils.loadImage("eye/eyeGood")
  14. eyeBad = paintutils.loadImage("eye/eyeBad")
  15.  
  16. mon = peripheral.wrap("back")
  17. radar = sensor.wrap("left")
  18. mon.setTextScale(0.5)
  19.  
  20. xMin = 0
  21. xMax = 3
  22. zMin = 0
  23. zMax = 3
  24.  
  25. term.redirect(mon)
  26.  
  27. paintutils.drawImage(eyeNormal, 1, 1)
  28.  
  29. allow = {}
  30. allow.DeannReid = true
  31. allow.curtis1149 = true
  32. allow.super_sheep_man = false
  33. allow.Rburgess1997 = false
  34. allow.noonoo456 = true
  35.  
  36. redstone.setOutput("bottom", false)
  37.  
  38. local function checkInRange(number, min, max)
  39.   --term.setBackgroundColour(colours.black)
  40.   --print("Pos = "..number)
  41.   return number >= min and number <= max
  42.  
  43. end
  44.  
  45. local function checkTargets(targets, compare)
  46.   for k,v in pairs(compare) do
  47.     if targets[k] then
  48.       if checkInRange(targets[k].Position.X, xMin, xMax) and checkInRange(targets[k].Position.Z, zMin, zMax) then
  49.         return true
  50.       end
  51.     end
  52.   end
  53.   return false
  54. end
  55.  
  56. local function checkForAnyone()
  57.   peeps = radar.getTargets()
  58.   for k,v in pairs(peeps) do
  59.     if checkInRange(v.Position.X, xMin, xMax) and checkInRange(v.Position.Z, zMin, zMax) then
  60.       return true
  61.     end
  62.   end
  63.   return false
  64. end
  65.  
  66. function blink()
  67.   paintutils.drawImage(eyeBlink1, 1, 1)
  68.   sleep(blinkSpeed)
  69.   paintutils.drawImage(eyeBlink2, 1, 1)
  70.   sleep(blinkSpeed)
  71.   paintutils.drawImage(eyeBlink3, 1, 1)
  72.   sleep(blinkSpeed)
  73.   paintutils.drawImage(eyeBlink2, 1, 1)
  74.   sleep(blinkSpeed)
  75.   paintutils.drawImage(eyeBlink1, 1, 1)
  76.   sleep(blinkSpeed)
  77.   paintutils.drawImage(eyeNormal, 1, 1)
  78. end
  79.  
  80. function scan()
  81.   for i = 1, 20 do
  82.     paintutils.drawImage(eyeScanH, 1, math.abs(10 - i))
  83.     paintutils.drawImage(eyeScanV, i - 5, 1)
  84.     sleep(0.1)
  85.     paintutils.drawImage(eyeNormal, 1, 1)
  86.   end
  87. end
  88.  
  89. function goodTimes()
  90.   paintutils.drawImage(eyeGood, 1, 1)
  91.  
  92. redstone.setOutput("bottom", true)
  93.   sleep(4)
  94. redstone.setOutput("bottom", false)
  95.   paintutils.drawImage(eyeNormal, 1, 1)
  96. end
  97.  
  98. function badTimes()
  99.   paintutils.drawImage(eyeBad, 1, 1)
  100.   sleep(4)
  101.   paintutils.drawImage(eyeNormal, 1, 1)
  102. end
  103.  
  104. while true do
  105.   if checkForAnyone() then
  106.     scan()
  107.     if checkTargets(radar.getTargets(),allow) then
  108.       goodTimes()
  109.     else
  110.       badTimes()
  111.     end
  112.   elseif math.random() > 0.8 then
  113.     blink()
  114.   end
  115.   sleep(0.2)
  116. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement