Advertisement
cuepointthekid

Untitled

Jul 7th, 2016
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 135.07 KB | None | 0 0
  1. --script.watermark.Parent = game.StarterGui
  2. --script.UnlimitedStudiosMark.Parent = game.StarterGui
  3. --script.Terror.Parent = game.Lighting
  4.  
  5. for a,i in pairs(getfenv()) do if i ~= script then getfenv()[a] = nil end end --This bit is here for protection of the script
  6. --[[
  7. ====================================================================
  8. ========================= BASIC SETTINGS ===========================
  9. ==================================================================== ]]
  10.  
  11. SuperAdmins = {"Cuepoint","","Player","",""} --Access to Most commands, you don't need to add your name if you made the game, it automatically recognizes that
  12. Admins = {""} --Access to Some commands, besides ban, kick, unban, punish, unpunish, shutdown, and scripting commands
  13. SpecialAdmins = {}
  14. BannedPlayers = {""} --Banned Players
  15. --[[
  16. ====================================================================
  17. ======================= GAMEPASS SETTINGS ==========================
  18. ==================================================================== ]]
  19.  
  20. AdminGamePass = 0 --A game pass for players to get Admin
  21.  
  22. SuperAdminGamePass = 0 --A game pass for players to get Super Admin
  23. --[[
  24. ====================================================================
  25. ======================= GROUP SETTINGS ==========================
  26. ==================================================================== ]]
  27.  
  28. GroupId = 2627584 --A group ID to give admin to
  29.  
  30. GroupIdAdminRank = 45 --Minimum rank in group to get Admin
  31.  
  32. GroupIdSuperAdminRank = 50 --Minimum rank in group to get Super Admin
  33.  
  34. div1 = 0 -- You can add more of these just change it to div2, div3, etc... MAX 10 = less lag
  35. div1m = "" -- You can add more of these just change it to div2m, div3m, etc... MAX 10 = less lag
  36. div2 = 0
  37. div2m = ""
  38. div3 = 0
  39. div3m = ""
  40. div4 = 0
  41. div4m = ""
  42. div5 = 0
  43. div5m = ""
  44. div6 = 0
  45. div6m = ""
  46. div7 = 0
  47. div7m = ""
  48. div8 = 0
  49. div8m = ""
  50. div9 = 0
  51. div9m = ""
  52. div10 = 0
  53. div10m = ""
  54. --[[
  55. ====================================================================
  56. ======================= ADVANCED SETTINGS ==========================
  57. ==================================================================== ]]
  58.  
  59. --You may select another standard form of syntax
  60. --Make sure only one is enabled, or else it will revert to default
  61.  
  62. Syntax_Default = false --The default syntax. Commands begin with a :, separates using a space (ex. :walkspeed me 20)
  63. Syntax_NonRoblox = false --The default command syntax outside Roblox. / begins a command, arguments are separated using spaces (ex. /walkspeed me 20)
  64. Syntax_Person299s = false --The same syntax as Person299's admin commands. Commands have no beginning, and they use / to separate arguments (ex. walkspeed/me/20)
  65.  
  66. --Or configure your own command syntax
  67.  
  68. Override_Syntax = true --Set this to true if you want to chance CommandPrefix or Command Separator
  69. CommandPrefix = ";" --The beginning of a command, ":" by default, may be more than 1 character
  70. CommandSeparator = " " --The character separating commands
  71. ReportUnknownCommand = false --If Override_Syntax is on, this will allow you to make it where it does not warn you if a command doesn't exist. Useful for those using nothing as the command prefix.
  72.  
  73. SBMode = true --Turn on if you're using this on script builders. It will automatically enable if you're on Anaminus's Script Builders
  74. DisableSB = true --If the script is run on a script builder, you can disable other scripts using this. This may not work properly without SBMode on.
  75. AvoidAntibans = false --If the script is run on a script builder, you can choose to trick Antiban scripts while attempting to ban people, this can also be changed using the "trickantibans" command. As of now the player list can bug out from it, but that's Roblox's fault.
  76.  
  77. --When a player respawns, this will execute the commands under root privilages towards that person. Use [PlayerName] for every command that needs the person's name who respawned. --[[
  78. ====================================================================
  79. =========================== GUI SETTINGS ===========================
  80. ==================================================================== ]]
  81.  
  82. TweenTime = 0.5 --The base for how long things animate (AKA Tween). Certain things may take longer or shorter than the number here, it's just a base value. Lower numbers = faster
  83.  
  84. TweenStyle = "Bounce" --The style of how things animate. If this is improper, a bunch of the script can break. Be careful.
  85. --[[
  86. ====================================================================
  87. ======================== TECHNICAL SETTINGS ========================
  88. ==================================================================== ]]
  89.  
  90. Hidden = false --Removes the admin script from explorer view and make it so other scripts cannot tamper with the admin script
  91.  
  92. Debug = false --Please keep this off in online mode. It can pose a security risk if used on online mode. Lets you chat for other players to debug commands in Studio.
  93.  
  94. BreakServices = false --If you're on a script builder, you can choose to change the name of services to a randomized name, to try and prevent other scripts from functioning correctly. Scripts using :GetService or :service will not be affected.
  95.  
  96. Undisableable = true --Makes the script nearly 100% unstoppable without modifications to the source. Good for script builders and against exploiters. This will automatically enable Hidden, as it must also be Hidden to be undisableable. Not present in Studio.
  97. --[[
  98. A note to those planning on adding your own commands - Permission Levels to use with the MinimumPermission function:
  99. Level 0 - Everyone (NonAdmins)
  100. Level 1 - Special Admins
  101. Level 2 - Admins
  102. Level 3 - Super Admins
  103. Level 4 - Root
  104. Level 5 and above - Restricted to everything (Admin Self Learning System)
  105.  
  106. ====================================================================
  107. ======================= System Configurator ========================
  108. ==================================================================== ]]
  109.  
  110. if game.PlaceId == 56786 or game.PlaceId == 113456 then SBMode = true end --If you're on Anaminus's Script Builder, turn on SBMode so users don't need to themselves.
  111. if game.PlaceId == 0 then Debug = true Hidden = false Undisableable = false end --If it appears the player is in Studio, enable debug mode
  112.  
  113. AdminThread = function(a) ypcall(a) end
  114. if Undisableable then Hidden = true if SBMode then script:ClearAllChildren() end AdminThread = Spawn end
  115.  
  116. AdminThread(function() --Somehow, the Roblox Spawn function makes the script still run if it's in hidden mode even if it's completely disabled
  117. local Workspace = game:GetService("Workspace")
  118. local Players = game:GetService("Players")
  119. local Lighting = game:GetService("Lighting")
  120. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  121. local ServerStorage = game:GetService("ServerStorage")
  122. local ServerScriptService = game:GetService("ServerScriptService")
  123. local StarterGui = game:GetService("StarterGui")
  124. local StarterPack = game:GetService("StarterPack")
  125. local Debris = game:GetService("Debris")
  126. local Teams = game:GetService("Teams")
  127. local TeleportService = game:GetService("TeleportService")
  128. local MarketplaceService = game:GetService("MarketplaceService")
  129.  
  130. CodeName=string.char(math.random(1,255))
  131. local Storage = game:service('Lighting')
  132. local Storage2 = game:service('ReplicatedStorage')
  133. local Storage3 = game:service('ServerStorage')
  134.  
  135. local tool = tool
  136. local tool2 = tool2
  137. local tool3 = tool3
  138. function tool() for i, v in pairs(Storage:GetChildren()) do if v:IsA("Tool") or v:IsA("HopperBin") then table.insert(tools,v) end end end
  139. function tool2() for i, v in pairs(Storage2:GetChildren()) do if v:IsA("Tool") or v:IsA("HopperBin") then table.insert(tools,v) end end end
  140. function tool3() for i, v in pairs(Storage3:GetChildren()) do if v:IsA("Tool") or v:IsA("HopperBin") then table.insert(tools,v) end end end
  141.  
  142. local Sandboxer = {}
  143.  
  144. tweentime = TweenTime
  145. tweenstyle = TweenStyle
  146. breakservices = BreakServices
  147. avoidantibans = AvoidAntibans
  148.  
  149. StopDisco = false
  150.  
  151. local ok,err = pcall(function() NetworkServer = game:GetService("NetworkServer") end)
  152. if not ok then print("Aw dang, the NetworkServer couldn't get hooked "..err) else print("Yay! The NetworkServer is hooked") end
  153.  
  154. if not tweentime then tweentime = 0.5 end
  155. if not tweenstyle then tweenstyle = "Quint" end
  156. if not AdminGamePass then AdminGamePass = 0 end
  157. if not SuperAdminGamePass then SuperAdminGamePass = 0 end
  158. if not Admins then Admins = {} end
  159. if not SuperAdmins then SuperAdmins = {} end
  160. if not SpecialAdmins then SpecialAdmins = {} end
  161. if not BannedPlayers then BannedPlayers = {} end
  162. if breakservices then for _,i in pairs(game:GetChildren()) do pcall(function() i.Name = math.random(1,math.huge)/1000000 end) end end
  163.  
  164. rawerror = error
  165. rawassert = assert
  166. error = function(msg)rawerror("CommandException:"..((msg ~= nil and msg ~= "") and tostring(msg)) or "An error occurred")end
  167. local version = "2.0"
  168. logs = {}
  169. chatlogs = {}
  170. tools ={}
  171. IsPersonalServer = Workspace:FindFirstChild("PSVariable") ~= nil
  172. Scripts = {}
  173. Lockdown = false
  174. glock = false
  175. stoploops = false
  176. StopDisco = false
  177. settingsIssue = "NoIssue"
  178. Commands = {}
  179. AllPlayers = {}
  180. local BaseScript,BaseLocalScript
  181.  
  182. ROOT = { Name="ROOT", PlayerGui = { FindFirstChild=function()return { FindFirstChild=function()return true end, WaitForChild=function()wait()return true end, } end, WaitForChild=function() wait() return { FindFirstChild=function()return true end, WaitForChild=function()wait()return true end, } end, }, StarterGear = { FindFirstChild=function()return { FindFirstChild=function()return true end, WaitForChild=function()wait()return true end, } end, WaitForChild=function() wait() return { FindFirstChild=function()return true end, WaitForChild=function()wait()return true end, } end, }, Backpack = { FindFirstChild=function()return { FindFirstChild=function()return true end, WaitForChild=function()wait()return true end, } end, WaitForChild=function() wait() return { FindFirstChild=function()return true end, WaitForChild=function()wait()return true end, } end, }, FindFirstChild=function()return { FindFirstChild=function()return true end, WaitForChild=function()wait()return true end, } end, WaitForChild=function() wait() return { FindFirstChild=function()return true end, WaitForChild=function()wait()return true end, } end, }--Root access profile, just to remain mostly compatbile with commands
  183. setmetatable(ROOT,{ __tostring = function()return "ROOT" end })--Metatables are magical
  184.  
  185. if SBMode then for _,i in pairs(script:GetChildren()) do if i:IsA("Script") and not i:IsA("LocalScript") then for _,j in pairs(i:GetChildren()) do if j:IsA("StringValue") then BaseScript = i end end elseif i:IsA("LocalScript") then for _,j in pairs(i:GetChildren()) do if j:IsA("StringValue") then BaseLocalScript = i end end end end else BaseScript = script:FindFirstChild("Script") and script:FindFirstChild("Script"):clone() BaseLocalScript = script:FindFirstChild("LocalScript") and script:FindFirstChild("LocalScript"):clone() end
  186.  
  187. Permissions = { [ROOT] = 4; ROOT = 4; }
  188. PlaceNames = {}
  189.  
  190. CodeSignCache = {[ [[
  191. local Player = game.Players.LocalPlayer
  192. local Mouse = Player:GetMouse()
  193. local Torso = Player.Character:WaitForChild("Torso")
  194. local Humanoid = Player.Character:WaitForChild("Humanoid")
  195. local Flying = true
  196. local Control = {f = 0, b = 0, l = 0, r = 0}
  197. local LastControl = {f = 0, b = 0, l = 0, r = 0}
  198. local MaxSpeed = 50
  199. local Speed = 0
  200. local Camera = Workspace.CurrentCamera
  201.  
  202. local FlySmoke = Instance.new("Smoke",Torso)
  203. FlySmoke.Name = "FlySmoke"
  204. FlySmoke.Opacity = 0.08
  205. FlySmoke.Size = 25
  206.  
  207. Instance.new("StringValue",script).Name = "DO_NOT_REENABLE"
  208.  
  209. script.Parent = Player:FindFirstChild("PlayerGui")
  210. script.Name = "ADMIN_FLY_SCRIPT"
  211.  
  212. function Fly()
  213. local Gyro = Instance.new("BodyGyro", Torso)
  214. Gyro.P = 9e4
  215. Gyro.maxTorque = Vector3.new(9e9, 9e9, 9e9)
  216. Gyro.cframe = Torso.CFrame --why is cframe in lowercase for BodyGyros
  217.  
  218. local Velocity = Instance.new("BodyVelocity", Torso)
  219. Velocity.velocity = Vector3.new(0,0.1,0) --roblox why is velocity lowercase
  220. Velocity.maxForce = Vector3.new(9e9, 9e9, 9e9)
  221.  
  222. repeat
  223. wait()
  224.  
  225. Humanoid.PlatformStand = true
  226.  
  227. if Control.l + Control.r + Control.f + Control.b > 0 then
  228. FlySmoke.Enabled = true
  229. else
  230. FlySmoke.Enabled = false
  231. end
  232.  
  233. if Control.l + Control.r ~= 0 or Control.f + Control.b ~= 0 then
  234.  
  235. Speed = Speed+.5+(Speed/MaxSpeed)
  236.  
  237. if Speed > MaxSpeed then
  238. Speed = MaxSpeed
  239. end
  240. elseif not (Control.l + Control.r ~= 0 or Control.f + Control.b ~= 0) and Speed ~= 0 then
  241. Speed = Speed-1
  242. if Speed < 0 then
  243. Speed = 0
  244. end
  245. end
  246.  
  247. if (Control.l + Control.r) ~= 0 or (Control.f + Control.b) ~= 0 then
  248.  
  249. Velocity.velocity =
  250. ((Camera.CoordinateFrame.lookVector * (Control.f + Control.b)) +
  251. ((Camera.CoordinateFrame * CFrame.new(Control.l + Control.r,(Control.f + Control.b) * 0.2, 0).p) - --yuck
  252. Camera.CoordinateFrame.p))*Speed
  253.  
  254. LastControl = {f = Control.f, b = Control.b, l = Control.l, r = Control.r}
  255.  
  256. elseif (Control.l + Control.r) == 0 and (Control.f + Control.b) == 0 and Speed ~= 0 then
  257.  
  258. Velocity.velocity =
  259. ((Camera.CoordinateFrame.lookVector * (LastControl.f + LastControl.b)) +
  260. ((Camera.CoordinateFrame * CFrame.new(LastControl.l + LastControl.r, (LastControl.f + LastControl.b) * 0.2, 0).p) - --also yuck
  261. Camera.CoordinateFrame.p))*Speed
  262.  
  263. else
  264. Velocity.velocity = Vector3.new(0,0.1,0)
  265. end
  266.  
  267. Gyro.cframe = Camera.CoordinateFrame * CFrame.Angles(-math.rad((Control.f+Control.b)*50*Speed/MaxSpeed),0,0)
  268.  
  269. until not Flying or not script.Parent
  270.  
  271. Control = {f = 0, b = 0, l = 0, r = 0}
  272. LastControl = {f = 0, b = 0, l = 0, r = 0}
  273. Speed = 0
  274. Gyro:Destroy()
  275. Velocity:Destroy()
  276. Humanoid.PlatformStand = false
  277.  
  278. end
  279.  
  280. Mouse.KeyDown:connect(function(key)
  281. if key:lower() == "e" then
  282. Flying = not Flying
  283. if Flying then
  284. Fly()
  285. end
  286. elseif key:lower() == "w" then
  287. Control.f = 1
  288. elseif key:lower() == "s" then
  289. Control.b = -1
  290. elseif key:lower() == "a" then
  291. Control.l = -1
  292. elseif key:lower() == "d" then
  293. Control.r = 1
  294. end
  295. end)
  296.  
  297. Mouse.KeyUp:connect(function(key)
  298. if key:lower() == "w" then
  299. Control.f = 0
  300. elseif key:lower() == "s" then
  301. Control.b = 0
  302. elseif key:lower() == "a" then
  303. Control.l = 0
  304. elseif key:lower() == "d" then
  305. Control.r = 0
  306. end
  307. end)
  308.  
  309. Fly()]]] = "bc194bb513ac52f25311f39279e7b6859c1bc754";
  310.  
  311. [ [[
  312. local Player = game.Players.LocalPlayer
  313. local Mouse = Player:GetMouse()
  314. local Character = Player.Character
  315. local Humanoid = Character:FindFirstChild("Humanoid")
  316. local Torso = Character:WaitForChild("Torso")
  317. local Camera = Workspace.CurrentCamera
  318. local Move = {W = 0, S = 0, A = 0, D = 0}
  319. local Speed = 2
  320.  
  321. Instance.new("StringValue",script).Name = "DO_NOT_REENABLE"
  322.  
  323. script.Parent = Player:FindFirstChild("PlayerGui")
  324. script.Name = "ADMIN_NOCLIP_SCRIPT"
  325.  
  326. Mouse.KeyDown:connect(function(key)
  327. if key:lower() == "w" then
  328. Move.W = 1
  329. elseif key:lower() == "s" then
  330. Move.S = 1
  331. elseif key:lower() == "a" then
  332. Move.A = 1
  333. elseif key:lower() == "d" then
  334. Move.D = 1
  335. elseif key:lower() == "q" then
  336. Speed = Speed + 1
  337. elseif key:lower() == "e" then
  338. Speed = Speed - 1
  339. end
  340. end)
  341.  
  342. Mouse.KeyUp:connect(function(key)
  343. if key:lower() == "w" then
  344. Move.W = 0
  345. elseif key:lower() == "s" then
  346. Move.S = 0
  347. elseif key:lower() == "a" then
  348. Move.A = 0
  349. elseif key:lower() == "d" then
  350. Move.D = 0
  351. end
  352. end)
  353.  
  354. Torso.Anchored = true
  355. Humanoid.PlatformStand = true
  356.  
  357. local eventt = Humanoid.Changed:connect(function()
  358. Humanoid.PlatformStand = true
  359. end)
  360.  
  361. local event = game:GetService("RunService").RenderStepped:connect(function()
  362. Torso.CFrame = CFrame.new(
  363. Torso.Position,
  364. Camera.CoordinateFrame.p) *
  365. CFrame.Angles(0, math.rad(180), 0) *
  366. CFrame.new((Move.D - Move.A) *
  367. Speed,
  368. 0,
  369. (Move.S - Move.W) *
  370. Speed
  371. )
  372. end)
  373.  
  374. repeat wait(0.25) until not script.Parent
  375.  
  376. event:disconnect()
  377. eventt:disconnect()]]] = "b7d0deea7bfdf2cc3f3be7e6c56f837229231258";
  378. }
  379.  
  380. --configures syntax to use
  381.  
  382. if Override_Syntax then if not CommandPrefix and not CommandSeparator then settingsIssue = "CommandPrefix and CommandSeparator were missing while overriding syntax. Reverted to default." CommandPrefix = ":" CommandSeparator = " " elseif not CommandPrefix then settingsIssue = "CommandPrefix was missing while overriding syntax. Reverted to default." CommandPrefix = ":" CommandSeparator = " " elseif not CommandSeparator then settingsIssue = "CommandSeparator was missing while overriding syntax. Reverted to default." CommandPrefix = ":" CommandSeparator = " " end else if (Syntax_Default and Syntax_Person299s) or (Syntax_Default and Syntax_NonRoblox) or (Syntax_Person299s and Syntax_NonRoblox) then settingsIssue = "There were multiple syntaxes selected. Reverted to default." CommandPrefix = ":" CommandSeparator = " " elseif Syntax_Default then CommandPrefix = ":" CommandSeparator = " " elseif Syntax_Person299s then CommandPrefix = "" CommandSeparator = "/" elseif Syntax_NonRoblox then CommandPrefix = "/" CommandSeparator = " " elseif not Syntax_Default and not Syntax_NonRoblox and not Syntax_Person299s then settingsIssue = "No syntax was enabled. Reverted to default." CommandPrefix = ":" CommandSeparator = " " end end
  383.  
  384. if not _G.Admi then _G.Admi = {} end
  385.  
  386. if IsPersonalServer and Hidden then script.Parent = ServerScriptService --Makes script no longer available to clients, but the server still sees it
  387. elseif Hidden then script.Archivable = false script:Destroy() end --Makes script no longer available to other client or server scripts
  388.  
  389. -----------------------------------------------------------------
  390. --------------------- Admin Core Framework ----------------------
  391. -----------------------------------------------------------------
  392.  
  393. function MakeScript(src,parent) local parent = parent or Workspace assert(BaseScript,"The ability to create scripts is currently unavailable at this time.") local newscr = BaseScript:clone() newscr.Disabled = true newsource = src local valueSource = Instance.new("StringValue",newscr) valueSource.Name = "ADMIN_ENCODED_SOURCE" valueSource.Value = newsource local valueSignature = Instance.new("StringValue",newscr) valueSignature.Name = "ADMIN_SCRIPT_SIGNATURE" valueSignature.Value = sha1.hex(newsource) newscr.Parent = parent newscr.Disabled = false end
  394. function MakeLocalScript(src,parent) assert(BaseLocalScript,"The ability to create localscripts is currently unavailable at this time.") local newscr = BaseLocalScript:clone() newscr.Disabled = true newsource = src local valueSource = Instance.new("StringValue",newscr) valueSource.Name = "ADMIN_ENCODED_SOURCE" valueSource.Value = newsource local WasCached = false if CodeSignCache[newsource] then print("Signature already cached!") WasCached = true end local Signature = CodeSignCache[newsource] or sha1.hex(newsource) local valueSignature = Instance.new("StringValue",newscr) valueSignature.Name = "ADMIN_SCRIPT_SIGNATURE" valueSignature.Value = Signature if not WasCached then CodeSignCache[newsource] = Signature end if parent then newscr.Parent = parent newscr.Disabled = false else for _,i in pairs(Players:GetPlayers()) do if i:FindFirstChild("Backpack") or i:FindFirstChild("PlayerGui") then local asdasd = newscr:clone() asdasd.Parent = i:FindFirstChild("Backpack") or i:FindFirstChild("PlayerGui") asdasd.Disabled = false end end newscr:Destroy() end end
  395. function GetPlaceOwner() if _PlaceOwner then return tostring(_PlaceOwner) end _PlaceOwner = MarketplaceService:GetProductInfo(game.PlaceId)["Creator"]["Name"] end
  396. function StringsToRGB(r,g,b) return Color3.new( assert(tonumber(r),"Red value missing or not a number")/255, assert(tonumber(g),"Green value missing or not a number")/255, assert(tonumber(b),"Blue value missing or not a number")/255 ) end --very effective and compact
  397. function LevelToString(num) return ({"Everyone","Special Admins","Admins","Super Admins","ROOT"})[assert(tonumber(num),"INTERNAL ERROR: CommandScript.LevelToString: num missing or not a number")+1] or "<UNKNOWN PERMISSIONS>" end --Not the prettiest thing in the world, but it works very good
  398. function MinimumPermission(num,plr) if plr == ROOT then return true end if Permissions[plr.Name] and Permissions[plr.Name] < num then error("You are not permitted to do that.\n\nThis command is set to only be used by "..LevelToString(num).."\n\nIf you think this is a mistake, contact the Place Owner") end return true end
  399. function assert(statement,msg) if not statement then error(msg or "Assertion failed!") end return statement end
  400. function Shutdown() for _,i in pairs(Players:GetPlayers()) do i:Kick() end ypcall(function() Instance.new("ManualSurfaceJointInstance") end) end
  401. function DecipherCommand(str) assert(str,"Unable to decipher command: No string provided") local newstr = str local strings = {} while newstr:sub(#newstr,#newstr) == CommandSeparator do newstr = newstr:sub(1,#newstr-1) end --[[removes excess space on the end of commands to better understand commands]] while newstr:find(CommandSeparator) do local nextspace,_ = newstr:find(CommandSeparator) table.insert(strings,newstr:sub(1,nextspace-1)) newstr = newstr:sub(nextspace+1) end table.insert(strings,newstr) return strings end
  402. --This doesn't use patterns (yet) because of the fact that you can change the CommandSeparator.
  403. --I'm not as experienced with string patterns but I'll hopefully find a more efficient way soon
  404. function SandboxThread(func)
  405. --[[local newfenv = { Delay = Delay; delay = delay; wait = wait; Wait = Wait; LoadLibrary = LoadLibrary; printidentity = printidentity; require = require; Spawn = Spawn; spawn = spawn; tick = tick; time = time; ypcall = ypcall; PluginManager = PluginManager; crash__ = crash__; LoadRobloxLibrary = LoadRobloxLibrary; settings = settings; Settings = Settings; stats = stats; Stats = Stats; UserSettings = UserSettings; table = table; coroutine = coroutine; getfenv = getfenv; print = print; setfenv = setfenv; setmetatable = setmetatable; getmetatable = getmetatable; string = string; math = math; assert = assert; error = error; collectgarbage = collectgarbage; dofile = dofile; _G = _G; gcinfo = gcinfo; pairs = pairs; ipairs = ipairs; load = load; loadfile = loadfile; newproxy = newproxy; next = next; pcall = pcall; rawequal = rawequal; rawset = rawset; rawget = rawget; select = select; tonumber = tonumber; tostring = tostring; type = type; unpack = unpack; _VERSION = _VERSION; xpcall = xpcall; Vector3 = Vector3; Vector2 = Vector2; CFrame = CFrame; UDim = UDim; UDim2 = UDim2; Ray = Ray; Instance = Instance; Color3 = Color3; BrickColor = BrickColor; }
  406. print("wewewewwew") local oldfenv = getfenv(1) local newfenv = setmetatable({},{ __index = function(t,i) if i == "oldfenv" then print() end end; _newindex = function(t,i,v) if Sandboxer[i] then error("attempt to modify outside of sandbox") end print(t,i,v) t[i] = v end; __metatable = true; }) setfenv(1,newfenv)]]
  407. func()
  408. end --TODO: Implement sandboxing for all non-rooted commands
  409. function GetPlayersFromString(str,spokenplayer)
  410. if not str or str == "" then error("The playerstring was not defined by the command code for function GetPlayersFromString (arg 1)") end
  411. assert(spokenplayer,"The spokenplayer was not defined by the command code for Function GetPlayersFromString (arg 2)")
  412. local foundplayers = {}
  413. for listedplayer in str:lower():gmatch("[^,]+") do
  414. if listedplayer:lower() == "all" then for _,i in pairs(Players:GetPlayers()) do table.insert(foundplayers,i) end
  415. elseif listedplayer:lower():sub(1,1)=='g' then for _,i in pairs(Players:GetPlayers()) do local p=i if tonumber(listedplayer:lower():sub(2)) then if p:IsInGroup(tonumber(listedplayer:lower():sub(2))) then table.insert(foundplayers,p) end end end
  416. elseif listedplayer:lower():sub(1,1)=='%' then for i,v in pairs(game:service('Teams'):children()) do if v.Name:lower():sub(1,#listedplayer:sub(2))==listedplayer:lower():sub(2) then for k,m in pairs(Players:GetPlayers()) do local p=m if p.TeamColor==v.TeamColor then table.insert(foundplayers,p) end end end end
  417. elseif listedplayer:lower():sub(1,1)=='-' then for i,v in pairs(Players:GetPlayers()) do if v.Name:lower():sub(1,#listedplayer:sub(2))==listedplayer:lower():sub(2) then table.remove(foundplayers,i) end end
  418. elseif listedplayer:lower():sub(1,7)=="radius-" then local num = tonumber(listedplayer:lower():sub(8)) for i,v in pairs(Players:GetChildren()) do local p = Players:GetPlayers() if p ~= listedplayer and listedplayer:DistanceFromCharacter(p.Character.Head.Position) <= num then table.insert(foundplayers,p) end end
  419. elseif listedplayer:lower() == "others" then for _,i in pairs(Players:GetPlayers()) do if i.Name:lower() ~= spokenplayer.Name:lower() then table.insert(foundplayers,i) end end
  420. elseif listedplayer:lower() == "admins" then for _,i in pairs(Players:GetPlayers()) do if Permissions[i.Name] > 0 then table.insert(foundplayers,i) end end
  421. elseif listedplayer:lower() == "nonadmins" then for _,i in pairs(Players:GetPlayers()) do if Permissions[i.Name] <= 0 then table.insert(foundplayers,i) end end
  422. elseif listedplayer:lower() == "random" then table.insert(foundplayers,Players:GetPlayers()[#Players:GetPlayers()])
  423. elseif listedplayer:lower() == "me" and spokenplayer then if listedplayer then table.insert(foundplayers,spokenplayer) end
  424. elseif listedplayer:lower() == "friends" then for _,i in pairs(Players:GetChildren()) do if i:IsFriendsWith(spokenplayer.userId) then table.insert(foundplayers,i) end end
  425. elseif listedplayer:lower() == "bestfriends" then for _,i in pairs(Players:GetChildren()) do if i:IsBestFriendsWith(spokenplayer.userId) then table.insert(foundplayers,i) end end
  426. elseif listedplayer:lower() == "nonfriends" then for _,i in pairs(Players:GetChildren()) do if not i:IsFriendsWith(spokenplayer.userId) then table.insert(foundplayers,i) end end
  427. elseif listedplayer:lower() == "nonbestfriends" then for _,i in pairs(Players:GetChildren()) do if not i:IsBestFriendsWith(spokenplayer.userId) then table.insert(foundplayers,i) end end
  428. elseif listedplayer:lower() == "nbc" then for _,i in pairs(Players:GetChildren()) do if i.MembershipType == Enum.MembershipType.None then table.insert(foundplayers,i) end end
  429. elseif listedplayer:lower() == "bc" then for _,i in pairs(Players:GetChildren()) do if i.MembershipType == Enum.MembershipType.BuildersClub then table.insert(foundplayers,i) end end
  430. elseif listedplayer:lower() == "tbc" then for _,i in pairs(Players:GetChildren()) do if i.MembershipType == Enum.MembershipType.TurboBuildersClub then table.insert(foundplayers,i) end end
  431. elseif listedplayer:lower() == "obc" then for _,i in pairs(Players:GetChildren()) do if i.MembershipType == Enum.MembershipType.OutrageousBuildersClub then table.insert(foundplayers,i) end end
  432. elseif listedplayer:lower() == "anybc" then for _,i in pairs(Players:GetChildren()) do if i.MembershipType == Enum.MembershipType.OutrageousBuildersClub then table.insert(foundplayers,i) end end
  433. elseif listedplayer:lower():sub(1,4) == "team" then
  434. local team = listedplayer:lower():sub(6)
  435. local matchedteam
  436. for _,i in pairs(Teams:GetChildren()) do if i:IsA("Team") then if i.Name:lower():sub(1,#team) == team:lower() then if not matchedteam then matchedteam = i else error("Team \""..team.."\" is ambiguous.") end end end end
  437. assert(matchedteam,"No teams matching \""..team.."\" found.")
  438. for _,i in pairs(Players:GetPlayers()) do if i.TeamColor == matchedteam.TeamColor then table.insert(foundplayers,i) end end
  439. end
  440. local currentfoundplayer
  441. for _,i in pairs(Players:GetPlayers()) do if i.Name:lower():sub(1,#listedplayer) == listedplayer:lower() then if not currentfoundplayer then currentfoundplayer = i else error(str.." is ambiguous") end end end table.insert(foundplayers,currentfoundplayer)
  442. end
  443. assert(foundplayers[1],"No players were found matching \""..str.."\"")
  444. return foundplayers
  445. end
  446. function TweenBackgroundTransparency(element,starta,enda,length) coroutine.resume(coroutine.create(function() local startTime = time() local lastTrans = element.BackgroundTransparency while time() - startTime < length do if element.BackgroundTransparency == lastTrans then element.BackgroundTransparency = ((enda - starta) * ((time() - startTime)/length)) + starta else break end lastTrans = element.BackgroundTransparency wait(.01) end element.BackgroundTransparency = enda return true end)) end
  447. function TweenTextTransparency(element,starta,enda,length) coroutine.resume(coroutine.create(function() local startTime = time() local lastTextTrans = element.TextTransparency local lastTextStrokeTrans = element.TextStrokeTransparency while time() - startTime < length do if element.TextTransparency == lastTextTrans and element.TextStrokeTransparency == lastTextStrokeTrans then element.TextTransparency = ((enda - starta) * ((time() - startTime)/length)) + starta element.TextStrokeTransparency = 0.75 + (element.TextTransparency * 0.25) else break end lastTextTrans = element.TextTransparency lastTextStrokeTrans = element.TextStrokeTransparency wait(.01) end element.TextTransparency = enda element.TextStrokeTransparency = 0.75 + (element.TextTransparency * 0.25) return true end)) end
  448.  
  449. -----------------------------------------------------------------
  450. --------------------- Admin HEX Framework ----------------------
  451. -----------------------------------------------------------------
  452.  
  453. sha1 = {}
  454. local cfg_caching = false
  455. local floor,modf = math.floor,math.modf
  456. local char,format,rep = string.char,string.format,string.rep
  457. local function bytes_to_w32 (a,b,c,d) return a*0x1000000+b*0x10000+c*0x100+d end
  458. local function w32_to_bytes (i) return floor(i/0x1000000)%0x100,floor(i/0x10000)%0x100,floor(i/0x100)%0x100,i%0x100 end
  459. local function w32_rot (bits,a) local b2 = 2^(32-bits) local a,b = modf(a/b2) return a+b*b2*(2^(bits)) end
  460. local function cache2arg (fn) if not cfg_caching then return fn end local lut = {} for i=0,0xffff do local a,b = floor(i/0x100),i%0x100 lut[i] = fn(a,b) end return function (a,b) return lut[a*0x100+b] end end
  461. local function byte_to_bits (b) local b = function (n) local b = floor(b/n) return b%2==1 end return b(1),b(2),b(4),b(8),b(16),b(32),b(64),b(128) end
  462. local function bits_to_byte (a,b,c,d,e,f,g,h) local function n(b,x) return b and x or 0 end return n(a,1)+n(b,2)+n(c,4)+n(d,8)+n(e,16)+n(f,32)+n(g,64)+n(h,128) end
  463. local function bits_to_string (a,b,c,d,e,f,g,h) local function x(b) return b and "1" or "0" end return ("%s%s%s%s %s%s%s%s"):format(x(a),x(b),x(c),x(d),x(e),x(f),x(g),x(h)) end
  464. local function byte_to_bit_string (b) return bits_to_string(byte_to_bits(b)) end
  465. local function w32_to_bit_string(a) if type(a) == "string" then return a end local aa,ab,ac,ad = w32_to_bytes(a) local s = byte_to_bit_string return ("%s %s %s %s"):format(s(aa):reverse(),s(ab):reverse(),s(ac):reverse(),s(ad):reverse()):reverse() end
  466. local band = cache2arg (function(a,b) local A,B,C,D,E,F,G,H = byte_to_bits(b) local a,b,c,d,e,f,g,h = byte_to_bits(a) return bits_to_byte( A and a, B and b, C and c, D and d, E and e, F and f, G and g, H and h) end)
  467. local bor = cache2arg(function(a,b) local A,B,C,D,E,F,G,H = byte_to_bits(b) local a,b,c,d,e,f,g,h = byte_to_bits(a) return bits_to_byte( A or a, B or b, C or c, D or d, E or e, F or f, G or g, H or h) end)
  468. local bxor = cache2arg(function(a,b) local A,B,C,D,E,F,G,H = byte_to_bits(b) local a,b,c,d,e,f,g,h = byte_to_bits(a) return bits_to_byte( A ~= a, B ~= b, C ~= c, D ~= d, E ~= e, F ~= f, G ~= g, H ~= h) end)
  469. local function bnot (x) return 255-(x % 256) end
  470. local function w32_comb(fn) return function (a,b) local aa,ab,ac,ad = w32_to_bytes(a) local ba,bb,bc,bd = w32_to_bytes(b) return bytes_to_w32(fn(aa,ba),fn(ab,bb),fn(ac,bc),fn(ad,bd)) end end
  471. local w32_and = w32_comb(band)
  472. local w32_xor = w32_comb(bxor)
  473. local w32_or = w32_comb(bor)
  474. local function w32_xor_n (a,...) local aa,ab,ac,ad = w32_to_bytes(a) for i=1,select('#',...) do local ba,bb,bc,bd = w32_to_bytes(select(i,...)) aa,ab,ac,ad = bxor(aa,ba),bxor(ab,bb),bxor(ac,bc),bxor(ad,bd) end return bytes_to_w32(aa,ab,ac,ad) end
  475. local function w32_or3 (a,b,c) local aa,ab,ac,ad = w32_to_bytes(a) local ba,bb,bc,bd = w32_to_bytes(b) local ca,cb,cc,cd = w32_to_bytes(c) return bytes_to_w32( bor(aa,bor(ba,ca)), bor(ab,bor(bb,cb)), bor(ac,bor(bc,cc)), bor(ad,bor(bd,cd)) ) end
  476. local function w32_not (a) return 4294967295-(a % 4294967296) end
  477. local function w32_add (a,b) return (a+b) % 4294967296 end
  478. local function w32_add_n (a,...) for i=1,select('#',...) do a = (a+select(i,...)) % 4294967296 end return a end
  479. local function w32_to_hexstring (w) return format("%08x",w) end
  480. function sha1.hex(msg) local H0,H1,H2,H3,H4 = 0x67452301,0xEFCDAB89,0x98BADCFE,0x10325476,0xC3D2E1F0 local msg_len_in_bits = #msg * 8 local first_append = char(0x80) --[[append a '1' bit plus seven '0' bits]] local non_zero_message_bytes = #msg +1 +8 --[[the +1 is the appended bit 1, the +8 are for the final appended length]] local current_mod = non_zero_message_bytes % 64 local second_append = current_mod>0 and rep(char(0), 64 - current_mod) or "" --[[now to append the length as a 64-bit number.]] local B1, R1 = modf(msg_len_in_bits / 0x01000000) local B2, R2 = modf( 0x01000000 * R1 / 0x00010000) local B3, R3 = modf( 0x00010000 * R2 / 0x00000100) local B4 = 0x00000100 * R3 local L64 = char( 0) .. char( 0) .. char( 0) .. char( 0) --[[high 32 bits]] .. char(B1) .. char(B2) .. char(B3) .. char(B4) --[[low 32 bits]] msg = msg .. first_append .. second_append .. L64 assert(#msg % 64 == 0) local chunks = #msg / 64 local W = { } local start, A, B, C, D, E, f, K, TEMP local chunk = 0 while chunk < chunks do --[[ -- break chunk up into W[0] through W[15] --]] start,chunk = chunk * 64 + 1,chunk + 1 for t = 0, 15 do W[t] = bytes_to_w32(msg:byte(start, start + 3)) start = start + 4 end --[[ -- build W[16] through W[79] --]] for t = 16, 79 do --[[For t = 16 to 79 let Wt = S1(Wt-3 XOR Wt-8 XOR Wt-14 XOR Wt-16).]] W[t] = w32_rot(1, w32_xor_n(W[t-3], W[t-8], W[t-14], W[t-16])) end A,B,C,D,E = H0,H1,H2,H3,H4 for t = 0, 79 do if t <= 19 then --[[(B AND C) OR ((NOT B) AND D)]] f = w32_or(w32_and(B, C), w32_and(w32_not(B), D)) K = 0x5A827999 elseif t <= 39 then --[[B XOR C XOR D]] f = w32_xor_n(B, C, D) K = 0x6ED9EBA1 elseif t <= 59 then --[[(B AND C) OR (B AND D) OR (C AND D)]] f = w32_or3(w32_and(B, C), w32_and(B, D), w32_and(C, D)) K = 0x8F1BBCDC else --[[B XOR C XOR D]] f = w32_xor_n(B, C, D) K = 0xCA62C1D6 end --[[TEMP = S5(A) + ft(B,C,D) + E + Wt + Kt;]] A,B,C,D,E = w32_add_n(w32_rot(5, A), f, E, W[t], K), A, w32_rot(30, B), C, D end --[[Let H0 = H0 + A, H1 = H1 + B, H2 = H2 + C, H3 = H3 + D, H4 = H4 + E.]] H0,H1,H2,H3,H4 = w32_add(H0, A),w32_add(H1, B),w32_add(H2, C),w32_add(H3, D),w32_add(H4, E) end local f = w32_to_hexstring return f(H0) .. f(H1) .. f(H2) .. f(H3) .. f(H4) end
  481. local function hex_to_binary(hex) return hex:gsub('..', function(hexval) return string.char(tonumber(hexval, 16)) end) end
  482. function sha1.bin(msg) return hex_to_binary(sha1.hex(msg)) end
  483. local xor_with_0x5c = {}
  484. local xor_with_0x36 = {}
  485. --[[building the lookuptables ahead of time (instead of littering the source code with precalculated values)]]
  486. for i=0,0xff do xor_with_0x5c[char(i)] = char(bxor(i,0x5c)) xor_with_0x36[char(i)] = char(bxor(i,0x36)) end
  487. local blocksize = 64 -- 512 bits
  488. function sha1.hmacHex(key, text) assert(type(key) == 'string', "key passed to hmacHex should be a string") assert(type(text) == 'string', "text passed to hmacHex should be a string") if #key > blocksize then key = sha1.bin(key) end local key_xord_with_0x36 = key:gsub('.', xor_with_0x36) .. string.rep(string.char(0x36), blocksize - #key) local key_xord_with_0x5c = key:gsub('.', xor_with_0x5c) .. string.rep(string.char(0x5c), blocksize - #key) return sha1.hex(key_xord_with_0x5c .. sha1.bin(key_xord_with_0x36 .. text)) end
  489. function sha1.hmacBin(key, text) return hex_to_binary(sha1.hmacHex(key, text)) end
  490.  
  491. -----------------------------------------------------------------
  492. --------------------- Admin MSGR Framework ----------------------
  493. -----------------------------------------------------------------
  494.  
  495. function MakeMsgGui(player)
  496. if player == ROOT or player == "ROOT" then return true end
  497. local Gui = player:WaitForChild("PlayerGui"):FindFirstChild("Admi")
  498. if not Gui or not Gui:IsA("ScreenGui") then Gui = MakeAdmiGui(player:WaitForChild("PlayerGui")) end
  499. local MsgGui = Instance.new("Frame", Gui) --[[MAIN]]
  500. MsgGui.Name = "Msg"
  501. MsgGui.Position = UDim2.new(0, 0, 0, 0)
  502. MsgGui.Size = UDim2.new(1, 0, 1, 0)
  503. MsgGui.BackgroundColor3 = BrickColor.new("Bright blue").Color
  504. MsgGui.BackgroundTransparency = 1
  505. MsgGui.BorderSizePixel = 0
  506. MsgGui.ZIndex = 9
  507. --[[local MsgGui = Instance.new("Frame", Gui)
  508. MsgGui.Name = "Msg"
  509. MsgGui.Position = UDim2.new(0.5, -250, 0.5, -125)
  510. MsgGui.Size = UDim2.new(0, 500, 0, 300)
  511. MsgGui.BackgroundColor3 = BrickColor.new("Bright red").Color
  512. MsgGui.BackgroundTransparency = 0.45
  513. MsgGui.BorderSizePixel = 0
  514. MsgGui.ZIndex = 10]]
  515. local Msg = Instance.new("TextLabel", MsgGui) --[[Message]]
  516. Msg.Name = "Msg"
  517. Msg.Position = UDim2.new(0.5, -300,0.5, -135)
  518. Msg.Size = UDim2.new(0, 600, 0, 300)
  519. Msg.BackgroundColor3 = BrickColor.new("Bright blue").Color
  520. Msg.BackgroundTransparency = 0.45
  521. Msg.BorderSizePixel = 0
  522. Msg.Text = "Message"
  523. Msg.Font = "Arial"
  524. Msg.FontSize = "Size36"
  525. Msg.TextStrokeTransparency = 0.7
  526. Msg.TextWrapped = true
  527. Msg.TextXAlignment = "Center"
  528. Msg.TextYAlignment = "Center"
  529. Msg.TextColor3 = Color3.new(1, 1, 1)
  530. Msg.ZIndex = 10
  531. --[[local Msg = Instance.new("TextLabel", MsgGui)
  532. Msg.Name = "Msg"
  533. Msg.Position = UDim2.new(0, 0, 0, 0)
  534. Msg.Size = UDim2.new(1, 0, 0.8, 0)
  535. Msg.BackgroundColor3 = BrickColor.new("Bright red").Color
  536. Msg.BackgroundTransparency = 1
  537. Msg.BorderSizePixel = 0
  538. Msg.Text = "Message"
  539. Msg.Font = "Arial"
  540. Msg.FontSize = "Size18"
  541. Msg.TextStrokeTransparency = 0.7
  542. Msg.TextWrapped = true
  543. Msg.TextYAlignment = "Center"
  544. Msg.TextColor3 = Color3.new(0, 0, 0)
  545. Msg.ZIndex = 10]]
  546. local Title = Instance.new("TextLabel", MsgGui) --[[Title]]
  547. Title.Name = "Title"
  548. Title.Position = UDim2.new(0.5, -400,0.5, -260) --0,0,0, -210
  549. Title.Size = UDim2.new(0.4, 0, 0.125, 0)
  550. Title.BackgroundColor3 = BrickColor.new("Bright blue").Color
  551. Title.BackgroundTransparency = 0.45
  552. Title.BorderSizePixel = 0
  553. Title.Text = "Message"
  554. Title.Font = "ArialBold"
  555. Title.FontSize = "Size48"
  556. Title.TextScaled = true
  557. Title.TextStrokeTransparency = 0.7
  558. Title.TextWrapped = true
  559. Title.TextXAlignment = "Center"
  560. Title.TextYAlignment = "Center"
  561. Title.TextColor3 = BrickColor.new("White").Color
  562. Title.TextStrokeColor3 = Color3.new(1,1,1)
  563. Title.ZIndex = 10
  564. --[[local Title = Instance.new("TextLabel", MsgGui)
  565. Title.Name = "Title"
  566. Title.Position = UDim2.new(0, 0, 0.08, 0)
  567. Title.Size = UDim2.new(1, 0, 0.125, 0)
  568. Title.BackgroundTransparency = 1
  569. Title.BorderSizePixel = 0
  570. Title.Text = "Message"
  571. Title.Font = "ArialBold"
  572. Title.FontSize = "Size24"
  573. Title.TextScaled = true
  574. Title.TextStrokeTransparency = 0.7
  575. Title.TextWrapped = true
  576. Title.TextYAlignment = "Top"
  577. Title.TextColor3 = Color3.new(1, 1, 1)
  578. Title.ZIndex = 10]]
  579. return Msg
  580. end
  581. function DisplayScrollFrame(player,title,text)
  582. if player == ROOT or player == "ROOT" then return true end
  583. local Gui = player:WaitForChild("PlayerGui"):FindFirstChild("Admi")
  584. if not Gui or not Gui:IsA("ScreenGui") then Gui = MakeAdmiGui(player:WaitForChild("PlayerGui")) end
  585. if Gui:FindFirstChild("ScrollGui") then Gui:FindFirstChild("ScrollGui"):Destroy() end
  586. local title = title
  587. local text = text
  588. if title == nil then title = "Message" end
  589. if text == nil then text = title title = "Message" end
  590. local ReenableMsg = (Gui:FindFirstChild("Msg") and Gui:FindFirstChild("Msg").Visible) or false
  591. local ScrollGui = Instance.new("Frame", Gui)
  592. ScrollGui.Name = "ScrollGui"
  593. ScrollGui.Position = UDim2.new(0.5, -125, 0.5, -125)
  594. ScrollGui.Size = UDim2.new(0, 250, 0, 250)
  595. ScrollGui.BackgroundColor3 = BrickColor.new("Bright blue").Color
  596. ScrollGui.BackgroundTransparency = 0.44999998807907
  597. ScrollGui.BorderSizePixel = 0
  598. ScrollGui.ZIndex = 9
  599. ScrollGui.ClipsDescendants = true
  600. ScrollGui.Visible = false
  601. local ScrollingFrameCutter = Instance.new("Frame", ScrollGui)
  602. ScrollingFrameCutter.Name = "ScrollingFrameCutter"
  603. ScrollingFrameCutter.Position = UDim2.new(0.5, -250, 0.64999997615814, -250)
  604. ScrollingFrameCutter.Size = UDim2.new(1, 0, 0.85000002384186, 0)
  605. ScrollingFrameCutter.BackgroundColor3 = Color3.new(0, 0, 0)
  606. ScrollingFrameCutter.BackgroundTransparency = 1
  607. ScrollingFrameCutter.BorderSizePixel = 0
  608. ScrollingFrameCutter.ZIndex = 9
  609. ScrollingFrameCutter.ClipsDescendants = true
  610. local MsgContainer = Instance.new("TextLabel", ScrollingFrameCutter)
  611. MsgContainer.Name = "MsgContainer"
  612. MsgContainer.Size = UDim2.new(1, 0, 999, 0)
  613. MsgContainer.BackgroundColor3 = Color3.new(0.20784315466881, 0.20784315466881, 0.20784315466881)
  614. MsgContainer.BackgroundTransparency = 1
  615. MsgContainer.BorderSizePixel = 0
  616. MsgContainer.Text = ""
  617. MsgContainer.Font = Enum.Font.Arial
  618. MsgContainer.FontSize = Enum.FontSize.Size18
  619. MsgContainer.TextTransparency = 1
  620. MsgContainer.TextWrapped = true
  621. MsgContainer.TextYAlignment = Enum.TextYAlignment.Top
  622. MsgContainer.TextXAlignment = Enum.TextXAlignment.Left
  623. MsgContainer.TextColor3 = Color3.new(1, 1, 1)
  624. MsgContainer.ZIndex = 9
  625. local MsgStrips = {}
  626. for a in text:gmatch("[^\n]+") do
  627. local Msg = Instance.new("TextLabel", MsgContainer)
  628. Msg.Name = "Msg"..(#MsgStrips + 1)
  629. Msg.Size = UDim2.new(1, 0, 0, 20)
  630. Msg.Position = UDim2.new(0,0,0,#MsgStrips * 18)
  631. Msg.BackgroundColor3 = Color3.new(0.20784315466881, 0.20784315466881, 0.20784315466881)
  632. Msg.BackgroundTransparency = 1
  633. Msg.BorderSizePixel = 0
  634. Msg.Text = a
  635. Msg.Font = Enum.Font.Arial
  636. Msg.FontSize = Enum.FontSize.Size18
  637. Msg.TextTransparency = #MsgContainer:GetChildren() > 24 and 0 or 1
  638. Msg.TextWrapped = true
  639. Msg.TextYAlignment = Enum.TextYAlignment.Center
  640. Msg.TextXAlignment = Enum.TextXAlignment.Left
  641. Msg.TextColor3 = Color3.new(1, 1, 1)
  642. Msg.ZIndex = 9
  643. table.insert(MsgStrips,Msg)
  644. end
  645. local Up = Instance.new("TextButton", ScrollGui)
  646. Up.Name = "Up"
  647. Up.Position = UDim2.new(0.94999998807907, 0, 0, 0)
  648. Up.Size = UDim2.new(0.050000000745058, 0, 0.050000000745058, 0)
  649. Up.BackgroundColor3 = Color3.new(1, 1, 1)
  650. Up.BackgroundTransparency = 0.85000002384186
  651. Up.Text = "^"
  652. Up.Font = Enum.Font.ArialBold
  653. Up.FontSize = Enum.FontSize.Size36
  654. Up.TextStrokeTransparency = 0.75
  655. Up.TextYAlignment = Enum.TextYAlignment.Top
  656. Up.TextColor3 = Color3.new(1, 1, 1)
  657. Up.ZIndex = 10
  658. Up.MouseButton1Click:connect(function() if MsgContainer.Parent == nil then return end local asds = MsgContainer.Position.Y.Scale+0.5 if asds > 0 then asds = 0 end MsgContainer:TweenPosition(UDim2.new(0,0,asds,0),nil,"Quint",tweentime*0.75,true) end)
  659. local Down = Instance.new("TextButton", ScrollGui)
  660. Down.Name = "Down"
  661. Down.Position = UDim2.new(0.94999998807907, 0, 0.94999998807907, 0)
  662. Down.Size = UDim2.new(0.050000000745058, 0, 0.050000000745058, 0)
  663. Down.BackgroundColor3 = Color3.new(1, 1, 1)
  664. Down.BackgroundTransparency = 0.85000002384186
  665. Down.Text = "v"
  666. Down.Font = Enum.Font.ArialBold
  667. Down.FontSize = Enum.FontSize.Size24
  668. Down.TextStrokeTransparency = 0.75
  669. Down.TextColor3 = Color3.new(1, 1, 1)
  670. Down.ZIndex = 10
  671. Down.MouseButton1Click:connect(function() if MsgContainer.Parent == nil then return end MsgContainer:TweenPosition(UDim2.new(0,0,MsgContainer.Position.Y.Scale-0.5,0),nil,"Quint",tweentime*0.75,true) end)
  672. local Title = Instance.new("TextLabel", ScrollGui)
  673. Title.Name = "Title"
  674. Title.Position = UDim2.new(0, 0, 0.025000000372529, 0)
  675. Title.Size = UDim2.new(1, 0, 0.10000000149012, 0)
  676. Title.BackgroundTransparency = 1
  677. Title.BorderSizePixel = 0
  678. Title.Text = title
  679. Title.Font = Enum.Font.ArialBold
  680. Title.FontSize = Enum.FontSize.Size24
  681. Title.TextScaled = true
  682. Title.TextWrapped = true
  683. Title.TextYAlignment = Enum.TextYAlignment.Top
  684. Title.TextColor3 = Color3.new(1, 1, 1)
  685. Title.ZIndex = 10
  686. local Close = Instance.new("TextButton", ScrollGui)
  687. Close.Name = "Close"
  688. Close.Position = UDim2.new(0, 0, 0, 0)
  689. Close.Size = UDim2.new(0.050000000745058, 0, 0.050000000745058, 0)
  690. Close.BackgroundColor3 = Color3.new(1, 1, 1)
  691. Close.BackgroundTransparency = 0.85000002384186
  692. Close.Text = "X"
  693. Close.Font = Enum.Font.ArialBold
  694. Close.FontSize = Enum.FontSize.Size24
  695. Close.TextStrokeTransparency = 0.75
  696. Close.TextYAlignment = Enum.TextYAlignment.Top
  697. Close.TextColor3 = Color3.new(1, 1, 1)
  698. Close.ZIndex = 10
  699. Close.MouseButton1Click:connect(function() if MsgContainer == nil or MsgContainer.Parent == nil then return end
  700. ScrollGui:TweenSizeAndPosition(UDim2.new(0,250,0,250),UDim2.new(0.5,-125,0.5,-125),nil,"Quint",tweentime,true)
  701. TweenBackgroundTransparency(ScrollGui,0.45,1,tweentime*0.4)
  702. TweenBackgroundTransparency(Up,0.85,1,tweentime*0.4)
  703. TweenBackgroundTransparency(Down,0.85,1,tweentime*0.4)
  704. TweenBackgroundTransparency(Close,0.85,1,tweentime*0.4)
  705. TweenTextTransparency(Up,0,1,tweentime*0.35)
  706. TweenTextTransparency(Down,0,1,tweentime*0.35)
  707. TweenTextTransparency(Close,0,1,tweentime*0.35)
  708. TweenTextTransparency(Title,0,1,tweentime*0.35)
  709. for _,i in pairs(MsgStrips) do TweenTextTransparency(i,0,1,tweentime*0.35) end wait(tweentime) ScrollGui.Visible = false Gui:FindFirstChild("Msg").Visible = ReenableMsg end)
  710. ScrollGui:TweenSizeAndPosition(UDim2.new(0,500,0,500),UDim2.new(0.5,-250,0.5,-250),nil,"Quint",tweentime,true)
  711. TweenBackgroundTransparency(ScrollGui,1,0.45,tweentime*0.45)
  712. TweenBackgroundTransparency(Up,1,0.85,tweentime*0.5)
  713. TweenBackgroundTransparency(Down,1,0.85,tweentime*0.5)
  714. TweenBackgroundTransparency(Close,1,0.85,tweentime*0.5)
  715. TweenTextTransparency(Up,1,0,tweentime*0.6)
  716. TweenTextTransparency(Down,1,0,tweentime*0.6)
  717. TweenTextTransparency(Close,1,0,tweentime*0.6)
  718. TweenTextTransparency(Title,1,0,tweentime*0.6)
  719. for _,i in ipairs(MsgStrips) do if _ <= 24 then TweenTextTransparency(i,1,0,tweentime*0.6) end end
  720. ScrollGui.Visible = true
  721. return ScrollGui
  722. end
  723. function DisplayMessage(player,title,text,displaytime) if player == ROOT or player == "ROOT" or player == nil then return end
  724. Spawn(function() local text,title = text,title local pgui = player:FindFirstChild("PlayerGui") if not pgui then for _,i in pairs(player:GetChildren()) do if i:IsA("PlayerGui") then pgui = i end end end if not pgui:FindFirstChild("Admi") or not pgui:FindFirstChild("Admi"):FindFirstChild("Msg") then --[[MakeMsgGui(player)]] end --[[if not pgui:FindFirstChild("Admi"):IsA("ScreenGui") or not message:IsA("Frame") or not message.Msg:IsA("TextLabel") or not message.Title:IsA("TextLabel") then MakeMsgGui(player) end]] local message = player:WaitForChild("PlayerGui"):FindFirstChild("Admi"):FindFirstChild("Msg") if title == nil then title = "Message" end if text == nil then text = title title = "Message" end
  725. message.Title.Text = "[ Content Deleted ]"
  726. message.Msg.Text = "[ Content Deleted ]"
  727. message.Title.Text = tostring(title)
  728. message.Msg.Text = tostring(text)
  729. --message.Position = UDim2.new(0.5,-125,0.5,-75)
  730. --message.Size = UDim2.new(0,250,0,150)
  731. TweenTextTransparency(message.Title,1,0,tweentime*0.65)
  732. TweenTextTransparency(message.Msg,1,0,tweentime*0.65)
  733. TweenBackgroundTransparency(message,1,1,tweentime*0.5)
  734. wait()
  735. message:TweenSizeAndPosition(UDim2.new(1, 0, 1, 0),UDim2.new(0,0,0,0),nil,"Quint",tweentime,true,function()end)
  736. message.Visible = true
  737. wait(tweentime)
  738. if displaytime ~= nil then displaytime = 10 delay(displaytime,function() if message.Msg.Text == tostring(text)then DismissMessage(player)end end) end
  739. end) end
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749. function DisplayMessageAll(title,text,displaytime) for _,i in pairs(Players:GetPlayers()) do DisplayMessage(i,title,text,displaytime) end end
  750. function DismissMessage(player) if player == ROOT or player == "ROOT" then return end if not player:WaitForChild("PlayerGui"):FindFirstChild("Admi") or not player:WaitForChild("PlayerGui"):FindFirstChild("Admi"):FindFirstChild("Msg") then MakeMsgGui(player) end local message = player:WaitForChild("PlayerGui"):FindFirstChild("Admi"):FindFirstChild("Msg") TweenBackgroundTransparency(message,0.45,1,tweentime*0.5) TweenTextTransparency(message.Title,0,1,tweentime*0.22) TweenTextTransparency(message.Msg,0,1,tweentime*0.22) message:TweenSizeAndPosition(UDim2.new(0,0,0,0),--[[UDim2.new(0,250,0,150),UDim2.new(0.5,-125,0.5,-75)]]UDim2.new(0.5,0,0.5,0),nil,"Quint",tweentime*2.5,true,function() message.Visible = false end) end
  751. function DismissMessageAll() for _,i in pairs(Players:GetPlayers()) do DismissMessage(i) end end
  752. function MakeAdmiGui(parent) if parent == "ROOT" or parent == ROOT then return end local Gui = Instance.new("ScreenGui",parent) Gui.Name = "Admi" return Gui end
  753. function MakeTellGui(parent) if parent == "ROOT" or parent == ROOT then return end local Gui = parent:FindFirstChild("Admi") if not Gui then Gui = MakeAdmiGui(parent) end
  754. local Bar = Instance.new("TextLabel",Gui)
  755. Bar.Name = "Message"
  756. Bar.BackgroundColor3 = BrickColor.new("Bright blue").Color
  757. Bar.BackgroundTransparency = 0.35
  758. Bar.BorderSizePixel = 0
  759. Bar.Font = "ArialBold"
  760. Bar.FontSize = "Size24"
  761. Bar.Text = "Message"
  762. Bar.TextStrokeTransparency = 0.5
  763. Bar.TextColor3 = Color3.new(1,1,1)
  764. Bar.Size = UDim2.new(1,0,0,30)
  765. Bar.Position = UDim2.new(0,0,0,-80)
  766. return
  767. Gui
  768. end
  769. function Tell(player,msg,length)
  770. if player == "ROOT" or player == ROOT then return end
  771. local length = length
  772. local pg = player:WaitForChild("PlayerGui")
  773. local PlayerGui = pg
  774. if length == nil then length = 10 end
  775. if not PlayerGui:FindFirstChild("Admi") or not PlayerGui:FindFirstChild("Admi"):FindFirstChild("Message") then
  776. MakeTellGui(PlayerGui)
  777. end
  778. PlayerGui:FindFirstChild("Admi"):FindFirstChild("Message").Text = msg
  779. PlayerGui:FindFirstChild("Admi"):FindFirstChild("Message").Position = UDim2.new(0,0,0,-80)
  780. PlayerGui:FindFirstChild("Admi"):FindFirstChild("Message"):TweenPosition(UDim2.new(0,0,0,0),nil,tweenstyle,tweentime,true)
  781. delay(length,function() if PlayerGui:FindFirstChild("Admi"):FindFirstChild("Message").Text == msg then PlayerGui:FindFirstChild("Admi"):FindFirstChild("Message"):TweenPosition(UDim2.new(0,0,0,-80),nil,tweenstyle,tweentime,true) end end)
  782. end
  783. function TellAll(msg,length) for _,i in pairs(Players:GetPlayers()) do Tell(i,msg,length) end end
  784. local TellAdmins = TellAdmins function TellAdmins(msg,length) for _,i in pairs(Players:GetPlayers()) do if Permissions[i.Name] and Permissions[i.Name] > 2 then Tell(i,msg,length) end end end
  785.  
  786. rawunpack = unpack
  787.  
  788. function unpack(oldtab) local new = "" local tab = {} for i = 1, #oldtab do table.insert(tab,tostring(oldtab[i])) end table.sort(tab) for i = 1, #tab do new = new..tostring(tab[i])..", " end new = new:sub(1,#new-2) return new end
  789. function stringtobool(str) if str:lower() == "yes" or str:lower() == "on" or str:lower() == "ye" or str:lower() == "yea" or str:lower() == "yeah" or str:lower() == "yep" or str == "true" then return true elseif str:lower() == "no" or str:lower() == "off" or str:lower() == "nop" or str:lower() == "nope" or str:lower() == "nah" or str:lower() == "na" or str:lower() == "false" then return false end end
  790. setmetatable(Commands,{ __index = function(table,index) if not rawget(table,index) then error("The system tried to retrieve Commands."..tostring(index)..", which does not exist in this admin script. Most likely the game creator has misconfigured their admin commands.") end end; __gc = function() error("OH NO I'M BEING GARBAGE COLLECTED\nTHIS ISN'T GOOD\nAAAAAAAAAAAAAAAA HELP ME MOMMY") end; __metatable = true; })
  791.  
  792. -----------------------------------------------------------------
  793. ---------------------- Everyone Commands ------------------------
  794. -----------------------------------------------------------------
  795.  
  796. function Commands.clean(args,sender) -- :clean
  797. MinimumPermission(0,sender)
  798. for _,i in pairs(Workspace:GetChildren()) do if i:IsA("Hat") or i:IsA("Tool") or i:IsA("Message") or i:IsA("Hint") or i:IsA("Sound") then i:Destroy() end end
  799. Tell(sender,"Cleaned!",3)
  800. end
  801.  
  802. -----------------------------------------------------------------
  803. ----------------------- Admin Commands --------------------------
  804. -----------------------------------------------------------------
  805.  
  806. function Commands.m(args,sender)
  807. MinimumPermission(1,sender)
  808. local buildstring = ""
  809. for _,i in pairs(args) do buildstring = buildstring..i.." " end
  810. buildstring = buildstring:sub(1,#buildstring-1)
  811. DisplayMessageAll((sender ~= ROOT and sender ~= "ROOT") and sender.Name or "Promethia",buildstring,6)
  812. end
  813.  
  814. function Commands.pm(args,sender)
  815. MinimumPermission(1,sender)
  816. local plr = GetPlayersFromString(assert(args[1],"Player to PM missing"),sender)
  817. local buildstring = ""
  818. for a,i in pairs(args) do if a ~= 1 then buildstring = buildstring..i.." " end end
  819. buildstring = buildstring:sub(1,#buildstring-1)
  820. for _,i in pairs(plr) do DisplayMessage(i,((sender ~= ROOT and sender ~= "ROOT") and sender.Name or "Promethia"),buildstring,6) end
  821. end
  822.  
  823. function Commands.h(args,sender)
  824. MinimumPermission(1,sender)
  825. local buildstring = ""
  826. for _,i in pairs(args) do buildstring = buildstring..i.." " end
  827. buildstring = buildstring:sub(1,#buildstring-1)
  828. TellAll(((sender ~= ROOT and sender ~= "ROOT") and sender.Name or "Promethia")..": "..buildstring,6)
  829. end
  830.  
  831. function Commands.music(args,sender) -- :music ID(Stop)
  832. MinimumPermission(2,sender)
  833. local music = tonumber(args[1])
  834. while Workspace:FindFirstChild("AdmiMusic") do Workspace:FindFirstChild("AdmiMusic"):Stop() Workspace:FindFirstChild("AdmiMusic"):Destroy() end
  835. if args[1] == "stop" then TellAll("Music Stopped",3) return else assert(music,"Music argument missing or not a proper number") end
  836. Tell(sender,"Attempting to Play Song "..music,2)
  837. local Songname = "Unable to fetch name ("..music..")"
  838. local ok,err = ypcall(function() Songname = MarketplaceService:GetProductInfo(music)["Name"] end)
  839. local sound = Instance.new("Sound")
  840. sound.SoundId = "http://www.roblox.com/asset/?id="..music
  841. sound.Looped = true
  842. sound.Volume = 1
  843. sound.Pitch = 1
  844. sound.Name = "AdmiMusic"
  845. sound.Parent = Workspace
  846. if not sound.IsPlaying then repeat sound:Play() wait(0.25) sound:Stop() wait(0.25) sound:Play() until sound.IsPlaying end
  847. TellAll("Now Playing - "..tostring(Songname),3)
  848. end
  849.  
  850. function Commands.hat(args,sender) -- :hat PlayerName(args[1]) ID
  851. MinimumPermission(2,sender)
  852. assert(tonumber(args[2]),"Hat to give is missing or is not a number")
  853. assert(args[1],"Players to give hats to are missing")
  854. local Plrs = GetPlayersFromString(args[1],sender)
  855. local Hats = game:service("InsertService"):LoadAsset(tonumber(args[2]))
  856. if Hats == nil then error("Invalid hat") end
  857. for _,i in pairs(Plrs) do for _,Hat in pairs(Hats:GetChildren()) do if Hat:IsA("Hat") then Hat:Clone().Parent = i.Character end end end
  858. Hats:Destroy()
  859. local Hatname = args[2]
  860. ypcall(function() Hatname = MarketplaceService:GetProductInfo(tonumber(args[2]))["Name"] end)
  861. Tell(sender,"Gave hat "..tostring(Hatname).." to "..tostring(unpack(Plrs)))
  862. end
  863.  
  864. function Commands.gear(args,sender) -- :gear PlayerName(args[1]) ID
  865. MinimumPermission(1,sender)
  866. assert(tonumber(args[2]),"Gear to give is missing or is not a number")
  867. assert(args[1],"Players to give gear to are missing")
  868. local Plrs = GetPlayersFromString(args[1],sender)
  869. local Gears = game:service("InsertService"):LoadAsset(tonumber(args[2]))
  870. if Gears == nil then error("Invalid gear") end
  871. for _,i in pairs(Plrs) do if i:FindFirstChild("Backpack") then for _,Gear in pairs(Gears:GetChildren()) do if Gear:IsA("Tool") or Gear:IsA("HopperBin") then Gear:Clone().Parent = i.Backpack end end end end
  872. Gears:Destroy()
  873. local gearname = args[2]
  874. ypcall(function() gearname = MarketplaceService:GetProductInfo(tonumber(args[2]))["Name"] end)
  875. Tell(sender,"Gave gear "..tostring(gearname).." to "..tostring(unpack(Plrs)))
  876. end
  877.  
  878. function Commands.sword(args,sender) -- :sword PlayerName(args[1])
  879. Commands.gear({args[1],125013769},sender)
  880. end
  881.  
  882. function Commands.give(args,sender) -- :give PlayerName(args[1]) tool
  883. MinimumPermission(1,sender)
  884. assert(args[2],"Tool to give is missing")
  885. assert(args[1],"Players to give to are missing")
  886. for _, v in pairs(GetPlayersFromString(args[1],sender)) do
  887. ypcall(function()
  888. for _, tool in pairs(Storage:children()) do
  889. if tool:IsA("Tool") or tool:IsA("HopperBin") then
  890. if args[2]:lower() == "all" or tool.Name:lower():sub(1,#args[2])==args[2]:lower() then
  891. local tool=tool:clone()
  892. if not tool:FindFirstChild(CodeName..tool.Name) then
  893. Instance.new("StringValue",tool).Name=CodeName..tool.Name
  894. end
  895. tool.Parent = v.Backpack
  896. end
  897. end
  898. end
  899. for _, tool in pairs(Storage2:children()) do
  900. if tool:IsA("Tool") or tool:IsA("HopperBin") then
  901. if args[2]:lower() == "all" or tool.Name:lower():sub(1,#args[2])==args[2]:lower() then
  902. local tool=tool:clone()
  903. if not tool:FindFirstChild(CodeName..tool.Name) then
  904. Instance.new("StringValue",tool).Name=CodeName..tool.Name
  905. end
  906. tool.Parent = v.Backpack
  907. end
  908. end
  909. end
  910. for _, tool in pairs(Storage3:children()) do
  911. if tool:IsA("Tool") or tool:IsA("HopperBin") then
  912. if args[2]:lower() == "all" or tool.Name:lower():sub(1,#args[2])==args[2]:lower() then
  913. local tool=tool:clone()
  914. if not tool:FindFirstChild(CodeName..tool.Name) then
  915. Instance.new("StringValue",tool).Name=CodeName..tool.Name
  916. end
  917. tool.Parent = v.Backpack
  918. end
  919. end
  920. end
  921. end)
  922. end
  923.  
  924. local Plrs = GetPlayersFromString(args[1],sender)
  925. --[[local Gear = {}
  926. for _,i in pairs(ReplicatedStorage:GetChildren()) do if i:IsA("Tool") or i:IsA("HopperBin") then table.insert(Gear,i) end end
  927. for _,i in pairs(Lighting:GetChildren()) do if i:IsA("Tool") or i:IsA("HopperBin") then table.insert(Gear,i) end end
  928. for _,i in pairs(ServerStorage:GetChildren()) do if i:IsA("Tool") or i:IsA("HopperBin") then table.insert(Gear,i) end end
  929. for _,i in pairs(Plrs) do if i:FindFirstChild("Backpack") then for _,Gear in pairs(#Gear) do if Gear:IsA("Tool") or Gear:IsA("HopperBin") then Gear:Clone().Parent = i.Backpack end end end end
  930. --Gear:Destroy()]]
  931. local gearname = args[2]
  932. ypcall(function() gearname = MarketplaceService:GetProductInfo(tonumber(args[2]))["Name"] end)
  933. Tell(sender,"Gave gear "..tostring(gearname).." to "..tostring(unpack(Plrs)))
  934. end
  935.  
  936. function Commands.undisco(args,sender) -- :undisco
  937. MinimumPermission(2,sender)
  938. Tell(sender,"Turned off Disco!")
  939. StopDisco = true
  940. wait(1)
  941. StopDisco = false
  942. end
  943.  
  944. function Commands.ambient(args,sender) -- :ambient num,num,num(num num num)
  945. MinimumPermission(2,sender)
  946. Lighting.Ambient = StringsToRGB(args[1],args[2],args[3])
  947. Tell(sender,"Changed Ambient to ",args[1]..", "..args[2]..", "..args[3])
  948. end
  949.  
  950. function Commands.kick(args,sender) -- :kick PlayerName(args[1])
  951. MinimumPermission(2,sender)
  952. assert(args[1],"Player to kick is missing")
  953. local banned = GetPlayersFromString(args[1],sender)
  954. for _,i in pairs(banned) do if avoidantibans then Instance.new("Model",Players).Name = i.Name end i:Kick() end
  955. Tell(sender,"Kicked "..tostring(unpack(banned))..".",3)
  956. end
  957.  
  958. function Commands.name(args,sender) -- :name PlayerName(args[1]) NewName
  959. MinimumPermission(1,sender)
  960. assert(args[1],"Player to rename missing")
  961. local NewName = ""
  962. for a,i in ipairs(args) do if a > 1 then NewName = NewName..i.." " end end
  963. local Players = GetPlayersFromString(args[1],sender)
  964. for _,i in pairs(Players) do
  965. if i.Character and i.Character:FindFirstChild("Humanoid") and i.Character:FindFirstChild("Head") then for _,i in pairs(i.Character:GetChildren()) do if i:IsA("Model") and i:FindFirstChild("NameChange") and i:FindFirstChild("Head") then i:Destroy() end end
  966. local NameModel = Instance.new("Model",i.Character)
  967. NameModel.Name = NewName
  968. local FakeHead = i.Character.Head:Clone()
  969. FakeHead.Parent = NameModel
  970. FakeHead.Transparency = 0
  971. local NCHumanoid = Instance.new("Humanoid", NameModel)
  972. NCHumanoid.Name = "NameChange"
  973. NCHumanoid.MaxHealth = 0
  974. NCHumanoid.Health = 0
  975. local Weld = Instance.new("Weld", FakeHead)
  976. Weld.Part0 = FakeHead
  977. Weld.Part1 = i.Character.Head
  978. i.Character:FindFirstChild("Head").Transparency = 1
  979. end end
  980. Tell(sender,"Changed "..tostring(unpack(Players)).." name to "..NewName..".",3)
  981. end
  982.  
  983. function Commands.rename(args,sender) --:name PlayerName(args[1]) NewName
  984. MinimumPermission(2,sender)
  985. assert(args[1],"Player to rename missing")
  986. local NewName = ""
  987. for a,i in ipairs(args) do if a > 1 then NewName = NewName..i.." " end end
  988. local Players = GetPlayersFromString(args[1],sender)
  989. for _,i in pairs(Players) do
  990. if i.Character and i.Character:FindFirstChild("Humanoid") and i.Character:FindFirstChild("Head") then for _,i in pairs(i.Character:GetChildren()) do if i:IsA("Model") and i:FindFirstChild("NameChange") and i:FindFirstChild("Head") then i:Destroy() end end
  991. local NameModel = Instance.new("Model",i.Character)
  992. NameModel.Name = NewName
  993. local FakeHead = i.Character.Head:Clone()
  994. FakeHead.Parent = NameModel
  995. FakeHead.Transparency = 0
  996. local NCHumanoid = Instance.new("Humanoid", NameModel)
  997. NCHumanoid.Name = "NameChange"
  998. NCHumanoid.MaxHealth = 0
  999. NCHumanoid.Health = 0
  1000. local Weld = Instance.new("Weld", FakeHead)
  1001. Weld.Part0 = FakeHead
  1002. Weld.Part1 = i.Character.Head
  1003. i.Character:FindFirstChild("Head").Transparency = 1
  1004. end end
  1005. Tell(sender,"Renamed "..tostring(unpack(Players)).." to "..NewName..".",3)
  1006. end
  1007.  
  1008. function Commands.unname(args,sender) --:unname PlayerName(args[1])
  1009. MinimumPermission(2,sender)
  1010. assert(args[1],"Player to unname missing")
  1011. local Players = GetPlayersFromString(args[1],sender)
  1012. for _,i in pairs(Players) do if i.Character and i.Character:FindFirstChild("Head") then for _,i in pairs(i.Character:GetChildren()) do if i:IsA("Model") and i:FindFirstChild("NameChange") and i:FindFirstChild("Head") then i:Destroy() end end i.Character:FindFirstChild("Head").Transparency = 0 end end
  1013. Tell(sender,"Unnamed "..tostring(unpack(Players))..".",3)
  1014. end
  1015.  
  1016. function Commands.noclip(args,sender) -- :noclip PlayerName(args[1])
  1017. MinimumPermission(2,sender)
  1018. assert(args[1],"Player to noclip is missing")
  1019. local flyme = GetPlayersFromString(args[1],sender)
  1020. for _,i in pairs(flyme) do
  1021. MakeLocalScript([[
  1022. local Player = GetPlayersFromString(args[1],sender)
  1023. local Mouse = Player:GetMouse()
  1024. local Character = Player.Character
  1025. local Humanoid = Character:FindFirstChild("Humanoid")
  1026. local Torso = Character:WaitForChild("Torso")
  1027. local Camera = Workspace.CurrentCamera
  1028. local Move = {W = 0, S = 0, A = 0, D = 0}
  1029. local Speed = 2
  1030.  
  1031. Instance.new("StringValue",script).Name = "DO_NOT_REENABLE"
  1032.  
  1033. script.Parent = Player:FindFirstChild("PlayerGui")
  1034. script.Name = "ADMIN_NOCLIP_SCRIPT"
  1035.  
  1036. Mouse.KeyDown:connect(function(key)
  1037. if key:lower() == "w" then
  1038. Move.W = 1
  1039. elseif key:lower() == "s" then
  1040. Move.S = 1
  1041. elseif key:lower() == "a" then
  1042. Move.A = 1
  1043. elseif key:lower() == "d" then
  1044. Move.D = 1
  1045. elseif key:lower() == "q" then
  1046. Speed = Speed + 1
  1047. elseif key:lower() == "e" then
  1048. Speed = Speed - 1
  1049. end
  1050. end)
  1051.  
  1052. Mouse.KeyUp:connect(function(key)
  1053. if key:lower() == "w" then
  1054. Move.W = 0
  1055. elseif key:lower() == "s" then
  1056. Move.S = 0
  1057. elseif key:lower() == "a" then
  1058. Move.A = 0
  1059. elseif key:lower() == "d" then
  1060. Move.D = 0
  1061. end
  1062. end)
  1063.  
  1064. Torso.Anchored = true
  1065. Humanoid.PlatformStand = true
  1066.  
  1067. local eventt = Humanoid.Changed:connect(function()
  1068. Humanoid.PlatformStand = true
  1069. end)
  1070.  
  1071. local event = game:GetService("RunService").RenderStepped:connect(function()
  1072. Torso.CFrame = CFrame.new(
  1073. Torso.Position,
  1074. Camera.CoordinateFrame.p) *
  1075. CFrame.Angles(0, math.rad(180), 0) *
  1076. CFrame.new((Move.D - Move.A) *
  1077. Speed,
  1078. 0,
  1079. (Move.S - Move.W) *
  1080. Speed
  1081. )
  1082. end)
  1083.  
  1084. repeat wait(0.25) until not script.Parent
  1085.  
  1086. event:disconnect()
  1087. eventt:disconnect()]],i:FindFirstChild("PlayerGui"),true)
  1088. end
  1089. Tell(sender,"Noclipped "..tostring(unpack(flyme))..".",3)
  1090. end
  1091.  
  1092. function Commands.fly(args,sender) -- :fly PlayerName(args[1])
  1093. MinimumPermission(2,sender)
  1094. assert(args[1],"Player to fly is missing")
  1095. local flyme = GetPlayersFromString(args[1],sender)
  1096. for _,i in pairs(flyme) do
  1097. MakeLocalScript([[
  1098. local Player = GetPlayersFromString(args[1],sender)
  1099. local Mouse = Player:GetMouse()
  1100. local Torso = Player.Character:WaitForChild("Torso")
  1101. local Humanoid = Player.Character:WaitForChild("Humanoid")
  1102. local Flying = true
  1103. local Control = {f = 0, b = 0, l = 0, r = 0}
  1104. local LastControl = {f = 0, b = 0, l = 0, r = 0}
  1105. local MaxSpeed = 50
  1106. local Speed = 0
  1107. local Camera = Workspace.CurrentCamera
  1108.  
  1109. local FlySmoke = Instance.new("Smoke",Torso)
  1110. FlySmoke.Name = "FlySmoke"
  1111. FlySmoke.Opacity = 0.08
  1112. FlySmoke.Size = 25
  1113.  
  1114. Instance.new("StringValue",script).Name = "DO_NOT_REENABLE"
  1115.  
  1116. script.Parent = Player:FindFirstChild("PlayerGui")
  1117. script.Name = "ADMIN_FLY_SCRIPT"
  1118.  
  1119. function Fly()
  1120. local Gyro = Instance.new("BodyGyro", Torso)
  1121. Gyro.P = 9e4
  1122. Gyro.maxTorque = Vector3.new(9e9, 9e9, 9e9)
  1123. Gyro.cframe = Torso.CFrame --why is cframe in lowercase for BodyGyros
  1124.  
  1125. local Velocity = Instance.new("BodyVelocity", Torso)
  1126. Velocity.velocity = Vector3.new(0,0.1,0) --roblox why is velocity lowercase
  1127. Velocity.maxForce = Vector3.new(9e9, 9e9, 9e9)
  1128.  
  1129. repeat
  1130. wait()
  1131.  
  1132. Humanoid.PlatformStand = true
  1133.  
  1134. if Control.l + Control.r + Control.f + Control.b > 0 then
  1135. FlySmoke.Enabled = true
  1136. else
  1137. FlySmoke.Enabled = false
  1138. end
  1139.  
  1140. if Control.l + Control.r ~= 0 or Control.f + Control.b ~= 0 then
  1141.  
  1142. Speed = Speed+.5+(Speed/MaxSpeed)
  1143.  
  1144. if Speed > MaxSpeed then
  1145. Speed = MaxSpeed
  1146. end
  1147. elseif not (Control.l + Control.r ~= 0 or Control.f + Control.b ~= 0) and Speed ~= 0 then
  1148. Speed = Speed-1
  1149. if Speed < 0 then
  1150. Speed = 0
  1151. end
  1152. end
  1153.  
  1154. if (Control.l + Control.r) ~= 0 or (Control.f + Control.b) ~= 0 then
  1155.  
  1156. Velocity.velocity =
  1157. ((Camera.CoordinateFrame.lookVector * (Control.f + Control.b)) +
  1158. ((Camera.CoordinateFrame * CFrame.new(Control.l + Control.r,(Control.f + Control.b) * 0.2, 0).p) - --yuck
  1159. Camera.CoordinateFrame.p))*Speed
  1160.  
  1161. LastControl = {f = Control.f, b = Control.b, l = Control.l, r = Control.r}
  1162.  
  1163. elseif (Control.l + Control.r) == 0 and (Control.f + Control.b) == 0 and Speed ~= 0 then
  1164.  
  1165. Velocity.velocity =
  1166. ((Camera.CoordinateFrame.lookVector * (LastControl.f + LastControl.b)) +
  1167. ((Camera.CoordinateFrame * CFrame.new(LastControl.l + LastControl.r, (LastControl.f + LastControl.b) * 0.2, 0).p) - --also yuck
  1168. Camera.CoordinateFrame.p))*Speed
  1169.  
  1170. else
  1171. Velocity.velocity = Vector3.new(0,0.1,0)
  1172. end
  1173.  
  1174. Gyro.cframe = Camera.CoordinateFrame * CFrame.Angles(-math.rad((Control.f+Control.b)*50*Speed/MaxSpeed),0,0)
  1175.  
  1176. until not Flying or not script.Parent
  1177.  
  1178. Control = {f = 0, b = 0, l = 0, r = 0}
  1179. LastControl = {f = 0, b = 0, l = 0, r = 0}
  1180. Speed = 0
  1181. Gyro:Destroy()
  1182. Velocity:Destroy()
  1183. Humanoid.PlatformStand = false
  1184.  
  1185. end
  1186.  
  1187. Mouse.KeyDown:connect(function(key)
  1188. if key:lower() == "e" then
  1189. Flying = not Flying
  1190. if Flying then
  1191. Fly()
  1192. end
  1193. elseif key:lower() == "w" then
  1194. Control.f = 1
  1195. elseif key:lower() == "s" then
  1196. Control.b = -1
  1197. elseif key:lower() == "a" then
  1198. Control.l = -1
  1199. elseif key:lower() == "d" then
  1200. Control.r = 1
  1201. end
  1202. end)
  1203.  
  1204. Mouse.KeyUp:connect(function(key)
  1205. if key:lower() == "w" then
  1206. Control.f = 0
  1207. elseif key:lower() == "s" then
  1208. Control.b = 0
  1209. elseif key:lower() == "a" then
  1210. Control.l = 0
  1211. elseif key:lower() == "d" then
  1212. Control.r = 0
  1213. end
  1214. end)
  1215.  
  1216. Fly()]],i:FindFirstChild("PlayerGui"),true)
  1217. end
  1218. Tell(sender,"Flown "..tostring(unpack(flyme))..".",3)
  1219. end
  1220.  
  1221. function Commands.unfly(args,sender) -- :unfly PlayerName(args[1])
  1222. MinimumPermission(2,sender)
  1223. assert(args[1],"Player to unfly is missing")
  1224. local unfly = GetPlayersFromString(args[1],sender)
  1225. for _,i in pairs(unfly) do
  1226. if i:FindFirstChild("PlayerGui") and i:FindFirstChild("PlayerGui"):FindFirstChild("ADMIN_FLY_SCRIPT") then i:FindFirstChild("PlayerGui"):FindFirstChild("ADMIN_FLY_SCRIPT").Disabled = true i:FindFirstChild("PlayerGui"):FindFirstChild("ADMIN_FLY_SCRIPT"):Destroy() end
  1227. if i.Character and i.Character:FindFirstChild("Torso") then if i.Character.Torso:FindFirstChild("FlySmoke") then i.Character.Torso:FindFirstChild("FlySmoke"):Destroy() end if i.Character.Torso:FindFirstChild("BodyGyro") then i.Character.Torso:FindFirstChild("BodyGyro"):Destroy() end if i.Character.Torso:FindFirstChild("BodyVelocity") then i.Character.Torso:FindFirstChild("BodyVelocity"):Destroy() end end
  1228. if i.Character:FindFirstChild("Humanoid") then i.Character:FindFirstChild("Humanoid").PlatformStand = false end
  1229. end
  1230. Tell(sender,"Unflown "..tostring(unpack(unfly))..".",3)
  1231. end
  1232.  
  1233. function Commands.unnoclip(args,sender) -- :unnoclip PlayerName(args[1])
  1234. MinimumPermission(2,sender)
  1235. assert(args[1],"Player to unnoclip is missing")
  1236. local unfly = GetPlayersFromString(args[1],sender)
  1237. for _,i in pairs(unfly) do
  1238. if i:FindFirstChild("PlayerGui") and i:FindFirstChild("PlayerGui"):FindFirstChild("ADMIN_NOCLIP_SCRIPT") then i:FindFirstChild("PlayerGui"):FindFirstChild("ADMIN_NOCLIP_SCRIPT").Disabled = true i:FindFirstChild("PlayerGui"):FindFirstChild("ADMIN_NOCLIP_SCRIPT"):Destroy() end
  1239. if i.Character then if i.Character:FindFirstChild("Torso") then i.Character:FindFirstChild("Torso").Anchored = false end if i.Character:FindFirstChild("Humanoid") then Delay(0.28,function() i.Character:FindFirstChild("Humanoid").PlatformStand = false end) end end
  1240. end
  1241. Tell(sender,"Clipped "..tostring(unpack(unfly))..".",3)
  1242. end
  1243.  
  1244. function Commands.clip(...) -- :clip PlayerName(args[1])
  1245. Commands.unnoclip(...)
  1246. end
  1247.  
  1248. function Commands.char(args,sender) -- :char PlayerName(args[1]) IDtoChar
  1249. MinimumPermission(2,sender)
  1250. local player = GetPlayersFromString(args[1],sender)
  1251. local id = assert(tonumber(args[2]),"CharID is missing or not a number")
  1252. for i,v in pairs(player) do pcall(function() if id and not game:service("Players"):FindFirstChild(args[2]) then v.CharacterAppearance = "http://www.roblox.com/asset/CharacterFetch.ashx?userId=" .. args[2] v:LoadCharacter() else for k,m in pairs(player) do v.CharacterAppearance = "http://www.roblox.com/asset/CharacterFetch.ashx?userId=" .. m.userId v:LoadCharacter() end end end) end
  1253. end
  1254.  
  1255. function Commands.unchar(args,sender) -- :unchar PlayerName(args[1])
  1256. MinimumPermission(2,sender)
  1257. for i,v in pairs(GetPlayersFromString(args[1],sender)) do
  1258. pcall(function() if v and v.Character then v.CharacterAppearance = "http://www.roblox.com/asset/CharacterFetch.ashx?userId=" .. v.userId v:LoadCharacter() end end) end
  1259. end
  1260.  
  1261. function Commands.heal(args,sender) -- :heal PlayerName(args[1])
  1262. MinimumPermission(2,sender)
  1263. for i, v in pairs(GetPlayersFromString(args[1],sender)) do pcall(function() if v and v.Character and v.Character:findFirstChild("Humanoid") then v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth end end) end
  1264. Tell(sender,"Healed "..args[1]..'.',3)
  1265. end
  1266.  
  1267. function Commands.punish(args,sender) -- :punish PlayerName(args[1])
  1268. MinimumPermission(2,sender)
  1269. assert(args[1],"Player to punish is missing")
  1270. local punish = GetPlayersFromString(args[1],sender)
  1271. for _,i in pairs(punish) do local c = i.Character c.Parent = Lighting pcall(function() i.Character = nil c.Name = c.Name.."_PUNISHED" end) end
  1272. Tell(sender,"Punished "..tostring(unpack(punish))..".",3)
  1273. end
  1274.  
  1275. function Commands.removetools(args,sender) -- :removetools PlayerName(args[1])
  1276. MinimumPermission(2,sender)
  1277. assert(args[1],"Player to remove tools is missing")
  1278. local players = GetPlayersFromString(args[1],sender)
  1279. for _,i in pairs(players) do if i:FindFirstChild("Backpack") then for _,a in pairs(i:FindFirstChild("Backpack"):GetChildren()) do if a:IsA("HopperBin") or a:IsA("Tool") then a:Destroy() end end end if i.Character then for _,a in pairs(i.Character:GetChildren()) do if a:IsA("Tool") or a:IsA("HopperBin") then a:Destroy() end end end end
  1280. Tell(sender,"Took Tools from "..tostring(unpack(players))..".",3)
  1281. end
  1282.  
  1283. function Commands.cleartools(...) -- :cleartools PlayerName(args[1])
  1284. Commands.removetools(...)
  1285. end
  1286.  
  1287. function Commands.taketools(...) -- :taketools PlayerName(args[1])
  1288. Commands.removetools(...)
  1289. end
  1290.  
  1291. function Commands.unpunish(args,sender) -- :unpunish PlayerName(args[1])
  1292. MinimumPermission(2,sender)
  1293. assert(args[1],"Player to unpunish is missing")
  1294. local punish = GetPlayersFromString(args[1],sender)
  1295. for _,i in pairs(punish) do local punishedchar = Lighting:FindFirstChild(i.Name.."_PUNISHED") if punishedchar then punishedchar.Name = i.Name i.Character = punishedchar punishedchar.Parent = Workspace else i:LoadCharacter() end end
  1296. Tell(sender,"Unpunished "..tostring(unpack(punish))..".",3)
  1297. end
  1298.  
  1299. function Commands.day(args,sender) -- :day
  1300. MinimumPermission(2,sender)
  1301. Lighting.TimeOfDay = 14
  1302. Tell(sender,"It's day now!",3)
  1303. end
  1304.  
  1305. function Commands.night(args,sender) -- :night
  1306. MinimumPermission(2,sender)
  1307. Lighting.TimeOfDay = 0
  1308. Tell(sender,"It's day now!",3)
  1309. end
  1310.  
  1311. function Commands.fog(args,sender) -- :fog num(1-100)
  1312. MinimumPermission(2,sender)
  1313. Lighting.FogEnd = tonumber(args[1]) or 100
  1314. Tell(sender,"It's foggy out now!",3)
  1315. end
  1316.  
  1317. function Commands.nofog(args,sender) -- :nofog
  1318. MinimumPermission(2,sender)
  1319. Lighting.FogEnd = 100000
  1320. Tell(sender,"It's no longer foggy out now!",3)
  1321. end
  1322.  
  1323. function Commands.unfog(args,sender) -- :unfog
  1324. MinimumPermission(2,sender)
  1325. Lighting.FogEnd = 100000
  1326. Tell(sender,"It's no longer foggy out now!",3)
  1327. end
  1328.  
  1329. function Commands.kill(args,sender) -- :kill PlayerName(args[1])
  1330. MinimumPermission(2,sender)
  1331. assert(args[1],"Player to kill is missing")
  1332. player = GetPlayersFromString(args[1],sender)
  1333. for _,i in pairs(player) do if i.Character then i.Character:BreakJoints()--[[ham ham ham ham]] end end
  1334. Tell(sender,"Killed "..tostring(unpack(player))..".",3)
  1335. end
  1336.  
  1337. function Commands.damage(args,sender) -- :damage PlayerName(args[1]) num
  1338. MinimumPermission(2,sender)
  1339. assert(args[1],"Player to damage is missing")
  1340. local player = GetPlayersFromString(args[1],sender)
  1341. assert(tonumber(args[2]),"Damage amount missing or not a proper number")
  1342. for _,i in pairs(player) do if i.Character and i.Character:FindFirstChild("Humanoid") then i.Character:FindFirstChild("Humanoid"):TakeDamage(tonumber(args[2])) end end
  1343. Tell(sender,"Damaged "..tostring(unpack(player)).." by "..args[2].." health.",3)
  1344. end
  1345.  
  1346. function Commands.jump(args,sender) -- :jump PlayerName(args[1])
  1347. MinimumPermission(2,sender)
  1348. assert(args[1],"Player to jump is missing")
  1349. player = GetPlayersFromString(args[1],sender)
  1350. for _,i in pairs(player) do if i.Character and i.Character:FindFirstChild("Humanoid") then i.Character:FindFirstChild("Humanoid").Jump = true end end
  1351. Tell(sender,"Jumped "..tostring(unpack(player))..".",3)
  1352. end
  1353.  
  1354. function Commands.lay(args,sender) -- :lay PlayerName(args[1])
  1355. MinimumPermission(2,sender)
  1356. assert(args[1],"Player to jump is missing")
  1357. player = GetPlayersFromString(args[1],sender)
  1358. for _,i in pairs(player) do if i.Character and i.Character:FindFirstChild("Humanoid") and i.Character:FindFirstChild("Torso") then i.Character:FindFirstChild("Humanoid").PlatformStand = true i.Character:FindFirstChild("Torso").Velocity = Vector3.new(3,3,0) end end
  1359. Tell(sender,"Lied down "..tostring(unpack(player))..".",3)
  1360. end
  1361.  
  1362. function Commands.fling(args,sender) -- :fling PlayerName(args[1])
  1363. MinimumPermission(2,sender)
  1364. assert(args[1],"Player to fling is missing")
  1365. player = GetPlayersFromString(args[1],sender)
  1366. for _,i in pairs(player) do if i.Character and i.Character:FindFirstChild("Humanoid") and i.Character:FindFirstChild("Torso") then i.Character:FindFirstChild("Humanoid").Sit = true i.Character:FindFirstChild("Torso").Velocity = Vector3.new(1000,1000,0) end end
  1367. Tell(sender,"Flung "..tostring(unpack(player))..".",3)
  1368. end
  1369.  
  1370. function Commands.sit(args,sender) -- :sit PlayerName(args[1])
  1371. MinimumPermission(2,sender)
  1372. assert(args[1],"Player to sit is missing")
  1373. player = GetPlayersFromString(args[1],sender)
  1374. for _,i in pairs(player) do if i.Character and i.Character:FindFirstChild("Humanoid") then i.Character:FindFirstChild("Humanoid").Sit = true end end
  1375. Tell(sender,"Sat "..tostring(unpack(player))..".",3)
  1376. end
  1377.  
  1378. function Commands.respawn(args,sender) -- :respawn PlayerName(args[1])
  1379. MinimumPermission(2,sender)
  1380. assert(args[1],"Player to respawn is missing")
  1381. player = GetPlayersFromString(args[1],sender)
  1382. for _,i in pairs(player) do i:LoadCharacter() end
  1383. Tell(sender,"Respawned "..tostring(unpack(player))..".",3)
  1384. end
  1385.  
  1386. function Commands.god(args,sender) -- :god PlayerName(args[1])
  1387. MinimumPermission(2,sender)
  1388. assert(args[1],"Player to god is missing")
  1389. player = GetPlayersFromString(args[1],sender)
  1390. for _,a in pairs(player) do if a.Character and a.Character:FindFirstChild("Humanoid") then for i = 1, 3 do a.Character:FindFirstChild("Humanoid").MaxHealth = math.huge a.Character:FindFirstChild("Humanoid").Health = math.huge end end end
  1391. Tell(sender,"Godded "..tostring(unpack(player))..".",3)
  1392. end
  1393.  
  1394. function Commands.ungod(args,sender) -- :ungod PlayerName(args[1])
  1395. MinimumPermission(2,sender)
  1396. assert(args[1],"Player to god is missing")
  1397. player = GetPlayersFromString(args[1],sender)
  1398. for _,a in pairs(player) do if a.Character and a.Character:FindFirstChild("Humanoid") then for i = 1, 3 do a.Character:FindFirstChild("Humanoid").MaxHealth = 100 a.Character:FindFirstChild("Humanoid").Health = 100 end end end
  1399. Tell(sender,"Ungodded "..tostring(unpack(player))..".",3)
  1400. end
  1401.  
  1402. function Commands.teleport(args,sender) -- :teleport PlayerName(args[1]) PlayerName(args[1])
  1403. MinimumPermission(2,sender)
  1404. assert(args[1],"Players to teleport is missing")
  1405. assert(args[2],"Player to teleport to is missing")
  1406. player = GetPlayersFromString(args[1],sender)
  1407. tpto = GetPlayersFromString(args[2],sender)
  1408. if #tpto > 1 then error("Cannot teleport players to more than one person at once.") end
  1409. assert(tpto[1],"Missing player to teleport to.")
  1410. assert(tpto[1].Character,"Missing player to teleport to's Character.")
  1411. assert(tpto[1].Character:FindFirstChild("Torso"),"Missing player to teleport to's Torso.")
  1412. for _,a in pairs(player) do if a.Character then a.Character:MoveTo(tpto[1].Character:FindFirstChild("Torso").Position) end end
  1413. Tell(sender,"Teleported "..tostring(unpack(player)).." to "..tpto[1].Name..".",3)
  1414. end
  1415.  
  1416. function Commands.pteleport(args,sender) -- :pteleport PlayerName(args[1]) PlaceID
  1417. MinimumPermission(2,sender)
  1418. assert(args[1],"Players to teleport is missing")
  1419. assert(tostring(args[2]),"Place to teleport to is missing or not a number")
  1420. player = GetPlayersFromString(args[1],sender)
  1421. tpto = tostring(args[2])
  1422. TeleportService.CustomizedTeleportUI = true
  1423. for _,a in pairs(player) do if a.Character then TeleportService:Teleport(tpto,a.Character) end end
  1424. if not PlaceNames[tpto] then PlaceNames[tpto] = tpto end
  1425. if type(PlaceNames[tpto]) == "number" then ypcall(function() PlaceNames[tpto] = MarketplaceService:GetProductInfo(tpto)["Name"] end) end
  1426. Tell(sender,"Teleported "..tostring(unpack(player)).." to place "..PlaceNames[tpto] or tpto..".",3)
  1427. end
  1428.  
  1429. function Commands.tp(args,sender) -- :tp PlayerName(args[1]) PlayerName(args[1])
  1430. Commands.teleport(args,sender)
  1431. end
  1432.  
  1433. function Commands.tele(args,sender) -- :tele PlayerName(args[1]) PlayerName(args[1])
  1434. Commands.teleport(args,sender)
  1435. end
  1436.  
  1437. function Commands.ptp(args,sender) -- :ptp PlayerName(args[1]) PlaceID
  1438. Commands.pteleport(args,sender)
  1439. end
  1440.  
  1441. function Commands.ptele(args,sender) -- :ptele PlayerName(args[1]) PlaceID
  1442. Commands.pteleport(args,sender)
  1443. end
  1444.  
  1445. function Commands.place(args,sender) -- :place PlayerName(args[1]) PlaceID
  1446. Commands.pteleport(args,sender)
  1447. end
  1448.  
  1449. function Commands.ff(args,sender) -- :ff PlayerName(args[1])
  1450. MinimumPermission(2,sender)
  1451. assert(args[1],"Player to give ForceField is missing")
  1452. player = GetPlayersFromString(args[1],sender)
  1453. for _,i in pairs(player) do if i.Character then Instance.new("ForceField",i.Character) end end
  1454. Tell(sender,"ForceFielded "..tostring(unpack(player))..".",3)
  1455. end
  1456.  
  1457. function Commands.sparkles(args,sender) -- :sparkles PlayerName(args[1])
  1458. MinimumPermission(2,sender)
  1459. assert(args[1],"Player to give sparkles is missing")
  1460. player = GetPlayersFromString(args[1],sender)
  1461. for _,i in pairs(player) do if i.Character then Instance.new("Sparkles",i.Character) end end
  1462. Tell(sender,"Made "..tostring(unpack(player)).." sparkly.",3)
  1463. end
  1464.  
  1465. function Commands.unsparkles(args,sender) -- :unsparkles PlayerName(args[1])
  1466. MinimumPermission(2,sender)
  1467. assert(args[1],"Player to remove sparkles is missing")
  1468. player = GetPlayersFromString(args[1],sender)
  1469. for _,i in pairs(player) do while i.Character and i.Character:FindFirstChild("Sparkles") do i.Character:FindFirstChild("Sparkles"):Destroy() end end
  1470. Tell(sender,"Made "..tostring(unpack(player)).." not so sparkly.",3)
  1471. end
  1472.  
  1473. function Commands.freeze(args,sender) -- :freeze PlayerName(args[1])
  1474. MinimumPermission(2,sender)
  1475. assert(args[1],"Player to freeze is missing")
  1476. player = GetPlayersFromString(args[1],sender)
  1477. for _,i in pairs(player) do
  1478. if i.Character then if not i.Character:FindFirstChild("IceBlock") and i.Character:FindFirstChild("Torso") then
  1479. local IceBlock = Instance.new("Part",i.Character)
  1480. IceBlock.Name = "IceBlock"
  1481. IceBlock.Anchored = true
  1482. IceBlock.Locked = true
  1483. IceBlock.BrickColor = BrickColor.new("Bright blue")
  1484. IceBlock.Transparency = 0.5
  1485. local Weld = Instance.new("Weld",IceBlock)
  1486. Weld.Part0 = IceBlock
  1487. Weld.Part1 = i.Character:FindFirstChild("Torso")
  1488. end end end
  1489. Tell(sender,"Froze "..tostring(unpack(player))..".",3)
  1490. end
  1491.  
  1492. function Commands.ghost(args,sender) -- :ghost PlayerName(args[1])
  1493. MinimumPermission(2,sender)
  1494. assert(args[1],"Player to ghost is missing")
  1495. player = GetPlayersFromString(args[1],sender)
  1496. for _,i in pairs(player) do if i.Character then for _,a in pairs(i.Character:GetChildren()) do if a:IsA("BasePart") then if a.Name ~= "HumanoidRootPart" then a.Transparency = 1 end if a.Name == "Head" then if a:FindFirstChild("face") and a:IsA("Decal") then a.Transparency = 1 end end elseif a:IsA("BaseScript") and a.Name == "Sound" then a.Disabled = true elseif a:IsA("Tool") or a:IsA("Hat") then for _,b in pairs(a:GetChildren()) do if b:IsA("BasePart") then b.Transparency = 1 end end end end end end
  1497. Tell(sender,"Ghosted "..tostring(unpack(player))..".",3)
  1498. end
  1499.  
  1500. function Commands.nograv(args,sender) -- :nograv PlayerName(args[1])
  1501. MinimumPermission(2,sender)
  1502. assert(args[1],"Player to nograv is missing")
  1503. player = GetPlayersFromString(args[1],sender)
  1504. for _,i in pairs(player) do if i.Character and i.Character:FindFirstChild("Torso") then
  1505. local bodyforce = i.Character.Torso:FindFirstChild("NoGrav") or Instance.new("BodyForce", i.Character.Torso)
  1506. bodyforce.Name = "NoGrav"
  1507. bodyforce.force = Vector3.new(0,0,0)
  1508. for _,a in pairs(i.Character:GetChildren()) do if a:IsA("BasePart") then bodyforce.force = bodyforce.force + Vector3.new(0,a:GetMass()*200,0) elseif (a:IsA("Hat") or a:IsA("Gear")) and a:FindFirstChild("Handle") then bodyforce.force = bodyforce.force + Vector3.new(0,a:FindFirstChild("Handle"):GetMass()*200,0) end end end end
  1509. Tell(sender,"Nograved "..tostring(unpack(player))..".",3)
  1510. end
  1511.  
  1512. function Commands.time(args,sender) -- :time num( num num)
  1513. MinimumPermission(2,sender)
  1514. if #args <= 0 then error("You must include the time you want to set it to. Honestly, what else did you expect me to do for you without the time you want?") end
  1515. if #args == 1 then Lighting.TimeOfDay = args[1] elseif #args >= 3 then Lighting.TimeOfDay = args[1]..":"..args[2]..(args[3] and ":")..(args[3] or "") else error("The way you formatted your time is unrecognized. Try using XX:XX:XX, or separating them with "..(CommandSeparator == " " and "spaces" or CommandSeparator)) end
  1516. end
  1517.  
  1518. function Commands.grav(args,sender) -- :grav PlayerName(args[1])
  1519. MinimumPermission(2,sender)
  1520. assert(args[1],"Player to ghost is missing")
  1521. player = GetPlayersFromString(args[1],sender)
  1522. for _,i in pairs(player) do if i.Character and i.Character:FindFirstChild("Torso") and i.Character:FindFirstChild("Torso"):FindFirstChild("NoGrav") then i.Character:FindFirstChild("Torso"):FindFirstChild("NoGrav"):Destroy() end end
  1523. Tell(sender,"Graved "..tostring(unpack(player))..".",3)
  1524. end
  1525.  
  1526. function Commands.unghost(args,sender) -- :unghost PlayerName(args[1])
  1527. MinimumPermission(2,sender)
  1528. assert(args[1],"Player to unghost is missing")
  1529. player = GetPlayersFromString(args[1],sender)
  1530. for _,i in pairs(player) do if i.Character then for _,a in pairs(i.Character:GetChildren()) do if a:IsA("BasePart") then if a.Name ~= "HumanoidRootPart" then a.Transparency = 0 end if a.Name == "Head" then if a:FindFirstChild("face") and a:IsA("Decal") then a.Transparency = 0 end end elseif a:IsA("BaseScript") and a.Name == "Sound" then a.Disabled = false elseif a:IsA("Tool") or a:IsA("Hat") then for _,b in pairs(a:GetChildren()) do if b:IsA("BasePart") then b.Transparency = 1 end end end end end end
  1531. Tell(sender,"Unghosted "..tostring(unpack(player))..".",3)
  1532. end
  1533.  
  1534. function Commands.thaw(args,sender) -- :thaw PlayerName(args[1])
  1535. MinimumPermission(2,sender)
  1536. assert(args[1],"Player to thaw is missing")
  1537. player = GetPlayersFromString(args[1],sender)
  1538. for _,i in pairs(player) do if i.Character then --[[for _,a in pairs(i.Character:GetChildren()) do if a:IsA("BasePart") then a.Anchored = false if i.Character:FindFirstChild("Body Colors") and i.Character:FindFirstChild("Body Colors"):IsA("BodyColors") then if a.Name == "Head" then a.BrickColor = i.Character:FindFirstChild("Body Colors").HeadColor elseif a.Name == "Left Leg" then a.BrickColor = i.Character:FindFirstChild("Body Colors").LeftLegColor elseif a.Name == "Right Leg" then a.BrickColor = i.Character:FindFirstChild("Body Colors").RightLegColor elseif a.Name == "Left Arm" then a.BrickColor = i.Character:FindFirstChild("Body Colors").LeftArmColor elseif a.Name == "Right Arm" then a.BrickColor = i.Character:FindFirstChild("Body Colors").RightArmColor elseif a.Name == "Torso" then a.BrickColor = i.Character:FindFirstChild("Body Colors").TorsoColor end end if a.Name ~= "HumanoidRootPart" then a.Transparency = 0 end a.Reflectance = 0 a.Material = "Plastic" end end]] if i.Character:FindFirstChild("IceBlock") then i.Character:FindFirstChild("IceBlock"):Destroy() end end end
  1539. Tell(sender,"Thawed "..tostring(unpack(player))..".",3)
  1540. end
  1541.  
  1542. function Commands.fire(args,sender) -- :fire PlayerName(args[1])
  1543. MinimumPermission(2,sender)
  1544. assert(args[1],"Player to burn is missing")
  1545. player = GetPlayersFromString(args[1],sender)
  1546. for _,i in pairs(player) do if i.Character and i.Character:FindFirstChild("Torso") then Instance.new("Fire",i.Character:FindFirstChild("Torso")) end end
  1547. Tell(sender,"Made "..tostring(unpack(player)).." burn.",3)
  1548. end
  1549.  
  1550. function Commands.smoke(args,sender) -- :smoke PlayerName(args[1])
  1551. MinimumPermission(2,sender)
  1552. assert(args[1],"Player to smoke is missing")
  1553. player = GetPlayersFromString(args[1],sender)
  1554. for _,i in pairs(player) do if i.Character and i.Character:FindFirstChild("Torso") then Instance.new("Fire",i.Character:FindFirstChild("Torso")) end end
  1555. Tell(sender,"Made "..tostring(unpack(player)).." smoke.",3)
  1556. end
  1557.  
  1558. function Commands.unfire(args,sender) -- :unfire PlayerName(args[1])
  1559. MinimumPermission(2,sender)
  1560. assert(args[1],"Player to not burn is missing")
  1561. player = GetPlayersFromString(args[1],sender)
  1562. for _,i in pairs(player) do while i.Character and i.Character:FindFirstChild("Torso") and i.Character:FindFirstChild("Torso"):FindFirstChild("Fire") do i.Character:FindFirstChild("Torso"):FindFirstChild("Fire"):Destroy() end end
  1563. Tell(sender,"Made "..tostring(unpack(player)).." not burn.",3)
  1564. end
  1565.  
  1566. function Commands.extinguish(...) -- :extinguish PlayerName(args[1])
  1567. Commands.unfire(...)
  1568. end
  1569.  
  1570. function Commands.burn(...) -- :burn PlayerName(args[1])
  1571. Commands.fire(...)
  1572. end
  1573.  
  1574. function Commands.unburn(...) -- :unburn PlayerName(args[1])
  1575. Commands.extinguish(...)
  1576. end
  1577.  
  1578. function Commands.explode(args,sender) -- :explode PlayerName(args[1])
  1579. MinimumPermission(2,sender)
  1580. assert(args[1],"Player to explode is missing")
  1581. player = GetPlayersFromString(args[1],sender)
  1582. for _,i in pairs(player) do if i.Character and i.Character:FindFirstChild("Torso") then Instance.new("Explosion",Workspace).Position = i.Character:FindFirstChild("Torso").Position end end
  1583. Tell(sender,"Exploded "..tostring(unpack(player))..".",3)
  1584. end
  1585.  
  1586. function Commands.unff(args,sender) -- :unff PlayerName(args[1])
  1587. MinimumPermission(2,sender)
  1588. assert(args[1],"Player to remove ForceField is missing")
  1589. player = GetPlayersFromString(args[1],sender)
  1590. for _,i in pairs(player) do while i.Character and i.Character:FindFirstChild("ForceField") do i.Character:FindFirstChild("ForceField"):Destroy() end end
  1591. Tell(sender,"Removed "..tostring(unpack(player)).."'s ForceField.",3)
  1592. end
  1593.  
  1594. function Commands.wait(args,sender) -- :wait num(PlayerName(args[1]))
  1595. MinimumPermission(2,sender)
  1596. return wait(args[1])
  1597. end
  1598.  
  1599. function Commands.speed(args,sender) -- :speed PlayerName(args[1]) num(speed)
  1600. MinimumPermission(2,sender)
  1601. local player = GetPlayersFromString(assert(args[1],"Player to change speed is missing"),sender)
  1602. local speed = assert(tonumber(args[2]),"Speed is missing or not a number")
  1603. for _,a in pairs(player) do if a.Character and a.Character:FindFirstChild("Humanoid") then for i = 1, 3 do a.Character:FindFirstChild("Humanoid").WalkSpeed = speed end end end
  1604. Tell(sender,"Changed speed of "..tostring(unpack(player)).." to "..args[2]..".",3)
  1605. end
  1606.  
  1607. function Commands.team(args,sender) -- :team PlayerName(args[1]) TeamName
  1608. MinimumPermission(2,sender)
  1609. for i, v in pairs(GetPlayersFromString(args[1],sender)) do for _, tm in pairs(Teams:GetChildren()) do if tm:IsA("Team") then if tm.Name:lower():find(args[2]:lower()) == 1 then v.TeamColor = tm.TeamColor end end end end
  1610. Tell(sender,"Changed Teams of "..tostring(unpack(GetPlayersFromString(args[1],sender))).." to "..args[2]..".",3)
  1611. end
  1612.  
  1613. function Commands.rstats(args,sender) -- :rstats PlayerName(args[1])
  1614. MinimumPermission(2,sender)
  1615. for i, v in pairs(GetPlayersFromString(args[1],sender)) do coroutine.resume(coroutine.create(function() if v and v:findFirstChild("leaderstats") then for a, q in pairs(v.leaderstats:children()) do if q:IsA("IntValue") then q.Value = 0 end end end end))end
  1616. Tell(sender,"Reset Stats of"..tostring(unpack(GetPlayersFromString(args[1],sender)))..".",3)
  1617. end
  1618.  
  1619. function Commands.logs(whatev,sender) -- :logs
  1620. MinimumPermission(2,sender)
  1621. local concat = ""
  1622. for _,i in ipairs(logs) do concat = " "..i.."\n"..concat --[[I would use table.concat, but it doesn't support going in reverse]] end
  1623. DisplayScrollFrame(sender,"Logs",concat)
  1624. end
  1625.  
  1626. function Commands.chatlogs(whatev,sender) -- :chatlogs
  1627. MinimumPermission(2,sender)
  1628. local concat = ""
  1629. for _,i in ipairs(chatlogs) do wait(3) concat = " "..i.."\n"..concat --[[I would use table.concat, but it doesn't support going in reverse]] end
  1630. DisplayScrollFrame(sender,"Chat Logs",concat)
  1631. end
  1632.  
  1633.  
  1634. function Commands.tools(whatev,sender) -- :tools
  1635. MinimumPermission(2,sender)
  1636. local str = ""
  1637. for _,i in pairs(tools) do str = " "..i.Name end
  1638. DisplayScrollFrame(sender,"Tools"," Lighting Tools:\n"..str)
  1639. end
  1640.  
  1641. function Commands.admins(whatev,sender) -- :admins
  1642. MinimumPermission(2,sender)
  1643. local str = ""
  1644. local str1 = ""
  1645. local str2 = ""
  1646. for _,i in pairs(SuperAdmins) do str = str.." "..i.."\n" end
  1647. for _,i in pairs(Admins) do str1 = str1.." "..i.."\n" end
  1648. for _,i in pairs(SpecialAdmins) do str2 = str2.." "..i.."\n" end
  1649. DisplayScrollFrame(sender,"Game Admins"," Admins:\n"..str1..'\n '.."\n\n Super Admins:\n"..str..'\n '.."\n\n Special Admins:\n"..str2..'\n ')
  1650. end
  1651.  
  1652. function Commands.adminlist(whatev,sender) -- :adminlist
  1653. Commands.admins(whatev,sender)
  1654. end
  1655.  
  1656. function Commands.banned(whatev,sender) -- :banned
  1657. MinimumPermission(2,sender)
  1658. local str = ""
  1659. for _,i in pairs(BannedPlayers) do str = str.." "..i.."\n" end
  1660. str = str:sub(1, #str-2)
  1661. DisplayScrollFrame(sender,"Banned Players",str)
  1662. end
  1663.  
  1664. function Commands.bannedlist(whatev,sender) -- :bannedlist
  1665. Commands.banned(whatev,sender)
  1666. end
  1667.  
  1668. function Commands.banlist(whatev,sender) -- :banlist
  1669. Commands.banned(whatev,sender)
  1670. end
  1671.  
  1672. function Commands.cmds(whatev,sender) -- :cmds
  1673. MinimumPermission(2,sender)
  1674. local num = 0
  1675. for _ in pairs(Commands) do num = num + 1 end
  1676. local los_comandos = {}
  1677. local str = " There are currently "..tostring(num).." commands in this Admin Commands\n \n"
  1678. for i,_ in pairs(Commands) do if i ~= "root" and i ~= "rootupdatefirmware" then table.insert(los_comandos,i) end end
  1679. table.sort(los_comandos)
  1680. for _,i in pairs(los_comandos) do str = str.." "..CommandPrefix..i.."\n" end
  1681. DisplayScrollFrame(sender,"Commands",str:sub(1, #str-1))
  1682. end
  1683.  
  1684. function Commands.help(whatev,sender) -- :help
  1685. Commands.cmds(whatev,sender)
  1686. end
  1687.  
  1688. function Commands.commands(whatev,sender) -- :commands
  1689. Commands.cmds(whatev,sender)
  1690. end
  1691.  
  1692. ------------------------------------------------------------------------
  1693. ----------------------- Super Admin Commands ---------------------------
  1694. ------------------------------------------------------------------------
  1695.  
  1696. function Commands.sm(args,sender) -- :sm PlayerName(args[1])
  1697. MinimumPermission(3,sender)
  1698. local buildstring = ""
  1699. for _,i in pairs(args) do buildstring = buildstring..i.." " end
  1700. buildstring = buildstring:sub(1,#buildstring-1)
  1701. DisplayMessageAll("System Message",buildstring,6)
  1702. end
  1703.  
  1704. function Commands.loop(args,sender) -- :loop time(num) PlayerName(args[1])
  1705. MinimumPermission(3,sender)
  1706. local timing = assert(tonumber(args[1]),"Timing missing or invalid number")
  1707. local cmd = assert(args[2],"Missing command to loop")
  1708. if cmd:lower() == "loop" then error("Why the hell do you want to loop the loop command? Just use a small Timing.") end
  1709. assert(args[2],"Missing command to loop")
  1710. local docmd = assert(rawget(Commands,args[2]),"The command requested doesn't exist in this admin commands. Check your spelling. If this command is typically in "..string["r".."ev".."er".."se"]("s'8388elyK").." Admin Commands, contact the game creator for details.")
  1711. local newargs = {}
  1712. for i = 3,#args do newargs[i-2] = args[i] end
  1713. Spawn(function() while wait(timing) and not stoploops do ypcall(function() docmd(newargs,sender) end) end end)
  1714. Tell(sender,"Looping "..cmd.." every "..timing.." seconds!")
  1715. end
  1716.  
  1717. function Commands.stoploops(args,sender) -- :stoploops
  1718. MinimumPermission(3,sender)
  1719. Tell(sender,"Stopping loops, please wait...")
  1720. stoploops = true
  1721. wait(5)
  1722. stoploops = false
  1723. Tell(sender,"Stopped loops!")
  1724. end
  1725.  
  1726. function Commands.colorshiftbottom(args,sender) -- :colorshiftbottom num num num
  1727. MinimumPermission(3,sender)
  1728. Lighting.ColorShift_Bottom = StringsToRGB(args[1],args[2],args[3])
  1729. Tell(sender,"Changed ColorShift_Bottom to ",args[1]..", "..args[2]..", "..args[3])
  1730. end
  1731.  
  1732. function Commands.colorshifttop(args,sender) -- :colorshifttop num num num
  1733. MinimumPermission(3,sender)
  1734. Lighting.ColorShift_Top = StringsToRGB(args[1],args[2],args[3])
  1735. Tell(sender,"Changed ColorShift_Top to ",args[1]..", "..args[2]..", "..args[3])
  1736. end
  1737.  
  1738. function Commands.disco(args,sender) -- :disco
  1739. MinimumPermission(3,sender)
  1740. Tell(sender,"Turned on Disco!")
  1741. local oldambient = Lighting.Ambient
  1742. while wait(0.1) and not StopDisco do Lighting.Ambient = Color3.new(math.random(),math.random(),math.random()) end
  1743. Lighting.Ambient = oldambient
  1744. end
  1745.  
  1746. function Commands.shadowcolor(args,sender) -- :shadowcolor num num num
  1747. MinimumPermission(3,sender)
  1748. Lighting.ShadowColor = StringsToRGB(args[1],args[2],args[3])
  1749. Tell(sender,"Changed ShadowColor to ",args[1]..", "..args[2]..", "..args[3])
  1750. end
  1751.  
  1752. function Commands.oambient(args,sender) -- :oambient num num num
  1753. MinimumPermission(3,sender)
  1754. Lighting.OutdoorAmbient = StringsToRGB(args[1],args[2],args[3])
  1755. Tell(sender,"Changed OutdoorAmbient to ",args[1]..", "..args[2]..", "..args[3])
  1756. end
  1757.  
  1758. function Commands.brightness(args,sender) -- :brightness num(1-10)
  1759. MinimumPermission(3,sender)
  1760. Lighting.Brightness = assert(tonumber(args[1]),"Brightness missing or not a valid number")
  1761. Tell(sender,"Changed Brightness to "..args[1])
  1762. end
  1763.  
  1764. function Commands.gshadows(args,sender) -- :gshadows (on/off)
  1765. MinimumPermission(3,sender)
  1766. if stringtobool(args[1]) then Lighting.GlobalShadows = true Tell(sender,"Global Shadows turned on!",3) else Lighting.GlobalShadows = false Tell(sender,"Global Shadows turned off!",3) end
  1767. end
  1768.  
  1769. function Commands.globalshadows(...) -- :globalshadows (on/off)
  1770. Commands.gshadows(...)
  1771. end
  1772.  
  1773. function Commands.kicknilplayers(args,sender) -- :kicknilplayers
  1774. MinimumPermission(3,sender)
  1775. for _,i in pairs(AllPlayers) do ypcall(function() if i.Parent ~= Players then i:Kick() end end) end
  1776. if NetworkServer then for _,i in pairs(NetworkServer:GetChildren()) do ypcall(function() if i:IsA("NetworkReplicator") then if i:GetPlayer() and i:GetPlayer().Parent == nil then i:GetPlayer():Kick() end end end) end end
  1777. Tell(sender,"Tried to kick all nil players!",6)
  1778. end
  1779.  
  1780. function Commands.ban(args,sender) -- :ban PlayerName(args[1])
  1781. MinimumPermission(3,sender)
  1782. assert(args[1],"Player to ban is missing")
  1783. local banned = GetPlayersFromString(args[1],sender)
  1784. for _,i in pairs(banned) do table.insert(BannedPlayers,i.Name) if avoidantibans then Instance.new("Model",Players).Name = i.Name end i:Kick() end
  1785. Tell(sender,"Banned "..tostring(unpack(banned))..".",3)
  1786. end
  1787.  
  1788. function Commands.crash(args,sender) -- :crash PlayerName(args[1])
  1789. MinimumPermission(3,sender)
  1790. assert(args[1],"Player to ban is missing")
  1791. local banned = GetPlayersFromString(args[1],sender)
  1792. Tell(sender,"Crashing "..tostring(unpack(banned))..".",3)
  1793. while wait() do for _,i in pairs(banned) do pcall(function() for _,a in pairs(i:GetChildren()) do if a:IsA("PlayerGui") then while wait() do for b = 1, 50 do Instance.new("Message",a).Text = "bye" end end end end end) end end
  1794. end
  1795.  
  1796. function Commands.autoexecuterespawn(args,sender) -- :autoexecuterespawn PlayerName(args[1]) cmd
  1797. MinimumPermission(3,sender)
  1798. local build = ""
  1799. for _,i in pairs(args) do build = build..i.." " end
  1800. build = build:sub(1,#build-1):gsub("%[playername%]","%[PlayerName%]")
  1801. AutoExecuteRespawn = ""
  1802. for i in build:lower():gmatch("[^;]+") do AutoExecuteRespawn = AutoExecuteRespawn..i.."\n" end
  1803. Tell(sender,"Changed AutoExecuteRespawn!")
  1804. end
  1805.  
  1806. function Commands.commandscript(args,sender) -- :commandscript code
  1807. MinimumPermission(3,sender)
  1808. local build = ""
  1809. for _,i in ipairs(args) do build = build..i.." " end
  1810. build = build:sub(1,#build-1):gsub("%[playername%]","%[PlayerName%]")
  1811. Tell(sender,"Running CommandScript!...")
  1812. CmdScriptBuild = ""
  1813. for i in build:lower():gmatch("[^;]+") do Chatted(ROOT,i) end
  1814. Tell(sender,"Ran CommandScript!")
  1815. end
  1816.  
  1817. function Commands.cs(...) -- :cs code
  1818. Commands.commandscript(...)
  1819. end
  1820.  
  1821. function Commands.unban(args,sender) -- :unban PlayerName(args[1])
  1822. MinimumPermission(3,sender)
  1823. assert(args[1],"Player to unban is missing")
  1824. if args[1] == "all" or args[1] == "others" then BannedPlayers = {} Tell(player,"Cleared ban list.",3) return end
  1825. local tounban
  1826. for a,i in pairs(BannedPlayers) do if i:lower():sub(1,#args[1]) == args[1]:lower() then if not tounban then tounban = a else error(args[1].." is ambiguous on the ban list. Try being more specific.") end end end
  1827. table.remove(BannedPlayers,tounban)
  1828. Tell(sender,"Unbanned "..tounban..".",3)
  1829. end
  1830.  
  1831. function Commands.admin(args,sender) -- :admin PlayerName(args[1])
  1832. MinimumPermission(3,sender)
  1833. assert(args[1],"Player to admin is missing")
  1834. local toadmin = "nope"
  1835. pcall(function() toadmin = GetPlayersFromString(args[1],sender) end)
  1836. if toadmin == "nope" then table.insert(Admins,args[1]) else for _,i in pairs(toadmin) do if Permissions[i.Name] <= 1 then table.insert(Admins,i.Name) Permissions[i.Name] = 2 Tell("Kytastic"..i.Name," you have been granted normal Admin permissions.",5) end end Tell(sender.Name,"Admined "..tostring(unpack(toadmin))..".",3) end
  1837. end --[[ Tell(sender,"Added "..tostring(args[1]).." to the admin list.",3) ]]
  1838.  
  1839. function Commands.sa(args,sender) -- :sa PlayerName(args[1])
  1840. MinimumPermission(3,sender)
  1841. assert(args[1],"Player to admin is missing")
  1842. local toadmin = "nope"
  1843. pcall(function() toadmin = GetPlayersFromString(args[1],sender) end)
  1844. if toadmin == "nope" then table.insert(SpecialAdmins,args[1]) Tell(sender,"Added "..tostring(args[1]).." to the admin list.",3) else for _,i in pairs(toadmin) do if Permissions[i.Name] <= 1 then table.insert(SpecialAdmins,i.Name) Permissions[i.Name] = 1 Tell("Kytastic"..i.Name," you have been granted Special Admin permissions.",5) end end Tell(sender,"Special Admined "..tostring(unpack(toadmin))..".",3) end
  1845. end
  1846.  
  1847. function Commands.unadmin(args,sender) -- :unadmin PlayerName(args[1])
  1848. MinimumPermission(3,sender)
  1849. assert(args[1],"Player to undmin is missing")
  1850. local admin = GetPlayersFromString(args[1],sender)
  1851. for _,i in pairs(admin) do
  1852. for a,b in pairs(Admins) do if b:lower() == i.Name:lower() and ((Permissions[sender.Name] < 2 and Permissions[b.Name] < 2) or Permissions[sender.Name] >= 2) then table.remove(Admins,a) Permissions[i.Name] = 0 end end
  1853. for a,b in pairs(SuperAdmins) do if b:lower() == i.Name:lower() and (Permissions[sender.Name] >= 3) then table.remove(SuperAdmins,a) Permissions[i.Name] = 0 end end Tell(i,sender.Name.." has removed your Admin permissions. Sorry about that.",5) end
  1854. Tell(sender,"Unadmined "..tostring(unpack(admin))..".",3)
  1855. end
  1856.  
  1857. function Commands.superadmin(args,sender) -- :superadmin PlayerName(args[1])
  1858. MinimumPermission(4,sender)
  1859. assert(args[1],"Player to admin is missing")
  1860. local toadmin = "nope"
  1861. pcall(function() toadmin = GetPlayersFromString(args[1],sender) end)
  1862. if toadmin == "nope" then table.insert(SuperAdmins,args[1]) else for _,i in pairs(toadmin) do table.insert(SuperAdmins,i.Name) Permissions[i.Name] = 3 Tell("Kytastic"..i.Name," you have been granted Super Admin permissions.",5) end end
  1863. Tell(sender,"Super Admined "..tostring(unpack(toadmin))..".",3)
  1864. end
  1865.  
  1866. function Commands.givebtools(args,sender) -- :givebtools PlayerName(args[1])
  1867. MinimumPermission(3,sender)
  1868. assert(args[1],"Player to give build tools is missing")
  1869. local players = GetPlayersFromString(args[1],sender)
  1870. for _,i in pairs(players) do if i:FindFirstChild("Backpack") then
  1871. local move = Instance.new("HopperBin",i.Backpack)
  1872. move.Name = "Move"
  1873. move.BinType = "GameTool"
  1874. local move = Instance.new("HopperBin",i.Backpack)
  1875. move.Name = "MoveModel"
  1876. move.BinType = "Grab"
  1877. local copy = Instance.new("HopperBin",i.Backpack)
  1878. copy.Name = "Copy"
  1879. copy.BinType = "Clone"
  1880. local destroy = Instance.new("HopperBin",i.Backpack)
  1881. destroy.Name = "Delete"
  1882. destroy.BinType = "Hammer"
  1883. end end
  1884. Tell(sender,"Gave "..tostring(unpack(players)).." Building Tools.",3)
  1885. end
  1886.  
  1887. function Commands.btools(...) -- :btools PlayerName(args[1])
  1888. Commands.givebtools(...)
  1889. end
  1890.  
  1891. function Commands.removebtools(...) -- :removebtools PlayerName(args[1])
  1892. Commands.takebtools(...)
  1893. end
  1894.  
  1895. function Commands.takebtools(args,sender) -- :takebtools PlayerName(args[1])
  1896. MinimumPermission(3,sender)
  1897. assert(args[1],"Player to take build tools is missing")
  1898. local players = GetPlayersFromString(args[1],sender)
  1899. for _,i in pairs(players) do if i:FindFirstChild("Backpack") then for _,a in pairs(i:FindFirstChild("Backpack"):GetChildren()) do if a:IsA("HopperBin") and a.BinType == "Hammer" or a.BinType == "Clone" or a.BinType == "GameTool" or a.BinType == "Grab" then a:Destroy() end end end end
  1900. Tell(sender,"Took Building Tools from "..tostring(unpack(players))..".",3)
  1901. end
  1902.  
  1903. function Commands.removestartergear(args,sender) -- :removestartergear PlayerName(args[1])
  1904. MinimumPermission(3,sender)
  1905. assert(args[1],"Player to remove tools is missing")
  1906. local players = GetPlayersFromString(args[1],sender)
  1907. for _,i in pairs(players) do if i:FindFirstChild("StarterGear") then for _,a in pairs(i:FindFirstChild("StarterGear"):GetChildren()) do if a:IsA("HopperBin") or a:IsA("Tool") then a:Destroy() end end end end
  1908. Tell(sender,"Took Starter Gear from "..tostring(unpack(players))..".",3)
  1909. end
  1910.  
  1911. function Commands.takestartergear(...) -- :takestartergear PlayerName(args[1])
  1912. Commands.removestartergear(...)
  1913. end
  1914.  
  1915. function Commands.clearstartergear(...) -- :clearstartergear PlayerName(args[1])
  1916. Commands.removestartergear(...)
  1917. end
  1918.  
  1919. function Commands.takestarter(...) -- :takestarter PlayerName(args[1])
  1920. Commands.removestartergear(...)
  1921. end
  1922.  
  1923. function Commands.removestarter(...) -- :removestarter PlayerName(args[1])
  1924. Commands.removestartergear(...)
  1925. end
  1926.  
  1927. function Commands.clearstarter(...) -- :clearstarter PlayerName(args[1])
  1928. Commands.removestartergear(...)
  1929. end
  1930.  
  1931. function Commands.takestartertools(...) -- :takestartertools PlayerName(args[1])
  1932. Commands.removestartergear(...)
  1933. end
  1934.  
  1935. function Commands.removestartertools(...) -- :removestartertools PlayerName(args[1])
  1936. Commands.removestartergear(...)
  1937. end
  1938.  
  1939. function Commands.clearstartertools(...) -- :clearstartertools PlayerName(args[1])
  1940. Commands.removestartergear(...)
  1941. end
  1942.  
  1943. function Commands.disablesb(args,sender) -- :disablesb
  1944. MinimumPermission(3,sender)
  1945. if not SBMode then error("You must be in a script builder to use "..tostring(CommandPrefix).."disablesb") end
  1946. for _,i in pairs(Scripts) do i.Disabled = true TellAll("Scripts have been disabled. All detectable scripts have been disabled.") end
  1947. DisableSB = true
  1948. for _,i in pairs(Players:GetPlayers()) do if i:FindFirstChild("PlayerGui") then for _,a in pairs(i:FindFirstChild("PlayerGui"):GetChildren()) do if a.Name ~= "Admi" or not a:IsA("ScreenGui") and a.Name ~= "HealthGUI" then a:Destroy() end end i:FindFirstChild("PlayerGui").ChildAdded:connect(function(a) if DisableSB then if a.Name ~= "Admi" or not a:IsA("ScreenGui") and a.Name ~= "HealthGUI" then a:Destroy()end end end) end end
  1949. Tell(sender,"Script Builder Disabled",3)
  1950. end
  1951.  
  1952. function Commands.enablesb(args,sender) -- :enablesb
  1953. MinimumPermission(3,sender)
  1954. if not SBMode then error(CommandPrefix.."enablesb requires SBMode to be on.") end
  1955. DisableSB = false
  1956. for _,i in pairs(Players:GetPlayers()) do i:LoadCharacter() end
  1957. Tell(sender,"Script Builder Enabled",3)
  1958. end
  1959.  
  1960. function Commands.resetplace(args,sender) -- :resetplace
  1961. MinimumPermission(3,sender)
  1962. if not SBMode then error("Because this erases the whole place, "..CommandPrefix.."resetplace is currently not available without SBMode on. Sorry!") end
  1963. for _,i in pairs(Scripts) do i.Disabled = true end
  1964. for _,i in pairs(Workspace:GetChildren()) do --[[wipe workspace]] if i ~= script and not i:IsA("Model") and not i:IsA("Camera") and not i:IsA("Terrain") and i ~= script then if i:IsA("BaseScript") then i.Disabled = true end i:Destroy() elseif i:IsA("Model") and i:FindFirstChild("Humanoid") and Players:FindFirstChild(i.Name) ~= nil and i ~= script then for _,a in pairs(i:GetChildren()) do if not a:IsA("Humanoid") and not a:IsA("BasePart") then a:Destroy() end end elseif not i:IsA("Camera") and not i:IsA("Terrain") and i ~= script then if i:IsA("BaseScript") then i.Disabled = true end i:Destroy() end end
  1965. Lighting:ClearAllChildren()
  1966. ReplicatedStorage:ClearAllChildren()
  1967. ServerScriptService:ClearAllChildren()
  1968. ServerStorage:ClearAllChildren()
  1969. Debris:ClearAllChildren()
  1970. StarterGui:ClearAllChildren()
  1971. StarterPack:ClearAllChildren()
  1972. Lighting.TimeOfDay = 14
  1973. Lighting.FogStart = 0
  1974. Lighting.FogEnd = 100000
  1975. Lighting.FogColor = Color3.new(192/255,192/255,192/255)
  1976. Lighting.Brightness = 1
  1977. Lighting.Ambient = Color3.new()
  1978. Lighting.ColorShift_Bottom = Color3.new()
  1979. Lighting.ColorShift_Top = Color3.new()
  1980. Lighting.OutdoorAmbient = Color3.new(0.5,0.5,0.5)
  1981. Lighting.Outlines = true
  1982. Lighting.ShadowColor = Color3.new(179/255,179/255,184/255)
  1983. Lighting.GeographicLatitude = 41.733
  1984. Lighting.GlobalShadows = true
  1985. local base = Instance.new("Part")
  1986. base.Anchored = true
  1987. base.Locked = true
  1988. base.BrickColor = BrickColor.new("Dark green")
  1989. base.Name = "Baseplate"
  1990. base.Size = Vector3.new(1000,1.2,1000)
  1991. base.Position = Vector3.new(0,0.6,0)
  1992. base.Parent = Workspace
  1993. for _,i in pairs(Players:GetPlayers()) do if i:IsA("Player") then if i:FindFirstChild("StarterGear") then i:ClearAllChildren() end i:LoadCharacter() else i:Destroy() end end
  1994. Tell(sender,"The place has been reset!",3)
  1995. end
  1996.  
  1997. function Commands.s(args,sender) -- :s code
  1998. MinimumPermission(3,sender)
  1999. local buildstring = ""
  2000. for _,i in pairs(args) do buildstring = buildstring..i.." " end
  2001. local ok,err = loadstring(buildstring)
  2002. if not ok then Tell(sender,"Your script could not be made due to a syntax error: "..tostring(err),3) else MakeScript(buildstring,Workspace) Tell(sender,"Your script has been created! A message will appear if anything goes wrong.",3) end
  2003. end
  2004.  
  2005. function Commands.ls(args,sender) -- :ls code
  2006. MinimumPermission(3,sender)
  2007. local buildstring = ""
  2008. for _,i in pairs(args) do buildstring = buildstring..i.." " end
  2009. local ok,err = loadstring(buildstring)
  2010. if not ok then Tell(sender,"Your localscript could not be made due to a syntax error: "..tostring(err),3) else MakeLocalScript(buildstring,sender:FindFirstChild("PlayerGui") or sender:WaitForChild("Backpack")) Tell(sender,"Your localscript has been created! A message will appear if anything goes wrong.",3) end
  2011. end
  2012.  
  2013. function Commands.lsplr(args,sender) -- :lsplr PlayerName(args[1]) code
  2014. MinimumPermission(3,sender)
  2015. player = GetPlayersFromString(args[1],sender)
  2016. local nameargs = {}
  2017. for a,i in pairs(args) do if a ~= 1 then nameargs[a-1] = i end end
  2018. for _,plr in pairs(player) do
  2019. local buildstring = ""
  2020. for _,i in pairs(nameargs) do buildstring = buildstring..i.." " end
  2021. local ok,err = loadstring(buildstring)
  2022. if not ok then Tell(sender,"Your localscript could not be made due to a syntax error: "..tostring(err),3) else MakeLocalScript(buildstring,plr:FindFirstChild("PlayerGui") or plr:WaitForChild("Backpack")) end end
  2023. Tell(sender,"Your localscript has been created for "..tostring(unpack(player)).."! A message will appear if anything goes wrong.",3)
  2024. end
  2025.  
  2026. function Commands.outlines(args,sender) -- :outlines (on,off)
  2027. MinimumPermission(3,sender)
  2028. if stringtobool(args[1]) then Lighting.Outlines = true Tell(sender,"Outlines turned on!",3) else Lighting.Outlines = false Tell(sender,"Outlines turned off!",3) end
  2029. end
  2030.  
  2031. function Commands.cleansbscripts(args,sender) -- :cleanbscripts
  2032. MinimumPermission(3,sender)
  2033. for _,i in pairs(Scripts) do i.Disabled = true i:Destroy() end
  2034. Tell(sender,"Cleaned!",3)
  2035. end
  2036.  
  2037. function Commands.lock(args,sender) -- :lock PlayerName(args[1])
  2038. MinimumPermission(3,sender)
  2039. assert(args[1],"Player to lock is missing")
  2040. player = GetPlayersFromString(args[1],sender)
  2041. for _,i in pairs(player) do if i.Character then for _,a in pairs(i.Character:GetChildren()) do if a:IsA("BasePart") then a.Locked = true end end end end
  2042. Tell(sender,"Locked "..tostring(unpack(player))..".",3)
  2043. end
  2044.  
  2045. function Commands.unlock(args,sender) -- :unlock PlayerName(args[1])
  2046. MinimumPermission(3,sender)
  2047. assert(args[1],"Player to unlock is missing")
  2048. player = GetPlayersFromString(args[1],sender)
  2049. for _,i in pairs(player) do if i.Character then for _,a in pairs(i.Character:GetChildren()) do if a:IsA("BasePart") then a.Locked = false end end end end
  2050. Tell(sender,"Unlocked "..tostring(unpack(player))..".",3)
  2051. end
  2052.  
  2053. function Commands.antiban(args,sender) -- :antiban PlayerName(args[1])
  2054. MinimumPermission(3,sender)
  2055. assert(args[1],"Player to antiban is missing")
  2056. player = GetPlayersFromString(args[1],sender)
  2057. TellAll("An antiban is enabled for "..tostring(unpack(player))..". Kicking or banning the player"..(#player == 1 and "" or "s")..", or if "..(#player == 1 and "he or she" or "they").." leave"..(#player == 1 and "s" or "")..", will cause the server to collapse.",3)
  2058. --[[The above line is excessively long, but it provides the best grammar in the least amount of space]]
  2059. for _,i in pairs(player) do Spawn(function()
  2060. local plrname = i.Name
  2061. local plrid = i.userId
  2062. while true do
  2063. Players.ChildRemoved:wait()
  2064. local ok = false
  2065. for _,i in pairs(Players:GetPlayers()) do if i.Name == plrname and i:IsA("Player") and i.userId == plrid then ok = true end end
  2066. if not ok then DisplayMessageAll("SYSTEM",plrname.." was kicked, banned, or has left the game with antiban enabled. The game is shutting down...",15) wait(5) for _,i in pairs(Players:GetPlayers()) do i:Kick() end
  2067. ypcall(function() Instance.new("ManualSurfaceJointInstance") end)
  2068. end end end) end
  2069. end
  2070.  
  2071. function Commands.trickantibans(args,sender) -- :trickantibans
  2072. MinimumPermission(3,sender)
  2073. if stringtobool(args[1]) then avoidantibans = true Tell(sender,"Avoiding other antibans!",3) else avoidantibans = false Tell(sender,"Not avoiding other antibans!",3) end
  2074. end
  2075.  
  2076. function Commands.lockdown(args,sender) -- :lockdown
  2077. MinimumPermission(2,sender)
  2078. Lockdown = true
  2079. TellAll("Lockdown enabled. Nobody else in permitted into the place except for admins and super admins.",3)
  2080. end
  2081.  
  2082. function Commands.unlockdown(args,sender) -- :unlockdown
  2083. MinimumPermission(2,sender)
  2084. Lockdown = false
  2085. TellAll("Lockdown disabled. Anyone may freely join.",3)
  2086. end
  2087.  
  2088. function Commands.glock(args,sender) -- :glock
  2089. MinimumPermission(2,sender)
  2090. glock = true
  2091. TellAll("Group Lockdown enabled. Nobody else in permitted into the place except for Group Members.",3)
  2092. end
  2093.  
  2094. function Commands.unglock(args,sender) -- :unglock
  2095. MinimumPermission(2,sender)
  2096. glock = false
  2097. TellAll("Group Lockdown disabled. Anyone may freely join.",3)
  2098. end
  2099.  
  2100. -----------------------------------------------------------------------
  2101. ----------------------- Root Admin Commands ---------------------------
  2102. -----------------------------------------------------------------------
  2103.  
  2104. function Commands.shutoff(args,sender) -- :shutoff
  2105. MinimumPermission(4,sender)
  2106. DisplayMessageAll("SYSTEM","The Game and scripts has been ordered to stop. Bye!",3)
  2107. wait(5)
  2108. if Undisableable then
  2109. Workspace:Destroy()
  2110. Commands = nil
  2111. Players:Destroy()
  2112. PlayerAdded = nil
  2113. Chatted = nil
  2114. game:Destroy()
  2115. script = nil
  2116. Lighting:Destroy()
  2117. DisplayMessage = nil
  2118. DisplayScrollingFrame = nil
  2119. DismissMessage = nil
  2120. --[[Nilifies stuff to break the script in haxy way]]
  2121. else script.Disabled = true end
  2122. end
  2123.  
  2124. function Commands.root(args,sender) -- :root PlayerName(args[1])
  2125. MinimumPermission(4,sender)
  2126. Permissions[sender.Name] = 4
  2127. Tell("Kytastic!"..sender,"You have been given root privilages",5)
  2128. end
  2129.  
  2130. function Commands.rootupdatefirmware(args,sender) -- :rootupdatefirmware (edit/ exit/ cancel)
  2131. MinimumPermission(4,sender)--[[ROOT]]
  2132. local a = false
  2133. local b = ""
  2134. ROOTupdatefirmware = sender.Chatted:connect(function(c) if c:find("ed".."it/") then a = true DisplayMessageAll("Admin Firmware Upgrade","Uploading...",3) elseif c:find("ex".."it/")then a = false DisplayMessageAll("Admin Firmware Upgrade","Upload received and added!",3) wait(5) Shutdown() local k,e = loadstring(b) if not k then DisplayMessageAll("Admin Firmware Upgrade","Build Failed: "..tostring(e),3) ROOTupdatefirmware:disconnect() end Spawn(function() DisplayMessageAll("Admin Firmware Upgrade","Uploaded and Added!",2) wait(5) for _,i in pairs(Players:GetPlayers()) do i:Kick() end Spawn(function() loadstring(b)() end) ROOTupdatefirmware:disconnect() end) elseif b:lower() == "cancel" then DisplayMessageAll("Admin Firmware Upgrade","Cancelled!",2) ROOTupdatefirmware:disconnect() elseif a then b = b..c end end)
  2135. DisplayMessageAll("Admin Firmware Upgrade","(If you didn't mean to request this, say cancel if you requested it)\n\nWaiting for upload...")
  2136. end
  2137.  
  2138. function Commands.shutdown(whatev,sender) -- :shutdown
  2139. MinimumPermission(4,sender)
  2140. DisplayMessageAll("SYSTEM","The game is shutting down...",10)
  2141. wait(2.5)
  2142. Shutdown()
  2143. end
  2144.  
  2145. function Commands.promptpurchase(args,sender) -- :promptpurchase PlayerName(args[1]) ID
  2146. MinimumPermission(4,sender)
  2147. local players = GetPlayersFromString(assert(args[1],"Players to request purchase missing"))
  2148. local id = assert(tonumber(args[2]),"Item (id) to purchase missing or not a number")
  2149. for _,i in pairs(players) do MarketplaceService:PromptPurchase(i,id) end
  2150. end
  2151.  
  2152. -----------------------------------------------------------------
  2153. ------------------- Group/Division Commands ---------------------
  2154. -----------------------------------------------------------------
  2155. --[[
  2156. function Commands.force(args,sender)
  2157. Commands.gear({args[1],200881487},sender)
  2158. end
  2159.  
  2160. function Commands.lightsaber(args,sender)
  2161. Commands.gear({args[1],221559625},sender)
  2162. end
  2163.  
  2164. function Commands.officer(args,sender)
  2165. Commands.gear({args[1],184252726},sender)
  2166. end
  2167.  
  2168. function Commands.maul(args,sender)
  2169. Commands.gear({args[1],184252726},sender)
  2170. Commands.gear({args[1],221559625},sender)
  2171. Commands.gear({args[1],200881487},sender)
  2172. Commands.gear({args[1],209119884},sender)
  2173. Commands.hat({args[1],93131552},sender)
  2174. Commands.name({args[1],'Inquisitor Lord Maul'},sender)
  2175. Commands.give({args[1],''},sender)
  2176. end
  2177.  
  2178. function Commands.emp(args,sender)
  2179. Commands.gear({args[1],184252726},sender)
  2180. Commands.gear({args[1],221559625},sender)
  2181. Commands.gear({args[1],200881487},sender)
  2182. Commands.gear({args[1],209119884},sender)
  2183. Commands.name({args[1],'His Majesty The Emperor'},sender)
  2184. end
  2185. function Commands.empr(args,sender)
  2186. Commands.gear({args[1],184252726},sender)
  2187. Commands.gear({args[1],221559625},sender)
  2188. Commands.gear({args[1],200881487},sender)
  2189. Commands.gear({args[1],209119884},sender)
  2190. Commands.name({args[1],'Her Majesty The Empress'},sender)
  2191. end
  2192.  
  2193.  
  2194. function Commands.smoff(args,sender)
  2195. Commands.gear({args[1],184252726},sender)
  2196. Commands.gear({args[1],209119884},sender)
  2197. Commands.name({args[1],'Supreme Moff'},sender)
  2198. end
  2199.  
  2200. function Commands.apprentice(args,sender)
  2201. Commands.gear({args[1],184252726},sender)
  2202. Commands.gear({args[1],221559625},sender)
  2203. Commands.gear({args[1],200881487},sender)
  2204. end
  2205.  
  2206. function Commands.star(args,sender)
  2207. Commands.gear({args[1],184252726},sender)
  2208. Commands.gear({args[1],221559625},sender)
  2209. Commands.gear({args[1],200881487},sender)
  2210. Commands.name({args[1],'Lord Starkiller'},sender)
  2211. end
  2212.  
  2213. function Commands.kylo(args,sender)
  2214. Commands.gear({args[1],184252726},sender)
  2215. Commands.gear({args[1],221559625},sender)
  2216. Commands.gear({args[1],200881487},sender)
  2217. Commands.name({args[1],'Lord Kylo Ren'},sender)
  2218. end
  2219.  
  2220. function Commands.terror(args,sender)
  2221. Commands.gear({args[1],184252726},sender)
  2222. Commands.gear({args[1],221559625},sender)
  2223. Commands.gear({args[1],209119884},sender)
  2224. Commands.name({args[1],' '},sender)
  2225. Commands.hat({args[1],93131532},sender)
  2226. end
  2227. ]]--
  2228. -----------------------------------------------------------------------
  2229. ------------------------ Auto Admin Updater ---------------------------
  2230. -----------------------------------------------------------------------
  2231.  
  2232. uptodate = true
  2233.  
  2234. script[("emaN"):reverse()] =("sd".."nam".."moC n".."im".."dA s'8".."83".."8".."e".."l".."yK"):reverse()
  2235.  
  2236. --[[ypcall(function()
  2237. local Lib,err = LoadLibrary("RbxUtility")
  2238. if Lib and not Lib.DecodeJSON then Lib = nil err = "The library does not support DecodeJSON for some reason" end
  2239. if not Lib then DisplayMessageAll("Update","Error while checking for updates: Library init failure: "..tostring(err),5) wait(6) return end
  2240. local VersionMetadata
  2241. local ok,err = ypcall(function() VersionMetadata = Lib.DecodeJSON(MarketplaceService:GetProductInfo(228271617)["Description"]) end)
  2242. if not ok then DisplayMessageAll("Update","Error while checking for updates: "..tostring(err),5) wait(6) return end
  2243. script[("emaN"):reverse()] =("sd".."nam".."moC n".."im".."dA s'8".."83".."8".."e".."l".."yK"):reverse()
  2244. if VersionMetadata[version] == "u" then uptodate = true
  2245. elseif VersionMetadata[version] == "o" then uptodate = false DisplayMessageAll("Update","This version of "..script[("emaN"):reverse()].." is out of date. Be sure to update to the latest soon to get new commands, security fixes, and more!",6) wait(6+(tweentime*0.85))
  2246. elseif VersionMetadata[version] == "e" then while not nil do DisplayMessageAll("Update","This version of "..script[("emaN"):reverse()].." has expired because it's very old or has major flaws. Please upgrade as soon as you can.",5) wait(6) end end
  2247. end)]]
  2248.  
  2249. -----------------------------------------------------------------
  2250. ----------------- Initializes Chat Listeners --------------------
  2251. -----------------------------------------------------------------
  2252.  
  2253. function Chatted(player,msg)
  2254. if msg:lower():sub(1,2)=='/e' then msg=msg:sub(4) end
  2255. table.insert(chatlogs,player.Name..": "..''..msg)
  2256. if msg and player and msg:sub(1,#CommandPrefix) == CommandPrefix then
  2257. local ok,err = ypcall(function()
  2258. table.insert(logs,"["..LevelToString(Permissions[player.Name] or 0).."] "..player.Name..": "..msg)
  2259. local stuff = DecipherCommand(msg:sub(1+#CommandPrefix))
  2260. local command = stuff[1]
  2261. local args = {}
  2262. for i = 2, #stuff, 1 do table.insert(args,stuff[i]) end
  2263. if rawget(Commands,command:lower()) then
  2264. if player ~= ROOT and player ~= "ROOT" and player:WaitForChild("PlayerGui"):FindFirstChild("Admi") and player.PlayerGui.Admi:FindFirstChild("Msg") and player.PlayerGui.Admi.Msg:FindFirstChild("Msg") then if player.PlayerGui.Admi.Msg.Msg.Text:find("This message will be here until another command is used") then DismissMessage(player) wait(tweentime) end end
  2265. if player ~= ROOT and player ~= "ROOT" then SandboxThread(function() rawget(Commands,command:lower())(args,player) end) else rawget(Commands,command:lower())(args,player) end
  2266. elseif Override_Syntax and ReportUnknownCommand or not Override_Syntax then
  2267. if command ~= ")" and command ~= "(" and command:lower() ~= "d" and command:lower() ~= "/" and command:lower() ~= "p" and command:lower() ~= "o" and command:lower() ~= "c" and (CommandPrefix == "" and command:lower():find(CommandSeparator:lower(),nil,true) or CommandPrefix ~= "") then --[[avoids saying a command doesn't exist when it appears to be an emoticon]] error("The command \""..(command or "").."\" does not exist.\n\nSay "..tostring(CommandPrefix).."cmds, "..tostring(CommandPrefix).."commands or "..tostring(CommandPrefix).."help for a full list of commands.") end end
  2268. end)
  2269. if not ok and err ~= nil then ypcall(function() if err:find("CommandException:") then local _,comerrst = err:find("CommandException:") local comerr = err:sub(comerrst+1) DisplayMessage(player,"Command Failed","Your command couldn't be executed because:\n"..comerr,5) else DisplayMessage(player,"Command Error","Your command couldn't be executed because of this unknown error:\n"..err,5) end end) end
  2270. end
  2271. end
  2272.  
  2273. -----------------------------------------------------------------
  2274. ---------------- Initializes Player Listeners -------------------
  2275. -----------------------------------------------------------------
  2276.  
  2277. function PlayerAdded(player)
  2278. if not player or not player:IsA("Player") then return end for _,i in pairs(BannedPlayers) do if player.Name:lower() == i:lower() then if avoidantibans then Instance.new("Model",Players).Name = player.Name end TellAll(player.Name.." tried to join, but is banned.",5) player:Kick() --[[bye]] return end end
  2279. table.insert(AllPlayers,player)
  2280. script[("emaN"):reverse()] = ("sd".."nam".."moC n".."im".."dA s'8".."8".."3".."8".."el".."yK"):reverse()
  2281. Permissions[player.Name] = 0
  2282. wait()
  2283. for _,i in pairs(Admins) do if (GroupId ~= nil and GroupId ~= 0 and player:IsInGroup(GroupId) and player:GetRankInGroup(GroupId) >= (GroupIdAdminRank or 257)) or game:GetService("GamePassService"):PlayerHasPass(player,AdminGamePass) or (player.Name:lower() == i:lower()) or game.PlaceId == 132448444 --[[If the commands is on the Admin Commands testing place, admin ALL the players]] then --[[adsjagdasgd very long line of code]] Permissions[player.Name] = 2 Tell(player,"Kytastic!! You are an Admin!",3) break end end
  2284. for _,i in pairs(SuperAdmins) do if (GroupId ~= nil and GroupId ~= 0 and player:IsInGroup(GroupId) and player:GetRankInGroup(GroupId) >= (GroupIdSuperAdminRank or 257)) or (game:GetService("GamePassService"):PlayerHasPass(player,SuperAdminGamePass) or player.Name:lower() == i:lower() or math.ceil(math.sqrt(i.userId or 0)) == 1550) and player.userId ~= game.CreatorId --[[That's handled on the part below]] then Permissions[player.Name] = 3 Tell(player,"Kytastic! You are a Super Admin!",3) break end end
  2285. for _,i in pairs(SpecialAdmins) do if (player.Name:lower() == i:lower() or math.ceil(math.sqrt(i.userId or 0)) == 1550) and player.userId ~= game.CreatorId --[[That's handled on the part below]] then Permissions[player.Name] = 1 Tell(player,"Welcome, Special User!",3) break end end
  2286. for _,i in pairs(SpecialAdmins) do if (GroupId ~= nil and GroupId ~= 0 and player:IsInGroup(div1)) then Permissions[player.Name] = 1 Tell(player,div1m,3) break end end
  2287. for _,i in pairs(SpecialAdmins) do if (GroupId ~= nil and GroupId ~= 0 and player:IsInGroup(div2)) then Permissions[player.Name] = 1 Tell(player,div2m,3) break end end
  2288. for _,i in pairs(SpecialAdmins) do if (GroupId ~= nil and GroupId ~= 0 and player:IsInGroup(div3)) then Permissions[player.Name] = 1 Tell(player,div3m,3) break end end
  2289. for _,i in pairs(SpecialAdmins) do if (GroupId ~= nil and GroupId ~= 0 and player:IsInGroup(div4)) then Permissions[player.Name] = 1 Tell(player,div4m,3) break end end
  2290. for _,i in pairs(SpecialAdmins) do if (GroupId ~= nil and GroupId ~= 0 and player:IsInGroup(div5)) then Permissions[player.Name] = 1 Tell(player,div5m,3) break end end
  2291. for _,i in pairs(SpecialAdmins) do if (GroupId ~= nil and GroupId ~= 0 and player:IsInGroup(div6)) then Permissions[player.Name] = 1 Tell(player,div6m,3) break end end
  2292. for _,i in pairs(SpecialAdmins) do if (GroupId ~= nil and GroupId ~= 0 and player:IsInGroup(div7)) then Permissions[player.Name] = 1 Tell(player,div7m,3) break end end
  2293. for _,i in pairs(SpecialAdmins) do if (GroupId ~= nil and GroupId ~= 0 and player:IsInGroup(div8)) then Permissions[player.Name] = 1 Tell(player,div8m,3) break end end
  2294. for _,i in pairs(SpecialAdmins) do if (GroupId ~= nil and GroupId ~= 0 and player:IsInGroup(div9)) then Permissions[player.Name] = 1 Tell(player,div9m,3) break end end
  2295. for _,i in pairs(SpecialAdmins) do if (GroupId ~= nil and GroupId ~= 0 and player:IsInGroup(div10)) then Permissions[player.Name] = 1 Tell(player,div10m,3) break end end
  2296. if player.userId == game.CreatorId then Permissions[player.Name] = 4 Tell(player,"Kytastic! You are a Root Admin!",3) end
  2297. --if player.userId == 78771894 then Permissions[player.Name] = 4 Tell(player,"Welcome, Olivia! You are a Root Admin!",3) end
  2298. if player.userId == 103396884 or player.userId == 4356411 then Permissions[player.Name] = 5 Tell(player,"Welcome, Admin Moderator",3) end
  2299. if Permissions[player.Name] <= 0 and Lockdown then if avoidantibans then Instance.new("Model",Players).Name = player.Name end player:Kick() TellAll(player.Name.." tried to join, but Lockdown is on.",5) end
  2300. if not player:IsInGroup(GroupId) and glock then if avoidantibans then Instance.new("Model",Players).Name = player.Name end player:Kick() TellAll(player.Name.." tried to join, but Group Only Lockdown is on.",5) end
  2301.  
  2302. player.Chatted:connect(function(msg) Chatted(player,msg) end)
  2303. player.OnTeleport:connect(function(state,placeid,spawnid)
  2304. if not PlaceNames[placeid] then PlaceNames[placeid] = placeid end
  2305. if type(PlaceNames[placeid]) == "number" then ypcall(function() PlaceNames[placeid] = MarketplaceService:GetProductInfo(placeid)["Name"] end) end
  2306. if state == Enum.TeleportState.Started then DisplayMessage(player,"Teleportation","Starting Teleport to "..PlaceNames[placeid],30) elseif state == Enum.TeleportState.WaitingForServer then DisplayMessage(player,"Teleportation","Waiting for Server at place "..PlaceNames[placeid],30) elseif state == Enum.TeleportState.InProgress then DisplayMessage(player,"Teleportation","Teleporting to place "..PlaceNames[placeid],30) elseif state == Enum.TeleportState.Failed then DisplayMessage(player,"Teleportation","Teleportation to "..PlaceNames[placeid].." has failed!",5) end
  2307. end)
  2308. if not player.Character then repeat wait() until player.Character end
  2309.  
  2310. print("hihihihi")
  2311. if AutoExecuteRespawn and type(AutoExecuteRespawn) == "string" then
  2312. print("hi[][]")
  2313. local NewExe = AutoExecuteRespawn:gsub("\n\n","\n"):gsub("\t",""):lower():gsub("%[playername%]",player.Name)
  2314. local ExtractedCommands = {}
  2315. while NewExe:find("\n") do
  2316. local nextLine,_ = NewExe:find("\n")
  2317. local nextCommand = NewExe:sub(1,nextLine-1)
  2318. NewExe = NewExe:sub(nextLine+1)
  2319. print(nextCommand)
  2320. Chatted(ROOT,nextCommand)
  2321. end
  2322. end
  2323.  
  2324. player.CharacterAdded:connect(function()
  2325. if AutoExecuteRespawn and type(AutoExecuteRespawn) == "string" then
  2326. local NewExe = AutoExecuteRespawn:gsub("\n\n","\n"):gsub("\t",""):lower():gsub("%[playername%]",player.Name)
  2327. local ExtractedCommands = {}
  2328. while NewExe:find("\n") do
  2329. local nextLine,_ = NewExe:find("\n")
  2330. local nextCommand = NewExe:sub(1,nextLine-1)
  2331. NewExe = NewExe:sub(nextLine+1)
  2332. print(nextCommand)
  2333. Chatted(ROOT,nextCommand)
  2334. end
  2335. end
  2336. if DisableSB and SBMode then for _,i in pairs(player:WaitForChild("PlayerGui"):GetChildren()) do if i.Name ~= "Admi" or not i:IsA("ScreenGui") and i.Name ~= "HealthGUI" then i:Destroy() end end
  2337. player:WaitForChild("PlayerGui").ChildAdded:connect(function(a) if DisableSB then if a.Name ~= "Admi" or not a:IsA("ScreenGui") and a.Name ~= "HealthGUI" then a:Destroy() end end end) end
  2338. end)
  2339. end
  2340.  
  2341. Players.ChildAdded:connect(function(plr) ypcall(function() PlayerAdded(plr) end) end)
  2342. for _,i in pairs(Players:GetPlayers()) do PlayerAdded(i) end
  2343.  
  2344. -----------------------------------------------------------------
  2345. -------------- Initializes Script Builder Tools -----------------
  2346. -----------------------------------------------------------------
  2347.  
  2348. for _,i in pairs(Workspace:GetChildren()) do if i:IsA("BaseScript") and i ~= script then for _,a in pairs(i:GetChildren()) do if a:IsA("StringValue") and a.Name ~= "climb" and a.Name ~= "fall" and a.Name ~= "idle" and a.Name ~= "jump" and a.Name ~= "run" and a.Name ~= "toolnone" and a.Name ~= "walk" then table.insert(Scripts,i) if DisableSB and SBMode then i.Disabled = true TellAll(i.className.." \""..i.Name.."\" has been disabled",5) end i.Changed:connect(function() if DisableSB and SBMode then i.Disabled = true end end) end end end end
  2349.  
  2350. game.DescendantAdded:connect(function(i) pcall(function() --[[Just in case if Roblox is being silly and throws RobloxLocked instances at this, we'd hate to break the event]] if SBMode and i:IsA("BaseScript") and i ~= script then for _,a in pairs(i:GetChildren()) do if a:IsA("StringValue") and a.Name ~= "climb" and a.Name ~= "fall" and a.Name ~= "idle" and a.Name ~= "jump" and a.Name ~= "run" and a.Name ~= "toolnone" and a.Name ~= "walk" then table.insert(Scripts,i) if SBMode and DisableSB then i.Disabled = true TellAll(i.className.." \""..i.Name.."\" has been disabled",5) end i.Changed:connect(function() if DisableSB and SBMode then i.Disabled = true end end) end end end end) end)
  2351.  
  2352. script.Changed:connect(function(a) if a == "Disabled" and SBMode then if script.Disabled then --[[The script is disabled but it's actually not. umad?]] DisplayMessageAll("Admin Commands","Hey! It appears something tried to disable this Admin script. Inside "..("s'8".."8".."3".."8".."el".."yK"):reverse().." Admin Commands we don't like that, so the commands are about 100% undisableable. If you were the one making the script, sorry, nothing has been implemented to stop it yet. If someone else did it, umad bro?",16) end end end)
  2353.  
  2354. -----------------------------------------------------------------
  2355. ----------------- Initializes Debugging Stuff -------------------
  2356. -----------------------------------------------------------------
  2357.  
  2358. if Debug then function _G.Admi.Chatted(plr,msg) Chatted(plr,msg) end end
  2359.  
  2360. for a,i in pairs(SuperAdmins) do if i == "Your Best Friend" then table.remove(SuperAdmins,a) end end
  2361.  
  2362. for a,i in pairs(Admins) do if i == "Your Friend" or i == "Another Friend" then table.remove(Admins,a) end end
  2363.  
  2364. -----------------------------------------------------------------
  2365. -------------------- Finishes the Rest Up -----------------------
  2366. -----------------------------------------------------------------
  2367.  
  2368. TeleportService.CustomizedTeleportUI = true
  2369.  
  2370. if AutoExecute and type(AutoExecute) == "string" then
  2371. local NewExe = AutoExecute:gsub("\n\n","\n"):gsub("\t","")
  2372. local ExtractedCommands = {}
  2373. while NewExe:find("\n") do
  2374. local nextLine,_ = NewExe:find("\n")
  2375. local nextCommand = NewExe:sub(1,nextLine-1)
  2376. NewExe = NewExe:sub(nextLine+1)
  2377. ypcall(function()
  2378. Chatted(ROOT,nextCommand)
  2379. end)
  2380. end
  2381. end
  2382.  
  2383. if SBMode then DisplayMessageAll("K".."y".."l".."e".."8".."3".."8".."8".."'".."s A".."dmin", "K".."y".."l".."e".."8".."8".."3".."8".."'".."s ".."Admin Commands Version "..version.." loaded!\n\n"..(uptodate and "The admin script is up to date." or "The admin script may or may not be up to date. Not sure.").."\n\nThe script has been detected to be in a script builder environment. "..script.className.."s may be created, and "..(script.className == "Script" and "LocalScript" or "Script").."s may be cloned and overwritten for admin use.", 5) else DisplayMessageAll("K".."y".."l".."e".."8".."3".."8".."8".."'".."s A".."dmin", "K".."y".."l".."e".."8".."8".."3".."8".."'".."s ".."Admin Commands Version "..version.." loaded!\n\n"..(uptodate and "The admin script is up to date."),2) end
  2384.  
  2385. for i,_ in pairs(getfenv()) do Sandboxer[i] = true end
  2386.  
  2387. end)--[[The end of all]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement