local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local remotes = ReplicatedStorage:WaitForChild("Remotes") local changeChar = remotes:WaitForChild("ChangeCharacter") local characters = { "Sou", "AngelAdmin", "Minos", "Mechamaru", "Naoya" } local sg = Instance.new("ScreenGui") sg.Name = "CharChanger" sg.ResetOnSpawn = false sg.Parent = player:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 240, 0, 340) frame.Position = UDim2.new(0.5, -120, 0.5, -170) frame.BackgroundColor3 = Color3.fromRGB(25, 25, 30) frame.BorderSizePixel = 0 frame.Visible = true frame.Parent = sg Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10) local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -40, 0, 45) title.Position = UDim2.new(0, 40, 0, 0) title.BackgroundTransparency = 1 title.Text = "Character Switch" title.TextColor3 = Color3.fromRGB(200, 200, 220) title.TextSize = 22 title.Font = Enum.Font.GothamBold title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = frame local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 32, 0, 32) closeBtn.Position = UDim2.new(0, 6, 0, 6) closeBtn.BackgroundColor3 = Color3.fromRGB(210, 50, 50) closeBtn.Text = "X" closeBtn.TextColor3 = Color3.new(1,1,1) closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 18 closeBtn.Parent = frame Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(1, 0) local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0, 48, 0, 48) toggleBtn.Position = UDim2.new(0.1, 0, 0.15, 0) toggleBtn.BackgroundColor3 = Color3.fromRGB(50, 120, 220) toggleBtn.Text = "C" toggleBtn.TextColor3 = Color3.new(1,1,1) toggleBtn.Font = Enum.Font.GothamBlack toggleBtn.TextSize = 24 toggleBtn.Parent = sg toggleBtn.Visible = true local toggleCorner = Instance.new("UICorner", toggleBtn) toggleCorner.CornerRadius = UDim.new(1, 0) local toggleStroke = Instance.new("UIStroke", toggleBtn) toggleStroke.Color = Color3.fromRGB(100, 180, 255) toggleStroke.Thickness = 2 toggleStroke.Transparency = 0.3 local function makeDraggable(obj) local UIS = game:GetService("UserInputService") local dragging, dragStart, startPos obj.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = obj.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) obj.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart obj.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) end makeDraggable(frame) makeDraggable(toggleBtn) local function toggleGUI() frame.Visible = not frame.Visible toggleBtn.Text = frame.Visible and "C" or "O" toggleBtn.BackgroundColor3 = frame.Visible and Color3.fromRGB(50, 120, 220) or Color3.fromRGB(80, 80, 90) end closeBtn.Activated:Connect(toggleGUI) toggleBtn.Activated:Connect(toggleGUI) local credit = Instance.new("TextLabel") credit.Size = UDim2.new(1, -20, 0, 30) credit.Position = UDim2.new(0, 10, 1, -40) credit.BackgroundTransparency = 1 credit.Text = "Made by Scripterblabla — Enjoy it" credit.TextSize = 14 credit.Font = Enum.Font.GothamSemibold credit.TextXAlignment = Enum.TextXAlignment.Center credit.Parent = frame local hue = 0 RunService.RenderStepped:Connect(function(delta) hue = (hue + delta * 40) % 360 local color = Color3.fromHSV(hue/360, 0.9, 0.95) credit.TextColor3 = color end) local list = Instance.new("ScrollingFrame") list.Size = UDim2.new(1, -20, 1, -85) list.Position = UDim2.new(0, 10, 0, 50) list.BackgroundTransparency = 1 list.ScrollBarThickness = 5 list.CanvasSize = UDim2.new(0, 0, 0, 0) list.Parent = frame local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0, 9) layout.Parent = list for _, name in ipairs(characters) do local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 46) btn.BackgroundColor3 = Color3.fromRGB(40, 40, 50) btn.Text = name btn.TextColor3 = Color3.fromRGB(210, 210, 255) btn.Font = Enum.Font.GothamSemibold btn.TextSize = 17 btn.Parent = list Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8) local stroke = Instance.new("UIStroke", btn) stroke.Color = Color3.fromRGB(100, 140, 255) stroke.Thickness = 1.2 stroke.Transparency = 0.65 btn.MouseEnter:Connect(function() btn.BackgroundColor3 = Color3.fromRGB(55, 55, 70) stroke.Transparency = 0.35 end) btn.MouseLeave:Connect(function() btn.BackgroundColor3 = Color3.fromRGB(40, 40, 50) stroke.Transparency = 0.65 end) btn.Activated:Connect(function() changeChar:FireServer(name) local old = btn.BackgroundColor3 btn.BackgroundColor3 = Color3.fromRGB(70, 180, 110) task.delay(0.25, function() btn.BackgroundColor3 = old end) end) end layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() list.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y + 15) end)