Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Modern Settings UI (Mobile Friendly) + Blur + Shadow + Dropdown Graphics + Title
- -- By @KitooStudioLite (v3)
- -- Pasang LocalScript Di StarterCharScripts (SPS)
- local Players = game:GetService("Players")
- local TweenService = game:GetService("TweenService")
- local StarterGui = game:GetService("StarterGui")
- local Lighting = game:GetService("Lighting")
- local SoundService = game:GetService("SoundService")
- local LocalPlayer = Players.LocalPlayer
- local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
- -- === SOUND CLICK ===
- local ClickSound = Instance.new("Sound")
- ClickSound.SoundId = "rbxassetid://9118823104"
- ClickSound.Volume = 0.7
- ClickSound.Parent = SoundService
- -- === SAVE SYSTEM ===
- local function SaveSetting(name, state)
- PlayerGui:SetAttribute(name, state)
- end
- local function LoadSetting(name)
- return PlayerGui:GetAttribute(name) or false
- end
- -- === BLUR EFFECT ===
- local Blur = Instance.new("BlurEffect")
- Blur.Size = 0
- Blur.Enabled = false
- Blur.Parent = Lighting
- -- === GUI ===
- local ScreenGui = Instance.new("ScreenGui")
- ScreenGui.Name = "SettingsGUI"
- ScreenGui.IgnoreGuiInset = true
- ScreenGui.ResetOnSpawn = false
- ScreenGui.Parent = PlayerGui
- -- Tombol Settings kiri atas
- local OpenButton = Instance.new("TextButton")
- OpenButton.Size = UDim2.new(0, 38, 0, 38)
- OpenButton.Position = UDim2.new(0, 10, 0, 60)
- OpenButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
- OpenButton.Text = "βοΈ"
- OpenButton.TextSize = 22
- OpenButton.TextColor3 = Color3.fromRGB(255, 255, 255)
- OpenButton.Font = Enum.Font.GothamBold
- OpenButton.ZIndex = 10
- OpenButton.Parent = ScreenGui
- local UICorner0 = Instance.new("UICorner", OpenButton)
- UICorner0.CornerRadius = UDim.new(1, 0)
- -- Frame utama (lebih besar)
- local Frame = Instance.new("Frame")
- Frame.Size = UDim2.new(0, 250, 0, 220)
- Frame.Position = UDim2.new(0.5, -125, 0.5, -130)
- Frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
- Frame.BackgroundTransparency = 1
- Frame.Visible = false
- Frame.ZIndex = 5
- Frame.Parent = ScreenGui
- -- Shadow efek
- local Shadow = Instance.new("ImageLabel")
- Shadow.Image = "rbxassetid://1316045217"
- Shadow.ImageColor3 = Color3.fromRGB(0, 0, 0) -- π₯ ubah warna shadow jadi hitam
- Shadow.ImageTransparency = 0.3 -- π₯ lebih gelap, bisa ubah ke 0.2β0.5 sesuai selera
- Shadow.Size = UDim2.new(1, 30, 1, 30)
- Shadow.Position = UDim2.new(0, -15, 0, -15)
- Shadow.BackgroundTransparency = 1
- Shadow.ZIndex = 4
- Shadow.Parent = Frame
- local UICorner = Instance.new("UICorner", Frame)
- UICorner.CornerRadius = UDim.new(0, 12)
- -- Title utama
- local Title = Instance.new("TextLabel")
- Title.Text = "Settings"
- Title.Size = UDim2.new(1, 0, 0, 35)
- Title.BackgroundTransparency = 1
- Title.TextColor3 = Color3.fromRGB(255, 255, 255)
- Title.Font = Enum.Font.GothamBold
- Title.TextSize = 20
- Title.ZIndex = 6
- Title.Parent = Frame
- -- === TOGGLE FUNCTION ===
- local function CreateToggle(parent, labelText, orderY, attributeName, callback)
- local ToggleFrame = Instance.new("Frame")
- ToggleFrame.Size = UDim2.new(1, -20, 0, 40)
- ToggleFrame.Position = UDim2.new(0, 10, 0, orderY)
- ToggleFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
- ToggleFrame.ZIndex = 6
- ToggleFrame.Parent = parent
- local UICorner = Instance.new("UICorner", ToggleFrame)
- UICorner.CornerRadius = UDim.new(0, 10)
- -- Efek hover overlay
- local HoverFrame = Instance.new("Frame")
- HoverFrame.Size = UDim2.new(1, 0, 1, 0)
- HoverFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
- HoverFrame.BackgroundTransparency = 1
- HoverFrame.ZIndex = 7
- HoverFrame.Parent = ToggleFrame
- local HoverCorner = Instance.new("UICorner", HoverFrame)
- HoverCorner.CornerRadius = UDim.new(0, 10)
- local Label = Instance.new("TextLabel")
- Label.Text = labelText
- Label.Size = UDim2.new(0.6, 0, 1, 0)
- Label.BackgroundTransparency = 1
- Label.TextColor3 = Color3.fromRGB(255, 255, 255)
- Label.Font = Enum.Font.Gotham
- Label.TextSize = 16
- Label.TextXAlignment = Enum.TextXAlignment.Left
- Label.Position = UDim2.new(0, 10, 0, 0)
- Label.ZIndex = 8
- Label.Parent = ToggleFrame
- local ToggleButton = Instance.new("Frame")
- ToggleButton.Size = UDim2.new(0, 45, 0, 25)
- ToggleButton.Position = UDim2.new(1, -55, 0.5, -12)
- ToggleButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
- ToggleButton.ZIndex = 8
- ToggleButton.Parent = ToggleFrame
- local Corner = Instance.new("UICorner", ToggleButton)
- Corner.CornerRadius = UDim.new(1, 0)
- local Knob = Instance.new("Frame")
- Knob.Size = UDim2.new(0, 21, 0, 21)
- Knob.Position = UDim2.new(0, 2, 0, 2)
- Knob.BackgroundColor3 = Color3.fromRGB(200, 200, 200)
- Knob.ZIndex = 9
- Knob.Parent = ToggleButton
- local Corner2 = Instance.new("UICorner", Knob)
- Corner2.CornerRadius = UDim.new(1, 0)
- local state = LoadSetting(attributeName)
- local function UpdateVisual()
- local goalColor = state and Color3.fromRGB(0, 200, 80) or Color3.fromRGB(80, 80, 80)
- local knobGoal = state and UDim2.new(1, -23, 0, 2) or UDim2.new(0, 2, 0, 2)
- TweenService:Create(ToggleButton, TweenInfo.new(0.25), {BackgroundColor3 = goalColor}):Play()
- TweenService:Create(Knob, TweenInfo.new(0.25), {Position = knobGoal}):Play()
- end
- UpdateVisual()
- callback(state)
- -- === HOVER EFFECT ===
- ToggleFrame.MouseEnter:Connect(function()
- TweenService:Create(HoverFrame, TweenInfo.new(0.2), {BackgroundTransparency = 0.85}):Play()
- end)
- ToggleFrame.MouseLeave:Connect(function()
- TweenService:Create(HoverFrame, TweenInfo.new(0.2), {BackgroundTransparency = 1}):Play()
- end)
- ToggleFrame.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then
- state = not state
- ClickSound:Play()
- SaveSetting(attributeName, state)
- UpdateVisual()
- callback(state)
- -- animasi klik hover
- TweenService:Create(HoverFrame, TweenInfo.new(0.15), {BackgroundTransparency = 0.6}):Play()
- task.wait(0.1)
- TweenService:Create(HoverFrame, TweenInfo.new(0.2), {BackgroundTransparency = 0.85}):Play()
- end
- end)
- end
- -- === TOGGLES ===
- CreateToggle(Frame, "Hide NameTags", 40, "HideNameTag", function(state)
- for _, plr in pairs(Players:GetPlayers()) do
- if plr.Character and plr.Character:FindFirstChild("Head") then
- for _, obj in pairs(plr.Character.Head:GetChildren()) do
- if obj:IsA("BillboardGui") then
- obj.Enabled = not state
- end
- end
- end
- end
- end)
- CreateToggle(Frame, "Hide All GUI", 90, "HideAllGUI", function(state)
- for _, gui in pairs(PlayerGui:GetChildren()) do
- if gui:IsA("ScreenGui")
- and gui.Name ~= "SettingsGUI"
- and gui.Name ~= "TouchGui" -- β biarkan tombol lompat tetap muncul
- and gui.Name ~= "Chat" then -- β biarkan chat tetap muncul
- gui.Enabled = not state
- end
- end
- -- Nonaktifkan topbar agar tidak tumpang tindih, tapi chat tetap aktif
- pcall(function()
- StarterGui:SetCore("TopbarEnabled", not state)
- StarterGui:SetCore("ChatActive", true)
- end)
- end)
- -- === TITLE "GRAPHIC SETTINGS" ===
- local GraphicTitle = Instance.new("TextLabel")
- GraphicTitle.Text = "Graphic Settings"
- GraphicTitle.Size = UDim2.new(1, 0, 0, 30)
- GraphicTitle.Position = UDim2.new(0, 0, 0.58, 0)
- GraphicTitle.BackgroundTransparency = 1
- GraphicTitle.TextColor3 = Color3.fromRGB(200, 200, 200)
- GraphicTitle.Font = Enum.Font.GothamSemibold
- GraphicTitle.TextSize = 15
- GraphicTitle.ZIndex = 10
- GraphicTitle.Parent = Frame
- -- === DROPDOWN CENTER (Fix Tidak Kelihatan) ===
- local Dropdown = Instance.new("Frame")
- Dropdown.Size = UDim2.new(0.8, 0, 0, 35)
- Dropdown.Position = UDim2.new(0.1, 0, 0.73, 0)
- Dropdown.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
- Dropdown.ZIndex = 10
- Dropdown.Parent = Frame
- local Corner = Instance.new("UICorner", Dropdown)
- Corner.CornerRadius = UDim.new(0, 8)
- local DropLabel = Instance.new("TextLabel")
- DropLabel.Text = "Medium"
- DropLabel.Size = UDim2.new(1, -20, 1, 0)
- DropLabel.Position = UDim2.new(0, 10, 0, 0)
- DropLabel.BackgroundTransparency = 1
- DropLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
- DropLabel.Font = Enum.Font.Gotham
- DropLabel.TextSize = 16
- DropLabel.TextXAlignment = Enum.TextXAlignment.Left
- DropLabel.ZIndex = 11
- DropLabel.Parent = Dropdown
- local DropButton = Instance.new("TextButton")
- DropButton.Size = UDim2.new(1, 0, 1, 0)
- DropButton.BackgroundTransparency = 1
- DropButton.Text = ""
- DropButton.ZIndex = 12
- DropButton.Parent = Dropdown
- local Options = {"Low", "Medium", "High"}
- local index = 2
- DropButton.MouseButton1Click:Connect(function()
- ClickSound:Play()
- index = index + 1
- if index > #Options then index = 1 end
- DropLabel.Text = Options[index]
- if Options[index] == "Low" then
- Lighting.GlobalShadows = false
- settings().Rendering.QualityLevel = Enum.QualityLevel.Level01
- elseif Options[index] == "Medium" then
- Lighting.GlobalShadows = true
- settings().Rendering.QualityLevel = Enum.QualityLevel.Level08
- elseif Options[index] == "High" then
- Lighting.GlobalShadows = true
- settings().Rendering.QualityLevel = Enum.QualityLevel.Automatic
- end
- end)
- -- === ANIMASI OPEN / CLOSE (iOS SLIDE + BLUR) ===
- local isOpen = false
- OpenButton.MouseButton1Click:Connect(function()
- isOpen = not isOpen
- ClickSound:Play()
- if isOpen then
- Frame.Visible = true
- Blur.Enabled = true
- Frame.Position = UDim2.new(0.5, -125, 1.1, 0)
- TweenService:Create(Blur, TweenInfo.new(0.4), {Size = 20}):Play()
- TweenService:Create(Frame, TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {
- BackgroundTransparency = 0,
- Position = UDim2.new(0.5, -125, 0.5, -110)
- }):Play()
- else
- local tween = TweenService:Create(Frame, TweenInfo.new(0.45, Enum.EasingStyle.Quint, Enum.EasingDirection.In), {
- BackgroundTransparency = 1,
- Position = UDim2.new(0.5, -125, 1.1, 0)
- })
- TweenService:Create(Blur, TweenInfo.new(0.4), {Size = 0}):Play()
- tween:Play()
- tween.Completed:Wait()
- Frame.Visible = false
- Blur.Enabled = false
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment