local Developers = 578000453
local DevTeams = {"Pur", "Ylw", "Grn", "On", "Rn"}
local Toggles = {"LockerBTN", "Deploy", "LevelBar", "Title", "Username"}
game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
-- Don't want the player to walk for now, as they're automatically in the menu.
character.Humanoid.WalkSpeed = 0
-- GUI
player.PlayerGui:WaitForChild("GUI").TeamSelection.Visible = false
player.PlayerGui.GUI.Ban.Visible = false
player.PlayerGui.GUI.Menu.Visible = false
player.PlayerGui.GUI.Menu.Locker.Visible = false
player.PlayerGui.GUI.Menu.Locker.Equipping.Visible = false
player.PlayerGui.GUI.Menu.Locker.Main.Visible = true
player.PlayerGui.GUI.Menu.Locker.Emotes.Visible = true
-- Creating instances to store data
if player.UserId == Developers then
Instance.new("BoolValue", player).Name = "IsAdmin" -- Used for testing, by giving themselves items, perks, and tools, along with just plain fun lol
player.IsAdmin.Value = true
end
Instance.new("Folder", player).Name = "Status" -- The folder given to the player that has the current match status
Instance.new("Folder", player).Name = "Data" -- The folder given to the player to that has the current data of the player
Instance.new("StringValue", player.Data).Name = "Skin" -- Player's current equipped skin
Instance.new("IntValue", player.Data).Name = "Level" -- Player XP level
Instace.new("StringValue", player.Status).Name = "Team" -- Player's current team (CAN NEVER BE NIL)
Instance.new("IntValue", player.Status).Name = "Level" -- Player match level
Instance.new("StringValue", player.Data).Name = "Melee" -- Player's current equipped melee
local teams = player.PlayerGui.GUI.TeamSelection.Buttons
teams.Ylw.Visible = true
teams.Grn.Visible = true
for _, team in pairs(DevTeams) do
teams[team].Visible = false
end
for _, dev in pairs(Developers) do
if player:FindFirstChild("IsAdmin") and player:FindFirstChild("IsAdmin").Value then
for _, team in pairs(DevTeams) do
teams[team].Visible = true
end
end
end
if player:FindFirstChild("IsAdmin").Value then
for _, skin in pairs(player.PlayerGui.GUI.Menu.Locker.Equipping.Inventory.Skins:GetChildren()) do
if skin.Name ~= "Grid" then
game.ReplicatedStorage.Events.LoadLoadout:FireServer(player)
end
end
end
for _, team in pairs(teams:GetChildren()) do
team.MouseButton1Click:Connect(function()
for _, devteam in pairs(DevTeams) do
if team.Name == devteam then
if not player:FindFirstChild("IsAdmin") or not player:FindFirstChild("IsAdmin").Value then
if not team:FindFirstChild("lock") then
player:Kick("Illegal access to a developer only team")
end
return
end
end
end
game.ReplicatedStorage.Events.Camera:FireClient(player, false)
teams.Parent.Visible = false
character.HumanoidRootPart.CFrame = CFrame.new()
if player.Status.Team ~= "Spectator" or player.Status.Team ~= "RNBOW" then
TeamColoring()
else
if player.Status.Team ~= "Spectator" and player.Status.Team == "RNBOW" then
SkittlezBoiLOL()
end
end
character.Humanoid.WalkSpeed = 16
end)
end
end)
end)
admins={103613858,578000453}
adminTeams={"purple","yellow","green"}
toggles={"lockerBtn","deploy","levelBar","title","username"}
game.Players.PlayerAdded:connect(function(player)
player.CharacterAdded:connect(function(character)
character.Humanoid.WalkSpeed=0
player.PlayerGui:WaitForChild"gui".team.Visible = false
player.PlayerGui.gui.ban.Visible = false
player.PlayerGui.gui.menu.Visible = true
player.PlayerGui.gui.menu.locker.Visible = false
player.PlayerGui.gui.menu.locker.equipping.Visible = false
player.PlayerGui.gui.menu.locker.main.Visible = true
player.PlayerGui.gui.menu.locker.emotes.Visible = true
Instance.new("BoolValue",player).Name="admin"
Instance.new("StringValue",player).Name="skin"
Instance.new("IntValue",player).Name="level"
player.skin.Value="Delinquent"
local teams=player.PlayerGui.gui.team.buttons
for _,team in pairs(adminTeams) do
teams[team].Visible = false
end
teams.yellow.Visible = true
teams.green.Visible = true
for _,admin in pairs(admins) do
if player.UserId==admin then
player.admin.Value=true
for _,team in pairs(adminTeams) do
teams[team].Visible = true
end
end
end
if player.admin.Value then
for _,skin in pairs(player.PlayerGui.gui.menu.locker.equipping.inventory.skins:GetChildren()) do
if skin.Name~="grid" then
skin.Visible=true
end
end
end
for _,team in pairs(teams:GetChildren()) do
team.MouseButton1Click:connect(function()
for _,adminTeam in pairs(adminTeams) do
if team.Name==adminTeam then
if not player.admin.Value then
if not team:FindFirstChild"lock" then
player:Kick"\nYou've Been Banned By RAC\nFor The Reason of: Admin Team"
end
return
end
end
end
for _,emote in pairs(player.PlayerGui.gui.menu.locker.equipping.emotes) do
if emote.Name ~= "grid" then
emote.MouseButton1Click:Connect(function()
if emote:GetAttribute("Segg") then
if not player.admin.Value then
player:Kick("Valor Anti-Cheat: Kicked due to accessing developer emote")
return
end
end
end
end
end
game.ReplicatedStorage.camera:FireClient(player,false)
teams.Parent.Visible = false
character.HumanoidRootPart.CFrame=CFrame.new()
if player.skin.Value=="Delinquent" then
character["Body Colors"].TorsoColor=team:GetAttribute"TeamColor"
character["Body Colors"].LeftArmColor=team:GetAttribute"TeamColor"
character["Body Colors"].RightArmColor=team:GetAttribute"TeamColor"
character:WaitForChild"Cap".Handle.BrickColor=team:GetAttribute"TeamColor"
elseif player.skin.Value=="Brickbattle" then
character["Body Colors"].TorsoColor=team:GetAttribute"TeamColor"
elseif player.skin.Value=="Admin" then
character["Body Colors"].TorsoColor=team:GetAttribute"TeamColor"
character["Body Colors"].LeftArmColor=team:GetAttribute"TeamColor"
character["Body Colors"].RightArmColor=team:GetAttribute"TeamColor"
character:WaitForChild"Cap".Handle.BrickColor=team:GetAttribute"TeamColor"
character:WaitForChild"Badge".Handle.BrickColor=team:GetAttribute"TeamColor"
end
character.Humanoid.WalkSpeed=16
end)
end
player.level.Changed:connect(function()
player.PlayerGui.gui.menu.username.Text=player.Name.." - Level: "..player.level.Value
end)
player.PlayerGui.gui.menu.deploy.MouseButton1Click:connect(function()
player.PlayerGui.gui.menu.Visible=false
teams.Parent.Visible=true
end)
game.ReplicatedStorage.ban.OnServerEvent:connect(function(user,target,reason,length)
if user.admin.Value then
if length then
game.Players[target]:kick("\nYou've Been Banned By LAC\nFor The Reason of: "..reason.."\n"..length.." Days Remaining Until Unban")
else
game.Players[target]:kick("\nYou've Been Banned By LAC\nFor The Reason of: "..reason)
end
else
user:kick"\nYou've Been Banned By LAC\nFor The Reason of: Ban Remote"
end
end)
game.ReplicatedStorage.kick.OnServerEvent:connect(function(user,target)
if user.admin.Value then
game.Players[target]:kick()
else
user:kick"\nYou've Been Banned By LAC\nFor The Reason of: Kick Remote"
end
end)
player.PlayerGui.gui.menu.lockerBtn.MouseButton1Click:connect(function()
for _,toggle in pairs(toggles) do
player.PlayerGui.gui.menu[toggle].Visible = false
end
player.PlayerGui.gui.menu.locker.Visible = true
player.PlayerGui.gui.menu.back.Visible = true
end)
player.PlayerGui.gui.menu.back.MouseButton1Click:connect(function()
if player.PlayerGui.gui.menu.locker.main.Visible then
for _,toggle in pairs(toggles) do
player.PlayerGui.gui.menu[toggle].Visible = true end
player.PlayerGui.gui.menu.locker.Visible = false
player.PlayerGui.gui.menu.back.Visible = false
elseif not player.PlayerGui.gui.menu.locker.main.Visible then
player.PlayerGui.gui.menu.locker.main.Visible = true
player.PlayerGui.gui.menu.locker.emotes.Visible = true
player.PlayerGui.gui.menu.locker.equipping.Visible = false
end
end)
player.PlayerGui.gui.menu.locker.main.skin.MouseButton1Click:connect(function()
player.PlayerGui.gui.menu.locker.main.Visible = false
player.PlayerGui.gui.menu.locker.emotes.Visible = false
player.PlayerGui.gui.menu.locker.equipping.Visible = true
end)
for _,skin in pairs(player.PlayerGui.gui.menu.locker.equipping.inventory.skins:GetChildren()) do
if skin.Name~="grid" then
skin.MouseButton1Click:connect(function()
if skin:GetAttribute"Admin" then
if not player.admin.Value then
player:Kick"\nYou've Been Banned By RAC\nFor The Reason of: u tried noob"
return
end
end
skin.Parent.Parent.Parent.equipped.skin.viewport.wModel[player.skin.Value]:Destroy()
game.ServerStorage.vModels[skin.Name]:Clone().Parent = skin.Parent.Parent.Parent.equipped.skin.viewport.wModel
player.PlayerGui.gui.menu.locker.main.bigSkin.equipped.viewport.wModel[player.skin.Value]:Destroy()
game.ServerStorage.vModels[skin.Name]:Clone().Parent = player.PlayerGui.gui.menu.locker.main.bigSkin.equipped.viewport.wModel
player.PlayerGui.gui.menu.locker.main.skin.equipped.viewport[player.skin.Value]:Destroy()
game.ServerStorage.viewModels[skin.Name]:Clone().Parent = player.PlayerGui.gui.menu.locker.main.skin.equipped.viewport
player.PlayerGui.gui.menu.locker.main.skin.rarity.ImageColor3 = player.PlayerGui.gui.menu.locker.equipping.inventory.skins[skin.Name].rarity.ImageColor3
player:ClearCharacterAppearance()
character.Head.face:Destroy()
player.skin.Value = skin.Name
for _,accessory in pairs(game.ServerStorage.skins[skin.Name]:GetChildren()) do
if accessory.Name == "face" then
accessory:Clone().Parent = character.Head
else
accessory:Clone().Parent = character
end
end
end)
end
end
game.ReplicatedStorage.input.OnServerEvent:connect(function(user,input)
if input==Enum.KeyCode.M then
user.PlayerGui.gui.team.Visible = false
user.PlayerGui.gui.menu.Visible = true
user.Character.Humanoid.WalkSpeed = 0
user.Character.HumanoidRootPart.CFrame = workspace.SpawnLocation.CFrame
game.ReplicatedStorage.camera:FireClient(user,true)
end
end)
end)
end)
To embed this project on your website, copy the following code and paste it into your website's HTML: