message(1)
message(1)
};
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 dragging
local dragInput
local dragStart
local startPos
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
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")
return temp
end
dropdown = mainframe.ScrollingFrame.DropdownFrame
elements = dropdown.HoldContentsFrame.Frame.Elements
dropdownenabled = true
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
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)
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")