Normal Slasher Animations R6
Key RequiredUniversal

Normal Slasher Animations R6

Universal ScriptCrypticCoderxCrypticCoderx 3.3K views 971 executesUpdated Mar 5, 2026
5.0/ 5(3 votes)
30100% Positive
Lua Script•183 lines (6269 chars)
--[[ 
    FORSAKEN-STYLE ANIMATOR (STABLE VERSION)
    - MP3 Audio Handler (Looping, Stops on Reset)
    - Removed Clones
    - Kill (G) and Self Kill (S) roles fixed
    - Stun Loop logic corrected
]]

local V5_LINK = "https://raw.githubusercontent.com/gObl00x/Stuff/refs/heads/main/Animator6D.lua"
local AUDIO_URL = "https://files.catbox.moe/ksxhk8.mp3"

-- Audio Handler
local Sound = Instance.new("Sound", game:GetService("SoundService"))
Sound.SoundId = "rbxassetid://0" -- Placeholder
Sound.Volume = 2
Sound.Looped = true

-- Since it's an external link, we use the game engine to try and fetch/play it
-- Note: Directly playing external MP3s requires an executor that supports 'getcustomasset'
local success_audio, assetId = pcall(function()
    if writefile and getcustomasset then
        if not isfile("jason_theme.mp3") then
            writefile("jason_theme.mp3", game:HttpGet(AUDIO_URL))
        end
        return getcustomasset("jason_theme.mp3")
    end
end)

if success_audio and assetId then
    Sound.SoundId = assetId
    Sound:Play()
end

-- Stop music on reset
local Players = game:GetService('Players')
local player = Players.LocalPlayer
player.CharacterRemoving:Connect(function()
    Sound:Stop()
end)

-- Load Animator6D
if not getgenv().Animator6DLoadedPro then
    task.spawn(function() loadstring(game:HttpGet(V5_LINK))() end)
    repeat task.wait() until getgenv().Animator6D
end

local RunService = game:GetService('RunService')
local Anims = {}

-- Load Model
local success, model = pcall(function() return game:GetObjects("rbxassetid://126832528231171")[1] end)
if success and model then
    local function scan(obj)
        if obj:IsA("KeyframeSequence") then Anims[obj.Name] = obj end
        for _, c in ipairs(obj:GetChildren()) do scan(c) end
    end
    scan(model)
end

local function GetAnimLength(kfseq)
    if not kfseq then return 0 end
    local length = 0
    for _, kf in ipairs(kfseq:GetKeyframes()) do if kf.Time > length then length = kf.Time end end
    return length
end

-- State Management
local Character = player.Character or player.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")
local currentAnim, activeAction, actionEndTime = nil, nil, 0
local States = { isSprinting = false, isRaging = false, isStunned = false }

local function Play(kfseq, looped, speed)
    if not kfseq or (currentAnim == kfseq and looped) then return end
    getgenv().Animator6DStop()
    getgenv().Animator6D(kfseq, speed or 1, looped ~= false)
    currentAnim = kfseq
end

local function PlayAction(name, durationOverride)
    local kf = Anims[name]
    if kf then
        activeAction = kf
        actionEndTime = tick() + (durationOverride or GetAnimLength(kf))
        Play(kf, false)
    end
end

-- GUI
local ScreenGui = Instance.new('ScreenGui', player:WaitForChild('PlayerGui'))
ScreenGui.Name = 'Jason_V2_UI'
ScreenGui.ResetOnSpawn = true 

local function MakeBtn(pos, text, size, color)
    local b = Instance.new('TextButton', ScreenGui)
    b.Size = size or UDim2.new(0, 150, 0, 90)
    b.Position = pos
    b.BackgroundColor3 = color or Color3.fromRGB(140, 80, 255)
    b.BackgroundTransparency = 0.5
    b.Font = Enum.Font.SourceSansSemibold
    b.Text = text
    b.TextColor3 = Color3.fromRGB(255, 255, 255)
    b.TextScaled = true
    Instance.new('UICorner', b).CornerRadius = UDim.new(0, 8)
    return b
end

-- Buttons
local SlashBtn   = MakeBtn(UDim2.new(0.266, 0, 0.077, 0), "Slash")
local BeheadBtn  = MakeBtn(UDim2.new(0.417, 0, 0.077, 0), "Behead")
local GashingBtn = MakeBtn(UDim2.new(0.559, 0, 0.077, 0), "GASHING Wound")
local RagingBtn  = MakeBtn(UDim2.new(0.702, 0, 0.077, 0), "Raging Pace")
local SelfKillBtn= MakeBtn(UDim2.new(0.257, 0, 0.774, 0), "Self Kill (S)", UDim2.new(0, 180, 0, 90), Color3.fromRGB(10, 1, 140))
local KillBtn    = MakeBtn(UDim2.new(0.120, 0, 0.774, 0), "Kill (G)", UDim2.new(0, 120, 0, 90), Color3.fromRGB(180, 20, 20))
local StunBtn    = MakeBtn(UDim2.new(0.120, 0, 0.077, 0), "Stun", UDim2.new(0, 120, 0, 90))
local SprintBtn  = MakeBtn(UDim2.new(0.639, 0, 0.697, 0), "Sprint")

-- Logic
SlashBtn.MouseButton1Click:Connect(function() PlayAction("Jason_Swing") end)
BeheadBtn.MouseButton1Click:Connect(function() PlayAction("Behead") end)
GashingBtn.MouseButton1Click:Connect(function() PlayAction("Gushwound") end)

RagingBtn.MouseButton1Click:Connect(function()
    States.isRaging = not States.isRaging
    if States.isRaging then PlayAction("Jason_RagingStart") end
end)

-- Exact animation roles requested
SelfKillBtn.MouseButton1Click:Connect(function() PlayAction("G+S killanim - S [cleaned up]") end)
KillBtn.MouseButton1Click:Connect(function() PlayAction("G+S killanim - G [cleaned up]") end)

StunBtn.MouseButton1Click:Connect(function()
    if States.isStunned then return end
    task.spawn(function()
        States.isStunned = true
        PlayAction("Jason_Stun")
        task.wait(GetAnimLength(Anims["Jason_Stun"]))
        Play(Anims["Jason_StunLoop"], true)
        task.wait(3.5)
        PlayAction("Jason_StunEnd")
        task.wait(GetAnimLength(Anims["Jason_StunEnd"]))
        States.isStunned = false
    end)
end)

SprintBtn.MouseButton1Click:Connect(function()
    States.isSprinting = not States.isSprinting
end)

-- Handler Loop
RunService.RenderStepped:Connect(function()
    if not Character or not Humanoid.Parent then return end
    if States.isStunned then
        Humanoid.WalkSpeed = 0
        Humanoid.JumpPower = 0
        return
    else
        Humanoid.JumpPower = 50
    end

    if tick() < actionEndTime then return end
    if activeAction then activeAction = nil; currentAnim = nil end

    local isMoving = Humanoid.MoveDirection.Magnitude > 0
    if isMoving then
        if States.isRaging then
            Humanoid.WalkSpeed = 22
            Play(Anims["Jason_RagingWalk"], true)
        elseif States.isSprinting then
            Humanoid.WalkSpeed = 20
            Play(Anims["Jason_Run"], true)
        else
            Humanoid.WalkSpeed = 16
            Play(Anims["Jason_Walk"] or Anims["Jason_Run"], true, 0.8)
        end
    else
        if States.isRaging then
            Play(Anims["Jason_RagingIdle"], true)
        else
            Play(Anims["Jason_Idle"], true)
        end
    end
end)

Features & Information

A normal Slasher Animations from forsaken but a bit bugged
#Reanimate#Fe#Client#Forsaken#Animation

Community Comments (13)

CrypticCoderxCrypticCoderxMar 5, 2026

OH SHOOT I FORGOT TO OBFUSCATE :/

CrypticCoderxCrypticCoderxMar 5, 2026

I hope the skids are not coping my script

abruptgazelle42abruptgazelle42Mar 5, 2026

cool

1et_ash1et_ashMar 5, 2026

dont use this its a skid

Replying to @1et_ash
CrypticCoderxCrypticCoderxMar 5, 2026

@1et_ash ???

johndeereboy33johndeereboy33Mar 5, 2026

ai

AIXZAIXZMar 6, 2026

yo uhm, is the music and animation fe??

Replying to @AIXZ
claywireclaywireMar 13, 2026

@XenoxX its not

A_manA_manMar 7, 2026

Other players dose not see the animation

ImAScamm3rImAScamm3rMar 8, 2026

Hm

a_m_i_ra_m_i_rMar 15, 2026

to all the ppl who says its not fe then ur just stupid. obviously ur gonna need reanimate or oxide.

Hey, can you make 1x1x1x1 animations? Just curious, if so, can you do it?

dolteddowndolteddownMar 21, 2026(edited)

what prompt generated this shete.. it looks ai but it has reanimation and exploit stuff in it that normal ais dont accept

More Scripts for Universal Scripts