Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Players = game:GetService("Players")
- local TweenService = game:GetService("TweenService")
- local UserInputService = game:GetService("UserInputService")
- local RunService = game:GetService("RunService")
- local THEME = {
- BACKGROUND = Color3.fromRGB(20, 20, 20),
- SECONDARY = Color3.fromRGB(30, 30, 30),
- ACCENT = Color3.fromRGB(0, 200, 255),
- ACCENT_HOVER = Color3.fromRGB(0, 150, 255),
- TEXT = Color3.fromRGB(173, 216, 230),
- TEXT_SECONDARY = Color3.fromRGB(150, 150, 150),
- SUCCESS = Color3.fromRGB(0, 255, 100),
- ERROR = Color3.fromRGB(255, 50, 50),
- BORDER = Color3.fromRGB(50, 50, 50)
- }
- local CONFIG = {
- GUI_WIDTH = 320,
- GUI_HEIGHT = 420,
- ENTRY_HEIGHT = 60,
- CORNER_RADIUS = 12,
- TWEEN_SPEED = 0.3,
- BORDER_THICKNESS = 1
- }
- local function createTween(instance, properties, duration, style)
- if not instance then return end
- local tween = TweenService:Create(
- instance,
- TweenInfo.new(duration or CONFIG.TWEEN_SPEED, style or Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
- properties
- )
- tween:Play()
- return tween
- end
- local gui = Instance.new("ScreenGui")
- gui.Name = "Gta_" .. math.random(10000, 99999)
- gui.ResetOnSpawn = false
- gui.IgnoreGuiInset = true
- gui.Parent = Players.LocalPlayer:WaitForChild("PlayerGui")
- local frame = Instance.new("Frame")
- frame.Size = UDim2.new(0, CONFIG.GUI_WIDTH, 0, CONFIG.GUI_HEIGHT)
- frame.Position = UDim2.new(0.5, -CONFIG.GUI_WIDTH / 2, 0.5, -CONFIG.GUI_HEIGHT / 2)
- frame.BackgroundColor3 = THEME.BACKGROUND
- frame.BackgroundTransparency = 1
- frame.BorderColor3 = THEME.BORDER
- frame.BorderSizePixel = CONFIG.BORDER_THICKNESS
- frame.ClipsDescendants = true
- frame.Parent = gui
- local corner = Instance.new("UICorner")
- corner.CornerRadius = UDim.new(0, CONFIG.CORNER_RADIUS)
- corner.Parent = frame
- local titleBar = Instance.new("Frame")
- titleBar.Size = UDim2.new(1, 0, 0, 50)
- titleBar.BackgroundTransparency = 1
- titleBar.Parent = frame
- local title = Instance.new("TextLabel")
- title.Size = UDim2.new(1, -100, 0, 40)
- title.Position = UDim2.new(0, 15, 0, 5)
- title.BackgroundTransparency = 1
- title.Text = "lee's Anim Grabber!"
- title.TextColor3 = THEME.ACCENT
- title.TextSize = 24
- title.Font = Enum.Font.GothamBlack
- title.TextTransparency = 1
- title.TextXAlignment = Enum.TextXAlignment.Left
- title.Parent = titleBar
- local buttonContainer = Instance.new("Frame")
- buttonContainer.Size = UDim2.new(0, 80, 0, 40)
- buttonContainer.Position = UDim2.new(1, -90, 0, 5)
- buttonContainer.BackgroundTransparency = 1
- buttonContainer.Parent = titleBar
- local function createButton(properties)
- local button = Instance.new("TextButton")
- for prop, value in pairs(properties) do
- button[prop] = value
- end
- local corner = Instance.new("UICorner")
- corner.CornerRadius = UDim.new(0, 8)
- corner.Parent = button
- local border = Instance.new("UIStroke")
- border.Color = THEME.BORDER
- border.Thickness = 1
- border.Parent = button
- return button
- end
- local clearButton = createButton({
- Text = "Clear",
- Font = Enum.Font.GothamBold,
- TextSize = 14,
- Size = UDim2.new(0, 40, 0, 30),
- Position = UDim2.new(0, 0, 0, 5),
- BackgroundColor3 = THEME.SECONDARY,
- BackgroundTransparency = 0.9,
- TextColor3 = THEME.ACCENT,
- TextTransparency = 1,
- AutoButtonColor = false,
- Parent = buttonContainer
- })
- local closeButton = createButton({
- Text = "X",
- Font = Enum.Font.GothamBold,
- TextSize = 16,
- Size = UDim2.new(0, 30, 0, 30),
- Position = UDim2.new(1, -35, 0, 5),
- BackgroundColor3 = THEME.SECONDARY,
- BackgroundTransparency = 0.9,
- TextColor3 = THEME.ACCENT,
- TextTransparency = 1,
- AutoButtonColor = false,
- Parent = buttonContainer
- })
- local scrollFrame = Instance.new("ScrollingFrame")
- scrollFrame.Position = UDim2.new(0, 10, 0, 60)
- scrollFrame.Size = UDim2.new(1, -20, 1, -70)
- scrollFrame.BackgroundTransparency = 1
- scrollFrame.ScrollBarThickness = 4
- scrollFrame.ScrollBarImageColor3 = THEME.ACCENT
- scrollFrame.ScrollBarImageTransparency = 0.5
- scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
- scrollFrame.Parent = frame
- local listLayout = Instance.new("UIListLayout")
- listLayout.Padding = UDim.new(0, 8)
- listLayout.Parent = scrollFrame
- local loggedAnimations = {}
- local function createLogEntry(track)
- local animId = track.Animation.AnimationId
- if loggedAnimations[animId] then return end
- loggedAnimations[animId] = true
- local entry = Instance.new("Frame")
- entry.Size = UDim2.new(1, 0, 0, CONFIG.ENTRY_HEIGHT)
- entry.BackgroundColor3 = THEME.SECONDARY
- entry.BackgroundTransparency = 0.9
- entry.Parent = scrollFrame
- local corner = Instance.new("UICorner")
- corner.CornerRadius = UDim.new(0, 8)
- corner.Parent = entry
- local border = Instance.new("UIStroke")
- border.Color = THEME.BORDER
- border.Thickness = 1
- border.Transparency = 1
- border.Parent = entry
- local animName = Instance.new("TextLabel")
- animName.Text = track.Animation.Name or "Unknown Animation"
- animName.Font = Enum.Font.GothamBold
- animName.TextSize = 16
- animName.Size = UDim2.new(0, 200, 0, 24)
- animName.Position = UDim2.new(0, 15, 0, 10)
- animName.BackgroundTransparency = 1
- animName.TextColor3 = THEME.TEXT
- animName.TextXAlignment = Enum.TextXAlignment.Left
- animName.TextTransparency = 1
- animName.TextTruncate = Enum.TextTruncate.AtEnd
- animName.Parent = entry
- local idLabel = Instance.new("TextLabel")
- idLabel.Text = animId:match("rbxassetid://(.+)") or animId
- idLabel.Font = Enum.Font.Gotham
- idLabel.TextSize = 12
- idLabel.Size = UDim2.new(0, 200, 0, 18)
- idLabel.Position = UDim2.new(0, 15, 0, 34)
- idLabel.BackgroundTransparency = 1
- idLabel.TextColor3 = THEME.TEXT_SECONDARY
- idLabel.TextXAlignment = Enum.TextXAlignment.Left
- idLabel.TextTransparency = 1
- idLabel.TextTruncate = Enum.TextTruncate.AtEnd
- idLabel.Parent = entry
- local copyButton = createButton({
- Text = "Copy",
- Font = Enum.Font.GothamBold,
- TextSize = 12,
- Size = UDim2.new(0, 60, 0, 28),
- Position = UDim2.new(1, -70, 0.5, -14),
- BackgroundColor3 = THEME.SECONDARY,
- BackgroundTransparency = 0.9,
- TextColor3 = THEME.ACCENT,
- TextTransparency = 1,
- AutoButtonColor = false,
- Parent = entry,
- Name = "Copy"
- })
- createTween(entry, {BackgroundTransparency = 0.2}, 0.5)
- createTween(entry:FindFirstChildOfClass("UIStroke"), {Transparency = 0}, 0.5)
- createTween(animName, {TextTransparency = 0}, 0.5)
- createTween(idLabel, {TextTransparency = 0.2}, 0.5)
- createTween(copyButton, {BackgroundTransparency = 0.7, TextTransparency = 0}, 0.5)
- createTween(copyButton:FindFirstChildOfClass("UIStroke"), {Transparency = 0}, 0.5)
- local function addHover(button)
- button.MouseEnter:Connect(function()
- createTween(button, {BackgroundColor3 = THEME.ACCENT_HOVER, BackgroundTransparency = 0.7, TextColor3 = Color3.fromRGB(255, 255, 255)})
- createTween(button:FindFirstChildOfClass("UIStroke"), {Transparency = 0.7}, 0.2)
- end)
- button.MouseLeave:Connect(function()
- createTween(button, {BackgroundColor3 = THEME.SECONDARY, BackgroundTransparency = 0.9, TextColor3 = THEME.ACCENT})
- createTween(button:FindFirstChildOfClass("UIStroke"), {Transparency = 0}, 0.2)
- end)
- end
- addHover(copyButton)
- copyButton.MouseButton1Click:Connect(function()
- setclipboard(animId:match("%d+"))
- createTween(copyButton, {BackgroundColor3 = THEME.SUCCESS, TextColor3 = Color3.fromRGB(255, 255, 255)})
- createTween(copyButton:FindFirstChildOfClass("UIStroke"), {Transparency = 0.7}, 0.2)
- task.wait(0.7)
- createTween(copyButton, {BackgroundColor3 = THEME.SECONDARY, BackgroundTransparency = 0.9, TextColor3 = THEME.ACCENT})
- createTween(copyButton:FindFirstChildOfClass("UIStroke"), {Transparency = 0}, 0.2)
- end)
- scrollFrame.CanvasSize = UDim2.new(0, 0, 0, listLayout.AbsoluteContentSize.Y)
- end
- local function hookCharacter(char)
- local humanoid = char:WaitForChild("Humanoid")
- local animator = humanoid:WaitForChild("Animator")
- animator.AnimationPlayed:Connect(createLogEntry)
- end
- local player = Players.LocalPlayer
- if player.Character then hookCharacter(player.Character) end
- player.CharacterAdded:Connect(hookCharacter)
- local dragging, dragStart, startPos, dragInput
- titleBar.InputBegan:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseButton1 or
- input.UserInputType == Enum.UserInputType.Touch then
- dragging = true
- dragStart = input.Position
- startPos = frame.Position
- input.Changed:Connect(function()
- if input.UserInputState == Enum.UserInputState.End then
- dragging = false
- end
- end)
- end
- end)
- UserInputService.InputChanged:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseMovement or
- input.UserInputType == Enum.UserInputType.Touch then
- dragInput = input
- end
- end)
- RunService.RenderStepped:Connect(function()
- if dragging and dragInput then
- local delta = dragInput.Position - dragStart
- createTween(frame, {
- Position = UDim2.new(
- startPos.X.Scale,
- startPos.X.Offset + delta.X,
- startPos.Y.Scale,
- startPos.Y.Offset + delta.Y
- )
- }, 0.1, Enum.EasingStyle.Sine)
- end
- end)
- local function addHover(button)
- button.MouseEnter:Connect(function()
- createTween(button, {BackgroundColor3 = THEME.ACCENT_HOVER, BackgroundTransparency = 0.7, TextColor3 = Color3.fromRGB(255, 255, 255)})
- createTween(button:FindFirstChildOfClass("UIStroke"), {Transparency = 0.7}, 0.2)
- end)
- button.MouseLeave:Connect(function()
- createTween(button, {BackgroundColor3 = THEME.SECONDARY, BackgroundTransparency = 0.9, TextColor3 = THEME.ACCENT})
- createTween(button:FindFirstChildOfClass("UIStroke"), {Transparency = 0}, 0.2)
- end)
- end
- addHover(clearButton)
- addHover(closeButton)
- clearButton.MouseButton1Click:Connect(function()
- for _, child in ipairs(scrollFrame:GetChildren()) do
- if child:IsA("Frame") then
- createTween(child, {BackgroundTransparency = 1, Position = UDim2.new(1, 0, child.Position.Y.Scale, child.Position.Y.Offset)}, 0.3)
- createTween(child:FindFirstChildOfClass("UIStroke"), {Transparency = 1}, 0.3)
- for _, element in ipairs(child:GetChildren()) do
- if element:IsA("TextLabel") then
- createTween(element, {TextTransparency = 1}, 0.3)
- elseif element:IsA("TextButton") and element.Name == "Copy" then
- createTween(element, {TextTransparency = 1, BackgroundTransparency = 1}, 0.3)
- createTween(element:FindFirstChildOfClass("UIStroke"), {Transparency = 1}, 0.3)
- end
- end
- task.delay(0.3, function()
- if child and child.Parent then
- child:Destroy()
- end
- end)
- end
- end
- loggedAnimations = {}
- end)
- closeButton.MouseButton1Click:Connect(function()
- createTween(frame, {BackgroundTransparency = 1}, 0.5)
- createTween(frame:FindFirstChildOfClass("UIStroke"), {Transparency = 1}, 0.5)
- createTween(title, {TextTransparency = 1}, 0.5)
- createTween(clearButton, {BackgroundTransparency = 1, TextTransparency = 1}, 0.5)
- createTween(clearButton:FindFirstChildOfClass("UIStroke"), {Transparency = 1}, 0.5)
- createTween(closeButton, {BackgroundTransparency = 1, TextTransparency = 1}, 0.5)
- createTween(closeButton:FindFirstChildOfClass("UIStroke"), {Transparency = 1}, 0.5)
- for _, child in ipairs(scrollFrame:GetChildren()) do
- if child:IsA("Frame") then
- createTween(child, {BackgroundTransparency = 1}, 0.5)
- createTween(child:FindFirstChildOfClass("UIStroke"), {Transparency = 1}, 0.5)
- for _, element in ipairs(child:GetChildren()) do
- if element:IsA("TextLabel") then
- createTween(element, {TextTransparency = 1}, 0.5)
- elseif element:IsA("TextButton") and element.Name == "Copy" then
- createTween(element, {TextTransparency = 1, BackgroundTransparency = 1}, 0.5)
- createTween(element:FindFirstChildOfClass("UIStroke"), {Transparency = 1}, 0.5)
- end
- end
- end
- end
- task.wait(0.5)
- gui:Destroy()
- end)
- createTween(frame, {BackgroundTransparency = 0.2}, 0.5)
- createTween(frame:FindFirstChildOfClass("UIStroke"), {Transparency = 0}, 0.5)
- createTween(title, {TextTransparency = 0}, 0.5)
- createTween(clearButton, {BackgroundTransparency = 0.9, TextTransparency = 0}, 0.5)
- createTween(clearButton:FindFirstChildOfClass("UIStroke"), {Transparency = 0}, 0.5)
- createTween(closeButton, {BackgroundTransparency = 0.9, TextTransparency = 0}, 0.5)
- createTween(closeButton:FindFirstChildOfClass("UIStroke"), {Transparency = 0}, 0.5)
Advertisement
Add Comment
Please, Sign In to add comment