R6 animation script
Key RequiredUniversal

R6 animation script

Universal Scriptscreamdak1ingscreamdak1ing 138.8K views 5.4K executesUpdated Jan 26, 2022
3.1/ 5(8 votes)
5363% Positive
Lua Script•459 lines (13376 chars)
local animid;
animid="rbxassetid://ID GOES HERE"

HumanDied = false
local CountSCIFIMOVIELOL = 1
function SCIFIMOVIELOL(Part0,Part1,Position,Angle)
local AlignPos = Instance.new('AlignPosition', Part1); AlignPos.Name = "AliP_"..CountSCIFIMOVIELOL
AlignPos.ApplyAtCenterOfMass = true;
AlignPos.MaxForce = 5772000--67752;
AlignPos.MaxVelocity = math.huge/9e110;
AlignPos.ReactionForceEnabled = false;
AlignPos.Responsiveness = 200;
AlignPos.RigidityEnabled = false;
local AlignOri = Instance.new('AlignOrientation', Part1); AlignOri.Name = "AliO_"..CountSCIFIMOVIELOL
AlignOri.MaxAngularVelocity = math.huge/9e110;
AlignOri.MaxTorque = 5772000
AlignOri.PrimaryAxisOnly = false;
AlignOri.ReactionTorqueEnabled = false;
AlignOri.Responsiveness = 200;
AlignOri.RigidityEnabled = false;
local AttachmentA=Instance.new('Attachment',Part1); AttachmentA.Name = "Ath_"..CountSCIFIMOVIELOL
local AttachmentB=Instance.new('Attachment',Part0); AttachmentB.Name = "Ath_"..CountSCIFIMOVIELOL
AttachmentA.Orientation = Angle or Vector3.new(0,0,0)
AttachmentA.Position = Position or Vector3.new(0,0,0)
AlignPos.Attachment1 = AttachmentA;
AlignPos.Attachment0 = AttachmentB;
AlignOri.Attachment1 = AttachmentA;
AlignOri.Attachment0 = AttachmentB;
CountSCIFIMOVIELOL = CountSCIFIMOVIELOL + 1
return {AlignPos,AlignOri,AttachmentA,AttachmentB}
end

if _G.netted ~= true then
_G.netted = true
coroutine.wrap(function()
settings().Physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Disabled
settings().Physics.AllowSleep = false
game:GetService("RunService").RenderStepped:Connect(function()
game:FindFirstChildOfClass("Players").LocalPlayer.MaximumSimulationRadius=math.pow(math.huge,math.huge)
sethiddenproperty(game:FindFirstChildOfClass("Players").LocalPlayer,"SimulationRadius",math.huge*math.huge)
end)
end)()
end

game:FindFirstChildOfClass("Players").LocalPlayer["Character"].Archivable = true
local hatnameclone = {}
for _,v in next, game:FindFirstChildOfClass("Players").LocalPlayer["Character"]:GetChildren() do
if v:IsA("Accessory") then
if hatnameclone[v.Name] then
if hatnameclone[v.Name] == "s" then
hatnameclone[v.Name] = {}
end
table.insert(hatnameclone[v.Name],v)
else
hatnameclone[v.Name] = "s"
end
end
end
for _,v in pairs(hatnameclone) do
if type(v) == "table" then
local num = 1
for _,w in pairs(v) do
w.Name = w.Name..num
num = num + 1
end
end
end
hatnameclone = nil

local DeadChar = game:FindFirstChildOfClass("Players").LocalPlayer.Character

local fldr = Instance.new("Folder",game:FindFirstChildOfClass("Players").LocalPlayer["Character"])
fldr.Name = "DMYF"
local CloneChar = DeadChar:Clone()
local ANIMATIONHERE
if CloneChar:FindFirstChild("Animate") then
ANIMATIONHERE = CloneChar:FindFirstChild("Animate"):Clone()
CloneChar:FindFirstChild("Animate"):Destroy()
end
if CloneChar:FindFirstChildOfClass("Folder") then CloneChar:FindFirstChildOfClass("Folder"):Destroy() end
if CloneChar.Torso:FindFirstChild("Neck") then
local Clonessss = CloneChar.Torso:FindFirstChild("Neck"):Clone()
Clonessss.Part0 = nil
Clonessss.Part1 = DeadChar.Head
Clonessss.Parent = DeadChar.Torso
end
CloneChar.Parent = fldr
CloneChar.HumanoidRootPart.CFrame = DeadChar.HumanoidRootPart.CFrame
CloneChar.Humanoid.BreakJointsOnDeath = false
CloneChar.Name = "non"
CloneChar.Humanoid.DisplayDistanceType = "None"

for _,v in next, DeadChar:GetChildren() do
if v:IsA("Accessory") then
local topacc = false
if v.Handle:FindFirstChildOfClass("Weld") then v.Handle:FindFirstChildOfClass("Weld"):Destroy() end
v.Handle.Massless = true
v.Handle.CanCollide = false
if v.Handle:FindFirstChildOfClass("Attachment") then
local ath__ = v.Handle:FindFirstChildOfClass("Attachment")
if ath__.Name == "HatAttachment" or ath__.Name == "HairAttachment" or ath__.Name == "FaceFrontAttachment" or ath__.Name == "FaceCenterAttachment" then
topacc = ath__.Name
end
end
       local bv = Instance.new("BodyVelocity",v.Handle)
bv.Velocity = Vector3.new(0,0,0)
coroutine.wrap(function()
if topacc then
local allthings = SCIFIMOVIELOL(v.Handle,DeadChar.Torso,Vector3.new(0,1.5,0)+ (DeadChar.Head[topacc].Position + (v.Handle[topacc].Position*-1)),Vector3.new(0,0,0))
local normaltop = allthings[1].Attachment1
local alipos = allthings[1]
local alirot = allthings[2]
local p0 = v.Handle
local p1 = DeadChar.Head
alipos.Parent = CloneChar:FindFirstChild(v.Name).Handle
alirot.Parent = CloneChar:FindFirstChild(v.Name).Handle
while true do
game:GetService("RunService").RenderStepped:wait()
if HumanDied then break end
coroutine.wrap(function()
if alipos.Attachment1 == normaltop then
p0.CFrame = p0.CFrame:lerp((((DeadChar.Torso.CFrame * CFrame.new(0,1.5,0)) * p1[topacc].CFrame) * p0[topacc].CFrame:inverse()),1)
else
v.Handle.CFrame = v.Handle.CFrame:lerp(alipos.Attachment1.Parent.CFrame * CFrame.new(alipos.Attachment1.Position) * CFrame.Angles(math.rad(alipos.Attachment1.Rotation.X),math.rad(alipos.Attachment1.Rotation.Y),math.rad(alipos.Attachment1.Rotation.Z)),1)
end
end)()
end
else
SCIFIMOVIELOL(v.Handle,CloneChar[v.Name].Handle,Vector3.new(0,0,0),Vector3.new(0,0,0))
end
end)()
   end
end

local a = DeadChar.Torso
local b = DeadChar.HumanoidRootPart
local c = DeadChar.Humanoid
a.Parent = game:FindFirstChildOfClass("Workspace")
c.Parent = game:FindFirstChildOfClass("Workspace")
local told = a:Clone()
local told1 = c:Clone()
b["RootJoint"].Part0 = told
b["RootJoint"].Part1 = DeadChar.Head
a.Name = "torso"
a.Neck:Destroy()
c.Name = "Cloned Avatar"
told.Parent = DeadChar
told1.Parent = DeadChar
DeadChar.PrimaryPart = told
told1.Health = 0
b:Destroy()
a.Parent = DeadChar
c.Parent = DeadChar
told:Destroy()
told1:Destroy()
a.Name = "Torso"

if CloneChar.Head:FindFirstChildOfClass("Decal") then CloneChar.Head:FindFirstChildOfClass("Decal").Transparency = 1 end
if DeadChar:FindFirstChild("Animate") then DeadChar:FindFirstChild("Animate"):Destroy() end

local Collider
function UnCollide()
   if HumanDied then Collider:Disconnect(); return end
   --[[for _,Parts in next, CloneChar:GetChildren() do
       if Parts:IsA("BasePart") then
           Parts.CanCollide = false
       end
   end]]
   for _,Parts in next, DeadChar:GetChildren() do
       if Parts:IsA("BasePart") then
       Parts.CanCollide = false
       end
   end
end
Collider = game:GetService("RunService").Stepped:Connect(UnCollide)

local resetBindable = Instance.new("BindableEvent")
resetBindable.Event:connect(function()
   game:GetService("StarterGui"):SetCore("ResetButtonCallback", true)
resetBindable:Destroy()
HumanDied = true
   pcall(function()
game:FindFirstChildOfClass("Players").LocalPlayer.Character = DeadChar
DeadChar.Head:Destroy()
DeadChar:FindFirstChildOfClass("Humanoid"):Destroy()
game:FindFirstChildOfClass("Players").LocalPlayer.Character = CloneChar
if DeadChar:FindFirstChildOfClass("Folder") then DeadChar:FindFirstChildOfClass("Folder"):Destroy() end
end)
end)
game:GetService("StarterGui"):SetCore("ResetButtonCallback", resetBindable)

coroutine.wrap(function()
   while true do
       game:GetService("RunService").RenderStepped:wait()
       if not CloneChar or not CloneChar:FindFirstChild("Head") or not CloneChar:FindFirstChildOfClass("Humanoid") or CloneChar:FindFirstChildOfClass("Humanoid").Health <= 0 and not DeadChar or not DeadChar:FindFirstChild("Head") or not DeadChar:FindFirstChildOfClass("Humanoid") or DeadChar:FindFirstChildOfClass("Humanoid").Health <= 0 then
           HumanDied = true
           pcall(function()
game:FindFirstChildOfClass("Players").LocalPlayer.Character = DeadChar
DeadChar.Head:Destroy()
DeadChar:FindFirstChildOfClass("Humanoid"):Destroy()
game:FindFirstChildOfClass("Players").LocalPlayer.Character = CloneChar
if DeadChar:FindFirstChildOfClass("Folder") then DeadChar:FindFirstChildOfClass("Folder"):Destroy() end
end)
           if resetBindable then
               game:GetService("StarterGui"):SetCore("ResetButtonCallback", true)
               resetBindable:Destroy()
           end
           break
       end
   end
end)()


SCIFIMOVIELOL(DeadChar["Head"],CloneChar["Head"])
SCIFIMOVIELOL(DeadChar["Torso"],CloneChar["Torso"])
SCIFIMOVIELOL(DeadChar["Left Arm"],CloneChar["Left Arm"])
SCIFIMOVIELOL(DeadChar["Right Arm"],CloneChar["Right Arm"])
SCIFIMOVIELOL(DeadChar["Left Leg"],CloneChar["Left Leg"])
SCIFIMOVIELOL(DeadChar["Right Leg"],CloneChar["Right Leg"])

for _,v in pairs(DeadChar:GetChildren()) do
if v:IsA("BasePart") and v.Name ~= "Head" then
--[[local bv = Instance.new("BodyVelocity",v)
bv.Velocity = Vector3.new(0,0,0)
coroutine.wrap(function()
while true do
game:GetService("RunService").RenderStepped:wait()
if HumanDied then break end
v.CFrame = CloneChar[v.Name].CFrame
end
end)()]]
elseif v:IsA("BasePart") and v.Name == "Head" then
local bv = Instance.new("BodyVelocity",v)
bv.Velocity = Vector3.new(0,0,0)
coroutine.wrap(function()
while true do
game:GetService("RunService").RenderStepped:wait()
if HumanDied then break end
v.CFrame = DeadChar.Torso.CFrame * CFrame.new(0,1.5,0)
end
end)()
end
end

for _,BodyParts in next, CloneChar:GetDescendants() do
if BodyParts:IsA("BasePart") or BodyParts:IsA("Part") then
BodyParts.Transparency = 1 end end
game:GetService("RunService").RenderStepped:wait()
game:FindFirstChildOfClass("Players").LocalPlayer.Character = CloneChar
game:FindFirstChildOfClass("Workspace"):FindFirstChildOfClass("Camera").CameraSubject = CloneChar.Humanoid

for _,v in next, DeadChar:GetChildren() do
if v:IsA("Accessory") then
if v.Handle:FindFirstChildOfClass("Weld") then v.Handle:FindFirstChildOfClass("Weld"):Destroy() end
end
end

if ANIMATIONHERE then ANIMATIONHERE.Parent = CloneChar end



local playing = false
local rtrnv;
local c;
local tbl3;
local v;
local anim;
local count;
local hhhh;
local asdf;
local s;
local plr;
local char;
local cframe;
local torso;
local rs;
local ls;
local rh;
local lh;
local n;
local rj;
local rsc0;
local lsc0;
local rhc0;
local lhc0;
local rjc0;
local nc0;
local gc0;
local orsc0;
local olsc0;
local orhc0;
local olhc0;
local orjc0;
local onc0;
local count2;
local maxcount2;

local function getnext(tbl,number)
c=100
rtrnv=0
for i,v in pairs(tbl) do
if i>number and i-number<c then
c=i-number
rtrnv=i
end
end
return(rtrnv)
end
local function wait2(tim)
if tim<0.1 then
game:GetService("RunService").Heartbeat:Wait()
else
for i=1,tim*40 do
game:GetService("RunService").Heartbeat:Wait()
end
end
end
local function kftotbl(kf) -- Below this is PAIN
tbl3 = {}
for i,v in pairs(kf:GetDescendants()) do
if v:IsA("Pose") then
tbl3[string.sub(v.Name,1,1)..string.sub(v.Name,#v.Name,#v.Name)] = v.CFrame
end
end
return(tbl3)
end
       
       if playanother == true then
playanother = false
end
playing = true
wait(.1) -- Do not change because changing it will break.
plr = game.Players.LocalPlayer
char = game:GetService("Players").LocalPlayer.Character
if _G.permadeath == true then
char = workspace.non
end
cframe = char.HumanoidRootPart.CFrame
torso = char.Torso
-----------------------------------------------------------
rs = torso["Right Shoulder"] -- Just took this from another script(Faster).
ls = torso["Left Shoulder"]
rh = torso["Right Hip"]
lh = torso["Left Hip"]
n = torso["Neck"]
rj = char.HumanoidRootPart["RootJoint"]
rsc0 = rs.C0
lsc0 = ls.C0
rhc0 = rh.C0
lhc0 = lh.C0
rjc0 = rj.C0
nc0 = n.C0
gc0 = CFrame.new()
orsc0 = rs.C0
olsc0 = ls.C0
orhc0 = rh.C0
olhc0 = lh.C0
orjc0 = rj.C0
onc0 = n.C0
count2 = 100
maxcount2=100
-----------------------------------------------------------
game:GetService("RunService").Heartbeat:Connect(function() -- Speed.
if playanother == true then
return nil
else
count2 = count2+1
if count2<=maxcount2 then
rs.Transform=rs.Transform:Lerp(rsc0,count2/maxcount2)
ls.Transform=ls.Transform:Lerp(lsc0,count2/maxcount2)
rh.Transform=rh.Transform:Lerp(rhc0,count2/maxcount2)
lh.Transform=lh.Transform:Lerp(lhc0,count2/maxcount2)
n.Transform=n.Transform:Lerp(nc0,count2/maxcount2)
rj.Transform=rj.Transform:Lerp(rjc0,count2/maxcount2)
end
end
end)
-----------------------------------------------------------
animid=game:GetObjects(animid)[1]
anim={}
for i,v in pairs(animid:GetChildren()) do
if v:IsA("Keyframe") then
anim[v.Time]=kftotbl(v)
end
end

count = 0
char=game:GetService("Players").LocalPlayer.Character
if _G.permadeath == true then
char = workspace.non
end
if _G.permadeath == false then
hhhh=char.Humanoid.Animator
hhhh.Parent = nil
end
hhhh=char.Humanoid.Animator
hhhh.Parent = nil
for _,v in pairs(char.Humanoid:GetPlayingAnimationTracks()) do
v:Stop()
end

plr.CharacterRemoving:Connect(function()
if playing == true then
playing = false
end
end)

while wait() do
if playanother == true then
break
else
for i,oasjdadlasdkadkldjkl in pairs(anim) do
asdf=getnext(anim,count)
v=anim[asdf]
if v["Lg"] then
lhc0 = v["Lg"]
end
if v["Rg"] then
rhc0 = v["Rg"]
end
if v["Lm"] then
lsc0 = v["Lm"]
end
if v["Rm"] then
rsc0 = v["Rm"]
end
if v["To"] then
rjc0 = v["To"]
end
if v["Hd"] then
nc0 = v["Hd"]
end
count2=0
maxcount2=asdf-count
count=asdf
wait(asdf-count)
count2=maxcount2
if v["Lg"] then
char.Torso["Left Hip"].Transform = v["Lg"]
end
if v["Rg"] then
char.Torso["Right Hip"].Transform = v["Rg"]
end
if v["Lm"] then
char.Torso["Left Shoulder"].Transform = v["Lm"]
end
if v["Rm"] then
char.Torso["Right Shoulder"].Transform = v["Rm"]
end
if v["To"] then
char.HumanoidRootPart["RootJoint"].Transform = v["To"]
end
if v["Hd"] then
char.Torso["Neck"].Transform = v["Hd"]
end
end
end
end
--end)

Features & Information

!! This is a R6 animation script, not made by me !! Credits belong to mizt for his reanimation / align pos function R6 showcase: https://i.imgur.com/IMIA46i.mp4 ID's you can use: R6 3381474830 | Billy Bounce 3262592866 | Orange Justice 4746273203 | Rat 3261753939 | BrodyQuest 4525385199 | Howard 3450125501 | Smug 3534855146 | Blender 3259216638 | Turk 3535053121 | Felix 3536215993 | CoWbOy 3273532175 | T-Pose 3564937614 | Joy 3414624197 | No Touchin' 3607744332 | Arm Shuffle 4785986705 | Robot 3623215692 | Boogie Down 3619935462 | Electro Shuffle 3643129020 | Crabby 3656900015 | Parrot 3675001079 | ScoutRobics 3690496479 | CaramellDansen 3696716156 | Revenge 3742184308 | Got That 4791471969 | Billie Jean 4792883833 | Billie Jean 4776745048 | Praise The Lord 3769807555 | Reckless 3882120151 | Karate Moves 3883926195 | Cybergoth 3942752090 | Bothered 3993946754 | Swift Hops 4049304710 | Spooky Month 4064050153 | Spite 4087012028 | Roach 4109162757 | Gang Torture 4239646681 | Alti 4256820336 | Comeback 4261643445 | Kanye 4300444948 | Knee Slapper 4369816373 | Heel click 4686555525 | Radical 4396327238 | Spook Shuffle 4408536995 | Carlton 3442913250 | Casey 4432024917 | Freestylin' 4474845845 | Ecstatic 4459292790 | RickRoll 4499527946 | Wess 4539565912 | Flippin, Smooth 4558409610 | Breakdown 4572096542 | Conga 4597363132 | Mario 4633952191 | Whip 4677930905 | Sniper 4677880377 | Spy 4679511279 | Scout 4678151003 | Pyro 4678225061 | Heavy 4677980227 | Engineer 4679640288 | Medic 4764153637 | Demoman 4787449997 | Soldier 4809145259 | Anthony 4820078879 | Electro Swing 4812941481 | Floss 4841015627 | Side Hustle 4300218011 | Dream Feet 4300228160 | Minecraft Parrot 4300223810 | Garry Dance 3485013176 | Shuffle 4827299133 | Take The L 4776588732 | Aerostep 4776734129 | Clean Groove 4776560183 | Penis Music 4846220052 | Thriller 4724894341 | Helicopter 4846000379 | Loud Laugh 4776598075 | Peter Parker 4776544655 | Kazotsky Kick 5806573931 | Carson Shearer 5011408603 | Rewind 4835795413 | Skibidi 3383725246 | Spasm 4900539662 | Smooth Moves 4699820365 | Thriller 2.0 4715102040 | Double Step 4699826237 | The Roll 4837748730 | Anthony Shuffle 4719919809 | Penis Music 2.0 4896926493 | Spongebob 4837749916 | Carlton 2 4791471969 | Billie Jean 4863897442 | Side Hustle 4837753372 | Praise The Lord 2.0 5025546871 | Boogie Down 2.0 4846209506 | Kazotsky Kick 2.0 4959380041 | Drip 4876471547 | Side Step 5009879973 | Running In Terror 5079952034 | Cruisin 3053543383 | Pogo 4776575115 | Default Dance 4784189222 | Sea Shanties 4831391731 | snoop 5238669868 | Goopie Dance 5754856263 | Infestation 5754164114 | Lose Control 5754318221 | Caramelldansen 5749601734 | Smug 7063945703 | Smooth Criminal 7005395156 | Kazotsky Kick 3448856633 | Kakyoin Dance

Community Comments (11)

altacc3mkayaltacc3mkayFeb 6, 2022(edited)

is it fe?

Replying to @altacc3mkay
skurb3rZploitskurb3rZploitDec 21, 2025

@altacc3mkay is fe

cazzycazzyFeb 9, 2022(edited)

nice script, even though it's not made by you, still thanks for uploading it.

screamdak1ingscreamdak1ingFeb 12, 2022(edited)

@cazzy, i'm doing reuploads for this community because some do not have access to scripts like these...

hinsonmlghinsonmlgMay 23, 2022(edited)

Is the script FE or nah?

yudaathar585yudaathar585Feb 23, 2025(edited)

this is nice

kowshikdas1112kowshikdas1112Feb 25, 2025(edited)

Do you need hats?

payyaphrmxinpayyaphrmxinMay 9, 2025

Animation❎ Ghost Mode✅

imaxana*imaxana*May 10, 2025

how to add this script to the game? please help me i'm a newbie

JohnMetaLgearJohnMetaLgearJan 25, 2026

doesn't work mate

FahadazghFahadazghFeb 19, 2026

Fuc* script is Ban me for 908913 day 🤬🤬🤬

More Scripts for Universal Scripts