Advertisement
Guest User

Untitled

a guest
Jun 2nd, 2015
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 97.15 KB | None | 0 0
  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.01 [21/11/2013] New generation. Gonna add (optional) tablets like my old Moderator script and stuff
  12.  
  13. Always = {"Member",1} -- Actually this should NEVER be used except for "everyone free admin"
  14. --NOTE: Will make everyone this rank! So when "Admin",2 everyone will be admin! EVEN REAL ADMINS (Not creator)
  15. --NOTE: Everyone will be that rank except the creator, he will be the only creator (except if you put {"Creator",4} )
  16. --Rank: {"Member",1} {"Winner",2} {"Admin",3} {"Developer",4} {"Creator",5} -- There should NEVER be extra ranks!
  17. --NOTE: The winner rank is actually Admin without offensive commands as nuke, kill, ban, kick, ...
  18.  
  19. Creators = {"gumymonster","Second Game Owner","Important Sponsor","...","Player1"}
  20. Admins = {"Your advisor or stuff","Friends Name","..."}
  21. --NOTE: Creator of the game will be automaticly added as creator (you can just insert this script and *poof* it works)
  22. --Add in the names of the people you want to be able to use the command script here.
  23. --Please keep my name in there (einsteinK) if possible :D
  24. --Only the creator can use admin/ and unadmin/ online (or whatever is your commandkey)
  25.  
  26. Winners = {"A not trusted 'friend' thing","Obby Winner","Other game winner"}
  27. -- These are admins without kill, kick, nuke, ban, ...
  28. -- Everyone in this list and everyone with an Instance in his player object called "Winner" is a winner.
  29. -- Thuss, to make your obby thingy make someone a winner, just do:
  30. -- Instance.new("StringValue",Player).Name = "Winner"
  31.  
  32. Banned = { "someoneyouhate","noob"}
  33. --If you want someone not to be able to enter your place, put their name in here.
  34.  
  35. Groups = {
  36. [577832] = 123; -- Everyone in that group with their group rank 123 or higher will be admin
  37. [736400] = 255; -- Everyone in that with their rank being 255 (255 = only the owner) will be admin
  38. --[12345] = 1; Everyone in that group (really everyone) would be admin
  39. }--If you want members with a certain rank in a certain group get admin (muliple groups allowed)
  40.  
  41. CommandKey = "/" -- Sets which key will be used. ex: kill/me, kill:me, kill me, ...
  42. GearAllowed = true -- Allow to load gears with the tool/ command? true/false
  43. HatsAllowed = NotDone -- Decide with true/false if the script can loads hats if commanded NOT IMPLEMENTED YET
  44. AnimationsAllowed = NotDone -- Animations: Shapes of your body (example: Robloxian 2.0) NOT IMPLEMENTED YET
  45. ClothesAllowed = true -- Just to load cloathes as police-uniform, groupuniforms, ... with the clothes/ command. true/false
  46.  
  47. Update = true -- Allow notifying admins (not those by admin/) to see the update notifier
  48. MainUpdate = false -- When true this will ONLY notify you of new main versions, not sub versions
  49.  
  50. Debug = false -- This wil just enable the printing-in-output of some information. Only used by developers -.-
  51. Version = "8.01" -- Keep dafuq off, or the notifier (and some other stuff) will break!
  52.  
  53. --[[
  54. =~= Command Help by einsteinK =~=
  55. == Commands ==
  56. Most commands are like this:
  57. COMMAND/PLAYERS/ARGUMENT1/ARGUMENT2/...
  58. For kill it is simply: kill/PLAYERS
  59. Capitals (normally) don't matter for the commands.
  60.  
  61. Players/groups/teams:
  62. - Admins: Everyone listed in the adminlist or adminned with admin/
  63. - Nonadmins: Everyone except those above
  64. - Guests: All guests (or people who's name looks like that of a guest)
  65. - Nonguests: All nonguests except those with their name looking like that of a guest
  66. - All: Just everyone
  67. - Me: The one who did the command (the speaker)
  68. - Others: Everyone except the speaker
  69. - Random: A random player
  70. - Mrandom: A random player but never the speaker
  71. - Team TEAMNAME: Everyone who's in the named team
  72. - Group GROUPID: Everyone who's in the group with the given id
  73. - Player1,Player2,Player3,...: The given players (only playernames! "FriendsName,admins,me" won't work!)
  74. Again, capitals don't matter, even not in the playernames!
  75.  
  76. Capitalisation doesnt matter, and name input can be abbreviated.
  77. Just about any name input can be replaced with multiple names seperated by commas, me, all, others, guests, admins, nonadmins, random, or team teamname.
  78. --]]
  79.  
  80. --=~=-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --=~=--
  81. --=~=-- + START OF MAIN CODE | Keep off, there are normally no bugs and when they are, check the notifier + --=~=--
  82. --=~=-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --=~=--
  83.  
  84. Commands = {}
  85. function NewCommand(name,func,rank,desc,...)
  86. Commands[name] = {Name=name,Function=func,Rank=rank,Description=desc,Aliases={...}}
  87. end
  88.  
  89. function TupleToString(...) local res = ""
  90. if select("#",...) == 0 then return "" end
  91. for i=1,select("#",...) do
  92. res = res.." "..tostring(select(i,...))
  93. end return res:sub(2)
  94. end
  95.  
  96. Music = {
  97. ["DJ Glejs - Better Off Alone (remix)"] = 27697392,
  98. ["Jeff Syndicate - Hip Hop"] = 27697735,
  99. ["Zero Project - Gothic"] = 27697743,
  100. ["Positively Dark - Awakening"] = 27697277,
  101. ["Daniel Bautista - Flight of the Bumblebee"] = 27697719,
  102. ["Daniel Bautista - Music for a Film"] = 27697713,
  103. ["Daniel Bautista - Gothic"] = 27697699,
  104. ["Daniel Bautista - Intro"] = 27697707,
  105. ["Flatt & Scruggs - Foggy Mountain Breakdown"] = 27697298,
  106. ["Scott Joplin - Entertainer Rag"] = 27697267,
  107. ["Mubarek - Resist (rmx)"] = 27697234
  108. }
  109. Scripts = {
  110. Fly = [[
  111. print("Loading ADM Fly Script by einsteinK") wait(0.1) local plr = game:GetService("Players").LocalPlayer
  112. repeat wait(0.1) until plr.Character wait(0.1) local mo,c,f = plr:GetMouse(),workspace.CurrentCamera,true
  113. local v = Instance.new("BodyVelocity",plr.Character and plr.Character:findFirstChild("Head")) v.Name = "ADM Fly"
  114. local h = plr.Character and plr.Character:findFirstChild("Humanoid") or Instance.new("Humanoid")
  115. v.maxForce = Vector3.new(1e99,1e99,1e99) local m = 0 local s = 0 local p = Instance.new("Part",plr.Character)
  116. p.Name = "Step" p.FormFactor = "Custom" p.Size = Vector3.new(5,0,5) p.Anchored = true
  117. p.BrickColor = BrickColor.new("Really black") p.Transparency = 0.5 Instance.new("CylinderMesh",p)
  118. mo.KeyDown:connect(function(k) if k == "f" then f = not f v.maxForce = f and Vector3.new(1e9,1e9,1e9) or Vector3.new()
  119. p.Parent = f and plr.Character or script elseif k == "w" or k:byte() == 17 then m = h.WalkSpeed
  120. elseif k == "s" or k:byte() == 18 then m = -h.WalkSpeed elseif k == "a" or k:byte() == 20 then s = h.WalkSpeed
  121. elseif k == "d" or k:byte() == 19 then s = -h.WalkSpeed end end)
  122. 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
  123. k=="a" or k=="d" or ss==20 or ss==19 then s=0 end end) while wait() and script.Parent == plr.Character
  124. and v.Parent == plr.Character.Head do v.velocity = CFrame.new(c.CoordinateFrame.p,c.Focus.p).lookVector * m
  125. v.velocity = (CFrame.new(c.CoordinateFrame.p,c.Focus.p) * CFrame.Angles(0,math.pi/2,0)).lookVector * s + v.velocity
  126. local cf = CFrame.new((plr.Character.Torso.CFrame * CFrame.new(0,-3.1,0)).p:lerp(p.Position,0.9))
  127. p.Size = Vector3.new(h.WalkSpeed/5,0,h.WalkSpeed/5) p.CFrame=cf p.Anchored=true p.Transparency=0.5
  128. p.Parent = f and plr.Character or nil v.maxForce = f and Vector3.new(1e9,1e9,1e9) or Vector3.new() end script:Destroy()
  129. ]],
  130. Noclip = [[local plr = game:GetService("Players").LocalPlayer
  131. plr.Character.Head.Changed:connect(function() plr.Character.Head.CanCollide = false end)
  132. plr.Character.Torso.Changed:connect(function() plr.Character.Torso.CanCollide = false end)
  133. while wait() and script.Parent == plr.Character do plr.Character.Head.CanCollide = false
  134. plr.Character.Torso.CanCollide = false end]],
  135. Freecam = [[local mode,player = Instance.new("Model",workspace),game:GetService("Players").LocalPlayer
  136. local probe = Instance.new("Part",mode) Instance.new("Humanoid",mode).MaxHealth = 0 script.Parent = nil
  137. mode.Name = tostring(player) probe.Anchored = true probe.CanCollide = false probe.Transparency = 0.5
  138. probe.Shape = "Ball" probe.Size = Vector3.new(2,2,2) probe.TopSurface = 0 probe.BottomSurface = 0 probe.Name = "Head"
  139. while not player.Character and mode.Parent == workspace and probe.Parent == mode do
  140. probe.CFrame = workspace.CurrentCamera.Focus wait() end mode:Destroy()]],
  141. Rejoin = ([[game:GetService("TeleportService"):Teleport(%d)]]):format(game.PlaceId)
  142. }
  143. Loopkilling = {}
  144. ShowTablets = {}
  145. JoinTimes = {}
  146. Jailed = {}
  147. Devs = {}
  148. Tabs = {}
  149.  
  150. Outputted = {}
  151. Printed = LoadLibrary("RbxUtility").CreateSignal()
  152. local oprint,fenvs = print,{}
  153. local function print(...) Printed:fire(TupleToString(...)) oprint(...)
  154. table.insert(Outputted,{Time=tick(),Message=TupleToString(...)})
  155. end
  156. function fullprint(col,...) Printed:fire(TupleToString(...),col) oprint(...)
  157. table.insert(Outputted,{Time=tick(),Message=TupleToString(...),Color=col})
  158. end
  159. function GetColor(n) local v,n=0,tostring(n)
  160. for i=1,#n do local c=n:sub(i,i):byte()
  161. v=v+((#n-i+1-#n%2)%4 >= 2 and -c or c)
  162. end return BrickColor.new(({21,23,141,104,106,24,9,5})[v%8+1])
  163. end
  164.  
  165. for k,v in pairs(workspace:GetChildren()) do
  166. if v:IsA("Model") then
  167. if v.Name:match("%[Output%] (%w+)") then
  168. v:Destroy()
  169. end
  170. end
  171. end
  172. function RefreshTablets()
  173. local players = game:GetService("Players")
  174. for k,v in pairs(workspace:GetChildren()) do
  175. if v:IsA("Model") then
  176. local name = v.Name:match("%[Output%] (%w+)")
  177. if name and not players:findFirstChild(name) then
  178. v:Destroy()
  179. end
  180. end
  181. end
  182. for k,v in pairs(players:GetPlayers()) do
  183. local mo = workspace:findFirstChild("[Output] "..v.Name)
  184. if not mo or not mo:IsA("Model") then
  185. mo = Instance.new("Model",workspace)
  186. mo.Name = "[Output] "..v.Name
  187. end if not Tabs[v] then Tabs[v] = {} end
  188. end
  189. for player,tabs in pairs(Tabs) do
  190. while #tabs > 50 do table.remove(tabs,1).Part:Destroy() end
  191. local new = {}
  192. for k,v in pairs(tabs) do
  193. if not v.Part:IsDescendantOf(workspace) then
  194. v.Part:Destroy()
  195. elseif v.Live and tick() - v.Time > v.Live then
  196. v.Part:Destroy()
  197. elseif tick() - v.Time > 30 then
  198. v.Part:Destroy()
  199. else
  200. table.insert(new,v)
  201. end
  202. end Tabs[player] = player and new
  203. end
  204. end
  205. function ClearTablets(player)
  206. for k,v in pairs(Tabs) do Tabs[k] = {}
  207. for a,b in pairs(v) do b.Part:Destroy() end
  208. end
  209. end
  210. function Tablet(player,text,color) RefreshTablets()
  211. local p = Instance.new("Part",workspace:findFirstChild("[Output] "..player.Name))
  212. p.Name = "OutputTablet" p.Anchored = true p.CanCollide = false
  213. p.FormFactor = "Custom" p.Size = Vector3.new(4,4,0) p.Locked = true
  214. p.BrickColor = BrickColor.new(color) p.Transparency = 0.5
  215. p.CFrame = player.Character and player.Character:GetModelCFrame() or CFrame.new()
  216. local s = Instance.new("SelectionBox",p) s.Adornee = p s.Color = p.BrickColor
  217. local g = Instance.new("BillboardGui",p) g.Adornee = p g.Active = false
  218. g.Size = UDim2.new(12,0,6) g.StudsOffset = Vector3.new(0,4,0)
  219. local l = Instance.new("TextLabel",g) l.Size = UDim2.new(1,0,1,0)
  220. l.BackgroundTransparency = 1 l.TextColor3 = Color3.new(0,0,0)
  221. l.TextStrokeColor3 = color l.TextStrokeTransparency = 0
  222. l.Font = "SourceSansBold" l.TextWrapped = true l.Active = false
  223. l.FontSize = "Size18" l.Text = text g.ExtentsOffset = Vector3.new(0,0,1)
  224. local c = Instance.new("ClickDetector",p) c.MaxActivationDistance = 64
  225. c.MouseClick:connect(function(pl) if pl == player then return p:Destroy() end
  226. if select(2,GetRank(pl)) >= select(2,GetRank(player)) then p:Destroy() end
  227. end) local t = {Player=player,Text=text,Color=color,Part=p,Time=tick()}
  228. table.insert(Tabs[player],t) game:GetService("Debris"):AddItem(p,600) return t
  229. end
  230. function TimeTablet(t,...)
  231. local tab = Tablet(...)
  232. tab.Live = t
  233. return tab
  234. end
  235. local up = {}
  236. local function GetUpBonus(cur,total,up)
  237. if total < 10 then return 0 end
  238. if cur == up then return total/200 end
  239. end
  240. local function GetPosition(player)
  241. if not player.Character then return end
  242. local ch = player.Character
  243. local he = ch:findFirstChild("HumanoidRootPart")
  244. he = he or ch:findFirstChild("Torso")
  245. he = ch:findFirstChild("Head")
  246. return he and he.Position
  247. end
  248. function HandleTabs() RefreshTablets()
  249. for player,tabs in pairs(Tabs) do local total = #tabs
  250. up[player] = (up[player] or 0) + 0.5
  251. up[player] = up[player] > total and 1 or up[player]
  252. local pos = GetPosition(player)
  253. for k,v in pairs(tabs) do local part = v.Part
  254. local goto = pos and CFrame.new(pos) * CFrame.Angles(0,-math.pi*2/total*k,0)
  255. goto = goto and goto * CFrame.new(5+total/1.5,0,0) or CFrame.new(0,-50,k)
  256. part.CFrame = CFrame.new(part.CFrame.p:lerp(goto.p,0.1),pos+Vector3.new(0,1,0))
  257. part.CFrame = part.CFrame * CFrame.new(0,GetUpBonus(k,total,up[player]),0)
  258. end
  259. end
  260. end
  261.  
  262. if game:GetService("Players").LocalPlayer then
  263. TimeTablet(10,game:GetService("Players").LocalPlayer,"Running Studio Check!",Color3.new(0,1,0))
  264. end
  265.  
  266. coroutine.wrap(function()
  267. while wait() do
  268. local suc,err = ypcall(HandleTabs) err = err and err:gsub(":(%d+):",":%1:\n\t")
  269. if not suc then fullprint(Color3.new(1),"HandleTabs() error:\n",err) end
  270. end
  271. end)()
  272.  
  273. function FindPlayers(plr,msg) local res = {}
  274. local plrs = game:GetService("Players"):GetPlayers()
  275. if msg:find(",") then
  276. for a in msg:gmatch("[^,]+") do
  277. for k,v in pairs(FindPlayers(plr,a)) do
  278. table.insert(res,a)
  279. end
  280. end
  281. end
  282. if msg:lower() == "admins" then
  283. for k,v in pairs(plrs) do
  284. if HasRank(v,"admin") then
  285. table.insert(res,v)
  286. end
  287. end
  288. elseif msg:lower() == "nonadmins" then
  289. for k,v in pairs(plrs) do
  290. if not HasRank(v,"admin") then
  291. table.insert(res,v)
  292. end
  293. end
  294. elseif msg:lower() == "guests" then
  295. for k,v in pairs(plrs) do
  296. if v.UserId <= 0 then
  297. table.insert(res,v)
  298. end
  299. end
  300. elseif msg:lower() == "nonguests" then
  301. for k,v in pairs(plrs) do
  302. if v.UserId > 0 then
  303. table.insert(res,v)
  304. end
  305. end
  306. elseif msg:lower() == "all" then
  307. for k,v in pairs(plrs) do
  308. table.insert(res,v)
  309. end
  310. elseif msg:lower() == "me" then
  311. table.insert(res,plr)
  312. elseif msg:lower() == "random" then
  313. table.insert(res,plrs[math.random(#plrs)])
  314. elseif msg:lower() == "mrandom" then
  315. if #plrs > 1 then local found = false
  316. while not found or found == plr do wait()
  317. found = plrs[math.random(#plrs)]
  318. end if found then table.insert(res,found) end
  319. end
  320. elseif msg:sub(1,5):lower() == "team " then
  321. local team = FindTeam(plr,msg:sub(6))
  322. if team then
  323. for k,v in pairs(plrs) do
  324. if v.TeamColor == team.TeamColor then
  325. table.insert(res,v)
  326. end
  327. end
  328. end
  329. elseif msg:sub(1,6):lower() == "group " then
  330. if tonumber(msg:sub(7)) then
  331. for k,v in pairs(plrs) do
  332. if v:IsInGroup(tonumber(msg:sub(7))) then
  333. table.insert(res,v)
  334. end
  335. end
  336. end
  337. else
  338. for k,v in pairs(plrs) do
  339. if v.Name:lower():sub(1,#msg) == msg:lower() then
  340. table.insert(res,v)
  341. end
  342. end
  343. end return res
  344. end function dprint(...) if Debug then print(...) end end
  345. pcall(function() crea = "Knietsnie" script.Name = crea:reverse().."'s ADM script" end)
  346.  
  347. function FindTeam(plr,msg) local teams={}
  348. for k,v in pairs(game.Teams:GetChildren()) do if v:IsA("Team") then table.insert(teams,v) end end
  349. if msg=="random" then return teams[math.random(#teams)] end
  350. if msg=="mrandom" then
  351. repeat wait() local team = teams[math.random(#teams)] until team.TeamColor ~= plr.TeamColor return team
  352. end local res={}
  353. for k,v in pairs(teams) do
  354. if msg:lower()==v.Name:lower() then return v end
  355. if v.Name:lower():sub(1,msg:len()) == msg:lower() then table.insert(res,v) end
  356. end if #res == 0 then Inform(plr,"No such team found.",3,"Message") return end
  357. if #res >= 2 then Inform(plr,"That teamname is ambiguous.",3,"Message") return end
  358. return res[1]
  359. end
  360.  
  361. function GetPlayer(plr)
  362. if tostring(game:GetService("Players").LocalPlayer) == "Player1" then
  363. return game:GetService("Players").LocalPlayer
  364. end if not pcall(game.GetService,game,"NetworkServer") then return end
  365. for k,v in pairs(game:GetService("NetworkServer"):GetChildren()) do
  366. if pcall(function() assert(tostring(v:GetPlayer()):lower() == tostring(plr):lower()) end) then
  367. return v:GetPlayer()
  368. end
  369. end
  370. end
  371.  
  372. function GroupRank(plr)
  373. for k,v in pairs(Groups) do
  374. if tonumber(k) and tonumber(v) then
  375. if plr:GetRankInGroup(tonumber(k)) >= tonumber(v) then
  376. return true
  377. end
  378. end
  379. end
  380. end
  381.  
  382. function Winner(plr) return not not plr:findFirstChild("Winner") end
  383.  
  384. function GetRank(plr) plr = GetPlayer(plr)
  385. if tostring(plr) == "einsteinK" then return "Creator",5 end
  386. if not plr then return "Admin",3 end
  387. if plr.userId == game.CreatorId then
  388. return "Creator",5
  389. elseif Winner(plr) then
  390. elseif GroupRank(plr) then
  391. return "Admin",3
  392. else local rank,n = Always and unpack(Always)
  393. local rank,n = rank or "Member",n or 1
  394. for k,v in pairs(SafeAdmins) do
  395. if v:lower() == tostring(plr):lower() then
  396. rank,n = "Winner",2
  397. end
  398. end
  399. for k,v in pairs(Admins) do
  400. if v:lower() == tostring(plr):lower() then
  401. rank,n = "Admin",3
  402. end
  403. end
  404. for k,v in pairs(Devs) do
  405. if v:lower() == tostring(plr):lower() then
  406. rank,n = "Developer",4
  407. end
  408. end
  409. for k,v in pairs(Creators) do
  410. if v:lower() == tostring(plr):lower() then
  411. rank,n = "Creator",5
  412. end
  413. end
  414. return rank,n
  415. end
  416. end
  417.  
  418. function HasRank(plr,ra) ra = ra:lower():gsub("%d.*","")
  419. local n = ra=="creator" and 4 or ra=="admin" and 2
  420. n = n or ra=="developer" and 3 or 1
  421. if n <= select(2,GetRank(plr)) then return true end
  422. end
  423.  
  424. Gui = {InformMeta={}}
  425. function Gui:Inform(player,message,long)
  426. local gui = Instance.new("ScreenGui",player:findFirstChild("PlayerGui"))
  427. gui.Name = "einsteinK's ADM Script Inform Message ScreenGui Object Thing"
  428. local f = Instance.new("Frame",gui)
  429. f.Size = UDim2.new(0,0,0,250)
  430. f.Position = UDim2.new(0.5,-250,0.5,-125)
  431. f.ZIndex = 9 f.Style = "RobloxRound"
  432. local t= Instance.new("TextButton",f)
  433. t.BackgroundTransparency = 1 t.ZIndex = 10
  434. t.Size = UDim2.new(1,0,1,0) t.Text = message
  435. t.TextColor3 = Color3.new(1,1,1) t.Name = "Label"
  436. t.Font = "ArialBold" t.TextWrapped = true
  437. t.ClipsDescendants = true t.FontSize = "Size18"
  438. t.MouseButton1Click:connect(function() gui:Destroy() end)
  439. t.Active = true f:TweenSize(UDim2.new(0,500,0,250,0))
  440. if long == true then return gui end
  441. game:GetService("Debris"):AddItem(gui,long or 5)
  442. end function Gui.InformMeta:Set(t) self.Label.Text = t end Gui.InformMeta.__index = Gui.InformMeta
  443. function Gui.InformMeta:Destroy(t) game:GetService("Debris"):AddItem(self.Gui,t or 0) end
  444. function Gui.InformMeta:Add(t) self.Label.Text = self.Label.Text.."\n"..t end
  445. function Gui:LiveInform(player,message)
  446. local gui = self:Inform(player,message,true)
  447. return setmetatable({Gui=gui,Label=gui.Frame.Label},self.InformMeta)
  448. end
  449. function Gui:CommandBar(player)
  450. if player:findFirstChild("PlayerGui") then
  451. if player.PlayerGui:findFirstChild("einsteinK's ADM Script Command Bar ScreenGui Object Thing") then
  452. return player.PlayerGui["einsteinK's ADM Script Command Bar ScreenGui Object Thing"]:Destroy()
  453. end
  454. end
  455. local gui = Instance.new("ScreenGui",player:findFirstChild("PlayerGui"))
  456. gui.Name = "einsteinK's ADM Script Command Bar ScreenGui Object Thing"
  457. local bar = Instance.new("TextBox",gui) bar.Name = "Commandbar"
  458. bar.Size = UDim2.new(0,400,0,50) bar.Position = UDim2.new(1,-500,0.5,200)
  459. bar.Font = "ArialBold" bar.FontSize = "Size18" bar.Text = "Type Here"
  460. bar.BackgroundTransparency = 0.5 bar.BackgroundColor3 = Color3.new()
  461. bar.TextStrokeTransparency = 0 bar.TextStrokeColor3 = Color3.new(1,1,1)
  462. bar.TextColor3 = Color3.new() local cl = Instance.new("TextButton",bar)
  463. cl.Name = "Clear" cl.BackgroundTransparency = 1 cl.Size = UDim2.new(1,0,1,0)
  464. cl.Active = false cl.MouseButton2Click:connect(function() bar.Text = "" end)
  465. local but = Instance.new("TextButton",bar) but.Name = "Execute"
  466. but.Size = UDim2.new(0,100,1,0) but.Position = UDim2.new(1,0,0,0)
  467. but.Font = "Arial" but.FontSize = "Size24" but.Text = "Execute"
  468. but.BackgroundTransparency = 0.5 but.BackgroundColor3 = Color3.new()
  469. but.TextStrokeTransparency = 0 but.TextStrokeColor3 = Color3.new(1,1,1)
  470. bar.ClearTextOnFocus = false but.TextColor3 = Color3.new()
  471. but.MouseEnter:connect(function() but.Font = "ArialBold" end)
  472. but.MouseLeave:connect(function() but.Font = "Arial" end) cl.Text = ""
  473. but.MouseButton1Click:connect(function() Chatted(player,bar.Text) end)
  474. but.MouseButton2Click:connect(function() Chatted(player,bar.Text,true) end)
  475. end
  476. function Gui:CommandList(player)
  477. if player:findFirstChild("PlayerGui") then
  478. if player.PlayerGui:findFirstChild("einsteinK's ADM Script Command List ScreenGui Object Thing") then
  479. return player.PlayerGui["einsteinK's ADM Script Command List ScreenGui Object Thing"]:Destroy()
  480. end
  481. end
  482. local gui = Instance.new("ScreenGui",player:findFirstChild("PlayerGui"))
  483. gui.Name = "einsteinK's ADM Script Command List ScreenGui Object Thing"
  484. local frame = Instance.new("Frame",gui) frame.Name = "Commands"
  485. frame.Style = "RobloxRound" frame.Size = UDim2.new(0,500,0,400)
  486. frame.Position = UDim2.new(1,-500,0.5,-250)
  487. local close = Instance.new("TextButton",frame) close.Name = "Close"
  488. close.Size = UDim2.new(1,0,0,50) close.BackgroundTransparency = 1
  489. close.Position = UDim2.new(0,0,1,0) close.TextColor3 = Color3.new()
  490. close.TextStrokeTransparency = 0 close.Font = "ArialBold" close.Text = "Close"
  491. close.TextStrokeColor3 = Color3.new(1,1,1) close.FontSize = "Size18"
  492. close.MouseButton1Down:connect(function() gui:Destroy() end)
  493. local list = frame:clone() list.Parent = frame list.Name = "List"
  494. list.Position = UDim2.new(0,0,0,0) list.Size = UDim2.new(1,0,1,0)
  495. local function opensub(name,cmds)
  496. list:ClearAllChildren() local c = 0
  497. for k,v in pairs(cmds) do c = c + 1
  498. local line = Instance.new("TextLabel",list)
  499. line.Name = "Line"..k line.Font = "ArialBold"
  500. line.Text = " "..v.Name line.Size = UDim2.new(1,-4,1/#cmds,0)
  501. line.Position = UDim2.new(0,2,(c-1)/#cmds,0)
  502. line.BackgroundTransparency = 1
  503. line.BackgroundColor3 = Color3.new()
  504. line.TextStrokeTransparency = 0
  505. line.TextStrokeColor3 = Color3.new(1,1,1)
  506. line.TextColor3 = Color3.new()
  507. line.FontSize = "Size18" line.TextXAlignment = "Left"
  508. local desc = Instance.new("TextLabel",line)
  509. desc.Name = "Description" desc.Font = "ArialBold"
  510. desc.FontSize = "Size14" desc.TextXAlignment = "Right"
  511. desc.Size = UDim2.new(1,-2,1,0)
  512. desc.BackgroundTransparency = 1
  513. desc.BackgroundColor3 = Color3.new()
  514. desc.TextStrokeTransparency = 0
  515. desc.TextStrokeColor3 = Color3.new(1,1,1)
  516. desc.Text = v.Description or "No Description"
  517. end
  518. end
  519. local function openmenu() local ranks = {}
  520. list:ClearAllChildren()
  521. for k,v in pairs(Commands) do
  522. if not ranks[v.Rank:lower()] then
  523. table.insert(ranks,v.Rank)
  524. ranks[v.Rank:lower()] = {v}
  525. else
  526. table.insert(ranks[v.Rank:lower()],v)
  527. end
  528. end table.sort(ranks)
  529. for k,v in ipairs(ranks) do
  530. local line = Instance.new("TextButton",list)
  531. line.Name = "Line"..k line.Style = "RobloxButton"
  532. line.Text = v.." ("..#ranks[v:lower()]..")"
  533. line.Size = UDim2.new(1,0,1/#ranks,0)
  534. line.Position = UDim2.new(0,0,(k-1)/#ranks,0)
  535. line.Font = "ArialBold" line.FontSize = "Size18"
  536. line.TextStrokeTransparency = 0
  537. line.TextStrokeColor3 = Color3.new(1,1,1)
  538. line.MouseButton1Down:connect(function()
  539. opensub(v,ranks[v:lower()])
  540. end)
  541. end
  542. end openmenu()
  543. local menu = Instance.new("TextButton",frame) menu.Name = "Menu"
  544. menu.Size = UDim2.new(1,0,0,50) menu.BackgroundTransparency = 1
  545. menu.Position = UDim2.new(0,0,0,-50) menu.TextColor3 = Color3.new()
  546. menu.TextStrokeTransparency = 0 menu.Font = "ArialBold" menu.Text = "Menu"
  547. menu.TextStrokeColor3 = Color3.new(1,1,1) menu.FontSize = "Size18"
  548. menu.MouseButton1Down:connect(function() openmenu() end) return gui
  549. end
  550. function Gui:OutputScreen(player)
  551. local gui = Instance.new("ScreenGui",player:findFirstChild("PlayerGui"))
  552. gui.Name = "einsteinK's ADM Script Output Screen ScreenGui Object Thing"
  553. local frame = Instance.new("Frame",gui) frame.Name = "Output"
  554. frame.Style = "RobloxRound" frame.Size = UDim2.new(0,400,0,400)
  555. frame.Position = UDim2.new(0,0,0.5,-200) local lines,large = {},false
  556. local close = Instance.new("TextButton",frame) close.Name = "Close"
  557. close.Size = UDim2.new(1,0,0,50) close.BackgroundTransparency = 1
  558. close.Position = UDim2.new(0,0,1,0) close.TextColor3 = Color3.new()
  559. close.TextStrokeTransparency = 0 close.Font = "ArialBold" close.Text = "Close"
  560. close.TextStrokeColor3 = Color3.new(1,1,1) close.FontSize = "Size18"
  561. close.MouseButton1Down:connect(function() gui:Destroy() end)
  562. local holder = Instance.new("Frame",frame) holder.Name = "Holder"
  563. holder.Size = UDim2.new(1,0,1,0) holder.BackgroundTransparency = 1
  564. holder.ClipsDescendants = true holder.Active = false
  565. local list = Instance.new("Frame",holder) list.Name = "List"
  566. list.Size = UDim2.new(1,0,1,0) list.BackgroundTransparency = 1
  567. local showbar = Instance.new("Frame",frame) showbar.Name = "ShownScollbar"
  568. showbar.Size = UDim2.new(0,10,1,0) showbar.Position = UDim2.new(1,10,0,0)
  569. showbar.BackgroundColor3 = Color3.new() showbar.BackgroundTransparency = 0.5
  570. local bar = Instance.new("Frame",frame) bar.Name = "Scrollbar"
  571. bar.Size = UDim2.new(0,10,1,0) bar.Position = UDim2.new(1,10,0,0)
  572. bar.BackgroundTransparency = 1 bar.Active = true bar.Draggable = true
  573. local stat = bar:clone() stat.Draggable = false
  574. stat.BackgroundTransparency = 0.5 stat.Parent = bar
  575. local off = 0 bar.Changed:connect(function()
  576. off = off + bar.Position.Y.Offset/100*bar.AbsoluteSize.Y
  577. bar.Position = UDim2.new(1,10,0,0)
  578. off = off > #lines*20 and #lines*20 or off < 385 and 385 or off
  579. list.Position = UDim2.new(0,0,0,-off)
  580. stat.Size = UDim2.new(1,0,100/#lines/100,0)
  581. stat.Position = UDim2.new(0,0,(off-385)/#lines/20/8075*1e4,0)
  582. end) local first = true
  583. local function add(t,c,w)
  584. if t:find("\n") then
  585. for v in t:gmatch("[^\n]+") do
  586. add(v,c,w)
  587. end return
  588. end
  589. if #lines == 100 and first then first = false
  590. table.remove(lines,1):Destroy() --off = off + 20
  591. list.Position = list.Position - UDim2.new(0,0,0,20)
  592. elseif #lines == 100 then
  593. table.remove(lines,1):Destroy()
  594. else off = off + 20
  595. list.Size = list.Size + UDim2.new(0,0,0,20)
  596. list.Position = list.Position - UDim2.new(0,0,0,20)
  597. bar.Position = UDim2.new(1,0,0,0)
  598. end
  599. for k,v in pairs(list:GetChildren()) do
  600. v.Position = v.Position - UDim2.new(0,0,0,20)
  601. end local line = Instance.new("TextLabel",list)
  602. line.BackgroundTransparency = 1
  603. line.TextStrokeTransparency = 0
  604. line.TextStrokeColor3 = c or Color3.new(1,1,1)
  605. line.TextColor3 = Color3.new()
  606. line.TextXAlignment = "Left" table.insert(lines,line)
  607. line.Font = "ArialBold" line.FontSize = "Size18"
  608. line.Size = UDim2.new(1,-50,0,20)
  609. line.Position = UDim2.new(0,50,1,-20)
  610. line.Text = " "..t line.ZIndex = 4
  611. local over = Instance.new("TextLabel",line)
  612. over.BackgroundTransparency = 1
  613. over.TextStrokeTransparency = 0
  614. over.TextStrokeColor3 = Color3.new()
  615. over.TextColor3 = Color3.new(1,1,1)
  616. over.TextXAlignment = "Left"
  617. over.Font = "Arial" over.FontSize = "Size14"
  618. over.Size = UDim2.new(0,50,1,0)
  619. over.ClipsDescendants = true
  620. over.Position = UDim2.new(0,-50,0,0)
  621. over.Text = StringToTime(w or tick())
  622. end for k,v in pairs(Outputted) do add(v.Message,v.Color,v.Time) end
  623. local size = Instance.new("TextButton",frame) size.Name = "Size"
  624. size.Size = UDim2.new(1,0,0,50) size.BackgroundTransparency = 1
  625. size.Position = UDim2.new(0,0,0,-50) size.TextColor3 = Color3.new()
  626. size.TextStrokeTransparency = 0 size.Font = "ArialBold" size.Text = "Enlarge"
  627. size.TextStrokeColor3 = Color3.new(1,1,1) size.FontSize = "Size18"
  628. size.MouseButton1Down:connect(function() large = not large size.Text = large and "Shrink" or "Enlarge"
  629. frame:TweenSize(UDim2.new(0,large and 800 or 400,0,400)) end) return gui,add
  630. end
  631.  
  632. function Inform(plr,msg,dur)
  633. msg = msg:gsub("\\n","\n")
  634. if TimeTablet and ShowTablets[plr.Name] then local first = true
  635. for v in msg:gmatch("[^\n]+") do local c = first and Color3.new(1,1,1)
  636. if v:match("^Usage:") then c = Color3.new(1,0.5,0) end first = q
  637. TimeTablet(dur or 10,plr,v,c or Color3.new(0.75,0.75,0.75))
  638. end return
  639. end Gui:Inform(plr,msg,dur)
  640. end
  641. local M = {}
  642. M.__index = M
  643. function M:Destroy(t)
  644. if t then wait(t) end
  645. for k,v in pairs(self.Tablets) do
  646. v.Part:Destroy()
  647. end self.Tablets = {}
  648. end
  649. function M:Add(t,c)
  650. table.insert(self.Tablets,Tablet(self.Player,t,c or Color3.new(0.75,0.75,0.75)))
  651. end
  652. function M:Set(t) self:Destroy()
  653. self:Add(t,Color3.new(1,1,1))
  654. end
  655. function LiveInform(plr,msg)
  656. if not Tablet then return Gui:LiveInform(plr,msg) end
  657. local t = Tablet(plr,msg,Color3.new(0.75,0.75,0.75))
  658. return setmetatable({Tablets={t},Player=plr},M)
  659. end
  660.  
  661. function StringToTime(t) t = t%86400 local function td(n) return n<10 and "0"..n or n end
  662. return td(math.floor(t/3600))..":"..td(math.floor(t%3600/60)).."."..td(math.floor(t%60))
  663. end
  664.  
  665. function Chatted(plr,msg,sil) local name,command,alias if msg == "" then return end
  666. if not sil then fullprint(GetColor(plr).Color,"[CHAT]","<"..tostring(plr)..">",msg) end
  667. for k,v in pairs(Commands) do
  668. if msg:sub(1,#k+#CommandKey):lower() == k:lower()..CommandKey then
  669. name,command,alias = k,v,k break
  670. else
  671. for a,b in pairs(v.Aliases) do
  672. if msg:sub(1,#b+#CommandKey):lower() == b:lower()..CommandKey then
  673. name,command,alias = k,v,b break
  674. end
  675. end
  676. end
  677. end
  678. if name and command then
  679. if HasRank(plr,command.Rank) then
  680. local suc,err = ypcall(command.Function,plr,msg:sub(#alias+1+#CommandKey),alias)
  681. if err then err = err:gsub(":(%d+):",":%1:\n\t") end
  682. if not suc then fullprint(Color3.new(1),"Command Error for",plr,":\n",err) end
  683. if not suc then Inform(plr,"Command Error:\n\t"..err) end
  684. else
  685. Inform(plr,"You don't have access to that command!")
  686. end
  687. end
  688. end
  689.  
  690. function Spawned(plr,ch)
  691. if Loopkilling[plr.Name] then
  692. ch:BreakJoints()
  693. elseif Jailed[plr.Name] then
  694. if type(Jailed[plr.Name]) == "number" and tick() > Jailed[plr.Name] then
  695. Jailed[plr.Name] = nil
  696. end
  697. local jail = Instance.new("Part",ch) jail.Name = "Jail" jail.Transparency = 0.5
  698. jail.BrickColor = BrickColor.Blue() jail.Size = Vector3.new(1,1,1)
  699. jail.TopSurface = "Smooth" jail.BottomSurface = "Smooth"
  700. local mesh = Instance.new("SpecialMesh",jail) jail.FormFactor = "Custom"
  701. mesh.Scale = Vector3.new(8,8,8) local weld = Instance.new("Weld",jail) mesh.MeshType = "Sphere"
  702. weld.Part0 = plr.Character.Torso weld.Part1 = jail local bp = Instance.new("BodyPosition",jail)
  703. bp.maxForce = Vector3.new(1e99,1e99,1e99) bp.position = ch.Torso.Position+Vector3.new(0,5,0)
  704. if ch:findFirstChild("Humanoid") then ch.Humanoid.Name = "Human" end
  705. end
  706. end
  707.  
  708. local function StatAdded(item)
  709. if item.Name == "EinHUD" then
  710. item.ChildAdded:connect(StatAdded)
  711. for k,v in pairs(item:GetChildren()) do
  712. StatAdded(v)
  713. end
  714. elseif item.Name == "Chatted" then
  715. item.Changed:connect(function(msg)
  716. local player = item.Parent and item.Parent.Parent
  717. if not player or not player:IsA("Player") then return end
  718. ypcall(Chatted,player,msg)
  719. end)
  720. elseif item.Name == "TeamChatted" then
  721. item.Changed:connect(function(msg)
  722. local player = item.Parent and item.Parent.Parent
  723. if not player or not player:IsA("Player") then return end
  724. ypcall(Chatted,player,msg)
  725. end)
  726. end
  727. end
  728.  
  729. function Joined(plr)
  730. for k,v in pairs(Banned) do
  731. if v:lower() == tostring(plr):lower() then
  732. plr:Destroy() game:GetService("Debris"):AddItem(plr,0)
  733. return print("Banned player tried to join:",plr,"0.0")
  734. end
  735. end coroutine.wrap(notifyUpdate)(plr, nil, 10)
  736. JoinTimes[plr.Name] = JoinTimes[plr.Name] or {Left=0}
  737. JoinTimes[plr.Name].Joined = tick()
  738. plr.DescendantAdded:connect(StatAdded)
  739. if ShowTablets[plr.Name] == nil then
  740. ShowTablets[plr.Name] = HasRank(plr,"Admin")
  741. end plr.Chatted:connect(function(msg) Chatted(plr,msg) end)
  742. plr.CharacterAdded:connect(function(ch) ypcall(Spawned,plr,ch) end)
  743. fullprint(Color3.new(0.25,0.5,0.25),"Player joined:",plr,"(",GetRank(plr),")")
  744. for k,v in pairs(plr:GetChildren()) do StatAdded(v) end
  745. if TimeTablet then
  746. ypcall(TimeTablet,15,plr,"Hellu "..plr.Name.."!",Color3.new(1,0,1))
  747. end
  748. end game:GetService("Players").PlayerAdded:connect(Joined)
  749. function Left(plr) if not JoinTimes[plr.Name] then return end
  750. local t = tick()-JoinTimes[plr.Name].Joined JoinTimes[plr.Name].Left = tick()
  751. fullprint(Color3.new(0.5,0.25,0.25),"Player left:",plr,"(",GetRank(plr),")","after",TimeToString(t))
  752. end game:GetService("Players").PlayerRemoving:connect(Left)
  753. Spawn(function() repeat wait() until notifyUpdate
  754. for k,v in pairs(game:GetService("Players"):GetPlayers()) do
  755. pcall(coroutine.wrap(Joined),v)
  756. end end)
  757.  
  758. function LoadData()
  759. print("====================")
  760. dprint("All gear, hats, animations and clothes are gettig loaded (if allowed) [Use commands to wear/give them]")
  761. Data = { } -- Used for storage
  762. Data.Unique = { } -- Used for counting
  763. Data.Gear = { } -- Last updated: 17/04/2012 -- Includes almost all popular gear and a lot more
  764. Data.Hats = { } -- NOT DONE
  765. Data.Animations = { } -- NOT DONE
  766. Data.Clothes = { } -- clothes/PEOPLE/NAME
  767.  
  768. function UnAsset(ass,par)
  769. if ass==nil or par==nil then return end
  770. if #ass:GetChildren()==0 then ass.Parent = par return end
  771. for k,v in pairs(ass:GetChildren()) do
  772. v.Parent = par
  773. end
  774. return
  775. end
  776.  
  777. dprint("Starting registering all stuff and counting unique stuff")
  778.  
  779. if GearAllowed then -- Adding some gear from catalog, can be inserted even with the lock of the InsertService -.-
  780. -- TEMPLATE= Gear["NAME OR A TAG"] = ID OF ITEM -- COMMENT / REAL FULL NAME IF TAG USED INSTEAD OF NAME
  781. -- If you put a tag between the "" instead of the name then you have to put the real name in the comment
  782. Gear = Data.Gear
  783. -- First list added somwhere in November 2011 by einsteinK when created LoadData() and the tool/-command
  784. Gear["Flashbang"] = 16979083 -- Info needed?
  785. Gear["Cola"] = 10472779 -- BloxyCola -.-
  786. Gear["Candy"] = 19382057 -- Candy Cane
  787. Gear["Geolocator"] = 15668963 -- Uh, GPS-thingy?
  788. Gear["Baton"] = 11956382 -- Police Baton (slashything)
  789. Gear["Balloon"] = 29100543 -- Water Ballon
  790. Gear["Paint"] = 18474459 -- Old Paintbucket
  791. Gear["Skateboard"] = 27902303 -- Normal Skateboard
  792. Gear["BCSkateboard"] = 27902388 -- BC Skateboard
  793. Gear["TBCSkateboard"] = 27902398 -- TBC Skateboard
  794. Gear["OBCSkateboard"] = 27902406 -- OBC Skateboard
  795. Gear["Decoy"] = 30392263 -- Decoy Deploy
  796. Gear["Ball"] = 28664212 -- Soccer Ball
  797. Gear["Jetpack"] = 31314966 -- Jetpack
  798. Gear["Moonwalk"] = 32353654 -- Moonwalk Dance Potion
  799. Gear["Slingshot"] = 33382537 -- A nice toy :)
  800. Gear["Frisbee"] = 25158998 -- ROBLOX Frisbee (more fore in the summer)
  801. Gear["Tripmine"] = 11999247 -- Subspace Tripmine
  802. Gear["Boomerang"] = 18479357 -- Does it really flies to australia and come back?
  803. Gear["Torch"] = 31839337 -- Don't play with fire did they always say -.-
  804. Gear["Megaphone"] = 44116233 -- A bit loud maybe -.-
  805. Gear["Pinata"] = 34398938 -- Birthday Pinata
  806. Gear["Picnic"] = 52625744 -- Picnic Basket
  807. Gear["Hotdog"] = 29939404 -- Yummie :)
  808. Gear["Potato"] = 25741198 -- Hot Potato
  809. Gear["Money"] = 16722267 -- Money Bag
  810. Gear["Tent"] = 57229337 -- Instamatic Tent
  811. Gear["Umbrella"] = 44115926 -- Magical Umbrella
  812. Gear["Coil"] = 16688968 -- Gravity Coil
  813. Gear["Gravitygun"] = 34901961 -- Gravity Gun
  814. Gear["Microphone"] = 45754061 -- Me? I won't sing -.-
  815. Gear["Hoverboard"] = 64160547 -- Ghost Hoverboard
  816. Gear["RedPaintballgun"] = 26014536 -- SHOOT AND HIT! Nice color :)
  817. Gear["BluePaintballgun"] = 26017478 -- SHOOT AND HIT! Nice color :)
  818. Gear["GreenPaintballgun"] = 27245855 -- SHOOT AND HIT! Nice color :)
  819. Gear["MagentaPaintballgun"] = 30649735 -- SHOOT AND HIT! Nice color :)
  820. Gear["Radar"] = 29532138 -- Bloxxy Radar
  821. Gear["Barrel"] = 31839260 -- 8-bit Trowhing Barrel
  822. Gear["Cupcake"] = 34399318 -- Cupcake Launcher
  823. Gear["Atomizer"] = 35293856 -- THAT is science!
  824. Gear["Crowbar"] = 21445765 -- Gonna break in? Break out is more fun :)
  825. Gear["Flute"] = 52180863 -- MUSIC!
  826. Gear["Platform"] = 34898883 -- Positronic Platform Producer
  827. Gear["Binoculray"] = 27133214 -- Nha, I like more the television -.-
  828. Gear["Tomahawk"] = 44084783 -- Call of Roblox? Maybe?
  829. Gear["Saxophone"] = 45094376 -- Blow for the sound!
  830. Gear["Tuba"] = 47871635 -- Sonic Boom Tuba
  831. Gear["Bongos"] = 57902997 -- BOOM BOOM BOOM
  832. Gear["PortableGameSystem"] = 58574445 -- Roblox Portable Game System (RGPS)
  833. Gear["PSP"] = 58574445 -- Same as that one here above but for safety this word added -.-
  834. Gear["Wall"] = 35683911 -- Wall Walker
  835. Gear["Banjo"] = 12909278 -- I guess the weirdest guitar?
  836. Gear["Guitar"] = 11419882 -- Red Stratobloxxer
  837. Gear["BlackHole"] = 28277486 -- Black Hole Bomb
  838. Gear["Drum"] = 33866728 -- Drum Kit
  839. Gear["Hammer"] = 33866846 -- Gravitational Radiation Hammer v0.01
  840. Gear["Snowman"] = 67755215 -- Snowman Cannon
  841. Gear["GrappleHook"] = 30393548 -- Grapple Hook
  842. Gear["RemoteMine"] = 33383241 -- Remote Mine
  843. Gear["C4"] = 33383241 -- Same as that one here above but for usefull thingies this word added -.-
  844. Gear["RocketLauncher"] = 32356064 -- Rocket Launcher
  845. Gear["Tornade"] = 47871646 -- This is a bomblike thing, right?
  846. Gear["DarkSpellbook"] = 56561579 -- Dark Spellbook of the Forgotten
  847. Gear["Spellbook"] = 59848474 -- Korblox Deathspeaker's Spell Book
  848. Gear["Flamethrower"] = 33879504 -- Let it burn!
  849. Gear["Spam"] = 65554735 -- Spam Cannon
  850. Gear["Pie"] = 16986805 -- Pumpkin Pi
  851. Gear["NoobTube"] = 27474371 -- Most of the times I use it online as dummies :)
  852. Gear["Firework"] = 20064349 -- Fireworks
  853. -- New gear added to list and tool/-command fixed at 17/04/12 by einsteinK
  854. Gear["Quantum"] = 72644644 -- Create a clone and choose to control yourself or your clone
  855. Gear["Entangler"] = 72644644 -- Same as above, but for the double-like name
  856. Gear["High Five"] = 72644603 -- Big hand 0.0
  857. Gear["Gigantoform"] = 72713855 -- Let it grow :D
  858. Gear["Telamax xTreme Dual Shoulder Cannons"] = 73265108 -- Long long long name! I guess string.find will fix that -.-
  859. Gear["RoMaze"] = 73829202 -- Romazing! Experience it :D
  860. Gear["Spikesplosion"] = 73888479 -- Spiky 0.0
  861. Gear["Remote Explosive Detonator"] = 74385399 -- There is another gear called Remote Mine. If you use "remote" in the command you'll get both
  862. Gear["Detonator"] = 74385399 -- Usefull abrivation for the thing above this
  863. Gear["Razevenge"] = 74385386 -- I got no idea what this is 0.0
  864. Gear["Graviton 3000"] = 74385438 -- Negative gravity for your enemies? Nice!
  865. Gear["Graviton"] = 74385438 -- Usefull for the thing above
  866. Gear["Glory Launcher"] = 74385418 -- Glory Launcher 2012
  867. Gear["Pumpkin Pi"] = 16986805 -- Yamyamyam
  868. Gear["Pumpkin Pie"] = 16986805 -- Some idiots just have to say pie instead of pi -.-
  869. -- New Build tools (they exist from somewhere in March)
  870. Gear["PartSelection"] = 73089166 -- Newest stamper using the library RbxStamper
  871. Gear["BuildDelete"] = 73089190 -- The new deletetool
  872. Gear["CloneTool"] = 73089204 -- Yes, the old stamper had stamper+clone+recentparts in 1 (3-in-1) but this one hasn't anymore -.-
  873. Gear["BuildRotate"] = 73089214 -- New rotatetool, but only a few uses it! Most of the times in roblox build etc :D
  874. Gear["RecentParts"] = 73089229 -- New recenttool, like I said with the clonetool! From 3-in-1 now to 3-in-3 -.-
  875. Gear["ConfigTool"] = 73089239 -- Like it says, to configure some models
  876. Gear["WiringTool"] = 73089259 -- Wire it and play with it!
  877. Gear["ClassicTool"] = 58921588 -- New generation classic tool! huh? o.0
  878. -- Enough buildtools, back to the normal gear!
  879. Gear["Sport Blaster"] = 75550907 -- Sports Victory Blaster
  880. Gear["Victory Blaster"] = 75550907 -- For above, just other name :D
  881. Gear["Rubber Chicken Wand"] = 75550883 -- Like Harry Potter!
  882. Gear["Monster Friend"] = 75941738 -- If you ask me, more monster then friend 0.0
  883. Gear["Kami Potion"] = 66426498 -- Laser eyes? EPIC!
  884. Gear["Kamikaze"] = 66426498 -- I met some people that are really stupid, so this could help then :D
  885. Gear["Alien Parasite"] = 76170515 -- Steal the health of your enemy and give it to yourself! Where stays the UFO?
  886. Gear["Lobster"] = 75906930 -- Random -.-
  887. Gear["Wooden Mallet"] = 75906973 -- Hmmmm, Donkey Kong?
  888. Gear["Long-Range Proton Crossbow"] = 76596269 -- Long name but it worth it :D
  889. Gear["Proton Crossbow"] = 76596269 -- Just in case
  890. Gear["Egg Cannon 9000"] = 76768897 -- Like firing omelets in the desert? GET THIS GUN!
  891. Gear["Lightning Orb"] = 72644629 -- Shoot light at your enemies :D
  892. Gear["Sword of Light"] = 77443461 -- Epic thingy :D
  893. Gear["Light Sword"] = 77443461 -- Same as above, you know, for those idiots -.-
  894. -- New gear added to list at 14/06/2012 by einsteinK
  895. Gear["Rampage Book"] = 82711866 -- Alien on a Rampage Book
  896. Gear["Snarffle"] = 82711870 -- Snarffle from Alien on a Rampage
  897. Gear["RC Tank"] = 83021197 -- Nice ride, uh?
  898. Gear["Tank"] = 83021197 -- Redirect to above
  899. Gear["Shark Launcher"] = 83021217 -- Expected missiles? Sharks!
  900. Gear["Shark"] = 83021217 -- Redirect to above again
  901. Gear["Starfish"] = 83021236 -- Starfish Shuriken
  902. Gear["Shuriken"] = 83021236 -- Same as above
  903. Gear["The Fiery Sun"] = 83021250 -- Sunny day :D
  904. Gear["Sun"] = 83021250 -- Redirect above (not UV)
  905. Gear["Potato Cannon"] = 81847365 -- Raining potatoes!
  906. Gear["Venomshank"] = 68603324 -- Sharp Green Thingy
  907. Gear["Ghostwalker"] = 37816777 -- It's a sword btw -.-
  908. Gear["Police Badge"] = 82358339 -- Hands in teh air!
  909. Gear["Riot Shield"] = 82357079 -- Riot Shield and Billy Club Set
  910. Gear["Portable Justice"] = 82357101 -- Justicistish!
  911. Gear["Cage"] = 82357101 -- Same as above, just name :D
  912. Gear["Taser"] = 82357123 -- Don't tase me bro!
  913. Gear["Military Axe"] = 81847570 -- Spy-axe maybe?
  914. Gear["Ice Shogun"] = 27296122 -- Cool gun!
  915. Gear["Time Watch"] = 81330766 -- James Bond Style
  916. Gear["Firebrand"] = 81154592 -- R$ 20,000 !!! Dafuq?
  917. Gear["Time Bomb"] = 80576952 -- Just in time
  918. Gear["Tee Shirt Cannon"] = 80576928 -- Next one towels
  919. Gear["T-Shirt Cannon"] = 80576928 -- Red. You know -.-
  920. Gear["Spray Paint"] = 80576967 -- Not illegal? lol :D
  921. Gear["Spy Eye"] = 79736563 -- Mission Accepted
  922. Gear["Rail Runner 5000"] = 79446473 -- Trainrails?
  923. Gear["Body Swap Potion"] = 78730532 -- Nice tool!
  924. Gear["Crossbow of the Blades"] = 78665215 -- Sharp!!!
  925. Gear["Flak Cannon"] = 78005022 -- Dangeress Weapon o.0
  926. Gear["Sci-Fi MedVac 4300"] = 78005082 -- Medical Kit
  927. Gear["Health Kit"] = 780050582 -- Extreme redirect
  928. Gear["Blackhole Ray Gun"] = 78005009 -- SpaceWarThing?
  929. Gear["Swordbreaker"] = 77443436 -- Breaks swords? Nice
  930. -- New gear added to list on 28/08/2012 by einsteinK
  931. Gear["Portable Justice"] = 82357101 -- Just a carry-on-jail
  932. Gear["Taser"] = 8235712 -- Shocktheraphy uses this also!
  933. Gear["Riot Shield"] = 82357079 -- Riot Shield and Billy Club Set
  934. Gear["Police Badge"] = 82358339 -- CIA in the house! Where are those hands?
  935. Gear["The Fiery Sun"] = 83021250 -- Carry a fiery sun? fuck logic -.-
  936. Gear["RC Tank"] = 83021197 -- Small, shoots explosives, epic and expensive!
  937. Gear["Tank"] = 83021197 -- Same as above, but people like to say "Tank" without getting 3 other ones or like that
  938. Gear["Dubstep Boombox"] = 84417281 -- Rock teh heck out of this place!
  939. Gear["RoVacuum"] = 84418938 -- For the ladies :P
  940. Gear["EMP Shockmine"] = 85879435 -- It only shoots sparkles :(
  941. Gear["Shockmine"] = 85879435 -- Same as above again
  942. Gear["Torso Cannon"] = 85879465 -- Shoot some bodies, seems legit -.-
  943. Gear["Galactic Forcefield Glove"] = 85879447 -- Just a big bhknbgyuj laser, difficult to aim with
  944. Gear["Dark Assassin Crossbow"] = 86492558 -- Nice weapon, even if it shoots arrows!
  945. Gear["Military Spy Satellite"] = 88885506 -- Do I see Telamon down there?
  946. Gear["Satellite"] = 8885506 -- Same as above, just because the above has a LOOOONG name
  947. Gear["Bluesteel Claw"] = 10758456 -- Sharp handy thingy
  948. Gear["Medusa Head"] = 89487934 -- Creepy ...
  949. Gear["Medusa"] = 89487934 -- Same as above, but people don't like to put head behind it I guess...
  950. Gear["Ghost Minion"] = 89488524 -- Nope, got no idea what this does -.-
  951. Gear["Discus 2012"] = 88885268 -- Olympic Gear :D
  952. Gear["Discus"] = 88885268 -- Easier then 2012 behind it :D Maybe change it when there comes a 2016 -.-
  953. Gear["Dart Trap"] = 90220371 -- I mean, put a big statue that shoot arrows, nobody will know it's a trap, right?
  954. Gear["Tiger Skin"] = 90211299 -- One of the best camos ever, maybe?
  955. Gear["Deluxe Hook Shot"] = 90220438 -- Seems from a high-tech pirate :D
  956. Gear["Bear Mine Gun"] = 90718350 -- Like a remote high-tech bear's claw!
  957. Gear["Anti-Ballistics Force Field"] = 90718618 -- Nice design :D
  958. Gear["Forcefield"] = 90718618 -- Same as above, but shorter, and forcefield connected to be sure
  959. Gear["Exponential Rocket Launcher"] = 90718505 -- THIS, sir, IS AN EPIC ROCKET LAUNCHER!
  960. end
  961.  
  962. Data.Unique.Gear = 0 local tab = {}
  963. 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
  964. print(Data.Unique.Gear.." Unique Gear Registered") wait()
  965.  
  966. if HatsAllowed then
  967. Hats=Data.Hats
  968. -- TEMPLATE= Hats["NAME OR A TAG"] = ID OF ITEM -- COMMENT / REAL FULL NAME IF TAG USED INSTEAD OF NAME
  969. -- If you put a tag between the "" instead of the name then you have to put the real name in the comment
  970. end
  971. Data.Unique.Hats = 0 tab = {}
  972. 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
  973. print(Data.Unique.Hats.." Unique Hats Registered") wait()
  974.  
  975. if AnimationsAllowed then
  976. Animations = Data.Animtions
  977. -- TEMPLATE= Animations["NAME OR A TAG"] = {Left Leg Id, Right Leg Id, Left Arm Id, Left Leg Id, Head Id, Torso Id}
  978. -- If you put a tag between the "" instead of the name then you have to put the real name in the comment
  979. -- !!! Ids are numbers, not strings! -- If there isn't a Id for some of those things, put the number 0 in the place
  980.  
  981. end
  982. Data.Unique.Animations = 0 tab = {}
  983. for k,v in pairs(Data.Animations) do
  984. if not tab[v] then tab[v] = true
  985. Data.Unique.Animations = Data.Unique.Animations+1
  986. end
  987. end
  988. print(Data.Unique.Animations.." Unique Animations Registered") wait()
  989.  
  990. if ClothesAllowed then
  991. Clothes=Data.Clothes
  992. Clothes["Police Agent"] = {1972067,1960211}
  993. Clothes["Sir"] = {19872874,22301510}
  994. Clothes["City Boy"] = {22746098,24319474}
  995. Clothes["White President"] = {8158602,8189523}
  996. Clothes["Black President"] = {19911748,19911763}
  997. Clothes["DC Guy"] = {18014316,13997753}
  998. Clothes["Bunny Guy"] = {37031414,21172424}
  999. Clothes["Sky Guy"] = {37090531,36383519}
  1000. Clothes["Male Worker"] = {11632822,28358526}
  1001. Clothes["Knight"] = {9213397,9212721}
  1002. Clothes["Warrior"] = {9220825,9220844}
  1003. Clothes["Telamon Scythe"] = {21928291,21928606}
  1004. Clothes["Telamon"] = {9291127,10045638}
  1005. Clothes["KVK"] = {67379939,67380080}
  1006. Clothes["Zeralian"] = {85536487,85604354}
  1007. Clothes["Blue Paintball"] = {64845821,64845824}
  1008. Clothes["Camouflage"] = {8235801,8235816}
  1009. Clothes["FEAR"] = {35685613,35681441}
  1010. Clothes["Gentleman"] = {47740174,47740289}
  1011. Clothes["Diamond Armor"] = {70656304,70656384}
  1012. Clothes["Roblox USA"] = {29958574,29958606}
  1013. Clothes["White Angel"] = {64573382,64571623}
  1014. Clothes["Light Ninja"] = {12254875,12254892}
  1015. Clothes["Gryffindor"] = {30069420,33682170}
  1016. Clothes["Everyday I'm shuffling"] = {61950627,45721886}
  1017. Clothes["Sorry for party rocking"] = {69369186,48976690}
  1018. Clothes["It appears you have failed"] = {58430339,24642486}
  1019. Clothes["Half Guest"] = {86115356,86116196}
  1020. Clothes["Guest"] = {88949090,88949360}
  1021. -- TEMPLATE= Clothes["NAME OR A TAG"] = {Shirt Id, Pants Id} -- COMMENT / REAL FULL NAME IF TAG USED INSTEAD OF NAME
  1022. -- If you put a tag between the "" instead of the name then you have to put the real name in the comment
  1023. -- !!! Ids are numbers, not strings! -- If there isn't a Id for some of those things, put the number 0 in the place
  1024. end
  1025. Data.Unique.Clothes = 0 tab = {}
  1026. 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
  1027. print(Data.Unique.Clothes.." Unique Clothes Registered") wait() tab=nil
  1028.  
  1029. function getCatalogGear(term)
  1030. local result = { } term = tostring(term):lower()
  1031. for k,v in pairs(Data.Gear) do
  1032. if k:lower() == term then table.insert(result,v) return {v} end
  1033. kl = string.lower(tostring(k))
  1034. tl = string.lower(tostring(term))
  1035. if tl:find(kl)~=nil then
  1036. table.insert(result,v)
  1037. elseif kl:find(tl)~=nil then
  1038. table.insert(result,v)
  1039. end
  1040. end
  1041. if #result == 0 then return nil end
  1042. return result
  1043. end
  1044. function getCatalogItems(tab,term)
  1045. local result = {} term = tostring(term):lower()
  1046. for k,v in pairs(tab) do
  1047. if k:lower() == term then table.insert(result,v) return {v} end
  1048. local kl,tl = tostring(k):lower(),tostring(term):lower()
  1049. if tl:find(kl) or kl:find(tl) then
  1050. table.insert(result,v)
  1051. end
  1052. end if #result == 0 then return #result > 0 and result end
  1053. end
  1054. dprint("All gear, hats, animations and clothes succesfully loaded (if allowed) [Use commands to wear/give them]")
  1055. print("====================")
  1056. end LoadData()
  1057.  
  1058. local lastCheck,lastS = 0
  1059. function getUpdateService()
  1060. if lastCheck+300<tick() then local lS = nil
  1061. local s,e = ypcall(function() lS = game:GetService("MarketplaceService"):GetProductInfo(108283343) end)
  1062. lastS = lS dprint(s,e,lastS) if not s then return nil end lastCheck = tick()
  1063. local d = tostring(game:GetService("MarketplaceService"):GetProductInfo(123802079).Description)
  1064. Devs = {} for v in tostring(d):gsub("[dD]evs:",""):gmatch("[^,]+") do table.insert(Devs,v) end
  1065. end dprint("Got Data:",lastS) return lastS
  1066. end if Update then coroutine.wrap(function() getUpdateService() while wait(60) do getUpdateService() end end)() end
  1067.  
  1068. function getData()
  1069. local r,s = {}, getUpdateService()
  1070. if not s then return nil end
  1071. if not s.Description then return nil end
  1072. r.Description = s.Description:sub(s.Description:find("== DESC ==")+12)
  1073. r.Version = s.Name:match("%d+%.%d+")
  1074. r.NewId = tonumber(({s.Name:match("%(%d+%)"):gsub("%(",""):gsub("%)","")})[1])
  1075. local it = r.Version:gmatch("%d+")
  1076. r.VersionMain = tonumber(it())
  1077. r.VersionSub = tonumber(it())
  1078. r.Name = "einsteinK's ADM script V"..tostring(r.Version)
  1079. r.Url = "http://roblox.com/trusted-item?id="..r.NewId
  1080. return r
  1081. end
  1082.  
  1083. function checkUpdate(currentVersion, mainOnly)
  1084. local it = currentVersion:gmatch("%d+")
  1085. local data = getData()
  1086. if not data then return false end
  1087. local main,sub = tonumber(it()),tonumber(it())
  1088. if main<data.VersionMain then return true end
  1089. if not mainOnly and main==data.VersionMain then
  1090. return sub<data.VersionSub
  1091. end return false
  1092. end
  1093.  
  1094. coroutine.wrap(function()
  1095. wait(10)
  1096. print("=~= einsteinK's ADM Update Notifier =~=")
  1097. if checkUpdate(Version,true) then
  1098. print("Result: New main version out!")
  1099. elseif checkUpdate(Version) then
  1100. print("Result: New sub version out!")
  1101. else
  1102. print("Result: Running latest version!")
  1103. end
  1104. print("=~= einsteinK's ADM Update Notifier =~=")
  1105. end)()
  1106.  
  1107. function notifyUpdate(player, force, timer)
  1108. if not Update then return end
  1109. if timer then wait(timer) end
  1110. if checkUpdate(Version,(MainUpdate and not force)) then
  1111. local msg,data = LiveInform(player,"Downloading data ..."),getData()
  1112. if force then msg:Set(force and "You forced an update check! Result:") else wait(1) end
  1113. msg:Set("A new version of einsteinK's ADM script is released!")
  1114. msg:Add("\""..getData().Name.."\"")
  1115. msg:Add("This version: "..Version.." New version: "..getData().Version)
  1116. msg:Add("Get it at: "..getData().Url)
  1117. msg:Add("Attached Changelog: \n"..getData().Description)
  1118. msg:Destroy(30)
  1119. elseif force then
  1120. Inform(player,"No "..((MainUpdate and (not force) and "main") or "").." update",5)
  1121. end
  1122. end
  1123.  
  1124. function Split(msg) if not msg then return end return msg:match("(.-)"..CommandKey.."(.+)") end
  1125.  
  1126. local OpenOutput,OutputFunctions = {},setmetatable({},{__mode="k"})
  1127. function GetOutput(plr)
  1128. plr = GetPlayer(plr)
  1129. if plr then
  1130. if OpenOutput[plr.Name] then
  1131. local out = OpenOutput[plr.Name]
  1132. if out.Parent and out.Parent.Parent == plr then
  1133. return out,OutputFunctions[out]
  1134. end
  1135. end
  1136. local out,fun = Gui:OutputScreen(plr)
  1137. OpenOutput[plr.Name] = out
  1138. OutputFunctions[out] = fun
  1139. return out,fun
  1140. end
  1141. end Printed:connect(function(t,c) for k,v in pairs(OutputFunctions) do v(t,c,tick()) end end)
  1142. Printed:connect(function() if Outputted[100] then table.remove(Outputted,1) end end)
  1143.  
  1144. local sbbu = script and script:findFirstChild("sourcing")
  1145. local lsbbu = script and script:findFirstChild("localsourcing")
  1146. local function ScriptError(tag) wait() if tag.Name ~= "Error" then return end
  1147. fullprint(Color3.new(0.5,0.25),"Script error:",tag.Parent,tag.Value)
  1148. end
  1149. function Script(source,par,ls) local a
  1150. if ls and NewLocalScript or not ls and NewScript then
  1151. return (ls and NewLocalScript or NewScript)(source,par)
  1152. end
  1153. if ls and not lsbbu or not ls and not sbbu then error("No (local)script source?",0) end
  1154. if ls then a = lsbbu:clone() else a = sbbu:clone() end
  1155. local context = Instance.new("StringValue")
  1156. context.Name = "Context" context.Value = source
  1157. context.Parent = a a.ChildAdded:connect(ScriptError)
  1158. while context.Value ~= source do wait() end
  1159. if par then a.Parent = par else a.Parent = workspace end
  1160. local b = Instance.new("IntValue")
  1161. b.Name = "Is A Created Script" b.Parent = a return a
  1162. end
  1163.  
  1164. -- NewCommand(name,func,rank,desc,...) func(plr,msg,alias)
  1165. do -- Creator commands
  1166. NewCommand("Shutdown",function()
  1167. for k,v in pairs(game:GetService("Players"):GetPlayers()) do v:Kick() end
  1168. game:GetService("Players").PlayerAdded:connect(function(p) p:Kick() end)
  1169. end,"Creator","Shutdowns the server","sd","isd")
  1170. NewCommand("Admin",function(...)
  1171. for k,v in pairs(FindPlayers(...)) do
  1172. table.insert(Admins,v.Name)
  1173. Inform(v,"You're an admin!")
  1174. end
  1175. end,"Creator","Admins a player")
  1176. NewCommand("Unadmin",function(...)
  1177. for k,v in pairs(FindPlayers(...)) do
  1178. for a,b in pairs(Admins) do
  1179. if b:lower() == v.Name:lower() then
  1180. Admins[a] = b
  1181. end
  1182. end Inform(v,"You're no longer an admin!")
  1183. end
  1184. end,"Creator","Unadmins a player")
  1185. NewCommand("List Admins",function(plr)
  1186. select(2,GetOutput(plr))(table.concat(Admins,"\n& "))
  1187. end,"Creator","List all admins","listadmins","adminlist","admins")
  1188. NewCommand("List Banned",function(plr)
  1189. select(2,GetOutput(plr))(table.concat(Banned,"\n& "))
  1190. end,"Creator","List all banned people","listbanned","bannedlist","banlist","banned")
  1191. NewCommand("Ban Player",function(plr,msg) local a,b = Split(msg) a = a or msg
  1192. if b then table.insert(Banned,a) return Inform(plr,a.." is banned!") end
  1193. local r = {} for k,v in pairs(FindPlayers(plr,a)) do
  1194. table.insert(Banned,v.Name)
  1195. table.insert(r,v.Name)
  1196. game:GetService("Debris"):AddItem(v,0)
  1197. end Inform(plr,"Banned: "..table.concat(r,", ")) print("Banned: "..table.concat(r,", "))
  1198. end,"Creator","Ban someone. Use forceban to ban an offline player","banplayer","forceban","forcebanplayer","ban")
  1199. end
  1200.  
  1201. do -- Developper commands
  1202. NewCommand("Script",function(plr,msg) local f,e = loadstring(msg)
  1203. if not f then return Inform(plr,"This will no matter what error: "..e) end
  1204. Script(msg,workspace) Inform(plr,"The script is launched!")
  1205. end,"Developer","Makes a script with the given source in the workspace","c")
  1206. NewCommand("LocalScript",function(plr,msg,al)
  1207. local a,b = Split(msg) local f,e = loadstring(b or "error'lol'")
  1208. if not a then return Inform(plr,"Usage: "..al..CommandKey.."PLAYER(S)"..CommandKey.."SOURCE") end
  1209. if not f then return Inform(plr,"This will no matter what error: "..e) end
  1210. for k,v in pairs(FindPlayers(plr,a)) do
  1211. Script(b,v:findFirstChild("Backpack"),true)
  1212. end
  1213. end,"Developer","Makes a localscript for that player (player,source)","l","local")
  1214. NewCommand("Loadstring",function(plr,msg)
  1215. local output,func = GetOutput(plr)
  1216. local f,e = loadstring(msg)
  1217. if not f then
  1218. return func("[ERROR] Parsing Error: "..e,Color3.new(1))
  1219. end local function lprint(...) func(TupleToString("<OUTPUT>",...)) end
  1220. setfenv(f,setmetatable({print=lprint,player=plr},{__index=getfenv(f),__newindex=getfenv(f)}))
  1221. func("Running your function (print works & player points at you)") local suc,err = ypcall(f)
  1222. if suc then return func("Your function ran perfect!",Color3.new(0,1)) end
  1223. func("[ERROR] Running Error: "..err,Color3.new(1))
  1224. end,"Developer","Runs the given source in the adminscript (+ error handling)","run","y")
  1225. NewCommand("Restart",function()
  1226. script:clone().Parent = workspace
  1227. Chatted,Joined = script:Destroy()
  1228. end,"Developer","Restarts & Resets the adminscript")
  1229. end
  1230.  
  1231. do -- Admin1 (Basic) commands
  1232. NewCommand("Error",function(p,e) error(e) end,"Admin1 (Basic)","LOOOOL")
  1233. NewCommand("Output",function(plr,msg)
  1234. local a,b = Split(msg) a = a or msg
  1235. for k,v in pairs(FindPlayers(plr,a=="" and "me" or a)) do
  1236. GetOutput(v) if b then GetOutput(v):Destroy() end
  1237. end
  1238. end,"Admin1 (Basic)","Shows the output for the given player or you","out")
  1239. NewCommand("Kick Player",function(...) local p = {}
  1240. for k,v in pairs(FindPlayers(...)) do
  1241. if select(2,GetRank(v)) >= select(2,GetRank(...)) then
  1242. table.insert(p,v.Name) Inform(v,tostring(...).." tried to kick you")
  1243. else
  1244. game:GetService("Debris"):AddItem(v,0)
  1245. end
  1246. end if #p > 0 then Inform(...,"Those couldn't get kicked: "..table.concat(p,", ")) end
  1247. end,"Admin1 (Basic)","Kicks the given player(s) out of the game","kickplayer","kick","byebye")
  1248. NewCommand("Respawn",function(...)
  1249. for k,v in pairs(FindPlayers(...)) do
  1250. v:LoadCharacter()
  1251. end
  1252. end,"Admin1 (Basic)","Respawns the given player(s)","resp","res")
  1253. local function roffset() return CFrame.Angles(0,math.rad(math.random(1,360)),0) * CFrame.new(5,0,0) end
  1254. local function teleport(a,b) a.Character.Torso.CFrame = b.Character.Torso.CFrame * roffset() end
  1255. NewCommand("Teleport",function(plr,msg,al)
  1256. if al:lower() == "tpto" then
  1257. if not plr.Character or not plr.Character:findFirstChild("Torso") then
  1258. return Inform(plr,"You cannot teleport!")
  1259. end
  1260. for k,v in pairs(FindPlayers(plr,msg)) do
  1261. if v.Character and v.Character:findFirstChild("Torso") then return teleport(plr,v) end
  1262. end return Inform(plr,"No (teleportable) target found!")
  1263. elseif al:lower() == "tptome" then
  1264. if not plr.Character then return Inform(plr,"You cannot be teleported to!") end
  1265. for k,v in pairs(FindPlayers(plr,msg)) do
  1266. if v.Character then teleport(v,plr) end
  1267. end
  1268. else local a,b = Split(msg) local t,ta = FindPlayers(plr,a or "me"),{}
  1269. if not b then return Inform(plr,"Usage: "..al..CommandKey.."PLAYERS"..CommandKey.."PLAYER") end
  1270. for k,v in pairs(t) do
  1271. if v.Character and v.Character:findFirstChild("Torso") then table.insert(ta,v) end
  1272. end
  1273. if #ta == 0 then return Inform(plr,"Need at least one (teleportable) player to choose out to teleport to") end
  1274. for k,v in pairs(FindPlayers(plr,b)) do teleport(v,ta) end
  1275. end
  1276. end,"Admin1 (Basic)","Teleport yourself or others. players[, player2]","tp","tpto","tptome")
  1277. NewCommand("Change Stat",function(plr,msg,al)
  1278. local a,b = Split(msg) local b,c = Split(c) local ckey = CommandKey
  1279. if not b then return Inform(plr,"Usage: "..al..ckey.."PLAYERS"..ckey.."STAT"..ckey.."VALUE") end
  1280. for k,v in pairs(FindPlayers(plr,a)) do
  1281. if v:findFirstChild("leaderstats") and v.leaderstats:findFirstChild(b) then
  1282. pcall(function() v.leaderstats[b].Value = al end)
  1283. end
  1284. end
  1285. end,"Admin1 (Basic)","Change the leaderstats of yourself or others. players,statname[,value]")
  1286. NewCommand("Kill",function(...)
  1287. for k,v in pairs(FindPlayers(...)) do
  1288. if v.Character then
  1289. v.Character:BreakJoints()
  1290. end
  1291. end
  1292. end,"Admin1 (Basic)","Kills the given player(s)","dead")
  1293. NewCommand("Loopkill",function(...)
  1294. for k,v in pairs(FindPlayers(...)) do
  1295. Loopkilling[v.Name] = true
  1296. end
  1297. end,"Admin1 (Basic)","Kills the given player(s) on respawn","loopdead","loop")
  1298. NewCommand("Unloopkill",function(...)
  1299. for k,v in pairs(FindPlayers(...)) do
  1300. Loopkilling[v.Name] = nil
  1301. end
  1302. end,"Admin1 (Basic)","Removes the loopkill of the given player","unloopdead","unloop")
  1303. NewCommand("Heal",function(...)
  1304. for k,v in pairs(FindPlayers(...)) do
  1305. if v.Character and v.Character:findFirstChild("Humanoid") then
  1306. v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth
  1307. end
  1308. end
  1309. end,"Admin1 (Basic)","Heals the given player(s)","fullhealth")
  1310. NewCommand("Walkspeed",function(plr,msg,al)
  1311. if al:lower() == "walk" then
  1312. for k,v in pairs(FindPlayers(plr,msg)) do
  1313. if v.Character and v.Character:findFirstChild("Humanoid") then
  1314. v.Character.Humanoid.WalkSpeed = 16
  1315. end
  1316. end
  1317. elseif al:lower() == "run" then
  1318. for k,v in pairs(FindPlayers(plr,msg)) do
  1319. if v.Character and v.Character:findFirstChild("Humanoid") then
  1320. v.Character.Humanoid.WalkSpeed = 33
  1321. end
  1322. end
  1323. end local who,how = Split(msg)
  1324. if not who or not how then
  1325. return Inform(plr,"Usage: walkspeed"..CommandKey.."PLAYERS"..CommandKey.."SPEED")
  1326. end if not tonumber(how) then return Inform(plr,"Speed has to be a number") end
  1327. for k,v in pairs(FindPlayers(plr,msg)) do
  1328. if v.Character and v.Character:findFirstChild("Humanoid") then
  1329. v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth
  1330. end
  1331. end
  1332. end,"Admin1 (Basic)","Changes the walkspeed of the given player(s)","ws","speed","walk","run")
  1333. NewCommand("Message",function(plr,msg)
  1334. for k,v in pairs(FindPlayers(plr,"all")) do
  1335. Inform(plr,plr.Name..": "..msg)
  1336. end
  1337. end,"Admin1 (Basic)","Sends everyone the given message","msg","m","say")
  1338. NewCommand("Hint",function(plr,msg)
  1339. local hint = workspace:findFirstChild("ServerHint")
  1340. if not hint then
  1341. hint = Instance.new("Hint",workspace)
  1342. hint.Name = "ServerHint"
  1343. end hint.Text = msg
  1344. if msg:lower() == "off" or msg == "" then
  1345. hint:Destroy()
  1346. end
  1347. end,"Admin1 (Basic)","Sets the server hint ('off' for none)","h")
  1348. NewCommand("Explode",function(...)
  1349. for k,v in pairs(FindPlayers(...)) do
  1350. if v.Character then
  1351. local ex = Instance.new("Explosion")
  1352. ex.Position = v.Character:GetModelCFrame().p
  1353. ex.Parent = workspace
  1354. end
  1355. end
  1356. end,"Admin1 (Basic)","Makes the given players explode","boom","ex")
  1357. NewCommand("Gear",function(plr,msg)
  1358. local who,what = Split(msg)
  1359. if not who then
  1360. who = "me"
  1361. what = msg
  1362. end
  1363. local gear = getCatalogItems(Data.Gear,what)
  1364. if not gear then return Inform(plr,"No gear with that name found!") end
  1365. if #gear > 1 then Inform(plr,"More than 1 gear found! Giving them all") end
  1366. local pa = Instance.new("Model")
  1367. for k,v in pairs(gear) do game:GetService("InsertService"):LoadAsset(v).Parent = pa end
  1368. for k,v in pairs(FindPlayers(plr,who)) do
  1369. for a,b in pairs(pa:GetChildren()) do
  1370. for a,b in pairs(b:GetChildren()) do
  1371. b:clone().Parent = v:findFirstChild("Backpack")
  1372. end
  1373. end
  1374. end
  1375. end,"Admin1 (Basic)","Download almost any gear by name (Ex: gear"..CommandKey.."me"..CommandKey.."jetpack)","tool")
  1376. NewCommand("Remove Tools",function(...)
  1377. for k,v in pairs(FindPlayers(...)) do
  1378. if v.Character and v.Character:findFirstChild("Humanoid") then
  1379. pcall(v.Character.Humanoid.UnequipTools,v.Character.Humanoid)
  1380. end
  1381. if v:findFirstChild("Backpack") then
  1382. v.Backpack:ClearAllChildren()
  1383. end
  1384. end
  1385. end,"Admin1 (Basic)","Clears the given player(s) backpack","removetools","rtools","clearbackpack","notools")
  1386. NewCommand("Build Tools",function(...)
  1387. for k,v in pairs(FindPlayers(...)) do
  1388. if v:findFirstChild("Backpack") and not v.Backpack:findFirstChild("BuildTool") then
  1389. for a,b in pairs({"Clone","Grab","GameTool","Hammer"}) do
  1390. local t = Instance.new("HopperBin")
  1391. t.BinType = v t.Parent = v.Backpack
  1392. end
  1393. for a,b in pairs({73089166,73089190,73089259,73089239}) do
  1394. game:GetService("InsertService"):LoadAsset(b):GetChildren()[1].Parent = v.Backpack
  1395. end
  1396. end
  1397. end
  1398. end,"Admin1 (Basic)","Gives you the classic and modern buildtools","buildtools","btools","build")
  1399. local function children(o,t)
  1400. for k,v in pairs(o:GetChildren()) do
  1401. table.insert(t,v) children(v,t)
  1402. end return t
  1403. end
  1404. NewCommand("Visible",function(...)
  1405. for k,v in pairs(FindPlayers(...)) do
  1406. if v.Character then
  1407. for k,v in pairs(children(v.Character,{})) do
  1408. if v:IsA("BasePart") then
  1409. local t = Instance.new("NumberValue",v)
  1410. t.Name = "OldTransparency"
  1411. t.Value = v.Transparency wait()
  1412. end
  1413. end
  1414. end
  1415. end
  1416. end,"Admin1 (Basic)","Makes the given players visible","see","vis","untrans")
  1417. NewCommand("Invisible",function(...)
  1418. for k,v in pairs(FindPlayers(...)) do
  1419. if v.Character then
  1420. for k,v in pairs(children(v.Character,{})) do
  1421. if v:IsA("NumberValue") and v.Name == "OldTransparency" and v.Parent:IsA("BasePart") then
  1422. v.Parent.Transparency = v.Value v:Destroy() wait()
  1423. end
  1424. end
  1425. end
  1426. end
  1427. end,"Admin1 (Basic)","Makes the given players invisible","unsee","invis","trans")
  1428. NewCommand("Punish",function(...)
  1429. for k,v in pairs(FindPlayers(...)) do
  1430. if v.Character then
  1431. v.Character.Parent = game:GetService("Lighting")
  1432. end
  1433. end
  1434. end,"Admin1 (Basic)","Puts the given player(s)' character in Lighting")
  1435. NewCommand("Unpunish",function(...)
  1436. for k,v in pairs(FindPlayers(...)) do
  1437. v.Character = workspace
  1438. end
  1439. end,"Admin1 (Basic)","Puts the given player(s)' character in Workspace")
  1440. end
  1441.  
  1442. do -- Admin2 (Build)
  1443. NewCommand("New Part",function(plr,msg)
  1444. local part = Instance.new("Part",workspace)
  1445. part.Name = "ADM Spawned Part"
  1446. local x,y,z = Split(msg) local y2,z = Split(y)
  1447. x,y,z = tonumber(x or msg),tonumber(y2 or y),tonumber(z)
  1448. part.Size = Vector3.new(x or 4,y or 1.2,z or 2)
  1449. if plr.Character then
  1450. part.Position = plr.Character:GetModelCFrame().p + Vector3.new(math.random(-5,5),5,math.random(-5,5))
  1451. end
  1452. end,"Admin2 (Build)","Drops a part near you with the given size (if given)","newpart","part")
  1453. NewCommand("Clear Parts",function(plr,msg)
  1454. local pos = plr.Character and plr.Character:GetModelCFrame().p or Vector3.new()
  1455. local dist = tonumber(msg) or 9999999
  1456. for k,v in pairs(workspace:GetChildren()) do
  1457. if v.Name == "ADM Spawned Part" and (v.Position-pos).magnitude <= dist then
  1458. v:Destroy() wait()
  1459. end
  1460. end
  1461. end,"Admin2 (Build)","Deletes all created parts, in range if a number is given","clearparts","clearpart")
  1462. NewCommand("Clear Terrain",function()
  1463. workspace.Terrain:Clear()
  1464. end,"Admin2 (Build)","Deletes the hole terrain (can be a bit laggy)","clearterrain","cterrain","deleteterrain")
  1465. NewCommand("Baseplate",function()
  1466. while workspace:findFirstChild("Base") do workspace.Base:Destroy() end
  1467. while workspace:findFirstChild("BasePlate") do workspace.BasePlate:Destroy() end
  1468. local p = Instance.new("Part",workspace) p.Name = "Base"
  1469. p.Anchored = true p.Material = "Concrete"
  1470. p.Size = Vector3.new(500,0,500) p.CFrame = CFrame.new(0,0.6,0)
  1471. end,"Admin2 (Build)","Creates a new baseplate in the center of the map","bp","base")
  1472. NewCommand("Terrain Baseplate",function()
  1473. for x=-50,50 do wait()
  1474. for z=-50,50 do
  1475. workspace.Terrain:SetCell(x,1,z,1,0,0)
  1476. end
  1477. end
  1478. end,"Admin2 (Build)","Creates a new baseplate out of terrain","terrainbaseplate","terrainbp","tbp","terrainbase")
  1479. NewCommand("Clear Dead",function()
  1480. for k,v in pairs(workspace:GetChildren()) do
  1481. for a,b in pairs(v:GetChildren()) do
  1482. if b:IsA("Humanoid") and b.Health < 1 then
  1483. v:Destroy() wait()
  1484. end
  1485. end
  1486. end
  1487. end,"Admin2 (Build)","Deletes all dead characters in workspace except players","cleardead","deadclear")
  1488. end
  1489.  
  1490. do -- Admin3 (Lighting)
  1491. NewCommand("Set Time",function(plr,msg)
  1492. pcall(function() game:GetService("Lighting").TimeOfDay = msg end)
  1493. Inform(plr,"Current TimeOfDay: "..game:GetService("Lighting").TimeOfDay)
  1494. end,"Admin3 (Lighting)","Sets the time to the given time and prints it ('' for only printing)","settime","time")
  1495. NewCommand("Set GlobalShadows",function(plr,msg)
  1496. if msg:lower() == "true" or msg:lower() == "t" or msg == "1" or msg == "on" then
  1497. game:GetService("Lighting").GlobalShadows = true Inform(plr,"GlobalShadows set to true")
  1498. elseif msg:lower() == "false" or msg:lower() == "f" or msg == "0" or msg == "off" then
  1499. game:GetService("Lighting").GlobalShadows = false Inform(plr,"GlobalShadows set to false")
  1500. else local o = game:GetService("Lighting").GlobalShadows
  1501. game:GetService("Lighting").GlobalShadows = not o
  1502. Inform(plr,"GlobalShadows switched from "..tostring(o).." to "..tostring(not o))
  1503. end
  1504. end,"Admin3 (Lighting)","Sets GlobalShadows to true/false","setglobalshadows","globalshadows","sgs","shadows")
  1505. NewCommand("Set Ambient",function(plr,msg)
  1506. local x,y,z = Split(msg) local y2,z = y and Split(y)
  1507. x,y,z = tonumber(x or msg),tonumber(y or y2),tonumber(z)
  1508. game:GetService("Lighting").Ambient = Color3.new(x and x/255,y and y/255,z and z/255)
  1509. end,"Admin3 (Lighting)","Sets the Ambient to the Color3 (r,g,b)","setambient","ambient")
  1510. NewCommand("Set OutdoorAmbient",function(plr,msg)
  1511. local x,y,z = Split(msg) local y2,z = y and Split(y)
  1512. x,y,z = tonumber(x or msg),tonumber(y or y2),tonumber(z)
  1513. game:GetService("Lighting").OutdoorAmbient = Color3.new(x and x/255,y and y/255,z and z/255)
  1514. end,"Admin3 (Lighting)","Sets the OutdoorAmbient to the Color3 (r,g,b)","setoutdoorambient","outdoorambient")
  1515. NewCommand("Set ShadowColor",function(plr,msg)
  1516. local x,y,z = Split(msg) local y2,z = y and Split(y)
  1517. x,y,z = tonumber(x or msg),tonumber(y or y2),tonumber(z)
  1518. game:GetService("Lighting").ShadowColor = Color3.new(x and x/255,y and y/255,z and z/255)
  1519. end,"Admin3 (Lighting)","Sets the ShadowColor to the Color3 (r,g,b)","setshadowcolor","shadowcolor","shadow")
  1520. NewCommand("Set FogColor",function(plr,msg)
  1521. local x,y,z = Split(msg) local y2,z = y and Split(y)
  1522. x,y,z = tonumber(x or msg),tonumber(y or y2),tonumber(z)
  1523. game:GetService("Lighting").FogColor = Color3.new(x and x/255,y and y/255,z and z/255)
  1524. end,"Admin3 (Lighting)","Sets the FogColor to the Color3 (r,g,b)","setfogcolor","fogcolor")
  1525. NewCommand("Set Fog",function(plr,msg,al)
  1526. if al:lower() == "fogend" then
  1527. game:GetService("Lighting").FogEnd = tonumer(msg) or 100000 return
  1528. elseif al:lower() == "fogstart" then
  1529. game:GetService("Lighting").FogStart = tonumer(msg) or 0 return
  1530. end local a,b = Split(msg) if not a then a = tonumber(msg) end
  1531. game:GetService("Lighting").FogStart = tonumer(a) or 0
  1532. game:GetService("Lighting").FogEnd = tonumer(b) or 100000
  1533. end,"Admin3 (Lighting)","Sets the FogStart and End to the given value(s)","setfog","fog","fogend","fogstart")
  1534. NewCommand("Set Brightness",function(plr,msg)
  1535. game:GetService("Lighting").Brightness = tonumber(msg) or 1
  1536. end,"Admin3 (Lighting)","Sets the Brightness to the given number","setbrightness","brightness","bright")
  1537. end
  1538.  
  1539. do -- Admin4 (Fun) commands
  1540. NewCommand("Forcefield",function(...)
  1541. for k,v in pairs(FindPlayers(...)) do
  1542. Instance.new("ForceField",v.Character).Name = "ADM ForceField"
  1543. end
  1544. end,"Winner2","Gives the given player(s) a forcefield","ff")
  1545. NewCommand("Unforcefield",function(...)
  1546. for k,v in pairs(FindPlayers(...)) do
  1547. if v.Character then
  1548. while v.Character:findFirstChild("ADM ForceField") do
  1549. v.Character["ADM ForceField"]:Destroy()
  1550. end
  1551. end
  1552. end
  1553. end,"Winner2","Removes the forcefield of the given player(s)","unff")
  1554. NewCommand("Spin",function(...)
  1555. for k,v in pairs(FindPlayers(...)) do
  1556. if v.Character and v.Character:findFirstChild("Torso") then
  1557. local ba = Instance.new("BodyAngularVelocity")
  1558. ba.Name = "ADM Spin" ba.Parent = v.Character.Torso
  1559. ba.maxTorque = Vector3.new(0,1e99,0)
  1560. ba.angularvelocity = Vector3.new(0,50,0)
  1561. end
  1562. end
  1563. end,"Winner2","Makes the given player(s) spin on and on and on")
  1564. NewCommand("Unspin",function(...)
  1565. for k,v in pairs(FindPlayers(...)) do
  1566. if v.Character and v.Character:findFirstChild("Torso") then
  1567. if v.Character.Torso:findFirstChild("ADM Spin") then
  1568. v.Character.Torso["ADM Spin"]:Destroy()
  1569. end
  1570. end
  1571. end
  1572. end,"Winner2","Makes the given player(s) spin on and on and on")
  1573. NewCommand("Fling",function(...)
  1574. for k,v in pairs(FindPlayers(...)) do
  1575. if v.Character and v.Character:findFirstChild("Torso") then
  1576. v.Character.Torso.Velocity = Vector3.new(1000,1000,0)
  1577. end
  1578. end
  1579. end,"Winner2","Flings the player(s) close to the end of the universe","slinger","sling")
  1580. NewCommand("Fire",function(...)
  1581. for k,v in pairs(FindPlayers(...)) do
  1582. if v.Character and v.Character:findFirstChild("Torso") then
  1583. local fire = Instance.new("Fire",Torso) fire.Heat = 25
  1584. fire.Name = "ADM Fire" fire.Size = 10
  1585. end
  1586. end
  1587. end,"Winner2","Puts the given player(s) on fire","burn")
  1588. NewCommand("Unfire",function(...)
  1589. for k,v in pairs(FindPlayers(...)) do
  1590. if v.Character and v.Character:findFirstChild("Torso") then
  1591. while v.Character.Torso:findFirstChild("ADM Fire") do
  1592. v.Character.Torso["ADM Fire"]:Destroy()
  1593. end
  1594. end
  1595. end
  1596. end,"Winner2","Puts the fire of the given player(s) out","unburn")
  1597. NewCommand("Smoke",function(...)
  1598. for k,v in pairs(FindPlayers(...)) do
  1599. if v.Character and v.Character:findFirstChild("Torso") then
  1600. local smoke = Instance.new("Smoke",Torso) smoke.Size = 5
  1601. smoke.Name = "ADM Smoke" smoke.Opacity = 1
  1602. end
  1603. end
  1604. end,"Winner2","Puts the given player(s) on fire")
  1605. NewCommand("Unsmoke",function(...)
  1606. for k,v in pairs(FindPlayers(...)) do
  1607. if v.Character and v.Character:findFirstChild("Torso") then
  1608. while v.Character.Torso:findFirstChild("ADM Smoke") do
  1609. v.Character.Torso["ADM Smoke"]:Destroy()
  1610. end
  1611. end
  1612. end
  1613. end,"Winner2","Puts the fire of the given player(s) out")
  1614. NewCommand("Trip",function(...)
  1615. for k,v in pairs(FindPlayers(...)) do
  1616. if v.Character and v.Character:findFirstChild("Torso") then
  1617. v.Character.Torso.CFrame = CFrame.new(v.Character.Torso.Position) * CFrame.new(0,0,math.pi)
  1618. end
  1619. end
  1620. end,"Winner2","Trips the given player(s) onto their head")
  1621. NewCommand("Remove Limbs",function(...)
  1622. for k,v in pairs(FindPlayers(...)) do
  1623. if v.Character then
  1624. for a,b in pairs({"Left Arm","Right Arm","Left Leg","Right Leg"}) do
  1625. if v.Character:findFirstChild(b) then
  1626. v.Character[b]:BreakJoints()
  1627. end
  1628. end
  1629. end
  1630. end
  1631. end,"Winner2","Removes the limbs of the given player(s)","removelimbs","rlimbs","unlimbs")
  1632. NewCommand("Name Character",function(plr,msg) local a,b = Split(msg)
  1633. for k,v in pairs(FindPlayers(plr,a or msg)) do local f = false
  1634. if v.Character then
  1635. for a,b in pairs(v.Character:GetChildren()) do if v:findFirstChild("Named") then f = b end end
  1636. if not b then
  1637. if f then
  1638. f:Destroy()
  1639. end
  1640. elseif f then
  1641. f.Name = b
  1642. else
  1643. f = Instance.new("Model",v.Character)
  1644. f.Name = b local h = v.Character.Head:clone()
  1645. v.Character.Head.Transparency = 1
  1646. h.Parent = v.Character
  1647. local w = Instance.new("Weld",h)
  1648. w.Part0 = v.Character.Head w.Part1 = h
  1649. end
  1650. end
  1651. end
  1652. end,"Winner2","Changes the name of the character (off for none)","namecharacter","name")
  1653. local mv = Vector3.new(math.huge,math.huge,math.huge)
  1654. local function control(a,b,p) local t1,t2 = a.Character.Torso,b.Character.Torso
  1655. local h = b.Character:findFirstChild("Humanoid") human.PlatformStand = true
  1656. local bp,bg = Instance.new("BodyPosition",t2),Instance.new("BodyGyro",t2)
  1657. bp.Name,bg.Name,bp.maxForce,bg.maxTorque = "ADM Control BP","ADM Control BG",mv,mv
  1658. while wait() and t1.Parent == a.Character and t2.Parent == b.Character do
  1659. if bp.Parent ~= t2 or bg.Parent ~= t2 then break end
  1660. bp.position = t1.Position bg.cframe = t1.CFrame
  1661. end bp:Destroy() bg:Destroy() if h then human.PlatformStand = true end Chatted(p,"clip"..CommandKey..b.Name)
  1662. end
  1663. NewCommand("Control Player",function(plr,msg) local a,b = Split(msg) a = b or "me" b = b or msg
  1664. local whos,targs = FindPlayers(plr,a),FindPlayers(plr,b)
  1665. if whos[1] == targs[1] or not whos[1] or not targs[1] then
  1666. return Inform(plr,"Usage: 'p1,p2' for p1 controlling p2 or 'p1' for you controlling p1")
  1667. elseif whos[2] then
  1668. return Inform(plr,"Only 1 player may be given as first argument when giving 2 arguments")
  1669. end local who = whos[1]
  1670. if not who.Character or not who.Character:findFirstChild("Torso") then
  1671. return Inform(plr,"The controller cannot control other players")
  1672. end ypcall(Chatted,plr,"noclip"..CommandKey..b)
  1673. for k,v in pairs(targs) do
  1674. if v.Character and v.Character:findFirstChild("Torso") then
  1675. coroutine.wrap(control)(who,v,plr)
  1676. end
  1677. end
  1678. end,"Winner2","Let player1 take control over the character of player2","controlplayer","control")
  1679. NewCommand("Release Player",function(...)
  1680. for k,v in pairs(FindPlayers(...)) do
  1681. if v.Character and v.Character:findFirstChild("Torso") then
  1682. for k,v in pairs(v.Torso:GetChildren()) do
  1683. if v.Name:find("ADM Control") then
  1684. v:Destroy()
  1685. end
  1686. end
  1687. end
  1688. end
  1689. end,"Winner2","Makes everyone controlling player1 stop controlling him","releaseplayer","free")
  1690. NewCommand("Lock Character",function(...)
  1691. for k,v in pairs(FindPlayers(...)) do
  1692. for a,b in pairs(v:GetChildren()) do
  1693. if b:IsA("Hat") then
  1694. b.Handle.Locked = true
  1695. elseif b:IsA("BasePart") then
  1696. b.Locked = true
  1697. end
  1698. end
  1699. end
  1700. end,"Winner2","Lock the character of the given player(s)")
  1701. NewCommand("Unlock Character",function(...)
  1702. for k,v in pairs(FindPlayers(...)) do
  1703. for a,b in pairs(v:GetChildren()) do
  1704. if b:IsA("Hat") then
  1705. b.Handle.Locked = false
  1706. elseif b:IsA("BasePart") then
  1707. b.Locked = false
  1708. end
  1709. end
  1710. end
  1711. end,"Winner2","Unlock the character of the given player(s)")
  1712. local function GetMusicID(obj)
  1713. if tonumber(obj) then local found = false
  1714. for k,v in pairs(Music) do if v == tonumber(obj) then found = true end end
  1715. if not found then table.insert(tonumber(obj)) print("Added song ID:",obj) end
  1716. return "rbxassetid://"..obj
  1717. elseif obj:lower():match("^new") and tonumber(obj:sub(4)) then
  1718. return "rbxassetid://"..tostring(Music[tonumber(obh:sub(4))])
  1719. elseif obj:find("roblox.com") and obj:find("=%d+") then
  1720. return "rbxassetid://"..obj:match("=(%d+)")
  1721. elseif Music[obj:lower()] then
  1722. return "rbxassetid://"..Music[obj:lower()]
  1723. elseif obj:lower() == "random" then local music = {}
  1724. for k,v in pairs(Music) do table.insert(music,v) end
  1725. return "rbxassetid://"..music[math.random(#music)]
  1726. else local found = {}
  1727. for k,v in pairs(Music) do
  1728. if k:lower():match(obj:lower()) then
  1729. table.insert(found,v)
  1730. end
  1731. end return "rbxassetid://"..found[math.random(#found)]
  1732. end
  1733. end
  1734. local function GetMusicList() local res = ""
  1735. for k,v in pairs(Music) do
  1736. res = res..(tonumber(k) and "New"..k or k).."\n"
  1737. end return res
  1738. end
  1739. NewCommand("Play Music",function(plr,msg,al) local music = GetMusicID(msg) or "doh"
  1740. if al:lower():find("list") then return select(2,GetOutput(plr))(GetMusicList()) end
  1741. pcall(function() workspace["ADM Music"]:Destroy() end) if al:lower():find("stop") then return end
  1742. local mu = Instance.new("Sound",workspace) mu.Name = "ADM Music" mu.SoundId = music mu:Play()
  1743. end,"Winner2","Play a music using an ID/name/link","playmusic","music","musiclist","listmusic","stopmusic")
  1744. NewCommand("Head Size",function(plr,msg,al)
  1745. local a,b = Split(msg)
  1746. if al:lower() == "bighead" or al:lower() == "smallhead" or al:lower() == "normalhead" then
  1747. a = msg b = al:lower()
  1748. elseif b then b = b:lower()
  1749. b = b:find("small") and "smallhead" or b:find("big") and "bighead" or "normalhead"
  1750. else
  1751. return Inform(plr,"Usage: "..al..CommandKey.."PLAYERS"..CommandKey.."SMALL-NORMAL-BIG")
  1752. end local s = b == "smallhead" and 0.75 or b == "bighead" and 3 or 1 local h = s == 1 and 1
  1753. for k,v in pairs(FindPlayers(plr,a)) do
  1754. if v.Character and v.Character:findFirstChild("Head") and v.Character.Head:findFirstChild("Mesh") then
  1755. v.Character.Head.Mesh.Scale = Vector3.new(s,s,s) local pi = math.pi
  1756. 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)
  1757. end
  1758. end
  1759. end,"Winner2","Set the headsize: small/normal/big","headsize","head","bighead","smallhead","normalhead")
  1760. NewCommand("Freecam",function(...)
  1761. for k,v in pairs(FindPlayers(...)) do v.Character = nil
  1762. ypcall(Script,Scripts.Freecam,v:findFirstChild("Backpack"),true)
  1763. end
  1764. end,"Winner2","Gives the given player(s) a probe and removes their character","probe")
  1765. end
  1766.  
  1767. do -- Winner commands
  1768. NewCommand("Sit",function(...)
  1769. for k,v in pairs(FindPlayers(...)) do
  1770. if v.Character and v.Character:findFirstChild("Humanoid") then
  1771. v.Character.Humanoid.Sit = true
  1772. end
  1773. end
  1774. end,"Winner1","Makes the given player(s) sit","seat")
  1775. NewCommand("Jump",function(...)
  1776. for k,v in pairs(FindPlayers(...)) do
  1777. if v.Character and v.Character:findFirstChild("Humanoid") then
  1778. v.Character.Humanoid.Jump = true
  1779. end
  1780. end
  1781. end,"Winner1","Makes the given player(s) jump")
  1782. NewCommand("Stand",function(...)
  1783. for k,v in pairs(FindPlayers(...)) do
  1784. if v.Character and v.Character:findFirstChild("Humanoid") then
  1785. v.Character.Humanoid.Sit = false
  1786. v.Character.Humanoid.Jump = false
  1787. v.Character.Humanoid.PlatformStand = false
  1788. end
  1789. end
  1790. end,"Winner1","Makes the given player(s) stand")
  1791. NewCommand("Jail",function(plr,msg) local a,b = Split(msg)
  1792. for k,v in pairs(FindPlayers(plr,a or msg)) do
  1793. if v.Character and v.Character:findFirstChild("Torso") and not v.Character:findFirstChild("Jail") then
  1794. local jail = Instance.new("Part",v.Character) jail.Name = "Jail" jail.Transparency = 0.5
  1795. jail.BrickColor = BrickColor.Blue() jail.FormFactor = "Custom" jail.Size = Vector3.new(1,1,1)
  1796. local mesh = Instance.new("SpecialMesh",jail) mesh.MeshType = "Sphere" jail:BreakJoints()
  1797. mesh.Scale = Vector3.new(8,8,8) local weld = Instance.new("Weld",jail)
  1798. jail.TopSurface = "Smooth" jail.BottomSurface = "Smooth"
  1799. weld.Part0 = v.Character.Torso weld.Part1 = jail local bp = Instance.new("BodyPosition",jail)
  1800. bp.maxForce = Vector3.new(1e99,1e99,1e99) bp.position = v.Character.Torso.Position+Vector3.new(0,5,0)
  1801. if v.Character:findFirstChild("Humanoid") then v.Character.Humanoid.Name = "Human" end
  1802. end Jailed[v.Name] = tonumber(b) and tonumber(b)*60 or 1e9
  1803. print("Jailed",v,"for",math.floor((tonumber(b) and tonumber(b)*60 or 1e9)/60),"minutes")
  1804. end
  1805. end,"Winner1","Jails the given player(s) for the given minutes")
  1806. NewCommand("Unjail",function(...)
  1807. for k,v in pairs(FindPlayers(...)) do Jailed[v.Name] = nil
  1808. if v.Character and v.Character:findFirstChild("Torso") and v.Character:findFirstChild("Jail") then
  1809. if v.Character:findFirstChild("Human") then
  1810. v.Character.Human.Name = "Humanoid"
  1811. end v.Character["Jail"]:Destroy()
  1812. end
  1813. end
  1814. end,"Winner1","Unjails the given player(s)")
  1815. local appear = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId=%s&placeId="..game.PlaceId
  1816. NewCommand("Appearance",function(plr,msg,al)
  1817. if al:lower() == "permappearance" then
  1818. for k,v in pairs(FindPlayers(plr,msg)) do
  1819. v.CharacterAppearance = tonumber(msg) and appear:format(msg) or appear:format(v.userId)
  1820. v:LoadCharacter() print(v,"looks now like player ID",tonumber(msg) or v.userId)
  1821. end return
  1822. end
  1823. for k,v in pairs(FindPlayers(plr,msg)) do local oldca = v.CharacterAppearance
  1824. v.CharacterAppearance = tonumber(msg) and appear:format(msg) or appear:format(v.userId)
  1825. local cf = v.Character and v.Character:findFirstChild("Torso") and v.Character.Torso.CFrame
  1826. v:LoadCharacter() if cf then coroutine.wrap(function() wait() v.Character.Torso.CFrame = cf end)() end
  1827. v.CharacterAppearance = oldca print(v,"dressed and respawned on the exact same old location he/she was")
  1828. end
  1829. end,"Winner1","Give a player ID. Use permCOMMAND for keep the appearance","permappearance","appear")
  1830. local function save(c,t,b,r)
  1831. for k,v in pairs(c:GetChildren()) do
  1832. if v:IsA("Clothes") then
  1833. v.Parent = c:findFirstChild("Torso")
  1834. elseif v:IsA("BasePart") and t then
  1835. local t = Instance.new("NumberValue",v)
  1836. t.Name = "OldTransparency"
  1837. t.Value = v.Transparency
  1838. elseif c:findFirstChild("Handle") and t then
  1839. local t = Instance.new("NumberValue",v.Handle)
  1840. t.Name = "OldTransparency"
  1841. t.Value = v.Handle.Transparency
  1842. end
  1843. if v:IsA("BasePart") and b then
  1844. local t = Instance.new("BrickColorValue",v)
  1845. t.Name = "OldBrickColor"
  1846. t.Value = v.BrickColor
  1847. elseif v:findFirstChild("Handle") and b then
  1848. local t = Instance.new("BrickColorValue",v.Handle)
  1849. t.Name = "OldBrickColor"
  1850. t.Value = v.Handle.BrickColor
  1851. end
  1852. if v:IsA("BasePart") and r then
  1853. local t = Instance.new("NumberValue",v)
  1854. t.Name = "OldReflectance"
  1855. t.Value = v.Reflectance
  1856. elseif v:findFirstChild("Handle") and r then
  1857. local t = Instance.new("NumberValue",v.Handle)
  1858. t.Name = "OldReflectance"
  1859. t.Value = v.Handle.Reflectance
  1860. end
  1861. end
  1862. end
  1863. local function restore(c)
  1864. for k,v in pairs(c:GetChildren()) do
  1865. if v:IsA("BasePart") and v:findFirstChild("OldTransparency") then
  1866. v.Transparency = v.OldTransparency.Value
  1867. v.OldTransparency:Destroy()
  1868. elseif v:findFirstChild("Handle") and v.Handle:findFirstChild("OldTransparency") then
  1869. v.Handle.Transparency = v.Handle.OldTransparency.Value
  1870. v.Handle.OldTransparency:Destroy()
  1871. end
  1872. if v:IsA("BasePart") and v:findFirstChild("OldBrickColor") then
  1873. v.BrickColor = v.OldBrickColor.Value
  1874. v.OldBrickColor:Destroy()
  1875. elseif v:findFirstChild("Handle") and v.Handle:findFirstChild("OldBrickColor") then
  1876. v.Handle.BrickColor = v.Handle.OldBrickColor.Value
  1877. v.Handle.OldBrickColor:Destroy()
  1878. end
  1879. if v:IsA("BasePart") and v:findFirstChild("OldReflectance") then
  1880. v.Reflectance = v.OldReflectance.Value
  1881. v.OldReflectance:Destroy()
  1882. elseif v:findFirstChild("Handle") and v.Handle:findFirstChild("OldReflectance") then
  1883. v.Handle.Reflectance = v.Handle.OldReflectance.Value
  1884. v.Handle.OldReflectance:Destroy()
  1885. end
  1886. end
  1887. if c:findFirstChild("Torso") then
  1888. for k,v in pairs(c.Torso:GetChildren()) do
  1889. if v:IsA("Clothes") then
  1890. v.Parent = c
  1891. end
  1892. end
  1893. end
  1894. end
  1895. NewCommand("Ghostify",function(...)
  1896. for k,v in pairs(FindPlayers(...)) do
  1897. if v.Character then
  1898. save(v.Character,true,true)
  1899. if v:findFirstChild("Backpack") then
  1900. save(v.Backpack,true)
  1901. end
  1902. for k,v in pairs(v.Character:GetChildren()) do
  1903. if v:IsA("BasePart") then
  1904. v.BrickColor = BrickColor.new(1001)
  1905. v.Transparency = 0.5
  1906. elseif v:findFirstChild("Handle") then
  1907. v.Handle.BrickColor = BrickColor.new(1001)
  1908. v.Handle.Transparency = 0.75
  1909. end
  1910. end
  1911. end
  1912. end
  1913. end,"Winner1","Makes the given player(s) a ghost","ghost")
  1914. NewCommand("Goldify",function(...)
  1915. for k,v in pairs(FindPlayers(...)) do
  1916. if v.Character then
  1917. save(v.Character,true,true,true)
  1918. if v:findFirstChild("Backpack") then
  1919. save(v.Backpack,true,true,true)
  1920. end
  1921. for k,v in pairs(v.Character:GetChildren()) do
  1922. if v:IsA("BasePart") then
  1923. v.BrickColor = BrickColor.Yellow()
  1924. v.Transparency = 0
  1925. v.Reflectance = 0.25
  1926. elseif v:findFirstChild("Handle") then
  1927. v.Handle.BrickColor = BrickColor.Yellow()
  1928. v.Handle.Transparency = 0
  1929. v.Handle.Reflectance = 0.25
  1930. end
  1931. end
  1932. end
  1933. end
  1934. end,"Winner1","Makes the given player(s) of gold","gold")
  1935. NewCommand("Metalfy",function(...)
  1936. for k,v in pairs(FindPlayers(...)) do
  1937. if v.Character then
  1938. save(v.Character,true,true,true)
  1939. if v:findFirstChild("Backpack") then
  1940. save(v.Backpack,true,true,true)
  1941. end
  1942. for k,v in pairs(v.Character:GetChildren()) do
  1943. if v:IsA("BasePart") then
  1944. v.BrickColor = BrickColor.new("Mid gray")
  1945. v.Transparency = 0
  1946. v.Reflectance = 0.25
  1947. elseif v:findFirstChild("Handle") then
  1948. v.Handle.BrickColor = BrickColor.new("Mid gray")
  1949. v.Handle.Transparency = 0
  1950. v.Handle.Reflectance = 0.25
  1951. end
  1952. end
  1953. end
  1954. end
  1955. end,"Winner1","Makes the given player(s) of metal","metal")
  1956. NewCommand("Normal",function(plr,msg)
  1957. for k,v in pairs(FindPlayers(plr,msg)) do
  1958. if v.Character then restore(v.Character) end
  1959. if v:findFirstChild("Backpack") then restore(v.Backpack) end
  1960. end for k,v in pairs({"see","unblind","thrust","heal","normalhead"}) do Chatted(plr,v..CommandKey..msg) end
  1961. end,"Winner1","Normals the given player(s)","ungoldify","unghostify","unghost","ungold","unmetal","unmetalfy")
  1962. NewCommand("Thrust",function(plr,msg) local a,b = Split(msg) a = a or msg
  1963. if b and not tonumber(b) then return Inform(plr,"Second argument should be a number!") end
  1964. for k,v in pairs(FindPlayers(plr,a)) do
  1965. if v.Character and v.Character:findFirstChild("Torso") then
  1966. local thrust = v.Character.Torso:findFirstChild("ADM Thrust")
  1967. if not b or b == "" or tonumber(b) == 0 then return thrust and thrust:Destroy() end
  1968. if not thrust then thrust = Instance.new("BodyForce",v.Character.Torso) end
  1969. thrust.Name = "ADM Thrust" thrust.force = Vector3.new(0,tonumber(a),0)
  1970. end
  1971. end
  1972. end,"Winner1","Gives the given player(s) the given thrust as standard","power","grav","force")
  1973. NewCommand("Blind",function(...)
  1974. for k,v in pairs(FindPlayers(...)) do
  1975. local g = Instance.new("ScreenGui",v:findFirstChild("PlayerGui"))
  1976. g.Name = "ADM Blind ScreenGui Thingy"
  1977. local f = Instance.new("Frame",g) f.Name = "BlindScreen"
  1978. f.Size = UDim2.new(1,0,1,0) f.BackgroundColor3 = Color3.new(1,1,1)
  1979. end
  1980. end,"Winner1","Makes the given player(s) blind","flash")
  1981. NewCommand("Unblind",function(...)
  1982. for k,v in pairs(FindPlayers(...)) do
  1983. if v:findFirstChild("PlayerGui") then
  1984. while v.PlayerGui:findFirstChild("ADM Blind ScreenGui Thingy") do
  1985. v.PlayerGui["ADM Blind ScreenGui Thingy"]:Destroy()
  1986. end
  1987. end
  1988. end
  1989. end,"Winner1","Makes the given player(s) blind","unflash")
  1990. NewCommand("God",function(...)
  1991. local function doh(hit)
  1992. if hit.Anchored then return end
  1993. if not hit.Parent then return end
  1994. hit:BreakJoints()
  1995. end
  1996. local function human(hum,pro)
  1997. if pro:lower() == "jump" and hum.Parent:findFirstChild("Torso") then
  1998. hum.Parent.Torso.Velocity = Vector3.new(0,100,0)
  1999. elseif pro:lower() == "walkspeed" then
  2000. hum.WalkSpeed = 50
  2001. elseif pro:lower() == "health" then
  2002. while hum.Health < hum.MaxHealth and hum.Health < 500 do
  2003. hum.Health = hum.Health + wait()
  2004. end
  2005. elseif pro:lower() == "sit" then
  2006. hum.Sit = false
  2007. elseif pro:lower() == "platformstand" then
  2008. hum.PlatformStand = false
  2009. end
  2010. end
  2011. for k,v in pairs(FindPlayers(...)) do
  2012. if v.Character and v.Character:findFirstChild("Humanoid") then
  2013. coroutine.wrap(function()
  2014. if v.Character:findFirstChild("God") then v.Character.God:Destroy() end
  2015. local god = Instance.new("BoolValue",v.Character) god.Value = true
  2016. local cons = {} local function add(ev,co) table.insert(cons,ev:connect(co)) end
  2017. for k,v in pairs(v.Character:GetChildren()) do
  2018. if v:IsA("BasePart") then
  2019. add(v.Touched,doh)
  2020. end
  2021. end v.Character.Humanoid.Changed:connect(function(p) human(v.Character.Humanoid,p) end)
  2022. v.Character.Humanoid.WalkSpeed = 50 v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth
  2023. while god.Parent == v.Character and god.Value do wait() end
  2024. for k,v in pairs(cons) do v:disconnect() end
  2025. end)()
  2026. end
  2027. end
  2028. end,"Winner1","Gives the given player(s) godlike powers")
  2029. NewCommand("Ungod",function(...)
  2030. for k,v in pairs(FindPlayers(...)) do
  2031. if v.Character and v.Character:findFirstChild("God") then
  2032. v.Character.God:Destroy()
  2033. end
  2034. end
  2035. end,"Winner1","Removes the given player(s) their godlike powers")
  2036. NewCommand("Paralyse",function(...)
  2037. for k,v in pairs(FindPlayers(...)) do
  2038. if v.Character and v.Character:findFirstChild("Humanoid") then
  2039. v.Character.Humanoid.PlatformStand = true
  2040. end
  2041. end
  2042. end,"Winner1","Paralyses/Stuns the given player(s)","stun","para")
  2043. NewCommand("Damage",function(plr,msg)
  2044. local a,b = Split(msg) if not tonumber(b) then return Inform(plr,"Provide a player and a number!") end
  2045. for k,v in pairs(FindPlayers(plr,a)) do
  2046. if v.Character and v.Character:findFirstChild("Humanoid") then
  2047. v.Character.Humanoid.Health = v.Character.Humanoid.Health - tonumber(b)
  2048. end
  2049. end
  2050. end,"Winner1","Damages the given player(s) for the given amount","takehealth","decreasehealth")
  2051. NewCommand("Fly Tool",function(...)
  2052. for k,v in pairs(FindPlayers(...)) do
  2053. Script(Scripts.Fly,v.Character,true).Name = "ADM Fly"
  2054. end
  2055. end,"Winner1","Makes the given player(s) fly","flytool","fly")
  2056. NewCommand("Remove Fly Tool",function(...)
  2057. for k,v in pairs(FindPlayers(...)) do
  2058. while v.Character and v.Character:findFirstChild("ADM Fly",true) do
  2059. v.Character:findFirstChild("ADM Fly",true):Destroy()
  2060. end
  2061. while v.Character and v.Character:findFirstChild("Step") do
  2062. v.Character["Step"]:Destroy()
  2063. end
  2064. end
  2065. end,"Winner1","Makes the given player(s) fly","removeflytool","unflytool","unfly","land")
  2066. NewCommand("Noclip",function(...)
  2067. for k,v in pairs(FindPlayers(...)) do
  2068. Script(Scripts.Noclip,v.Character,true).Name = "ADM Noclip"
  2069. end
  2070. end,"Winner1","Makes the given player(s) fly")
  2071. NewCommand("Clip",function(...)
  2072. for k,v in pairs(FindPlayers(...)) do
  2073. if v.Character and v.Character:findFirstChild("ADM Noclip") then
  2074. v.Character["ADM Noclip"]:Destroy()
  2075. end
  2076. end
  2077. end,"Winner1","Makes the given player(s) fly","unnoclip")
  2078. end
  2079.  
  2080. do -- Member commands
  2081. NewCommand("Commands",function(plr)
  2082. Gui:CommandList(plr)
  2083. end,"Member","Shows a gui with all commands","cmds")
  2084. NewCommand("Tablets",function(plr)
  2085. ShowTablets[plr.Name] = not ShowTablets[plr.Name]
  2086. end,"Member","Toggle Tablets","tabs")
  2087. NewCommand("Dismiss",ClearTablets,"Member","Remove all tablets for you","dt")
  2088. NewCommand("Update",notifyUpdate,"Member","Checks for updates of einsteinK's ADM Script")
  2089. NewCommand("Rejoin",function(plr) Script(Scripts.Rejoin,plr.Character,true) end,"Member","Rejoin the game")
  2090. NewCommand("Version",function(plr)
  2091. Inform(plr,"Version: "..Version.."\nUse update"..CommandKey.." to check for updates")
  2092. end,"Member","Shows the version")
  2093. NewCommand("Help",function(plr)
  2094. Inform(plr,([[
  2095. For a list of the commands: cmdsKEY
  2096. Use of commands: COMMANDKEYPLAYER1KEYPLAYER2KEY...
  2097. You can only use the commands of your rank and lower
  2098. Your current rank is RANK, see cmdsKEY for info.
  2099. ]]):gsub("KEY",CommandKey):gsub("RANK",GetRank(plr)),10)
  2100. end,"Member","Shows a gui with some help","?")
  2101. NewCommand("Get Rank",function(plr,msg)
  2102. local t = FindPlayers(plr,msg=="" and "me" or msg)
  2103. for k,v in pairs(t) do
  2104. t[k] = tostring(v)..": "..tostring(GetRank(v))
  2105. end Inform(plr,table.concat(t,"\n"))
  2106. end,"Member","Shows the rank of the given player(s)","getrank","gr")
  2107. NewCommand("Command Bar",function(plr) Gui:CommandBar(plr)
  2108. end,"Member","Spawns a command bar to execute commands","commandbar","bar","cmdbar","cmd","cb")
  2109. NewCommand("See Aliases",function(plr,msg) local n,c,a
  2110. for k,v in pairs(Commands) do
  2111. if msg:sub(1,#k+#CommandKey):lower() == k:lower()..CommandKey then
  2112. n,c,a = k,v,k break
  2113. else
  2114. for a,b in pairs(v.Aliases) do
  2115. if msg:sub(1,#b+#CommandKey):lower() == b:lower()..CommandKey then
  2116. n,c,a = k,v,b break
  2117. end
  2118. end
  2119. end
  2120. end if not name then return Inform(plr,"This command is not found!") end
  2121. Inform(plr,"["..c.Rank.."] "..n..": "..table.concat(c.Aliases,", "))
  2122. end,"Member","Shows all aliases for the given command","seealiases","alias","aliases","sa")
  2123. end
  2124.  
  2125. if workspace.Terrain:findFirstChild("ADM Output Screen") then
  2126. workspace.Terrain["ADM Output Screen"]:Destroy()
  2127. end local a,b = Gui:OutputScreen(game.StarterGui)
  2128. local c = Instance.new("BillboardGui")--,workspace.Terrain)
  2129. a.Parent = script local s = a.AbsoluteSize
  2130. c.Adornee = workspace.Terrain
  2131. c.Size = UDim2.new(0,1600,0,500)
  2132. c.Name = "ADM Output Screen"
  2133. for k,v in pairs(a:GetChildren()) do
  2134. v.Parent = c
  2135. end a:Destroy()
  2136. a = Gui:CommandList(a)
  2137. for k,v in pairs(a:GetChildren()) do
  2138. v.Parent = c
  2139. end a:Destroy() a = nil
  2140. OpenOutput["Place1"] = c
  2141. OutputFunctions[c] = b
  2142.  
  2143. coroutine.wrap(function()
  2144. while wait(1) do
  2145. for k,v in pairs(Jailed) do
  2146. if type(v) == "number" and v <= 0 and GetPlayer(k) then
  2147. if GetPlayer(k).Character and GetPlayer(k).Character:findFirstChild("Jail") then
  2148. GetPlayer(k).Character["Jail"]:Destroy()
  2149. end print("Jailtime for",k,"passed")
  2150. end Jailed[k] = Jailed[k] - 1
  2151. if Jailed[k] < 0 then
  2152. Jailed[k] = nil
  2153. end
  2154. end
  2155. end
  2156. end)()
  2157.  
  2158. local packs = {}
  2159. fullprint(Color3.new(0,0.5,1),"Parsing commands...")
  2160. for k,v in pairs(Commands) do wait()
  2161. packs[v.Rank] = (packs[v.Rank] or 0) + 1
  2162. end
  2163. for k,v in pairs(packs) do
  2164. if not tonumber(k) then
  2165. table.insert(packs,k)
  2166. end
  2167. end table.sort(packs)
  2168. for k,v in ipairs(packs) do wait(0.1)
  2169. fullprint(Color3.new(0,0.5,1),"Command Pack found:",v,"(",packs[v],"Commands )")
  2170. end _G.Chatted = Chatted
  2171.  
  2172. local t = 0 for k,v in pairs(Commands) do t = t + 1 end
  2173. print("Number of registered commands:",t)
  2174. fullprint(Color3.new(0,1),"einsteinK's ADM Script V"..Version.." Loaded")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement