-- Multi Toggle Hide NameTag & All GUI + Animasi Buka/Tutup Menu
-- LocalScript di StarterPlayerScripts (SPS)
-- By @KitooStudioLite
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local StarterGui = game:GetService("StarterGui")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
-- // Local Save (pakai Attribute di PlayerGui)
local function SaveSetting(name, state)
PlayerGui:SetAttribute(name, state)
end
local function LoadSetting(name)
return PlayerGui:GetAttribute(name) or false
end
-- // GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "SettingsGUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = PlayerGui
-- Tombol Settings di pojok kanan atas
local OpenButton = Instance.new("TextButton")
OpenButton.Size = UDim2.new(0, 30, 0, 30)
OpenButton.Position = UDim2.new(1, -40, 0, 1)
OpenButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
OpenButton.Text = "⚙️"
OpenButton.TextSize = 26
OpenButton.TextColor3 = Color3.fromRGB(255, 255, 255)
OpenButton.Font = Enum.Font.GothamBold
OpenButton.Parent = ScreenGui
local UICorner0 = Instance.new("UICorner", OpenButton)
UICorner0.CornerRadius = UDim.new(0, 30)
-- Frame Menu
local Frame = Instance.new("Frame")
Frame.Size = UDim2.new(0, 220, 0, 170)
Frame.Position = UDim2.new(0.5, -110, 0.5, -85)
Frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
Frame.Visible = false
Frame.Parent = ScreenGui
local UICorner = Instance.new("UICorner", Frame)
UICorner.CornerRadius = UDim.new(0, 10)
-- Tambahkan efek transparansi dan scale untuk animasi
Frame.BackgroundTransparency = 1
Frame.Size = UDim2.new(0, 180, 0, 140)
local Title = Instance.new("TextLabel")
Title.Text = "Menu Settings"
Title.Size = UDim2.new(1, 0, 0, 45)
Title.BackgroundTransparency = 1
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 22
Title.Parent = Frame
-- // Fungsi umum buat bikin toggle
local function CreateToggle(parent, labelText, orderY, attributeName, callback)
local ToggleFrame = Instance.new("Frame")
ToggleFrame.Size = UDim2.new(1, -20, 0, 50)
ToggleFrame.Position = UDim2.new(0, 10, 0, orderY)
ToggleFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
ToggleFrame.Parent = parent
local UICorner = Instance.new("UICorner", ToggleFrame)
UICorner.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 = 18
Label.TextXAlignment = Enum.TextXAlignment.Left
Label.Position = UDim2.new(0, 10, 0, 0)
Label.Parent = ToggleFrame
local ToggleButton = Instance.new("Frame")
ToggleButton.Size = UDim2.new(0, 50, 0, 28)
ToggleButton.Position = UDim2.new(1, -55, 0.5, -14)
ToggleButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
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, 24, 0, 24)
Knob.Position = UDim2.new(0, 2, 0, 2)
Knob.BackgroundColor3 = Color3.fromRGB(200, 200, 200)
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, -26, 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)
ToggleButton.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then
state = not state
SaveSetting(attributeName, state)
UpdateVisual()
callback(state)
end
end)
end
-- // Fungsi sembunyikan NameTag
local function SetNameTagsVisible(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 = state
end
end
end
end
end
Players.PlayerAdded:Connect(function(plr)
plr.CharacterAdded:Connect(function()
task.wait(1)
SetNameTagsVisible(not LoadSetting("HideNameTag"))
end)
end)
-- // Fungsi sembunyikan semua GUI (kecuali SettingsGUI)
local function SetAllGUIVisible(state)
for _, gui in pairs(PlayerGui:GetChildren()) do
if gui:IsA("ScreenGui") and gui.Name ~= "SettingsGUI" then
gui.Enabled = state
end
end
StarterGui:SetCore("TopbarEnabled", state)
pcall(function() StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, state) end)
pcall(function() StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, state) end)
pcall(function() StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, state) end)
end
-- // Tambahkan toggles
CreateToggle(Frame, "Hide NameTags", 50, "HideNameTag", function(state)
SetNameTagsVisible(not state)
end)
CreateToggle(Frame, "Hide All GUI", 110, "HideAllGUI", function(state)
SetAllGUIVisible(not state)
end)
-- // Animasi buka/tutup menu
local isOpen = false
OpenButton.MouseButton1Click:Connect(function()
isOpen = not isOpen
if isOpen then
Frame.Visible = true
TweenService:Create(Frame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
BackgroundTransparency = 0,
Size = UDim2.new(0, 220, 0, 170)
}):Play()
else
local tween = TweenService:Create(Frame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {
BackgroundTransparency = 1,
Size = UDim2.new(0, 180, 0, 140)
})
tween:Play()
tween.Completed:Wait()
Frame.Visible = false
end
end)