Advertisement
Guest User

Untitled

a guest
Aug 30th, 2015
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.39 KB | None | 0 0
  1. @name SafeTime
  2. @persist Data:table FreeTime BlackList:table
  3.  
  4. runOnChat(1)
  5. runOnTick(1)
  6.  
  7. FreeTime = 10
  8.  
  9. if(first())
  10. {
  11. concmd("say E2 replaced/updated. Stats have been reset.")
  12.  
  13. function number blackListed(E:entity)
  14. {
  15. return BlackList[E:steamID(), number]
  16. }
  17.  
  18. function void addPlayer(E:entity)
  19. {
  20. if(!blackListed(E))
  21. {
  22. PlyData = table()
  23. PlyData["Entity", entity] = E
  24. PlyData["Alive", number] = E:isAlive()
  25. PlyData["LastSpawn", number] = 0
  26. PlyData["Reported", number] = 1
  27. PlyData["Deaths", number] = 0
  28. PlyData["NoClipReport", number] = 0
  29. PlyData["NoClipStart", number] = 0
  30. Data[E:steamID(), table] = PlyData
  31. }
  32. }
  33.  
  34. function number gotPlayer(E:entity)
  35. {
  36. return Data[E:steamID(), table]:count() != 0
  37. }
  38.  
  39. function void blackList(E:entity)
  40. {
  41. BlackList[E:steamID(), number] = 1
  42. if(gotPlayer(E))
  43. {
  44. Data[E:steamID(), table] = table()
  45. }
  46. }
  47.  
  48. function void unBlackList(E:entity)
  49. {
  50. BlackList[E:steamID(), number] = 0
  51. addPlayer(E)
  52. }
  53. }
  54.  
  55. if(chatClk())
  56. {
  57. P = lastSaid():lower():explode(" ")
  58. if(chatClk(owner()))
  59. {
  60. if(P[1, string] == "!blacklistme")
  61. {
  62. blackList(lastSpoke())
  63. }
  64. elseif(P[1, string] == "!unblacklistme")
  65. {
  66. unBlackList(lastSpoke())
  67. }
  68. elseif(P[1, string] == "!blacklist")
  69. {
  70. blackList(findPlayerByName(P[2, string]))
  71. }
  72. elseif(P[1, string] == "!unblacklist")
  73. {
  74. unBlackList(findPlayerByName(P[2, string]))
  75. }
  76. }
  77. else
  78. {
  79. if(P[1, string] == "!blacklistme")
  80. {
  81. blackList(lastSpoke())
  82. }
  83. elseif(P[1, string] == "!unblacklistme")
  84. {
  85. unBlackList(lastSpoke())
  86. }
  87. }
  88. }
  89.  
  90. if(findCanQuery())
  91. {
  92. P = players()
  93. foreach(A, E:entity = P)
  94. {
  95. if(blackListed(E)){ continue }
  96. if(!gotPlayer(E))
  97. {
  98. addPlayer(E)
  99. }
  100.  
  101. if(!Data[E:steamID(), table]["NoClipReport", number] & Data[E:steamID(), table]["Reported", number] & PlyData["LastSpawn", number] != 0 & E:isAlive() & E:inNoclip())
  102. {
  103. concmd("say " + E:name() + " entered noclip while not under spawn protection.")
  104. Data[E:steamID(), table]["NoClipReport", number] = 1
  105. Data[E:steamID(), table]["NoClipStart", number] = systime()
  106. }
  107. elseif(Data[E:steamID(), table]["NoClipReport", number])
  108. {
  109. Time = ceil(systime() - Data[E:steamID(), table]["NoClipStart", number])
  110. concmd("say " + E:name() + " exited noclip after " + Time:toString() + (Time != 1 ? " seconds." : " second."))
  111. Data[E:steamID(), table]["NoClipReport", number] = 0
  112. }
  113.  
  114. if(!E:isAlive() & Data[E:steamID(), table]["Alive", number])
  115. {
  116. Data[E:steamID(), table]["Alive", number] = 0
  117. if(!Data[E:steamID(), table]["Reported", number])
  118. {
  119. concmd("say " + E:name() + " died before " + FreeTime:toString() + " seconds had passed.")
  120. }
  121. }
  122. elseif(E:isAlive() & !Data[E:steamID(), table]["Alive", number])
  123. {
  124. Data[E:steamID(), table]["Alive", number] = 1
  125. Data[E:steamID(), table]["LastSpawn", number] = systime()
  126. Data[E:steamID(), table]["Deaths", number] = Data[E:steamID(), table]["Deaths", number] + 1
  127. concmd("say " + E:name() + " just respawned. He has " + Data[E:steamID(), table]["Deaths", number]:toString() + (Data[E:steamID(), table]["Deaths", number] == 1 ? " death." : " deaths."))
  128. Data[E:steamID(), table]["Reported", number] = 0
  129. }
  130. elseif(E:isAlive() & Data[E:steamID(), table]["Alive", number] & !Data[E:steamID(), table]["Reported", number])
  131. {
  132. if(systime() - Data[E:steamID(), table]["LastSpawn", number] >= FreeTime)
  133. {
  134. Data[E:steamID(), table]["Reported", number] = 1
  135. concmd("say " + E:name() + " respawned " + FreeTime:toString() + " seconds ago and is now part of the game again.")
  136. }
  137. }
  138. }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement