Advertisement
MoonlightOwl

GriefDrone: Bios

Jan 24th, 2015
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.19 KB | None | 0 0
  1. drone = component.proxy(component.list("drone")())
  2. modem = component.proxy(component.list("modem")())
  3. leash = component.proxy(component.list("leash")())
  4. fluid = component.proxy(component.list("tank_controller")())
  5. chest = component.proxy(component.list("inventory_controller")())
  6.  
  7. drone.setStatusText("Let's\ngrief!")
  8.  
  9. modem.open(27)
  10.  
  11. add = -50
  12.  
  13. function rgb2hex(r,g,b)
  14.   return r*65536+g*256+b
  15. end
  16.  
  17. while true do
  18.   name, _, sender, _, _, message, a, b, c, d, e = computer.pullSignal(0.2)
  19.   if name == "modem_message" then
  20.     if message == 'move' then
  21.       x, y, z = tonumber(a),tonumber(b),tonumber(c)
  22.       if x ~= nil and y ~= nil and z ~= nil then
  23.         drone.move(x, y, z)
  24.       end
  25.     elseif message == "suck" then
  26.       side = tonumber(a)
  27.       if side == nil or side > 6 or side < 0 then side = 0 end
  28.       size, err = chest.getInventorySize(side)
  29.       if size ~= nil then
  30.         for i=1, size do
  31.           chest.suckFromSlot(side, i)
  32.         end
  33.         modem.broadcast(27, side..": Done!")
  34.       else
  35.         modem.broadcast(27, side..' '..err)
  36.       end
  37.     elseif message == "drop" then
  38.       side = tonumber(a)
  39.       if side == nil or side > 6 or side < 0 then side = 0 end
  40.       for i=1, drone.inventorySize() do
  41.         drone.select(i)
  42.         drone.drop(side)
  43.         modem.broadcast(27, side..": Done!")
  44.       end
  45.     elseif message == "drain" then
  46.       side = tonumber(a)
  47.       if side == nil or side > 6 or side < 0 then side = 0 end
  48.       drone.drain(side)
  49.       modem.broadcast(27, side..": Done!")
  50.     elseif message == "fill" then
  51.       side = tonumber(a)
  52.       if side == nil or side > 6 or side < 0 then side = 0 end
  53.       drone.fill(side)
  54.       modem.broadcast(27, side..": Done!")
  55.     elseif message == "clist" then
  56.       for a,b in pairs(drone) do
  57.         modem.broadcast(27, a..": ")
  58.         if type(b) == 'table' then
  59.           for c,d in pairs(b) do
  60.             modem.broadcast(27, '> '..c..": "..d)
  61.           end
  62.         else
  63.           modem.broadcast(27, ": "..b)
  64.         end
  65.       end
  66.     end
  67.   end
  68.   -- :P
  69.   drone.setLightColor(rgb2hex(200+add, add/2, 30))
  70.   add = add+10
  71.   if add > 50 then add = -50 end
  72. end
  73.  
  74. modem.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement