Advertisement
Guest User

x

a guest
Jul 5th, 2015
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.23 KB | None | 0 0
  1. os.loadAPI("ocs/apis/sensor")
  2.  
  3. sSide = "top"
  4. gSide = "bottom"
  5. owners = {"Andrew2060","Slit","jack202020"}
  6. online = {}
  7. initpos = {x=10,y=10}
  8. senPos = {X=31,Y=79,Z=0}
  9. AllPlayers = {}
  10.  
  11. ------------Rooms------------
  12. AllRooms={Controlroom,Hallway1,RoomAndrew}--,"RoomJack","RoomSlit","CrewBunks"}
  13. Controlroom = {name=Controlroom,x1=-1065,z1=1009,x2=-1082,z2=1028}
  14. Hallway1 = {name="Hallway[1]",x1=-1072,z1=1030,x2=-1076,z2=1045}
  15. RoomAndrew = {name="Andrew's Room",x1=-1082,z1=1036,x2=-1078,z2=1031}
  16.  
  17. glass = peripheral.wrap(gSide)
  18. sen = sensor.wrap(sSide)
  19.  
  20. function clearOn()
  21.     for _, own in pairs(online) do
  22.         local surface = glass.getUserSurface(own)
  23.         surface.clear()
  24.     end
  25. end
  26. function addText(x,y,text,color)
  27.     for _, own in pairs(online) do
  28.         local surface = glass.getUserSurface(own)
  29.         surface.addText(x,y,text,color)
  30.     end
  31. end
  32. function CheckUser()
  33.     online = {}
  34.     for _,user in pairs(glass.getUsers()) do
  35.         for _, own in pairs(owners) do
  36.             if own == user then
  37.                 table.insert(online, user)
  38.             end
  39.         end
  40.     end
  41. end
  42. function getPlayers()
  43.     AllPlayers = {}
  44.     mTable = sen.getTargets()
  45.     for _, v in pairs(mTable) do
  46.         if v.IsPlayer == true then
  47.             xp = math.floor(tonumber(v.Position.X)+senPos.X)
  48.             yp = math.floor(tonumber(v.Position.Y)+senPos.Y)
  49.             zp = math.floor(tonumber(v.Position.Z)+senPos.Z)
  50.             local room = chkroom(xp,zp)
  51.             _G[v.Username] = {NAME=v.Username,x=xp,y=yp,z=zp,room=room}
  52.             table.insert(AllPlayers, v.Username)
  53.            
  54.         end
  55.     end
  56. end
  57.  
  58. function chkroom(x,z)
  59.     for rm in pairs(AllRooms) do
  60.         local tab = AllRooms[rm]
  61.         if ((x >= tab.x2 and x <= tab.x1) or (x <= tab.x2 and x >= tab.x1)) and ((z >= tab.z2 and x <= tab.z1) or (z <= tab.z2 and z >= tab.z1)) then
  62.             local ret = tab.name
  63.             print(ret)
  64.         end
  65.     end
  66.     print(ret)
  67.     return ret
  68. end
  69.  
  70. while true do
  71. getPlayers()
  72. loops = 0
  73. clearOn()
  74. addText(5,5,"Active members:",FFFFFF)
  75. for _, own in pairs(online) do
  76.     loops = loops + 1
  77.     addText(initpos.x+(loops*5),initpos.y+(loops*5),own,FFFFFF)
  78. end
  79. loops = 0
  80. addText(150,5,"Nearby Players:",FFFFFF)
  81. for _, player in pairs(AllPlayers) do
  82.     local x = 150
  83.     local y = 15
  84.     curPlay = _G[player]
  85.     str = curPlay.NAME.." "..curPlay.room
  86.     addText(x,y+(loops*10),str,FFFFFF)
  87.     loops = loops + 1
  88. end
  89. sleep(0.05)
  90. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement