Advertisement
iiHackerii

Untitled

Dec 29th, 2015
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --Version 2 1.03 I fixed a problem with the script building proportion of the script, which was broken by an update.
  2. --[!]Script is taken over by einsteinK and will get updated a lot with him
  3. --Version 4 5.00 [14/06/2012] Added a lot of commands, new functions and gear used for the "tool/PLAYER(S)/TOOL(S)"
  4. --Version 5 2.00 [29/08/2012] Added new commands, fixes, functions and gear/clothes-database. New: clothes/PLAYERS/TYPE
  5. --Version 5 3.00 [01/03/2013] Added l/ (localscript the speaker) and y/ (ypcall in adminscript itself, S-Admin only!)
  6. --Version 5 4.50 [02/03/2013] Added update/ and an Update Notifier, config options on line 19 and 20
  7. --Version 6 0.23 [07/03/2013] New commands, some fixes and a big clean of the code. Debugging prints also optional!
  8. --Version 7 0.01 [24/07/2013] New commands, complete remake of all the systems, added GUI-Engine, fixed updater, ...
  9. --Version 7 0.04 [11/11/2013] Fixed Update Notifier. Commands works now with EinHUD (custom chatbar support etc etc)
  10. --Version 7 0.05 [16/11/2013] (Finally) repaired the bug where teleport-command doesn't work
  11. --Version 8 0.00 [21/11/2013] New generation. Gonna add (optional) tablets like my old Moderator script and stuff
  12. --Version 8 0.01 [27/11/2013] Added rank "Winner" for obby related stuff (Admin4 and Admin5 merged into it)
  13. --Version 8 0.03 [27/11/2013] Renewed the commandlist gui, should now support an unlimited amount of commands
  14. --Version 8 0.04 [30/11/2013] Adding a lot of new commands and repairing/finishing some other stuff
  15. --Version 8 0.05 [01/12/2013] Added some commands, tuned the nogravitygenerator and other stuff like that
  16. --[!]A lot of small edits, fixes, several commands,... during several days leading to several sub versions
  17. --Version 8 0.11 [15/12/2013] Added online chatlog compability and a lot of minor things (see above line)
  18. --Version 8 0.13 [16/12/2013] Added analytics code. Also added compability with rbxstats.com (see below)
  19. --Version 8 0.14 [17/12/2013] Fixed some other stuff, make some enchantments in handling stuff (CPU speed)
  20.  
  21. -- Leave some feedback, ideas, ... on this forum post please:
  22. -- http://www.roblox.com/Forum/ShowPost.aspx?PostID=119137054
  23.  
  24. PBS = false -- Should this script act as if this is a Personal Build Server? (the BC place type)
  25. -- This adds some commands as to set the Thumbnail, list all who got buildtools, ...
  26. -- It'll recognise personal servers automaticly when the owner has set a thumbnail using
  27. -- the OwnerShotRefTool and the server has restarted. (From then on it recognises always)
  28.  
  29. Always = {"Member",1} -- Actually this should NEVER be used except for "everyone free admin"
  30. --NOTE: Will make everyone this rank! So when "Admin",2 everyone will be admin! EVEN REAL ADMINS (Not creator)
  31. --NOTE: Everyone will be that rank except the creator, he will be the only creator (except if you put {"Creator",4} )
  32. --Rank: {"Member",1} {"Winner",2} {"Admin",3} {"Developer",4} {"Creator",5} -- There should NEVER be extra ranks!
  33.  
  34. Creators = {"TheOfficalNoob4788","Second Game Owner","Important Sponsor","...","Player1"}
  35. Admins = {"TheOfficalNoob4788"}
  36. --NOTE: Creator of the game will be automaticly added as creator (you can just insert this script and *poof* it works)
  37. --Add in the names of the people you want to be able to use the command script here.
  38. --Please keep my name in there (einsteinK) if possible :D
  39. --Only the creator can use admin/ and unadmin/ online (or whatever is your commandkey)
  40.  
  41. Winners = {} -- Obby winners, if you want to test it for example etc.
  42.  
  43. Banned = { "someoneyouhate","noob"}
  44. --If you want someone not to be able to enter your place, put their name in here.
  45.  
  46. Groups = {
  47. [577832] = 123; -- Everyone in that group with their group rank 123 or higher will be admin
  48. [736400] = 255; -- Everyone in that with their rank being 255 (255 = only the owner) will be admin
  49. --[12345] = 1; Everyone in that group (really everyone) would be admin
  50. }--If you want members with a certain rank in a certain group get admin (muliple groups allowed)
  51.  
  52.  
  53. -- Your API key of RbxStats.com (This script can act like the API script by Nexx)
  54. RbxStats_API_Key = "" -- When used here, you'll get noticed if it works etc!
  55.  
  56. CommandKey = ";" -- Sets which key will be used. ex: kill/me, kill:me, kill me, ...
  57. GearAllowed = true -- Allow to load gears with the tool/ command? true/false
  58. HatsAllowed = NotDone -- Decide with true/false if the script can loads hats if commanded NOT IMPLEMENTED YET
  59. AnimationsAllowed = NotDone -- Animations: Shapes of your body (example: Robloxian 2.0) NOT IMPLEMENTED YET
  60. ClothesAllowed = true -- Just to load cloathes as police-uniform, groupuniforms, ... with the clothes/ command. true/false
  61.  
  62. Update = true -- Allow notifying admins (not those by admin/) to see the update notifier
  63. MainUpdate = false -- When true this will ONLY notify you of new main versions, not sub versions
  64.  
  65. Debug = false -- This wil just enable the printing-in-output of some information. Only used by developers -.-
  66. Version = "8.14" -- Keep dafuq off, or the notifier (and some other stuff) will break!
  67.  
  68. --[[
  69. =~= Command Help by einsteinK =~=
  70. == Commands ==
  71. Most commands are like this:
  72. COMMAND/PLAYERS/ARGUMENT1/ARGUMENT2/...
  73. For kill it is simply: kill/PLAYERS
  74. Capitals (normally) don't matter for the commands.
  75.  
  76. Players/groups/teams:
  77. - Admins: Everyone listed in the adminlist or adminned with admin/
  78. - Nonadmins: Everyone except those above
  79. - Guests: All guests (or people who's name looks like that of a guest)
  80. - Nonguests: All nonguests except those with their name looking like that of a guest
  81. - All: Just everyone
  82. - Me: The one who did the command (the speaker)
  83. - Others: Everyone except the speaker
  84. - Random: A random player
  85. - Mrandom: A random player but never the speaker
  86. - Team TEAMNAME: Everyone who's in the named team
  87. - Group GROUPID: Everyone who's in the group with the given id
  88. - Player1,Player2,Player3,...: The given players (only playernames! "FriendsName,admins,me" won't work!)
  89. Again, capitals don't matter, even not in the playernames!
  90.  
  91. Capitalisation doesnt matter, and name input can be abbreviated.
  92. Just about any name input can be replaced with multiple names seperated by commas, me, all, others, guests, admins, nonadmins, random, or team teamname.
  93. --]]
  94.  
  95. --=~=-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --=~=--
  96. --=~=-- + START OF MAIN CODE | Keep off, there are normally no bugs and when they are, check the notifier + --=~=--
  97. --=~=-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --=~=--
  98.  
  99. Commands = {}
  100. function NewCommand(name,func,rank,desc,...)
  101. Commands[name] = {Name=name,Function=func,Rank=rank,Description=desc,Aliases={...}}
  102. if name:find("%s") then table.insert(Commands[name].Aliases,(name:gsub("%s",""))) end
  103. end
  104.  
  105. function TupleToString(...) local res = ""
  106. if select("#",...) == 0 then return "" end
  107. for i=1,select("#",...) do
  108. res = res.." "..tostring(select(i,...))
  109. end return res:sub(2)
  110. end
  111.  
  112. Scripts = {
  113. Fly = [[
  114. print("Loading ADM Fly Script by einsteinK") wait(0.1) local plr = game:GetService("Players").LocalPlayer
  115. repeat wait(0.1) until plr.Character wait(0.1) local mo,c,f = plr:GetMouse(),workspace.CurrentCamera,true
  116. local v = Instance.new("BodyVelocity",plr.Character and plr.Character:findFirstChild("Head")) v.Name = "ADM Fly"
  117. local h = plr.Character and plr.Character:findFirstChild("Humanoid") or Instance.new("Humanoid")
  118. v.maxForce = Vector3.new(1e99,1e99,1e99) local m = 0 local s = 0 local p = Instance.new("Part",plr.Character)
  119. p.Name = "Step" p.FormFactor = "Custom" p.Size = Vector3.new(5,0,5) p.Anchored = true
  120. p.BrickColor = BrickColor.new("Really black") p.Transparency = 0.5 Instance.new("CylinderMesh",p)
  121. mo.KeyDown:connect(function(k) if k == "f" then f = not f v.maxForce = f and Vector3.new(1e9,1e9,1e9) or Vector3.new()
  122. p.Parent = f and plr.Character or script elseif k == "w" or k:byte() == 17 then m = h.WalkSpeed
  123. elseif k == "s" or k:byte() == 18 then m = -h.WalkSpeed elseif k == "a" or k:byte() == 20 then s = h.WalkSpeed
  124. elseif k == "d" or k:byte() == 19 then s = -h.WalkSpeed end end)
  125. mo.KeyUp:connect(function(k) local ss=k:byte() if k=="w" or k=="s" or ss == 17 or ss == 18 then m=0 elseif
  126. k=="a" or k=="d" or ss==20 or ss==19 then s=0 end end) while wait() and script.Parent == plr.Character
  127. and v.Parent == plr.Character.Head do v.velocity = CFrame.new(c.CoordinateFrame.p,c.Focus.p).lookVector * m
  128. v.velocity = (CFrame.new(c.CoordinateFrame.p,c.Focus.p) * CFrame.Angles(0,math.pi/2,0)).lookVector * 2 + v.velocity
  129. local cf = CFrame.new((plr.Character.Torso.CFrame * CFrame.new(0,-3.1,0)).p:lerp(p.Position,0.9))
  130. p.Size = Vector3.new(h.WalkSpeed/5,0,h.WalkSpeed/5) p.CFrame=cf p.Anchored=true p.Transparency=0.5
  131. p.Parent = f and plr.Character or nil v.maxForce = f and Vector3.new(1e9,1e9,1e9) or Vector3.new() end script:Destroy()
  132. ]],
  133. Noclip = [[local plr = game:GetService("Players").LocalPlayer
  134. plr.Character.Head.Changed:connect(function() plr.Character.Head.CanCollide = false end)
  135. plr.Character.Torso.Changed:connect(function() plr.Character.Torso.CanCollide = false end)
  136. plr.Character.HumanoidRootPart.Changed:connect(function() plr.Character.HumanoidRootPart.CanCollide = false end)
  137. while wait() and script.Parent == plr.Character do plr.Character.Head.CanCollide = false
  138. plr.Character.Torso.CanCollide = false plr.Character.HumanoidRootPart.CanCollide = false end]],
  139. Freecam = [[local mode,player = Instance.new("Model",workspace),game:GetService("Players").LocalPlayer
  140. local probe = Instance.new("Part",mode) Instance.new("Humanoid",mode).MaxHealth = 0 script.Parent = nil
  141. mode.Name = tostring(player) probe.Anchored = true probe.CanCollide = false probe.Transparency = 0.5
  142. probe.Shape = "Ball" probe.Size = Vector3.new(2,2,2) probe.TopSurface = 0 probe.BottomSurface = 0 probe.Name = "Head"
  143. while not player.Character and mode.Parent == workspace and probe.Parent == mode do
  144. probe.CFrame = workspace.CurrentCamera.Focus wait() end mode:Destroy()]],
  145. Fixcam = [[local cam,plr = workspace.CurrentCamera,game:GetService("Players").LocalPlayer
  146. cam.CameraSubject = plr.Character and plr.Character:findFirstChild("Humanoid") cam.CameraType = "Custom"]],
  147. Jetpack = [[local p = game:GetService("Players").LocalPlayer
  148. local ch = p.Character script:ClearAllChildren()
  149. if not ch then error"No Character" end local mouse = p:GetMouse()
  150. local t = ch:findFirstChild("Torso") if not t then error"No Torso" end
  151. local function s(p) for k,v in pairs({"Left","Right","Top","Bottom","Front","Back"}) do p[v.."Surface"] = 0 end end
  152. local function w(...) local w = Instance.new("Weld",select(2,...)) w.Part0,w.Part1,w.C0 = ... end
  153. local c = Instance.new("Part",script) c.FormFactor = "Symmetric" c.Size = Vector3.new(2,2,1)
  154. c.BrickColor = BrickColor.new(1001) c.Material = "Sand" c.CanCollide = false c.Locked = true s(c)
  155. local q = Instance.new("Part",script) q.FormFactor = "Symmetric" q.Size = Vector3.new(1,2,1)
  156. q.BrickColor = BrickColor.new("Cyan") q.Material = "Sand" q.CanCollide = false q.Locked = true s(q)
  157. Instance.new("SpecialMesh",q).MeshType = "Sphere" local r = q:clone() r.Parent = script local cf = CFrame
  158. w(t,c,cf.new(0,0,1)) w(c,q,cf.new(-1.5,0,0)) w(c,r,cf.new(1.5,0,0)) local s = Instance.new("BodyThrust",c)
  159. local last = 0 game:GetService("UserInputService").JumpRequest:connect(function() last = tick() end)
  160. local sw ch.Humanoid.Swimming:connect(function(sp) sw = sp > ch.Humanoid.WalkSpeed - 2 end)
  161. while wait() and s:IsDescendantOf(game) do s.force = Vector3.new(0,tick() < last + 0.1 and not sw and 7500,0)
  162. q.BrickColor = BrickColor.new(tick() < last + 0.1 and not sw and 1019 or 1013) r.BrickColor = q.BrickColor end]],
  163. MCFly = [[local Players=game:GetService("Players") local Cam=workspace.CurrentCamera
  164. local Player=Players.LocalPlayer local Character=Player.Character local Human=Character.Humanoid
  165. local Mouse=Player:GetMouse() local Torso=Character.Torso local CU,BV,BG=Vector3.new(0,10,0)
  166. local FB,LR,BO,UP=0,0,0,0 local function Activate() BV=Instance.new("BodyVelocity",Torso)
  167. BV.Name="FlyBodyVelocity" BV.maxForce=Vector3.new(1e9,1e9,1e9) BV.velocity=Vector3.new(0,0,0)
  168. BG=Instance.new("BodyGyro",Torso) BG.Name="FlyBodyGyro" BG.maxTorque=Vector3.new(1e9,1e9,1e9)
  169. BG.cframe=Torso.CFrame while wait() and BV and BV.Parent==Torso and BG.Parent==Torso do
  170. local s=Human.WalkSpeed*2 local t=CFrame.new(Cam.CoordinateFrame.p,Cam.Focus.p).lookVector * (FB+BO) * s
  171. t=(CFrame.new(Cam.CoordinateFrame.p,Cam.Focus.p) * CFrame.Angles(0,math.pi/2,0)).lookVector * LF*s + t
  172. t=t==Vector3.new() and Vector3.new(0,0.15,0) or t CU=t:lerp(CU,0.975)
  173. if UP ~= 0 then BV.velocity=CU + Vector3.new(0,UP*s,0) else BV.velocity=CU end
  174. BG.cframe=(t==Vector3.new() or t==Vector3.new(0,0.15,0)) and BG.cframe or CFrame.new(Vector3.new(),t) end
  175. end local function Deactivate() local bv=BV BG:Destroy() BV,BG=nil,nil
  176. while wait() and bv.maxForce.magnitude > 1 do bv.maxForce=Vector3.new():lerp(bv.maxForce,0.001) end bv:Destroy() end
  177. local function Switch() if BG then Deactivate() else Activate() end end
  178. local function FindBase() return workspace:FindPartOnRay(Ray.new(Torso.Position,Vector3.new(0,-1000,0)),Character) end
  179. local function Park() if not FindBase() or not CU or not BG then return end
  180. if (select(2,FindBase())-Torso.Position).magnitude < 3 then return end UP,FB,LR=0,0,0
  181. while wait() and FindBase() and UP==0 and FB==0 and LR==0 do local x,y,z=BG.cframe:toEulerAnglesXYZ()
  182. BG.cframe=CFrame.Angles(x/1.025,y,z/1.025) if (select(2,FindBase())-Torso.Position).magnitude < 3 then break end
  183. CU=CU:lerp(Vector3.new(0,-(select(2,FindBase())-Torso.Position).magnitude/2,0),0.975)
  184. end if UP==0 and FB==0 and LR==0 and FindBase() then Deactivate() end end
  185. Mouse.KeyDown:connect(function(k) if k=="w" or k:byte()==17 then
  186. FB=1 elseif k=="s" or k:byte()==18 then FB=-1 elseif k=="a" or k:byte()==20 then
  187. LF=1 elseif k=="d" or k:byte()==19 then LF=-1 elseif k=="b" then BO=3 wait(1) BO=0 elseif k=="p" then
  188. ypcall(Park) elseif k==" " then UP=1 local s=tick() if Mouse.KeyDown:wait()==" " then if tick()-s < 0.25 then
  189. Switch() end end elseif k:byte()==47 or k:byte()==48 then UP=-1 end end) Mouse.KeyUp:connect(function(k)
  190. if k=="w" or k:byte()==17 then FB=0 elseif k=="s" or k:byte()==18 then FB=0 elseif k=="a" or k:byte()==20 then
  191. LF=0 elseif k=="d" or k:byte()==19 then LF=0 elseif k==" " then UP=0 elseif k:byte()==48 then UP=0 end end)]]
  192. }
  193. Capes = {
  194. Granite = {1001,nil,"Granite"};
  195. Gold = {"New Yeller",nil,"Foil"};
  196. Sand = {"Cool yellow",nil,"Sand"};
  197. Lava = {"Bright red",nil,"Pebble"};
  198. Diamond = {"Toothpaste",nil,"Foil"};
  199. Emerald = {"Lime green",nil,"Foil"};
  200. Camo = {"Camo",nil,"CorrodedMetal"};
  201. Half = {1001,"rbxassetid://136458416"};
  202. Waves = {"Light stone grey",nil,"Sand"};
  203. ["3"] = {1001,"rbxassetid://126475006"};
  204. Assasin = {1001,"rbxassetid://5055247"};
  205. Target = {1001,"rbxassetid://18169704"};
  206. Swag = {"Pink","rbxassetid://109301474"};
  207. Fabric = {"Medium stone grey",nil,"Fabric"};
  208. Radioactive = {1001,"rbxassetid://98743299"};
  209. Vortex = {"Navy blue","rbxassetid://3179142"};
  210. DiamondPlate = {"Lavender",nil,"DiamondPlate"};
  211. Creeper = {"Dark green","rbxassetid://73581071"};
  212. Batman = {"Really black","rbxassetid://108597669"};
  213. Superman = {"Bright blue","rbxassetid://108597677"};
  214. Random = setmetatable({},{__index = function(s,k) if k == 1 then return BrickColor.Random().Name end end});
  215. }
  216. Music = {
  217. Rick = {2027611};
  218. Halo = {1034065};
  219. Mule = {1077604};
  220. Nezz = {8610025};
  221. Wind = {1015394};
  222. Mario = {1280470};
  223. Choir = {1372258};
  224. Dotr = {11420922};
  225. Final = {1280414};
  226. Film = {27697713};
  227. Angel = {1372260};
  228. Venom = {1372262};
  229. Cursed = {1372257};
  230. Alone = {27697392};
  231. Chrono = {1280463};
  232. Banjo = {27697298};
  233. Intro = {27697707};
  234. Schala = {5985787};
  235. Organ = {11231513};
  236. Tunnel = {9650822};
  237. Guitar = {5986151};
  238. Emblem = {1372259};
  239. Awaken = {27697277};
  240. Fantasy = {1280473};
  241. Flight = {27697719};
  242. Gothic = {27697743};
  243. Hiphop = {27697735};
  244. Spanish = {5982975};
  245. Resist = {27697234};
  246. Pokemon = {1372261};
  247. Caramell = {2303479};
  248. Extreme = {11420933};
  249. Epic = {27697743,2.5};
  250. Entertain = {27697267};
  251. ["DJ Glejs - Better Off Alone (remix)"] = {27697392};
  252. ["Jeff Syndicate - Hip Hop"] = {27697735};
  253. ["Zero Project - Gothic"] = {27697743};
  254. ["Positively Dark - Awakening"] = {27697277};
  255. ["Daniel Bautista - Flight of the Bumblebee"] = {27697719};
  256. ["Daniel Bautista - Music for a Film"] = {27697713};
  257. ["Daniel Bautista - Gothic"] = {27697699};
  258. ["Daniel Bautista - Intro"] = {27697707};
  259. ["Flatt & Scruggs - Foggy Mountain Breakdown"] = {27697298};
  260. ["Scott Joplin - Entertainer Rag"] = {27697267};
  261. ["Mubarek - Resist (rmx)"] = {27697234};
  262. }
  263. Loopkilling = {}
  264. ShowTablets = {}
  265. JoinTimes = {}
  266. Waiting = {}
  267. Jailed = {}
  268. Cache = {}
  269. PPets = {}
  270. SPets = {}
  271. Pets = {}
  272. Devs = {}
  273. Tabs = {}
  274.  
  275. Outputted = {}
  276. Printed = LoadLibrary("RbxUtility").CreateSignal()
  277. local oprint,fenvs = print,{}
  278. local function print(...) Printed:fire(TupleToString(...)) oprint(...)
  279. table.insert(Outputted,{Time=tick(),Message=TupleToString(...)})
  280. end
  281. function fullprint(col,...) Printed:fire(TupleToString(...),col) oprint(...)
  282. table.insert(Outputted,{Time=tick(),Message=TupleToString(...),Color=col})
  283. end
  284. function GetColor(n) local v,n=0,tostring(n)
  285. for i=1,#n do local c=n:sub(i,i):byte()
  286. v=v+((#n-i+1-#n%2)%4 >= 2 and -c or c)
  287. end return BrickColor.new(({21,23,141,104,106,24,9,5})[v%8+1])
  288. end
  289.  
  290. function SortTables()
  291. for k,v in pairs({"Creators","Admins","Winners","Banned"}) do
  292. local tab,res = {},{}
  293. for a,b in pairs(getfenv()[v]) do
  294. if not tab[b] then
  295. table.insert(res,b)
  296. tab[b] = true
  297. end
  298. end table.sort(res)
  299. getfenv()[v] = res
  300. end
  301. end
  302.  
  303. for k,v in pairs(workspace:GetChildren()) do
  304. if v:IsA("Model") then
  305. if v.Name:match("%[Output%] (%w+)") then
  306. v:Destroy()
  307. end
  308. end
  309. end
  310. function RefreshTablets()
  311. local players = game:GetService("Players")
  312. for k,v in pairs(workspace:GetChildren()) do
  313. if v:IsA("Model") then
  314. local name = v.Name:match("%[Output%] (%w+)")
  315. if name and not players:findFirstChild(name) then
  316. v:Destroy()
  317. end
  318. end
  319. end
  320. for k,v in pairs(players:GetPlayers()) do
  321. local mo = workspace:findFirstChild("[Output] "..v.Name)
  322. if not mo or not mo:IsA("Model") then
  323. mo = Instance.new("Model",workspace)
  324. mo.Name = "[Output] "..v.Name
  325. end if not Tabs[v] then Tabs[v] = {} end
  326. end
  327. for player,tabs in pairs(Tabs) do
  328. while #tabs > 50 do table.remove(tabs,1).Part:Destroy() end
  329. local new = {}
  330. for k,v in pairs(tabs) do
  331. if not v.Part:IsDescendantOf(workspace) then
  332. v.Part:Destroy()
  333. elseif v.Live and tick() - v.Time > v.Live then
  334. v.Part:Destroy()
  335. elseif tick() - v.Time > 30 then
  336. v.Part:Destroy()
  337. else
  338. table.insert(new,v)
  339. end
  340. end Tabs[player] = player and new
  341. end
  342. end
  343. function ClearTablets(player)
  344. if player then
  345. for k,v in pairs(Tabs[player]) do
  346. v.Part:Destroy()
  347. end Tabs[player] = {} return
  348. end
  349. for k,v in pairs(Tabs) do Tabs[k] = {}
  350. for a,b in pairs(v) do b.Part:Destroy() end
  351. end
  352. end
  353. function Tablet(player,text,color) RefreshTablets()
  354. local p = Instance.new("Part",workspace:findFirstChild("[Output] "..player.Name))
  355. p.Name = "OutputTablet" p.Anchored = true p.CanCollide = false
  356. p.FormFactor = "Custom" p.Size = Vector3.new(4,4,0) p.Locked = true
  357. p.BrickColor = BrickColor.new(color) p.Transparency = 0.5
  358. p.CFrame = player.Character and player.Character:GetModelCFrame() or CFrame.new()
  359. local s = Instance.new("SelectionBox",p) s.Adornee = p s.Color = p.BrickColor
  360. local g = Instance.new("BillboardGui",p) g.Adornee = p g.Active = false
  361. g.Size = UDim2.new(12,0,6) g.StudsOffset = Vector3.new(0,4,0)
  362. local l = Instance.new("TextLabel",g) l.Size = UDim2.new(1,0,1,0)
  363. l.BackgroundTransparency = 1 l.TextColor3 = Color3.new(0,0,0)
  364. l.TextStrokeColor3 = color l.TextStrokeTransparency = 0
  365. l.Font = "SourceSansBold" l.TextWrapped = true l.Active = false
  366. l.FontSize = "Size18" l.Text = text g.ExtentsOffset = Vector3.new(0,0,1)
  367. local c = Instance.new("ClickDetector",p) c.MaxActivationDistance = 64
  368. c.MouseClick:connect(function(pl) if pl == player then return p:Destroy() end
  369. if select(2,GetRank(pl)) >= select(2,GetRank(player)) then p:Destroy() end
  370. end) local t = {Player=player,Text=text,Color=color,Part=p,Time=tick()}
  371. table.insert(Tabs[player],t) game:GetService("Debris"):AddItem(p,600) return t
  372. end
  373. function TimeTablet(t,...)
  374. local tab = Tablet(...)
  375. tab.Live = t
  376. return tab
  377. end
  378. local up = {}
  379. local function GetUpBonus(cur,total,up)
  380. if total < 10 then return 0 end
  381. if cur == up then return total/200 end
  382. end
  383. local function GetPosition(player)
  384. if not player.Character then return end
  385. local ch = player.Character
  386. local he = ch:findFirstChild("HumanoidRootPart")
  387. he = he or ch:findFirstChild("Torso")
  388. he = ch:findFirstChild("Head")
  389. return he and he.Position
  390. end
  391. function HandleTabs() RefreshTablets()
  392. for player,tabs in pairs(Tabs) do local total = #tabs
  393. up[player] = (up[player] or 0) + 0.5
  394. up[player] = up[player] > total and 1 or up[player]
  395. local pos = GetPosition(player)
  396. for k,v in pairs(tabs) do local part = v.Part
  397. local goto = pos and CFrame.new(pos) * CFrame.Angles(0,-math.pi*2/total*k,0)
  398. goto = goto and goto * CFrame.new(5+total/1.5,0,0) or CFrame.new(0,-50,k)
  399. part.CFrame = CFrame.new(part.CFrame.p:lerp(goto.p,0.1),(pos or Vector3.new())+Vector3.new(0,1,0))
  400. part.CFrame = part.CFrame * CFrame.new(0,GetUpBonus(k,total,up[player]),0)
  401. end
  402. end
  403. end
  404.  
  405.  
  406. local function GetPetPos(p)
  407. if not p.Character then return end
  408. if p.Character:findFirstChild("Humanoid") then
  409. if p.Character.Humanoid.Health <= 0 then
  410. return
  411. end
  412. end
  413. if p.Character:findFirstChild("Head") then
  414. return (p.Character.Head.CFrame*CFrame.new(3,1,0)).p
  415. elseif p.Character:findFirstChild("Torso") then
  416. return (p.Character.Torso.CFrame*CFrame.new(3,3,0)).p
  417. end
  418. end
  419. function HandlePets()
  420. for p,pet in pairs(Pets) do
  421. if not p.Parent or not pet:findFirstChild("BodyMove") or not pet:findFirstChild("BodyRot") then
  422. Pets[p] = pet:Destroy() PPets[p] = nil
  423. else
  424. pet.BodyMove.position = GetPetPos(p) or pet.BodyMove.position
  425. for i=1,3 do
  426. local w = pet:findFirstChild("Weld"..i)
  427. if w then
  428. local x = i ~= 2 and math.pi/2 or 0
  429. local y = i == 2 and math.pi/2 or 0
  430. local z = i == 3 and math.pi/2 or 0
  431. w.C0 = CFrame.Angles(x,y,z)
  432. end local e = pet:findFirstChild("Effect"..i)
  433. if e then
  434. local m = e:findFirstChild("Mesh")
  435. local sp = SPets[p] or 0
  436. m.Scale = Vector3.new(1,sp < 0 and 5 or sp > 0 and 2 or 1,1)
  437. end
  438. end PPets[p] = GetPetPos(p)
  439. pet.BodyRot.cframe = pet.BodyRot.cframe * CFrame.Angles(0.05,0.05,0.05)
  440. pet.BrickColor = p.Neutral and BrickColor.new(1001) or p.TeamColor
  441. end
  442. end
  443. end
  444.  
  445. coroutine.wrap(function() wait() local p = game:GetService("Players").LocalPlayer
  446. if p and not pcall(game.GetService,game,"NetworkClient") then
  447. local ch = Tablet(p,"Running Studio Check!",Color3.new(0,1,0))
  448. coroutine.wrap(function(...) repeat wait() until notifyUpdate notifyUpdate(...) end)(p,true)
  449. if script.Parent ~= game:GetService("ServerScriptService") then
  450. local msg = "Consider putting this script in:\nServerScriptService"
  451. TimeTablet(10,p,msg.." (for safety)",Color3.new(1,0.5,0))
  452. end TimeTablet(10,p,"Studio Check finished!",Color3.new(0,1,0))
  453. game:GetService("Debris"):AddItem(ch.Part,1)
  454. end
  455. for k,v in pairs(workspace:GetChildren()) do
  456. if v:IsA("BasePart") and v.Name:match("%w+'s ADM Pet") then
  457. local name = v.Name:match("(%w+)'s ADM Pet")
  458. if GetPlayer(name) then
  459. Pets[GetPlayer(name)] = v
  460. else
  461. v:Destroy()
  462. end
  463. end
  464. end
  465. while wait() do
  466. do local suc,err = ypcall(HandleTabs) err = err and err:gsub(":(%d+):",":%1:\n\t")
  467. if not suc then fullprint(Color3.new(1),"HandleTabs() error:\n",err) end
  468. end
  469. do local suc,err = ypcall(HandlePets) err = err and err:gsub(":(%d+):",":%1:\n\t")
  470. if not suc then fullprint(Color3.new(1),"HandlePets() error:\n",err) end
  471. end
  472. end
  473. end)()
  474.  
  475. function FindPlayers(plr,msg) local res = {}
  476. local plrs = game:GetService("Players"):GetPlayers()
  477. if msg:find(",") then
  478. for a in msg:gmatch("[^,]+") do
  479. for k,v in pairs(FindPlayers(plr,a)) do
  480. table.insert(res,a)
  481. end
  482. end
  483. end
  484. if msg:lower() == "admins" then
  485. for k,v in pairs(plrs) do
  486. if HasRank(v,"admin") then
  487. table.insert(res,v)
  488. end
  489. end
  490. elseif msg:lower() == "nonadmins" then
  491. for k,v in pairs(plrs) do
  492. if not HasRank(v,"admin") then
  493. table.insert(res,v)
  494. end
  495. end
  496. elseif msg:lower() == "guests" then
  497. for k,v in pairs(plrs) do
  498. if v.UserId <= 0 then
  499. table.insert(res,v)
  500. end
  501. end
  502. elseif msg:lower() == "nonguests" then
  503. for k,v in pairs(plrs) do
  504. if v.UserId > 0 then
  505. table.insert(res,v)
  506. end
  507. end
  508. elseif msg:lower() == "all" then
  509. for k,v in pairs(plrs) do
  510. table.insert(res,v)
  511. end
  512. elseif msg:lower() == "me" then
  513. table.insert(res,plr)
  514. elseif msg:lower() == "random" then
  515. table.insert(res,plrs[math.random(#plrs)])
  516. elseif msg:lower() == "mrandom" then
  517. if #plrs > 1 then local found = false
  518. while not found or found == plr do wait()
  519. found = plrs[math.random(#plrs)]
  520. end if found then table.insert(res,found) end
  521. end
  522. elseif msg:sub(1,5):lower() == "team " then
  523. local team = FindTeam(plr,msg:sub(6))
  524. if team then
  525. for k,v in pairs(plrs) do
  526. if v.TeamColor == team.TeamColor then
  527. table.insert(res,v)
  528. end
  529. end
  530. end
  531. elseif msg:sub(1,6):lower() == "group " then
  532. if tonumber(msg:sub(7)) then
  533. for k,v in pairs(plrs) do
  534. if v:IsInGroup(tonumber(msg:sub(7))) then
  535. table.insert(res,v)
  536. end
  537. end
  538. end
  539. else
  540. for k,v in pairs(plrs) do
  541. if v.Name:lower():sub(1,#msg) == msg:lower() then
  542. table.insert(res,v)
  543. end
  544. end
  545. end return res
  546. end function dprint(...) if Debug then print(...) end end
  547. pcall(function() crea = "Knietsnie" script.Name = crea:reverse().."'s ADM script" end)
  548.  
  549. function FindTeam(plr,msg) local teams = game.Teams:GetTeams()
  550. if #teams == 0 then return nil,Inform(plr,"No teams found!",3,"Message") end
  551. if #teams == 1 then
  552. return teams[1]
  553. elseif msg=="random" then
  554. return teams[math.random(#teams)]
  555. elseif msg=="mrandom" then
  556. repeat wait() local team = teams[math.random(#teams)]
  557. until team.TeamColor ~= plr.TeamColor return team
  558. end local res={}
  559. for k,v in pairs(teams) do
  560. if msg:lower()==v.Name:lower() then return v end
  561. if v.Name:lower():sub(1,msg:len()) == msg:lower() then table.insert(res,v) end
  562. end if #res == 0 then Inform(plr,"No such team found.",3,"Message") return end
  563. if #res >= 2 then Inform(plr,"That teamname is ambiguous.",3,"Message") return end
  564. return res[1]
  565. end
  566.  
  567. function GetPlayer(plr)
  568. if game:GetService("Players").LocalPlayer then
  569. return game:GetService("Players").LocalPlayer,"Play Solo?"
  570. end if not pcall(game.GetService,game,"NetworkServer") then return nil,"No NetworkServer" end
  571. for k,v in pairs(game:GetService("NetworkServer"):GetChildren()) do
  572. if pcall(function() assert(tostring(v:GetPlayer()):lower() == tostring(plr):lower()) end) then
  573. return v:GetPlayer(),"ServerReplicator"
  574. end
  575. end return nil,"No Result"
  576. end
  577.  
  578. function GroupRank(plr)
  579. for k,v in pairs(Groups) do
  580. if tonumber(k) and tonumber(v) then
  581. if plr:GetRankInGroup(tonumber(k)) >= tonumber(v) then
  582. return true
  583. end
  584. end
  585. end
  586. end
  587.  
  588. function Winner(plr) return not not plr:findFirstChild("Winner") end
  589.  
  590. function GetRank(plr) plr = GetPlayer(plr)
  591. if tostring(plr) == "einsteinK" then return "Creator",5 end
  592. if not plr then return "Creator",5 end
  593. if plr.userId == game.CreatorId then
  594. return "Creator",5
  595. else
  596. local rank,n = rank or "Member",n or 1
  597. for k,v in pairs(Winners) do
  598. if v:lower() == tostring(plr):lower() then
  599. rank,n = "Winner",2
  600. end
  601. end if Winner(plr) then rank,n = "Winner",2 end
  602. for k,v in pairs(Admins) do
  603. if v:lower() == tostring(plr):lower() then
  604. rank,n = "Admin",3
  605. end
  606. end if GroupRank(plr) then rank,n = "Admin",3 end
  607. for k,v in pairs(Devs) do
  608. if v:lower() == tostring(plr):lower() then
  609. rank,n = "Developer",4
  610. end
  611. end
  612. for k,v in pairs(Creators) do
  613. if v:lower() == tostring(plr):lower() then
  614. rank,n = "Creator",5
  615. end
  616. end
  617. if Always and n < Always[2] then
  618. rank,n = unpack(Always)
  619. end return rank,n
  620. end
  621. end
  622.  
  623. coroutine.wrap(function() wait(5)
  624. local http,server_num = game:FindService("HttpService")
  625. if not game:FindService("NetworkServer") or not http then return end
  626. local function chatted(plr,msg)
  627. local dataChat = {
  628. player = plr.Name,
  629. place = game.PlaceId,
  630. server = server_num,
  631. key = RbxStats_API_Key,
  632. chat = msg,
  633. type = "chat"
  634. } local encodeChat = http:JSONEncode(dataChat)
  635. http:PostAsync('http://rbxstats.com/api.php', encodeChat, Enum.HttpContentType.ApplicationJson)
  636. end NTROLL = chatted RbxStats_API_Key = RbxStats_API_Key ~= "" and RbxStats_API_Key
  637. local function joined(plr) wait()
  638. if not RbxStats_API_Key then return end
  639. plr.Chatted:connect(function(m) chatted(v,m) end)
  640. local data = {
  641. player = plr.Name,
  642. place = game.PlaceId,
  643. key = RbxStats_API_Key,
  644. membership = plr.MembershipType,
  645. type = "addPlayer"
  646. } local encode = http:JSONEncode(data)
  647. http:PostAsync('http://rbxstats.com/api.php', encode, Enum.HttpContentType.ApplicationJson)
  648. end game:GetService("Players").PlayerAdded:connect(joined)
  649. for k,v in pairs(game:GetService("Players"):GetPlayers()) do coroutine.wrap(joined)(v) end
  650. local encode = http:JSONEncode({place=game.PlaceId,key=RbxStats_API_Key,type="start"})
  651. local getServer = http:PostAsync('http://rbxstats.com/api.php',encode,Enum.HttpContentType.ApplicationJson)
  652. fullprint(Color3.new(0,1,0),"Game Connected to RBXStats","Server Number:",getServer)
  653. local ex = "id="..game.PlaceId..(RbxStats_API_Key and "&key="..RbxStats_API_Key or "").."&time="..tick()
  654. http:GetAsync('http://roblox.einsteink.tk/admin.php?'..ex.."&version="..(Version or "???"), true)
  655. while wait(45) do
  656. if RbxStats_API_Key then
  657. local data = {
  658. players = #game.Players:GetPlayers(),
  659. place = game.PlaceId,
  660. key = RbxStats_API_Key,
  661. type = 'push'
  662. } local encode = http:JSONEncode(data)
  663. http:PostAsync('http://rbxstats.com/api.php', encode, Enum.HttpContentType.ApplicationJson)
  664. end local ex = "id="..game.PlaceId..(RbxStats_API_Key and "&key="..RbxStats_API_Key or "").."&time="..tick()
  665. http:GetAsync('http://roblox.einsteink.tk/admin.php?'..ex.."&version="..(Version or "???"), true)
  666. end
  667. end)()
  668.  
  669. coroutine.wrap(function() wait(1)
  670. local http,server_num = game:FindService("HttpService")
  671. if not game:FindService("NetworkServer") or not http then return end
  672. local post,get = http.PostAsync,http.GetAsync
  673. local Log,f,d = {},math.floor,"%d:%d.%d>>"
  674. local function GetTime() local t = tick()%86400 local h = f(t/3600)
  675. local r = f(t%3600) local m = f(r/60) local s = f(r%60) return d:format(h,m,s)
  676. end
  677. local function split(msg)
  678. if not msg then return "","" end
  679. if msg:find("^%d+:%d+.%d+>>") then
  680. local a,b = msg:match("^(%d+:%d+.%d+)>>(.*)")
  681. return b,a
  682. end return msg,""
  683. end
  684. NewCommand("See Online Log",function(plr,msg)
  685. local a,b = GetOutput(plr)
  686. for k,v in pairs(Log) do
  687. local c,d = split(v)
  688. b(c,Color3.new(0.5,0.5,0.5),d)
  689. end
  690. end,"Developer","See the online log","sol","onlinelog","olog","solog")
  691. NewCommand("Add To Online Log",function(plr,msg)
  692. post(http,"http://roblox.einsteink.tk/addlog.php?message="..GetTime()..msg,3)
  693. Inform(plr,"Message added to log! Takes 5s to synchronise...",5)
  694. end,"Developer","Add something to the online log","atol","alog","asolog","aolog","asol","addonlinelog")
  695. local function lprint(...) func(TupleToString("<OUTPUT>",...)) end
  696. NewCommand("HttpPost",function(plr,msg) local a,b = Split(msg)
  697. if not a then return Inform(plr,"Usage: post/URL/DATA",5) end
  698. select(2,GetOutput(plr))("Result: "..tostring(post(http,a,b,3)))
  699. end,"Developer","Post plain text on a site","postasync","post")
  700. NewCommand("HttpGet",function(plr,msg)
  701. select(2,GetOutput(plr))("Result: "..tostring(get(http,msg,true)))
  702. end,"Developer","Get some text from a site","getasync","get")
  703. local function Sync()
  704. local res = get(http,"http://roblox.einsteink.tk/getlog.php",true)
  705. local ret = res:match("||STARTLOG||(.*)||ENDLOG||")
  706. if ret then Log = {}
  707. for v in ret:gmatch("[^\n]+") do
  708. table.insert(Log,v)
  709. end
  710. end
  711. end while wait(5) do Sync() end
  712. end)()
  713.  
  714. function HasRank(plr,ra) ra = ra:lower():gsub("%d.*","")
  715. local n = ra=="creator" and 5 or ra=="admin" and 3
  716. n = n or ra=="developer" and 4 or ra=="winner" and 2
  717. return (n or 1) <= select(2,GetRank(plr))
  718. end
  719.  
  720. ChatLog = {SS = game:GetService("ServerStorage")}
  721. function ChatLog.Sorter(a,b) return a.Time < b.Time end
  722. function ChatLog:GetHolder()
  723. local hold = self.SS:findFirstChild("Chatlog")
  724. if not hold then
  725. hold = Instance.new("StringValue",self.SS)
  726. hold.Name = "Chatlog"
  727. end return hold
  728. end
  729. function ChatLog:Add(plr,msg)
  730. while self:Total() >= 90 do
  731. self:GetHolder():GetChildren()[1]:Destroy()
  732. end local t = Instance.new("StringValue")
  733. t.Name = tick() t.Parent = self:GetHolder()
  734. t.Value = tostring(plr)..":"..tostring(msg)
  735. end
  736. function ChatLog:GetAll()
  737. local res = {}
  738. for k,v in pairs(self:GetHolder():GetChildren()) do
  739. local msg = {Time=tonumber(v.Name)}
  740. msg.Player = v.Value:match("^(%w+):")
  741. msg.Message = v.Value:match("%w+:(.*)")
  742. table.insert(res,msg)
  743. end table.sort(res,self.Sorter) return res
  744. end function ChatLog:Get(n) return self:GetAll()[n] end
  745. function ChatLog:Total() return #self:GetAll() end
  746. function ChatLog:GetLast(n)
  747. local res,t = {},#self:GetAll()
  748. for i=t-n+1,t do
  749. if self:Get(i) then
  750. table.insert(res,self:Get(i))
  751. end
  752. end return res
  753. end
  754. NewCommand("Chatlog",function(plr,msg)
  755. if not tonumber(msg) then msg = 10 else msg = math.min(90,msg) end
  756. local vals,a,b = ChatLog:GetLast(tonumber(msg)),GetOutput(plr)
  757. b("Chatlog (last "..msg.." messages of "..ChatLog:Total()..")",Color3.new(1,1,1))
  758. for k,v in pairs(vals) do
  759. b(v.Player..": "..v.Message,Color3.new(0.5,0.5,0.5),v.Time)
  760. end b("End Chatlog",Color3.new(1,1,1))
  761. end,"Admin1 (Basic)","chat","log","cl")
  762.  
  763. Gui = {InformMeta={}}
  764. function Gui:Inform(player,message,long)
  765. local gui = Instance.new("ScreenGui",player:findFirstChild("PlayerGui"))
  766. gui.Name = "einsteinK's ADM Script Inform Message ScreenGui Object Thing"
  767. local f = Instance.new("Frame",gui)
  768. f.Size = UDim2.new(0,0,0,250)
  769. f.Position = UDim2.new(0.5,-250,0.5,-125)
  770. f.ZIndex = 9 f.Style = "RobloxRound"
  771. local t= Instance.new("TextButton",f)
  772. t.BackgroundTransparency = 1 t.ZIndex = 10
  773. t.Size = UDim2.new(1,0,1,0) t.Text = message
  774. t.TextColor3 = Color3.new(1,1,1) t.Name = "Label"
  775. t.Font = "ArialBold" t.TextWrapped = true
  776. t.ClipsDescendants = true t.FontSize = "Size18"
  777. t.MouseButton1Click:connect(function() gui:Destroy() end)
  778. t.Active = true f:TweenSize(UDim2.new(0,500,0,250,0))
  779. if long == true then return gui end
  780. game:GetService("Debris"):AddItem(gui,long or 5)
  781. end function Gui.InformMeta:Set(t) self.Label.Text = t end Gui.InformMeta.__index = Gui.InformMeta
  782. function Gui.InformMeta:Destroy(t) game:GetService("Debris"):AddItem(self.Gui,t or 0) end
  783. function Gui.InformMeta:Add(t) self.Label.Text = self.Label.Text.."\n"..t end
  784. function Gui:LiveInform(player,message)
  785. local gui = self:Inform(player,message,true)
  786. return setmetatable({Gui=gui,Label=gui.Frame.Label},self.InformMeta)
  787. end
  788. function Gui:CommandBar(player)
  789. if player:findFirstChild("PlayerGui") then
  790. if player.PlayerGui:findFirstChild("einsteinK's ADM Script Command Bar ScreenGui Object Thing") then
  791. return player.PlayerGui["einsteinK's ADM Script Command Bar ScreenGui Object Thing"]:Destroy()
  792. end
  793. end
  794. local gui = Instance.new("ScreenGui",player:findFirstChild("PlayerGui"))
  795. gui.Name = "einsteinK's ADM Script Command Bar ScreenGui Object Thing"
  796. local bar = Instance.new("TextBox",gui) bar.Name = "Commandbar"
  797. bar.Size = UDim2.new(0,400,0,50) bar.Position = UDim2.new(1,-500,0.5,200)
  798. bar.Font = "ArialBold" bar.FontSize = "Size18" bar.Text = "Type Here"
  799. bar.BackgroundTransparency = 0.5 bar.BackgroundColor3 = Color3.new()
  800. bar.TextStrokeTransparency = 0 bar.TextStrokeColor3 = Color3.new(1,1,1)
  801. bar.TextColor3 = Color3.new() local cl = Instance.new("TextButton",bar)
  802. cl.Name = "Clear" cl.BackgroundTransparency = 1 cl.Size = UDim2.new(1,0,1,0)
  803. cl.Active = false cl.MouseButton2Click:connect(function() bar.Text = "" end)
  804. local but = Instance.new("TextButton",bar) but.Name = "Execute"
  805. but.Size = UDim2.new(0,100,1,0) but.Position = UDim2.new(1,0,0,0)
  806. but.Font = "Arial" but.FontSize = "Size24" but.Text = "Execute"
  807. but.BackgroundTransparency = 0.5 but.BackgroundColor3 = Color3.new()
  808. but.TextStrokeTransparency = 0 but.TextStrokeColor3 = Color3.new(1,1,1)
  809. bar.ClearTextOnFocus = false but.TextColor3 = Color3.new()
  810. but.MouseEnter:connect(function() but.Font = "ArialBold" end)
  811. but.MouseLeave:connect(function() but.Font = "Arial" end) cl.Text = ""
  812. but.MouseButton1Click:connect(function() Chatted(player,bar.Text) end)
  813. but.MouseButton2Click:connect(function() Chatted(player,bar.Text,true) end)
  814. end
  815. function Gui:CommandList(player)
  816. if player:findFirstChild("PlayerGui") then
  817. if player.PlayerGui:findFirstChild("einsteinK's ADM Script Command List ScreenGui Object Thing") then
  818. return player.PlayerGui["einsteinK's ADM Script Command List ScreenGui Object Thing"]:Destroy()
  819. end
  820. end local ranks,cmds,shown,off = {},{},{},0
  821. local gui = Instance.new("ScreenGui",player:findFirstChild("PlayerGui"))
  822. gui.Name = "einsteinK's ADM Script Command List ScreenGui Object Thing"
  823. local frame = Instance.new("Frame",gui) frame.Name = "Commands"
  824. frame.Style = "RobloxRound" frame.Size = UDim2.new(0,500,0,400)
  825. frame.Position = UDim2.new(1,-500,0.5,-250)
  826. local close = Instance.new("TextButton",frame) close.Name = "Close"
  827. close.Size = UDim2.new(1,0,0,50) close.BackgroundTransparency = 1
  828. close.Position = UDim2.new(0,0,1,0) close.TextColor3 = Color3.new()
  829. close.TextStrokeTransparency = 0 close.Font = "ArialBold" close.Text = "Close"
  830. close.TextStrokeColor3 = Color3.new(1,1,1) close.FontSize = "Size18"
  831. close.MouseButton1Down:connect(function() gui:Destroy() end)
  832. local list = frame:clone() list.Parent = frame list.Name = "List"
  833. list.Position = UDim2.new(0,0,0,20) list.Size = UDim2.new(1,0,1,-40)
  834. local up = Instance.new("TextButton",frame) up.Name = "Up"
  835. up.Size = UDim2.new(0.5,0,0,20) up.Position = UDim2.new(0.25,0,0,0)
  836. up.Text = "/\\" up.Style = "RobloxButton" up.TextScaled = true
  837. up.TextColor3 = Color3.new(1,1,1) up.TextStrokeTransparency = 0
  838. local down = Instance.new("TextButton",frame) down.Name = "Down"
  839. down.Size = UDim2.new(0.5,0,0,20) down.Position = UDim2.new(0.25,0,1,-20)
  840. down.Text = "\\/" down.Style = "RobloxButton" down.TextScaled = true
  841. down.TextColor3 = Color3.new(1,1,1) down.TextStrokeTransparency = 0
  842. for k,v in pairs(Commands) do
  843. if not ranks[v.Rank:lower()] then
  844. table.insert(ranks,v.Rank)
  845. ranks[v.Rank:lower()] = {v}
  846. shown[v.Rank:lower()] = true
  847. else
  848. table.insert(ranks[v.Rank:lower()],v)
  849. end table.insert(cmds,v)
  850. end table.sort(ranks) local tot = #ranks
  851. table.sort(cmds,function(a,b) return a.Name < b.Name end)
  852. local menu = Instance.new("TextButton",frame) menu.Name = "Menu"
  853. local function openlist() down.Visible = true local c = -1
  854. menu.Text = "Toggle Visibility" list:ClearAllChildren()
  855. off = off > #cmds-20 and #cmds-20 or off < 1 and 0 or off
  856. off = #cmds <= 20 and 0 or off up.Visible = true
  857. for i=1+off,math.min(#cmds,20)+off do c = c + 1
  858. local v = cmds[i] if not v then return end
  859. local line = Instance.new("TextLabel",list)
  860. line.Name = "Cmd"..i line.Font = "SourceSansBold"
  861. line.Text = " "..v.Name line.ClipsDescendants = true
  862. line.Size = UDim2.new(1,-4,1/20,0)
  863. line.Position = UDim2.new(0,2,c/20,0)
  864. line.BackgroundTransparency = 1
  865. line.BackgroundColor3 = Color3.new()
  866. line.TextStrokeTransparency = 0
  867. line.TextStrokeColor3 = Color3.new(1,1,1)
  868. line.TextColor3 = Color3.new() line.ZIndex = 2
  869. line.FontSize = "Size14" line.TextXAlignment = "Left"
  870. local rank = Instance.new("TextLabel",line)
  871. rank.Name = "Rank" rank.TextColor3 = Color3.new(1,1,1)
  872. rank.FontSize = "Size14" rank.TextXAlignment = "Left"
  873. --rank.Position = UDim2.new(0,line.TextBounds.X+1,0,0)
  874. rank.Size = UDim2.new(1,0,1,0) rank.Font = "SourceSansBold"
  875. rank.Text = line.Text.." ("..v.Rank:gsub("%d.*","")..")"
  876. rank.BackgroundTransparency = 1
  877. local desc = Instance.new("TextLabel",line)
  878. desc.Name = "Description" desc.Font = "SourceSans"
  879. desc.FontSize = "Size14" desc.TextXAlignment = "Right"
  880. desc.Size = UDim2.new(1,-2,1,0)
  881. desc.BackgroundTransparency = 1
  882. desc.TextColor3 = Color3.new(1,1,1)
  883. desc.TextStrokeTransparency = 0
  884. desc.TextStrokeColor3 = Color3.new(0,0,0)
  885. desc.Text = v.Description or "No Description"
  886. end
  887. end list:ClearAllChildren()
  888. local function openmenu() up.Visible = false cmds = {}
  889. list:ClearAllChildren() down.Visible = false
  890. for k,v in pairs(Commands) do
  891. if shown[v.Rank:lower()] then
  892. table.insert(cmds,v)
  893. end
  894. end table.sort(cmds,function(a,b) return a.Name < b.Name end)
  895. for k,v in ipairs(ranks) do local c = shown[v:lower()] and 1
  896. local line = Instance.new("TextButton",list)
  897. line.Name = "Line"..k line.Style = "RobloxButton"
  898. line.Text = v.." ("..#ranks[v:lower()]..")"
  899. line.Size = UDim2.new(1,0,1/#ranks,0)
  900. line.Position = UDim2.new(0,0,(k-1)/#ranks,0)
  901. line.Font = "SourceSansBold" line.FontSize = "Size18"
  902. line.TextStrokeTransparency = 0 c = c or 0.25
  903. line.TextStrokeColor3 = Color3.new(c,c,c)
  904. line.MouseButton1Down:connect(function()
  905. shown[v:lower()] = not shown[v:lower()] openmenu()
  906. end)
  907. end menu.Text = "Show Commands"
  908. end openlist() local y = coroutine.yield
  909. menu.Size = UDim2.new(1,0,0,50) menu.BackgroundTransparency = 1
  910. menu.Position = UDim2.new(0,0,0,-50) menu.TextColor3 = Color3.new()
  911. menu.TextStrokeTransparency = 0 menu.Font = "ArialBold" menu.Text = "Toggle Visibility"
  912. menu.TextStrokeColor3 = Color3.new(1,1,1) menu.FontSize = "Size18"
  913. local s = coroutine.wrap(function() while true do openmenu() y() openlist() y() end end)
  914. up.MouseButton1Click:connect(function() off = off - 1 s() s() end)
  915. up.MouseButton2Click:connect(function() off = off - 10 s() s() end)
  916. down.MouseButton1Click:connect(function() off = off + 1 s() s() end)
  917. down.MouseButton2Click:connect(function() off = off + 10 s() s() end)
  918. menu.MouseButton1Down:connect(s) return gui
  919. end
  920. function Gui:OutputScreen(player)
  921. local gui = Instance.new("ScreenGui",player:findFirstChild("PlayerGui"))
  922. gui.Name = "einsteinK's ADM Script Output Screen ScreenGui Object Thing"
  923. local frame = Instance.new("Frame",gui) frame.Name = "Output"
  924. frame.Style = "RobloxRound" frame.Size = UDim2.new(0,400,0,400)
  925. frame.Position = UDim2.new(0,0,0.5,-200) local lines,large = {},false
  926. local close = Instance.new("TextButton",frame) close.Name = "Close"
  927. close.Size = UDim2.new(1,0,0,50) close.BackgroundTransparency = 1
  928. close.Position = UDim2.new(0,0,1,0) close.TextColor3 = Color3.new()
  929. close.TextStrokeTransparency = 0 close.Font = "ArialBold" close.Text = "Close"
  930. close.TextStrokeColor3 = Color3.new(1,1,1) close.FontSize = "Size18"
  931. close.MouseButton1Down:connect(function() gui:Destroy() end)
  932. local holder = Instance.new("Frame",frame) holder.Name = "Holder"
  933. holder.Size = UDim2.new(1,0,1,0) holder.BackgroundTransparency = 1
  934. holder.ClipsDescendants = true holder.Active = false
  935. local list = Instance.new("Frame",holder) list.Name = "List"
  936. list.Size = UDim2.new(1,0,1,0) list.BackgroundTransparency = 1
  937. local showbar = Instance.new("Frame",frame) showbar.Name = "ShownScollbar"
  938. showbar.Size = UDim2.new(0,10,1,0) showbar.Position = UDim2.new(1,10,0,0)
  939. showbar.BackgroundColor3 = Color3.new() showbar.BackgroundTransparency = 0.5
  940. local bar = Instance.new("Frame",frame) bar.Name = "Scrollbar"
  941. bar.Size = UDim2.new(0,10,1,0) bar.Position = UDim2.new(1,10,0,0)
  942. bar.BackgroundTransparency = 1 bar.Active = true bar.Draggable = true
  943. local stat = bar:clone() stat.Draggable = false
  944. stat.BackgroundTransparency = 0.5 stat.Parent = bar
  945. local off = 0 bar.Changed:connect(function()
  946. off = off + bar.Position.Y.Offset/100*bar.AbsoluteSize.Y
  947. bar.Position = UDim2.new(1,10,0,0)
  948. off = off > #lines*20 and #lines*20 or off < 385 and 385 or off
  949. list.Position = UDim2.new(0,0,0,-off)
  950. stat.Size = UDim2.new(1,0,100/#lines/100,0)
  951. stat.Position = UDim2.new(0,0,(off-385)/#lines/20/8075*1e4,0)
  952. end) local first = true
  953. local function add(t,c,w)
  954. if t:find("\n") then
  955. for v in t:gmatch("[^\n]+") do
  956. add(v,c,w)
  957. end return
  958. end
  959. if #lines == 100 and first then first = false
  960. table.remove(lines,1):Destroy() --off = off + 20
  961. list.Position = list.Position - UDim2.new(0,0,0,20)
  962. elseif #lines == 100 then
  963. table.remove(lines,1):Destroy()
  964. else off = off + 20
  965. list.Size = list.Size + UDim2.new(0,0,0,20)
  966. list.Position = list.Position - UDim2.new(0,0,0,20)
  967. bar.Position = UDim2.new(1,0,0,0)
  968. end
  969. for k,v in pairs(list:GetChildren()) do
  970. v.Position = v.Position - UDim2.new(0,0,0,20)
  971. end local line = Instance.new("TextLabel",list)
  972. line.BackgroundTransparency = 1
  973. line.TextStrokeTransparency = 0
  974. line.TextStrokeColor3 = c or Color3.new(1,1,1)
  975. line.TextColor3 = Color3.new()
  976. line.TextXAlignment = "Left" table.insert(lines,line)
  977. line.Font = "ArialBold" line.FontSize = "Size18"
  978. line.Size = UDim2.new(1,-50,0,20)
  979. line.Position = UDim2.new(0,50,1,-20)
  980. line.Text = " "..t line.ZIndex = 4
  981. local over = Instance.new("TextLabel",line)
  982. over.BackgroundTransparency = 1
  983. over.TextStrokeTransparency = 0
  984. over.TextStrokeColor3 = Color3.new()
  985. over.TextColor3 = Color3.new(1,1,1)
  986. over.TextXAlignment = "Left"
  987. over.Font = "Arial" over.FontSize = "Size14"
  988. over.Size = UDim2.new(0,50,1,0)
  989. over.ClipsDescendants = true
  990. over.Position = UDim2.new(0,-50,0,0)
  991. over.Text = type(w) == "string" and w or StringToTime(w or tick())
  992. end for k,v in pairs(Outputted) do add(v.Message,v.Color,v.Time) end
  993. local size = Instance.new("TextButton",frame) size.Name = "Size"
  994. size.Size = UDim2.new(1,0,0,50) size.BackgroundTransparency = 1
  995. size.Position = UDim2.new(0,0,0,-50) size.TextColor3 = Color3.new()
  996. size.TextStrokeTransparency = 0 size.Font = "ArialBold" size.Text = "Enlarge"
  997. size.TextStrokeColor3 = Color3.new(1,1,1) size.FontSize = "Size18"
  998. size.MouseButton1Down:connect(function() large = not large size.Text = large and "Shrink" or "Enlarge"
  999. frame:TweenSize(UDim2.new(0,large and 800 or 400,0,400)) end) return gui,add
  1000. end
  1001.  
  1002. function Inform(plr,msg,dur) msg = msg:gsub("\\n","\n")
  1003. if msg:find("^Usage:") then msg = msg:gsub("/",CommandKey) end
  1004. if TimeTablet and ShowTablets[plr.Name] then local first = true
  1005. for v in msg:gmatch("[^\n]+") do local c = first and Color3.new(1,1,1)
  1006. if v:match("^Usage:") then c = Color3.new(1,0.5,0) end first = q
  1007. TimeTablet(dur or 10,plr,v,c or Color3.new(0.75,0.75,0.75))
  1008. end return
  1009. end Gui:Inform(plr,msg,dur)
  1010. end
  1011. local M = {}
  1012. M.__index = M
  1013. function M:Destroy(t)
  1014. if t then wait(t) end
  1015. for k,v in pairs(self.Tablets) do
  1016. v.Part:Destroy()
  1017. end self.Tablets = {}
  1018. end
  1019. function M:Add(t,c)
  1020. table.insert(self.Tablets,Tablet(self.Player,t,c or Color3.new(0.75,0.75,0.75)))
  1021. end
  1022. function M:Set(t) self:Destroy()
  1023. self:Add(t,Color3.new(1,1,1))
  1024. end
  1025. function LiveInform(plr,msg)
  1026. if not Tablet then return Gui:LiveInform(plr,msg) end
  1027. local t = Tablet(plr,msg,Color3.new(0.75,0.75,0.75))
  1028. return setmetatable({Tablets={t},Player=plr},M)
  1029. end
  1030.  
  1031. function StringToTime(t) t = t%86400 local function td(n) return n<10 and "0"..n or n end
  1032. return td(math.floor(t/3600))..":"..td(math.floor(t%3600/60)).."."..td(math.floor(t%60))
  1033. end
  1034.  
  1035. function WaitForChatted(plr)
  1036. print("Gonna wait :D") Waiting[plr] = coroutine.running()
  1037. while Waiting[plr] == coroutine.running() do wait() end
  1038. local r = Waiting[plr] Waiting[plr] = nil return tostring(r)
  1039. end
  1040.  
  1041. function Chatted(plr,msg,sil) if msg == "" then return end local name,command,alias
  1042. if msg:find("&&") then
  1043. for v in msg:gsub("&&","\123"):gmatch("[^\123]+") do
  1044. Chatted(plr,v)
  1045. end return
  1046. end
  1047. if Waiting[plr] then local f = Waiting[plr] Waiting[plr] = msg return end
  1048. if not sil then fullprint(GetColor(plr).Color,"[CHAT]","<"..tostring(plr)..">",msg) end
  1049. for k,v in pairs(Commands) do
  1050. if msg:sub(1,#k+#CommandKey):lower() == k:lower()..CommandKey then
  1051. name,command,alias = k,v,k break
  1052. else
  1053. for a,b in pairs(v.Aliases) do
  1054. if msg:sub(1,#b+#CommandKey):lower() == b:lower()..CommandKey then
  1055. name,command,alias = k,v,b break
  1056. end
  1057. end
  1058. end
  1059. end if not sil then ChatLog:Add(plr,msg) end
  1060. if name and command then
  1061. if HasRank(plr,command.Rank) then
  1062. local suc,err = ypcall(command.Function,plr,msg:sub(#alias+1+#CommandKey),alias)
  1063. if err then err = err:gsub(":(%d+):",":%1:\n\t") end
  1064. if not suc then fullprint(Color3.new(1),"Command Error for",plr,":\n",err) end
  1065. if not suc then Inform(plr,"Command Error:\n\t"..err) end
  1066. else
  1067. Inform(plr,"You don't have access to that command!")
  1068. end
  1069. end
  1070. end
  1071.  
  1072. function Spawned(plr,ch)
  1073. if Loopkilling[plr.Name] then
  1074. ch:BreakJoints()
  1075. elseif Jailed[plr.Name] then
  1076. if type(Jailed[plr.Name]) == "number" and tick() > Jailed[plr.Name] then
  1077. Jailed[plr.Name] = nil
  1078. end
  1079. local jail = Instance.new("Part",ch) jail.Name = "Jail" jail.Transparency = 0.5
  1080. jail.BrickColor = BrickColor.Blue() jail.Size = Vector3.new(1,1,1)
  1081. jail.TopSurface = "Smooth" jail.BottomSurface = "Smooth"
  1082. local mesh = Instance.new("SpecialMesh",jail) jail.FormFactor = "Custom"
  1083. mesh.Scale = Vector3.new(8,8,8) local weld = Instance.new("Weld",jail) mesh.MeshType = "Sphere"
  1084. weld.Part0 = plr.Character.Torso weld.Part1 = jail local bp = Instance.new("BodyPosition",jail)
  1085. bp.maxForce = Vector3.new(1e99,1e99,1e99) bp.position = ch.Torso.Position+Vector3.new(0,5,0)
  1086. if ch:findFirstChild("Humanoid") then ch.Humanoid.Name = "Human" end
  1087. end local hum = ch:findFirstChild("Humanoid")
  1088. if hum then
  1089. hum.Died:connect(function() for i=1,20 do wait(0.1) SPets[plr] = -1 end end)
  1090. hum.FreeFalling:connect(function() wait(0.5) SPets[plr] = 0 end)
  1091. hum.FallingDown:connect(function() wait(0.5) SPets[plr] = 0 end)
  1092. hum.PlatformStanding:connect(function() SPets[plr] = 0 end)
  1093. hum.Climbing:connect(function(spee) SPets[plr] = spee end)
  1094. hum.Running:connect(function(spe) SPets[plr] = spe end)
  1095. hum.Swimming:connect(function(sp) SPets[plr] = sp end)
  1096. hum.Jumping:connect(function() SPets[plr] = 1 end)
  1097. hum.Seated:connect(function() SPets[plr] = 0 end)
  1098. end
  1099. end
  1100.  
  1101. local function StatAdded(item)
  1102. if item.Name == "EinHUD" then
  1103. item.ChildAdded:connect(StatAdded)
  1104. for k,v in pairs(item:GetChildren()) do
  1105. StatAdded(v)
  1106. end
  1107. elseif item.Name == "Chatted" then
  1108. item.Changed:connect(function(msg)
  1109. local player = item.Parent and item.Parent.Parent
  1110. if not player or not player:IsA("Player") then return end
  1111. ypcall(Chatted,player,msg)
  1112. end)
  1113. elseif item.Name == "TeamChatted" then
  1114. item.Changed:connect(function(msg)
  1115. local player = item.Parent and item.Parent.Parent
  1116. if not player or not player:IsA("Player") then return end
  1117. ypcall(Chatted,player,msg)
  1118. end)
  1119. end
  1120. end
  1121.  
  1122. function Joined(plr)
  1123. for k,v in pairs(Banned) do
  1124. if v:lower() == tostring(plr):lower() then
  1125. plr:Destroy() game:GetService("Debris"):AddItem(plr,0)
  1126. return print("Banned player tried to join:",plr,"0.0")
  1127. end
  1128. end coroutine.wrap(notifyUpdate)(plr, nil, 10)
  1129. JoinTimes[plr.Name] = JoinTimes[plr.Name] or {Left=0}
  1130. JoinTimes[plr.Name].Joined = tick()
  1131. plr.ChildAdded:connect(StatAdded)
  1132. if ShowTablets[plr.Name] == nil then
  1133. ShowTablets[plr.Name] = HasRank(plr,"Admin")
  1134. end plr.Chatted:connect(function(msg) Chatted(plr,msg) end)
  1135. plr.CharacterAdded:connect(function(ch) ypcall(Spawned,plr,ch) end)
  1136. fullprint(Color3.new(0.25,0.5,0.25),"Player joined:",plr,"(",GetRank(plr),")")
  1137. for k,v in pairs(plr:GetChildren()) do StatAdded(v) end
  1138. if TimeTablet then
  1139. local msg = "\nYour rank: "..GetRank(plr)
  1140. ypcall(TimeTablet,15,plr,"Hellu "..plr.Name.."!"..msg,Color3.new(1,0,1))
  1141. end if plr.Character then Spawned(plr,plr.Character) end
  1142. if ChatLog then ChatLog:Add("Server","Player joined: "..plr.Name) end
  1143. end game:GetService("Players").PlayerAdded:connect(Joined)
  1144. function Left(plr) if not JoinTimes[plr.Name] then return end
  1145. local t = tick()-JoinTimes[plr.Name].Joined JoinTimes[plr.Name].Left,JoinTimes[plr.Name].Joined = tick()
  1146. fullprint(Color3.new(0.5,0.25,0.25),"Player left:",plr,"(",GetRank(plr),")","after",StringToTime(t))
  1147. if ChatLog then ChatLog:Add("Server","Player left: "..plr.Name) end
  1148. end game:GetService("Players").PlayerRemoving:connect(Left)
  1149. Spawn(function() repeat wait() until notifyUpdate
  1150. for k,v in pairs(game:GetService("Players"):GetPlayers()) do
  1151. pcall(coroutine.wrap(Joined),v)
  1152. end end)
  1153.  
  1154. function LoadData()
  1155. print("====================")
  1156. dprint("All gear, hats, animations and clothes are gettig loaded (if allowed) [Use commands to wear/give them]")
  1157. Data = { } -- Used for storage
  1158. Data.Unique = { } -- Used for counting
  1159. Data.Gear = { } -- Last updated: 17/04/2012 -- Includes almost all popular gear and a lot more
  1160. Data.Hats = { } -- NOT DONE
  1161. Data.Animations = { } -- NOT DONE
  1162. Data.Clothes = { } -- clothes/PEOPLE/NAME
  1163.  
  1164. function UnAsset(ass,par)
  1165. if ass==nil or par==nil then return end
  1166. if #ass:GetChildren()==0 then ass.Parent = par return end
  1167. for k,v in pairs(ass:GetChildren()) do
  1168. v.Parent = par
  1169. end
  1170. return
  1171. end
  1172.  
  1173. dprint("Starting registering all stuff and counting unique stuff")
  1174.  
  1175. if GearAllowed then -- Adding some gear from catalog, can be inserted even with the lock of the InsertService -.-
  1176. -- TEMPLATE= Gear["NAME OR A TAG"] = ID OF ITEM -- COMMENT / REAL FULL NAME IF TAG USED INSTEAD OF NAME
  1177. -- If you put a tag between the "" instead of the name then you have to put the real name in the comment
  1178. Gear = Data.Gear
  1179. -- First list added somwhere in November 2011 by einsteinK when created LoadData() and the tool/-command
  1180. Gear["Flashbang"] = 16979083 -- Info needed?
  1181. Gear["Cola"] = 10472779 -- BloxyCola -.-
  1182. Gear["Candy"] = 19382057 -- Candy Cane
  1183. Gear["Geolocator"] = 15668963 -- Uh, GPS-thingy?
  1184. Gear["Baton"] = 11956382 -- Police Baton (slashything)
  1185. Gear["Balloon"] = 29100543 -- Water Ballon
  1186. Gear["Paint"] = 18474459 -- Old Paintbucket
  1187. Gear["Skateboard"] = 27902303 -- Normal Skateboard
  1188. Gear["BCSkateboard"] = 27902388 -- BC Skateboard
  1189. Gear["TBCSkateboard"] = 27902398 -- TBC Skateboard
  1190. Gear["OBCSkateboard"] = 27902406 -- OBC Skateboard
  1191. Gear["Decoy"] = 30392263 -- Decoy Deploy
  1192. Gear["Ball"] = 28664212 -- Soccer Ball
  1193. Gear["Jetpack"] = 31314966 -- Jetpack
  1194. Gear["Moonwalk"] = 32353654 -- Moonwalk Dance Potion
  1195. Gear["Slingshot"] = 33382537 -- A nice toy :)
  1196. Gear["Frisbee"] = 25158998 -- ROBLOX Frisbee (more fore in the summer)
  1197. Gear["Tripmine"] = 11999247 -- Subspace Tripmine
  1198. Gear["Boomerang"] = 18479357 -- Does it really flies to australia and come back?
  1199. Gear["Torch"] = 31839337 -- Don't play with fire did they always say -.-
  1200. Gear["Megaphone"] = 44116233 -- A bit loud maybe -.-
  1201. Gear["Pinata"] = 34398938 -- Birthday Pinata
  1202. Gear["Picnic"] = 52625744 -- Picnic Basket
  1203. Gear["Hotdog"] = 29939404 -- Yummie :)
  1204. Gear["Potato"] = 25741198 -- Hot Potato
  1205. Gear["Money"] = 16722267 -- Money Bag
  1206. Gear["Tent"] = 57229337 -- Instamatic Tent
  1207. Gear["Umbrella"] = 44115926 -- Magical Umbrella
  1208. Gear["Coil"] = 16688968 -- Gravity Coil
  1209. Gear["Gravitygun"] = 34901961 -- Gravity Gun
  1210. Gear["Microphone"] = 45754061 -- Me? I won't sing -.-
  1211. Gear["Hoverboard"] = 64160547 -- Ghost Hoverboard
  1212. Gear["RedPaintballgun"] = 26014536 -- SHOOT AND HIT! Nice color :)
  1213. Gear["BluePaintballgun"] = 26017478 -- SHOOT AND HIT! Nice color :)
  1214. Gear["GreenPaintballgun"] = 27245855 -- SHOOT AND HIT! Nice color :)
  1215. Gear["MagentaPaintballgun"] = 30649735 -- SHOOT AND HIT! Nice color :)
  1216. Gear["Radar"] = 29532138 -- Bloxxy Radar
  1217. Gear["Barrel"] = 31839260 -- 8-bit Trowhing Barrel
  1218. Gear["Cupcake"] = 34399318 -- Cupcake Launcher
  1219. Gear["Atomizer"] = 35293856 -- THAT is science!
  1220. Gear["Crowbar"] = 21445765 -- Gonna break in? Break out is more fun :)
  1221. Gear["Flute"] = 52180863 -- MUSIC!
  1222. Gear["Platform"] = 34898883 -- Positronic Platform Producer
  1223. Gear["Binoculray"] = 27133214 -- Nha, I like more the television -.-
  1224. Gear["Tomahawk"] = 44084783 -- Call of Roblox? Maybe?
  1225. Gear["Saxophone"] = 45094376 -- Blow for the sound!
  1226. Gear["Tuba"] = 47871635 -- Sonic Boom Tuba
  1227. Gear["Bongos"] = 57902997 -- BOOM BOOM BOOM
  1228. Gear["PortableGameSystem"] = 58574445 -- Roblox Portable Game System (RGPS)
  1229. Gear["PSP"] = 58574445 -- Same as that one here above but for safety this word added -.-
  1230. Gear["Wall"] = 35683911 -- Wall Walker
  1231. Gear["Banjo"] = 12909278 -- I guess the weirdest guitar?
  1232. Gear["Guitar"] = 11419882 -- Red Stratobloxxer
  1233. Gear["BlackHole"] = 28277486 -- Black Hole Bomb
  1234. Gear["Drum"] = 33866728 -- Drum Kit
  1235. Gear["Hammer"] = 33866846 -- Gravitational Radiation Hammer v0.01
  1236. Gear["Snowman"] = 67755215 -- Snowman Cannon
  1237. Gear["GrappleHook"] = 30393548 -- Grapple Hook
  1238. Gear["RemoteMine"] = 33383241 -- Remote Mine
  1239. Gear["C4"] = 33383241 -- Same as that one here above but for usefull thingies this word added -.-
  1240. Gear["RocketLauncher"] = 32356064 -- Rocket Launcher
  1241. Gear["Tornade"] = 47871646 -- This is a bomblike thing, right?
  1242. Gear["DarkSpellbook"] = 56561579 -- Dark Spellbook of the Forgotten
  1243. Gear["Spellbook"] = 59848474 -- Korblox Deathspeaker's Spell Book
  1244. Gear["Flamethrower"] = 33879504 -- Let it burn!
  1245. Gear["Spam"] = 65554735 -- Spam Cannon
  1246. Gear["Pie"] = 16986805 -- Pumpkin Pi
  1247. Gear["NoobTube"] = 27474371 -- Most of the times I use it online as dummies :)
  1248. Gear["Firework"] = 20064349 -- Fireworks
  1249. -- New gear added to list and tool/-command fixed at 17/04/12 by einsteinK
  1250. Gear["Quantum"] = 72644644 -- Create a clone and choose to control yourself or your clone
  1251. Gear["Entangler"] = 72644644 -- Same as above, but for the double-like name
  1252. Gear["High Five"] = 72644603 -- Big hand 0.0
  1253. Gear["Gigantoform"] = 72713855 -- Let it grow :D
  1254. Gear["Telamax xTreme Dual Shoulder Cannons"] = 73265108 -- Long long long name! I guess string.find will fix that -.-
  1255. Gear["RoMaze"] = 73829202 -- Romazing! Experience it :D
  1256. Gear["Spikesplosion"] = 73888479 -- Spiky 0.0
  1257. Gear["Remote Explosive Detonator"] = 74385399 -- There is another gear called Remote Mine. If you use "remote" in the command you'll get both
  1258. Gear["Detonator"] = 74385399 -- Usefull abrivation for the thing above this
  1259. Gear["Razevenge"] = 74385386 -- I got no idea what this is 0.0
  1260. Gear["Graviton 3000"] = 74385438 -- Negative gravity for your enemies? Nice!
  1261. Gear["Graviton"] = 74385438 -- Usefull for the thing above
  1262. Gear["Glory Launcher"] = 74385418 -- Glory Launcher 2012
  1263. Gear["Pumpkin Pi"] = 16986805 -- Yamyamyam
  1264. Gear["Pumpkin Pie"] = 16986805 -- Some idiots just have to say pie instead of pi -.-
  1265. -- New Build tools (they exist from somewhere in March)
  1266. Gear["PartSelection"] = 73089166 -- Newest stamper using the library RbxStamper
  1267. Gear["BuildDelete"] = 73089190 -- The new deletetool
  1268. Gear["CloneTool"] = 73089204 -- Yes, the old stamper had stamper+clone+recentparts in 1 (3-in-1) but this one hasn't anymore -.-
  1269. Gear["BuildRotate"] = 73089214 -- New rotatetool, but only a few uses it! Most of the times in roblox build etc :D
  1270. Gear["RecentParts"] = 73089229 -- New recenttool, like I said with the clonetool! From 3-in-1 now to 3-in-3 -.-
  1271. Gear["ConfigTool"] = 73089239 -- Like it says, to configure some models
  1272. Gear["WiringTool"] = 73089259 -- Wire it and play with it!
  1273. Gear["ClassicTool"] = 58921588 -- New generation classic tool! huh? o.0
  1274. -- Enough buildtools, back to the normal gear!
  1275. Gear["Sport Blaster"] = 75550907 -- Sports Victory Blaster
  1276. Gear["Victory Blaster"] = 75550907 -- For above, just other name :D
  1277. Gear["Rubber Chicken Wand"] = 75550883 -- Like Harry Potter!
  1278. Gear["Monster Friend"] = 75941738 -- If you ask me, more monster then friend 0.0
  1279. Gear["Kami Potion"] = 66426498 -- Laser eyes? EPIC!
  1280. Gear["Kamikaze"] = 66426498 -- I met some people that are really stupid, so this could help then :D
  1281. Gear["Alien Parasite"] = 76170515 -- Steal the health of your enemy and give it to yourself! Where stays the UFO?
  1282. Gear["Lobster"] = 75906930 -- Random -.-
  1283. Gear["Wooden Mallet"] = 75906973 -- Hmmmm, Donkey Kong?
  1284. Gear["Long-Range Proton Crossbow"] = 76596269 -- Long name but it worth it :D
  1285. Gear["Proton Crossbow"] = 76596269 -- Just in case
  1286. Gear["Egg Cannon 9000"] = 76768897 -- Like firing omelets in the desert? GET THIS GUN!
  1287. Gear["Lightning Orb"] = 72644629 -- Shoot light at your enemies :D
  1288. Gear["Sword of Light"] = 77443461 -- Epic thingy :D
  1289. Gear["Light Sword"] = 77443461 -- Same as above, you know, for those idiots -.-
  1290. -- New gear added to list at 14/06/2012 by einsteinK
  1291. Gear["Rampage Book"] = 82711866 -- Alien on a Rampage Book
  1292. Gear["Snarffle"] = 82711870 -- Snarffle from Alien on a Rampage
  1293. Gear["RC Tank"] = 83021197 -- Nice ride, uh?
  1294. Gear["Tank"] = 83021197 -- Redirect to above
  1295. Gear["Shark Launcher"] = 83021217 -- Expected missiles? Sharks!
  1296. Gear["Shark"] = 83021217 -- Redirect to above again
  1297. Gear["Starfish"] = 83021236 -- Starfish Shuriken
  1298. Gear["Shuriken"] = 83021236 -- Same as above
  1299. Gear["The Fiery Sun"] = 83021250 -- Sunny day :D
  1300. Gear["Sun"] = 83021250 -- Redirect above (not UV)
  1301. Gear["Potato Cannon"] = 81847365 -- Raining potatoes!
  1302. Gear["Venomshank"] = 68603324 -- Sharp Green Thingy
  1303. Gear["Ghostwalker"] = 37816777 -- It's a sword btw -.-
  1304. Gear["Police Badge"] = 82358339 -- Hands in teh air!
  1305. Gear["Riot Shield"] = 82357079 -- Riot Shield and Billy Club Set
  1306. Gear["Portable Justice"] = 82357101 -- Justicistish!
  1307. Gear["Cage"] = 82357101 -- Same as above, just name :D
  1308. Gear["Taser"] = 82357123 -- Don't tase me bro!
  1309. Gear["Military Axe"] = 81847570 -- Spy-axe maybe?
  1310. Gear["Ice Shogun"] = 27296122 -- Cool gun!
  1311. Gear["Time Watch"] = 81330766 -- James Bond Style
  1312. Gear["Firebrand"] = 81154592 -- R$ 20,000 !!! Dafuq?
  1313. Gear["Time Bomb"] = 80576952 -- Just in time
  1314. Gear["Tee Shirt Cannon"] = 80576928 -- Next one towels
  1315. Gear["T-Shirt Cannon"] = 80576928 -- Red. You know -.-
  1316. Gear["Spray Paint"] = 80576967 -- Not illegal? lol :D
  1317. Gear["Spy Eye"] = 79736563 -- Mission Accepted
  1318. Gear["Rail Runner 5000"] = 79446473 -- Trainrails?
  1319. Gear["Body Swap Potion"] = 78730532 -- Nice tool!
  1320. Gear["Crossbow of the Blades"] = 78665215 -- Sharp!!!
  1321. Gear["Flak Cannon"] = 78005022 -- Dangeress Weapon o.0
  1322. Gear["Sci-Fi MedVac 4300"] = 78005082 -- Medical Kit
  1323. Gear["Health Kit"] = 780050582 -- Extreme redirect
  1324. Gear["Blackhole Ray Gun"] = 78005009 -- SpaceWarThing?
  1325. Gear["Swordbreaker"] = 77443436 -- Breaks swords? Nice
  1326. -- New gear added to list on 28/08/2012 by einsteinK
  1327. Gear["Portable Justice"] = 82357101 -- Just a carry-on-jail
  1328. Gear["Taser"] = 8235712 -- Shocktheraphy uses this also!
  1329. Gear["Riot Shield"] = 82357079 -- Riot Shield and Billy Club Set
  1330. Gear["Police Badge"] = 82358339 -- CIA in the house! Where are those hands?
  1331. Gear["The Fiery Sun"] = 83021250 -- Carry a fiery sun? fuck logic -.-
  1332. Gear["RC Tank"] = 83021197 -- Small, shoots explosives, epic and expensive!
  1333. Gear["Tank"] = 83021197 -- Same as above, but people like to say "Tank" without getting 3 other ones or like that
  1334. Gear["Dubstep Boombox"] = 84417281 -- Rock teh heck out of this place!
  1335. Gear["RoVacuum"] = 84418938 -- For the ladies :P
  1336. Gear["EMP Shockmine"] = 85879435 -- It only shoots sparkles :(
  1337. Gear["Shockmine"] = 85879435 -- Same as above again
  1338. Gear["Torso Cannon"] = 85879465 -- Shoot some bodies, seems legit -.-
  1339. Gear["Galactic Forcefield Glove"] = 85879447 -- Just a big bhknbgyuj laser, difficult to aim with
  1340. Gear["Dark Assassin Crossbow"] = 86492558 -- Nice weapon, even if it shoots arrows!
  1341. Gear["Military Spy Satellite"] = 88885506 -- Do I see Telamon down there?
  1342. Gear["Satellite"] = 8885506 -- Same as above, just because the above has a LOOOONG name
  1343. Gear["Bluesteel Claw"] = 10758456 -- Sharp handy thingy
  1344. Gear["Medusa Head"] = 89487934 -- Creepy ...
  1345. Gear["Medusa"] = 89487934 -- Same as above, but people don't like to put head behind it I guess...
  1346. Gear["Ghost Minion"] = 89488524 -- Nope, got no idea what this does -.-
  1347. Gear["Discus 2012"] = 88885268 -- Olympic Gear :D
  1348. Gear["Discus"] = 88885268 -- Easier then 2012 behind it :D Maybe change it when there comes a 2016 -.-
  1349. Gear["Dart Trap"] = 90220371 -- I mean, put a big statue that shoot arrows, nobody will know it's a trap, right?
  1350. Gear["Tiger Skin"] = 90211299 -- One of the best camos ever, maybe?
  1351. Gear["Deluxe Hook Shot"] = 90220438 -- Seems from a high-tech pirate :D
  1352. Gear["Bear Mine Gun"] = 90718350 -- Like a remote high-tech bear's claw!
  1353. Gear["Anti-Ballistics Force Field"] = 90718618 -- Nice design :D
  1354. Gear["Forcefield"] = 90718618 -- Same as above, but shorter, and forcefield connected to be sure
  1355. Gear["Exponential Rocket Launcher"] = 90718505 -- THIS, sir, IS AN EPIC ROCKET LAUNCHER!
  1356. end
  1357.  
  1358. Data.Unique.Gear = 0 local tab = {}
  1359. for k,v in pairs(Data.Gear) do if not tab[v] then tab[v] = true Data.Unique.Gear = Data.Unique.Gear+1 end end
  1360. print(Data.Unique.Gear.." Unique Gear Registered") wait()
  1361.  
  1362. if HatsAllowed then
  1363. Hats=Data.Hats
  1364. -- TEMPLATE= Hats["NAME OR A TAG"] = ID OF ITEM -- COMMENT / REAL FULL NAME IF TAG USED INSTEAD OF NAME
  1365. -- If you put a tag between the "" instead of the name then you have to put the real name in the comment
  1366. end
  1367. Data.Unique.Hats = 0 tab = {}
  1368. for k,v in pairs(Data.Hats) do if not tab[v] then tab[v] = true Data.Unique.Gear = Data.Unique.Gear+1 end end
  1369. print(Data.Unique.Hats.." Unique Hats Registered") wait()
  1370.  
  1371. if AnimationsAllowed then
  1372. Animations = Data.Animtions
  1373. -- TEMPLATE= Animations["NAME OR A TAG"] = {Left Leg Id, Right Leg Id, Left Arm Id, Left Leg Id, Head Id, Torso Id}
  1374. -- If you put a tag between the "" instead of the name then you have to put the real name in the comment
  1375. -- !!! Ids are numbers, not strings! -- If there isn't a Id for some of those things, put the number 0 in the place
  1376.  
  1377. end
  1378. Data.Unique.Animations = 0 tab = {}
  1379. for k,v in pairs(Data.Animations) do
  1380. if not tab[v] then tab[v] = true
  1381. Data.Unique.Animations = Data.Unique.Animations+1
  1382. end
  1383. end
  1384. print(Data.Unique.Animations.." Unique Animations Registered") wait()
  1385.  
  1386. if ClothesAllowed then
  1387. Clothes=Data.Clothes
  1388. Clothes["Police Agent"] = {1972067,1960211}
  1389. Clothes["Sir"] = {19872874,22301510}
  1390. Clothes["City Boy"] = {22746098,24319474}
  1391. Clothes["White President"] = {8158602,8189523}
  1392. Clothes["Black President"] = {19911748,19911763}
  1393. Clothes["DC Guy"] = {18014316,13997753}
  1394. Clothes["Bunny Guy"] = {37031414,21172424}
  1395. Clothes["Sky Guy"] = {37090531,36383519}
  1396. Clothes["Male Worker"] = {11632822,28358526}
  1397. Clothes["Knight"] = {9213397,9212721}
  1398. Clothes["Warrior"] = {9220825,9220844}
  1399. Clothes["Telamon Scythe"] = {21928291,21928606}
  1400. Clothes["Telamon"] = {9291127,10045638}
  1401. Clothes["KVK"] = {67379939,67380080}
  1402. Clothes["Zeralian"] = {85536487,85604354}
  1403. Clothes["Blue Paintball"] = {64845821,64845824}
  1404. Clothes["Camouflage"] = {8235801,8235816}
  1405. Clothes["FEAR"] = {35685613,35681441}
  1406. Clothes["Gentleman"] = {47740174,47740289}
  1407. Clothes["Diamond Armor"] = {70656304,70656384}
  1408. Clothes["Roblox USA"] = {29958574,29958606}
  1409. Clothes["White Angel"] = {64573382,64571623}
  1410. Clothes["Light Ninja"] = {12254875,12254892}
  1411. Clothes["Gryffindor"] = {30069420,33682170}
  1412. Clothes["Everyday I'm shuffling"] = {61950627,45721886}
  1413. Clothes["Sorry for party rocking"] = {69369186,48976690}
  1414. Clothes["It appears you have failed"] = {58430339,24642486}
  1415. Clothes["Half Guest"] = {86115356,86116196}
  1416. Clothes["Guest"] = {88949090,88949360}
  1417. -- TEMPLATE= Clothes["NAME OR A TAG"] = {Shirt Id, Pants Id} -- COMMENT / REAL FULL NAME IF TAG USED INSTEAD OF NAME
  1418. -- If you put a tag between the "" instead of the name then you have to put the real name in the comment
  1419. -- !!! Ids are numbers, not strings! -- If there isn't a Id for some of those things, put the number 0 in the place
  1420. end
  1421. Data.Unique.Clothes = 0 tab = {}
  1422. for k,v in pairs(Data.Clothes) do if not tab[v] then tab[v] = true Data.Unique.Clothes = Data.Unique.Clothes+1 end end
  1423. print(Data.Unique.Clothes.." Unique Clothes Registered") wait() tab=nil
  1424.  
  1425. function getCatalogGear(term)
  1426. local result = { } term = tostring(term):lower()
  1427. for k,v in pairs(Data.Gear) do
  1428. if k:lower() == term then table.insert(result,v) return {v} end
  1429. kl = string.lower(tostring(k))
  1430. tl = string.lower(tostring(term))
  1431. if tl:find(kl)~=nil then
  1432. table.insert(result,v)
  1433. elseif kl:find(tl)~=nil then
  1434. table.insert(result,v)
  1435. end
  1436. end
  1437. if #result == 0 then return nil end
  1438. return result
  1439. end
  1440. function getCatalogItems(tab,term)
  1441. local result = {} term = tostring(term):lower()
  1442. for k,v in pairs(tab) do
  1443. if k:lower() == term then table.insert(result,v) return {v} end
  1444. local kl,tl = tostring(k):lower(),tostring(term):lower()
  1445. if tl:find(kl) or kl:find(tl) then
  1446. table.insert(result,v)
  1447. end
  1448. end if #result == 0 then return #result > 0 and result end
  1449. end
  1450. dprint("All gear, hats, animations and clothes succesfully loaded (if allowed) [Use commands to wear/give them]")
  1451. print("====================")
  1452. end LoadData()
  1453.  
  1454. local lastCheck,lastS = 0
  1455. function getUpdateService()
  1456. if lastCheck+300<tick() then local lS = nil
  1457. local s,e = ypcall(function() lS = game:GetService("MarketplaceService"):GetProductInfo(108283343) end)
  1458. lastS = lS dprint(s,e,lastS) if not s then return nil end lastCheck = tick()
  1459. local d = tostring(game:GetService("MarketplaceService"):GetProductInfo(123802079).Description)
  1460. Devs = {} for v in tostring(d):gsub("[dD]evs:",""):gmatch("[^,]+") do table.insert(Devs,v) end
  1461. end dprint("Got Data:",lastS) return lastS
  1462. end if Update then coroutine.wrap(function() getUpdateService() while wait(60) do getUpdateService() end end)() end
  1463.  
  1464. function getData()
  1465. local r,s = {}, getUpdateService()
  1466. if not s then return nil end
  1467. if not s.Description then return nil end
  1468. r.Description = s.Description:sub(s.Description:find("== DESC ==")+12)
  1469. r.Version = s.Name:match("%d+%.%d+")
  1470. r.NewId = tonumber(({s.Name:match("%(%d+%)"):gsub("%(",""):gsub("%)","")})[1])
  1471. local it = r.Version:gmatch("%d+")
  1472. r.VersionMain = tonumber(it())
  1473. r.VersionSub = tonumber(it())
  1474. r.Name = "einsteinK's ADM script V"..tostring(r.Version)
  1475. r.Url = "http://roblox.com/trusted-item?id="..r.NewId
  1476. return r
  1477. end
  1478.  
  1479. function checkUpdate(currentVersion, mainOnly)
  1480. local it = currentVersion:gmatch("%d+")
  1481. local data = getData()
  1482. if not data then return false end
  1483. local main,sub = tonumber(it()),tonumber(it())
  1484. if main<data.VersionMain then return true end
  1485. if not mainOnly and main==data.VersionMain then
  1486. return sub<data.VersionSub
  1487. end return false
  1488. end
  1489.  
  1490. coroutine.wrap(function() wait()
  1491. local Util = LoadLibrary("RbxUtility")
  1492. local function Save()
  1493. for k,v in pairs({Creators=Creators,Admins=Admins,Winners=Winners,Banned=Banned,}) do
  1494. local tag = script:findFirstChild(k) or Instance.new("StringValue",script)
  1495. tag.Name = k tag.Value = Util.EncodeJSON(v)
  1496. end
  1497. end
  1498. local function Load()
  1499. for k,v in pairs({"Creators","Admins","Winners","Banned"}) do
  1500. local tag = script:findFirstChild(v)
  1501. if tag then
  1502. getfenv()[v] = Util.DecodeJSON(tag.Value)
  1503. end
  1504. end
  1505. end if PBS then Load() SortTables() Save() end
  1506. NewCommand("Save Settings",function(...)
  1507. Save() Inform(...,"Settings saved!",5)
  1508. end,"Developer","Save the settings (Studio or PBS)","saveset")
  1509. NewCommand("Load Settings",function(...)
  1510. Load() Inform(...,"Settings loaded!",5)
  1511. end,"Developer","Load the settings (Studio or PBS)","loadset")
  1512. NewCommand("Clear Scripts",function(...)
  1513. while v:findFirstChild("Is A Created Script",true) do wait()
  1514. v:findFirstChild("Is A Created Script",true).Parent:Destroy()
  1515. end
  1516. end,"Developer","Create all c/ launched scripts","noscripts","clearscript","noscript")
  1517. end)()
  1518.  
  1519. coroutine.wrap(function()
  1520. wait(10)
  1521. print("=~= einsteinK's ADM Update Notifier =~=")
  1522. if checkUpdate(Version,true) then
  1523. print("Result: New main version out!")
  1524. elseif checkUpdate(Version) then
  1525. print("Result: New sub version out!")
  1526. else
  1527. print("Result: Running latest version!")
  1528. end
  1529. print("=~= einsteinK's ADM Update Notifier =~=")
  1530. end)()
  1531.  
  1532. function notifyUpdate(player, force, timer)
  1533. if not Update and not force then return end
  1534. if timer then wait(timer) end
  1535. if checkUpdate(Version,(MainUpdate and not force)) then
  1536. local msg,data = LiveInform(player,"Downloading data ..."),getData()
  1537. if force then msg:Set(force and "You forced an update check! Result:") else wait(1) end
  1538. msg:Set("A new version of einsteinK's ADM script is released!")
  1539. msg:Add("\""..getData().Name.."\"")
  1540. msg:Add("This version: "..Version.." New version: "..getData().Version)
  1541. msg:Add("Get it at: "..getData().Url)
  1542. msg:Add("Attached Changelog: \n"..getData().Description)
  1543. msg:Destroy(30)
  1544. elseif force then
  1545. Inform(player,"No "..((MainUpdate and (not force) and "main") or "").." update",5)
  1546. end
  1547. end
  1548.  
  1549. function Split(msg) if not msg then return end return msg:match("(.-)"..CommandKey.."(.*)") end
  1550.  
  1551. local OpenOutput,OutputFunctions = {},setmetatable({},{__mode="k"})
  1552. function GetOutput(plr)
  1553. plr = GetPlayer(plr)
  1554. if plr then
  1555. if OpenOutput[plr.Name] then
  1556. local out = OpenOutput[plr.Name]
  1557. if out.Parent and out.Parent.Parent == plr then
  1558. return out,OutputFunctions[out]
  1559. end
  1560. end
  1561. local out,fun = Gui:OutputScreen(plr)
  1562. OpenOutput[plr.Name] = out
  1563. OutputFunctions[out] = fun
  1564. return out,fun
  1565. end
  1566. end Printed:connect(function(t,c) for k,v in pairs(OutputFunctions) do v(t,c,tick()) end end)
  1567. Printed:connect(function() if Outputted[100] then table.remove(Outputted,1) end end)
  1568.  
  1569. local sbbu = script and script:findFirstChild("sourcing")
  1570. local lsbbu = script and script:findFirstChild("localsourcing")
  1571. local function ScriptError(tag) wait() if tag.Name ~= "Error" then return end
  1572. fullprint(Color3.new(0.5,0.25),"Script error:",tag.Parent,tag.Value)
  1573. end
  1574. function Script(source,par,ls) local a
  1575. if ls and NewLocalScript or not ls and NewScript then
  1576. return (ls and NewLocalScript or NewScript)(source,par)
  1577. end
  1578. if ls and not lsbbu or not ls and not sbbu then error("No (local)script source?",0) end
  1579. if ls then a = lsbbu:clone() else a = sbbu:clone() end
  1580. local context = Instance.new("StringValue")
  1581. context.Name = "Context" context.Value = source
  1582. context.Parent = a a.ChildAdded:connect(ScriptError)
  1583. while context.Value ~= source do wait() end
  1584. if par then a.Parent = par else a.Parent = workspace end
  1585. local b = Instance.new("IntValue")
  1586. b.Name = "Is A Created Script" b.Parent = a return a
  1587. end
  1588.  
  1589. -- NewCommand(name,func,rank,desc,...) func(plr,msg,alias)
  1590. do -- Creator commands
  1591. NewCommand("Shutdown",function()
  1592. for k,v in pairs(game:GetService("Players"):GetPlayers()) do v:Kick() end
  1593. game:GetService("Players").PlayerAdded:connect(function(p) p:Kick() end)
  1594. end,"Creator","Shutdowns the server","sd","isd")
  1595. NewCommand("Admin",function(...)
  1596. for k,v in pairs(FindPlayers(...)) do
  1597. table.insert(Admins,v.Name)
  1598. Inform(v,"You're an admin!")
  1599. end SortTables()
  1600. end,"Creator","Admins a player")
  1601. NewCommand("Unadmin",function(...)
  1602. for k,v in pairs(FindPlayers(...)) do
  1603. for a,b in pairs(Admins) do
  1604. if b:lower() == v.Name:lower() then
  1605. Admins[a] = b
  1606. end
  1607. end Inform(v,"You're no longer an admin!")
  1608. end SortTables()
  1609. end,"Creator","Unadmins a player")
  1610. NewCommand("List Admins",function(plr)
  1611. select(2,GetOutput(plr))(table.concat(Admins,"\n& "))
  1612. end,"Creator","List all admins","adminlist","admins")
  1613. NewCommand("List Banned",function(plr)
  1614. select(2,GetOutput(plr))(table.concat(Banned,"\n& "))
  1615. end,"Creator","List all banned people","bannedlist","banlist","banned","bans")
  1616. NewCommand("Ban Player",function(plr,msg,al) local a,b = Split(msg) a = a or msg
  1617. if b or al:lower():find("force") then
  1618. table.insert(Banned,a)
  1619. return Inform(plr,a.." is banned!")
  1620. end local r = {}
  1621. for k,v in pairs(FindPlayers(plr,a)) do
  1622. pcall(function() v:Kick() end)
  1623. table.insert(Banned,v.Name)
  1624. table.insert(r,v.Name)
  1625. game:GetService("Debris"):AddItem(v,0)
  1626. end Inform(plr,"Banned: "..table.concat(r,", ")) print("Banned: "..table.concat(r,", ")) SortTables()
  1627. end,"Creator","Ban someone. Use forceban to ban an offline player","forceban","forcebanplayer","ban")
  1628. NewCommand("Unban Player",function(plr,msg) local r = {}
  1629. for k,v in pairs(Banned) do
  1630. if v:lower() == msg:lower() then
  1631. table.insert(r,v)
  1632. Banned[k] = nil
  1633. end
  1634. end SortTables()
  1635. Inform(plr,"Unbanned:\n"..table.concat(r,"\n"),5)
  1636. end,"Creator","Unban someone. Use the exact name (ignoring case)")
  1637. end
  1638.  
  1639. do -- Developper commands
  1640. NewCommand("Script",function(plr,msg) local f,e = loadstring(msg)
  1641. if not f then return Inform(plr,"This will no matter what error: "..e) end
  1642. Script(msg,workspace) Inform(plr,"The script is launched!")
  1643. end,"Developer","Makes a script with the given source in the workspace","c")
  1644. NewCommand("LocalScript",function(plr,msg,al)
  1645. local a,b = Split(msg) local f,e = loadstring(b or "error'lol'")
  1646. if not a then return Inform(plr,"Usage: "..al..CommandKey.."PLAYER(S)"..CommandKey.."SOURCE") end
  1647. if not f then return Inform(plr,"This will no matter what error: "..e) end
  1648. for k,v in pairs(FindPlayers(plr,a)) do
  1649. Script(b,v:findFirstChild("Backpack"),true)
  1650. end
  1651. end,"Developer","Makes a localscript for that player (player,source)","l","local")
  1652. NewCommand("Loadstring",function(plr,msg)
  1653. local output,func = GetOutput(plr)
  1654. local f,e = loadstring(msg)
  1655. if not f then
  1656. return func("[ERROR] Parsing Error: "..e,Color3.new(1))
  1657. end local function lprint(...) func(TupleToString("<OUTPUT>",...)) end
  1658. setfenv(f,setmetatable({print=lprint,player=plr},{__index=getfenv(f),__newindex=getfenv(f)}))
  1659. func("Running your function (print works & player points at you)") local suc,err = ypcall(f)
  1660. if suc then return func("Your function ran perfect!",Color3.new(0,1)) end
  1661. func("[ERROR] Running Error: "..err,Color3.new(1))
  1662. end,"Developer","Runs the given source in the adminscript (+ error handling)","run","y")
  1663. NewCommand("Restart",function()
  1664. script:clone().Parent = workspace
  1665. Chatted,Joined = script:Destroy()
  1666. end,"Developer","Restarts & Resets the adminscript")
  1667. end
  1668.  
  1669. do -- Admin1 (Basic) commands
  1670. NewCommand("Error",function(p,e) error(e) end,"Admin1 (Basic)","LOOOOL")
  1671. NewCommand("Output",function(plr,msg)
  1672. local a,b = Split(msg) a = a or msg
  1673. for k,v in pairs(FindPlayers(plr,a=="" and "me" or a)) do
  1674. GetOutput(v) if b then GetOutput(v):Destroy() end
  1675. end
  1676. end,"Admin1 (Basic)","Shows the output for the given player or you","out")
  1677. NewCommand("Kick Player",function(...) local p = {}
  1678. for k,v in pairs(FindPlayers(...)) do
  1679. if select(2,GetRank(v)) >= select(2,GetRank(...)) then
  1680. table.insert(p,v.Name) Inform(v,tostring(...).." tried to kick you")
  1681. else
  1682. game:GetService("Debris"):AddItem(v,0)
  1683. end
  1684. end if #p > 0 then Inform(...,"Those couldn't get kicked: "..table.concat(p,", ")) end
  1685. end,"Admin1 (Basic)","Kicks the given player(s) out of the game","kickplayer","kick","byebye")
  1686. NewCommand("Respawn",function(...)
  1687. for k,v in pairs(FindPlayers(...)) do
  1688. v:LoadCharacter()
  1689. end
  1690. end,"Admin1 (Basic)","Respawns the given player(s)","resp","res")
  1691. local function roffset() return CFrame.Angles(0,math.rad(math.random(1,360)),0) * CFrame.new(5,0,0) end
  1692. local function teleport(a,b) a.Character.Torso.CFrame = b.Character.Torso.CFrame * roffset() end
  1693. NewCommand("Teleport",function(plr,msg,al)
  1694. if al:lower() == "tpto" then
  1695. if not plr.Character or not plr.Character:findFirstChild("Torso") then
  1696. return Inform(plr,"You cannot teleport!")
  1697. end
  1698. for k,v in pairs(FindPlayers(plr,msg)) do
  1699. if v.Character and v.Character:findFirstChild("Torso") then return teleport(plr,v) end
  1700. end return Inform(plr,"No (teleportable) target found!")
  1701. elseif al:lower() == "tptome" then
  1702. if not plr.Character then return Inform(plr,"You cannot be teleported to!") end
  1703. for k,v in pairs(FindPlayers(plr,msg)) do
  1704. if v.Character then teleport(v,plr) end
  1705. end
  1706. else local ta,a,b = {},Split(msg) a = a or "me"
  1707. for k,v in pairs(FindPlayers(plr,b or msg)) do
  1708. if v.Character and v.Character:findFirstChild("Torso") then table.insert(ta,v) end
  1709. end if #ta==0 then return Inform(plr,"No (teleportable) player found to choose out to teleport to") end
  1710. for k,v in pairs(FindPlayers(plr,a)) do teleport(v,ta[math.random(#ta)]) end
  1711. end
  1712. end,"Admin1 (Basic)","Teleport yourself or others. players[, player2]","tp","tpto","tptome")
  1713. NewCommand("Change Stat",function(plr,msg,al)
  1714. local a,b = Split(msg) local b,c = Split(c) local ckey = CommandKey
  1715. if not b then return Inform(plr,"Usage: "..al..ckey.."PLAYERS"..ckey.."STAT"..ckey.."VALUE") end
  1716. for k,v in pairs(FindPlayers(plr,a)) do
  1717. if v:findFirstChild("leaderstats") and v.leaderstats:findFirstChild(b) then
  1718. pcall(function() v.leaderstats[b].Value = al end)
  1719. end
  1720. end
  1721. end,"Admin1 (Basic)","Change the leaderstats of yourself or others. players,statname[,value]","change","stat","set")
  1722. NewCommand("Kill",function(...)
  1723. for k,v in pairs(FindPlayers(...)) do
  1724. if v.Character then
  1725. v.Character:BreakJoints()
  1726. end
  1727. end
  1728. end,"Admin1 (Basic)","Kills the given player(s)","dead")
  1729. NewCommand("Loopkill",function(...)
  1730. for k,v in pairs(FindPlayers(...)) do
  1731. Loopkilling[v.Name] = true
  1732. end
  1733. end,"Admin1 (Basic)","Kills the given player(s) on respawn","loopdead","loop")
  1734. NewCommand("Unloopkill",function(...)
  1735. for k,v in pairs(FindPlayers(...)) do
  1736. Loopkilling[v.Name] = nil
  1737. end
  1738. end,"Admin1 (Basic)","Removes the loopkill of the given player","unloopdead","unloop")
  1739. NewCommand("Heal",function(...)
  1740. for k,v in pairs(FindPlayers(...)) do
  1741. if v.Character and v.Character:findFirstChild("Humanoid") then
  1742. v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth
  1743. end
  1744. end
  1745. end,"Admin1 (Basic)","Heals the given player(s)","fullhealth")
  1746. NewCommand("Walkspeed",function(plr,msg,al)
  1747. if al:lower() == "walk" then
  1748. for k,v in pairs(FindPlayers(plr,msg)) do
  1749. if v.Character and v.Character:findFirstChild("Humanoid") then
  1750. v.Character.Humanoid.WalkSpeed = 16
  1751. end
  1752. end return
  1753. elseif al:lower() == "run" then
  1754. for k,v in pairs(FindPlayers(plr,msg)) do
  1755. if v.Character and v.Character:findFirstChild("Humanoid") then
  1756. v.Character.Humanoid.WalkSpeed = 33
  1757. end
  1758. end return
  1759. end local who,how = Split(msg)
  1760. if not who or not how then
  1761. return Inform(plr,"Usage: walkspeed"..CommandKey.."PLAYERS"..CommandKey.."SPEED")
  1762. end if not tonumber(how) then return Inform(plr,"Speed has to be a number") end
  1763. for k,v in pairs(FindPlayers(plr,who)) do
  1764. if v.Character and v.Character:findFirstChild("Humanoid") then
  1765. v.Character.Humanoid.WalkSpeed = tonumber(how)
  1766. end
  1767. end
  1768. end,"Admin1 (Basic)","Changes the walkspeed of the given player(s)","ws","speed","walk","run")
  1769. NewCommand("Message",function(plr,msg)
  1770. for k,v in pairs(FindPlayers(plr,"all")) do
  1771. Inform(v,plr.Name..": "..msg)
  1772. end
  1773. end,"Admin1 (Basic)","Sends everyone the given message","msg","m","say")
  1774. NewCommand("Hint",function(plr,msg)
  1775. local hint = workspace:findFirstChild("ServerHint")
  1776. if not hint then
  1777. hint = Instance.new("Hint",workspace)
  1778. hint.Name = "ServerHint"
  1779. end hint.Text = msg
  1780. if msg:lower() == "off" or msg == "" then
  1781. hint:Destroy()
  1782. end
  1783. end,"Admin1 (Basic)","Sets the server hint ('off' for none)","h")
  1784. NewCommand("Explode",function(...)
  1785. for k,v in pairs(FindPlayers(...)) do
  1786. if v.Character then
  1787. local ex = Instance.new("Explosion")
  1788. ex.Position = v.Character:GetModelCFrame().p
  1789. ex.Parent = workspace
  1790. end
  1791. end
  1792. end,"Admin1 (Basic)","Makes the given players explode","boom","ex")
  1793. NewCommand("Gear",function(plr,msg)
  1794. local who,what = Split(msg)
  1795. if not who then
  1796. who = "me"
  1797. what = msg
  1798. end
  1799. local gear = getCatalogItems(Data.Gear,what)
  1800. if not gear then return Inform(plr,"No gear with that name found!") end
  1801. if #gear > 1 then Inform(plr,"More than 1 gear found! Giving them all") end
  1802. local pa = Instance.new("Model")
  1803. for k,v in pairs(gear) do game:GetService("InsertService"):LoadAsset(v).Parent = pa end
  1804. for k,v in pairs(FindPlayers(plr,who)) do
  1805. for a,b in pairs(pa:GetChildren()) do
  1806. for a,b in pairs(b:GetChildren()) do
  1807. b:clone().Parent = v:findFirstChild("Backpack")
  1808. end
  1809. end
  1810. end
  1811. end,"Admin1 (Basic)","Download almost any gear by name (Ex: gear"..CommandKey.."me"..CommandKey.."jetpack)","tool")
  1812. NewCommand("Remove Tools",function(...)
  1813. for k,v in pairs(FindPlayers(...)) do
  1814. if v.Character and v.Character:findFirstChild("Humanoid") then
  1815. pcall(v.Character.Humanoid.UnequipTools,v.Character.Humanoid)
  1816. end
  1817. if v:findFirstChild("Backpack") then
  1818. v.Backpack:ClearAllChildren()
  1819. end
  1820. end
  1821. end,"Admin1 (Basic)","Clears the given player(s) backpack","rtools","clearbackpack","notools")
  1822. NewCommand("Build Tools",function(...)
  1823. for k,v in pairs(FindPlayers(...)) do
  1824. if v:findFirstChild("Backpack") and not v.Backpack:findFirstChild("BuildTool") then
  1825. for a,b in pairs({"Clone","Grab","GameTool","Hammer"}) do
  1826. local t = Instance.new("HopperBin")
  1827. t.BinType = v t.Parent = v.Backpack
  1828. end
  1829. for a,b in pairs({73089166,73089190,73089259,73089239}) do
  1830. game:GetService("InsertService"):LoadAsset(b):GetChildren()[1].Parent = v.Backpack
  1831. end
  1832. end
  1833. end
  1834. end,"Admin1 (Basic)","Gives you the classic and modern buildtools","btools","build")
  1835. local function children(o,t)
  1836. for k,v in pairs(o:GetChildren()) do
  1837. table.insert(t,v) children(v,t)
  1838. end return t
  1839. end
  1840. NewCommand("Visible",function(...)
  1841. for k,v in pairs(FindPlayers(...)) do
  1842. if v.Character then
  1843. for k,v in pairs(children(v.Character,{})) do
  1844. if v:IsA("BasePart") then
  1845. local t = Instance.new("NumberValue",v)
  1846. t.Name = "OldTransparency"
  1847. t.Value = v.Transparency wait()
  1848. end
  1849. end
  1850. end
  1851. end
  1852. end,"Admin1 (Basic)","Makes the given players visible","see","vis","untrans")
  1853. NewCommand("Invisible",function(...)
  1854. for k,v in pairs(FindPlayers(...)) do
  1855. if v.Character then
  1856. for k,v in pairs(children(v.Character,{})) do
  1857. if v:IsA("NumberValue") and v.Name == "OldTransparency" and v.Parent:IsA("BasePart") then
  1858. v.Parent.Transparency = v.Value v:Destroy() wait()
  1859. end
  1860. end
  1861. end
  1862. end
  1863. end,"Admin1 (Basic)","Makes the given players invisible","unsee","invis","trans")
  1864. NewCommand("Punish",function(...)
  1865. for k,v in pairs(FindPlayers(...)) do
  1866. if v.Character then
  1867. v.Character.Parent = game:GetService("Lighting")
  1868. end
  1869. end
  1870. end,"Admin1 (Basic)","Puts the given player(s)' character in Lighting")
  1871. NewCommand("Unpunish",function(...)
  1872. for k,v in pairs(FindPlayers(...)) do
  1873. v.Character = workspace
  1874. end
  1875. end,"Admin1 (Basic)","Puts the given player(s)' character in Workspace")
  1876. NewCommand("Freecam",function(...)
  1877. for k,v in pairs(FindPlayers(...)) do v.Character = nil
  1878. ypcall(Script,Scripts.Freecam,v:findFirstChild("Backpack"),true)
  1879. end
  1880. end,"Admin1 (Basic)","Gives the given player(s) a probe and removes their character","probe")
  1881. NewCommand("Fix Camera",function(...)
  1882. for k,v in pairs(FindPlayers(...)) do
  1883. ypcall(Script,Scripts.Fixcam,v:findFirstChild("Backpack"),true)
  1884. end
  1885. end,"Admin1 (Basic)","Tries to fix/reset the camera","fixcam","camfix")
  1886. NewCommand("Fling",function(...)
  1887. for k,v in pairs(FindPlayers(...)) do
  1888. if v.Character and v.Character:findFirstChild("Torso") then
  1889. v.Character.Torso.Velocity = Vector3.new(1000,1000,0)
  1890. end
  1891. end
  1892. end,"Admin1 (Basic)","Flings the player(s) close to the end of the universe","slinger","sling")
  1893. NewCommand("Jail",function(plr,msg) local a,b = Split(msg)
  1894. for k,v in pairs(FindPlayers(plr,a or msg)) do
  1895. if v.Character and v.Character:findFirstChild("Torso") and not v.Character:findFirstChild("Jail") then
  1896. local jail = Instance.new("Part",v.Character) jail.Name = "Jail" jail.Transparency = 0.5
  1897. jail.BrickColor = BrickColor.Blue() jail.FormFactor = "Custom" jail.Size = Vector3.new(1,1,1)
  1898. local mesh = Instance.new("SpecialMesh",jail) mesh.MeshType = "Sphere" jail:BreakJoints()
  1899. mesh.Scale = Vector3.new(8,8,8) local weld = Instance.new("Weld",jail)
  1900. jail.TopSurface = "Smooth" jail.BottomSurface = "Smooth"
  1901. weld.Part0 = v.Character.Torso weld.Part1 = jail local bp = Instance.new("BodyPosition",jail)
  1902. bp.maxForce = Vector3.new(1e99,1e99,1e99) bp.position = v.Character.Torso.Position+Vector3.new(0,5,0)
  1903. if v.Character:findFirstChild("Humanoid") then v.Character.Humanoid.Name = "Human" end
  1904. end Jailed[v.Name] = tonumber(b) and tonumber(b)*60 or 1e9
  1905. print("Jailed",v,"for",math.floor((tonumber(b) and tonumber(b)*60 or 1e9)/60),"minutes")
  1906. end
  1907. end,"Admin1 (Basic)","Jails the given player(s) for the given minutes")
  1908. NewCommand("Unjail",function(...)
  1909. for k,v in pairs(FindPlayers(...)) do Jailed[v.Name] = nil
  1910. if v.Character and v.Character:findFirstChild("Torso") and v.Character:findFirstChild("Jail") then
  1911. if v.Character:findFirstChild("Human") then
  1912. v.Character.Human.Name = "Humanoid"
  1913. end v.Character["Jail"]:Destroy()
  1914. end
  1915. end
  1916. end,"Admin1 (Basic)","Unjails the given player(s)")
  1917. end
  1918.  
  1919. do -- Admin2 (Build)
  1920. NewCommand("New Part",function(plr,msg)
  1921. local part = Instance.new("Part",workspace)
  1922. part.Name = "ADM Spawned Part"
  1923. local x,y,z = Split(msg) local y2,z = Split(y)
  1924. x,y,z = tonumber(x or msg),tonumber(y2 or y),tonumber(z)
  1925. part.Size = Vector3.new(x or 4,y or 1.2,z or 2)
  1926. if plr.Character then
  1927. part.Position = plr.Character:GetModelCFrame().p + Vector3.new(math.random(-5,5),5,math.random(-5,5))
  1928. end
  1929. end,"Admin2 (Build)","Drops a part near you. X/Y/Z-size is optional","part")
  1930. NewCommand("Clear Parts",function(plr,msg)
  1931. local pos = plr.Character and plr.Character:GetModelCFrame().p or Vector3.new()
  1932. local dist = tonumber(msg) or 9999999
  1933. for k,v in pairs(workspace:GetChildren()) do
  1934. if v.Name == "ADM Spawned Part" and (v.Position-pos).magnitude <= dist then
  1935. v:Destroy() wait()
  1936. end
  1937. end
  1938. end,"Admin2 (Build)","Deletes all created parts, in range if number given","clearpart","cleanparts")
  1939. NewCommand("Clear Terrain",function()
  1940. workspace.Terrain:Clear()
  1941. end,"Admin2 (Build)","Deletes the hole terrain (can be laggy)","cterrain","deleteterrain","cleanterrain")
  1942. NewCommand("Baseplate",function()
  1943. while workspace:findFirstChild("Base") do workspace.Base:Destroy() end
  1944. while workspace:findFirstChild("BasePlate") do workspace.BasePlate:Destroy() end
  1945. local p = Instance.new("Part",workspace) p.Name = "Base"
  1946. p.Anchored = true p.Material = "Concrete"
  1947. p.Size = Vector3.new(500,0,500) p.CFrame = CFrame.new(0,0.6,0)
  1948. end,"Admin2 (Build)","Creates a new baseplate in the center of the map","bp","base")
  1949. NewCommand("Terrain Baseplate",function()
  1950. for x=-50,50 do wait()
  1951. for z=-50,50 do
  1952. workspace.Terrain:SetCell(x,1,z,1,0,0)
  1953. end
  1954. end
  1955. end,"Admin2 (Build)","Creates a new baseplate out of terrain","terrainbp","tbp","terrainbase")
  1956. NewCommand("Clear Dead",function()
  1957. for k,v in pairs(workspace:GetChildren()) do
  1958. for a,b in pairs(v:GetChildren()) do
  1959. if b:IsA("Humanoid") and b.Health < 1 and not game:GetService("Players"):GetPlayerFromCharacter(v) then
  1960. v:Destroy() wait()
  1961. end
  1962. end
  1963. end
  1964. end,"Admin2 (Build)","Deletes all dead characters in workspace except players","deadclear","cleandead")
  1965. NewCommand("Clear Hats",function()
  1966. for k,v in pairs(workspace:GetChildren()) do
  1967. if v:IsA("Hat") or v:IsA("Tool") then
  1968. v:Destroy() wait()
  1969. end
  1970. end
  1971. end,"Admin2 (Build)","Deletes all dead characters in workspace except players","hatclear","nohats","cleanhats","chats")
  1972. end
  1973.  
  1974. do -- Admin3 (Lighting)
  1975. NewCommand("Set Time",function(plr,msg)
  1976. pcall(function() game:GetService("Lighting").TimeOfDay = msg end)
  1977. Inform(plr,"Current TimeOfDay: "..game:GetService("Lighting").TimeOfDay)
  1978. end,"Admin3 (Lighting)","Sets the time to the given time and prints it ('' for only printing)","time")
  1979. NewCommand("Set GlobalShadows",function(plr,msg)
  1980. if msg:lower() == "true" or msg:lower() == "t" or msg == "1" or msg == "on" then
  1981. game:GetService("Lighting").GlobalShadows = true Inform(plr,"GlobalShadows set to true")
  1982. elseif msg:lower() == "false" or msg:lower() == "f" or msg == "0" or msg == "off" then
  1983. game:GetService("Lighting").GlobalShadows = false Inform(plr,"GlobalShadows set to false")
  1984. else local o = game:GetService("Lighting").GlobalShadows
  1985. game:GetService("Lighting").GlobalShadows = not o
  1986. Inform(plr,"GlobalShadows switched from "..tostring(o).." to "..tostring(not o))
  1987. end
  1988. end,"Admin3 (Lighting)","Sets GlobalShadows to true/false","globalshadows","sgs","shadows")
  1989. NewCommand("Set Ambient",function(plr,msg)
  1990. local x,y,z = Split(msg) local y2,z = y and Split(y)
  1991. x,y,z = tonumber(x or msg),tonumber(y or y2),tonumber(z)
  1992. game:GetService("Lighting").Ambient = Color3.new(x and x/255,y and y/255,z and z/255)
  1993. end,"Admin3 (Lighting)","Sets the Ambient to the Color3 (r,g,b)","ambient")
  1994. NewCommand("Set OutdoorAmbient",function(plr,msg)
  1995. local x,y,z = Split(msg) local y2,z = y and Split(y)
  1996. x,y,z = tonumber(x or msg),tonumber(y or y2),tonumber(z)
  1997. game:GetService("Lighting").OutdoorAmbient = Color3.new(x and x/255,y and y/255,z and z/255)
  1998. end,"Admin3 (Lighting)","Sets the OutdoorAmbient to the Color3 (r,g,b)","outdoorambient")
  1999. NewCommand("Set ShadowColor",function(plr,msg)
  2000. local x,y,z = Split(msg) local y2,z = y and Split(y)
  2001. x,y,z = tonumber(x or msg),tonumber(y or y2),tonumber(z)
  2002. game:GetService("Lighting").ShadowColor = Color3.new(x and x/255,y and y/255,z and z/255)
  2003. end,"Admin3 (Lighting)","Sets the ShadowColor to the Color3 (r,g,b)","shadowcolor","shadow")
  2004. NewCommand("Set FogColor",function(plr,msg)
  2005. local x,y,z = Split(msg) local y2,z = y and Split(y)
  2006. x,y,z = tonumber(x or msg),tonumber(y or y2),tonumber(z)
  2007. game:GetService("Lighting").FogColor = Color3.new(x and x/255,y and y/255,z and z/255)
  2008. end,"Admin3 (Lighting)","Sets the FogColor to the Color3 (r,g,b)","fogcolor")
  2009. NewCommand("Set Fog",function(plr,msg,al)
  2010. if al:lower() == "fogend" then
  2011. game:GetService("Lighting").FogEnd = tonumer(msg) or 100000 return
  2012. elseif al:lower() == "fogstart" then
  2013. game:GetService("Lighting").FogStart = tonumer(msg) or 0 return
  2014. end local a,b = Split(msg) if not a then a = tonumber(msg) end
  2015. game:GetService("Lighting").FogStart = tonumer(a) or 0
  2016. game:GetService("Lighting").FogEnd = tonumer(b) or 100000
  2017. end,"Admin3 (Lighting)","Sets the FogStart and End to the given value(s)","fog","fogend","fogstart")
  2018. NewCommand("Set Brightness",function(plr,msg)
  2019. game:GetService("Lighting").Brightness = tonumber(msg) or 1
  2020. end,"Admin3 (Lighting)","Sets the Brightness to the given number","brightness","bright")
  2021. local function part(f,t)
  2022. local p = Instance.new("Part",workspace)
  2023. p.Name = "ADM Lightning" p.Locked = true
  2024. p.TopSurface = 0 p.BottomSurface = 0
  2025. p.Anchored = true p.CanCollide = false
  2026. p.BrickColor = BrickColor.new(1001)
  2027. p.Size = Vector3.new(2,2,(f-t).magnitude)
  2028. p.CFrame = CFrame.new(f:lerp(t,0.5),t)
  2029. game:GetService("Debris"):AddItem(p,0.1)
  2030. end
  2031. local function lightning(p)
  2032. for r=1,5 do
  2033. local prev = p.Position
  2034. local pos = Vector3.new()
  2035. for i=1,5 do part(prev,prev+pos) prev = prev + pos
  2036. pos = pos + Vector3.new(math.random(-10,10),math.random(10,20),math.random(-10,10))
  2037. end wait(0.1) p:BreakJoints()
  2038. end
  2039. end
  2040. NewCommand("Lightning",function(...)
  2041. for k,v in pairs(FindPlayers(...)) do
  2042. if v.Character and v.Character:findFirstChild("Head") then
  2043. coroutine.wrap(lightning)(v.Character.Head)
  2044. end
  2045. end
  2046. end,"Admin3 (Lighting)","Make someone get hit by lightning","light","electrify","shock","electro","bolt")
  2047. NewCommand("Disco",function(plr,msg,al)
  2048. if al:lower() == "undisco" then
  2049. Cache.Disco = nil
  2050. elseif Cache.Disco then
  2051. return
  2052. else Cache.Disco = true
  2053. local l = game:GetService("Lighting")
  2054. local old = l.Ambient
  2055. while wait(0.1) and Cache.Disco do
  2056. l.Ambient = Color3.new(math.random(),math.random(),math.random())
  2057. end l.Ambient = old
  2058. end
  2059. end,"Admin3 (Lighting)","Make someone get hit by lightning","undisco")
  2060. end
  2061.  
  2062. do -- Admin4 (Extra)
  2063. local appear = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId=%s&placeId="..game.PlaceId
  2064. local function getappear(plr,msg,asker)
  2065. if not msg then return appear:format(plr.userId) end
  2066. if tonumber(msg) then return appear:format(msg) end
  2067. local players = FindPlayers(asker,msg)
  2068. return players[1] and appear:format(players[1].userId) or appear:format(plr.userId)
  2069. end
  2070. NewCommand("Appearance",function(plr,msg,al) local a,b = Split(msg) a = a or msg
  2071. if al:lower():find("perm") then
  2072. for k,v in pairs(FindPlayers(plr,msg)) do v.CharacterAppearance = getappear(b,v,plr)
  2073. v:LoadCharacter() print(v,"looks now like player ID",getappear(b,v,plr))
  2074. end return
  2075. end
  2076. for k,v in pairs(FindPlayers(plr,msg)) do local old = v.CharacterAppearance
  2077. v.CharacterAppearance = getappear(b,v,plr)
  2078. local cf = v.Character and v.Character:findFirstChild("Torso") and v.Character.Torso.CFrame
  2079. v:LoadCharacter() if cf then coroutine.wrap(function() wait() v.Character.Torso.CFrame = cf end)() end
  2080. v.CharacterAppearance = old print(v,"dressed and respawned on the exact same old location he/she was")
  2081. end
  2082. end,"Admin4 (Extra)","Give a player ID. Use perm~ to keep the appearance","permappearance","appear","permappear")
  2083. NewCommand("Thrust",function(plr,msg) local a,b = Split(msg) a = a or msg
  2084. if b and not tonumber(b) then return Inform(plr,"Second argument should be a number!") end
  2085. for k,v in pairs(FindPlayers(plr,a)) do
  2086. if v.Character and v.Character:findFirstChild("Torso") then
  2087. local thrust = v.Character.Torso:findFirstChild("ADM Thrust")
  2088. if not b or b == "" or tonumber(b) == 0 then return thrust and thrust:Destroy() end
  2089. if not thrust then thrust = Instance.new("BodyForce",v.Character.Torso) end
  2090. thrust.Name = "ADM Thrust" thrust.force = Vector3.new(0,tonumber(b),0)
  2091. end
  2092. end
  2093. end,"Admin4 (Extra)","Gives the given player(s) the given thrust as standard","power","force")
  2094. NewCommand("God",function(...)
  2095. local function doh(hit)
  2096. if hit.Anchored then return end
  2097. if not hit.Parent then return end
  2098. hit:BreakJoints()
  2099. end
  2100. local function human(hum,pro)
  2101. if pro:lower() == "jump" and hum.Parent:findFirstChild("Torso") then
  2102. hum.Parent.Torso.Velocity = Vector3.new(0,100,0)
  2103. elseif pro:lower() == "walkspeed" then
  2104. hum.WalkSpeed = 50
  2105. elseif pro:lower() == "health" then
  2106. while hum.Health < hum.MaxHealth and hum.Health < 500 do
  2107. hum.Health = hum.Health + wait()
  2108. end
  2109. elseif pro:lower() == "sit" then
  2110. hum.Sit = false
  2111. elseif pro:lower() == "platformstand" then
  2112. hum.PlatformStand = false
  2113. end
  2114. end
  2115. for k,v in pairs(FindPlayers(...)) do
  2116. if v.Character and v.Character:findFirstChild("Humanoid") then
  2117. coroutine.wrap(function()
  2118. if v.Character:findFirstChild("God") then v.Character.God:Destroy() end
  2119. local god = Instance.new("BoolValue",v.Character) god.Value = true
  2120. local cons = {} local function add(ev,co) table.insert(cons,ev:connect(co)) end
  2121. for k,v in pairs(v.Character:GetChildren()) do
  2122. if v:IsA("BasePart") then
  2123. add(v.Touched,doh)
  2124. end
  2125. end v.Character.Humanoid.Changed:connect(function(p) human(v.Character.Humanoid,p) end)
  2126. v.Character.Humanoid.WalkSpeed = 50 v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth
  2127. while god.Parent == v.Character and god.Value do wait() end
  2128. for k,v in pairs(cons) do v:disconnect() end
  2129. end)()
  2130. end
  2131. end
  2132. end,"Admin4 (Extra)","Gives the given player(s) godlike powers")
  2133. NewCommand("Blind",function(...)
  2134. for k,v in pairs(FindPlayers(...)) do
  2135. local g = Instance.new("ScreenGui",v:findFirstChild("PlayerGui"))
  2136. g.Name = "ADM Blind ScreenGui Thingy"
  2137. local f = Instance.new("Frame",g) f.Name = "BlindScreen"
  2138. f.Size = UDim2.new(1,0,1,0) f.BackgroundColor3 = Color3.new(1,1,1)
  2139. end
  2140. end,"Admin4 (Extra)","Makes the given player(s) blind","flash")
  2141. NewCommand("Unblind",function(...)
  2142. for k,v in pairs(FindPlayers(...)) do
  2143. if v:findFirstChild("PlayerGui") then
  2144. while v.PlayerGui:findFirstChild("ADM Blind ScreenGui Thingy") do
  2145. v.PlayerGui["ADM Blind ScreenGui Thingy"]:Destroy()
  2146. end
  2147. end
  2148. end
  2149. end,"Admin4 (Extra)","Makes the given player(s) blind","unflash")
  2150. NewCommand("Ungod",function(...)
  2151. for k,v in pairs(FindPlayers(...)) do
  2152. if v.Character and v.Character:findFirstChild("God") then
  2153. v.Character.God:Destroy()
  2154. end
  2155. end
  2156. end,"Admin4 (Extra)","Removes the given player(s) their godlike powers")
  2157. NewCommand("Paralyse",function(...)
  2158. for k,v in pairs(FindPlayers(...)) do
  2159. if v.Character and v.Character:findFirstChild("Humanoid") then
  2160. v.Character.Humanoid.PlatformStand = true
  2161. end
  2162. end
  2163. end,"Admin4 (Extra)","Paralyses/Stuns the given player(s)","stun","para")
  2164. NewCommand("Damage",function(plr,msg)
  2165. local a,b = Split(msg) if not tonumber(b) then return Inform(plr,"Provide a player and a number!") end
  2166. for k,v in pairs(FindPlayers(plr,a)) do
  2167. if v.Character and v.Character:findFirstChild("Humanoid") then
  2168. v.Character.Humanoid.Health = v.Character.Humanoid.Health - tonumber(b)
  2169. end
  2170. end
  2171. end,"Admin4 (Extra)","Damages the given player(s) for the given amount","takehealth","decreasehealth")
  2172. NewCommand("Skydive",function(plr,msg)
  2173. for k,v in pairs(FindPlayers(plr,msg)) do
  2174. if v.Character and v.Character:findFirstChild("Torso") then
  2175. v.Character.Torso.CFrame = v.Character.Torso.CFrame + Vector3.new(0,1000,0)
  2176. end
  2177. end
  2178. end,"Admin4 (Extra)","Teleports the player(s) high in the air. Freefall!","freefall","fall","sky","dive")
  2179. local function particle(p)
  2180. while p.Size.magnitude > 0.5 do wait()
  2181. local cf = p.CFrame p.Size = p.Size - Vector3.new(0.05,0.05,0.05)
  2182. p.CFrame = cf * CFrame.Angles(math.random(-99,999),math.random(-99,99),math.random(-99,99))
  2183. p.CFrame = p.CFrame * CFrame.new(0.2,0.2,0.2) * CFrame.Angles(123,456,789) + Vector3.new(0,0.1,0)
  2184. end p:Destroy()
  2185. end
  2186. local function particles(p,n)
  2187. for i=1,n or 50 do wait(0.1)
  2188. local part = Instance.new("Part",p) part.Anchored = true
  2189. part.Name = "ADM Particle" part.BrickColor = BrickColor.new(1001)
  2190. part.FormFactor = "Custom" part.Size = Vector3.new(1,1,1)
  2191. part.TopSurface = 0 part.BottomSurface = 0
  2192. part.CFrame = p.CFrame * CFrame.Angles(0,i,0) * CFrame.new(2,0,2)
  2193. coroutine.wrap(particle)(part) part.CanCollide = false
  2194. end
  2195. end
  2196. NewCommand("Particles",function(plr,msg)
  2197. local a,b = Split(msg) a = a or msg
  2198. for k,v in pairs(FindPlayers(plr,a)) do
  2199. if v.Character and v.Character:findFirstChild("Torso") then
  2200. particles(v.Character.Torso,tonumber(b))
  2201. end
  2202. end
  2203. end,"Admin4 (Extra)","Let some epic particles effects appear","particle","effect","effects")
  2204. NewCommand("Genocide",function(plr,msg)
  2205. local a,b = Split(msg) a = a or msg
  2206. for k,v in pairs(FindPlayers(plr,a)) do
  2207. if v.Character and v.Character:findFirstChild("Torso") then
  2208. if v.Character.Torso:findFirstChild("Neck") then
  2209. v.Character.Torso.Neck:Destroy()
  2210. end
  2211. end
  2212. end
  2213. end,"Admin4 (Extra)","Break someone's neck for fun","noneck","neck","breakneck","geno")
  2214. NewCommand("Jetpack",function(...)
  2215. for k,v in pairs(FindPlayers(...)) do
  2216. if v.Character and v.Character:findFirstChild("Torso") then
  2217. if not v.Character:findFirstChild("ADM Jetpack") then
  2218. Script(Scripts.Jetpack,v.Character,true).Name = "ADM Jetpack"
  2219. end
  2220. end
  2221. end
  2222. end,"Admin4 (Extra)","Fly with a New Gen. Jetpack","jp","jet","jets","flypack")
  2223. local function parts(v,t,p,d)
  2224. for a,b in pairs(v:GetChildren()) do
  2225. if b:IsA("BasePart") then
  2226. if (p-b.Position).magnitude <= d then
  2227. table.insert(t,b)
  2228. end
  2229. end parts(b,t,p,d)
  2230. end return t
  2231. end
  2232. local function nuke(pos)
  2233. local p = Instance.new("Part",workspace) p.Name = "ADM Nuke"
  2234. p.Anchored = true p.Locked = true p.Transparency = 0.5
  2235. local m = Instance.new("SpecialMesh",p) m.MeshType = "Sphere"
  2236. p.TopSurface = 0 p.BottomSurface = 0 p.CanCollide = false
  2237. p.Size = Vector3.new(1,1,1) p.CFrame = CFrame.new(pos)
  2238. p.BrickColor = BrickColor.new("New Yeller")
  2239. for i=1,100 do wait(0.025)
  2240. m.Scale = Vector3.new(i,i,i)
  2241. p.Transparency = i/100
  2242. for k,v in pairs(parts(workspace,{},pos,i)) do
  2243. v:BreakJoints()
  2244. end
  2245. end p:Destroy()
  2246. end
  2247. NewCommand("Nuke",function(...)
  2248. for k,v in pairs(FindPlayers(...)) do
  2249. if v.Character and v.Character:findFirstChild("Torso") then
  2250. coroutine.wrap(nuke)(v.Character.Torso.Position)
  2251. end
  2252. end
  2253. end,"Admin4 (Extra)","Nuke 'em all! KABOOOOOOMMM","tnt")
  2254. local function scan(o)
  2255. for k,v in pairs((o or t):GetChildren()) do
  2256. if v:IsA("BasePart") then
  2257. v.Velocity = Vector3.new()
  2258. end scan(v)
  2259. end
  2260. end
  2261. local function slowdown(t)
  2262. while wait() and t:IsDescendantOf(game) do
  2263. if t.Velocity.Y < -24 then scan(t.Parent)
  2264. t.Velocity = Vector3.new(0,-25,0)
  2265. end
  2266. end
  2267. end
  2268. NewCommand("Slowdown",function(...)
  2269. for k,v in pairs(FindPlayers(...)) do
  2270. if v.Character and v.Character:findFirstChild("Torso") then
  2271. coroutine.wrap(slowdown)(v.Character.Torso)
  2272. end
  2273. end
  2274. end,"Admin4 (Extra)","Slow down your fall","slowfall","featherfalling","safeland","safelanding")
  2275. NewCommand("Pet",function(...)
  2276. for k,v in pairs(FindPlayers(...)) do
  2277. if Pets[v] then Pets[v]:Destroy() end
  2278. local p = Instance.new("Part",workspace)
  2279. p.Name = v.Name.."'s ADM Pet"
  2280. p.CanCollide = false p.Locked = true
  2281. p.BrickColor = BrickColor.new(1001)
  2282. p.Shape = "Ball" p.Transparency = 0
  2283. p.TopSurface = 0 p.BottomSurface = 0
  2284. p.Size = Vector3.new(1,1,1)
  2285. p.Material = "Pebble"
  2286. local m = Instance.new("BodyPosition",p)
  2287. m.Name = "BodyMove" m.position = Vector3.new()
  2288. m.maxForce = Vector3.new(1e99,1e99,1e99)
  2289. Instance.new("BodyGyro",p).Name = "BodyRot"
  2290. for i=1,3 do
  2291. local s = Instance.new("Part",p)
  2292. s.Name = "Effect"..i s.CanCollide = false
  2293. s.FormFactor = "Custom" s.Locked = true
  2294. s.TopSurface = 0 s.BottomSurface = 0
  2295. s.Size = Vector3.new(0,1,1)
  2296. s.BrickColor = BrickColor.new(1003)
  2297. Instance.new("CylinderMesh",s)
  2298. local w = Instance.new("Weld",p)
  2299. w.Part0 = p w.Part1 = s w.Name = "Weld"..i
  2300. end
  2301. Pets[v] = p dprint("Pet for",v,":D")
  2302. end
  2303. end,"Admin4 (Extra)","Summone a pet!","summone","orb")
  2304. NewCommand("Remove Pet",function(...)
  2305. for k,v in pairs(FindPlayers(...)) do
  2306. if Pets[v] then
  2307. Pets[v]:Destroy()
  2308. end
  2309. end
  2310. end,"Admin4 (Extra)","Summone a pet!","unsummone","unorb","unpet","rpet","rempet","nopet")
  2311. local function spinneck(n)
  2312. while wait() and n:IsDescendantOf(workspace) do
  2313. n.C0 = n.C0 * CFrame.Angles(0,0,0.1)
  2314. end
  2315. end
  2316. NewCommand("Spinning Neck",function(...)
  2317. for k,v in pairs(FindPlayers(...)) do
  2318. if v.Character and v.Character:findFirstChild("Torso") then
  2319. if v.Character.Torso:findFirstChild("Neck") then
  2320. coroutine.wrap(spinneck)(v.Character.Torso.Neck)
  2321. end
  2322. end
  2323. end
  2324. end,"Admin4 (Extra)","Round 'n round","spinneck","neckspin","rotateneck","rotneck")
  2325. local function check(o,t)
  2326. for k,v in pairs(o:GetChildren()) do
  2327. if v:IsA("Tool") then
  2328. table.insert(t,v:GetFullName())
  2329. end check(v,t)
  2330. end return t
  2331. end
  2332. NewCommand("List Tools",function(plr,msg) local t = check(game:GetService("Lighting"),{})
  2333. check(game:GetService("ServerStorage"),check(game:GetService("ReplicatedStorage"),t))
  2334. Inform(plr,"Tools:\n"..table.concat(check(game:GetService("StarterPack"),t),"\n"))
  2335. end,"Admin4 (Extra)","List all tools avaible for GiveTool","tools","toollist","givelist","listgive","alltools")
  2336. NewCommand("Give Tool",function(plr,msg) local tools,a,b = {},Split(msg) a,b = b or msg,a
  2337. local function scan(o)
  2338. for k,v in pairs(o:GetChildren()) do
  2339. if v:IsA("Tool") and v.Name:lower():sub(1,#a) == a:lower() then
  2340. table.insert(tools,v)
  2341. end scan(v)
  2342. end
  2343. end scan(game:GetService("Lighting")) scan(game:GetService("StarterPack"))
  2344. scan(game:GetService("ServerStorage")) scan(game:GetService("ReplicatedStorage"))
  2345. if #tools == 0 then return Inform(plr,"No tools found! Use List Tools") end
  2346. if #tools > 1 then Inform(plr,"Multiple tools found and given!") end
  2347. for k,v in pairs(FindPlayers(plr,b or "me")) do
  2348. for a,b in pairs(tools) do
  2349. b:clone().Parent = v:findFirstChild("Backpack")
  2350. end
  2351. end
  2352. end,"Admin4 (Extra)","Get a tool from Lighting","give","givetool")
  2353. end
  2354.  
  2355. do
  2356. local gravity,cons = false,{}
  2357. local function check(o,m)
  2358. if o:findFirstChild("ADM NoGrav") then
  2359. o["ADM NoGrav"]:Destroy()
  2360. end
  2361. if m then local f = Instance.new("BodyForce",o)
  2362. f.Name = "ADM NoGrav"
  2363. f.force = Vector3.new(0,o:GetMass() * 196.2,0)
  2364. table.insert(cons,o.Changed:connect(function()
  2365. f.force = Vector3.new(0,o:GetMass() * 196.2,0)
  2366. end))
  2367. end
  2368. end
  2369. local function scan(o,m)
  2370. if o:IsA("BasePart") then check(o,m) end
  2371. for k,v in pairs(o:GetChildren()) do
  2372. if pcall(function() v:IsA("") end) then
  2373. if v:IsA("BasePart") then
  2374. check(v,m~=false)
  2375. end scan(v,m~=false)
  2376. end
  2377. end
  2378. end scan(game,false)
  2379. NewCommand("No Gravity",function(...)
  2380. if gravity then return end gravity = true scan(workspace,true)
  2381. for k,v in pairs(game:GetService("Players"):GetPlayers()) do
  2382. Inform(v,"Global Gravity Disabled! Watch out!")
  2383. end table.insert(cons,workspace.DescendantAdded:connect(function(c) scan(c,true) end))
  2384. table.insert(cons,workspace.DescendantRemoving:connect(function(c) scan(c,false) end))
  2385. end,"Admin5 (Quantum)","Disable gravity everywhere for anything","nograv")
  2386. NewCommand("Gravity",function(...)
  2387. if not gravity then return end
  2388. for k,v in pairs(cons) do
  2389. v:disconnect()
  2390. end cons,gravity = {},false
  2391. for k,v in pairs(game:GetService("Players"):GetPlayers()) do
  2392. Inform(v,"Global Gravity Enabled! Watch out!")
  2393. end scan(workspace,false)
  2394. end,"Admin5 (Quantum)","Enable gravity everywhere for anything","grav")
  2395. local xrays = {}
  2396. local function xray(plr) xrays[plr] = true
  2397. local function gui()
  2398. local g = plr.PlayerGui:findFirstChild("ADM XRay")
  2399. if g then return g end
  2400. g = Instance.new("Model",plr.PlayerGui)
  2401. g.Name = "ADM XRay" return g
  2402. end
  2403. while wait(0.1) and xrays[plr] and plr.Parent and plr:findFirstChild("PlayerGui") do local p = {}
  2404. for k,v in pairs(game:GetService("Players"):GetPlayers()) do p[v.Name] = v end
  2405. for k,v in pairs(gui():GetChildren()) do
  2406. if not p[v.Name] then
  2407. v:Destroy()
  2408. else
  2409. local plr = p[v.Name]
  2410. v.Adornee = plr.Character and plr.Character:findFirstChild("HumanoidRootPart")
  2411. end p[v.Name] = nil
  2412. end
  2413. for k,v in pairs(p) do
  2414. local gui = Instance.new("BillboardGui",gui())
  2415. gui.Name = v.Name gui.AlwaysOnTop = true
  2416. gui.Size = UDim2.new(0,100,0,20)
  2417. local lab = Instance.new("TextLabel",gui)
  2418. lab.Size = UDim2.new(1,0,1,0)
  2419. lab.Text = v.Name lab.Font = "SourceSansBold"
  2420. lab.TextColor3 = Color3.new(0,0,0)
  2421. lab.TextStrokeColor3 = v.TeamColor.Color
  2422. lab.TextStrokeTransparency = 0
  2423. lab.BackgroundTransparency = 1
  2424. lab.TextScaled = true
  2425. end
  2426. end xrays[plr] = nil gui():Destroy()
  2427. end
  2428. NewCommand("XRay",function(...)
  2429. for k,v in pairs(FindPlayers(...)) do
  2430. if not xrays[plr] then
  2431. coroutine.wrap(xray)(v)
  2432. end
  2433. end
  2434. end,"Admin5 (Quantum)","See other players trough walls","wallplayers","seeplayers")
  2435. NewCommand("UnXRay",function(...)
  2436. for k,v in pairs(FindPlayers(...)) do
  2437. xrays[v] = nil
  2438. end
  2439. end,"Admin5 (Quantum)","Remove the effect of XRay","unwallplayers","unseeplayers","noxray")
  2440. local function anchor(ch,an)
  2441. for k,v in pairs(ch:GetChildren()) do
  2442. if v:IsA("BasePart") then
  2443. v.Anchored = not not an
  2444. end anchor(v,an)
  2445. end
  2446. end
  2447. local function copy(ch,an) ch.Archivable = true
  2448. local c = ch:clone() c.Parent = workspace
  2449. c.Name = ch.Name.." (Bot)" anchor(c,an)
  2450. end
  2451. NewCommand("Copy",function(...)
  2452. for k,v in pairs(FindPlayers(...)) do
  2453. if v.Character then
  2454. copy(v.Character,select(3,...):find("a"))
  2455. end
  2456. end
  2457. end,"Admin5 (Quantum)","Copy someone's character","clone","statue","acopy","aclone")
  2458. NewCommand("Freeze",function(...)
  2459. for k,v in pairs(FindPlayers(...)) do
  2460. if v.Character then
  2461. anchor(v.Character,true)
  2462. end
  2463. end
  2464. end,"Admin5 (Quantum)","Anchor somebody in place","anchor")
  2465. NewCommand("Unfreeze",function(...)
  2466. for k,v in pairs(FindPlayers(...)) do
  2467. if v.Character then
  2468. anchor(v.Character,false)
  2469. end
  2470. end
  2471. end,"Admin5 (Quantum)","Unanchor somebody to move freely","unanchor")
  2472. end
  2473.  
  2474. do
  2475. NewCommand("Set Team",function(plr,msg) local a,b = Split(msg)
  2476. if b and b:lower() == "neutral" then
  2477. for k,v in pairs(FindPlayers(plr,a)) do
  2478. v.Neutral = true
  2479. end
  2480. elseif b and b:lower() == "random" then
  2481. if #game:GetService("Teams"):GetTeams() == 0 then
  2482. return Inform(plr,"No teams found!",5)
  2483. end
  2484. local function team()
  2485. while #game:GetService("Teams"):GetTeams() > 0 do
  2486. for k,v in pairs(game:GetService("Teams"):GetTeams()) do
  2487. coroutine.yield(v.TeamColor)
  2488. end
  2489. end
  2490. end team = coroutine.wrap(team)
  2491. for k,v in pairs(FindPlayers(plr,a)) do
  2492. v.TeamColor = team() v.Neutral = false
  2493. end
  2494. else local team = FindTeam(plr,b or msg)
  2495. if not team then return Inform(plr,"That team is not found!",5) end
  2496. for k,v in pairs(FindPlayers(plr,a or msg)) do
  2497. v.TeamColor = team.TeamColor v.Neutral = false
  2498. end
  2499. end
  2500. end,"Admin6 (Teams)","Set someone's team","team","changeteam","join")
  2501. NewCommand("New Team",function(plr,msg) local a,b = Split(msg)
  2502. if not a then return Inform(plr,"Usage: newteam/NAME/COLOR",5) end
  2503. local team = Instance.new("Team",game:GetService("Teams"))
  2504. team.Name = a team.TeamColor = BrickColor.new(b)
  2505. end,"Admin6 (Teams)","Create a new team","createteam","nteam")
  2506. NewCommand("Delete Team",function(plr,msg) local team = FindTeam(plr,msg)
  2507. if not team then return Inform(plr,"That team is not found!",5) end
  2508. for k,v in pairs(game:GetService("Players"):GetPlayers()) do
  2509. if v.TeamColor == team.TeamColor and not v.Neutral then
  2510. v.Neutral = true
  2511. end
  2512. end team:Destroy()
  2513. end,"Admin6 (Teams)","Delete a team","delteam","removeteam","remteam")
  2514. NewCommand("Rebalance Teams",function(plr,msg)
  2515. if #game:GetService("Teams"):GetTeams() == 0 then
  2516. return Inform(plr,"No teams found!",5)
  2517. end
  2518. local function team()
  2519. while #game:GetService("Teams"):GetTeams() > 0 do
  2520. for k,v in pairs(game:GetService("Teams"):GetTeams()) do
  2521. coroutine.yield(v.TeamColor)
  2522. end
  2523. end
  2524. end team = coroutine.wrap(team)
  2525. for k,v in pairs(FindPlayers(plr,msg == "" and "all" or msg)) do
  2526. v.TeamColor = team().TeamColor v.Neutral = false
  2527. end Inform(plr,"Rebalanced the players over all teams!",10)
  2528. end,"Admin6 (Teams)","Balance all or some selected people","balanceteams","balteams","rebalteams")
  2529. local function scan(o,t,r)
  2530. for k,v in pairs(o:GetChildren()) do
  2531. if v:IsA("SpawnLocation") and (t and v.TeamColor == t or v.Neutral) then
  2532. table.insert(r,v)
  2533. end scan(v,t,r)
  2534. end
  2535. end
  2536. NewCommand("Team Spawn",function(plr,msg) local a,b = Split(msg) a = a or "me" b = b or msg
  2537. local team = FindTeam(plr,b) if b:lower() == "neutral" then team = true end
  2538. if not team then return Inform(plr,"That team is not found!",5) end
  2539. local res = {} scan(workspace,team ~= true and team.TeamColor,res)
  2540. if #res == 0 then return Inform(plr,"Couldn't find spawnlocations for this team!",5) end
  2541. local r = coroutine.wrap(function() while true do for k,v in pairs(res) do coroutine.yield(v) end end end)
  2542. for k,v in pairs(FindPlayers(plr,a)) do
  2543. if v.Character then
  2544. v.Character:MoveTo(r().Position)
  2545. end
  2546. end
  2547. end,"Admin6 (Teams)","Tries to teleport you to the team's spawn","teleteam","teamtele","teamteleport")
  2548. end
  2549.  
  2550. if PBS or workspace:findFirstChild("OwnerCameraShotRef") then
  2551. local function ref()
  2552. local r = workspace:findFirstChild("OwnerCameraShotRef")
  2553. if r then r:Destroy() end
  2554. end
  2555. NewCommand("Set Thumbnail",function(plr)
  2556. local s = Script([[ local cam = workspace.CurrentCamera
  2557. local t = Instance.new("Vector3Value",script)
  2558. t.Name = "NewCameraFocus" t.Value = cam.Focus.p
  2559. local b = Instance.new("Vector3Value",t)
  2560. b.Name = "Pos" t.Value = cam.CoordinateFrame.p
  2561. ]],plr.Character,true) ref()
  2562. wait(1) local t = s:findFirstChild("NewCameraFocus")
  2563. if not t then return Inform(plr,"Couldn't set thumbnail") end
  2564. local c = workspace.CurrentCamera c.Focus = CFrame.new(t.Value)
  2565. c.CoordinateFrame = CFrame.new(t.Pos.Value) c.CameraType = "Fixed"
  2566. end,"Admin7 (PBS)","Set the thumbnail of this PBS","thumbnail","setthumb","thumb")
  2567. NewCommand("Has Tools",function(...) local f = {}
  2568. for k,v in pairs(FindPlayers(...)) do local r = false
  2569. if v:findFirstChild("Backpack") then
  2570. if v.Backpack:findFirstChild("Stamper 2.0") then
  2571. r = true
  2572. end
  2573. end table.insert(f,v.Name..": "..tostring(r))
  2574. end Inform(...,table.concat(f,"\n"))
  2575. end,"Admin7 (PBS)","Show if the selected players got PBS build tools","gottools","haspbstools","hasbuildtools")
  2576. NewCommand("Build Suit",function(...)
  2577. for k,v in pairs(FindPlayers(...)) do
  2578. for a,b in pairs({"mcfly/%s","noclip/%s","power/%s/-200","xray/%s"}) do
  2579. Chatted(...,b:gsub("/",CommandKey):format(v.Name),true)
  2580. end
  2581. end
  2582. end,"Admin7 (PBS)","This is a set of combined commands to help build","buildpack","pbssuit","pbs")
  2583. end
  2584.  
  2585. do -- Winner1 commands
  2586. NewCommand("Forcefield",function(...)
  2587. for k,v in pairs(FindPlayers(...)) do
  2588. Instance.new("ForceField",v.Character).Name = "ADM ForceField"
  2589. end
  2590. end,"Winner1","Gives the given player(s) a forcefield","ff")
  2591. NewCommand("Unforcefield",function(...)
  2592. for k,v in pairs(FindPlayers(...)) do
  2593. if v.Character then
  2594. while v.Character:findFirstChild("ADM ForceField") do
  2595. v.Character["ADM ForceField"]:Destroy()
  2596. end
  2597. end
  2598. end
  2599. end,"Winner1","Removes the forcefield of the given player(s)","unff")
  2600. NewCommand("Spin",function(...)
  2601. for k,v in pairs(FindPlayers(...)) do
  2602. if v.Character and v.Character:findFirstChild("Torso") then
  2603. local ba = Instance.new("BodyAngularVelocity")
  2604. ba.Name = "ADM Spin" ba.Parent = v.Character.Torso
  2605. ba.maxTorque = Vector3.new(0,1e99,0)
  2606. ba.angularvelocity = Vector3.new(0,50,0)
  2607. end
  2608. end
  2609. end,"Winner1","Makes the given player(s) spin on and on and on")
  2610. NewCommand("Unspin",function(...)
  2611. for k,v in pairs(FindPlayers(...)) do
  2612. if v.Character and v.Character:findFirstChild("Torso") then
  2613. if v.Character.Torso:findFirstChild("ADM Spin") then
  2614. v.Character.Torso["ADM Spin"]:Destroy()
  2615. end
  2616. end
  2617. end
  2618. end,"Winner1","Makes the given player(s) spin on and on and on")
  2619. NewCommand("Fire",function(...)
  2620. for k,v in pairs(FindPlayers(...)) do
  2621. if v.Character and v.Character:findFirstChild("Torso") then
  2622. local fire = Instance.new("Fire",Torso) fire.Heat = 25
  2623. fire.Name = "ADM Fire" fire.Size = 10
  2624. end
  2625. end
  2626. end,"Winner1","Puts the given player(s) on fire","burn")
  2627. NewCommand("Unfire",function(...)
  2628. for k,v in pairs(FindPlayers(...)) do
  2629. if v.Character and v.Character:findFirstChild("Torso") then
  2630. while v.Character.Torso:findFirstChild("ADM Fire") do
  2631. v.Character.Torso["ADM Fire"]:Destroy()
  2632. end
  2633. end
  2634. end
  2635. end,"Winner1","Puts the fire of the given player(s) out","unburn")
  2636. NewCommand("Smoke",function(...)
  2637. for k,v in pairs(FindPlayers(...)) do
  2638. if v.Character and v.Character:findFirstChild("Torso") then
  2639. local smoke = Instance.new("Smoke",Torso) smoke.Size = 5
  2640. smoke.Name = "ADM Smoke" smoke.Opacity = 1
  2641. end
  2642. end
  2643. end,"Winner1","Puts the given player(s) on fire")
  2644. NewCommand("Unsmoke",function(...)
  2645. for k,v in pairs(FindPlayers(...)) do
  2646. if v.Character and v.Character:findFirstChild("Torso") then
  2647. while v.Character.Torso:findFirstChild("ADM Smoke") do
  2648. v.Character.Torso["ADM Smoke"]:Destroy()
  2649. end
  2650. end
  2651. end
  2652. end,"Winner1","Puts the fire of the given player(s) out")
  2653. NewCommand("Trip",function(...)
  2654. for k,v in pairs(FindPlayers(...)) do
  2655. if v.Character and v.Character:findFirstChild("Torso") then
  2656. v.Character.Torso.CFrame = CFrame.new(v.Character.Torso.Position) * CFrame.new(0,0,math.pi)
  2657. end
  2658. end
  2659. end,"Winner1","Trips the given player(s) onto their head")
  2660. NewCommand("Remove Limbs",function(...)
  2661. for k,v in pairs(FindPlayers(...)) do
  2662. if v.Character then
  2663. for a,b in pairs({"Left Arm","Right Arm","Left Leg","Right Leg"}) do
  2664. if v.Character:findFirstChild(b) then
  2665. v.Character[b]:BreakJoints()
  2666. end
  2667. end
  2668. end
  2669. end
  2670. end,"Winner1","Removes the limbs of the given player(s)","rlimbs","unlimbs")
  2671. NewCommand("Name Character",function(plr,msg,al) local a,b = Split(msg)
  2672. for k,v in pairs(FindPlayers(plr,a or msg)) do local f = false
  2673. if v.Character then
  2674. for a,b in pairs(v.Character:GetChildren()) do if b:findFirstChild("Named") then f = b end end
  2675. if not b or al:lower() == "unname" then
  2676. if f then f:Destroy()
  2677. v.Character.Head.Transparency = v.Character.Torso.Transparency
  2678. end
  2679. elseif f then
  2680. f.Name = b
  2681. else
  2682. f = Instance.new("Model",v.Character)
  2683. f.Name = b local h = v.Character.Head:clone()
  2684. v.Character.Head.Transparency = 1 h.Parent = f
  2685. local w = Instance.new("Weld",h)
  2686. w.Part0 = v.Character.Head w.Part1 = h
  2687. local h = Instance.new("Humanoid",f)
  2688. h.MaxHealth = 0 h.Name = "Named"
  2689. end
  2690. end
  2691. end
  2692. end,"Winner1","Changes the name of the character (off for none)","name","unname")
  2693. local mv = Vector3.new(math.huge,math.huge,math.huge)
  2694. local function control(a,b,p) local t1,t2 = a.Character.Torso,b.Character.Torso
  2695. local h = b.Character:findFirstChild("Humanoid") human.PlatformStand = true
  2696. local bp,bg = Instance.new("BodyPosition",t2),Instance.new("BodyGyro",t2)
  2697. bp.Name,bg.Name,bp.maxForce,bg.maxTorque = "ADM Control BP","ADM Control BG",mv,mv
  2698. while wait() and t1.Parent == a.Character and t2.Parent == b.Character do
  2699. if bp.Parent ~= t2 or bg.Parent ~= t2 then break end
  2700. bp.position = t1.Position bg.cframe = t1.CFrame
  2701. end bp:Destroy() bg:Destroy() if h then human.PlatformStand = true end Chatted(p,"clip"..CommandKey..b.Name)
  2702. end
  2703. NewCommand("Control Player",function(plr,msg) local a,b = Split(msg) a = b or "me" b = b or msg
  2704. local whos,targs = FindPlayers(plr,a),FindPlayers(plr,b)
  2705. if whos[1] == targs[1] or not whos[1] or not targs[1] then
  2706. return Inform(plr,"Usage: 'p1,p2' for p1 controlling p2 or 'p1' for you controlling p1")
  2707. elseif whos[2] then
  2708. return Inform(plr,"Only 1 player may be given as first argument when giving 2 arguments")
  2709. end local who = whos[1]
  2710. if not who.Character or not who.Character:findFirstChild("Torso") then
  2711. return Inform(plr,"The controller cannot control other players")
  2712. end ypcall(Chatted,plr,"noclip"..CommandKey..b)
  2713. for k,v in pairs(targs) do
  2714. if v.Character and v.Character:findFirstChild("Torso") then
  2715. coroutine.wrap(control)(who,v,plr)
  2716. end
  2717. end
  2718. end,"Winner1","Let player1 take control over the character of player2","control")
  2719. NewCommand("Release Player",function(...)
  2720. for k,v in pairs(FindPlayers(...)) do
  2721. if v.Character and v.Character:findFirstChild("Torso") then
  2722. for k,v in pairs(v.Torso:GetChildren()) do
  2723. if v.Name:find("ADM Control") then
  2724. v:Destroy()
  2725. end
  2726. end
  2727. end
  2728. end
  2729. end,"Winner1","Makes everyone controlling player1 stop controlling him","releaseplayer","free")
  2730. NewCommand("Lock Character",function(...)
  2731. for k,v in pairs(FindPlayers(...)) do
  2732. for a,b in pairs(v:GetChildren()) do
  2733. if b:IsA("Hat") then
  2734. b.Handle.Locked = true
  2735. elseif b:IsA("BasePart") then
  2736. b.Locked = true
  2737. end
  2738. end
  2739. end
  2740. end,"Winner1","Lock the character of the given player(s)","lock")
  2741. NewCommand("Unlock Character",function(...)
  2742. for k,v in pairs(FindPlayers(...)) do
  2743. for a,b in pairs(v:GetChildren()) do
  2744. if b:IsA("Hat") then
  2745. b.Handle.Locked = false
  2746. elseif b:IsA("BasePart") then
  2747. b.Locked = false
  2748. end
  2749. end
  2750. end
  2751. end,"Winner1","Unlock the character of the given player(s)","unlock")
  2752. local function GetMusicID(obj)
  2753. if tonumber(obj) then local found = false
  2754. for k,v in pairs(Music) do if v == tonumber(obj) then found = true end end
  2755. if not found then table.insert(tonumber(obj)) print("Added song ID:",obj) end
  2756. return "rbxassetid://"..obj
  2757. elseif obj:lower():match("^new") and tonumber(obj:sub(4)) then
  2758. return "rbxassetid://"..tostring(Music[tonumber(obh:sub(4))][1])
  2759. elseif obj:find("roblox.com") and obj:find("=%d+") then
  2760. return "rbxassetid://"..obj:match("=(%d+)")
  2761. elseif Music[obj:lower()] then
  2762. return "rbxassetid://"..Music[obj:lower()][1],Music[obj:lower()][2]
  2763. elseif obj:lower() == "random" then local music = {}
  2764. for k,v in pairs(Music) do table.insert(music,v) end
  2765. local res = music[math.random(#music)]
  2766. return "rbxassetid://"..res[1],res[2]
  2767. else local found = {}
  2768. for k,v in pairs(Music) do
  2769. if k:lower():match(obj:lower()) then
  2770. table.insert(found,v)
  2771. end
  2772. end local res = found[math.random(#found)]
  2773. return "rbxassetid://"..res[1],res[2]
  2774. end
  2775. end
  2776. local function GetMusicList() local res = ""
  2777. for k,v in pairs(Music) do
  2778. res = res..(tonumber(k) and "New"..k or k).."\n"
  2779. end return res
  2780. end
  2781. NewCommand("Play Music",function(plr,msg,al) local music,pitch = GetMusicID(msg)
  2782. if al:lower():find("list") then return select(2,GetOutput(plr))(GetMusicList()) end
  2783. if not music then return Inform(plr,"Couldn't get a SoundId out of your message!",5) end
  2784. pcall(function() workspace["ADM Music"]:Stop() workspace["ADM Music"]:Destroy() end)
  2785. if al:lower():find("stop") or msg == "" or msg:lower() == "stop" then return end
  2786. local mu = Instance.new("Sound",workspace) mu.Name = "ADM Music" mu.SoundId = music
  2787. if pitch and tonumber(pitch) then mu.Pitch = tonumber(pitch) end mu:Play()
  2788. mu.Changed:connect(function() wait(1) if not mu.IsPlaying then mu:Play() end end)
  2789. end,"Winner1","Play a music using an ID/name/link","playmusic","music","musiclist","listmusic","stopmusic")
  2790. NewCommand("Head Size",function(plr,msg,al)
  2791. local a,b = Split(msg)
  2792. if al:lower() == "bighead" or al:lower() == "smallhead" or al:lower() == "normalhead" then
  2793. a = msg b = al:lower()
  2794. elseif b then b = b:lower()
  2795. b = b:find("small") and "smallhead" or b:find("big") and "bighead" or "normalhead"
  2796. else
  2797. return Inform(plr,"Usage: "..al..CommandKey.."PLAYERS"..CommandKey.."SMALL-NORMAL-BIG")
  2798. end local s = b == "smallhead" and 0.75 or b == "bighead" and 3 or 1 local h = s == 1 and 1
  2799. for k,v in pairs(FindPlayers(plr,a)) do
  2800. if v.Character and v.Character:findFirstChild("Head") and v.Character.Head:findFirstChild("Mesh") then
  2801. v.Character.Head.Mesh.Scale = Vector3.new(s,s,s) local pi = math.pi
  2802. v.Character.Torso.Neck.C0 = CFrame.new(0,h or s == 3 and 1.9 or 0.8,0) * CFrame.Angles(pi/2,pi,0)
  2803. end
  2804. end
  2805. end,"Winner1","Set the headsize: small/normal/big","headsize","head","bighead","smallhead","normalhead")
  2806. end
  2807.  
  2808. do -- Winner2 commands
  2809. NewCommand("Sit",function(...)
  2810. for k,v in pairs(FindPlayers(...)) do
  2811. if v.Character and v.Character:findFirstChild("Humanoid") then
  2812. v.Character.Humanoid.Sit = true
  2813. end
  2814. end
  2815. end,"Winner2","Makes the given player(s) sit","seat")
  2816. NewCommand("Jump",function(...)
  2817. for k,v in pairs(FindPlayers(...)) do
  2818. if v.Character and v.Character:findFirstChild("Humanoid") then
  2819. v.Character.Humanoid.Jump = true
  2820. end
  2821. end
  2822. end,"Winner2","Makes the given player(s) jump")
  2823. NewCommand("Stand",function(...)
  2824. for k,v in pairs(FindPlayers(...)) do
  2825. if v.Character and v.Character:findFirstChild("Humanoid") then
  2826. v.Character.Humanoid.Sit = false
  2827. v.Character.Humanoid.Jump = false
  2828. v.Character.Humanoid.PlatformStand = false
  2829. end
  2830. end
  2831. end,"Winner2","Makes the given player(s) stand")
  2832. local function save(c,t,b,r)
  2833. for k,v in pairs(c:GetChildren()) do
  2834. if v:IsA("Clothes") then
  2835. v.Parent = c:findFirstChild("Torso")
  2836. elseif v:IsA("BasePart") and t then
  2837. local t = Instance.new("NumberValue",v)
  2838. t.Name = "OldTransparency"
  2839. t.Value = v.Transparency
  2840. elseif c:findFirstChild("Handle") and t then
  2841. local t = Instance.new("NumberValue",v.Handle)
  2842. t.Name = "OldTransparency"
  2843. t.Value = v.Handle.Transparency
  2844. end
  2845. if v:IsA("BasePart") and b then
  2846. local t = Instance.new("BrickColorValue",v)
  2847. t.Name = "OldBrickColor"
  2848. t.Value = v.BrickColor
  2849. elseif v:findFirstChild("Handle") and b then
  2850. local t = Instance.new("BrickColorValue",v.Handle)
  2851. t.Name = "OldBrickColor"
  2852. t.Value = v.Handle.BrickColor
  2853. end
  2854. if v:IsA("BasePart") and r then
  2855. local t = Instance.new("NumberValue",v)
  2856. t.Name = "OldReflectance"
  2857. t.Value = v.Reflectance
  2858. elseif v:findFirstChild("Handle") and r then
  2859. local t = Instance.new("NumberValue",v.Handle)
  2860. t.Name = "OldReflectance"
  2861. t.Value = v.Handle.Reflectance
  2862. end
  2863. end
  2864. end
  2865. local function restore(c)
  2866. for k,v in pairs(c:GetChildren()) do
  2867. if v:IsA("BasePart") and v:findFirstChild("OldTransparency") then
  2868. v.Transparency = v.OldTransparency.Value
  2869. v.OldTransparency:Destroy()
  2870. elseif v:findFirstChild("Handle") and v.Handle:findFirstChild("OldTransparency") then
  2871. v.Handle.Transparency = v.Handle.OldTransparency.Value
  2872. v.Handle.OldTransparency:Destroy()
  2873. end
  2874. if v:IsA("BasePart") and v:findFirstChild("OldBrickColor") then
  2875. v.BrickColor = v.OldBrickColor.Value
  2876. v.OldBrickColor:Destroy()
  2877. elseif v:findFirstChild("Handle") and v.Handle:findFirstChild("OldBrickColor") then
  2878. v.Handle.BrickColor = v.Handle.OldBrickColor.Value
  2879. v.Handle.OldBrickColor:Destroy()
  2880. end
  2881. if v:IsA("BasePart") and v:findFirstChild("OldReflectance") then
  2882. v.Reflectance = v.OldReflectance.Value
  2883. v.OldReflectance:Destroy()
  2884. elseif v:findFirstChild("Handle") and v.Handle:findFirstChild("OldReflectance") then
  2885. v.Handle.Reflectance = v.Handle.OldReflectance.Value
  2886. v.Handle.OldReflectance:Destroy()
  2887. end
  2888. end
  2889. if c:findFirstChild("Torso") then
  2890. for k,v in pairs(c.Torso:GetChildren()) do
  2891. if v:IsA("Clothes") then
  2892. v.Parent = c
  2893. end
  2894. end
  2895. end
  2896. end
  2897. NewCommand("Ghostify",function(...)
  2898. for k,v in pairs(FindPlayers(...)) do
  2899. if v.Character then
  2900. save(v.Character,true,true)
  2901. if v:findFirstChild("Backpack") then
  2902. save(v.Backpack,true)
  2903. end
  2904. for k,v in pairs(v.Character:GetChildren()) do
  2905. if v:IsA("BasePart") then
  2906. v.BrickColor = BrickColor.new(1001)
  2907. v.Transparency = 0.5
  2908. elseif v:findFirstChild("Handle") then
  2909. v.Handle.BrickColor = BrickColor.new(1001)
  2910. v.Handle.Transparency = 0.75
  2911. end
  2912. end
  2913. end
  2914. end
  2915. end,"Winner2","Makes the given player(s) a ghost","ghost")
  2916. NewCommand("Goldify",function(...)
  2917. for k,v in pairs(FindPlayers(...)) do
  2918. if v.Character then
  2919. save(v.Character,true,true,true)
  2920. if v:findFirstChild("Backpack") then
  2921. save(v.Backpack,true,true,true)
  2922. end
  2923. for k,v in pairs(v.Character:GetChildren()) do
  2924. if v:IsA("BasePart") then
  2925. v.BrickColor = BrickColor.Yellow()
  2926. v.Transparency = 0
  2927. v.Reflectance = 0.25
  2928. elseif v:findFirstChild("Handle") then
  2929. v.Handle.BrickColor = BrickColor.Yellow()
  2930. v.Handle.Transparency = 0
  2931. v.Handle.Reflectance = 0.25
  2932. end
  2933. end
  2934. end
  2935. end
  2936. end,"Winner2","Makes the given player(s) of gold","gold")
  2937. NewCommand("Metalfy",function(...)
  2938. for k,v in pairs(FindPlayers(...)) do
  2939. if v.Character then
  2940. save(v.Character,true,true,true)
  2941. if v:findFirstChild("Backpack") then
  2942. save(v.Backpack,true,true,true)
  2943. end
  2944. for k,v in pairs(v.Character:GetChildren()) do
  2945. if v:IsA("BasePart") then
  2946. v.BrickColor = BrickColor.new("Mid gray")
  2947. v.Transparency = 0
  2948. v.Reflectance = 0.25
  2949. elseif v:findFirstChild("Handle") then
  2950. v.Handle.BrickColor = BrickColor.new("Mid gray")
  2951. v.Handle.Transparency = 0
  2952. v.Handle.Reflectance = 0.25
  2953. end
  2954. end
  2955. end
  2956. end
  2957. end,"Winner2","Makes the given player(s) of metal","metal")
  2958. NewCommand("Normal",function(plr,msg)
  2959. for k,v in pairs(FindPlayers(plr,msg)) do
  2960. if v.Character then restore(v.Character) end
  2961. if v:findFirstChild("Backpack") then restore(v.Backpack) end
  2962. end for k,v in pairs({"see","unblind","thrust","heal","normalhead"}) do Chatted(plr,v..CommandKey..msg) end
  2963. end,"Winner2","Normals the given player(s)","ungoldify","unghostify","unghost","ungold","unmetal","unmetalfy")
  2964. NewCommand("Fly Tool",function(...)
  2965. for k,v in pairs(FindPlayers(...)) do
  2966. Script(Scripts.Fly,v.Character,true).Name = "ADM Fly"
  2967. end
  2968. end,"Winner2","Makes the given player(s) fly","flytool","fly")
  2969. NewCommand("Minecraft Fly",function(...)
  2970. for k,v in pairs(FindPlayers(...)) do
  2971. Script(Scripts.MCFly,v.Character,true).Name = "ADM Fly"
  2972. end
  2973. end,"Winner2","Gives the given player(s) creative flight","mcfly","creafly","creativefly","mccreafly","mccreativefly")
  2974. NewCommand("Remove Fly Tool",function(...)
  2975. for k,v in pairs(FindPlayers(...)) do
  2976. while v.Character and v.Character:findFirstChild("ADM Fly",true) do
  2977. v.Character:findFirstChild("ADM Fly",true):Destroy()
  2978. end
  2979. while v.Character and v.Character.Torso:findFirstChild("FlyBodyGyro",true) do
  2980. v.Character.Torso:findFirstChild("FlyBodyGyro",true):Destroy()
  2981. end
  2982. while v.Character and v.Character.Torso:findFirstChild("FlyBodyVelocity",true) do
  2983. v.Character.Torso:findFirstChild("FlyBodyVelocity",true):Destroy()
  2984. end
  2985. while v.Character and v.Character:findFirstChild("Step") do
  2986. v.Character["Step"]:Destroy()
  2987. end
  2988. end
  2989. end,"Winner2","Makes the given player(s) unfly","removeflytool","unflytool","unfly","land")
  2990. NewCommand("Noclip",function(...)
  2991. for k,v in pairs(FindPlayers(...)) do
  2992. Script(Scripts.Noclip,v.Character,true).Name = "ADM Noclip"
  2993. end
  2994. end,"Winner2","Makes the given player(s) fly")
  2995. NewCommand("Clip",function(...)
  2996. for k,v in pairs(FindPlayers(...)) do
  2997. if v.Character and v.Character:findFirstChild("ADM Noclip") then
  2998. v.Character["ADM Noclip"]:Destroy()
  2999. end
  3000. end
  3001. end,"Winner2","Makes the given player(s) fly","unnoclip")
  3002. local function cape(t,c)
  3003. local p,w = Instance.new("Part",t.Parent)
  3004. p.BottomSurface = 0 p.formFactor = "Custom"
  3005. p.Name = "ADM Cape" p.Anchored = false
  3006. p.CanCollide = false p.TopSurface = 0
  3007. p.Size = Vector3.new(2,3.5,0.1)
  3008. p.Material = "SmoothPlastic"
  3009. if type(c) == "table" then
  3010. if c[2] then
  3011. local d = Instance.new("Decal",p)
  3012. d.Texture,d.Face = c[2],"Back"
  3013. end p.BrickColor = BrickColor.new(c[1])
  3014. if c[3] then
  3015. p.Material = c[3]
  3016. end
  3017. else
  3018. p.BrickColor = BrickColor.new(c)
  3019. end
  3020. local m = Instance.new("Motor",p)
  3021. m.Part0 = p m.Part1 = t m.MaxVelocity = .01
  3022. m.C0 = CFrame.new(0,1.75,0) * CFrame.Angles(0,math.pi/2,0)
  3023. m.C1 = CFrame.new(0,1,0.45) * CFrame.Angles(0,math.pi/2,0)
  3024. while wait() and p:IsDescendantOf(game) and p.Parent == t.Parent do
  3025. local ang,o = 0.1,t.Velocity.magnitude
  3026. ang = (wave and (ang + o/200 + 0.05) or ang) + math.min(o/11, .5) wave = not wave
  3027. m.MaxVelocity = math.min(o/111, 0.04) + 0.02 m.DesiredAngle = -ang
  3028. m.MaxVelocity = o < 0.1 and m.CurrentAngle > -0.2 and 0.002 or 0.02
  3029. m.MaxVelocity = m.CurrentAngle < -0.02 and m.DesiredAngle > -0.02 and 0.04 or m.MaxVelocity
  3030. repeat wait() until m.CurrentAngle == m.DesiredAngle or
  3031. math.abs(t.Velocity.magnitude-o) >= t.Velocity.magnitude/10 + 1
  3032. end p:Destroy()
  3033. end
  3034. NewCommand("Cape",function(plr,msg,al)
  3035. if msg:lower() == "list" or al:lower() == "capes" then
  3036. local c = {} for k,v in pairs(Capes) do table.insert(c,k) end
  3037. return Inform(plr,"Capes:\n"..table.concat(c,"\n"),30)
  3038. end local a,b = Split(msg) a = a or msg b = b or 1001
  3039. for k,v in pairs(Capes) do
  3040. if tostring(b):lower() == k:lower() then
  3041. b = v break
  3042. end
  3043. end
  3044. for k,v in pairs(FindPlayers(plr,a)) do
  3045. if v.Character and v.Character:findFirstChild("Torso") then
  3046. Chatted(plr,"uncape"..CommandKey..v.Name,true)
  3047. coroutine.wrap(cape)(v.Character.Torso,b)
  3048. end
  3049. end
  3050. end,"Winner2","Add a nice cape. Tip: cape"..CommandKey.."list","capes","listcapes")
  3051. NewCommand("Uncape",function(...)
  3052. for k,v in pairs(FindPlayers(...)) do
  3053. while v.Character and v.Character:findFirstChild("ADM Cape") do
  3054. v.Character["ADM Cape"]:Destroy()
  3055. end
  3056. end
  3057. end,"Winner2","Get rid of the cape","nocape","removecape","remcape")
  3058. local function dog(char) char.Torso.Transparency = 1
  3059. if char:findFirstChild("Shirt") then v.Character.Shirt:Destroy() end
  3060. if char:findFirstChild("Pants") then v.Character.Pants:Destroy() end
  3061. char.Torso.Neck.C0 = CFrame.new(0,-.5,-2) * CFrame.Angles(math.pi/2,math.pi,0)
  3062. char.Torso["Right Shoulder"].C0 = CFrame.new(.5,-1.5,-1.5) * CFrame.Angles(0,math.pi/2,0)
  3063. char.Torso["Left Shoulder"].C0 = CFrame.new(-.5,-1.5,-1.5) * CFrame.Angles(0,-math.pi/2,0)
  3064. char.Torso["Right Hip"].C0 = CFrame.new(1.5,-1,1.5) * CFrame.Angles(0,math.pi/2,0)
  3065. char.Torso["Left Hip"].C0 = CFrame.new(-1.5,-1,1.5) * CFrame.Angles(0,-math.pi/2,0)
  3066. local p = Instance.new("Seat", char) p.Name = "Seat" p.formFactor = "Custom" p.Material = "SmoothPlastic"
  3067. p.TopSurface = 0 p.BottomSurface = 0 p.Size = Vector3.new(3,1,4) p.CFrame = char.Torso.CFrame
  3068. local bf = Instance.new("BodyForce", p) bf.force = Vector3.new(0,p:GetMass()*196.2,0)
  3069. local w = Instance.new("Weld", p) w.Part0 = char.Torso w.Part1 = p w.C0 = CFrame.new(0,-0.5,0)
  3070. for k,v in pairs(char:GetChildren()) do
  3071. if v:IsA("BasePart") then
  3072. v.BrickColor = BrickColor.new("Brown")
  3073. elseif v:findFirstChild("Head") then
  3074. v.Head.BrickColor = BrickColor.new("Brown")
  3075. end
  3076. end
  3077. end
  3078. NewCommand("Dog",function(...)
  3079. for k,v in pairs(FindPlayers(...)) do
  3080. if v.Character and v.Character:findFirstChild("Torso") then
  3081. coroutine.wrap(dog)(v.Character)
  3082. end
  3083. end
  3084. end,"Winner2","Make someone a dog","woef")
  3085. local function creeper(char) char.Torso.Transparency = 0
  3086. if char:findFirstChild("Shirt") then char.Shirt:Destroy() end
  3087. if char:findFirstChild("Pants") then char.Pants:Destroy() end
  3088. char.Torso.Neck.C0 = CFrame.new(0,1,0) * CFrame.Angles(math.pi/2,math.pi,0)
  3089. char.Torso["Right Shoulder"].C0 = CFrame.new(0,-1.5,-0.5) * CFrame.Angles(0,math.pi/2,0)
  3090. char.Torso["Left Shoulder"].C0 = CFrame.new(0,-1.5,-0.5) * CFrame.Angles(0,-math.pi/2,0)
  3091. char.Torso["Right Hip"].C0 = CFrame.new(0,-1,0.5) * CFrame.Angles(0,math.pi/2,0)
  3092. char.Torso["Left Hip"].C0 = CFrame.new(0,-1,0.5) * CFrame.Angles(0,-math.pi/2,0)
  3093. for k,v in pairs(char:GetChildren()) do
  3094. if v.Name == "Seat" then
  3095. v:Destroy()
  3096. elseif v:IsA("BasePart") then
  3097. v.BrickColor = BrickColor.new("Camo")
  3098. elseif v:findFirstChild("Head") then
  3099. v.Head.BrickColor = BrickColor.new("Camo")
  3100. end
  3101. end if char.Head:findFirstChild("face") then char.Head.face:Destroy() end
  3102. local d = Instance.new("Decal",char.Head) d.Name = "face"
  3103. d.Texture = "rbxassetid://73581071" d.Face = "Front"
  3104. end
  3105. NewCommand("Creeper",function(...)
  3106. for k,v in pairs(FindPlayers(...)) do
  3107. if v.Character and v.Character:findFirstChild("Torso") then
  3108. coroutine.wrap(creeper)(v.Character)
  3109. end
  3110. end
  3111. end,"Winner2","Make someone a creeper","tsss")
  3112. end
  3113.  
  3114. do -- Member commands
  3115. NewCommand("Commands",function(plr)
  3116. Gui:CommandList(plr)
  3117. end,"Member","Shows a gui with all commands","cmds")
  3118. NewCommand("Tablets",function(plr)
  3119. ShowTablets[plr.Name] = not ShowTablets[plr.Name]
  3120. end,"Member","Toggle Tablets","tabs")
  3121. NewCommand("Dismiss",ClearTablets,"Member","Remove all tablets for you","dt")
  3122. NewCommand("Update",notifyUpdate,"Member","Checks for updates of einsteinK's ADM Script")
  3123. NewCommand("Rejoin",function(plr)
  3124. if not player.Character then return Inform(plr,"Need a character!") end
  3125. game:GetService("TeleportService"):Teleport(game.PlaceId,plr.Character)
  3126. end,"Member","Rejoin the game")
  3127. NewCommand("SaveString",function(plr,msg)
  3128. if not tonumber(msg) then
  3129. return Inform(plr,"Usage: SaveString"..CommandKey.."AmountOfMessages",5)
  3130. end local res = ""
  3131. for i=1,tonumber(msg) do
  3132. res = res..WaitForChatted(plr)
  3133. end Chatted(plr,res,true)
  3134. end,"Member","Use this to connect messages to each other","ss")
  3135. NewCommand("Private Message",function(plr,msg) local a,b = Split(msg)
  3136. if not a then return Inform(plr,"Usage: pm"..CommandKey.."NAME"..CommandKey.."TEXT",5) end
  3137. for k,v in pairs(FindPlayers(plr,a)) do
  3138. Inform(v,plr.Name..": "..b,15)
  3139. end
  3140. end,"Member","Send a private message (use commandbar)","pm","tell")
  3141. NewCommand("Version",function(plr)
  3142. Inform(plr,"Version: "..Version.."\nUse update"..CommandKey.." to check for updates")
  3143. end,"Member","Shows the version")
  3144. NewCommand("Help",function(plr)
  3145. Inform(plr,([[
  3146. For a list of the commands: cmdsKEY
  3147. Use of commands: COMMANDKEYPLAYER1KEYPLAYER2KEY...
  3148. You can only use the commands of your rank and lower
  3149. Your current rank is RANK, see cmdsKEY for info.
  3150. ]]):gsub("KEY",CommandKey):gsub("RANK",GetRank(plr)),10)
  3151. end,"Member","Shows a gui with some help","?")
  3152. NewCommand("Get Rank",function(plr,msg)
  3153. local t = FindPlayers(plr,msg=="" and "me" or msg)
  3154. for k,v in pairs(t) do
  3155. t[k] = tostring(v)..": "..tostring(GetRank(v))
  3156. end Inform(plr,table.concat(t,"\n"))
  3157. end,"Member","Shows the rank of the given player(s)","getrank","gr")
  3158. NewCommand("Command Bar",function(plr) Gui:CommandBar(plr)
  3159. end,"Member","Spawns a command bar to execute commands","commandbar","bar","cmdbar","cmd","cb")
  3160. NewCommand("See Aliases",function(plr,msg) local n,c,a
  3161. for k,v in pairs(Commands) do
  3162. if msg:sub(1,#k+#CommandKey):lower() == k:lower() then
  3163. n,c,a = k,v,k break
  3164. else
  3165. for a,b in pairs(v.Aliases) do
  3166. if msg:sub(1,#b+#CommandKey):lower() == b:lower() then
  3167. n,c,a = k,v,b break
  3168. end
  3169. end
  3170. end
  3171. end if not n then return Inform(plr,"This command is not found!") end
  3172. Inform(plr,"["..c.Rank.."] "..n..": "..table.concat(c.Aliases,", "))
  3173. end,"Member","Shows all aliases for the given command","seealiases","alias","aliases","sa")
  3174. end
  3175.  
  3176. coroutine.wrap(function()
  3177. while wait(1) do
  3178. for k,v in pairs(Jailed) do
  3179. if type(v) == "number" and v <= 0 and GetPlayer(k) then
  3180. if GetPlayer(k).Character and GetPlayer(k).Character:findFirstChild("Jail") then
  3181. GetPlayer(k).Character["Jail"]:Destroy()
  3182. end print("Jailtime for",k,"passed")
  3183. end Jailed[k] = Jailed[k] - 1
  3184. if Jailed[k] < 0 then
  3185. Jailed[k] = nil
  3186. end
  3187. end
  3188. end
  3189. end)()
  3190.  
  3191. local packs,t = {},0
  3192. fullprint(Color3.new(0,0.5,1),"Parsing commands...")
  3193. for k,v in pairs(Commands) do wait() t = t+1
  3194. packs[v.Rank] = (packs[v.Rank] or 0) + 1
  3195. end local pcks = {}
  3196. for k,v in pairs(packs) do
  3197. table.insert(pcks,k)
  3198. end table.sort(pcks)
  3199. for k,v in ipairs(pcks) do wait(0.1)
  3200. fullprint(Color3.new(0,0.5,1),"Command Pack found:",v,"(",packs[v],"Commands )")
  3201. end _G.Chatted = Chatted
  3202. print("Number of registered commands:",t)
  3203. fullprint(Color3.new(0,1),"einsteinK's ADM Script V"..Version.." Loaded")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement