0% found this document useful (0 votes)
338 views

R6 Animation Script

Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
338 views

R6 Animation Script

Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 9

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,"SimulationRadi
us",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.R
otation.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").CameraSubje
ct = 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)

You might also like