Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Version 2 1.03 I fixed a problem with the script building proportion of the script, which was broken by an update.
- --[!]Script is taken over by einsteinK and will get updated a lot with him
- --Version 4 5.00 [14/06/2012] Added a lot of commands, new functions and gear used for the "tool/PLAYER(S)/TOOL(S)"
- --Version 5 2.00 [29/08/2012] Added new commands, fixes, functions and gear/clothes-database. New: clothes/PLAYERS/TYPE
- --Version 5 3.00 [01/03/2013] Added l/ (localscript the speaker) and y/ (ypcall in adminscript itself, S-Admin only!)
- --Version 5 4.50 [02/03/2013] Added update/ and an Update Notifier, config options on line 19 and 20
- --Version 6 0.23 [07/03/2013] New commands, some fixes and a big clean of the code. Debugging prints also optional!
- --Version 7 0.01 [24/07/2013] New commands, complete remake of all the systems, added GUI-Engine, fixed updater, ...
- --Version 7 0.04 [11/11/2013] Fixed Update Notifier. Commands works now with EinHUD (custom chatbar support etc etc)
- --Version 7 0.05 [16/11/2013] (Finally) repaired the bug where teleport-command doesn't work
- --Version 8 0.01 [21/11/2013] New generation. Gonna add (optional) tablets like my old Moderator script and stuff
- Always = {"Member",1} -- Actually this should NEVER be used except for "everyone free admin"
- --NOTE: Will make everyone this rank! So when "Admin",2 everyone will be admin! EVEN REAL ADMINS (Not creator)
- --NOTE: Everyone will be that rank except the creator, he will be the only creator (except if you put {"Creator",4} )
- --Rank: {"Member",1} {"Winner",2} {"Admin",3} {"Developer",4} {"Creator",5} -- There should NEVER be extra ranks!
- --NOTE: The winner rank is actually Admin without offensive commands as nuke, kill, ban, kick, ...
- Creators = {"gumymonster","Second Game Owner","Important Sponsor","...","Player1"}
- Admins = {"Your advisor or stuff","Friends Name","..."}
- --NOTE: Creator of the game will be automaticly added as creator (you can just insert this script and *poof* it works)
- --Add in the names of the people you want to be able to use the command script here.
- --Please keep my name in there (einsteinK) if possible :D
- --Only the creator can use admin/ and unadmin/ online (or whatever is your commandkey)
- Winners = {"A not trusted 'friend' thing","Obby Winner","Other game winner"}
- -- These are admins without kill, kick, nuke, ban, ...
- -- Everyone in this list and everyone with an Instance in his player object called "Winner" is a winner.
- -- Thuss, to make your obby thingy make someone a winner, just do:
- -- Instance.new("StringValue",Player).Name = "Winner"
- Banned = { "someoneyouhate","noob"}
- --If you want someone not to be able to enter your place, put their name in here.
- Groups = {
- [577832] = 123; -- Everyone in that group with their group rank 123 or higher will be admin
- [736400] = 255; -- Everyone in that with their rank being 255 (255 = only the owner) will be admin
- --[12345] = 1; Everyone in that group (really everyone) would be admin
- }--If you want members with a certain rank in a certain group get admin (muliple groups allowed)
- CommandKey = "/" -- Sets which key will be used. ex: kill/me, kill:me, kill me, ...
- GearAllowed = true -- Allow to load gears with the tool/ command? true/false
- HatsAllowed = NotDone -- Decide with true/false if the script can loads hats if commanded NOT IMPLEMENTED YET
- AnimationsAllowed = NotDone -- Animations: Shapes of your body (example: Robloxian 2.0) NOT IMPLEMENTED YET
- ClothesAllowed = true -- Just to load cloathes as police-uniform, groupuniforms, ... with the clothes/ command. true/false
- Update = true -- Allow notifying admins (not those by admin/) to see the update notifier
- MainUpdate = false -- When true this will ONLY notify you of new main versions, not sub versions
- Debug = false -- This wil just enable the printing-in-output of some information. Only used by developers -.-
- Version = "8.01" -- Keep dafuq off, or the notifier (and some other stuff) will break!
- --[[
- =~= Command Help by einsteinK =~=
- == Commands ==
- Most commands are like this:
- COMMAND/PLAYERS/ARGUMENT1/ARGUMENT2/...
- For kill it is simply: kill/PLAYERS
- Capitals (normally) don't matter for the commands.
- Players/groups/teams:
- - Admins: Everyone listed in the adminlist or adminned with admin/
- - Nonadmins: Everyone except those above
- - Guests: All guests (or people who's name looks like that of a guest)
- - Nonguests: All nonguests except those with their name looking like that of a guest
- - All: Just everyone
- - Me: The one who did the command (the speaker)
- - Others: Everyone except the speaker
- - Random: A random player
- - Mrandom: A random player but never the speaker
- - Team TEAMNAME: Everyone who's in the named team
- - Group GROUPID: Everyone who's in the group with the given id
- - Player1,Player2,Player3,...: The given players (only playernames! "FriendsName,admins,me" won't work!)
- Again, capitals don't matter, even not in the playernames!
- Capitalisation doesnt matter, and name input can be abbreviated.
- Just about any name input can be replaced with multiple names seperated by commas, me, all, others, guests, admins, nonadmins, random, or team teamname.
- --]]
- --=~=-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --=~=--
- --=~=-- + START OF MAIN CODE | Keep off, there are normally no bugs and when they are, check the notifier + --=~=--
- --=~=-- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ --=~=--
- Commands = {}
- function NewCommand(name,func,rank,desc,...)
- Commands[name] = {Name=name,Function=func,Rank=rank,Description=desc,Aliases={...}}
- end
- function TupleToString(...) local res = ""
- if select("#",...) == 0 then return "" end
- for i=1,select("#",...) do
- res = res.." "..tostring(select(i,...))
- end return res:sub(2)
- end
- Music = {
- ["DJ Glejs - Better Off Alone (remix)"] = 27697392,
- ["Jeff Syndicate - Hip Hop"] = 27697735,
- ["Zero Project - Gothic"] = 27697743,
- ["Positively Dark - Awakening"] = 27697277,
- ["Daniel Bautista - Flight of the Bumblebee"] = 27697719,
- ["Daniel Bautista - Music for a Film"] = 27697713,
- ["Daniel Bautista - Gothic"] = 27697699,
- ["Daniel Bautista - Intro"] = 27697707,
- ["Flatt & Scruggs - Foggy Mountain Breakdown"] = 27697298,
- ["Scott Joplin - Entertainer Rag"] = 27697267,
- ["Mubarek - Resist (rmx)"] = 27697234
- }
- Scripts = {
- Fly = [[
- print("Loading ADM Fly Script by einsteinK") wait(0.1) local plr = game:GetService("Players").LocalPlayer
- repeat wait(0.1) until plr.Character wait(0.1) local mo,c,f = plr:GetMouse(),workspace.CurrentCamera,true
- local v = Instance.new("BodyVelocity",plr.Character and plr.Character:findFirstChild("Head")) v.Name = "ADM Fly"
- local h = plr.Character and plr.Character:findFirstChild("Humanoid") or Instance.new("Humanoid")
- v.maxForce = Vector3.new(1e99,1e99,1e99) local m = 0 local s = 0 local p = Instance.new("Part",plr.Character)
- p.Name = "Step" p.FormFactor = "Custom" p.Size = Vector3.new(5,0,5) p.Anchored = true
- p.BrickColor = BrickColor.new("Really black") p.Transparency = 0.5 Instance.new("CylinderMesh",p)
- mo.KeyDown:connect(function(k) if k == "f" then f = not f v.maxForce = f and Vector3.new(1e9,1e9,1e9) or Vector3.new()
- p.Parent = f and plr.Character or script elseif k == "w" or k:byte() == 17 then m = h.WalkSpeed
- elseif k == "s" or k:byte() == 18 then m = -h.WalkSpeed elseif k == "a" or k:byte() == 20 then s = h.WalkSpeed
- elseif k == "d" or k:byte() == 19 then s = -h.WalkSpeed end end)
- 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
- k=="a" or k=="d" or ss==20 or ss==19 then s=0 end end) while wait() and script.Parent == plr.Character
- and v.Parent == plr.Character.Head do v.velocity = CFrame.new(c.CoordinateFrame.p,c.Focus.p).lookVector * m
- v.velocity = (CFrame.new(c.CoordinateFrame.p,c.Focus.p) * CFrame.Angles(0,math.pi/2,0)).lookVector * s + v.velocity
- local cf = CFrame.new((plr.Character.Torso.CFrame * CFrame.new(0,-3.1,0)).p:lerp(p.Position,0.9))
- p.Size = Vector3.new(h.WalkSpeed/5,0,h.WalkSpeed/5) p.CFrame=cf p.Anchored=true p.Transparency=0.5
- p.Parent = f and plr.Character or nil v.maxForce = f and Vector3.new(1e9,1e9,1e9) or Vector3.new() end script:Destroy()
- ]],
- Noclip = [[local plr = game:GetService("Players").LocalPlayer
- plr.Character.Head.Changed:connect(function() plr.Character.Head.CanCollide = false end)
- plr.Character.Torso.Changed:connect(function() plr.Character.Torso.CanCollide = false end)
- while wait() and script.Parent == plr.Character do plr.Character.Head.CanCollide = false
- plr.Character.Torso.CanCollide = false end]],
- Freecam = [[local mode,player = Instance.new("Model",workspace),game:GetService("Players").LocalPlayer
- local probe = Instance.new("Part",mode) Instance.new("Humanoid",mode).MaxHealth = 0 script.Parent = nil
- mode.Name = tostring(player) probe.Anchored = true probe.CanCollide = false probe.Transparency = 0.5
- probe.Shape = "Ball" probe.Size = Vector3.new(2,2,2) probe.TopSurface = 0 probe.BottomSurface = 0 probe.Name = "Head"
- while not player.Character and mode.Parent == workspace and probe.Parent == mode do
- probe.CFrame = workspace.CurrentCamera.Focus wait() end mode:Destroy()]],
- Rejoin = ([[game:GetService("TeleportService"):Teleport(%d)]]):format(game.PlaceId)
- }
- Loopkilling = {}
- ShowTablets = {}
- JoinTimes = {}
- Jailed = {}
- Devs = {}
- Tabs = {}
- Outputted = {}
- Printed = LoadLibrary("RbxUtility").CreateSignal()
- local oprint,fenvs = print,{}
- local function print(...) Printed:fire(TupleToString(...)) oprint(...)
- table.insert(Outputted,{Time=tick(),Message=TupleToString(...)})
- end
- function fullprint(col,...) Printed:fire(TupleToString(...),col) oprint(...)
- table.insert(Outputted,{Time=tick(),Message=TupleToString(...),Color=col})
- end
- function GetColor(n) local v,n=0,tostring(n)
- for i=1,#n do local c=n:sub(i,i):byte()
- v=v+((#n-i+1-#n%2)%4 >= 2 and -c or c)
- end return BrickColor.new(({21,23,141,104,106,24,9,5})[v%8+1])
- end
- for k,v in pairs(workspace:GetChildren()) do
- if v:IsA("Model") then
- if v.Name:match("%[Output%] (%w+)") then
- v:Destroy()
- end
- end
- end
- function RefreshTablets()
- local players = game:GetService("Players")
- for k,v in pairs(workspace:GetChildren()) do
- if v:IsA("Model") then
- local name = v.Name:match("%[Output%] (%w+)")
- if name and not players:findFirstChild(name) then
- v:Destroy()
- end
- end
- end
- for k,v in pairs(players:GetPlayers()) do
- local mo = workspace:findFirstChild("[Output] "..v.Name)
- if not mo or not mo:IsA("Model") then
- mo = Instance.new("Model",workspace)
- mo.Name = "[Output] "..v.Name
- end if not Tabs[v] then Tabs[v] = {} end
- end
- for player,tabs in pairs(Tabs) do
- while #tabs > 50 do table.remove(tabs,1).Part:Destroy() end
- local new = {}
- for k,v in pairs(tabs) do
- if not v.Part:IsDescendantOf(workspace) then
- v.Part:Destroy()
- elseif v.Live and tick() - v.Time > v.Live then
- v.Part:Destroy()
- elseif tick() - v.Time > 30 then
- v.Part:Destroy()
- else
- table.insert(new,v)
- end
- end Tabs[player] = player and new
- end
- end
- function ClearTablets(player)
- for k,v in pairs(Tabs) do Tabs[k] = {}
- for a,b in pairs(v) do b.Part:Destroy() end
- end
- end
- function Tablet(player,text,color) RefreshTablets()
- local p = Instance.new("Part",workspace:findFirstChild("[Output] "..player.Name))
- p.Name = "OutputTablet" p.Anchored = true p.CanCollide = false
- p.FormFactor = "Custom" p.Size = Vector3.new(4,4,0) p.Locked = true
- p.BrickColor = BrickColor.new(color) p.Transparency = 0.5
- p.CFrame = player.Character and player.Character:GetModelCFrame() or CFrame.new()
- local s = Instance.new("SelectionBox",p) s.Adornee = p s.Color = p.BrickColor
- local g = Instance.new("BillboardGui",p) g.Adornee = p g.Active = false
- g.Size = UDim2.new(12,0,6) g.StudsOffset = Vector3.new(0,4,0)
- local l = Instance.new("TextLabel",g) l.Size = UDim2.new(1,0,1,0)
- l.BackgroundTransparency = 1 l.TextColor3 = Color3.new(0,0,0)
- l.TextStrokeColor3 = color l.TextStrokeTransparency = 0
- l.Font = "SourceSansBold" l.TextWrapped = true l.Active = false
- l.FontSize = "Size18" l.Text = text g.ExtentsOffset = Vector3.new(0,0,1)
- local c = Instance.new("ClickDetector",p) c.MaxActivationDistance = 64
- c.MouseClick:connect(function(pl) if pl == player then return p:Destroy() end
- if select(2,GetRank(pl)) >= select(2,GetRank(player)) then p:Destroy() end
- end) local t = {Player=player,Text=text,Color=color,Part=p,Time=tick()}
- table.insert(Tabs[player],t) game:GetService("Debris"):AddItem(p,600) return t
- end
- function TimeTablet(t,...)
- local tab = Tablet(...)
- tab.Live = t
- return tab
- end
- local up = {}
- local function GetUpBonus(cur,total,up)
- if total < 10 then return 0 end
- if cur == up then return total/200 end
- end
- local function GetPosition(player)
- if not player.Character then return end
- local ch = player.Character
- local he = ch:findFirstChild("HumanoidRootPart")
- he = he or ch:findFirstChild("Torso")
- he = ch:findFirstChild("Head")
- return he and he.Position
- end
- function HandleTabs() RefreshTablets()
- for player,tabs in pairs(Tabs) do local total = #tabs
- up[player] = (up[player] or 0) + 0.5
- up[player] = up[player] > total and 1 or up[player]
- local pos = GetPosition(player)
- for k,v in pairs(tabs) do local part = v.Part
- local goto = pos and CFrame.new(pos) * CFrame.Angles(0,-math.pi*2/total*k,0)
- goto = goto and goto * CFrame.new(5+total/1.5,0,0) or CFrame.new(0,-50,k)
- part.CFrame = CFrame.new(part.CFrame.p:lerp(goto.p,0.1),pos+Vector3.new(0,1,0))
- part.CFrame = part.CFrame * CFrame.new(0,GetUpBonus(k,total,up[player]),0)
- end
- end
- end
- if game:GetService("Players").LocalPlayer then
- TimeTablet(10,game:GetService("Players").LocalPlayer,"Running Studio Check!",Color3.new(0,1,0))
- end
- coroutine.wrap(function()
- while wait() do
- local suc,err = ypcall(HandleTabs) err = err and err:gsub(":(%d+):",":%1:\n\t")
- if not suc then fullprint(Color3.new(1),"HandleTabs() error:\n",err) end
- end
- end)()
- function FindPlayers(plr,msg) local res = {}
- local plrs = game:GetService("Players"):GetPlayers()
- if msg:find(",") then
- for a in msg:gmatch("[^,]+") do
- for k,v in pairs(FindPlayers(plr,a)) do
- table.insert(res,a)
- end
- end
- end
- if msg:lower() == "admins" then
- for k,v in pairs(plrs) do
- if HasRank(v,"admin") then
- table.insert(res,v)
- end
- end
- elseif msg:lower() == "nonadmins" then
- for k,v in pairs(plrs) do
- if not HasRank(v,"admin") then
- table.insert(res,v)
- end
- end
- elseif msg:lower() == "guests" then
- for k,v in pairs(plrs) do
- if v.UserId <= 0 then
- table.insert(res,v)
- end
- end
- elseif msg:lower() == "nonguests" then
- for k,v in pairs(plrs) do
- if v.UserId > 0 then
- table.insert(res,v)
- end
- end
- elseif msg:lower() == "all" then
- for k,v in pairs(plrs) do
- table.insert(res,v)
- end
- elseif msg:lower() == "me" then
- table.insert(res,plr)
- elseif msg:lower() == "random" then
- table.insert(res,plrs[math.random(#plrs)])
- elseif msg:lower() == "mrandom" then
- if #plrs > 1 then local found = false
- while not found or found == plr do wait()
- found = plrs[math.random(#plrs)]
- end if found then table.insert(res,found) end
- end
- elseif msg:sub(1,5):lower() == "team " then
- local team = FindTeam(plr,msg:sub(6))
- if team then
- for k,v in pairs(plrs) do
- if v.TeamColor == team.TeamColor then
- table.insert(res,v)
- end
- end
- end
- elseif msg:sub(1,6):lower() == "group " then
- if tonumber(msg:sub(7)) then
- for k,v in pairs(plrs) do
- if v:IsInGroup(tonumber(msg:sub(7))) then
- table.insert(res,v)
- end
- end
- end
- else
- for k,v in pairs(plrs) do
- if v.Name:lower():sub(1,#msg) == msg:lower() then
- table.insert(res,v)
- end
- end
- end return res
- end function dprint(...) if Debug then print(...) end end
- pcall(function() crea = "Knietsnie" script.Name = crea:reverse().."'s ADM script" end)
- function FindTeam(plr,msg) local teams={}
- for k,v in pairs(game.Teams:GetChildren()) do if v:IsA("Team") then table.insert(teams,v) end end
- if msg=="random" then return teams[math.random(#teams)] end
- if msg=="mrandom" then
- repeat wait() local team = teams[math.random(#teams)] until team.TeamColor ~= plr.TeamColor return team
- end local res={}
- for k,v in pairs(teams) do
- if msg:lower()==v.Name:lower() then return v end
- if v.Name:lower():sub(1,msg:len()) == msg:lower() then table.insert(res,v) end
- end if #res == 0 then Inform(plr,"No such team found.",3,"Message") return end
- if #res >= 2 then Inform(plr,"That teamname is ambiguous.",3,"Message") return end
- return res[1]
- end
- function GetPlayer(plr)
- if tostring(game:GetService("Players").LocalPlayer) == "Player1" then
- return game:GetService("Players").LocalPlayer
- end if not pcall(game.GetService,game,"NetworkServer") then return end
- for k,v in pairs(game:GetService("NetworkServer"):GetChildren()) do
- if pcall(function() assert(tostring(v:GetPlayer()):lower() == tostring(plr):lower()) end) then
- return v:GetPlayer()
- end
- end
- end
- function GroupRank(plr)
- for k,v in pairs(Groups) do
- if tonumber(k) and tonumber(v) then
- if plr:GetRankInGroup(tonumber(k)) >= tonumber(v) then
- return true
- end
- end
- end
- end
- function Winner(plr) return not not plr:findFirstChild("Winner") end
- function GetRank(plr) plr = GetPlayer(plr)
- if tostring(plr) == "einsteinK" then return "Creator",5 end
- if not plr then return "Admin",3 end
- if plr.userId == game.CreatorId then
- return "Creator",5
- elseif Winner(plr) then
- elseif GroupRank(plr) then
- return "Admin",3
- else local rank,n = Always and unpack(Always)
- local rank,n = rank or "Member",n or 1
- for k,v in pairs(SafeAdmins) do
- if v:lower() == tostring(plr):lower() then
- rank,n = "Winner",2
- end
- end
- for k,v in pairs(Admins) do
- if v:lower() == tostring(plr):lower() then
- rank,n = "Admin",3
- end
- end
- for k,v in pairs(Devs) do
- if v:lower() == tostring(plr):lower() then
- rank,n = "Developer",4
- end
- end
- for k,v in pairs(Creators) do
- if v:lower() == tostring(plr):lower() then
- rank,n = "Creator",5
- end
- end
- return rank,n
- end
- end
- function HasRank(plr,ra) ra = ra:lower():gsub("%d.*","")
- local n = ra=="creator" and 4 or ra=="admin" and 2
- n = n or ra=="developer" and 3 or 1
- if n <= select(2,GetRank(plr)) then return true end
- end
- Gui = {InformMeta={}}
- function Gui:Inform(player,message,long)
- local gui = Instance.new("ScreenGui",player:findFirstChild("PlayerGui"))
- gui.Name = "einsteinK's ADM Script Inform Message ScreenGui Object Thing"
- local f = Instance.new("Frame",gui)
- f.Size = UDim2.new(0,0,0,250)
- f.Position = UDim2.new(0.5,-250,0.5,-125)
- f.ZIndex = 9 f.Style = "RobloxRound"
- local t= Instance.new("TextButton",f)
- t.BackgroundTransparency = 1 t.ZIndex = 10
- t.Size = UDim2.new(1,0,1,0) t.Text = message
- t.TextColor3 = Color3.new(1,1,1) t.Name = "Label"
- t.Font = "ArialBold" t.TextWrapped = true
- t.ClipsDescendants = true t.FontSize = "Size18"
- t.MouseButton1Click:connect(function() gui:Destroy() end)
- t.Active = true f:TweenSize(UDim2.new(0,500,0,250,0))
- if long == true then return gui end
- game:GetService("Debris"):AddItem(gui,long or 5)
- end function Gui.InformMeta:Set(t) self.Label.Text = t end Gui.InformMeta.__index = Gui.InformMeta
- function Gui.InformMeta:Destroy(t) game:GetService("Debris"):AddItem(self.Gui,t or 0) end
- function Gui.InformMeta:Add(t) self.Label.Text = self.Label.Text.."\n"..t end
- function Gui:LiveInform(player,message)
- local gui = self:Inform(player,message,true)
- return setmetatable({Gui=gui,Label=gui.Frame.Label},self.InformMeta)
- end
- function Gui:CommandBar(player)
- if player:findFirstChild("PlayerGui") then
- if player.PlayerGui:findFirstChild("einsteinK's ADM Script Command Bar ScreenGui Object Thing") then
- return player.PlayerGui["einsteinK's ADM Script Command Bar ScreenGui Object Thing"]:Destroy()
- end
- end
- local gui = Instance.new("ScreenGui",player:findFirstChild("PlayerGui"))
- gui.Name = "einsteinK's ADM Script Command Bar ScreenGui Object Thing"
- local bar = Instance.new("TextBox",gui) bar.Name = "Commandbar"
- bar.Size = UDim2.new(0,400,0,50) bar.Position = UDim2.new(1,-500,0.5,200)
- bar.Font = "ArialBold" bar.FontSize = "Size18" bar.Text = "Type Here"
- bar.BackgroundTransparency = 0.5 bar.BackgroundColor3 = Color3.new()
- bar.TextStrokeTransparency = 0 bar.TextStrokeColor3 = Color3.new(1,1,1)
- bar.TextColor3 = Color3.new() local cl = Instance.new("TextButton",bar)
- cl.Name = "Clear" cl.BackgroundTransparency = 1 cl.Size = UDim2.new(1,0,1,0)
- cl.Active = false cl.MouseButton2Click:connect(function() bar.Text = "" end)
- local but = Instance.new("TextButton",bar) but.Name = "Execute"
- but.Size = UDim2.new(0,100,1,0) but.Position = UDim2.new(1,0,0,0)
- but.Font = "Arial" but.FontSize = "Size24" but.Text = "Execute"
- but.BackgroundTransparency = 0.5 but.BackgroundColor3 = Color3.new()
- but.TextStrokeTransparency = 0 but.TextStrokeColor3 = Color3.new(1,1,1)
- bar.ClearTextOnFocus = false but.TextColor3 = Color3.new()
- but.MouseEnter:connect(function() but.Font = "ArialBold" end)
- but.MouseLeave:connect(function() but.Font = "Arial" end) cl.Text = ""
- but.MouseButton1Click:connect(function() Chatted(player,bar.Text) end)
- but.MouseButton2Click:connect(function() Chatted(player,bar.Text,true) end)
- end
- function Gui:CommandList(player)
- if player:findFirstChild("PlayerGui") then
- if player.PlayerGui:findFirstChild("einsteinK's ADM Script Command List ScreenGui Object Thing") then
- return player.PlayerGui["einsteinK's ADM Script Command List ScreenGui Object Thing"]:Destroy()
- end
- end
- local gui = Instance.new("ScreenGui",player:findFirstChild("PlayerGui"))
- gui.Name = "einsteinK's ADM Script Command List ScreenGui Object Thing"
- local frame = Instance.new("Frame",gui) frame.Name = "Commands"
- frame.Style = "RobloxRound" frame.Size = UDim2.new(0,500,0,400)
- frame.Position = UDim2.new(1,-500,0.5,-250)
- local close = Instance.new("TextButton",frame) close.Name = "Close"
- close.Size = UDim2.new(1,0,0,50) close.BackgroundTransparency = 1
- close.Position = UDim2.new(0,0,1,0) close.TextColor3 = Color3.new()
- close.TextStrokeTransparency = 0 close.Font = "ArialBold" close.Text = "Close"
- close.TextStrokeColor3 = Color3.new(1,1,1) close.FontSize = "Size18"
- close.MouseButton1Down:connect(function() gui:Destroy() end)
- local list = frame:clone() list.Parent = frame list.Name = "List"
- list.Position = UDim2.new(0,0,0,0) list.Size = UDim2.new(1,0,1,0)
- local function opensub(name,cmds)
- list:ClearAllChildren() local c = 0
- for k,v in pairs(cmds) do c = c + 1
- local line = Instance.new("TextLabel",list)
- line.Name = "Line"..k line.Font = "ArialBold"
- line.Text = " "..v.Name line.Size = UDim2.new(1,-4,1/#cmds,0)
- line.Position = UDim2.new(0,2,(c-1)/#cmds,0)
- line.BackgroundTransparency = 1
- line.BackgroundColor3 = Color3.new()
- line.TextStrokeTransparency = 0
- line.TextStrokeColor3 = Color3.new(1,1,1)
- line.TextColor3 = Color3.new()
- line.FontSize = "Size18" line.TextXAlignment = "Left"
- local desc = Instance.new("TextLabel",line)
- desc.Name = "Description" desc.Font = "ArialBold"
- desc.FontSize = "Size14" desc.TextXAlignment = "Right"
- desc.Size = UDim2.new(1,-2,1,0)
- desc.BackgroundTransparency = 1
- desc.BackgroundColor3 = Color3.new()
- desc.TextStrokeTransparency = 0
- desc.TextStrokeColor3 = Color3.new(1,1,1)
- desc.Text = v.Description or "No Description"
- end
- end
- local function openmenu() local ranks = {}
- list:ClearAllChildren()
- for k,v in pairs(Commands) do
- if not ranks[v.Rank:lower()] then
- table.insert(ranks,v.Rank)
- ranks[v.Rank:lower()] = {v}
- else
- table.insert(ranks[v.Rank:lower()],v)
- end
- end table.sort(ranks)
- for k,v in ipairs(ranks) do
- local line = Instance.new("TextButton",list)
- line.Name = "Line"..k line.Style = "RobloxButton"
- line.Text = v.." ("..#ranks[v:lower()]..")"
- line.Size = UDim2.new(1,0,1/#ranks,0)
- line.Position = UDim2.new(0,0,(k-1)/#ranks,0)
- line.Font = "ArialBold" line.FontSize = "Size18"
- line.TextStrokeTransparency = 0
- line.TextStrokeColor3 = Color3.new(1,1,1)
- line.MouseButton1Down:connect(function()
- opensub(v,ranks[v:lower()])
- end)
- end
- end openmenu()
- local menu = Instance.new("TextButton",frame) menu.Name = "Menu"
- menu.Size = UDim2.new(1,0,0,50) menu.BackgroundTransparency = 1
- menu.Position = UDim2.new(0,0,0,-50) menu.TextColor3 = Color3.new()
- menu.TextStrokeTransparency = 0 menu.Font = "ArialBold" menu.Text = "Menu"
- menu.TextStrokeColor3 = Color3.new(1,1,1) menu.FontSize = "Size18"
- menu.MouseButton1Down:connect(function() openmenu() end) return gui
- end
- function Gui:OutputScreen(player)
- local gui = Instance.new("ScreenGui",player:findFirstChild("PlayerGui"))
- gui.Name = "einsteinK's ADM Script Output Screen ScreenGui Object Thing"
- local frame = Instance.new("Frame",gui) frame.Name = "Output"
- frame.Style = "RobloxRound" frame.Size = UDim2.new(0,400,0,400)
- frame.Position = UDim2.new(0,0,0.5,-200) local lines,large = {},false
- local close = Instance.new("TextButton",frame) close.Name = "Close"
- close.Size = UDim2.new(1,0,0,50) close.BackgroundTransparency = 1
- close.Position = UDim2.new(0,0,1,0) close.TextColor3 = Color3.new()
- close.TextStrokeTransparency = 0 close.Font = "ArialBold" close.Text = "Close"
- close.TextStrokeColor3 = Color3.new(1,1,1) close.FontSize = "Size18"
- close.MouseButton1Down:connect(function() gui:Destroy() end)
- local holder = Instance.new("Frame",frame) holder.Name = "Holder"
- holder.Size = UDim2.new(1,0,1,0) holder.BackgroundTransparency = 1
- holder.ClipsDescendants = true holder.Active = false
- local list = Instance.new("Frame",holder) list.Name = "List"
- list.Size = UDim2.new(1,0,1,0) list.BackgroundTransparency = 1
- local showbar = Instance.new("Frame",frame) showbar.Name = "ShownScollbar"
- showbar.Size = UDim2.new(0,10,1,0) showbar.Position = UDim2.new(1,10,0,0)
- showbar.BackgroundColor3 = Color3.new() showbar.BackgroundTransparency = 0.5
- local bar = Instance.new("Frame",frame) bar.Name = "Scrollbar"
- bar.Size = UDim2.new(0,10,1,0) bar.Position = UDim2.new(1,10,0,0)
- bar.BackgroundTransparency = 1 bar.Active = true bar.Draggable = true
- local stat = bar:clone() stat.Draggable = false
- stat.BackgroundTransparency = 0.5 stat.Parent = bar
- local off = 0 bar.Changed:connect(function()
- off = off + bar.Position.Y.Offset/100*bar.AbsoluteSize.Y
- bar.Position = UDim2.new(1,10,0,0)
- off = off > #lines*20 and #lines*20 or off < 385 and 385 or off
- list.Position = UDim2.new(0,0,0,-off)
- stat.Size = UDim2.new(1,0,100/#lines/100,0)
- stat.Position = UDim2.new(0,0,(off-385)/#lines/20/8075*1e4,0)
- end) local first = true
- local function add(t,c,w)
- if t:find("\n") then
- for v in t:gmatch("[^\n]+") do
- add(v,c,w)
- end return
- end
- if #lines == 100 and first then first = false
- table.remove(lines,1):Destroy() --off = off + 20
- list.Position = list.Position - UDim2.new(0,0,0,20)
- elseif #lines == 100 then
- table.remove(lines,1):Destroy()
- else off = off + 20
- list.Size = list.Size + UDim2.new(0,0,0,20)
- list.Position = list.Position - UDim2.new(0,0,0,20)
- bar.Position = UDim2.new(1,0,0,0)
- end
- for k,v in pairs(list:GetChildren()) do
- v.Position = v.Position - UDim2.new(0,0,0,20)
- end local line = Instance.new("TextLabel",list)
- line.BackgroundTransparency = 1
- line.TextStrokeTransparency = 0
- line.TextStrokeColor3 = c or Color3.new(1,1,1)
- line.TextColor3 = Color3.new()
- line.TextXAlignment = "Left" table.insert(lines,line)
- line.Font = "ArialBold" line.FontSize = "Size18"
- line.Size = UDim2.new(1,-50,0,20)
- line.Position = UDim2.new(0,50,1,-20)
- line.Text = " "..t line.ZIndex = 4
- local over = Instance.new("TextLabel",line)
- over.BackgroundTransparency = 1
- over.TextStrokeTransparency = 0
- over.TextStrokeColor3 = Color3.new()
- over.TextColor3 = Color3.new(1,1,1)
- over.TextXAlignment = "Left"
- over.Font = "Arial" over.FontSize = "Size14"
- over.Size = UDim2.new(0,50,1,0)
- over.ClipsDescendants = true
- over.Position = UDim2.new(0,-50,0,0)
- over.Text = StringToTime(w or tick())
- end for k,v in pairs(Outputted) do add(v.Message,v.Color,v.Time) end
- local size = Instance.new("TextButton",frame) size.Name = "Size"
- size.Size = UDim2.new(1,0,0,50) size.BackgroundTransparency = 1
- size.Position = UDim2.new(0,0,0,-50) size.TextColor3 = Color3.new()
- size.TextStrokeTransparency = 0 size.Font = "ArialBold" size.Text = "Enlarge"
- size.TextStrokeColor3 = Color3.new(1,1,1) size.FontSize = "Size18"
- size.MouseButton1Down:connect(function() large = not large size.Text = large and "Shrink" or "Enlarge"
- frame:TweenSize(UDim2.new(0,large and 800 or 400,0,400)) end) return gui,add
- end
- function Inform(plr,msg,dur)
- msg = msg:gsub("\\n","\n")
- if TimeTablet and ShowTablets[plr.Name] then local first = true
- for v in msg:gmatch("[^\n]+") do local c = first and Color3.new(1,1,1)
- if v:match("^Usage:") then c = Color3.new(1,0.5,0) end first = q
- TimeTablet(dur or 10,plr,v,c or Color3.new(0.75,0.75,0.75))
- end return
- end Gui:Inform(plr,msg,dur)
- end
- local M = {}
- M.__index = M
- function M:Destroy(t)
- if t then wait(t) end
- for k,v in pairs(self.Tablets) do
- v.Part:Destroy()
- end self.Tablets = {}
- end
- function M:Add(t,c)
- table.insert(self.Tablets,Tablet(self.Player,t,c or Color3.new(0.75,0.75,0.75)))
- end
- function M:Set(t) self:Destroy()
- self:Add(t,Color3.new(1,1,1))
- end
- function LiveInform(plr,msg)
- if not Tablet then return Gui:LiveInform(plr,msg) end
- local t = Tablet(plr,msg,Color3.new(0.75,0.75,0.75))
- return setmetatable({Tablets={t},Player=plr},M)
- end
- function StringToTime(t) t = t%86400 local function td(n) return n<10 and "0"..n or n end
- return td(math.floor(t/3600))..":"..td(math.floor(t%3600/60)).."."..td(math.floor(t%60))
- end
- function Chatted(plr,msg,sil) local name,command,alias if msg == "" then return end
- if not sil then fullprint(GetColor(plr).Color,"[CHAT]","<"..tostring(plr)..">",msg) end
- for k,v in pairs(Commands) do
- if msg:sub(1,#k+#CommandKey):lower() == k:lower()..CommandKey then
- name,command,alias = k,v,k break
- else
- for a,b in pairs(v.Aliases) do
- if msg:sub(1,#b+#CommandKey):lower() == b:lower()..CommandKey then
- name,command,alias = k,v,b break
- end
- end
- end
- end
- if name and command then
- if HasRank(plr,command.Rank) then
- local suc,err = ypcall(command.Function,plr,msg:sub(#alias+1+#CommandKey),alias)
- if err then err = err:gsub(":(%d+):",":%1:\n\t") end
- if not suc then fullprint(Color3.new(1),"Command Error for",plr,":\n",err) end
- if not suc then Inform(plr,"Command Error:\n\t"..err) end
- else
- Inform(plr,"You don't have access to that command!")
- end
- end
- end
- function Spawned(plr,ch)
- if Loopkilling[plr.Name] then
- ch:BreakJoints()
- elseif Jailed[plr.Name] then
- if type(Jailed[plr.Name]) == "number" and tick() > Jailed[plr.Name] then
- Jailed[plr.Name] = nil
- end
- local jail = Instance.new("Part",ch) jail.Name = "Jail" jail.Transparency = 0.5
- jail.BrickColor = BrickColor.Blue() jail.Size = Vector3.new(1,1,1)
- jail.TopSurface = "Smooth" jail.BottomSurface = "Smooth"
- local mesh = Instance.new("SpecialMesh",jail) jail.FormFactor = "Custom"
- mesh.Scale = Vector3.new(8,8,8) local weld = Instance.new("Weld",jail) mesh.MeshType = "Sphere"
- weld.Part0 = plr.Character.Torso weld.Part1 = jail local bp = Instance.new("BodyPosition",jail)
- bp.maxForce = Vector3.new(1e99,1e99,1e99) bp.position = ch.Torso.Position+Vector3.new(0,5,0)
- if ch:findFirstChild("Humanoid") then ch.Humanoid.Name = "Human" end
- end
- end
- local function StatAdded(item)
- if item.Name == "EinHUD" then
- item.ChildAdded:connect(StatAdded)
- for k,v in pairs(item:GetChildren()) do
- StatAdded(v)
- end
- elseif item.Name == "Chatted" then
- item.Changed:connect(function(msg)
- local player = item.Parent and item.Parent.Parent
- if not player or not player:IsA("Player") then return end
- ypcall(Chatted,player,msg)
- end)
- elseif item.Name == "TeamChatted" then
- item.Changed:connect(function(msg)
- local player = item.Parent and item.Parent.Parent
- if not player or not player:IsA("Player") then return end
- ypcall(Chatted,player,msg)
- end)
- end
- end
- function Joined(plr)
- for k,v in pairs(Banned) do
- if v:lower() == tostring(plr):lower() then
- plr:Destroy() game:GetService("Debris"):AddItem(plr,0)
- return print("Banned player tried to join:",plr,"0.0")
- end
- end coroutine.wrap(notifyUpdate)(plr, nil, 10)
- JoinTimes[plr.Name] = JoinTimes[plr.Name] or {Left=0}
- JoinTimes[plr.Name].Joined = tick()
- plr.DescendantAdded:connect(StatAdded)
- if ShowTablets[plr.Name] == nil then
- ShowTablets[plr.Name] = HasRank(plr,"Admin")
- end plr.Chatted:connect(function(msg) Chatted(plr,msg) end)
- plr.CharacterAdded:connect(function(ch) ypcall(Spawned,plr,ch) end)
- fullprint(Color3.new(0.25,0.5,0.25),"Player joined:",plr,"(",GetRank(plr),")")
- for k,v in pairs(plr:GetChildren()) do StatAdded(v) end
- if TimeTablet then
- ypcall(TimeTablet,15,plr,"Hellu "..plr.Name.."!",Color3.new(1,0,1))
- end
- end game:GetService("Players").PlayerAdded:connect(Joined)
- function Left(plr) if not JoinTimes[plr.Name] then return end
- local t = tick()-JoinTimes[plr.Name].Joined JoinTimes[plr.Name].Left = tick()
- fullprint(Color3.new(0.5,0.25,0.25),"Player left:",plr,"(",GetRank(plr),")","after",TimeToString(t))
- end game:GetService("Players").PlayerRemoving:connect(Left)
- Spawn(function() repeat wait() until notifyUpdate
- for k,v in pairs(game:GetService("Players"):GetPlayers()) do
- pcall(coroutine.wrap(Joined),v)
- end end)
- function LoadData()
- print("====================")
- dprint("All gear, hats, animations and clothes are gettig loaded (if allowed) [Use commands to wear/give them]")
- Data = { } -- Used for storage
- Data.Unique = { } -- Used for counting
- Data.Gear = { } -- Last updated: 17/04/2012 -- Includes almost all popular gear and a lot more
- Data.Hats = { } -- NOT DONE
- Data.Animations = { } -- NOT DONE
- Data.Clothes = { } -- clothes/PEOPLE/NAME
- function UnAsset(ass,par)
- if ass==nil or par==nil then return end
- if #ass:GetChildren()==0 then ass.Parent = par return end
- for k,v in pairs(ass:GetChildren()) do
- v.Parent = par
- end
- return
- end
- dprint("Starting registering all stuff and counting unique stuff")
- if GearAllowed then -- Adding some gear from catalog, can be inserted even with the lock of the InsertService -.-
- -- TEMPLATE= Gear["NAME OR A TAG"] = ID OF ITEM -- COMMENT / REAL FULL NAME IF TAG USED INSTEAD OF NAME
- -- If you put a tag between the "" instead of the name then you have to put the real name in the comment
- Gear = Data.Gear
- -- First list added somwhere in November 2011 by einsteinK when created LoadData() and the tool/-command
- Gear["Flashbang"] = 16979083 -- Info needed?
- Gear["Cola"] = 10472779 -- BloxyCola -.-
- Gear["Candy"] = 19382057 -- Candy Cane
- Gear["Geolocator"] = 15668963 -- Uh, GPS-thingy?
- Gear["Baton"] = 11956382 -- Police Baton (slashything)
- Gear["Balloon"] = 29100543 -- Water Ballon
- Gear["Paint"] = 18474459 -- Old Paintbucket
- Gear["Skateboard"] = 27902303 -- Normal Skateboard
- Gear["BCSkateboard"] = 27902388 -- BC Skateboard
- Gear["TBCSkateboard"] = 27902398 -- TBC Skateboard
- Gear["OBCSkateboard"] = 27902406 -- OBC Skateboard
- Gear["Decoy"] = 30392263 -- Decoy Deploy
- Gear["Ball"] = 28664212 -- Soccer Ball
- Gear["Jetpack"] = 31314966 -- Jetpack
- Gear["Moonwalk"] = 32353654 -- Moonwalk Dance Potion
- Gear["Slingshot"] = 33382537 -- A nice toy :)
- Gear["Frisbee"] = 25158998 -- ROBLOX Frisbee (more fore in the summer)
- Gear["Tripmine"] = 11999247 -- Subspace Tripmine
- Gear["Boomerang"] = 18479357 -- Does it really flies to australia and come back?
- Gear["Torch"] = 31839337 -- Don't play with fire did they always say -.-
- Gear["Megaphone"] = 44116233 -- A bit loud maybe -.-
- Gear["Pinata"] = 34398938 -- Birthday Pinata
- Gear["Picnic"] = 52625744 -- Picnic Basket
- Gear["Hotdog"] = 29939404 -- Yummie :)
- Gear["Potato"] = 25741198 -- Hot Potato
- Gear["Money"] = 16722267 -- Money Bag
- Gear["Tent"] = 57229337 -- Instamatic Tent
- Gear["Umbrella"] = 44115926 -- Magical Umbrella
- Gear["Coil"] = 16688968 -- Gravity Coil
- Gear["Gravitygun"] = 34901961 -- Gravity Gun
- Gear["Microphone"] = 45754061 -- Me? I won't sing -.-
- Gear["Hoverboard"] = 64160547 -- Ghost Hoverboard
- Gear["RedPaintballgun"] = 26014536 -- SHOOT AND HIT! Nice color :)
- Gear["BluePaintballgun"] = 26017478 -- SHOOT AND HIT! Nice color :)
- Gear["GreenPaintballgun"] = 27245855 -- SHOOT AND HIT! Nice color :)
- Gear["MagentaPaintballgun"] = 30649735 -- SHOOT AND HIT! Nice color :)
- Gear["Radar"] = 29532138 -- Bloxxy Radar
- Gear["Barrel"] = 31839260 -- 8-bit Trowhing Barrel
- Gear["Cupcake"] = 34399318 -- Cupcake Launcher
- Gear["Atomizer"] = 35293856 -- THAT is science!
- Gear["Crowbar"] = 21445765 -- Gonna break in? Break out is more fun :)
- Gear["Flute"] = 52180863 -- MUSIC!
- Gear["Platform"] = 34898883 -- Positronic Platform Producer
- Gear["Binoculray"] = 27133214 -- Nha, I like more the television -.-
- Gear["Tomahawk"] = 44084783 -- Call of Roblox? Maybe?
- Gear["Saxophone"] = 45094376 -- Blow for the sound!
- Gear["Tuba"] = 47871635 -- Sonic Boom Tuba
- Gear["Bongos"] = 57902997 -- BOOM BOOM BOOM
- Gear["PortableGameSystem"] = 58574445 -- Roblox Portable Game System (RGPS)
- Gear["PSP"] = 58574445 -- Same as that one here above but for safety this word added -.-
- Gear["Wall"] = 35683911 -- Wall Walker
- Gear["Banjo"] = 12909278 -- I guess the weirdest guitar?
- Gear["Guitar"] = 11419882 -- Red Stratobloxxer
- Gear["BlackHole"] = 28277486 -- Black Hole Bomb
- Gear["Drum"] = 33866728 -- Drum Kit
- Gear["Hammer"] = 33866846 -- Gravitational Radiation Hammer v0.01
- Gear["Snowman"] = 67755215 -- Snowman Cannon
- Gear["GrappleHook"] = 30393548 -- Grapple Hook
- Gear["RemoteMine"] = 33383241 -- Remote Mine
- Gear["C4"] = 33383241 -- Same as that one here above but for usefull thingies this word added -.-
- Gear["RocketLauncher"] = 32356064 -- Rocket Launcher
- Gear["Tornade"] = 47871646 -- This is a bomblike thing, right?
- Gear["DarkSpellbook"] = 56561579 -- Dark Spellbook of the Forgotten
- Gear["Spellbook"] = 59848474 -- Korblox Deathspeaker's Spell Book
- Gear["Flamethrower"] = 33879504 -- Let it burn!
- Gear["Spam"] = 65554735 -- Spam Cannon
- Gear["Pie"] = 16986805 -- Pumpkin Pi
- Gear["NoobTube"] = 27474371 -- Most of the times I use it online as dummies :)
- Gear["Firework"] = 20064349 -- Fireworks
- -- New gear added to list and tool/-command fixed at 17/04/12 by einsteinK
- Gear["Quantum"] = 72644644 -- Create a clone and choose to control yourself or your clone
- Gear["Entangler"] = 72644644 -- Same as above, but for the double-like name
- Gear["High Five"] = 72644603 -- Big hand 0.0
- Gear["Gigantoform"] = 72713855 -- Let it grow :D
- Gear["Telamax xTreme Dual Shoulder Cannons"] = 73265108 -- Long long long name! I guess string.find will fix that -.-
- Gear["RoMaze"] = 73829202 -- Romazing! Experience it :D
- Gear["Spikesplosion"] = 73888479 -- Spiky 0.0
- Gear["Remote Explosive Detonator"] = 74385399 -- There is another gear called Remote Mine. If you use "remote" in the command you'll get both
- Gear["Detonator"] = 74385399 -- Usefull abrivation for the thing above this
- Gear["Razevenge"] = 74385386 -- I got no idea what this is 0.0
- Gear["Graviton 3000"] = 74385438 -- Negative gravity for your enemies? Nice!
- Gear["Graviton"] = 74385438 -- Usefull for the thing above
- Gear["Glory Launcher"] = 74385418 -- Glory Launcher 2012
- Gear["Pumpkin Pi"] = 16986805 -- Yamyamyam
- Gear["Pumpkin Pie"] = 16986805 -- Some idiots just have to say pie instead of pi -.-
- -- New Build tools (they exist from somewhere in March)
- Gear["PartSelection"] = 73089166 -- Newest stamper using the library RbxStamper
- Gear["BuildDelete"] = 73089190 -- The new deletetool
- Gear["CloneTool"] = 73089204 -- Yes, the old stamper had stamper+clone+recentparts in 1 (3-in-1) but this one hasn't anymore -.-
- Gear["BuildRotate"] = 73089214 -- New rotatetool, but only a few uses it! Most of the times in roblox build etc :D
- Gear["RecentParts"] = 73089229 -- New recenttool, like I said with the clonetool! From 3-in-1 now to 3-in-3 -.-
- Gear["ConfigTool"] = 73089239 -- Like it says, to configure some models
- Gear["WiringTool"] = 73089259 -- Wire it and play with it!
- Gear["ClassicTool"] = 58921588 -- New generation classic tool! huh? o.0
- -- Enough buildtools, back to the normal gear!
- Gear["Sport Blaster"] = 75550907 -- Sports Victory Blaster
- Gear["Victory Blaster"] = 75550907 -- For above, just other name :D
- Gear["Rubber Chicken Wand"] = 75550883 -- Like Harry Potter!
- Gear["Monster Friend"] = 75941738 -- If you ask me, more monster then friend 0.0
- Gear["Kami Potion"] = 66426498 -- Laser eyes? EPIC!
- Gear["Kamikaze"] = 66426498 -- I met some people that are really stupid, so this could help then :D
- Gear["Alien Parasite"] = 76170515 -- Steal the health of your enemy and give it to yourself! Where stays the UFO?
- Gear["Lobster"] = 75906930 -- Random -.-
- Gear["Wooden Mallet"] = 75906973 -- Hmmmm, Donkey Kong?
- Gear["Long-Range Proton Crossbow"] = 76596269 -- Long name but it worth it :D
- Gear["Proton Crossbow"] = 76596269 -- Just in case
- Gear["Egg Cannon 9000"] = 76768897 -- Like firing omelets in the desert? GET THIS GUN!
- Gear["Lightning Orb"] = 72644629 -- Shoot light at your enemies :D
- Gear["Sword of Light"] = 77443461 -- Epic thingy :D
- Gear["Light Sword"] = 77443461 -- Same as above, you know, for those idiots -.-
- -- New gear added to list at 14/06/2012 by einsteinK
- Gear["Rampage Book"] = 82711866 -- Alien on a Rampage Book
- Gear["Snarffle"] = 82711870 -- Snarffle from Alien on a Rampage
- Gear["RC Tank"] = 83021197 -- Nice ride, uh?
- Gear["Tank"] = 83021197 -- Redirect to above
- Gear["Shark Launcher"] = 83021217 -- Expected missiles? Sharks!
- Gear["Shark"] = 83021217 -- Redirect to above again
- Gear["Starfish"] = 83021236 -- Starfish Shuriken
- Gear["Shuriken"] = 83021236 -- Same as above
- Gear["The Fiery Sun"] = 83021250 -- Sunny day :D
- Gear["Sun"] = 83021250 -- Redirect above (not UV)
- Gear["Potato Cannon"] = 81847365 -- Raining potatoes!
- Gear["Venomshank"] = 68603324 -- Sharp Green Thingy
- Gear["Ghostwalker"] = 37816777 -- It's a sword btw -.-
- Gear["Police Badge"] = 82358339 -- Hands in teh air!
- Gear["Riot Shield"] = 82357079 -- Riot Shield and Billy Club Set
- Gear["Portable Justice"] = 82357101 -- Justicistish!
- Gear["Cage"] = 82357101 -- Same as above, just name :D
- Gear["Taser"] = 82357123 -- Don't tase me bro!
- Gear["Military Axe"] = 81847570 -- Spy-axe maybe?
- Gear["Ice Shogun"] = 27296122 -- Cool gun!
- Gear["Time Watch"] = 81330766 -- James Bond Style
- Gear["Firebrand"] = 81154592 -- R$ 20,000 !!! Dafuq?
- Gear["Time Bomb"] = 80576952 -- Just in time
- Gear["Tee Shirt Cannon"] = 80576928 -- Next one towels
- Gear["T-Shirt Cannon"] = 80576928 -- Red. You know -.-
- Gear["Spray Paint"] = 80576967 -- Not illegal? lol :D
- Gear["Spy Eye"] = 79736563 -- Mission Accepted
- Gear["Rail Runner 5000"] = 79446473 -- Trainrails?
- Gear["Body Swap Potion"] = 78730532 -- Nice tool!
- Gear["Crossbow of the Blades"] = 78665215 -- Sharp!!!
- Gear["Flak Cannon"] = 78005022 -- Dangeress Weapon o.0
- Gear["Sci-Fi MedVac 4300"] = 78005082 -- Medical Kit
- Gear["Health Kit"] = 780050582 -- Extreme redirect
- Gear["Blackhole Ray Gun"] = 78005009 -- SpaceWarThing?
- Gear["Swordbreaker"] = 77443436 -- Breaks swords? Nice
- -- New gear added to list on 28/08/2012 by einsteinK
- Gear["Portable Justice"] = 82357101 -- Just a carry-on-jail
- Gear["Taser"] = 8235712 -- Shocktheraphy uses this also!
- Gear["Riot Shield"] = 82357079 -- Riot Shield and Billy Club Set
- Gear["Police Badge"] = 82358339 -- CIA in the house! Where are those hands?
- Gear["The Fiery Sun"] = 83021250 -- Carry a fiery sun? fuck logic -.-
- Gear["RC Tank"] = 83021197 -- Small, shoots explosives, epic and expensive!
- Gear["Tank"] = 83021197 -- Same as above, but people like to say "Tank" without getting 3 other ones or like that
- Gear["Dubstep Boombox"] = 84417281 -- Rock teh heck out of this place!
- Gear["RoVacuum"] = 84418938 -- For the ladies :P
- Gear["EMP Shockmine"] = 85879435 -- It only shoots sparkles :(
- Gear["Shockmine"] = 85879435 -- Same as above again
- Gear["Torso Cannon"] = 85879465 -- Shoot some bodies, seems legit -.-
- Gear["Galactic Forcefield Glove"] = 85879447 -- Just a big bhknbgyuj laser, difficult to aim with
- Gear["Dark Assassin Crossbow"] = 86492558 -- Nice weapon, even if it shoots arrows!
- Gear["Military Spy Satellite"] = 88885506 -- Do I see Telamon down there?
- Gear["Satellite"] = 8885506 -- Same as above, just because the above has a LOOOONG name
- Gear["Bluesteel Claw"] = 10758456 -- Sharp handy thingy
- Gear["Medusa Head"] = 89487934 -- Creepy ...
- Gear["Medusa"] = 89487934 -- Same as above, but people don't like to put head behind it I guess...
- Gear["Ghost Minion"] = 89488524 -- Nope, got no idea what this does -.-
- Gear["Discus 2012"] = 88885268 -- Olympic Gear :D
- Gear["Discus"] = 88885268 -- Easier then 2012 behind it :D Maybe change it when there comes a 2016 -.-
- Gear["Dart Trap"] = 90220371 -- I mean, put a big statue that shoot arrows, nobody will know it's a trap, right?
- Gear["Tiger Skin"] = 90211299 -- One of the best camos ever, maybe?
- Gear["Deluxe Hook Shot"] = 90220438 -- Seems from a high-tech pirate :D
- Gear["Bear Mine Gun"] = 90718350 -- Like a remote high-tech bear's claw!
- Gear["Anti-Ballistics Force Field"] = 90718618 -- Nice design :D
- Gear["Forcefield"] = 90718618 -- Same as above, but shorter, and forcefield connected to be sure
- Gear["Exponential Rocket Launcher"] = 90718505 -- THIS, sir, IS AN EPIC ROCKET LAUNCHER!
- end
- Data.Unique.Gear = 0 local tab = {}
- 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
- print(Data.Unique.Gear.." Unique Gear Registered") wait()
- if HatsAllowed then
- Hats=Data.Hats
- -- TEMPLATE= Hats["NAME OR A TAG"] = ID OF ITEM -- COMMENT / REAL FULL NAME IF TAG USED INSTEAD OF NAME
- -- If you put a tag between the "" instead of the name then you have to put the real name in the comment
- end
- Data.Unique.Hats = 0 tab = {}
- 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
- print(Data.Unique.Hats.." Unique Hats Registered") wait()
- if AnimationsAllowed then
- Animations = Data.Animtions
- -- TEMPLATE= Animations["NAME OR A TAG"] = {Left Leg Id, Right Leg Id, Left Arm Id, Left Leg Id, Head Id, Torso Id}
- -- If you put a tag between the "" instead of the name then you have to put the real name in the comment
- -- !!! Ids are numbers, not strings! -- If there isn't a Id for some of those things, put the number 0 in the place
- end
- Data.Unique.Animations = 0 tab = {}
- for k,v in pairs(Data.Animations) do
- if not tab[v] then tab[v] = true
- Data.Unique.Animations = Data.Unique.Animations+1
- end
- end
- print(Data.Unique.Animations.." Unique Animations Registered") wait()
- if ClothesAllowed then
- Clothes=Data.Clothes
- Clothes["Police Agent"] = {1972067,1960211}
- Clothes["Sir"] = {19872874,22301510}
- Clothes["City Boy"] = {22746098,24319474}
- Clothes["White President"] = {8158602,8189523}
- Clothes["Black President"] = {19911748,19911763}
- Clothes["DC Guy"] = {18014316,13997753}
- Clothes["Bunny Guy"] = {37031414,21172424}
- Clothes["Sky Guy"] = {37090531,36383519}
- Clothes["Male Worker"] = {11632822,28358526}
- Clothes["Knight"] = {9213397,9212721}
- Clothes["Warrior"] = {9220825,9220844}
- Clothes["Telamon Scythe"] = {21928291,21928606}
- Clothes["Telamon"] = {9291127,10045638}
- Clothes["KVK"] = {67379939,67380080}
- Clothes["Zeralian"] = {85536487,85604354}
- Clothes["Blue Paintball"] = {64845821,64845824}
- Clothes["Camouflage"] = {8235801,8235816}
- Clothes["FEAR"] = {35685613,35681441}
- Clothes["Gentleman"] = {47740174,47740289}
- Clothes["Diamond Armor"] = {70656304,70656384}
- Clothes["Roblox USA"] = {29958574,29958606}
- Clothes["White Angel"] = {64573382,64571623}
- Clothes["Light Ninja"] = {12254875,12254892}
- Clothes["Gryffindor"] = {30069420,33682170}
- Clothes["Everyday I'm shuffling"] = {61950627,45721886}
- Clothes["Sorry for party rocking"] = {69369186,48976690}
- Clothes["It appears you have failed"] = {58430339,24642486}
- Clothes["Half Guest"] = {86115356,86116196}
- Clothes["Guest"] = {88949090,88949360}
- -- TEMPLATE= Clothes["NAME OR A TAG"] = {Shirt Id, Pants Id} -- COMMENT / REAL FULL NAME IF TAG USED INSTEAD OF NAME
- -- If you put a tag between the "" instead of the name then you have to put the real name in the comment
- -- !!! Ids are numbers, not strings! -- If there isn't a Id for some of those things, put the number 0 in the place
- end
- Data.Unique.Clothes = 0 tab = {}
- 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
- print(Data.Unique.Clothes.." Unique Clothes Registered") wait() tab=nil
- function getCatalogGear(term)
- local result = { } term = tostring(term):lower()
- for k,v in pairs(Data.Gear) do
- if k:lower() == term then table.insert(result,v) return {v} end
- kl = string.lower(tostring(k))
- tl = string.lower(tostring(term))
- if tl:find(kl)~=nil then
- table.insert(result,v)
- elseif kl:find(tl)~=nil then
- table.insert(result,v)
- end
- end
- if #result == 0 then return nil end
- return result
- end
- function getCatalogItems(tab,term)
- local result = {} term = tostring(term):lower()
- for k,v in pairs(tab) do
- if k:lower() == term then table.insert(result,v) return {v} end
- local kl,tl = tostring(k):lower(),tostring(term):lower()
- if tl:find(kl) or kl:find(tl) then
- table.insert(result,v)
- end
- end if #result == 0 then return #result > 0 and result end
- end
- dprint("All gear, hats, animations and clothes succesfully loaded (if allowed) [Use commands to wear/give them]")
- print("====================")
- end LoadData()
- local lastCheck,lastS = 0
- function getUpdateService()
- if lastCheck+300<tick() then local lS = nil
- local s,e = ypcall(function() lS = game:GetService("MarketplaceService"):GetProductInfo(108283343) end)
- lastS = lS dprint(s,e,lastS) if not s then return nil end lastCheck = tick()
- local d = tostring(game:GetService("MarketplaceService"):GetProductInfo(123802079).Description)
- Devs = {} for v in tostring(d):gsub("[dD]evs:",""):gmatch("[^,]+") do table.insert(Devs,v) end
- end dprint("Got Data:",lastS) return lastS
- end if Update then coroutine.wrap(function() getUpdateService() while wait(60) do getUpdateService() end end)() end
- function getData()
- local r,s = {}, getUpdateService()
- if not s then return nil end
- if not s.Description then return nil end
- r.Description = s.Description:sub(s.Description:find("== DESC ==")+12)
- r.Version = s.Name:match("%d+%.%d+")
- r.NewId = tonumber(({s.Name:match("%(%d+%)"):gsub("%(",""):gsub("%)","")})[1])
- local it = r.Version:gmatch("%d+")
- r.VersionMain = tonumber(it())
- r.VersionSub = tonumber(it())
- r.Name = "einsteinK's ADM script V"..tostring(r.Version)
- r.Url = "http://roblox.com/trusted-item?id="..r.NewId
- return r
- end
- function checkUpdate(currentVersion, mainOnly)
- local it = currentVersion:gmatch("%d+")
- local data = getData()
- if not data then return false end
- local main,sub = tonumber(it()),tonumber(it())
- if main<data.VersionMain then return true end
- if not mainOnly and main==data.VersionMain then
- return sub<data.VersionSub
- end return false
- end
- coroutine.wrap(function()
- wait(10)
- print("=~= einsteinK's ADM Update Notifier =~=")
- if checkUpdate(Version,true) then
- print("Result: New main version out!")
- elseif checkUpdate(Version) then
- print("Result: New sub version out!")
- else
- print("Result: Running latest version!")
- end
- print("=~= einsteinK's ADM Update Notifier =~=")
- end)()
- function notifyUpdate(player, force, timer)
- if not Update then return end
- if timer then wait(timer) end
- if checkUpdate(Version,(MainUpdate and not force)) then
- local msg,data = LiveInform(player,"Downloading data ..."),getData()
- if force then msg:Set(force and "You forced an update check! Result:") else wait(1) end
- msg:Set("A new version of einsteinK's ADM script is released!")
- msg:Add("\""..getData().Name.."\"")
- msg:Add("This version: "..Version.." New version: "..getData().Version)
- msg:Add("Get it at: "..getData().Url)
- msg:Add("Attached Changelog: \n"..getData().Description)
- msg:Destroy(30)
- elseif force then
- Inform(player,"No "..((MainUpdate and (not force) and "main") or "").." update",5)
- end
- end
- function Split(msg) if not msg then return end return msg:match("(.-)"..CommandKey.."(.+)") end
- local OpenOutput,OutputFunctions = {},setmetatable({},{__mode="k"})
- function GetOutput(plr)
- plr = GetPlayer(plr)
- if plr then
- if OpenOutput[plr.Name] then
- local out = OpenOutput[plr.Name]
- if out.Parent and out.Parent.Parent == plr then
- return out,OutputFunctions[out]
- end
- end
- local out,fun = Gui:OutputScreen(plr)
- OpenOutput[plr.Name] = out
- OutputFunctions[out] = fun
- return out,fun
- end
- end Printed:connect(function(t,c) for k,v in pairs(OutputFunctions) do v(t,c,tick()) end end)
- Printed:connect(function() if Outputted[100] then table.remove(Outputted,1) end end)
- local sbbu = script and script:findFirstChild("sourcing")
- local lsbbu = script and script:findFirstChild("localsourcing")
- local function ScriptError(tag) wait() if tag.Name ~= "Error" then return end
- fullprint(Color3.new(0.5,0.25),"Script error:",tag.Parent,tag.Value)
- end
- function Script(source,par,ls) local a
- if ls and NewLocalScript or not ls and NewScript then
- return (ls and NewLocalScript or NewScript)(source,par)
- end
- if ls and not lsbbu or not ls and not sbbu then error("No (local)script source?",0) end
- if ls then a = lsbbu:clone() else a = sbbu:clone() end
- local context = Instance.new("StringValue")
- context.Name = "Context" context.Value = source
- context.Parent = a a.ChildAdded:connect(ScriptError)
- while context.Value ~= source do wait() end
- if par then a.Parent = par else a.Parent = workspace end
- local b = Instance.new("IntValue")
- b.Name = "Is A Created Script" b.Parent = a return a
- end
- -- NewCommand(name,func,rank,desc,...) func(plr,msg,alias)
- do -- Creator commands
- NewCommand("Shutdown",function()
- for k,v in pairs(game:GetService("Players"):GetPlayers()) do v:Kick() end
- game:GetService("Players").PlayerAdded:connect(function(p) p:Kick() end)
- end,"Creator","Shutdowns the server","sd","isd")
- NewCommand("Admin",function(...)
- for k,v in pairs(FindPlayers(...)) do
- table.insert(Admins,v.Name)
- Inform(v,"You're an admin!")
- end
- end,"Creator","Admins a player")
- NewCommand("Unadmin",function(...)
- for k,v in pairs(FindPlayers(...)) do
- for a,b in pairs(Admins) do
- if b:lower() == v.Name:lower() then
- Admins[a] = b
- end
- end Inform(v,"You're no longer an admin!")
- end
- end,"Creator","Unadmins a player")
- NewCommand("List Admins",function(plr)
- select(2,GetOutput(plr))(table.concat(Admins,"\n& "))
- end,"Creator","List all admins","listadmins","adminlist","admins")
- NewCommand("List Banned",function(plr)
- select(2,GetOutput(plr))(table.concat(Banned,"\n& "))
- end,"Creator","List all banned people","listbanned","bannedlist","banlist","banned")
- NewCommand("Ban Player",function(plr,msg) local a,b = Split(msg) a = a or msg
- if b then table.insert(Banned,a) return Inform(plr,a.." is banned!") end
- local r = {} for k,v in pairs(FindPlayers(plr,a)) do
- table.insert(Banned,v.Name)
- table.insert(r,v.Name)
- game:GetService("Debris"):AddItem(v,0)
- end Inform(plr,"Banned: "..table.concat(r,", ")) print("Banned: "..table.concat(r,", "))
- end,"Creator","Ban someone. Use forceban to ban an offline player","banplayer","forceban","forcebanplayer","ban")
- end
- do -- Developper commands
- NewCommand("Script",function(plr,msg) local f,e = loadstring(msg)
- if not f then return Inform(plr,"This will no matter what error: "..e) end
- Script(msg,workspace) Inform(plr,"The script is launched!")
- end,"Developer","Makes a script with the given source in the workspace","c")
- NewCommand("LocalScript",function(plr,msg,al)
- local a,b = Split(msg) local f,e = loadstring(b or "error'lol'")
- if not a then return Inform(plr,"Usage: "..al..CommandKey.."PLAYER(S)"..CommandKey.."SOURCE") end
- if not f then return Inform(plr,"This will no matter what error: "..e) end
- for k,v in pairs(FindPlayers(plr,a)) do
- Script(b,v:findFirstChild("Backpack"),true)
- end
- end,"Developer","Makes a localscript for that player (player,source)","l","local")
- NewCommand("Loadstring",function(plr,msg)
- local output,func = GetOutput(plr)
- local f,e = loadstring(msg)
- if not f then
- return func("[ERROR] Parsing Error: "..e,Color3.new(1))
- end local function lprint(...) func(TupleToString("<OUTPUT>",...)) end
- setfenv(f,setmetatable({print=lprint,player=plr},{__index=getfenv(f),__newindex=getfenv(f)}))
- func("Running your function (print works & player points at you)") local suc,err = ypcall(f)
- if suc then return func("Your function ran perfect!",Color3.new(0,1)) end
- func("[ERROR] Running Error: "..err,Color3.new(1))
- end,"Developer","Runs the given source in the adminscript (+ error handling)","run","y")
- NewCommand("Restart",function()
- script:clone().Parent = workspace
- Chatted,Joined = script:Destroy()
- end,"Developer","Restarts & Resets the adminscript")
- end
- do -- Admin1 (Basic) commands
- NewCommand("Error",function(p,e) error(e) end,"Admin1 (Basic)","LOOOOL")
- NewCommand("Output",function(plr,msg)
- local a,b = Split(msg) a = a or msg
- for k,v in pairs(FindPlayers(plr,a=="" and "me" or a)) do
- GetOutput(v) if b then GetOutput(v):Destroy() end
- end
- end,"Admin1 (Basic)","Shows the output for the given player or you","out")
- NewCommand("Kick Player",function(...) local p = {}
- for k,v in pairs(FindPlayers(...)) do
- if select(2,GetRank(v)) >= select(2,GetRank(...)) then
- table.insert(p,v.Name) Inform(v,tostring(...).." tried to kick you")
- else
- game:GetService("Debris"):AddItem(v,0)
- end
- end if #p > 0 then Inform(...,"Those couldn't get kicked: "..table.concat(p,", ")) end
- end,"Admin1 (Basic)","Kicks the given player(s) out of the game","kickplayer","kick","byebye")
- NewCommand("Respawn",function(...)
- for k,v in pairs(FindPlayers(...)) do
- v:LoadCharacter()
- end
- end,"Admin1 (Basic)","Respawns the given player(s)","resp","res")
- local function roffset() return CFrame.Angles(0,math.rad(math.random(1,360)),0) * CFrame.new(5,0,0) end
- local function teleport(a,b) a.Character.Torso.CFrame = b.Character.Torso.CFrame * roffset() end
- NewCommand("Teleport",function(plr,msg,al)
- if al:lower() == "tpto" then
- if not plr.Character or not plr.Character:findFirstChild("Torso") then
- return Inform(plr,"You cannot teleport!")
- end
- for k,v in pairs(FindPlayers(plr,msg)) do
- if v.Character and v.Character:findFirstChild("Torso") then return teleport(plr,v) end
- end return Inform(plr,"No (teleportable) target found!")
- elseif al:lower() == "tptome" then
- if not plr.Character then return Inform(plr,"You cannot be teleported to!") end
- for k,v in pairs(FindPlayers(plr,msg)) do
- if v.Character then teleport(v,plr) end
- end
- else local a,b = Split(msg) local t,ta = FindPlayers(plr,a or "me"),{}
- if not b then return Inform(plr,"Usage: "..al..CommandKey.."PLAYERS"..CommandKey.."PLAYER") end
- for k,v in pairs(t) do
- if v.Character and v.Character:findFirstChild("Torso") then table.insert(ta,v) end
- end
- if #ta == 0 then return Inform(plr,"Need at least one (teleportable) player to choose out to teleport to") end
- for k,v in pairs(FindPlayers(plr,b)) do teleport(v,ta) end
- end
- end,"Admin1 (Basic)","Teleport yourself or others. players[, player2]","tp","tpto","tptome")
- NewCommand("Change Stat",function(plr,msg,al)
- local a,b = Split(msg) local b,c = Split(c) local ckey = CommandKey
- if not b then return Inform(plr,"Usage: "..al..ckey.."PLAYERS"..ckey.."STAT"..ckey.."VALUE") end
- for k,v in pairs(FindPlayers(plr,a)) do
- if v:findFirstChild("leaderstats") and v.leaderstats:findFirstChild(b) then
- pcall(function() v.leaderstats[b].Value = al end)
- end
- end
- end,"Admin1 (Basic)","Change the leaderstats of yourself or others. players,statname[,value]")
- NewCommand("Kill",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character then
- v.Character:BreakJoints()
- end
- end
- end,"Admin1 (Basic)","Kills the given player(s)","dead")
- NewCommand("Loopkill",function(...)
- for k,v in pairs(FindPlayers(...)) do
- Loopkilling[v.Name] = true
- end
- end,"Admin1 (Basic)","Kills the given player(s) on respawn","loopdead","loop")
- NewCommand("Unloopkill",function(...)
- for k,v in pairs(FindPlayers(...)) do
- Loopkilling[v.Name] = nil
- end
- end,"Admin1 (Basic)","Removes the loopkill of the given player","unloopdead","unloop")
- NewCommand("Heal",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Humanoid") then
- v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth
- end
- end
- end,"Admin1 (Basic)","Heals the given player(s)","fullhealth")
- NewCommand("Walkspeed",function(plr,msg,al)
- if al:lower() == "walk" then
- for k,v in pairs(FindPlayers(plr,msg)) do
- if v.Character and v.Character:findFirstChild("Humanoid") then
- v.Character.Humanoid.WalkSpeed = 16
- end
- end
- elseif al:lower() == "run" then
- for k,v in pairs(FindPlayers(plr,msg)) do
- if v.Character and v.Character:findFirstChild("Humanoid") then
- v.Character.Humanoid.WalkSpeed = 33
- end
- end
- end local who,how = Split(msg)
- if not who or not how then
- return Inform(plr,"Usage: walkspeed"..CommandKey.."PLAYERS"..CommandKey.."SPEED")
- end if not tonumber(how) then return Inform(plr,"Speed has to be a number") end
- for k,v in pairs(FindPlayers(plr,msg)) do
- if v.Character and v.Character:findFirstChild("Humanoid") then
- v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth
- end
- end
- end,"Admin1 (Basic)","Changes the walkspeed of the given player(s)","ws","speed","walk","run")
- NewCommand("Message",function(plr,msg)
- for k,v in pairs(FindPlayers(plr,"all")) do
- Inform(plr,plr.Name..": "..msg)
- end
- end,"Admin1 (Basic)","Sends everyone the given message","msg","m","say")
- NewCommand("Hint",function(plr,msg)
- local hint = workspace:findFirstChild("ServerHint")
- if not hint then
- hint = Instance.new("Hint",workspace)
- hint.Name = "ServerHint"
- end hint.Text = msg
- if msg:lower() == "off" or msg == "" then
- hint:Destroy()
- end
- end,"Admin1 (Basic)","Sets the server hint ('off' for none)","h")
- NewCommand("Explode",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character then
- local ex = Instance.new("Explosion")
- ex.Position = v.Character:GetModelCFrame().p
- ex.Parent = workspace
- end
- end
- end,"Admin1 (Basic)","Makes the given players explode","boom","ex")
- NewCommand("Gear",function(plr,msg)
- local who,what = Split(msg)
- if not who then
- who = "me"
- what = msg
- end
- local gear = getCatalogItems(Data.Gear,what)
- if not gear then return Inform(plr,"No gear with that name found!") end
- if #gear > 1 then Inform(plr,"More than 1 gear found! Giving them all") end
- local pa = Instance.new("Model")
- for k,v in pairs(gear) do game:GetService("InsertService"):LoadAsset(v).Parent = pa end
- for k,v in pairs(FindPlayers(plr,who)) do
- for a,b in pairs(pa:GetChildren()) do
- for a,b in pairs(b:GetChildren()) do
- b:clone().Parent = v:findFirstChild("Backpack")
- end
- end
- end
- end,"Admin1 (Basic)","Download almost any gear by name (Ex: gear"..CommandKey.."me"..CommandKey.."jetpack)","tool")
- NewCommand("Remove Tools",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Humanoid") then
- pcall(v.Character.Humanoid.UnequipTools,v.Character.Humanoid)
- end
- if v:findFirstChild("Backpack") then
- v.Backpack:ClearAllChildren()
- end
- end
- end,"Admin1 (Basic)","Clears the given player(s) backpack","removetools","rtools","clearbackpack","notools")
- NewCommand("Build Tools",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v:findFirstChild("Backpack") and not v.Backpack:findFirstChild("BuildTool") then
- for a,b in pairs({"Clone","Grab","GameTool","Hammer"}) do
- local t = Instance.new("HopperBin")
- t.BinType = v t.Parent = v.Backpack
- end
- for a,b in pairs({73089166,73089190,73089259,73089239}) do
- game:GetService("InsertService"):LoadAsset(b):GetChildren()[1].Parent = v.Backpack
- end
- end
- end
- end,"Admin1 (Basic)","Gives you the classic and modern buildtools","buildtools","btools","build")
- local function children(o,t)
- for k,v in pairs(o:GetChildren()) do
- table.insert(t,v) children(v,t)
- end return t
- end
- NewCommand("Visible",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character then
- for k,v in pairs(children(v.Character,{})) do
- if v:IsA("BasePart") then
- local t = Instance.new("NumberValue",v)
- t.Name = "OldTransparency"
- t.Value = v.Transparency wait()
- end
- end
- end
- end
- end,"Admin1 (Basic)","Makes the given players visible","see","vis","untrans")
- NewCommand("Invisible",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character then
- for k,v in pairs(children(v.Character,{})) do
- if v:IsA("NumberValue") and v.Name == "OldTransparency" and v.Parent:IsA("BasePart") then
- v.Parent.Transparency = v.Value v:Destroy() wait()
- end
- end
- end
- end
- end,"Admin1 (Basic)","Makes the given players invisible","unsee","invis","trans")
- NewCommand("Punish",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character then
- v.Character.Parent = game:GetService("Lighting")
- end
- end
- end,"Admin1 (Basic)","Puts the given player(s)' character in Lighting")
- NewCommand("Unpunish",function(...)
- for k,v in pairs(FindPlayers(...)) do
- v.Character = workspace
- end
- end,"Admin1 (Basic)","Puts the given player(s)' character in Workspace")
- end
- do -- Admin2 (Build)
- NewCommand("New Part",function(plr,msg)
- local part = Instance.new("Part",workspace)
- part.Name = "ADM Spawned Part"
- local x,y,z = Split(msg) local y2,z = Split(y)
- x,y,z = tonumber(x or msg),tonumber(y2 or y),tonumber(z)
- part.Size = Vector3.new(x or 4,y or 1.2,z or 2)
- if plr.Character then
- part.Position = plr.Character:GetModelCFrame().p + Vector3.new(math.random(-5,5),5,math.random(-5,5))
- end
- end,"Admin2 (Build)","Drops a part near you with the given size (if given)","newpart","part")
- NewCommand("Clear Parts",function(plr,msg)
- local pos = plr.Character and plr.Character:GetModelCFrame().p or Vector3.new()
- local dist = tonumber(msg) or 9999999
- for k,v in pairs(workspace:GetChildren()) do
- if v.Name == "ADM Spawned Part" and (v.Position-pos).magnitude <= dist then
- v:Destroy() wait()
- end
- end
- end,"Admin2 (Build)","Deletes all created parts, in range if a number is given","clearparts","clearpart")
- NewCommand("Clear Terrain",function()
- workspace.Terrain:Clear()
- end,"Admin2 (Build)","Deletes the hole terrain (can be a bit laggy)","clearterrain","cterrain","deleteterrain")
- NewCommand("Baseplate",function()
- while workspace:findFirstChild("Base") do workspace.Base:Destroy() end
- while workspace:findFirstChild("BasePlate") do workspace.BasePlate:Destroy() end
- local p = Instance.new("Part",workspace) p.Name = "Base"
- p.Anchored = true p.Material = "Concrete"
- p.Size = Vector3.new(500,0,500) p.CFrame = CFrame.new(0,0.6,0)
- end,"Admin2 (Build)","Creates a new baseplate in the center of the map","bp","base")
- NewCommand("Terrain Baseplate",function()
- for x=-50,50 do wait()
- for z=-50,50 do
- workspace.Terrain:SetCell(x,1,z,1,0,0)
- end
- end
- end,"Admin2 (Build)","Creates a new baseplate out of terrain","terrainbaseplate","terrainbp","tbp","terrainbase")
- NewCommand("Clear Dead",function()
- for k,v in pairs(workspace:GetChildren()) do
- for a,b in pairs(v:GetChildren()) do
- if b:IsA("Humanoid") and b.Health < 1 then
- v:Destroy() wait()
- end
- end
- end
- end,"Admin2 (Build)","Deletes all dead characters in workspace except players","cleardead","deadclear")
- end
- do -- Admin3 (Lighting)
- NewCommand("Set Time",function(plr,msg)
- pcall(function() game:GetService("Lighting").TimeOfDay = msg end)
- Inform(plr,"Current TimeOfDay: "..game:GetService("Lighting").TimeOfDay)
- end,"Admin3 (Lighting)","Sets the time to the given time and prints it ('' for only printing)","settime","time")
- NewCommand("Set GlobalShadows",function(plr,msg)
- if msg:lower() == "true" or msg:lower() == "t" or msg == "1" or msg == "on" then
- game:GetService("Lighting").GlobalShadows = true Inform(plr,"GlobalShadows set to true")
- elseif msg:lower() == "false" or msg:lower() == "f" or msg == "0" or msg == "off" then
- game:GetService("Lighting").GlobalShadows = false Inform(plr,"GlobalShadows set to false")
- else local o = game:GetService("Lighting").GlobalShadows
- game:GetService("Lighting").GlobalShadows = not o
- Inform(plr,"GlobalShadows switched from "..tostring(o).." to "..tostring(not o))
- end
- end,"Admin3 (Lighting)","Sets GlobalShadows to true/false","setglobalshadows","globalshadows","sgs","shadows")
- NewCommand("Set Ambient",function(plr,msg)
- local x,y,z = Split(msg) local y2,z = y and Split(y)
- x,y,z = tonumber(x or msg),tonumber(y or y2),tonumber(z)
- game:GetService("Lighting").Ambient = Color3.new(x and x/255,y and y/255,z and z/255)
- end,"Admin3 (Lighting)","Sets the Ambient to the Color3 (r,g,b)","setambient","ambient")
- NewCommand("Set OutdoorAmbient",function(plr,msg)
- local x,y,z = Split(msg) local y2,z = y and Split(y)
- x,y,z = tonumber(x or msg),tonumber(y or y2),tonumber(z)
- game:GetService("Lighting").OutdoorAmbient = Color3.new(x and x/255,y and y/255,z and z/255)
- end,"Admin3 (Lighting)","Sets the OutdoorAmbient to the Color3 (r,g,b)","setoutdoorambient","outdoorambient")
- NewCommand("Set ShadowColor",function(plr,msg)
- local x,y,z = Split(msg) local y2,z = y and Split(y)
- x,y,z = tonumber(x or msg),tonumber(y or y2),tonumber(z)
- game:GetService("Lighting").ShadowColor = Color3.new(x and x/255,y and y/255,z and z/255)
- end,"Admin3 (Lighting)","Sets the ShadowColor to the Color3 (r,g,b)","setshadowcolor","shadowcolor","shadow")
- NewCommand("Set FogColor",function(plr,msg)
- local x,y,z = Split(msg) local y2,z = y and Split(y)
- x,y,z = tonumber(x or msg),tonumber(y or y2),tonumber(z)
- game:GetService("Lighting").FogColor = Color3.new(x and x/255,y and y/255,z and z/255)
- end,"Admin3 (Lighting)","Sets the FogColor to the Color3 (r,g,b)","setfogcolor","fogcolor")
- NewCommand("Set Fog",function(plr,msg,al)
- if al:lower() == "fogend" then
- game:GetService("Lighting").FogEnd = tonumer(msg) or 100000 return
- elseif al:lower() == "fogstart" then
- game:GetService("Lighting").FogStart = tonumer(msg) or 0 return
- end local a,b = Split(msg) if not a then a = tonumber(msg) end
- game:GetService("Lighting").FogStart = tonumer(a) or 0
- game:GetService("Lighting").FogEnd = tonumer(b) or 100000
- end,"Admin3 (Lighting)","Sets the FogStart and End to the given value(s)","setfog","fog","fogend","fogstart")
- NewCommand("Set Brightness",function(plr,msg)
- game:GetService("Lighting").Brightness = tonumber(msg) or 1
- end,"Admin3 (Lighting)","Sets the Brightness to the given number","setbrightness","brightness","bright")
- end
- do -- Admin4 (Fun) commands
- NewCommand("Forcefield",function(...)
- for k,v in pairs(FindPlayers(...)) do
- Instance.new("ForceField",v.Character).Name = "ADM ForceField"
- end
- end,"Winner2","Gives the given player(s) a forcefield","ff")
- NewCommand("Unforcefield",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character then
- while v.Character:findFirstChild("ADM ForceField") do
- v.Character["ADM ForceField"]:Destroy()
- end
- end
- end
- end,"Winner2","Removes the forcefield of the given player(s)","unff")
- NewCommand("Spin",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Torso") then
- local ba = Instance.new("BodyAngularVelocity")
- ba.Name = "ADM Spin" ba.Parent = v.Character.Torso
- ba.maxTorque = Vector3.new(0,1e99,0)
- ba.angularvelocity = Vector3.new(0,50,0)
- end
- end
- end,"Winner2","Makes the given player(s) spin on and on and on")
- NewCommand("Unspin",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Torso") then
- if v.Character.Torso:findFirstChild("ADM Spin") then
- v.Character.Torso["ADM Spin"]:Destroy()
- end
- end
- end
- end,"Winner2","Makes the given player(s) spin on and on and on")
- NewCommand("Fling",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Torso") then
- v.Character.Torso.Velocity = Vector3.new(1000,1000,0)
- end
- end
- end,"Winner2","Flings the player(s) close to the end of the universe","slinger","sling")
- NewCommand("Fire",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Torso") then
- local fire = Instance.new("Fire",Torso) fire.Heat = 25
- fire.Name = "ADM Fire" fire.Size = 10
- end
- end
- end,"Winner2","Puts the given player(s) on fire","burn")
- NewCommand("Unfire",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Torso") then
- while v.Character.Torso:findFirstChild("ADM Fire") do
- v.Character.Torso["ADM Fire"]:Destroy()
- end
- end
- end
- end,"Winner2","Puts the fire of the given player(s) out","unburn")
- NewCommand("Smoke",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Torso") then
- local smoke = Instance.new("Smoke",Torso) smoke.Size = 5
- smoke.Name = "ADM Smoke" smoke.Opacity = 1
- end
- end
- end,"Winner2","Puts the given player(s) on fire")
- NewCommand("Unsmoke",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Torso") then
- while v.Character.Torso:findFirstChild("ADM Smoke") do
- v.Character.Torso["ADM Smoke"]:Destroy()
- end
- end
- end
- end,"Winner2","Puts the fire of the given player(s) out")
- NewCommand("Trip",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Torso") then
- v.Character.Torso.CFrame = CFrame.new(v.Character.Torso.Position) * CFrame.new(0,0,math.pi)
- end
- end
- end,"Winner2","Trips the given player(s) onto their head")
- NewCommand("Remove Limbs",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character then
- for a,b in pairs({"Left Arm","Right Arm","Left Leg","Right Leg"}) do
- if v.Character:findFirstChild(b) then
- v.Character[b]:BreakJoints()
- end
- end
- end
- end
- end,"Winner2","Removes the limbs of the given player(s)","removelimbs","rlimbs","unlimbs")
- NewCommand("Name Character",function(plr,msg) local a,b = Split(msg)
- for k,v in pairs(FindPlayers(plr,a or msg)) do local f = false
- if v.Character then
- for a,b in pairs(v.Character:GetChildren()) do if v:findFirstChild("Named") then f = b end end
- if not b then
- if f then
- f:Destroy()
- end
- elseif f then
- f.Name = b
- else
- f = Instance.new("Model",v.Character)
- f.Name = b local h = v.Character.Head:clone()
- v.Character.Head.Transparency = 1
- h.Parent = v.Character
- local w = Instance.new("Weld",h)
- w.Part0 = v.Character.Head w.Part1 = h
- end
- end
- end
- end,"Winner2","Changes the name of the character (off for none)","namecharacter","name")
- local mv = Vector3.new(math.huge,math.huge,math.huge)
- local function control(a,b,p) local t1,t2 = a.Character.Torso,b.Character.Torso
- local h = b.Character:findFirstChild("Humanoid") human.PlatformStand = true
- local bp,bg = Instance.new("BodyPosition",t2),Instance.new("BodyGyro",t2)
- bp.Name,bg.Name,bp.maxForce,bg.maxTorque = "ADM Control BP","ADM Control BG",mv,mv
- while wait() and t1.Parent == a.Character and t2.Parent == b.Character do
- if bp.Parent ~= t2 or bg.Parent ~= t2 then break end
- bp.position = t1.Position bg.cframe = t1.CFrame
- end bp:Destroy() bg:Destroy() if h then human.PlatformStand = true end Chatted(p,"clip"..CommandKey..b.Name)
- end
- NewCommand("Control Player",function(plr,msg) local a,b = Split(msg) a = b or "me" b = b or msg
- local whos,targs = FindPlayers(plr,a),FindPlayers(plr,b)
- if whos[1] == targs[1] or not whos[1] or not targs[1] then
- return Inform(plr,"Usage: 'p1,p2' for p1 controlling p2 or 'p1' for you controlling p1")
- elseif whos[2] then
- return Inform(plr,"Only 1 player may be given as first argument when giving 2 arguments")
- end local who = whos[1]
- if not who.Character or not who.Character:findFirstChild("Torso") then
- return Inform(plr,"The controller cannot control other players")
- end ypcall(Chatted,plr,"noclip"..CommandKey..b)
- for k,v in pairs(targs) do
- if v.Character and v.Character:findFirstChild("Torso") then
- coroutine.wrap(control)(who,v,plr)
- end
- end
- end,"Winner2","Let player1 take control over the character of player2","controlplayer","control")
- NewCommand("Release Player",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Torso") then
- for k,v in pairs(v.Torso:GetChildren()) do
- if v.Name:find("ADM Control") then
- v:Destroy()
- end
- end
- end
- end
- end,"Winner2","Makes everyone controlling player1 stop controlling him","releaseplayer","free")
- NewCommand("Lock Character",function(...)
- for k,v in pairs(FindPlayers(...)) do
- for a,b in pairs(v:GetChildren()) do
- if b:IsA("Hat") then
- b.Handle.Locked = true
- elseif b:IsA("BasePart") then
- b.Locked = true
- end
- end
- end
- end,"Winner2","Lock the character of the given player(s)")
- NewCommand("Unlock Character",function(...)
- for k,v in pairs(FindPlayers(...)) do
- for a,b in pairs(v:GetChildren()) do
- if b:IsA("Hat") then
- b.Handle.Locked = false
- elseif b:IsA("BasePart") then
- b.Locked = false
- end
- end
- end
- end,"Winner2","Unlock the character of the given player(s)")
- local function GetMusicID(obj)
- if tonumber(obj) then local found = false
- for k,v in pairs(Music) do if v == tonumber(obj) then found = true end end
- if not found then table.insert(tonumber(obj)) print("Added song ID:",obj) end
- return "rbxassetid://"..obj
- elseif obj:lower():match("^new") and tonumber(obj:sub(4)) then
- return "rbxassetid://"..tostring(Music[tonumber(obh:sub(4))])
- elseif obj:find("roblox.com") and obj:find("=%d+") then
- return "rbxassetid://"..obj:match("=(%d+)")
- elseif Music[obj:lower()] then
- return "rbxassetid://"..Music[obj:lower()]
- elseif obj:lower() == "random" then local music = {}
- for k,v in pairs(Music) do table.insert(music,v) end
- return "rbxassetid://"..music[math.random(#music)]
- else local found = {}
- for k,v in pairs(Music) do
- if k:lower():match(obj:lower()) then
- table.insert(found,v)
- end
- end return "rbxassetid://"..found[math.random(#found)]
- end
- end
- local function GetMusicList() local res = ""
- for k,v in pairs(Music) do
- res = res..(tonumber(k) and "New"..k or k).."\n"
- end return res
- end
- NewCommand("Play Music",function(plr,msg,al) local music = GetMusicID(msg) or "doh"
- if al:lower():find("list") then return select(2,GetOutput(plr))(GetMusicList()) end
- pcall(function() workspace["ADM Music"]:Destroy() end) if al:lower():find("stop") then return end
- local mu = Instance.new("Sound",workspace) mu.Name = "ADM Music" mu.SoundId = music mu:Play()
- end,"Winner2","Play a music using an ID/name/link","playmusic","music","musiclist","listmusic","stopmusic")
- NewCommand("Head Size",function(plr,msg,al)
- local a,b = Split(msg)
- if al:lower() == "bighead" or al:lower() == "smallhead" or al:lower() == "normalhead" then
- a = msg b = al:lower()
- elseif b then b = b:lower()
- b = b:find("small") and "smallhead" or b:find("big") and "bighead" or "normalhead"
- else
- return Inform(plr,"Usage: "..al..CommandKey.."PLAYERS"..CommandKey.."SMALL-NORMAL-BIG")
- end local s = b == "smallhead" and 0.75 or b == "bighead" and 3 or 1 local h = s == 1 and 1
- for k,v in pairs(FindPlayers(plr,a)) do
- if v.Character and v.Character:findFirstChild("Head") and v.Character.Head:findFirstChild("Mesh") then
- v.Character.Head.Mesh.Scale = Vector3.new(s,s,s) local pi = math.pi
- 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)
- end
- end
- end,"Winner2","Set the headsize: small/normal/big","headsize","head","bighead","smallhead","normalhead")
- NewCommand("Freecam",function(...)
- for k,v in pairs(FindPlayers(...)) do v.Character = nil
- ypcall(Script,Scripts.Freecam,v:findFirstChild("Backpack"),true)
- end
- end,"Winner2","Gives the given player(s) a probe and removes their character","probe")
- end
- do -- Winner commands
- NewCommand("Sit",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Humanoid") then
- v.Character.Humanoid.Sit = true
- end
- end
- end,"Winner1","Makes the given player(s) sit","seat")
- NewCommand("Jump",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Humanoid") then
- v.Character.Humanoid.Jump = true
- end
- end
- end,"Winner1","Makes the given player(s) jump")
- NewCommand("Stand",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Humanoid") then
- v.Character.Humanoid.Sit = false
- v.Character.Humanoid.Jump = false
- v.Character.Humanoid.PlatformStand = false
- end
- end
- end,"Winner1","Makes the given player(s) stand")
- NewCommand("Jail",function(plr,msg) local a,b = Split(msg)
- for k,v in pairs(FindPlayers(plr,a or msg)) do
- if v.Character and v.Character:findFirstChild("Torso") and not v.Character:findFirstChild("Jail") then
- local jail = Instance.new("Part",v.Character) jail.Name = "Jail" jail.Transparency = 0.5
- jail.BrickColor = BrickColor.Blue() jail.FormFactor = "Custom" jail.Size = Vector3.new(1,1,1)
- local mesh = Instance.new("SpecialMesh",jail) mesh.MeshType = "Sphere" jail:BreakJoints()
- mesh.Scale = Vector3.new(8,8,8) local weld = Instance.new("Weld",jail)
- jail.TopSurface = "Smooth" jail.BottomSurface = "Smooth"
- weld.Part0 = v.Character.Torso weld.Part1 = jail local bp = Instance.new("BodyPosition",jail)
- bp.maxForce = Vector3.new(1e99,1e99,1e99) bp.position = v.Character.Torso.Position+Vector3.new(0,5,0)
- if v.Character:findFirstChild("Humanoid") then v.Character.Humanoid.Name = "Human" end
- end Jailed[v.Name] = tonumber(b) and tonumber(b)*60 or 1e9
- print("Jailed",v,"for",math.floor((tonumber(b) and tonumber(b)*60 or 1e9)/60),"minutes")
- end
- end,"Winner1","Jails the given player(s) for the given minutes")
- NewCommand("Unjail",function(...)
- for k,v in pairs(FindPlayers(...)) do Jailed[v.Name] = nil
- if v.Character and v.Character:findFirstChild("Torso") and v.Character:findFirstChild("Jail") then
- if v.Character:findFirstChild("Human") then
- v.Character.Human.Name = "Humanoid"
- end v.Character["Jail"]:Destroy()
- end
- end
- end,"Winner1","Unjails the given player(s)")
- local appear = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId=%s&placeId="..game.PlaceId
- NewCommand("Appearance",function(plr,msg,al)
- if al:lower() == "permappearance" then
- for k,v in pairs(FindPlayers(plr,msg)) do
- v.CharacterAppearance = tonumber(msg) and appear:format(msg) or appear:format(v.userId)
- v:LoadCharacter() print(v,"looks now like player ID",tonumber(msg) or v.userId)
- end return
- end
- for k,v in pairs(FindPlayers(plr,msg)) do local oldca = v.CharacterAppearance
- v.CharacterAppearance = tonumber(msg) and appear:format(msg) or appear:format(v.userId)
- local cf = v.Character and v.Character:findFirstChild("Torso") and v.Character.Torso.CFrame
- v:LoadCharacter() if cf then coroutine.wrap(function() wait() v.Character.Torso.CFrame = cf end)() end
- v.CharacterAppearance = oldca print(v,"dressed and respawned on the exact same old location he/she was")
- end
- end,"Winner1","Give a player ID. Use permCOMMAND for keep the appearance","permappearance","appear")
- local function save(c,t,b,r)
- for k,v in pairs(c:GetChildren()) do
- if v:IsA("Clothes") then
- v.Parent = c:findFirstChild("Torso")
- elseif v:IsA("BasePart") and t then
- local t = Instance.new("NumberValue",v)
- t.Name = "OldTransparency"
- t.Value = v.Transparency
- elseif c:findFirstChild("Handle") and t then
- local t = Instance.new("NumberValue",v.Handle)
- t.Name = "OldTransparency"
- t.Value = v.Handle.Transparency
- end
- if v:IsA("BasePart") and b then
- local t = Instance.new("BrickColorValue",v)
- t.Name = "OldBrickColor"
- t.Value = v.BrickColor
- elseif v:findFirstChild("Handle") and b then
- local t = Instance.new("BrickColorValue",v.Handle)
- t.Name = "OldBrickColor"
- t.Value = v.Handle.BrickColor
- end
- if v:IsA("BasePart") and r then
- local t = Instance.new("NumberValue",v)
- t.Name = "OldReflectance"
- t.Value = v.Reflectance
- elseif v:findFirstChild("Handle") and r then
- local t = Instance.new("NumberValue",v.Handle)
- t.Name = "OldReflectance"
- t.Value = v.Handle.Reflectance
- end
- end
- end
- local function restore(c)
- for k,v in pairs(c:GetChildren()) do
- if v:IsA("BasePart") and v:findFirstChild("OldTransparency") then
- v.Transparency = v.OldTransparency.Value
- v.OldTransparency:Destroy()
- elseif v:findFirstChild("Handle") and v.Handle:findFirstChild("OldTransparency") then
- v.Handle.Transparency = v.Handle.OldTransparency.Value
- v.Handle.OldTransparency:Destroy()
- end
- if v:IsA("BasePart") and v:findFirstChild("OldBrickColor") then
- v.BrickColor = v.OldBrickColor.Value
- v.OldBrickColor:Destroy()
- elseif v:findFirstChild("Handle") and v.Handle:findFirstChild("OldBrickColor") then
- v.Handle.BrickColor = v.Handle.OldBrickColor.Value
- v.Handle.OldBrickColor:Destroy()
- end
- if v:IsA("BasePart") and v:findFirstChild("OldReflectance") then
- v.Reflectance = v.OldReflectance.Value
- v.OldReflectance:Destroy()
- elseif v:findFirstChild("Handle") and v.Handle:findFirstChild("OldReflectance") then
- v.Handle.Reflectance = v.Handle.OldReflectance.Value
- v.Handle.OldReflectance:Destroy()
- end
- end
- if c:findFirstChild("Torso") then
- for k,v in pairs(c.Torso:GetChildren()) do
- if v:IsA("Clothes") then
- v.Parent = c
- end
- end
- end
- end
- NewCommand("Ghostify",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character then
- save(v.Character,true,true)
- if v:findFirstChild("Backpack") then
- save(v.Backpack,true)
- end
- for k,v in pairs(v.Character:GetChildren()) do
- if v:IsA("BasePart") then
- v.BrickColor = BrickColor.new(1001)
- v.Transparency = 0.5
- elseif v:findFirstChild("Handle") then
- v.Handle.BrickColor = BrickColor.new(1001)
- v.Handle.Transparency = 0.75
- end
- end
- end
- end
- end,"Winner1","Makes the given player(s) a ghost","ghost")
- NewCommand("Goldify",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character then
- save(v.Character,true,true,true)
- if v:findFirstChild("Backpack") then
- save(v.Backpack,true,true,true)
- end
- for k,v in pairs(v.Character:GetChildren()) do
- if v:IsA("BasePart") then
- v.BrickColor = BrickColor.Yellow()
- v.Transparency = 0
- v.Reflectance = 0.25
- elseif v:findFirstChild("Handle") then
- v.Handle.BrickColor = BrickColor.Yellow()
- v.Handle.Transparency = 0
- v.Handle.Reflectance = 0.25
- end
- end
- end
- end
- end,"Winner1","Makes the given player(s) of gold","gold")
- NewCommand("Metalfy",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character then
- save(v.Character,true,true,true)
- if v:findFirstChild("Backpack") then
- save(v.Backpack,true,true,true)
- end
- for k,v in pairs(v.Character:GetChildren()) do
- if v:IsA("BasePart") then
- v.BrickColor = BrickColor.new("Mid gray")
- v.Transparency = 0
- v.Reflectance = 0.25
- elseif v:findFirstChild("Handle") then
- v.Handle.BrickColor = BrickColor.new("Mid gray")
- v.Handle.Transparency = 0
- v.Handle.Reflectance = 0.25
- end
- end
- end
- end
- end,"Winner1","Makes the given player(s) of metal","metal")
- NewCommand("Normal",function(plr,msg)
- for k,v in pairs(FindPlayers(plr,msg)) do
- if v.Character then restore(v.Character) end
- if v:findFirstChild("Backpack") then restore(v.Backpack) end
- end for k,v in pairs({"see","unblind","thrust","heal","normalhead"}) do Chatted(plr,v..CommandKey..msg) end
- end,"Winner1","Normals the given player(s)","ungoldify","unghostify","unghost","ungold","unmetal","unmetalfy")
- NewCommand("Thrust",function(plr,msg) local a,b = Split(msg) a = a or msg
- if b and not tonumber(b) then return Inform(plr,"Second argument should be a number!") end
- for k,v in pairs(FindPlayers(plr,a)) do
- if v.Character and v.Character:findFirstChild("Torso") then
- local thrust = v.Character.Torso:findFirstChild("ADM Thrust")
- if not b or b == "" or tonumber(b) == 0 then return thrust and thrust:Destroy() end
- if not thrust then thrust = Instance.new("BodyForce",v.Character.Torso) end
- thrust.Name = "ADM Thrust" thrust.force = Vector3.new(0,tonumber(a),0)
- end
- end
- end,"Winner1","Gives the given player(s) the given thrust as standard","power","grav","force")
- NewCommand("Blind",function(...)
- for k,v in pairs(FindPlayers(...)) do
- local g = Instance.new("ScreenGui",v:findFirstChild("PlayerGui"))
- g.Name = "ADM Blind ScreenGui Thingy"
- local f = Instance.new("Frame",g) f.Name = "BlindScreen"
- f.Size = UDim2.new(1,0,1,0) f.BackgroundColor3 = Color3.new(1,1,1)
- end
- end,"Winner1","Makes the given player(s) blind","flash")
- NewCommand("Unblind",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v:findFirstChild("PlayerGui") then
- while v.PlayerGui:findFirstChild("ADM Blind ScreenGui Thingy") do
- v.PlayerGui["ADM Blind ScreenGui Thingy"]:Destroy()
- end
- end
- end
- end,"Winner1","Makes the given player(s) blind","unflash")
- NewCommand("God",function(...)
- local function doh(hit)
- if hit.Anchored then return end
- if not hit.Parent then return end
- hit:BreakJoints()
- end
- local function human(hum,pro)
- if pro:lower() == "jump" and hum.Parent:findFirstChild("Torso") then
- hum.Parent.Torso.Velocity = Vector3.new(0,100,0)
- elseif pro:lower() == "walkspeed" then
- hum.WalkSpeed = 50
- elseif pro:lower() == "health" then
- while hum.Health < hum.MaxHealth and hum.Health < 500 do
- hum.Health = hum.Health + wait()
- end
- elseif pro:lower() == "sit" then
- hum.Sit = false
- elseif pro:lower() == "platformstand" then
- hum.PlatformStand = false
- end
- end
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Humanoid") then
- coroutine.wrap(function()
- if v.Character:findFirstChild("God") then v.Character.God:Destroy() end
- local god = Instance.new("BoolValue",v.Character) god.Value = true
- local cons = {} local function add(ev,co) table.insert(cons,ev:connect(co)) end
- for k,v in pairs(v.Character:GetChildren()) do
- if v:IsA("BasePart") then
- add(v.Touched,doh)
- end
- end v.Character.Humanoid.Changed:connect(function(p) human(v.Character.Humanoid,p) end)
- v.Character.Humanoid.WalkSpeed = 50 v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth
- while god.Parent == v.Character and god.Value do wait() end
- for k,v in pairs(cons) do v:disconnect() end
- end)()
- end
- end
- end,"Winner1","Gives the given player(s) godlike powers")
- NewCommand("Ungod",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("God") then
- v.Character.God:Destroy()
- end
- end
- end,"Winner1","Removes the given player(s) their godlike powers")
- NewCommand("Paralyse",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("Humanoid") then
- v.Character.Humanoid.PlatformStand = true
- end
- end
- end,"Winner1","Paralyses/Stuns the given player(s)","stun","para")
- NewCommand("Damage",function(plr,msg)
- local a,b = Split(msg) if not tonumber(b) then return Inform(plr,"Provide a player and a number!") end
- for k,v in pairs(FindPlayers(plr,a)) do
- if v.Character and v.Character:findFirstChild("Humanoid") then
- v.Character.Humanoid.Health = v.Character.Humanoid.Health - tonumber(b)
- end
- end
- end,"Winner1","Damages the given player(s) for the given amount","takehealth","decreasehealth")
- NewCommand("Fly Tool",function(...)
- for k,v in pairs(FindPlayers(...)) do
- Script(Scripts.Fly,v.Character,true).Name = "ADM Fly"
- end
- end,"Winner1","Makes the given player(s) fly","flytool","fly")
- NewCommand("Remove Fly Tool",function(...)
- for k,v in pairs(FindPlayers(...)) do
- while v.Character and v.Character:findFirstChild("ADM Fly",true) do
- v.Character:findFirstChild("ADM Fly",true):Destroy()
- end
- while v.Character and v.Character:findFirstChild("Step") do
- v.Character["Step"]:Destroy()
- end
- end
- end,"Winner1","Makes the given player(s) fly","removeflytool","unflytool","unfly","land")
- NewCommand("Noclip",function(...)
- for k,v in pairs(FindPlayers(...)) do
- Script(Scripts.Noclip,v.Character,true).Name = "ADM Noclip"
- end
- end,"Winner1","Makes the given player(s) fly")
- NewCommand("Clip",function(...)
- for k,v in pairs(FindPlayers(...)) do
- if v.Character and v.Character:findFirstChild("ADM Noclip") then
- v.Character["ADM Noclip"]:Destroy()
- end
- end
- end,"Winner1","Makes the given player(s) fly","unnoclip")
- end
- do -- Member commands
- NewCommand("Commands",function(plr)
- Gui:CommandList(plr)
- end,"Member","Shows a gui with all commands","cmds")
- NewCommand("Tablets",function(plr)
- ShowTablets[plr.Name] = not ShowTablets[plr.Name]
- end,"Member","Toggle Tablets","tabs")
- NewCommand("Dismiss",ClearTablets,"Member","Remove all tablets for you","dt")
- NewCommand("Update",notifyUpdate,"Member","Checks for updates of einsteinK's ADM Script")
- NewCommand("Rejoin",function(plr) Script(Scripts.Rejoin,plr.Character,true) end,"Member","Rejoin the game")
- NewCommand("Version",function(plr)
- Inform(plr,"Version: "..Version.."\nUse update"..CommandKey.." to check for updates")
- end,"Member","Shows the version")
- NewCommand("Help",function(plr)
- Inform(plr,([[
- For a list of the commands: cmdsKEY
- Use of commands: COMMANDKEYPLAYER1KEYPLAYER2KEY...
- You can only use the commands of your rank and lower
- Your current rank is RANK, see cmdsKEY for info.
- ]]):gsub("KEY",CommandKey):gsub("RANK",GetRank(plr)),10)
- end,"Member","Shows a gui with some help","?")
- NewCommand("Get Rank",function(plr,msg)
- local t = FindPlayers(plr,msg=="" and "me" or msg)
- for k,v in pairs(t) do
- t[k] = tostring(v)..": "..tostring(GetRank(v))
- end Inform(plr,table.concat(t,"\n"))
- end,"Member","Shows the rank of the given player(s)","getrank","gr")
- NewCommand("Command Bar",function(plr) Gui:CommandBar(plr)
- end,"Member","Spawns a command bar to execute commands","commandbar","bar","cmdbar","cmd","cb")
- NewCommand("See Aliases",function(plr,msg) local n,c,a
- for k,v in pairs(Commands) do
- if msg:sub(1,#k+#CommandKey):lower() == k:lower()..CommandKey then
- n,c,a = k,v,k break
- else
- for a,b in pairs(v.Aliases) do
- if msg:sub(1,#b+#CommandKey):lower() == b:lower()..CommandKey then
- n,c,a = k,v,b break
- end
- end
- end
- end if not name then return Inform(plr,"This command is not found!") end
- Inform(plr,"["..c.Rank.."] "..n..": "..table.concat(c.Aliases,", "))
- end,"Member","Shows all aliases for the given command","seealiases","alias","aliases","sa")
- end
- if workspace.Terrain:findFirstChild("ADM Output Screen") then
- workspace.Terrain["ADM Output Screen"]:Destroy()
- end local a,b = Gui:OutputScreen(game.StarterGui)
- local c = Instance.new("BillboardGui")--,workspace.Terrain)
- a.Parent = script local s = a.AbsoluteSize
- c.Adornee = workspace.Terrain
- c.Size = UDim2.new(0,1600,0,500)
- c.Name = "ADM Output Screen"
- for k,v in pairs(a:GetChildren()) do
- v.Parent = c
- end a:Destroy()
- a = Gui:CommandList(a)
- for k,v in pairs(a:GetChildren()) do
- v.Parent = c
- end a:Destroy() a = nil
- OpenOutput["Place1"] = c
- OutputFunctions[c] = b
- coroutine.wrap(function()
- while wait(1) do
- for k,v in pairs(Jailed) do
- if type(v) == "number" and v <= 0 and GetPlayer(k) then
- if GetPlayer(k).Character and GetPlayer(k).Character:findFirstChild("Jail") then
- GetPlayer(k).Character["Jail"]:Destroy()
- end print("Jailtime for",k,"passed")
- end Jailed[k] = Jailed[k] - 1
- if Jailed[k] < 0 then
- Jailed[k] = nil
- end
- end
- end
- end)()
- local packs = {}
- fullprint(Color3.new(0,0.5,1),"Parsing commands...")
- for k,v in pairs(Commands) do wait()
- packs[v.Rank] = (packs[v.Rank] or 0) + 1
- end
- for k,v in pairs(packs) do
- if not tonumber(k) then
- table.insert(packs,k)
- end
- end table.sort(packs)
- for k,v in ipairs(packs) do wait(0.1)
- fullprint(Color3.new(0,0.5,1),"Command Pack found:",v,"(",packs[v],"Commands )")
- end _G.Chatted = Chatted
- local t = 0 for k,v in pairs(Commands) do t = t + 1 end
- print("Number of registered commands:",t)
- fullprint(Color3.new(0,1),"einsteinK's ADM Script V"..Version.." Loaded")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement