get paid to paste

FE Animation GUI

save = nil
c3 = function(r,g,b) return Color3.new(r/255,g/255,b/255) end
 
--do something ro get save file
 
if not save then
    save = {
        ui = {
            highlightcolor = c3(33, 122, 255);
            errorcolor = c3(255, 0, 0);
            --AnimationPriority colors
            core = c3(65, 65, 65);
            idle = c3(134, 200, 230);
            movement = c3(114, 230, 121);
            action = c3(235, 235, 235);
        };
        preferences = {
            
        };
        custom_animations = {
            template = {
                Title = "";
                AnimationId = "rbxassetid://";
                Image = "rbxassetid://2151539455"; --not required
                Speed = 1;
                Time = 0;
                Weight = 1;
                Loop = false;
                R6 = true;
                Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
            };
        };
    }
end
 
lp = game:GetService("Players").LocalPlayer
m = lp:GetMouse()
 
function getHumanoid()
    if not lp.Character then return nil end
    return lp.Character:FindFirstChildWhichIsA("Humanoid")
end
 
screengui = game:GetObjects("rbxassetid://02159099015")[1]
screengui.Parent = game:GetService("CoreGui")
main = screengui.Topbar.Main
 
mainframe = main.MainFrame
scrollframe = mainframe.ScrollingFrame
items = scrollframe.Items
search = scrollframe.SearchFrame.Search
searchbutton = scrollframe.SearchFrame.ImageLabel.TextButton
searchframe = scrollframe.SearchFrame
 
preview = main.Preview
previewimage = preview.Image
previewtitle = preview.Title
previewdesc = preview.Desc
 
function draggable(gObj)
    local UserInputService = game:GetService("UserInputService")
 
    local gui = gObj
    
    local dragging
    local dragInput
    local dragStart
    local startPos
    
    local function update(input)
        local delta = input.Position - dragStart
        gui.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
    end
    
    gui.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            dragStart = input.Position
            startPos = gui.Position
            
            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then
                    dragging = false
                end
            end)
        end
    end)
    
    gui.InputChanged:Connect(function(input)
        if 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 then
            update(input)
        end
    end)
end
function tween(object,style,direction,t,goal)
    local tweenservice = game:GetService("TweenService")
    local tweenInfo = TweenInfo.new(t,Enum.EasingStyle[style],Enum.EasingDirection[direction])
    local tween = tweenservice:Create(object,tweenInfo,goal)
    tween:Play()
    return tween
end
 
draggable(screengui.Topbar)
 
function checkIfStudio()
    return game.Name ~= "Game"
end
 
if not checkIfStudio() then
    print'Client is not in Roblox studio'
    --main.Size = UDim2.new(0.398, 0, 0.477, 0)
end
 
search.Changed:connect(function(p)
    local n = 0
    for i,v in pairs (items:GetChildren()) do
        if v:IsA("TextButton") and not string.find(v.Title.Text:lower(), search.Text:lower()) then
            v.Visible = false
        elseif v:IsA("TextButton") and string.find(v.Title.Text:lower(), search.Text:lower()) then
            v.Visible = true
            n = n + 1
        end
    end
    if p == "Text" then
        if n > 0 then
            tween(searchframe, "Sine", "Out", 0.25, {
                BorderColor3 = save.ui.highlightcolor;
            })
            wait(0.25)
            tween(searchframe, "Sine", "In", 0.5, {
                BorderColor3 = c3(58, 58, 58);
            })
        else
            tween(searchframe, "Sine", "Out", 0.25, {
                BorderColor3 = save.ui.errorcolor;
            })
            wait(0.25)
            tween(searchframe, "Sine", "In", 0.5, {
                BorderColor3 = c3(58, 58, 58);
            })
        end
    end
end)
 
spawn(function()
    while wait(10) do
        --auto-save every 10 seconds
    end
end)
 
cam = workspace.CurrentCamera
 
running = {}
popAnims = {
    armturbine = {
        Title = "Arm Turbine";
        AnimationId = "rbxassetid://259438880";
        Speed = 1.5;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    weirdsway = {
        Title = "Weird Sway";
        AnimationId = "rbxassetid://248336677";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    weirdfloat = {
        Title = "Weird Float";
        AnimationId = "rbxassetid://248336459";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    weirdpose = {
        Title = "Weird Pose";
        AnimationId = "rbxassetid://248336163";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    penguinslide = {
        Title = "Penguin Slide";
        AnimationId = "rbxassetid://282574440";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    scream = {
        Title = "Scream";
        AnimationId = "rbxassetid://180611870";
        Speed = 1.5;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    crouch = {
        Title = "Crouch";
        AnimationId = "rbxassetid://182724289";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    happydance = {
        Title = "Happy Dance";
        AnimationId = "rbxassetid://248335946";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    floatinghead = {
        Title = "Floating Head";
        AnimationId = "rbxassetid://121572214";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    balloonfloat = {
        Title = "Balloon Float";
        AnimationId = "rbxassetid://148840371";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    pinchnose = {
        Title = "Pinch Nose";
        AnimationId = "rbxassetid://30235165";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    goal = {
        Title = "Goal!";
        AnimationId = "rbxassetid://28488254";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    cry = {
        Title = "Cry";
        AnimationId = "rbxassetid://180612465";
        Speed = 0;
        Time = 1.5;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    partytime = {
        Title = "Party Time";
        AnimationId = "rbxassetid://33796059";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    moondance = {
        Title = "Moon Dance";
        AnimationId = "rbxassetid://27789359";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    insanelegs = {
        Title = "Insane Legs";
        AnimationId = "rbxassetid://87986341";
        Speed = 99;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    rotation = {
        Title = "Rotation";
        AnimationId = "rbxassetid://136801964";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    insanerotation = {
        Title = "Insane Rotation";
        AnimationId = "rbxassetid://136801964";
        Speed = 99;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    roar = {
        Title = "Roar";
        AnimationId = "rbxassetid://163209885";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    spin = {
        Title = "Spin";
        AnimationId = "rbxassetid://188632011";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    zombiearms = {
        Title = "Zombie Arms";
        AnimationId = "rbxassetid://183294396";
        Speed = 0;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    insane = {
        Title = "Insane";
        AnimationId = "rbxassetid://33796059";
        Speed = 99;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    neckbreak = {
        Title = "Neck Break";
        AnimationId = "rbxassetid://35154961";
        Speed = 0;
        Time = 2;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    headdetach = {
        Title = "Head Detach";
        AnimationId = "rbxassetid://35154961";
        Speed = 0;
        Time = 3;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    idle = {
        Title = "Idle";
        AnimationId = "rbxassetid://180435571";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
    charleston = {
        Title = "Charleston";
        AnimationId = "rbxassetid://429703734";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
}
robloxOwns = {}
 
ownerOwns = {}
 
customAnims = {}
 
function getOwnedAnimations(userid)
    local httpserv = game:GetService("HttpService")
    local owned = httpserv:GetAsync("https://inventory.roblox.com/v1/users/"..userid.."/inventory/Animation?pageNumber=1&itemsPerPage=10", true)
    return owned
end
 
 
function getAnim(name)
    return popAnims[name] or customAnims[name]
end
function runAnim(info, humanoid)
    local animation = Instance.new("Animation")
    animation.AnimationId = info.AnimationId
    
    local animtrack = humanoid:LoadAnimation(animation)
    table.insert(running,animtrack)
    animtrack.Priority = info.Priority
    animtrack.Looped = info.Loop
    
    animtrack:Play()
    animtrack:AdjustSpeed(info.Speed)
    animtrack:AdjustWeight(info.Weight)
    animtrack.TimePosition = info.Time
    
    animtrack.Stopped:connect(function()
        for i = 1,#running do
            if running[i] == animtrack then
                table.remove(running,i)
            end
        end
    end)
    
    return animtrack
end
 
template = items.Template
template.Parent = nil
 
function clear()
    for i,v in pairs (items:GetChildren()) do
        if v:IsA("TextButton") then
            v:Destroy()
        end
    end
end
 
--[[
    idle = {
        Title = "Idle";
        AnimationId = "rbxassetid://180435571";
        Speed = 1;
        Time = 0;
        Weight = 1;
        Loop = true;
        R6 = true;
        Priority = 2; --0, 1, 2, and 1000 are acceptable priorities
    };
--]]
 
function createbutton(v)
    local temp = template:Clone()
    temp.Parent = items
    temp.Name = v.Title
    temp.Title.Text = v.Title
    temp.Image.Image = v.Image or "rbxassetid://2151539455"
    if temp.Image.Image == "rbxassetid://2151539455" then
        temp.Image.ImageColor3 = (v.Priority == 0 and save.ui.idle) or (v.Priority == 1 and save.ui.movement) or (v.Priority == 2 and save.ui.action) or (v.Priority == 1000 and save.ui.core)
    else
        temp.Image.ImageColor3 = Color3.new(1,1,1)
    end
    temp.LayoutOrder = math.random(1,10000)
    
    temp.Settings.AnimationId.Value = v.AnimationId
    temp.Settings.Loop.Value = v.Loop
    temp.Settings.Priority.Value = v.Priority
    temp.Settings.R6.Value = v.R6
    temp.Settings.Speed.Value = v.Speed
    temp.Settings.Weight.Value = v.Weight
    temp.Settings.Time.Value = v.Time
    
    temp.MouseEnter:connect(function()
        preview.Title.Text = v.Title
        preview.Desc.Text = "Speed: "..tostring(v.Speed).."\nPriority: "..tostring(v.Priority).."\nR6 Rig: "..tostring(v.R6).."\nAnimID: "..tostring(v.AnimationId).."\n\n"..(v.Description or "No description provided")
        
        preview.Image.Image = v.Image or "rbxassetid://2151539455"
        if preview.Image.Image == "rbxassetid://2151539455" then
            preview.Image.ImageColor3 = (v.Priority == 0 and save.ui.idle) or (v.Priority == 1 and save.ui.movement) or (v.Priority == 2 and save.ui.action) or (v.Priority == 1000 and save.ui.core)
        else
            preview.Image.ImageColor3 = Color3.new(1,1,1)
        end
    end)
    temp.MouseButton1Click:connect(function()
        temp.Border.ImageColor3 = save.ui.highlightcolor
        for i,anim in pairs (running) do
            if anim.Animation.AnimationId == v.AnimationId then
                anim:Stop()
                return
            end
        end
        temp.Border.Visible = true
        local rAnim = runAnim(v, getHumanoid())
        rAnim.Stopped:connect(function()
            temp.Border.Visible = false
        end)
    end)
    
    return temp
end
 
dropdown = mainframe.ScrollingFrame.DropdownFrame
elements = dropdown.HoldContentsFrame.Frame.Elements
dropdownenabled = true
 
tween(dropdown.HoldContentsFrame.Frame, "Linear", "In", 0, {
    Position = UDim2.new(0,0,-1,0)
})
dropdown.HoldContentsFrame.Frame.Visible = false
 
dropdowndeactivate = screengui.DropdownDeactivate
dropdowndeactivate.Visible = false
 
function hideddown()
    tween(dropdown.HoldContentsFrame.Frame, "Linear", "In", 0, {
        Position = UDim2.new(0,0,-1,0)
    })
    dropdown.HoldContentsFrame.Frame.Visible = false
    dropdowndeactivate.Visible = false
    dropdownenabled = true
    
    for i,e in pairs (elements:GetChildren()) do
        if e:IsA("TextButton") then
            e.BackgroundColor3 = c3(46,46,46)
        end
    end
end
 
dropdown.MouseButton1Click:connect(function()
    print'ddownclick'
    dropdownenabled = not dropdownenabled
    if dropdownenabled then
        hideddown()
    else
        tween(dropdown.HoldContentsFrame.Frame, "Linear", "In", 0.3, {
            Position = UDim2.new(0,0,0,0)
        })
        dropdown.HoldContentsFrame.Frame.Visible = true
        dropdowndeactivate.Visible = true
    end
end)
 
dropdowndeactivate.MouseButton1Down:connect(function()
    hideddown()
end)
 
for i,v in pairs (elements:GetChildren()) do
    if v:IsA("TextButton") then
        v.MouseEnter:connect(function()
            for i,e in pairs (elements:GetChildren()) do
                if e:IsA("TextButton") then
                    e.BackgroundColor3 = c3(46,46,46)
                end
            end
            v.BackgroundColor3 = save.ui.highlightcolor
        end)
        v.MouseButton1Click:connect(function()
            hideddown()
            dropdown.TextLabel.Text = v.Name
            sort(v.Name)
        end)
    end
end
 
function sort(category)
    clear()
    if category == "Popular" then
        for i,v in pairs (popAnims) do
            local temp = createbutton(v)
        end
    elseif category == "By Roblox" then
        
    end
end
 
game:GetService('RunService').RenderStepped:connect(function()
    items.Parent.CanvasSize = UDim2.new(0,0,0,items.GridLayout.AbsoluteContentSize.Y + 50)
end)
 
sort("Popular")

Pasted: Mar 16, 2022, 12:19:26 am
Views: 3,834