Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- os.loadAPI("ocs/apis/sensor")
- sSide = "top"
- gSide = "bottom"
- owners = {"Andrew2060","Slit","jack202020"}
- online = {}
- initpos = {x=10,y=10}
- senPos = {X=31,Y=79,Z=0}
- AllPlayers = {}
- ------------Rooms------------
- AllRooms={Controlroom,Hallway1,RoomAndrew}--,"RoomJack","RoomSlit","CrewBunks"}
- Controlroom = {name=Controlroom,x1=-1065,z1=1009,x2=-1082,z2=1028}
- Hallway1 = {name="Hallway[1]",x1=-1072,z1=1030,x2=-1076,z2=1045}
- RoomAndrew = {name="Andrew's Room",x1=-1082,z1=1036,x2=-1078,z2=1031}
- glass = peripheral.wrap(gSide)
- sen = sensor.wrap(sSide)
- function clearOn()
- for _, own in pairs(online) do
- local surface = glass.getUserSurface(own)
- surface.clear()
- end
- end
- function addText(x,y,text,color)
- for _, own in pairs(online) do
- local surface = glass.getUserSurface(own)
- surface.addText(x,y,text,color)
- end
- end
- function CheckUser()
- online = {}
- for _,user in pairs(glass.getUsers()) do
- for _, own in pairs(owners) do
- if own == user then
- table.insert(online, user)
- end
- end
- end
- end
- function getPlayers()
- AllPlayers = {}
- mTable = sen.getTargets()
- for _, v in pairs(mTable) do
- if v.IsPlayer == true then
- xp = math.floor(tonumber(v.Position.X)+senPos.X)
- yp = math.floor(tonumber(v.Position.Y)+senPos.Y)
- zp = math.floor(tonumber(v.Position.Z)+senPos.Z)
- local room = chkroom(xp,zp)
- _G[v.Username] = {NAME=v.Username,x=xp,y=yp,z=zp,room=room}
- table.insert(AllPlayers, v.Username)
- end
- end
- end
- function chkroom(x,z)
- for rm in pairs(AllRooms) do
- local tab = AllRooms[rm]
- 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
- local ret = tab.name
- print(ret)
- end
- end
- print(ret)
- return ret
- end
- while true do
- getPlayers()
- loops = 0
- clearOn()
- addText(5,5,"Active members:",FFFFFF)
- for _, own in pairs(online) do
- loops = loops + 1
- addText(initpos.x+(loops*5),initpos.y+(loops*5),own,FFFFFF)
- end
- loops = 0
- addText(150,5,"Nearby Players:",FFFFFF)
- for _, player in pairs(AllPlayers) do
- local x = 150
- local y = 15
- curPlay = _G[player]
- str = curPlay.NAME.." "..curPlay.room
- addText(x,y+(loops*10),str,FFFFFF)
- loops = loops + 1
- end
- sleep(0.05)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement