CharlyZM

glasses.lua

Sep 30th, 2022 (edited)
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.83 KB | None | 0 0
  1. c=require("component")
  2. cr=require("computer")
  3. fs=require("filesystem")
  4. term=require("term")
  5. event=require("event")
  6. gpu=c.gpu
  7. screen=c.screen
  8. req_list={["openperipheral_bridge"]=1,["average_counter"]=1,["me_controller"]=1}
  9. err_c=0
  10. for v in pairs(req_list) do if not c.isAvailable(v) then req_list[v]=0 err_c=err_c+1 end end
  11. if err_c>0 then term.clear() gpu.setForeground(0xff0000) for v in pairs(req_list) do if req_list[v]==0 then print(v.." is not available") end end gpu.setForeground(0xffffff) os.sleep(3) return -1 end
  12. player={'Tumko','Danil5108','AliceWay','Aquard','MishaMin','Ven3ra','xovrin234','_VAVILON_','Gabar','Lexun'}
  13. brd=c.openperipheral_bridge
  14. me=c.me_controller
  15. term.clear()
  16. gpu.setForeground(0xffffff)
  17. fs.makeDirectory("tmp/bag")
  18.  
  19. function getHostTime(timezone)
  20. timezone = timezone or 2
  21. local file = io.open("/HostTime.tmp", "w")
  22. file:write("")
  23. file:close()
  24. local timeCorrection = timezone * 3600
  25. local lastModified = tonumber(string.sub(fs.lastModified("/HostTime.tmp"), 1, -4)) + timeCorrection
  26. fs.remove("/HostTime.tmp")
  27. local year, month, day, hour, minute, second = os.date("%Y", lastModified), os.date("%m", lastModified), os.date("%d", lastModified), os.date("%H", lastModified), os.date("%M", lastModified), os.date("%S", lastModified)
  28. return tonumber(day), tonumber(month), tonumber(year), tonumber(hour), tonumber(minute), tonumber(second)
  29. end
  30.  
  31. function real_time()
  32. local time = {getHostTime(3)}
  33. local text = string.format("%02d:%02d", time[4], time[5])
  34. brd.addBox(1,13,65,11,0x000000,0.5)
  35. brd.addText(4,15,"Время: "..text,0xFFFFFF)
  36. end
  37.  
  38. function tf()
  39. local f=io.open("/tmp/bag/tps","w")
  40. f:write("tps")
  41. f:close()
  42. return(fs.lastModified("tmp/bag/tps"))
  43. end
  44.  
  45. function tps()
  46. local c1,c2,c3,tps
  47. c1=tf()
  48. os.sleep(2)
  49. c2=tf()
  50. c3=c2-c1
  51. tps=20000*2/c3
  52. tps=string.sub(tps,1,5)
  53. brd.addBox(1,1,65,11,0x000000,0.5)
  54. brd.addText(10,3,"TPS:",0xFFFFFF)
  55. brd.addText(32,3,tps,0x04CCFF)
  56. end
  57.  
  58. function cn_form(n)
  59. if n>=10^6 then return string.format("%.2f M",n/10^6)
  60. elseif n>=10^3 then return string.format("%.2f k",n/10^3)
  61. else return tostring(n) end
  62. end
  63.  
  64. function sis()
  65. local mat,irn,irn_b,drac=0,0,0,0
  66. r1,r2,r3,r4=me.getItemsInNetwork({name="dwcity:Materia"})[1],me.getItemsInNetwork({name="minecraft:iron_ingot"})[1],me.getItemsInNetwork({name="minecraft:iron_block"})[1],me.getItemsInNetwork({name="DraconicEvolution:draconicIngot"})[1]
  67. if type(r1)=="table" then mat=r1["size"] end
  68. if type(r2)=="table" then irn=r2["size"] end
  69. if type(r3)=="table" then irn_b=r3["size"] end
  70. if type(r4)=="table" then drac=r4["size"] end
  71. irn=irn+irn_b*9
  72. brd.addBox(1,37,90,120,0x000000,0.5)
  73. brd.addIcon(3,44,"IC2:blockReactorChamber")
  74. brd.addIcon(3,64,"AdvancedSolarPanel:BlockMolecularTransformer")
  75.  
  76. brd.addIcon(3,80,"dwcity:Materia")
  77. brd.addText(23,85,string.format("%d",mat),0xbbbbbb)
  78. brd.addIcon(3,98,"minecraft:iron_block")
  79. brd.addText(23,103,string.format("%.2f",irn/9),0xbbbbbb)
  80. brd.addIcon(3,116,"minecraft:iron_ingot")
  81. brd.addText(23,121,string.format("%d",irn),0xbbbbbb)
  82. brd.addIcon(3,134,"DraconicEvolution:draconicIngot")
  83. brd.addText(23,139,string.format("%d",drac),0xbbbbbb)
  84. end
  85.  
  86. function plrs()
  87. local hs_p=164
  88. brd.addBox(1,hs_p-4,90,43,0x000000,0.5)
  89. for i=1,#player do
  90. if cr.addUser(player[i])~=nil then brd.addIcon(3,hs_p-5,"minecraft:skull",3) brd.addText(23,hs_p,player[i],0xbbbbbb)
  91. else brd.addIcon(3,hs_p-5,"minecraft:skull") brd.addText(23,hs_p,player[i],0x404040) end
  92. cr.removeUser(player[i])
  93. hs_p=hs_p+14
  94. end
  95. end
  96.  
  97. while true do
  98. if not(c.isAvailable("openperipheral_bridge") and c.isAvailable("average_counter") and c.isAvailable("me_controller")) then cr.shutdown(1) end
  99. brd.clear()
  100. tps()
  101. real_time()
  102. plrs()
  103. sis()
  104. brd.sync()
  105. end
Advertisement
Add Comment
Please, Sign In to add comment