--======================================================== -- ANIMATIONS HUB V3 - FIXED -- MUST BE A LOCALSCRIPT -- Put in StarterPlayer > StarterPlayerScripts --======================================================== local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local Player = Players.LocalPlayer local PlayerGui = Player:WaitForChild("PlayerGui") -- Remove an old copy local Old = PlayerGui:FindFirstChild("AnimationsHubV3") if Old then Old:Destroy() end --======================================================== -- COLORS --======================================================== local BLUE = Color3.fromRGB(0, 140, 255) local DARK = Color3.fromRGB(13, 16, 23) local DARK2 = Color3.fromRGB(20, 24, 33) local BLACK = Color3.fromRGB(5, 7, 10) local WHITE = Color3.fromRGB(245, 245, 245) local RED = Color3.fromRGB(190, 45, 55) --======================================================== -- GUI --======================================================== local Gui = Instance.new("ScreenGui") Gui.Name = "AnimationsHubV3" Gui.ResetOnSpawn = false Gui.IgnoreGuiInset = true Gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling Gui.Parent = PlayerGui --======================================================== -- MAIN --======================================================== local Main = Instance.new("Frame") Main.Name = "Main" Main.AnchorPoint = Vector2.new(0.5, 0.5) Main.Position = UDim2.fromScale(0.5, 0.5) Main.Size = UDim2.fromOffset(520, 520) Main.BackgroundColor3 = DARK Main.BorderSizePixel = 0 Main.Parent = Gui local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 16) MainCorner.Parent = Main local MainStroke = Instance.new("UIStroke") MainStroke.Color = BLUE MainStroke.Thickness = 1.5 MainStroke.Parent = Main --======================================================== -- HEADER --======================================================== local Header = Instance.new("Frame") Header.Size = UDim2.new(1, 0, 0, 65) Header.BackgroundColor3 = BLACK Header.BorderSizePixel = 0 Header.Active = true Header.Parent = Main local HeaderCorner = Instance.new("UICorner") HeaderCorner.CornerRadius = UDim.new(0, 16) HeaderCorner.Parent = Header local Title = Instance.new("TextLabel") Title.BackgroundTransparency = 1 Title.Position = UDim2.fromOffset(18, 8) Title.Size = UDim2.fromOffset(280, 27) Title.Font = Enum.Font.GothamBold Title.Text = "Animations Hub V3" Title.TextColor3 = WHITE Title.TextSize = 20 Title.TextXAlignment = Enum.TextXAlignment.Left Title.Parent = Header local Welcome = Instance.new("TextLabel") Welcome.BackgroundTransparency = 1 Welcome.Position = UDim2.fromOffset(19, 36) Welcome.Size = UDim2.fromOffset(280, 20) Welcome.Font = Enum.Font.Gotham Welcome.Text = "Welcome " .. Player.Name Welcome.TextColor3 = BLUE Welcome.TextSize = 11 Welcome.TextXAlignment = Enum.TextXAlignment.Left Welcome.Parent = Header --======================================================== -- CLOSE BUTTON --======================================================== local Close = Instance.new("TextButton") Close.Name = "Close" Close.AnchorPoint = Vector2.new(1, 0.5) Close.Position = UDim2.new(1, -15, 0.5, 0) Close.Size = UDim2.fromOffset(38, 38) Close.BackgroundColor3 = DARK2 Close.BorderSizePixel = 0 Close.Text = "×" Close.TextColor3 = WHITE Close.Font = Enum.Font.GothamBold Close.TextSize = 25 Close.Parent = Header local CloseCorner = Instance.new("UICorner") CloseCorner.CornerRadius = UDim.new(1, 0) CloseCorner.Parent = Close local CloseStroke = Instance.new("UIStroke") CloseStroke.Color = BLUE CloseStroke.Parent = Close --======================================================== -- CREDITS BUTTON --======================================================== local CreditsButton = Instance.new("TextButton") CreditsButton.Position = UDim2.fromOffset(300, 17) CreditsButton.Size = UDim2.fromOffset(80, 32) CreditsButton.BackgroundColor3 = DARK2 CreditsButton.BorderSizePixel = 0 CreditsButton.Text = "CREDITS" CreditsButton.TextColor3 = WHITE CreditsButton.Font = Enum.Font.GothamBold CreditsButton.TextSize = 10 CreditsButton.Parent = Header local CreditsCorner = Instance.new("UICorner") CreditsCorner.CornerRadius = UDim.new(0, 8) CreditsCorner.Parent = CreditsButton --======================================================== -- SEARCH --======================================================== local Search = Instance.new("TextBox") Search.Position = UDim2.fromOffset(15, 78) Search.Size = UDim2.new(1, -30, 0, 40) Search.BackgroundColor3 = DARK2 Search.BorderSizePixel = 0 Search.PlaceholderText = "Search animations..." Search.PlaceholderColor3 = Color3.fromRGB(120, 125, 135) Search.Text = "" Search.TextColor3 = WHITE Search.Font = Enum.Font.Gotham Search.TextSize = 13 Search.ClearTextOnFocus = false Search.Parent = Main local SearchCorner = Instance.new("UICorner") SearchCorner.CornerRadius = UDim.new(0, 9) SearchCorner.Parent = Search local SearchPadding = Instance.new("UIPadding") SearchPadding.PaddingLeft = UDim.new(0, 12) SearchPadding.Parent = Search --======================================================== -- STOP --======================================================== local Stop = Instance.new("TextButton") Stop.Position = UDim2.fromOffset(15, 125) Stop.Size = UDim2.new(0.5, -20, 0, 35) Stop.BackgroundColor3 = Color3.fromRGB(55, 22, 27) Stop.BorderSizePixel = 0 Stop.Text = "■ STOP ANIMATION" Stop.TextColor3 = WHITE Stop.Font = Enum.Font.GothamBold Stop.TextSize = 11 Stop.Parent = Main local StopCorner = Instance.new("UICorner") StopCorner.CornerRadius = UDim.new(0, 8) StopCorner.Parent = Stop --======================================================== -- DESTROY --======================================================== local Destroy = Instance.new("TextButton") Destroy.Position = UDim2.new(0.5, 5, 0, 125) Destroy.Size = UDim2.new(0.5, -20, 0, 35) Destroy.BackgroundColor3 = Color3.fromRGB(75, 20, 27) Destroy.BorderSizePixel = 0 Destroy.Text = "✕ DESTROY GUI" Destroy.TextColor3 = WHITE Destroy.Font = Enum.Font.GothamBold Destroy.TextSize = 11 Destroy.Parent = Main local DestroyCorner = Instance.new("UICorner") DestroyCorner.CornerRadius = UDim.new(0, 8) DestroyCorner.Parent = Destroy --======================================================== -- ANIMATION LIST --======================================================== local List = Instance.new("ScrollingFrame") List.Position = UDim2.fromOffset(15, 172) List.Size = UDim2.new(1, -30, 1, -187) List.BackgroundTransparency = 1 List.BorderSizePixel = 0 List.ScrollBarThickness = 4 List.ScrollBarImageColor3 = BLUE List.CanvasSize = UDim2.new(0, 0, 0, 0) List.AutomaticCanvasSize = Enum.AutomaticSize.Y List.Parent = Main local Layout = Instance.new("UIListLayout") Layout.Padding = UDim.new(0, 7) Layout.SortOrder = Enum.SortOrder.LayoutOrder Layout.Parent = List local Padding = Instance.new("UIPadding") Padding.PaddingBottom = UDim.new(0, 10) Padding.Parent = List --======================================================== -- ANIMATIONS --======================================================== local Animations = { {"Wave", "128777973"}, {"Point", "128853357"}, {"Laugh", "129423131"}, {"Cheer", "129423030"}, {"Dance 1", "182435998"}, {"Dance 2", "182436842"}, {"Dance 3", "182436935"}, {"Dance 1 Variant", "182491037"}, {"Dance 2 Variant", "182491248"}, {"Dance 3 Variant", "182491368"}, {"Tool Hold", "182393478"}, {"Tool Slash", "129967390"}, {"Tool Lunge", "129967478"}, {"Sit", "178130996"}, {"Sword Swing", "32659699"}, {"Sword Thrust", "32659703"}, {"Two Hand Sword Swing", "32659706"} } --======================================================== -- ANIMATION SYSTEM --======================================================== local CurrentTrack local function StopAnimation() if CurrentTrack then pcall(function() CurrentTrack:Stop(0.2) CurrentTrack:Destroy() end) CurrentTrack = nil end end local function PlayAnimation(ID) local Character = Player.Character if not Character then return end local Humanoid = Character:FindFirstChildOfClass("Humanoid") if not Humanoid then return end local Animator = Humanoid:FindFirstChildOfClass("Animator") if not Animator then Animator = Instance.new("Animator") Animator.Parent = Humanoid end StopAnimation() local Animation = Instance.new("Animation") Animation.AnimationId = "rbxassetid://" .. ID local Success, Track = pcall(function() return Animator:LoadAnimation(Animation) end) Animation:Destroy() if not Success or not Track then warn("Could not load animation: " .. ID) return end CurrentTrack = Track Track.Priority = Enum.AnimationPriority.Action Track.Looped = true pcall(function() Track:Play(0.2) end) end --======================================================== -- CREATE BUTTONS --======================================================== local AnimationButtons = {} for Index, Data in ipairs(Animations) do local Name = Data[1] local ID = Data[2] local Button = Instance.new("TextButton") Button.Name = Name Button.Size = UDim2.new(1, -5, 0, 50) Button.BackgroundColor3 = DARK2 Button.BorderSizePixel = 0 Button.Text = "" Button.AutoButtonColor = false Button.LayoutOrder = Index Button.Parent = List local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(0, 9) Corner.Parent = Button local NameText = Instance.new("TextLabel") NameText.BackgroundTransparency = 1 NameText.Position = UDim2.fromOffset(15, 5) NameText.Size = UDim2.new(1, -120, 0, 22) NameText.Font = Enum.Font.GothamBold NameText.Text = Name NameText.TextColor3 = WHITE NameText.TextSize = 14 NameText.TextXAlignment = Enum.TextXAlignment.Left NameText.Parent = Button local IDText = Instance.new("TextLabel") IDText.BackgroundTransparency = 1 IDText.Position = UDim2.fromOffset(15, 27) IDText.Size = UDim2.new(1, -120, 0, 16) IDText.Font = Enum.Font.Gotham IDText.Text = "ID: " .. ID IDText.TextColor3 = Color3.fromRGB(135, 140, 150) IDText.TextSize = 10 IDText.TextXAlignment = Enum.TextXAlignment.Left IDText.Parent = Button local PlayText = Instance.new("TextLabel") PlayText.AnchorPoint = Vector2.new(1, 0.5) PlayText.Position = UDim2.new(1, -10, 0.5, 0) PlayText.Size = UDim2.fromOffset(55, 27) PlayText.BackgroundColor3 = Color3.fromRGB(0, 70, 135) PlayText.BorderSizePixel = 0 PlayText.Text = "PLAY" PlayText.TextColor3 = WHITE PlayText.Font = Enum.Font.GothamBold PlayText.TextSize = 10 PlayText.Parent = Button local PlayCorner = Instance.new("UICorner") PlayCorner.CornerRadius = UDim.new(0, 7) PlayCorner.Parent = PlayText Button.MouseButton1Click:Connect(function() PlayAnimation(ID) end) table.insert(AnimationButtons, { Button = Button, Name = string.lower(Name) }) end --======================================================== -- SEARCH --======================================================== Search:GetPropertyChangedSignal("Text"):Connect(function() local Query = string.lower(Search.Text) for _, Data in ipairs(AnimationButtons) do if Query == "" then Data.Button.Visible = true else Data.Button.Visible = string.find(Data.Name, Query, 1, true) ~= nil end end end) --======================================================== -- STOP --======================================================== Stop.MouseButton1Click:Connect(function() StopAnimation() end) --======================================================== -- CREDITS PAGE --======================================================== local CreditsPage = Instance.new("Frame") CreditsPage.Position = UDim2.fromOffset(15, 78) CreditsPage.Size = UDim2.new(1, -30, 1, -93) CreditsPage.BackgroundColor3 = DARK2 CreditsPage.BorderSizePixel = 0 CreditsPage.Visible = false CreditsPage.Parent = Main local CreditsCorner2 = Instance.new("UICorner") CreditsCorner2.CornerRadius = UDim.new(0, 12) CreditsCorner2.Parent = CreditsPage local CreditsTitle = Instance.new("TextLabel") CreditsTitle.BackgroundTransparency = 1 CreditsTitle.Position = UDim2.fromOffset(15, 35) CreditsTitle.Size = UDim2.new(1, -30, 0, 40) CreditsTitle.Font = Enum.Font.GothamBold CreditsTitle.Text = "Credits" CreditsTitle.TextColor3 = BLUE CreditsTitle.TextSize = 27 CreditsTitle.Parent = CreditsPage local CreditsText = Instance.new("TextLabel") CreditsText.BackgroundTransparency = 1 CreditsText.Position = UDim2.fromOffset(20, 100) CreditsText.Size = UDim2.new(1, -40, 0, 130) CreditsText.Font = Enum.Font.Gotham CreditsText.Text = "Another Script from @AmongTheYoutuber from YouTube\n\nThanks for Using this script!" CreditsText.TextColor3 = WHITE CreditsText.TextSize = 17 CreditsText.TextWrapped = true CreditsText.TextXAlignment = Enum.TextXAlignment.Center CreditsText.TextYAlignment = Enum.TextYAlignment.Center CreditsText.Parent = CreditsPage local Back = Instance.new("TextButton") Back.AnchorPoint = Vector2.new(0.5, 1) Back.Position = UDim2.new(0.5, 0, 1, -20) Back.Size = UDim2.fromOffset(180, 40) Back.BackgroundColor3 = Color3.fromRGB(0, 70, 135) Back.BorderSizePixel = 0 Back.Text = "← ANIMATIONS" Back.TextColor3 = WHITE Back.Font = Enum.Font.GothamBold Back.TextSize = 12 Back.Parent = CreditsPage local BackCorner = Instance.new("UICorner") BackCorner.CornerRadius = UDim.new(0, 9) BackCorner.Parent = Back CreditsButton.MouseButton1Click:Connect(function() List.Visible = false Search.Visible = false Stop.Visible = false Destroy.Visible = false CreditsPage.Visible = true end) Back.MouseButton1Click:Connect(function() List.Visible = true Search.Visible = true Stop.Visible = true Destroy.Visible = true CreditsPage.Visible = false end) --======================================================== -- MINI CIRCLE --======================================================== local Mini = Instance.new("TextButton") Mini.AnchorPoint = Vector2.new(1, 1) Mini.Position = UDim2.new(1, -25, 1, -25) Mini.Size = UDim2.fromOffset(60, 60) Mini.BackgroundColor3 = BLACK Mini.BorderSizePixel = 0 Mini.Text = "AH" Mini.TextColor3 = WHITE Mini.Font = Enum.Font.GothamBold Mini.TextSize = 16 Mini.Visible = false Mini.Parent = Gui local MiniCorner = Instance.new("UICorner") MiniCorner.CornerRadius = UDim.new(1, 0) MiniCorner.Parent = Mini local MiniStroke = Instance.new("UIStroke") MiniStroke.Color = BLUE MiniStroke.Thickness = 3 MiniStroke.Parent = Mini --======================================================== -- OPEN / CLOSE --======================================================== local OpenSize = UDim2.fromOffset(520, 520) local function OpenGUI() Mini.Visible = false Main.Visible = true Main.Size = UDim2.fromOffset(1, 1) TweenService:Create( Main, TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = OpenSize} ):Play() end local function CloseGUI() Main.Visible = false Mini.Visible = true Mini.Size = UDim2.fromOffset(1, 1) TweenService:Create( Mini, TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = UDim2.fromOffset(60, 60)} ):Play() end Close.MouseButton1Click:Connect(CloseGUI) Mini.MouseButton1Click:Connect(OpenGUI) --======================================================== -- DESTROY - DIRECT AND RELIABLE --======================================================== Destroy.MouseButton1Click:Connect(function() StopAnimation() -- Destroy the actual ScreenGui. -- This also removes the mini circle. if Gui then Gui:Destroy() end end) --======================================================== -- DRAGGING --======================================================== local Dragging = false local DragStart local StartPosition Header.InputBegan:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then Dragging = true DragStart = Input.Position StartPosition = Main.Position end end) UserInputService.InputChanged:Connect(function(Input) if not Dragging then return end if Input.UserInputType ~= Enum.UserInputType.MouseMovement and Input.UserInputType ~= Enum.UserInputType.Touch then return end local Delta = Input.Position - DragStart Main.Position = UDim2.new( StartPosition.X.Scale, StartPosition.X.Offset + Delta.X, StartPosition.Y.Scale, StartPosition.Y.Offset + Delta.Y ) end) UserInputService.InputEnded:Connect(function(Input) if Input.UserInputType == Enum.UserInputType.MouseButton1 or Input.UserInputType == Enum.UserInputType.Touch then Dragging = false end end) --======================================================== -- INITIAL OPEN --======================================================== Main.Visible = true print("Animations Hub V3 loaded successfully!")