Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local scanner = peripherals.wrap("top")
- local currentPlayers = {}
- local playerIndexes = {}
- local addPlayer = function(list, playerName)
- local player = {name = playerName, check = false}
- table.insert(list, player)
- playerIndexes[playerName] = #list
- end
- local removePlayer = function(list, playerName)
- local index = playerIndexes[playerName]
- table.remove(list, index)
- playerIndexes[playerName] = nil
- end
- local reset = function(list)
- for _,v in ipairs(list) do
- v.check = false
- end
- end
- local contains = function(playerName)
- return playerIndexes[playerName] ~= nil
- end
- while(true) do
- for _, name in ipairs(scanner.getPlayerNames()) do
- if(not contains(name)) then --new player has entered
- addPlayer(currentPlayers, name)
- local pos = sensor.getPlayerData(name).position
- print("Player: ", name, " has entered at x: ", pos.x, " y: ", pos.y, " z: ", pos.z)
- end
- currentPlayers[name].check = true
- end
- for _, player in ipairs(currentPlayers) do
- if(not player.check) then
- print("Player: ", player.name, " has left.")
- removePlayer(player.name)
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement