Advertisement
Guest User

startup

a guest
Feb 25th, 2020
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.53 KB | None | 0 0
  1. iface = peripheral.wrap("back")
  2.  
  3. tPlayers = {"Abelatox","SrGat0","Djnepe","Gtedu","Regaika","Angelcraftero","Sergiqwerty","CHRISPRO23","retewee11"}
  4. tFoundPlayers = {}
  5. linesPerPlayer = 2
  6.  
  7. for k,v in pairs(peripheral.getNames()) do
  8.  if peripheral.getType(v) == "modem" then
  9.   m = peripheral.wrap(v)
  10.  end
  11. end
  12.  
  13. canvas = iface.canvas()
  14. canvas.clear()
  15. cx,cy = canvas.getSize()
  16. headersX = 5
  17. headersY = 150
  18. m.open(6)
  19.  
  20. function getPlayers()
  21.  while true do
  22.   tFoundPlayers = {}
  23.   nearEntities = iface.sense()
  24.   for k,v in pairs(nearEntities) do --Scan
  25.    for tk,tv in pairs(tPlayers) do --Comprueba que sea player
  26.     if v.name == tv then
  27.      meta = iface.getMetaByName(tv)
  28.      
  29.      if meta then
  30.       data = {n = v.displayName,h = tostring(math.floor(meta.health+0.5)),f = math.floor(meta.food.hunger+0.5),s = tostring(math.floor(meta.food.saturation+0.5))}
  31.       tFoundPlayers[#tFoundPlayers+1] = data
  32.      end
  33.     end
  34.    end
  35.   end
  36.  
  37.   draw()
  38.   sleep(0.5)
  39.  end
  40. end
  41.  
  42. function updateData()
  43.  while true do
  44.   e,s,sch,rch,msg,d = os.pullEvent("modem_message")
  45.  
  46.   if sch == rch and rch == 6 then
  47.    amounts = textutils.unserialize(msg)
  48.    total = amounts[1]+amounts[2]
  49.    total = total / 2
  50.   end
  51.   sleep(0.5)
  52.  end
  53. end
  54.  
  55. function draw()
  56.  canvas.clear()
  57.  canvas.addRectangle(0,90,100,60,0xFF000066)
  58.  canvas.addRectangle(0,150,154,10+#tFoundPlayers*(10*1),0x00FF0066)
  59.  
  60.  if amounts ~= nil then
  61.   canvas.addText({x = 5, y = 100},"MFSU 1: "..amounts[1].."%")
  62.   canvas.addText({x = 5, y = 110},"MFSU 2: "..amounts[2].."%")
  63.  -- canvas.addText({x = 5, y = 120},"MFE 1: "..amounts[3].."%")
  64.   canvas.addText({x = 5, y = 135},"TOTAL: "..tostring(math.floor(total+0.5)).."%")
  65.  end
  66.  
  67.  canvas.addText({x = headersX, y = headersY+1},"Player")
  68.  canvas.addText({x = headersX+60,y = headersY+1},"HP")
  69.  canvas.addText({x = headersX+90,y = headersY+1},"Food")
  70.  canvas.addText({x = headersX+130,y = headersY+1},"Sat")
  71.  
  72.  for k,v in pairs(tFoundPlayers) do
  73.   canvas.addText({x = headersX, y = headersY+10*k+1},v.n)
  74.   canvas.addText({x = headersX+50, y = headersY+10*k+1},v.h.."/20")
  75.   canvas.addText({x = headersX+90, y = headersY+10*k+1},v.f.."/20")
  76.   canvas.addText({x = headersX+130, y = headersY+10*k+1},v.s.."")
  77.  
  78.   --canvas.addText({x = 10, y = 151 - 30 + k*40},v.n)
  79.   --canvas.addText({x = 15, y = 151 - 20 + k*40},"Vida: "..v.h.."/20")
  80.   --canvas.addText({x = 15, y = 151 - 10 + k*40},"Comida: "..v.f.."/20")
  81.   --canvas.addText({x = 15, y = 151 + k*40},"Saturación: "..v.s)
  82.  end
  83. end
  84.  
  85. parallel.waitForAny(getPlayers,updateData)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement