niels2398

wireless player DP log #2

Nov 1st, 2013
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- sender
  2. os.loadAPI("ocs/apis/sensor")
  3. local s = sensor.wrap("left") -- sensor
  4. rednet.open("right") --modem on right
  5.  
  6. function checkForTargets
  7.  targets = s.getTargets()
  8.  
  9. function getPlayerName
  10.  for k, v in pairs(targets) do
  11.    if v['Name'] == "Player" then
  12.      playerInfo[k] = k
  13.    end  
  14.  end
  15.  
  16. function sendPlayerName
  17.  rednet.broadcast(v)
  18.  
  19. while true do
  20.  checkForTargets
  21.  getPlayerName
  22.  sendPlayerName
  23.  sleep(5)
  24. end
  25.  
  26.  
  27. -- repeater
  28.  
  29. rednet.open("back")
  30. while true do
  31.         event, sender, message = os.pullEvent()
  32.         if event = "rednet_message" then
  33.                 rednet.broadcast(message)
  34.         sleep(5)
  35.         end
  36. end
  37.  
  38.  
  39. -- receiver
  40.  
  41. local playerInfo = {}
  42. if fs.exists('players') then
  43.   local fh = fs.open('players', 'r')
  44.   playerInfo = textutils.unserialize(fh.readAll())
  45.   fh.close()
  46. end
  47.  
  48. function displayNames(players)
  49.   local i = 1
  50.   term.clear()
  51.   for k, v in pairs(players) do
  52.     term.setCursorPos(1, i)
  53.     term.write(v)
  54.     i = i + 1
  55.   end
  56. end
  57.  
  58.  
  59. while true do
  60.  event, sender, message = os.pullEvent()
  61.   if event = "rednet_message" then
  62.    local v = message
  63.  
  64.    displayNames(playerInfo)
  65.    fh = fs.open('players', 'w')
  66.    fh.write(textutils.serialize(playerInfo))
  67.    fh.close()
  68.    sleep(5)
  69.   end
  70. end
Advertisement
Add Comment
Please, Sign In to add comment