Advertisement
Jeyjey0

Computercraft (P++ mod extension) Door Protected

May 1st, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. os.pullEvent = os.pullEventRaw
  2. term.clear()
  3. term.setCursorPos(1,1)
  4. print("Door is protected")
  5. if not fs.exists("DoorOwner") then
  6. print("Pls enter your Player name")
  7. owner = read()
  8. h = fs.open("DoorOwner","w")
  9. h.write(owner)
  10. h.close()
  11. end
  12.  
  13.  
  14.  
  15.  
  16.  
  17. if not fs.exists("DoorNum") then
  18. print("Pls enter your door number!")
  19. numb = read()
  20. h = fs.open("DoorNum","w")
  21. h.write(numb)
  22. h.close()
  23. end
  24. h = fs.open("DoorNum","r")
  25. numb = h.readAll()
  26. h.close()
  27. h = fs.open("DoorOwner","r")
  28. owner = h.readAll()
  29. h.close()
  30. chatb = peripheral.wrap("right")
  31. permission = owner
  32. id = os.getComputerID()
  33. while true do
  34.  
  35. local allowedplayers = {}
  36. players = ""
  37. if fs.exists("AllowedPlay") then
  38. h = fs.open("AllowedPlay", "r")
  39. players = h.readAll()
  40. h.close()
  41. else
  42. h = fs.open("AllowedPlay","w")
  43. h.write(" ")
  44. h.close()
  45. end
  46. for allowplayer in players:gmatch( "%S+" ) do
  47. allowedplayers[ #allowedplayers + 1 ] = allowplayer
  48. end
  49.  
  50.  
  51. print("Owner : "..permission)
  52. print("Other players: ")
  53. cursoPosX = 16
  54. cursoPosY = 3
  55. for i = 1,#allowedplayers do
  56. term.setCursorPos(cursoPosX,cursoPosY)
  57. plana = allowedplayers[i]
  58. length = plana:len()
  59. print(allowedplayers[i])
  60. cursoPosX = cursoPosX + length+ 1
  61. if cursoPosX > 40 then
  62. cursoPosX = 1
  63. cursoPosY = cursoPosY + 1
  64. end
  65. end
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72. event, player, message = os.pullEvent("chat")
  73. local s = message
  74. local words = {}
  75. for word in s:gmatch( "%S+" ) do
  76. words[ #words + 1 ] = word
  77. end
  78. if player == permission then
  79. if words[1] == "door" then
  80. if words[2] == numb then
  81. if words[3] == "remove" then
  82. playere = words[4]
  83. h = fs.open("AllowedPlay","r")
  84. players2s = h.readAll()
  85. h.close()
  86. local allowedplayers2 = {}
  87. for allowplayer2 in players2s:gmatch( "%S+" ) do
  88. allowedplayers2[ #allowedplayers2 + 1 ] = allowplayer2
  89. end
  90. door = "["..numb.."]"
  91. chatb.tell(player,door.." Removed Player: "..words[4])
  92. senpl = ""..words[4]
  93.  
  94. newlist = " "
  95. for i=1,#allowedplayers2 do
  96. playnam = allowedplayers2[i]
  97. if playnam == playere then
  98. else
  99. newlist = newlist.." "..playnam
  100. end
  101. end
  102. fs.delete("AllowedPlay")
  103. h = fs.open("AllowedPlay","w")
  104. h.write(newlist)
  105. h.close()
  106. end
  107. if words[3] == "add" then
  108. playername = words[4]
  109. door = "["..numb.."]"
  110. chatb.tell(player,door.." Added: "..playername)
  111. h = fs.open("AllowedPlay","r")
  112. playerss = h.readAll()
  113. h.close()
  114. fs.delete("AllowedPlay")
  115. h = fs.open("AllowedPlay","w")
  116. newplay = playerss.." "..playername
  117. h.write(newplay)
  118. h.close()
  119. players = newplay
  120. for allowplayer in players:gmatch( "%S+" ) do
  121. allowedplayers[ #allowedplayers + 1 ] = allowplayer
  122. end
  123.  
  124. end
  125. if words[3] == "open" then
  126. redstone.setOutput("bottom", true)
  127. end
  128. if words[3] == "close" then
  129. redstone.setOutput("bottom", true)
  130. end
  131. if words[3] == "stop" then
  132. break
  133. end
  134. if words[3] == nil then
  135. redstone.setOutput("bottom", true)
  136. sleep(3)
  137. redstone.setOutput("bottom", false)
  138. end
  139. end
  140. end
  141. else
  142. for i = 1,#allowedplayers do
  143. if player == allowedplayers[i] then
  144. if words[1] == "door" then
  145. if words[2] == numb then
  146. redstone.setOutput("bottom", true)
  147. sleep(3)
  148. redstone.setOutput("bottom", false)
  149.  
  150. end
  151. end
  152. end
  153. end
  154. end
  155. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement