[UPDATE] Stalker Anims BETTER VERSION
Key Required

[UPDATE] Stalker Anims BETTER VERSION

ForsakenGolden_ScriptzGolden_Scriptz 28.4K views 654 executesUpdated May 1, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•231 lines (7512 chars)
-- Local Executor Script: Animation Toggle + Persistent Settings & Drag Toggle
local CoreGui = game:GetService("CoreGui")
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")

local player = Players.LocalPlayer

---------------------------------------------------------
-- 1. ANIMATION SETS SETUP
---------------------------------------------------------
local isUsingSetA = true

local animSetA = {
    idle = "rbxassetid://135419935358802",
    walk = "rbxassetid://108287960442206"
}

local animSetB = {
    idle = "rbxassetid://74530436512522",
    walk = "rbxassetid://109671225388655"
}

local currentSet = animSetA
local walkTrack, idleTrack
local runningConnection

local function applyAnimations(character)
    local humanoid = character:WaitForChild("Humanoid", 10)
    if not humanoid then return end

    humanoid.WalkSpeed = 24

    if walkTrack then walkTrack:Stop() end
    if idleTrack then idleTrack:Stop() end
    if runningConnection then runningConnection:Disconnect() end

    local walkAnim = Instance.new("Animation")
    walkAnim.AnimationId = currentSet.walk
    walkTrack = humanoid:LoadAnimation(walkAnim)

    local idleAnim = Instance.new("Animation")
    idleAnim.AnimationId = currentSet.idle
    idleTrack = humanoid:LoadAnimation(idleAnim)

    runningConnection = humanoid.Running:Connect(function(speed)
        if speed > 0 then
            idleTrack:Stop()
            if not walkTrack.IsPlaying then walkTrack:Play() end
        else
            walkTrack:Stop()
            if not idleTrack.IsPlaying then idleTrack:Play() end
        end
    end)
    
    idleTrack:Play()
end

---------------------------------------------------------
-- 2. PERSISTENT GUI CREATION
---------------------------------------------------------
local parentContainer = CoreGui:FindFirstChild("RobloxGui") or player:WaitForChild("PlayerGui")

if parentContainer:FindFirstChild("AnimToggleGui") then
    parentContainer.AnimToggleGui:Destroy()
end

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AnimToggleGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = parentContainer

-- Toggle Animation Main Button
local animButton = Instance.new("TextButton")
animButton.Name = "ToggleAnimButton"
animButton.Size = UDim2.new(0, 120, 0, 40)
animButton.Position = UDim2.new(1, -130, 0.5, -20)
animButton.BackgroundColor3 = Color3.fromRGB(70, 70, 200)
animButton.TextColor3 = Color3.new(1, 1, 1)
animButton.Font = Enum.Font.GothamBold
animButton.TextSize = 14
animButton.Text = "Toggle Anim"
animButton.Active = true
animButton.Parent = screenGui

local animCorner = Instance.new("UICorner")
animCorner.CornerRadius = UDim.new(0, 8)
animCorner.Parent = animButton

---------------------------------------------------------
-- 3. SETTINGS MENU (⚙️ Top Right)
---------------------------------------------------------
local isDragEnabled = true

local settingsButton = Instance.new("TextButton")
settingsButton.Name = "SettingsButton"
settingsButton.Size = UDim2.new(0, 40, 0, 40)
settingsButton.Position = UDim2.new(1, -50, 0, 10)
settingsButton.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
settingsButton.TextColor3 = Color3.new(1, 1, 1)
settingsButton.TextSize = 20
settingsButton.Text = "⚙️"
settingsButton.Parent = screenGui

local setBtnCorner = Instance.new("UICorner")
setBtnCorner.CornerRadius = UDim.new(0, 8)
setBtnCorner.Parent = settingsButton

-- Settings Window Frame
local settingsFrame = Instance.new("Frame")
settingsFrame.Name = "SettingsFrame"
settingsFrame.Size = UDim2.new(0, 200, 0, 100)
settingsFrame.Position = UDim2.new(0.5, -100, 0.5, -50)
settingsFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
settingsFrame.Visible = false
settingsFrame.Parent = screenGui

local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 10)
frameCorner.Parent = settingsFrame

local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, 0, 0, 30)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Settings"
titleLabel.TextColor3 = Color3.new(1, 1, 1)
titleLabel.TextSize = 16
titleLabel.Font = Enum.Font.GothamBold
titleLabel.Parent = settingsFrame

-- Button Drag Toggle Button Inside Settings
local toggleDragBtn = Instance.new("TextButton")
toggleDragBtn.Name = "ToggleDragButton"
toggleDragBtn.Size = UDim2.new(0.85, 0, 0, 35)
toggleDragBtn.Position = UDim2.new(0.075, 0, 0.45, 0)
toggleDragBtn.BackgroundColor3 = Color3.fromRGB(46, 204, 113)
toggleDragBtn.TextColor3 = Color3.new(1, 1, 1)
toggleDragBtn.Font = Enum.Font.GothamBold
toggleDragBtn.TextSize = 13
toggleDragBtn.Text = "Button Drag: ON"
toggleDragBtn.Parent = settingsFrame

local dragBtnCorner = Instance.new("UICorner")
dragBtnCorner.CornerRadius = UDim.new(0, 6)
dragBtnCorner.Parent = toggleDragBtn

---------------------------------------------------------
-- 4. BUTTON & DRAGGING LOGIC
---------------------------------------------------------
-- Open/Close Settings
settingsButton.MouseButton1Click:Connect(function()
    settingsFrame.Visible = not settingsFrame.Visible
end)

-- Toggle Dragging Setting
toggleDragBtn.MouseButton1Click:Connect(function()
    isDragEnabled = not isDragEnabled
    if isDragEnabled then
        toggleDragBtn.Text = "Button Drag: ON"
        toggleDragBtn.BackgroundColor3 = Color3.fromRGB(46, 204, 113)
    else
        toggleDragBtn.Text = "Button Drag: OFF"
        toggleDragBtn.BackgroundColor3 = Color3.fromRGB(231, 76, 60)
    end
end)

-- Toggle Animation Event
local function toggleAnims()
    isUsingSetA = not isUsingSetA
    currentSet = isUsingSetA and animSetA or animSetB
    if player.Character then
        applyAnimations(player.Character)
    end
end

animButton.MouseButton1Click:Connect(toggleAnims)

-- Generic Draggable Function
local function makeDraggable(guiObject)
    local dragging = false
    local dragInput, dragStart, startPos

    guiObject.InputBegan:Connect(function(input)
        if isDragEnabled and (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then
            dragging = true
            dragStart = input.Position
            startPos = guiObject.Position

            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then
                    dragging = false
                end
            end)
        end
    end)

    guiObject.InputChanged:Connect(function(input)
        if isDragEnabled and (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 and isDragEnabled then
            local delta = input.Position - dragStart
            guiObject.Position = UDim2.new(
                startPos.X.Scale,
                startPos.X.Offset + delta.X,
                startPos.Y.Scale,
                startPos.Y.Offset + delta.Y
            )
        end
    end)
end

makeDraggable(animButton)
makeDraggable(settingsFrame)

---------------------------------------------------------
-- 5. SPAWN / RESPAWN LOGIC
---------------------------------------------------------
if player.Character then
    task.spawn(function()
        applyAnimations(player.Character)
    end)
end

player.CharacterAdded:Connect(function(character)
    task.spawn(function()
        applyAnimations(character)
    end)
end)

Features & Information

Uses STALKER ANIMS BUT BETTER NOW
#Forsaken

Community Comments (7)

warriorofluawarriorofluaMay 1, 2025

Bro it's easy to skidder pls make it with LOADSTRING and moonsec to protect it

Replying to @warrioroflua
STING3RSTING3ROct 15, 2025

@warrioroflua Yes because people are going to skid a *ing animation changer script you dullhead

wacke15wacke15May 1, 2025

fe?

Golden_ScriptzGolden_ScriptzMay 2, 2025

This script was supposed to be a leak 😑

skyislandsskyislandsMay 2, 2025

make it loadstring and moonsec

Golden_ScriptzGolden_ScriptzMay 2, 2025

How do I even use MoonSec??

mxsynrymxsynryMay 21, 2025

HOOOOOOOOOOOOLY GPT

More Scripts for Forsaken