Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement