-- Local Executor Script: Animation Toggle + Persistent Settings & Drag Toggle local CoreGui = game:GetService("CoreGui") local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer --------------------------------------------------------- -- 1. ANIMATION SETS SETUP --------------------------------------------------------- local isUsingSetA = true local animSetA = { idle = "rbxassetid://135419935358802", walk = "rbxassetid://108287960442206" } local animSetB = { idle = "rbxassetid://74530436512522", walk = "rbxassetid://109671225388655" } local currentSet = animSetA local walkTrack, idleTrack local runningConnection local function applyAnimations(character) local humanoid = character:WaitForChild("Humanoid", 10) if not humanoid then return end humanoid.WalkSpeed = 24 if walkTrack then walkTrack:Stop() end if idleTrack then idleTrack:Stop() end if runningConnection then runningConnection:Disconnect() end local walkAnim = Instance.new("Animation") walkAnim.AnimationId = currentSet.walk walkTrack = humanoid:LoadAnimation(walkAnim) local idleAnim = Instance.new("Animation") idleAnim.AnimationId = currentSet.idle idleTrack = humanoid:LoadAnimation(idleAnim) runningConnection = humanoid.Running:Connect(function(speed) if speed > 0 then idleTrack:Stop() if not walkTrack.IsPlaying then walkTrack:Play() end else walkTrack:Stop() if not idleTrack.IsPlaying then idleTrack:Play() end end end) idleTrack:Play() end --------------------------------------------------------- -- 2. PERSISTENT GUI CREATION --------------------------------------------------------- local parentContainer = CoreGui:FindFirstChild("RobloxGui") or player:WaitForChild("PlayerGui") if parentContainer:FindFirstChild("AnimToggleGui") then parentContainer.AnimToggleGui:Destroy() end local screenGui = Instance.new("ScreenGui") screenGui.Name = "AnimToggleGui" screenGui.ResetOnSpawn = false screenGui.Parent = parentContainer -- Toggle Animation Main Button local animButton = Instance.new("TextButton") animButton.Name = "ToggleAnimButton" animButton.Size = UDim2.new(0, 120, 0, 40) animButton.Position = UDim2.new(1, -130, 0.5, -20) animButton.BackgroundColor3 = Color3.fromRGB(70, 70, 200) animButton.TextColor3 = Color3.new(1, 1, 1) animButton.Font = Enum.Font.GothamBold animButton.TextSize = 14 animButton.Text = "Toggle Anim" animButton.Active = true animButton.Parent = screenGui local animCorner = Instance.new("UICorner") animCorner.CornerRadius = UDim.new(0, 8) animCorner.Parent = animButton --------------------------------------------------------- -- 3. SETTINGS MENU (⚙️ Top Right) --------------------------------------------------------- local isDragEnabled = true local settingsButton = Instance.new("TextButton") settingsButton.Name = "SettingsButton" settingsButton.Size = UDim2.new(0, 40, 0, 40) settingsButton.Position = UDim2.new(1, -50, 0, 10) settingsButton.BackgroundColor3 = Color3.fromRGB(35, 35, 45) settingsButton.TextColor3 = Color3.new(1, 1, 1) settingsButton.TextSize = 20 settingsButton.Text = "⚙️" settingsButton.Parent = screenGui local setBtnCorner = Instance.new("UICorner") setBtnCorner.CornerRadius = UDim.new(0, 8) setBtnCorner.Parent = settingsButton -- Settings Window Frame local settingsFrame = Instance.new("Frame") settingsFrame.Name = "SettingsFrame" settingsFrame.Size = UDim2.new(0, 200, 0, 100) settingsFrame.Position = UDim2.new(0.5, -100, 0.5, -50) settingsFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30) settingsFrame.Visible = false settingsFrame.Parent = screenGui local frameCorner = Instance.new("UICorner") frameCorner.CornerRadius = UDim.new(0, 10) frameCorner.Parent = settingsFrame local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(1, 0, 0, 30) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "Settings" titleLabel.TextColor3 = Color3.new(1, 1, 1) titleLabel.TextSize = 16 titleLabel.Font = Enum.Font.GothamBold titleLabel.Parent = settingsFrame -- Button Drag Toggle Button Inside Settings local toggleDragBtn = Instance.new("TextButton") toggleDragBtn.Name = "ToggleDragButton" toggleDragBtn.Size = UDim2.new(0.85, 0, 0, 35) toggleDragBtn.Position = UDim2.new(0.075, 0, 0.45, 0) toggleDragBtn.BackgroundColor3 = Color3.fromRGB(46, 204, 113) toggleDragBtn.TextColor3 = Color3.new(1, 1, 1) toggleDragBtn.Font = Enum.Font.GothamBold toggleDragBtn.TextSize = 13 toggleDragBtn.Text = "Button Drag: ON" toggleDragBtn.Parent = settingsFrame local dragBtnCorner = Instance.new("UICorner") dragBtnCorner.CornerRadius = UDim.new(0, 6) dragBtnCorner.Parent = toggleDragBtn --------------------------------------------------------- -- 4. BUTTON & DRAGGING LOGIC --------------------------------------------------------- -- Open/Close Settings settingsButton.MouseButton1Click:Connect(function() settingsFrame.Visible = not settingsFrame.Visible end) -- Toggle Dragging Setting toggleDragBtn.MouseButton1Click:Connect(function() isDragEnabled = not isDragEnabled if isDragEnabled then toggleDragBtn.Text = "Button Drag: ON" toggleDragBtn.BackgroundColor3 = Color3.fromRGB(46, 204, 113) else toggleDragBtn.Text = "Button Drag: OFF" toggleDragBtn.BackgroundColor3 = Color3.fromRGB(231, 76, 60) end end) -- Toggle Animation Event local function toggleAnims() isUsingSetA = not isUsingSetA currentSet = isUsingSetA and animSetA or animSetB if player.Character then applyAnimations(player.Character) end end animButton.MouseButton1Click:Connect(toggleAnims) -- Generic Draggable Function local function makeDraggable(guiObject) local dragging = false local dragInput, dragStart, startPos guiObject.InputBegan:Connect(function(input) if isDragEnabled and (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then dragging = true dragStart = input.Position startPos = guiObject.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) guiObject.InputChanged:Connect(function(input) if isDragEnabled and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging and isDragEnabled then local delta = input.Position - dragStart guiObject.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) end makeDraggable(animButton) makeDraggable(settingsFrame) --------------------------------------------------------- -- 5. SPAWN / RESPAWN LOGIC --------------------------------------------------------- if player.Character then task.spawn(function() applyAnimations(player.Character) end) end player.CharacterAdded:Connect(function(character) task.spawn(function() applyAnimations(character) end) end)