Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local t = peripheral.find("EntityDetector")
- local tPlayers = {}
- local tOldPlayers = {}
- function getPlayers(range, x, y, z)
- if not z then
- return false
- end
- local playerList = {}
- local f = t.getEntityList(range, x, y, z)
- for k, v in pairs(f) do
- if v.type == "EntityPlayerMP" then
- table.insert(playerList, v.name)
- end
- end
- return playerList
- end
- local function main()
- while true do
- tOldPlayers = tPlayers
- tPlayers = getPlayers(20, 3244, 32, -260)
- if #tPlayers ~= #tOldPlayers then
- print(#tPlayers.." players")
- if #tPlayers > #tOldPlayers then
- os.queueEvent("player_join", tPlayers, tOldPlayers)
- elseif #tPlayers < #tOldPlayers then
- os.queueEvent("player_left", tPlayers, tOldPlayers)
- end
- end
- sleep(1)
- end
- end
- local function playerHandler()
- while true do
- bState = false
- local event, tPlayers, tOldPlayers = os.pullEvent()
- if event == "player_join" then
- for i = 1, #tPlayers do
- sActualPlayer = tPlayers[i]
- if #tOldPlayers > 0 then
- for i = 1, #tOldPlayers do
- if tOldPlayers[i] == sActualPlayer then
- bState = true
- end
- if bState == false then
- print(sActualPlayer.." join")
- end
- end
- else
- print(sActualPlayer.." join")
- end
- end
- elseif event == "player_left" then
- print("left")
- end
- end
- end
- parallel.waitForAll(main, playerHandler)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement