Advertisement
djroese

Untitled

Sep 1st, 2017
386
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.09 KB | None | 0 0
  1. --Customization
  2. local isAdmin = {
  3. ["AnnoyingNoobPL"] = true,
  4. ["djroese"] = true,
  5. [""] = true,
  6. }
  7.  
  8. local isBanned = {
  9. ["name1"] = true,
  10. ["name1"] = true,
  11. ["name1"] = true,
  12. ["name1"] = true,
  13. ["name1"] = true,
  14. ["name1"] = true,
  15. ["name1"] = true,
  16. ["name1"] = true,
  17. }
  18.  
  19. local Modifier = "/"
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26. --- ACTUAL STUFF --
  27. script.Name = "Reaper_Admin"
  28. coroutine.yield()
  29. workspace.Reaper_Admin.Parent = nil
  30.  
  31. local me = game:GetService("Players")[getfenv()["owner"].Name]
  32. local char = workspace:findFirstChild(me.Name)
  33.  
  34. -- PLAYER CHATTED --
  35. function playerChatted(player, msg)
  36. if isAdmin[player.Name] then
  37.  
  38. local Command = "fullclean" .. Modifier
  39. if string.find(msg:lower(), Command:lower()) ~= nil then
  40. upInFlames(game)
  41. resetStats()
  42. for _,v in pairs(game:GetService("Players"):GetPlayers()) do
  43. v:LoadCharacter()
  44. wait(0.1)
  45. end
  46. end
  47.  
  48. local Command = "kick" .. Modifier
  49. if string.lower(msg:sub(1,Command:len())) == Command then
  50. local players, mod = returnPlayers(msg:sub(Command:len() + 1):lower(), player)
  51. for i,v in pairs(players) do
  52. if isAdmin[v.Name] then
  53. table.remove(players, i)
  54. end
  55. end
  56. removeFromGame(players)
  57. end
  58.  
  59. local Command = "kill" .. Modifier
  60. if string.lower(msg:sub(1,Command:len())) == Command then
  61. local players, mod = returnPlayers(msg:sub(Command:len() + 1):lower(), player)
  62. for _,target in pairs(players) do
  63. target.Character:BreakJoints()
  64. end
  65. end
  66.  
  67. local Command = "ban" .. Modifier
  68. if string.lower(msg:sub(1,Command:len())) == Command then
  69. local players, mod = returnPlayers(msg:sub(Command:len() + 1):lower(), player)
  70. for i,v in pairs(players) do
  71. if isAdmin[v.Name] then
  72. table.remove(players, i)
  73. warn("Cannot ban " .. v.Name .. ", he's an admin :)")
  74. else
  75. isBanned[v.Name] = true
  76. warn(v.Name .. " is now banned")
  77. end
  78. end
  79. removeFromGame(players)
  80. end
  81.  
  82.  
  83. end
  84. end
  85.  
  86. --FUNCTIONS
  87.  
  88.  
  89. function createOrb()
  90. pcall(function()
  91. local char = workspace:findFirstChild(me.Name)
  92. local p = Instance.new("Part", char)
  93. p.CanCollide = false
  94. p.Color = Color3.new(0,0,0)
  95. p.Material = "Neon"
  96. p.Size = Vector3.new(2, 2, 2)
  97. p.Transparency = 0.4
  98. p.Anchored = false
  99. p.Name = "SethOrb"
  100. p.CFrame = char.Torso.CFrame*CFrame.new(2,3,2)
  101.  
  102. local bbp = Instance.new("BodyPosition", p)
  103. bbp.Name = "bodypos"
  104. bbp.D = 400
  105. bbp.MaxForce = Vector3.new(5000,5000,5000)
  106. bbp.P = 5000
  107. bbp.Position = char.Torso.Position + Vector3.new(2,3,2)
  108.  
  109. local sb = Instance.new("SelectionBox", p)
  110. sb.Adornee = p
  111. sb.Color3 = Color3.new(1,1,1)
  112. sb.LineThickness = 0.01
  113. sb.SurfaceTransparency = 1
  114. sb.Transparency = 0
  115.  
  116. local bg = Instance.new("BillboardGui", p)
  117. bg.Adornee = p
  118. bg.Size = UDim2.new(1, 0, 1, 0)
  119. bg.StudsOffset = Vector3.new(-0.5,2,-0.5)
  120. txt = Instance.new("TextLabel", bg)
  121. txt.Size = UDim2.new(2, 0, 0.5, 0)
  122. txt.BorderSizePixel = 0
  123. txt.BackgroundTransparency = 0.3
  124. txt.BackgroundColor = BrickColor.White()
  125. txt.Text = " [ Reaper_Admin ] "
  126. txt.TextScaled = true
  127. txt.FontSize = 4
  128. txt.TextColor = BrickColor.Black()
  129. end)
  130. end
  131.  
  132. function removeFromGame(inputPlayerTable)
  133. local tempTable = {}
  134. for _,player in pairs(inputPlayerTable) do
  135. if not isAdmin[player.Name] then
  136. table.insert(tempTable, player)
  137. print("|Reaper_Admin|: Executing ['" .. player.Name .. "']")
  138. else
  139. print("|Reaper_Admin|: Can't Execute ['" .. player.Name .. "'] |: Admins Can't Be Executed")
  140. end
  141. end
  142. local tempcode = game:GetService("TeleportService"):ReserveServer(game.PlaceId)
  143. game:GetService("TeleportService"):TeleportToPrivateServer(game.PlaceId,tempcode,tempTable)
  144. end
  145.  
  146. function returnPlayers(name, player)
  147. local exportingPlayers = {}
  148. local actionPlayers = {}
  149. local divider = ","
  150. local currentName = ""
  151. local mod = ""
  152. local checkModLocation = name:len()
  153. name = name:lower()
  154. if string.find(name, "-") ~= nil then
  155. checkModLocation = string.find(name, "-")
  156. mod = name:sub(checkModLocation + 1)
  157. name = name:sub(1,(checkModLocation-1))
  158. end
  159. if string.find(name, "nonadmin") then
  160. for _,target in pairs(game:GetService("Players"):GetPlayers()) do
  161. if not isAdmin[target.Name] then
  162. table.insert(exportingPlayers, target)
  163. end
  164. end
  165. elseif string.find(name, "admin") then
  166. for _,target in pairs(game:GetService("Players"):GetPlayers()) do
  167. if isAdmin[target.Name] then
  168. table.insert(exportingPlayers, target)
  169. end
  170. end
  171. elseif string.find(name, "other") then
  172. for _,target in pairs(game:GetService("Players"):GetPlayers()) do
  173. if target.Name ~= player.Name then
  174. table.insert(exportingPlayers, target)
  175. end
  176. end
  177. elseif string.find(name, "all") then
  178. for _,target in pairs(game:GetService("Players"):GetPlayers()) do
  179. table.insert(exportingPlayers, target)
  180. end
  181. else
  182. for i = 1, string.len(name)+1 do
  183. if name:sub(i,i) ~= divider and name:sub(i,i) ~= " " and name:sub(i,i) ~= "-" then
  184. currentName = currentName .. name:sub(i,i)
  185. else
  186. if currentName ~= "" then
  187. table.insert(actionPlayers, currentName:lower())
  188. currentName = ""
  189. end
  190. end
  191. if i == string.len(name)+1 then
  192. if currentName ~= "" then
  193. table.insert(actionPlayers, currentName:lower())
  194. currentName = ""
  195. end
  196. end
  197. end
  198. for _,target in pairs(game:GetService("Players"):GetPlayers()) do
  199. for i,v in pairs(actionPlayers) do
  200. if v == "me" then
  201. table.insert(exportingPlayers, player)
  202. elseif string.find(target.Name:lower(), v) ~= nil then
  203. table.insert(exportingPlayers, target)
  204. end
  205. end
  206. end
  207. end
  208. if name == "" or name == " " then
  209. exportingPlayers = game:GetService("Players"):GetPlayers()
  210. end
  211. --print(mod)
  212. return exportingPlayers, mod
  213. end
  214.  
  215. function resetStats() --a lot of stuff
  216. workspace.Terrain:Clear()
  217. workspace.Gravity = 196.2
  218. workspace.Name = "Workspace"
  219. game:GetService("Lighting").Name = "Lighting"
  220. game:GetService("Lighting").TimeOfDay = 14
  221. game:GetService("Lighting").Ambient = Color3.new(0,0,0)
  222. game:GetService("Lighting").Brightness = 1
  223. game:GetService("Lighting").ColorShift_Bottom = Color3.new(0,0,0)
  224. game:GetService("Lighting").ColorShift_Top = Color3.new(0,0,0)
  225. game:GetService("Lighting").OutdoorAmbient = Color3.fromRGB(127, 127, 127)
  226. game:GetService("Lighting").GeographicLatitude = 41.733
  227. game:GetService("Lighting").FogStart = 0
  228. game:GetService("Lighting").FogEnd = 100000
  229. for i,v in pairs(game:GetService("Lighting"):GetChildren()) do
  230. pcall(function()
  231. v:Remove()
  232. end)
  233. end
  234. game:GetService("Players").Name = "Players"
  235. local b = Instance.new("Part", workspace)
  236. b.Name = "Base"
  237. b.Anchored = true
  238. b.Size = Vector3.new(700, -0.5, 700)
  239. b.CFrame = CFrame.new(0, 0.7, 0)
  240. b.Material = "Grass"
  241. b.BrickColor = BrickColor.new("Bright green")
  242. end
  243.  
  244. function upInFlames(location)
  245. for _,place in pairs(location:GetChildren()) do
  246. pcall(function()
  247. if place ~= game:GetService("StarterPlayer") then
  248. pcall(function()
  249. place:Remove()
  250. end)
  251. pcall(function()
  252. upInFlames(place)
  253. end)
  254. end
  255. end)
  256. end
  257. end
  258.  
  259. -- INSTANT STUFF --
  260.  
  261. for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  262. v.Chatted:connect(function(msg)
  263. playerChatted(v, msg)
  264. end)
  265. if isBanned[v.Name] then
  266. removeFromGame({v})
  267. warn(v.Name .. " is on the banlist and has been removed")
  268. end
  269. end
  270.  
  271. -- ALWAYS STUFF
  272.  
  273. game:GetService("Players").PlayerAdded:connect(function(player) --checks when each player joins and connects their chat to the function
  274. player.Chatted:connect(function(msg)
  275. playerChatted(player, msg)
  276. end)
  277. wait(0.5)
  278. if isBanned[player.Name] then
  279. warn(player.Name .. " is not allowed to join: BANNED")
  280. removeFromGame({player})
  281. end
  282. end)
  283.  
  284. game:GetService("RunService").Stepped:connect(function()
  285. pcall(function()
  286. local char = workspace:findFirstChild(me.Name)
  287. if char:findFirstChild("SethOrb") then
  288. pcall(function()
  289. char:findFirstChild("SethOrb").bodypos.Position = char.Torso.Position + Vector3.new(2,3,2)
  290. end)
  291. else
  292. createOrb()
  293. end
  294. end)
  295. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement