--// Services local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local hum = char:WaitForChild("Humanoid") local hrp = char:WaitForChild("HumanoidRootPart") --// GUI Construction local screen = Instance.new("ScreenGui", player:WaitForChild("PlayerGui")) screen.ResetOnSpawn = false local main = Instance.new("Frame", screen) main.Size = UDim2.fromOffset(420, 520) main.Position = UDim2.fromScale(0.5, 0.5) main.AnchorPoint = Vector2.new(0.5, 0.5) main.BackgroundTransparency = 0.25 main.BackgroundColor3 = Color3.fromRGB(25,25,35) main.BorderSizePixel = 0 local UIStroke = Instance.new("UIStroke", main) UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border UIStroke.Color = Color3.fromRGB(0, 170, 255) UIStroke.Thickness = 2 local UICorner = Instance.new("UICorner", main) UICorner.CornerRadius = UDim.new(0, 14) -- Title local title = Instance.new("TextLabel", main) title.Size = UDim2.new(1, 0, 0, 40) title.BackgroundTransparency = 1 title.Text = "ANIM CHANGER" title.TextSize = 28 title.Font = Enum.Font.GothamBold title.TextColor3 = Color3.fromRGB(0, 170, 255) local subtitle = Instance.new("TextLabel", main) subtitle.Size = UDim2.new(1, 0, 0, 20) subtitle.Position = UDim2.new(0, 0, 0, 40) subtitle.BackgroundTransparency = 1 subtitle.Text = "bing bang boongalangalang" subtitle.TextSize = 16 subtitle.Font = Enum.Font.Gotham subtitle.TextColor3 = Color3.fromRGB(0, 200, 255) -- Refresh button local refreshBtn = Instance.new("TextButton", main) refreshBtn.Size = UDim2.new(0, 80, 0, 30) refreshBtn.Position = UDim2.new(1, -90, 0, 10) refreshBtn.AnchorPoint = Vector2.new(0,0) refreshBtn.Text = "Refresh" refreshBtn.Font = Enum.Font.GothamBold refreshBtn.TextSize = 16 refreshBtn.TextColor3 = Color3.fromRGB(255,255,255) refreshBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 200) Instance.new("UICorner", refreshBtn) -- Container for TextBoxes local container = Instance.new("Frame", main) container.Size = UDim2.new(1, -40, 1, -100) container.Position = UDim2.new(0,20,0,80) container.BackgroundTransparency = 1 local list = Instance.new("UIListLayout", container) list.Padding = UDim.new(0,10) -- Function to create TextBoxes local function makeTextbox(labelText, default) local holder = Instance.new("Frame", container) holder.Size = UDim2.new(1,0,0,48) holder.BackgroundTransparency = 0.35 holder.BackgroundColor3 = Color3.fromRGB(35,35,45) Instance.new("UICorner", holder).CornerRadius = UDim.new(0,10) local lbl = Instance.new("TextLabel", holder) lbl.Size = UDim2.new(0.4,0,1,0) lbl.BackgroundTransparency = 1 lbl.Text = labelText lbl.TextColor3 = Color3.fromRGB(0, 170, 255) lbl.Font = Enum.Font.GothamSemibold lbl.TextSize = 18 local tb = Instance.new("TextBox", holder) tb.Size = UDim2.new(0.55,0,0.7,0) tb.Position = UDim2.new(0.42,0,0.15,0) tb.BackgroundColor3 = Color3.fromRGB(20,20,30) tb.TextColor3 = Color3.fromRGB(0, 170, 255) tb.PlaceholderText = default or "rbxassetid://0" tb.Font = Enum.Font.GothamSemibold tb.TextSize = 18 Instance.new("UICorner", tb).CornerRadius = UDim.new(0,6) Instance.new("UIStroke", tb).Color = Color3.fromRGB(0, 170, 255) return tb end -- TextBoxes for all animations local idleBox = makeTextbox("Idle","rbxassetid://0") local walkBox = makeTextbox("Walk","rbxassetid://0") local runBox = makeTextbox("Run","rbxassetid://0") local atkBox = makeTextbox("Attack","rbxassetid://0") local qBox = makeTextbox("Q","rbxassetid://0") local eBox = makeTextbox("E","rbxassetid://0") local rBox = makeTextbox("R","rbxassetid://0") local tBox = makeTextbox("T","rbxassetid://0") local delayBox = makeTextbox("Animation Delay","0.2") -- Draggable GUI local dragging, dragStart, startPos = false, nil, nil main.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = i.Position startPos = main.Position main.Rotation = -2 end end) main.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false main.Rotation = 0 end end) UIS.InputChanged:Connect(function(i) if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then local delta = i.Position - dragStart main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) -- Animation Handling local anims = { Idle = "rbxassetid://0", Walk = "rbxassetid://0", Run = "rbxassetid://0", Attack = "rbxassetid://0", Q = "rbxassetid://0", E = "rbxassetid://0", R = "rbxassetid://0", T = "rbxassetid://0" } local tracks = {} local function clean(id) id = id:gsub("rbxassetid://","") if tonumber(id) then return "rbxassetid://"..id end return "rbxassetid://0" end local function loadTrack(name) local id = anims[name] if id=="rbxassetid://0" then return end if tracks[name] then tracks[name]:Stop() end local anim = Instance.new("Animation") anim.AnimationId = id tracks[name] = hum:LoadAnimation(anim) end local function applyBox(tb,name) tb.FocusLost:Connect(function() anims[name] = clean(tb.Text) loadTrack(name) tb.BackgroundColor3 = Color3.fromRGB(0,170,255) task.wait(0.15) tb.BackgroundColor3 = Color3.fromRGB(20,20,30) end) end -- Apply boxes for k,v in pairs({Idle=idleBox, Walk=walkBox, Run=runBox, Attack=atkBox, Q=qBox, E=eBox, R=rBox, T=tBox}) do applyBox(v,k) end -- Ability playback local attacking = false local function playAbility(name) if anims[name]=="rbxassetid://0" then return end if attacking then return end attacking = true local d = tonumber(delayBox.Text) or 0.2 task.wait(d) for _,tr in pairs(tracks) do pcall(function() tr:Stop() end) end for _,tr in ipairs(hum:GetPlayingAnimationTracks()) do pcall(function() tr:Stop() end) end loadTrack(name) if tracks[name] then tracks[name]:Play() end task.delay(0.7,function() attacking = false end) end UIS.InputBegan:Connect(function(i,gp) if gp then return end if i.KeyCode==Enum.KeyCode.F then playAbility("Attack") end if i.KeyCode==Enum.KeyCode.Q then playAbility("Q") end if i.KeyCode==Enum.KeyCode.E then playAbility("E") end if i.KeyCode==Enum.KeyCode.R then playAbility("R") end if i.KeyCode==Enum.KeyCode.T then playAbility("T") end end) -- Walk/Run/Idle local normalWalkSpeed = hum.WalkSpeed RunService.RenderStepped:Connect(function() if attacking then return end local speed = hrp.Velocity.Magnitude local move = hum.MoveDirection.Magnitude if move<=0.1 then if tracks.Idle and not tracks.Idle.IsPlaying then pcall(function() tracks.Walk:Stop() tracks.Run:Stop() end) pcall(function() tracks.Idle:Play() end) end return end if speed>normalWalkSpeed + 1 then if tracks.Run and not tracks.Run.IsPlaying then pcall(function() tracks.Idle:Stop() tracks.Walk:Stop() end) tracks.Run:Play() end else if tracks.Walk and not tracks.Walk.IsPlaying then pcall(function() tracks.Idle:Stop() tracks.Run:Stop() end) tracks.Walk:Play() end end end) -- Toggle GUI visibility local visible = true UIS.InputBegan:Connect(function(i,gp) if gp then return end if i.KeyCode==Enum.KeyCode.LeftAlt then visible = not visible main.Visible = visible end end) -- Copy animation GUI local copyGui = Instance.new("Frame", screen) copyGui.Size = UDim2.fromOffset(300,200) copyGui.Position = UDim2.fromScale(0.5,0.5) copyGui.AnchorPoint = Vector2.new(0.5,0.5) copyGui.BackgroundColor3 = Color3.fromRGB(25,25,35) copyGui.BackgroundTransparency = 0.2 copyGui.Visible = false Instance.new("UICorner", copyGui).CornerRadius = UDim.new(0,12) local copyList = Instance.new("UIListLayout", copyGui) copyList.Padding = UDim.new(0,10) copyList.HorizontalAlignment = Enum.HorizontalAlignment.Center copyList.VerticalAlignment = Enum.VerticalAlignment.Top local function showCopyGui(tracks) if not main.Visible then return end copyGui:ClearAllChildren() copyList = Instance.new("UIListLayout", copyGui) copyList.Padding = UDim.new(0,10) copyList.HorizontalAlignment = Enum.HorizontalAlignment.Center copyList.VerticalAlignment = Enum.VerticalAlignment.Top local title = Instance.new("TextLabel", copyGui) title.Size = UDim2.new(1,0,0,40) title.BackgroundTransparency = 1 title.Text = "Select Animation" title.TextSize = 20 title.Font = Enum.Font.GothamBold title.TextColor3 = Color3.fromRGB(0,170,255) for _,tr in ipairs(tracks) do local id = tr.Animation.AnimationId local btn = Instance.new("TextButton", copyGui) btn.Size = UDim2.new(0.8,0,0,34) btn.Text = id btn.Font = Enum.Font.GothamSemibold btn.TextSize = 18 btn.BackgroundColor3 = Color3.fromRGB(35,35,50) btn.TextColor3 = Color3.fromRGB(0,170,255) Instance.new("UICorner", btn).CornerRadius = UDim.new(0,8) btn.MouseButton1Click:Connect(function() setclipboard(id) copyGui.Visible = false end) end copyGui.Visible = true end -- Click humanoid to copy local mouse = player:GetMouse() mouse.Button1Down:Connect(function() if not main.Visible then return end local t = mouse.Target if not t then return end local m = t:FindFirstAncestorWhichIsA("Model") if not m then return end local h = m:FindFirstChildOfClass("Humanoid") if not h then return end local tr = h:GetPlayingAnimationTracks() if #tr>0 then showCopyGui(tr) end end) -- Refresh button logic refreshBtn.MouseButton1Click:Connect(function() char = player.Character or player.CharacterAdded:Wait() hum = char:WaitForChild("Humanoid") hrp = char:WaitForChild("HumanoidRootPart") for k,v in pairs(anims) do loadTrack(k) end end) --// Services local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local hum = char:WaitForChild("Humanoid") local hrp = char:WaitForChild("HumanoidRootPart") --// GUI Construction local screen = Instance.new("ScreenGui", player:WaitForChild("PlayerGui")) screen.ResetOnSpawn = false local main = Instance.new("Frame", screen) main.Size = UDim2.fromOffset(420, 520) main.Position = UDim2.fromScale(0.5, 0.5) main.AnchorPoint = Vector2.new(0.5, 0.5) main.BackgroundTransparency = 0.25 main.BackgroundColor3 = Color3.fromRGB(25,25,35) main.BorderSizePixel = 0 local UIStroke = Instance.new("UIStroke", main) UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border UIStroke.Color = Color3.fromRGB(0, 170, 255) UIStroke.Thickness = 2 local UICorner = Instance.new("UICorner", main) UICorner.CornerRadius = UDim.new(0, 14) -- Title local title = Instance.new("TextLabel", main) title.Size = UDim2.new(1, 0, 0, 40) title.BackgroundTransparency = 1 title.Text = "ANIM CHANGER" title.TextSize = 28 title.Font = Enum.Font.GothamBold title.TextColor3 = Color3.fromRGB(0, 170, 255) local subtitle = Instance.new("TextLabel", main) subtitle.Size = UDim2.new(1, 0, 0, 20) subtitle.Position = UDim2.new(0, 0, 0, 40) subtitle.BackgroundTransparency = 1 subtitle.Text = "bing bang boongalangalang" subtitle.TextSize = 16 subtitle.Font = Enum.Font.Gotham subtitle.TextColor3 = Color3.fromRGB(0, 200, 255) -- Refresh button local refreshBtn = Instance.new("TextButton", main) refreshBtn.Size = UDim2.new(0, 80, 0, 30) refreshBtn.Position = UDim2.new(1, -90, 0, 10) refreshBtn.AnchorPoint = Vector2.new(0,0) refreshBtn.Text = "Refresh" refreshBtn.Font = Enum.Font.GothamBold refreshBtn.TextSize = 16 refreshBtn.TextColor3 = Color3.fromRGB(255,255,255) refreshBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 200) Instance.new("UICorner", refreshBtn) -- Container for TextBoxes local container = Instance.new("Frame", main) container.Size = UDim2.new(1, -40, 1, -100) container.Position = UDim2.new(0,20,0,80) container.BackgroundTransparency = 1 local list = Instance.new("UIListLayout", container) list.Padding = UDim.new(0,10) -- Function to create TextBoxes local function makeTextbox(labelText, default) local holder = Instance.new("Frame", container) holder.Size = UDim2.new(1,0,0,48) holder.BackgroundTransparency = 0.35 holder.BackgroundColor3 = Color3.fromRGB(35,35,45) Instance.new("UICorner", holder).CornerRadius = UDim.new(0,10) local lbl = Instance.new("TextLabel", holder) lbl.Size = UDim2.new(0.4,0,1,0) lbl.BackgroundTransparency = 1 lbl.Text = labelText lbl.TextColor3 = Color3.fromRGB(0, 170, 255) lbl.Font = Enum.Font.GothamSemibold lbl.TextSize = 18 local tb = Instance.new("TextBox", holder) tb.Size = UDim2.new(0.55,0,0.7,0) tb.Position = UDim2.new(0.42,0,0.15,0) tb.BackgroundColor3 = Color3.fromRGB(20,20,30) tb.TextColor3 = Color3.fromRGB(0, 170, 255) tb.PlaceholderText = default or "rbxassetid://0" tb.Font = Enum.Font.GothamSemibold tb.TextSize = 18 Instance.new("UICorner", tb).CornerRadius = UDim.new(0,6) Instance.new("UIStroke", tb).Color = Color3.fromRGB(0, 170, 255) return tb end -- TextBoxes for all animations local idleBox = makeTextbox("Idle","rbxassetid://0") local walkBox = makeTextbox("Walk","rbxassetid://0") local runBox = makeTextbox("Run","rbxassetid://0") local atkBox = makeTextbox("Attack","rbxassetid://0") local qBox = makeTextbox("Q","rbxassetid://0") local eBox = makeTextbox("E","rbxassetid://0") local rBox = makeTextbox("R","rbxassetid://0") local tBox = makeTextbox("T","rbxassetid://0") local delayBox = makeTextbox("Animation Delay","0.2") -- Draggable GUI local dragging, dragStart, startPos = false, nil, nil main.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = i.Position startPos = main.Position main.Rotation = -2 end end) main.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false main.Rotation = 0 end end) UIS.InputChanged:Connect(function(i) if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then local delta = i.Position - dragStart main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) -- Animation Handling local anims = { Idle = "rbxassetid://0", Walk = "rbxassetid://0", Run = "rbxassetid://0", Attack = "rbxassetid://0", Q = "rbxassetid://0", E = "rbxassetid://0", R = "rbxassetid://0", T = "rbxassetid://0" } local tracks = {} local function clean(id) id = id:gsub("rbxassetid://","") if tonumber(id) then return "rbxassetid://"..id end return "rbxassetid://0" end local function loadTrack(name) local id = anims[name] if id=="rbxassetid://0" then return end if tracks[name] then tracks[name]:Stop() end local anim = Instance.new("Animation") anim.AnimationId = id tracks[name] = hum:LoadAnimation(anim) end local function applyBox(tb,name) tb.FocusLost:Connect(function() anims[name] = clean(tb.Text) loadTrack(name) tb.BackgroundColor3 = Color3.fromRGB(0,170,255) task.wait(0.15) tb.BackgroundColor3 = Color3.fromRGB(20,20,30) end) end -- Apply boxes for k,v in pairs({Idle=idleBox, Walk=walkBox, Run=runBox, Attack=atkBox, Q=qBox, E=eBox, R=rBox, T=tBox}) do applyBox(v,k) end -- Ability playback local attacking = false local function playAbility(name) if anims[name]=="rbxassetid://0" then return end if attacking then return end attacking = true local d = tonumber(delayBox.Text) or 0.2 task.wait(d) for _,tr in pairs(tracks) do pcall(function() tr:Stop() end) end for _,tr in ipairs(hum:GetPlayingAnimationTracks()) do pcall(function() tr:Stop() end) end loadTrack(name) if tracks[name] then tracks[name]:Play() end task.delay(0.7,function() attacking = false end) end UIS.InputBegan:Connect(function(i,gp) if gp then return end if i.KeyCode==Enum.KeyCode.F then playAbility("Attack") end if i.KeyCode==Enum.KeyCode.Q then playAbility("Q") end if i.KeyCode==Enum.KeyCode.E then playAbility("E") end if i.KeyCode==Enum.KeyCode.R then playAbility("R") end if i.KeyCode==Enum.KeyCode.T then playAbility("T") end end) -- Walk/Run/Idle local normalWalkSpeed = hum.WalkSpeed RunService.RenderStepped:Connect(function() if attacking then return end local speed = hrp.Velocity.Magnitude local move = hum.MoveDirection.Magnitude if move<=0.1 then if tracks.Idle and not tracks.Idle.IsPlaying then pcall(function() tracks.Walk:Stop() tracks.Run:Stop() end) pcall(function() tracks.Idle:Play() end) end return end if speed>normalWalkSpeed + 1 then if tracks.Run and not tracks.Run.IsPlaying then pcall(function() tracks.Idle:Stop() tracks.Walk:Stop() end) tracks.Run:Play() end else if tracks.Walk and not tracks.Walk.IsPlaying then pcall(function() tracks.Idle:Stop() tracks.Run:Stop() end) tracks.Walk:Play() end end end) -- Toggle GUI visibility local visible = true UIS.InputBegan:Connect(function(i,gp) if gp then return end if i.KeyCode==Enum.KeyCode.LeftAlt then visible = not visible main.Visible = visible end end) -- Copy animation GUI local copyGui = Instance.new("Frame", screen) copyGui.Size = UDim2.fromOffset(300,200) copyGui.Position = UDim2.fromScale(0.5,0.5) copyGui.AnchorPoint = Vector2.new(0.5,0.5) copyGui.BackgroundColor3 = Color3.fromRGB(25,25,35) copyGui.BackgroundTransparency = 0.2 copyGui.Visible = false Instance.new("UICorner", copyGui).CornerRadius = UDim.new(0,12) local copyList = Instance.new("UIListLayout", copyGui) copyList.Padding = UDim.new(0,10) copyList.HorizontalAlignment = Enum.HorizontalAlignment.Center copyList.VerticalAlignment = Enum.VerticalAlignment.Top local function showCopyGui(tracks) if not main.Visible then return end copyGui:ClearAllChildren() copyList = Instance.new("UIListLayout", copyGui) copyList.Padding = UDim.new(0,10) copyList.HorizontalAlignment = Enum.HorizontalAlignment.Center copyList.VerticalAlignment = Enum.VerticalAlignment.Top local title = Instance.new("TextLabel", copyGui) title.Size = UDim2.new(1,0,0,40) title.BackgroundTransparency = 1 title.Text = "Select Animation" title.TextSize = 20 title.Font = Enum.Font.GothamBold title.TextColor3 = Color3.fromRGB(0,170,255) for _,tr in ipairs(tracks) do local id = tr.Animation.AnimationId local btn = Instance.new("TextButton", copyGui) btn.Size = UDim2.new(0.8,0,0,34) btn.Text = id btn.Font = Enum.Font.GothamSemibold btn.TextSize = 18 btn.BackgroundColor3 = Color3.fromRGB(35,35,50) btn.TextColor3 = Color3.fromRGB(0,170,255) Instance.new("UICorner", btn).CornerRadius = UDim.new(0,8) btn.MouseButton1Click:Connect(function() setclipboard(id) copyGui.Visible = false end) end copyGui.Visible = true end -- Click humanoid to copy local mouse = player:GetMouse() mouse.Button1Down:Connect(function() if not main.Visible then return end local t = mouse.Target if not t then return end local m = t:FindFirstAncestorWhichIsA("Model") if not m then return end local h = m:FindFirstChildOfClass("Humanoid") if not h then return end local tr = h:GetPlayingAnimationTracks() if #tr>0 then showCopyGui(tr) end end) -- Refresh button logic refreshBtn.MouseButton1Click:Connect(function() char = player.Character or player.CharacterAdded:Wait() hum = char:WaitForChild("Humanoid") hrp = char:WaitForChild("HumanoidRootPart") for k,v in pairs(anims) do loadTrack(k) end end) --// Services local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local char = player.Character or player.CharacterAdded:Wait() local hum = char:WaitForChild("Humanoid") local hrp = char:WaitForChild("HumanoidRootPart") --// GUI Construction local screen = Instance.new("ScreenGui", player:WaitForChild("PlayerGui")) screen.ResetOnSpawn = false local main = Instance.new("Frame", screen) main.Size = UDim2.fromOffset(420, 520) main.Position = UDim2.fromScale(0.5, 0.5) main.AnchorPoint = Vector2.new(0.5, 0.5) main.BackgroundTransparency = 0.25 main.BackgroundColor3 = Color3.fromRGB(25,25,35) main.BorderSizePixel = 0 local UIStroke = Instance.new("UIStroke", main) UIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border UIStroke.Color = Color3.fromRGB(0, 170, 255) UIStroke.Thickness = 2 local UICorner = Instance.new("UICorner", main) UICorner.CornerRadius = UDim.new(0, 14) -- Title local title = Instance.new("TextLabel", main) title.Size = UDim2.new(1, 0, 0, 40) title.BackgroundTransparency = 1 title.Text = "ANIM CHANGER" title.TextSize = 28 title.Font = Enum.Font.GothamBold title.TextColor3 = Color3.fromRGB(0, 170, 255) local subtitle = Instance.new("TextLabel", main) subtitle.Size = UDim2.new(1, 0, 0, 20) subtitle.Position = UDim2.new(0, 0, 0, 40) subtitle.BackgroundTransparency = 1 subtitle.Text = "bing bang boongalangalang" subtitle.TextSize = 16 subtitle.Font = Enum.Font.Gotham subtitle.TextColor3 = Color3.fromRGB(0, 200, 255) -- Refresh button local refreshBtn = Instance.new("TextButton", main) refreshBtn.Size = UDim2.new(0, 80, 0, 30) refreshBtn.Position = UDim2.new(1, -90, 0, 10) refreshBtn.AnchorPoint = Vector2.new(0,0) refreshBtn.Text = "Refresh" refreshBtn.Font = Enum.Font.GothamBold refreshBtn.TextSize = 16 refreshBtn.TextColor3 = Color3.fromRGB(255,255,255) refreshBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 200) Instance.new("UICorner", refreshBtn) -- Container for TextBoxes local container = Instance.new("Frame", main) container.Size = UDim2.new(1, -40, 1, -100) container.Position = UDim2.new(0,20,0,80) container.BackgroundTransparency = 1 local list = Instance.new("UIListLayout", container) list.Padding = UDim.new(0,10) -- Function to create TextBoxes local function makeTextbox(labelText, default) local holder = Instance.new("Frame", container) holder.Size = UDim2.new(1,0,0,48) holder.BackgroundTransparency = 0.35 holder.BackgroundColor3 = Color3.fromRGB(35,35,45) Instance.new("UICorner", holder).CornerRadius = UDim.new(0,10) local lbl = Instance.new("TextLabel", holder) lbl.Size = UDim2.new(0.4,0,1,0) lbl.BackgroundTransparency = 1 lbl.Text = labelText lbl.TextColor3 = Color3.fromRGB(0, 170, 255) lbl.Font = Enum.Font.GothamSemibold lbl.TextSize = 18 local tb = Instance.new("TextBox", holder) tb.Size = UDim2.new(0.55,0,0.7,0) tb.Position = UDim2.new(0.42,0,0.15,0) tb.BackgroundColor3 = Color3.fromRGB(20,20,30) tb.TextColor3 = Color3.fromRGB(0, 170, 255) tb.PlaceholderText = default or "rbxassetid://0" tb.Font = Enum.Font.GothamSemibold tb.TextSize = 18 Instance.new("UICorner", tb).CornerRadius = UDim.new(0,6) Instance.new("UIStroke", tb).Color = Color3.fromRGB(0, 170, 255) return tb end -- TextBoxes for all animations local idleBox = makeTextbox("Idle","rbxassetid://0") local walkBox = makeTextbox("Walk","rbxassetid://0") local runBox = makeTextbox("Run","rbxassetid://0") local atkBox = makeTextbox("Attack","rbxassetid://0") local qBox = makeTextbox("Q","rbxassetid://0") local eBox = makeTextbox("E","rbxassetid://0") local rBox = makeTextbox("R","rbxassetid://0") local tBox = makeTextbox("T","rbxassetid://0") local delayBox = makeTextbox("Animation Delay","0.2") -- Draggable GUI local dragging, dragStart, startPos = false, nil, nil main.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = i.Position startPos = main.Position main.Rotation = -2 end end) main.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false main.Rotation = 0 end end) UIS.InputChanged:Connect(function(i) if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then local delta = i.Position - dragStart main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) -- Animation Handling local anims = { Idle = "rbxassetid://0", Walk = "rbxassetid://0", Run = "rbxassetid://0", Attack = "rbxassetid://0", Q = "rbxassetid://0", E = "rbxassetid://0", R = "rbxassetid://0", T = "rbxassetid://0" } local tracks = {} local function clean(id) id = id:gsub("rbxassetid://","") if tonumber(id) then return "rbxassetid://"..id end return "rbxassetid://0" end local function loadTrack(name) local id = anims[name] if id=="rbxassetid://0" then return end if tracks[name] then tracks[name]:Stop() end local anim = Instance.new("Animation") anim.AnimationId = id tracks[name] = hum:LoadAnimation(anim) end local function applyBox(tb,name) tb.FocusLost:Connect(function() anims[name] = clean(tb.Text) loadTrack(name) tb.BackgroundColor3 = Color3.fromRGB(0,170,255) task.wait(0.15) tb.BackgroundColor3 = Color3.fromRGB(20,20,30) end) end -- Apply boxes for k,v in pairs({Idle=idleBox, Walk=walkBox, Run=runBox, Attack=atkBox, Q=qBox, E=eBox, R=rBox, T=tBox}) do applyBox(v,k) end -- Ability playback local attacking = false local function playAbility(name) if anims[name]=="rbxassetid://0" then return end if attacking then return end attacking = true local d = tonumber(delayBox.Text) or 0.2 task.wait(d) for _,tr in pairs(tracks) do pcall(function() tr:Stop() end) end for _,tr in ipairs(hum:GetPlayingAnimationTracks()) do pcall(function() tr:Stop() end) end loadTrack(name) if tracks[name] then tracks[name]:Play() end task.delay(0.7,function() attacking = false end) end UIS.InputBegan:Connect(function(i,gp) if gp then return end if i.KeyCode==Enum.KeyCode.F then playAbility("Attack") end if i.KeyCode==Enum.KeyCode.Q then playAbility("Q") end if i.KeyCode==Enum.KeyCode.E then playAbility("E") end if i.KeyCode==Enum.KeyCode.R then playAbility("R") end if i.KeyCode==Enum.KeyCode.T then playAbility("T") end end) -- Walk/Run/Idle local normalWalkSpeed = hum.WalkSpeed RunService.RenderStepped:Connect(function() if attacking then return end local speed = hrp.Velocity.Magnitude local move = hum.MoveDirection.Magnitude if move<=0.1 then if tracks.Idle and not tracks.Idle.IsPlaying then pcall(function() tracks.Walk:Stop() tracks.Run:Stop() end) pcall(function() tracks.Idle:Play() end) end return end if speed>normalWalkSpeed + 1 then if tracks.Run and not tracks.Run.IsPlaying then pcall(function() tracks.Idle:Stop() tracks.Walk:Stop() end) tracks.Run:Play() end else if tracks.Walk and not tracks.Walk.IsPlaying then pcall(function() tracks.Idle:Stop() tracks.Run:Stop() end) tracks.Walk:Play() end end end) -- Toggle GUI visibility local visible = true UIS.InputBegan:Connect(function(i,gp) if gp then return end if i.KeyCode==Enum.KeyCode.LeftAlt then visible = not visible main.Visible = visible end end) -- Copy animation GUI local copyGui = Instance.new("Frame", screen) copyGui.Size = UDim2.fromOffset(300,200) copyGui.Position = UDim2.fromScale(0.5,0.5) copyGui.AnchorPoint = Vector2.new(0.5,0.5) copyGui.BackgroundColor3 = Color3.fromRGB(25,25,35) copyGui.BackgroundTransparency = 0.2 copyGui.Visible = false Instance.new("UICorner", copyGui).CornerRadius = UDim.new(0,12) local copyList = Instance.new("UIListLayout", copyGui) copyList.Padding = UDim.new(0,10) copyList.HorizontalAlignment = Enum.HorizontalAlignment.Center copyList.VerticalAlignment = Enum.VerticalAlignment.Top local function showCopyGui(tracks) if not main.Visible then return end copyGui:ClearAllChildren() copyList = Instance.new("UIListLayout", copyGui) copyList.Padding = UDim.new(0,10) copyList.HorizontalAlignment = Enum.HorizontalAlignment.Center copyList.VerticalAlignment = Enum.VerticalAlignment.Top local title = Instance.new("TextLabel", copyGui) title.Size = UDim2.new(1,0,0,40) title.BackgroundTransparency = 1 title.Text = "Select Animation" title.TextSize = 20 title.Font = Enum.Font.GothamBold title.TextColor3 = Color3.fromRGB(0,170,255) for _,tr in ipairs(tracks) do local id = tr.Animation.AnimationId local btn = Instance.new("TextButton", copyGui) btn.Size = UDim2.new(0.8,0,0,34) btn.Text = id btn.Font = Enum.Font.GothamSemibold btn.TextSize = 18 btn.BackgroundColor3 = Color3.fromRGB(35,35,50) btn.TextColor3 = Color3.fromRGB(0,170,255) Instance.new("UICorner", btn).CornerRadius = UDim.new(0,8) btn.MouseButton1Click:Connect(function() setclipboard(id) copyGui.Visible = false end) end copyGui.Visible = true end -- Click humanoid to copy local mouse = player:GetMouse() mouse.Button1Down:Connect(function() if not main.Visible then return end local t = mouse.Target if not t then return end local m = t:FindFirstAncestorWhichIsA("Model") if not m then return end local h = m:FindFirstChildOfClass("Humanoid") if not h then return end local tr = h:GetPlayingAnimationTracks() if #tr>0 then showCopyGui(tr) end end) -- Refresh button logic refreshBtn.MouseButton1Click:Connect(function() char = player.Character or player.CharacterAdded:Wait() hum = char:WaitForChild("Humanoid") hrp = char:WaitForChild("HumanoidRootPart") for k,v in pairs(anims) do loadTrack(k) end end)