Run it
Copy the script and paste it into your executor.
MODEL_ASSET_ID =
IDLE_KEYFRAMES_NAME =
WALK_KEYFRAMES_NAME =
RUN_KEYFRAMES_NAME =
SLASH_KEYFRAMES_NAME =
BEHEAD_KEYFRAMES_NAME =
GASHING_KEYFRAMES_NAME =
RAGINGPACE_START =
RAGING_IDLE =
RAGE_WALK =
RAGING_SWING =
KILL_KEYFRAMES_NAME =
GUESTKILL_KEYFRAMES_NAME =
RUN_SPEED =
BEHEAD_PUSH_DISTANCE =
RAGING_SPEED =
Players = :()
RunService = :()
player = Players.LocalPlayer
character = player.Character player.CharacterAdded:()
humanoid = character:()
rootPart = character:()
DEFAULT_WALK_SPEED = humanoid.WalkSpeed
_, track (humanoid:())
(()
track:()
track:()
)
animate = character:()
animate animate:()
animator = humanoid:()
animator animator:()
R6_MAPPING = {
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
}
motors = {}
_, m (character:())
m:()
motors[m.Name] = m
()
_, m (motors)
m
m.Transform = .identity
asset
ok, result = (()
:( .. MODEL_ASSET_ID)
)
ok result #result >
asset = result[]
()
idleSeq, walkSeq, runSeq
slashSeq, beheadSeq, gashingSeq
ragingPaceStartSeq, ragingIdleSeq, rageWalkSeq, ragingSwingSeq
killSeq, guestKillSeq
_, obj (asset:())
obj:()
obj.Name == IDLE_KEYFRAMES_NAME idleSeq = obj
obj.Name == WALK_KEYFRAMES_NAME walkSeq = obj
obj.Name == RUN_KEYFRAMES_NAME runSeq = obj
obj.Name == SLASH_KEYFRAMES_NAME slashSeq = obj
obj.Name == BEHEAD_KEYFRAMES_NAME beheadSeq = obj
obj.Name == GASHING_KEYFRAMES_NAME gashingSeq = obj
obj.Name == RAGINGPACE_START ragingPaceStartSeq = obj
obj.Name == RAGING_IDLE ragingIdleSeq = obj
obj.Name == RAGE_WALK rageWalkSeq = obj
obj.Name == RAGING_SWING ragingSwingSeq = obj
obj.Name == KILL_KEYFRAMES_NAME killSeq = obj
obj.Name == GUESTKILL_KEYFRAMES_NAME guestKillSeq = obj
idleSeq ( .. IDLE_KEYFRAMES_NAME .. )
walkSeq ( .. WALK_KEYFRAMES_NAME .. )
conn
currentSeq
()
conn
conn:()
conn =
()
currentSeq =
(seq, looped)
seq
currentSeq == seq
()
currentSeq = seq
keyframes = seq:()
#keyframes ==
.(keyframes, (a, b)
a.Time < b.Time
)
start = .()
length = keyframes[#keyframes].Time
conn = RunService.RenderStepped:(()
t = .() - start
i = #keyframes, , -
kf = keyframes[i]
t >= kf.Time
_, pose (kf:())
pose:()
motorName = R6_MAPPING[pose.Name]
motor = motors[motorName]
motor
motor.Transform = pose.CFrame
t >= length
looped
start = .()
()
)
runEnabled =
manualSeqPlaying =
normalIdleSeq = idleSeq
normalWalkSeq = walkSeq
activeIdleSeq = idleSeq
activeWalkSeq = walkSeq
isRaging =
RunService.RenderStepped:(()
manualSeqPlaying
moving = humanoid.MoveDirection.Magnitude >
moving
runEnabled runSeq
(runSeq, )
humanoid.WalkSpeed = RUN_SPEED
(activeWalkSeq, )
humanoid.WalkSpeed = (isRaging RAGING_SPEED DEFAULT_WALK_SPEED)
(activeIdleSeq, )
humanoid.WalkSpeed = (isRaging RAGING_SPEED DEFAULT_WALK_SPEED)
)
gui = .()
gui.Name =
gui.ResetOnSpawn =
gui.Parent = player:()
jumpBtn = player.PlayerGui:()
player.PlayerGui.MobileControlsFrame:()
positions = {}
jumpBtn
pos = jumpBtn.Position
positions[] = .(pos.X.Scale, pos.X.Offset - , pos.Y.Scale, pos.Y.Offset)
positions[] = .(pos.X.Scale, pos.X.Offset - , pos.Y.Scale, pos.Y.Offset)
positions[] = .(pos.X.Scale, pos.X.Offset - , pos.Y.Scale, pos.Y.Offset)
positions[] = .(pos.X.Scale, pos.X.Offset - , pos.Y.Scale, pos.Y.Offset)
positions[] = .(pos.X.Scale, pos.X.Offset - , pos.Y.Scale, pos.Y.Offset)
positions[] = .(pos.X.Scale, pos.X.Offset - , pos.Y.Scale, pos.Y.Offset)
positions[] = .(pos.X.Scale, pos.X.Offset - , pos.Y.Scale, pos.Y.Offset)
positions[] = .(, , , )
positions[] = .(, , , )
positions[] = .(, , , )
positions[] = .(, , , )
positions[] = .(, , , )
positions[] = .(, , , )
positions[] = .(, , , )
(name, position, callback)
btn = .()
btn.Size = .(, , , )
btn.Position = position
btn.Text = name
btn.Font = .Font.SourceSansBold
btn.TextScaled =
btn.TextColor3 = .(, , )
btn.BackgroundColor3 = .(, , )
btn.BorderColor3 = .(, , )
btn.BorderSizePixel =
corner = .()
corner.CornerRadius = .(, )
corner.Parent = btn
btn.Parent = gui
btn.MouseButton1Click:(callback)
btn
(, positions[], ()
runEnabled = runEnabled
)
(, positions[], ()
slashSeq
manualSeqPlaying =
(slashSeq, )
totalTime = slashSeq:()[#slashSeq:()].Time
.(totalTime, ()
manualSeqPlaying =
)
)
(, positions[], ()
beheadSeq
manualSeqPlaying =
keyframes = beheadSeq:()
totalTime = keyframes[#keyframes].Time
pushStart = totalTime *
pushEnd = totalTime *
(beheadSeq, )
connPush
connPush = RunService.RenderStepped:(()
t = .() % totalTime
t >= pushStart t <= pushEnd
step = (BEHEAD_PUSH_DISTANCE / (pushEnd - pushStart)) * RunService.RenderStepped:()
rootPart.CFrame = rootPart.CFrame + rootPart.CFrame.LookVector * step
)
.(totalTime, ()
manualSeqPlaying =
connPush connPush:()
)
)
(, positions[], ()
gashingSeq
manualSeqPlaying =
oldSpeed = humanoid.WalkSpeed
humanoid.WalkSpeed =
(gashingSeq, )
totalTime = gashingSeq:()[#gashingSeq:()].Time
.(totalTime, ()
humanoid.WalkSpeed = oldSpeed
manualSeqPlaying =
)
)
(, positions[], ()
killSeq
manualSeqPlaying =
oldSpeed = humanoid.WalkSpeed
humanoid.WalkSpeed =
(killSeq, )
totalTime = killSeq:()[#killSeq:()].Time
.(totalTime, ()
humanoid.WalkSpeed = oldSpeed
manualSeqPlaying =
)
)
(, positions[], ()
guestKillSeq
manualSeqPlaying =
oldSpeed = humanoid.WalkSpeed
humanoid.WalkSpeed =
(guestKillSeq, )
totalTime = guestKillSeq:()[#guestKillSeq:()].Time
.(totalTime, ()
humanoid.WalkSpeed = oldSpeed
manualSeqPlaying =
)
)
(, positions[], ()
ragingPaceStartSeq
ragingIdleSeq
rageWalkSeq
manualSeqPlaying =
(ragingPaceStartSeq, )
totalTime = ragingPaceStartSeq:()[#ragingPaceStartSeq:()].Time
.(totalTime, ()
isRaging =
activeIdleSeq = ragingIdleSeq
activeWalkSeq = rageWalkSeq
humanoid.WalkSpeed = RAGING_SPEED
manualSeqPlaying =
slashRagingBtn = .()
slashRagingBtn.Size = .(, , , )
slashRagingBtn.Position = .(
positions[].X.Scale,
positions[].X.Offset,
positions[].Y.Scale,
positions[].Y.Offset +
)
slashRagingBtn.Text =
slashRagingBtn.Font = .Font.SourceSansBold
slashRagingBtn.TextScaled =
slashRagingBtn.TextColor3 = .(, , )
slashRagingBtn.BackgroundColor3 = .(, , )
slashRagingBtn.BorderColor3 = .(, , )
slashRagingBtn.BorderSizePixel =
corner = .()
corner.CornerRadius = .(, )
corner.Parent = slashRagingBtn
slashRagingBtn.Parent = gui
slashRagingBtn.MouseButton1Click:(()
ragingSwingSeq
manualSeqPlaying =
(ragingSwingSeq, )
totalSwingTime = ragingSwingSeq:()[#ragingSwingSeq:()].Time
launchDistance =
connLaunch
connLaunch = RunService.RenderStepped:(()
step = (launchDistance / totalSwingTime) * RunService.RenderStepped:()
rootPart.CFrame = rootPart.CFrame + rootPart.CFrame.LookVector * step
)
.(totalSwingTime, ()
connLaunch connLaunch:()
isRaging =
activeIdleSeq = normalIdleSeq
activeWalkSeq = normalWalkSeq
humanoid.WalkSpeed = DEFAULT_WALK_SPEED
manualSeqPlaying =
slashRagingBtn:()
)
)
)
)
()Kill animations added. Kill may make your character tweak a little

Universal