Fe fake block NO KEY
Key Required

Fe fake block NO KEY

Forsakenmarinoroman2014marinoroman2014 12.9K views 89 executesUpdated Jul 20, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•315 lines (11629 chars)
-- [ Services ]
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local StarterGui = game:GetService("StarterGui")

local localPlayer = Players.LocalPlayer

-- [ Animation IDs ]
local animationIds = {
    ["126830014841198"] = true, ["126355327951215"] = true, ["121086746534252"] = true,
    ["18885909645"] = true, ["98456918873918"] = true, ["105458270463374"] = true,
    ["83829782357897"] = true, ["125403313786645"] = true, ["118298475669935"] = true,
    ["82113744478546"] = true, ["70371667919898"] = true, ["99135633258223"] = true,
    ["97167027849946"] = true, ["109230267448394"] = true, ["139835501033932"] = true,
    ["126896426760253"] = true,
}

-- [ Variables ]
local toggleOn = false
local strictRangeOn = false
local detectionRange = 18
local screenGui, mainFrame, toggleButton, strictButton, rangeBox
local clickedTracks = {}

-- [ Notifications ]
local function notify(text)
    pcall(function()
        StarterGui:SetCore("SendNotification", { Title = "Auto Block", Text = text, Duration = 1.5 })
    end)
end

-- [ Click Block Button ]
local function clickBlockButton()
    local gui = localPlayer:FindFirstChild("PlayerGui")
    if not gui then return end
    local mainUI = gui:FindFirstChild("MainUI")
    local container = mainUI and mainUI:FindFirstChild("AbilityContainer")
    local blockButton = container and container:FindFirstChild("Block")
    if blockButton and blockButton:IsA("ImageButton") and blockButton.Visible then
        if blockButton.BackgroundTransparency == 0 then return end
        for _, conn in ipairs(getconnections(blockButton.MouseButton1Click)) do
            pcall(function() conn:Fire() end)
        end
        pcall(function() blockButton:Activate() end)
    end
end

-- [ Facing 90° ]
local function isFacing(localRoot, targetRoot)
    if not localRoot or not targetRoot then return false end
    local directionToPlayer = (localRoot.Position - targetRoot.Position).Unit
    local facingDirection = targetRoot.CFrame.LookVector
    return facingDirection:Dot(directionToPlayer) > 0
end

-- [ Saved Toggles ]
local function getBoolFlag(name)
    local flag = localPlayer:FindFirstChild(name)
    if not flag then
        flag = Instance.new("BoolValue")
        flag.Name = name
        flag.Value = false
        flag.Parent = localPlayer
    end
    return flag
end

local function getNumberFlag(name)
    local flag = localPlayer:FindFirstChild(name)
    if not flag then
        flag = Instance.new("NumberValue")
        flag.Name = name
        flag.Value = 18
        flag.Parent = localPlayer
    end
    return flag
end

-- [ Drag Support ]
local function makeDraggable(gui)
    local dragging, dragInput, dragStart, startPos

    local function update(input)
        local delta = input.Position - dragStart
        gui.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X,
                                 startPos.Y.Scale, startPos.Y.Offset + delta.Y)
    end

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

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

    gui.InputChanged:Connect(function(input)
        if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
            update(input)
        end
    end)
end

-- [ GUI ]
local function createToggleGui()
    if screenGui then screenGui:Destroy() end
    screenGui = Instance.new("ScreenGui")
    screenGui.Name = "BlockAutoToggleGui"
    screenGui.ResetOnSpawn = true
    screenGui.Parent = localPlayer:WaitForChild("PlayerGui")

    mainFrame = Instance.new("Frame")
    mainFrame.Size = UDim2.new(0, 200, 0, 230)
    mainFrame.Position = UDim2.new(0, 20, 0, 100)
    mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
    mainFrame.Active = true
    mainFrame.Parent = screenGui
    makeDraggable(mainFrame)

    toggleButton = Instance.new("TextButton")
    toggleButton.Size = UDim2.new(0, 180, 0, 30)
    toggleButton.Position = UDim2.new(0, 10, 0, 10)
    toggleButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
    toggleButton.TextColor3 = Color3.new(1, 1, 1)
    toggleButton.Parent = mainFrame

    strictButton = Instance.new("TextButton")
    strictButton.Size = UDim2.new(0, 180, 0, 30)
    strictButton.Position = UDim2.new(0, 10, 0, 50)
    strictButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
    strictButton.TextColor3 = Color3.new(1, 1, 1)
    strictButton.Parent = mainFrame

    rangeBox = Instance.new("TextBox")
    rangeBox.Size = UDim2.new(0, 50, 0, 30)
    rangeBox.Position = UDim2.new(0, 10, 0, 90)
    rangeBox.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
    rangeBox.TextColor3 = Color3.new(1, 1, 1)
    rangeBox.ClearTextOnFocus = false
    rangeBox.Parent = mainFrame

    local toggleFlag = getBoolFlag("AutoBlockToggle")
    local strictFlag = getBoolFlag("AutoBlockStrictRange")
    local rangeFlag = getNumberFlag("AutoBlockRange")

    toggleOn = toggleFlag.Value
    strictRangeOn = strictFlag.Value
    detectionRange = rangeFlag.Value
    rangeBox.Text = tostring(detectionRange)

    local function updateButtons()
        toggleButton.Text = toggleOn and "Auto Block: ON" or "Auto Block: OFF"
        toggleButton.BackgroundColor3 = toggleOn and Color3.fromRGB(0, 170, 0) or Color3.fromRGB(50, 50, 50)
        strictButton.Text = strictRangeOn and "Strict Range: ON" or "Strict Range: OFF"
        strictButton.BackgroundColor3 = strictRangeOn and Color3.fromRGB(0, 170, 0) or Color3.fromRGB(50, 50, 50)
    end

    updateButtons()

    toggleButton.MouseButton1Click:Connect(function()
        toggleOn = not toggleOn
        toggleFlag.Value = toggleOn
        updateButtons()
    end)

    strictButton.MouseButton1Click:Connect(function()
        strictRangeOn = not strictRangeOn
        strictFlag.Value = strictRangeOn
        updateButtons()
    end)

    rangeBox.FocusLost:Connect(function()
        local num = tonumber(rangeBox.Text)
        if num then
            detectionRange = math.clamp(num, 1, 1000)
            rangeFlag.Value = detectionRange
            rangeBox.Text = tostring(detectionRange)
        else
            rangeBox.Text = tostring(detectionRange)
        end
    end)

    -- === FAKE BLOCK UI ===
    local fakeBlockToggle = Instance.new("TextButton")
    fakeBlockToggle.Size = UDim2.new(0, 180, 0, 30)
    fakeBlockToggle.Position = UDim2.new(0, 10, 0, 130)
    fakeBlockToggle.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
    fakeBlockToggle.TextColor3 = Color3.new(1, 1, 1)
    fakeBlockToggle.Text = "Fake Block: OFF"
    fakeBlockToggle.Parent = mainFrame

    local modeButton = Instance.new("TextButton")
    modeButton.Size = UDim2.new(0, 180, 0, 30)
    modeButton.Position = UDim2.new(0, 10, 0, 170)
    modeButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
    modeButton.TextColor3 = Color3.new(1, 1, 1)
    modeButton.Text = "Mode: Normal"
    modeButton.Visible = false
    modeButton.Parent = mainFrame

    local fakeBlockButton = Instance.new("TextButton")
    fakeBlockButton.Size = UDim2.new(0, 100, 0, 50)
    fakeBlockButton.Position = UDim2.new(0.5, -50, 0.85, 0)
    fakeBlockButton.AnchorPoint = Vector2.new(0.5, 0.5)
    fakeBlockButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
    fakeBlockButton.TextColor3 = Color3.new(1, 1, 1)
    fakeBlockButton.Text = "Fake Block"
    fakeBlockButton.Visible = false
    fakeBlockButton.Parent = screenGui
    makeDraggable(fakeBlockButton)

    local fakeBlockOn = false
    local currentMode = "Normal"

    local animations = {
        Normal = "rbxassetid://72722244508749",
        ["M3&4"] = "rbxassetid://96959123077498"
    }

    local function playFakeBlockAnimation()
        local char = localPlayer.Character
        if not char then return end
        local humanoid = char:FindFirstChildOfClass("Humanoid")
        if not humanoid then return end
        local anim = Instance.new("Animation")
        anim.AnimationId = animations[currentMode]
        humanoid:LoadAnimation(anim):Play()
    end

    fakeBlockToggle.MouseButton1Click:Connect(function()
        fakeBlockOn = not fakeBlockOn
        fakeBlockToggle.Text = fakeBlockOn and "Fake Block: ON" or "Fake Block: OFF"
        fakeBlockToggle.BackgroundColor3 = fakeBlockOn and Color3.fromRGB(0, 170, 0) or Color3.fromRGB(50, 50, 50)
        modeButton.Visible = fakeBlockOn
    end)

    modeButton.MouseButton1Click:Connect(function()
        if currentMode == "Normal" then
            currentMode = "M3&4"
            modeButton.Text = "Mode: M3&4"
        else
            currentMode = "Normal"
            modeButton.Text = "Mode: Normal"
        end
    end)

    fakeBlockButton.MouseButton1Click:Connect(function()
        playFakeBlockAnimation()
    end)

    RunService.Heartbeat:Connect(function()
        if not fakeBlockOn then
            fakeBlockButton.Visible = false
            return
        end
        local gui = localPlayer:FindFirstChild("PlayerGui")
        local mainUI = gui and gui:FindFirstChild("MainUI")
        local container = mainUI and mainUI:FindFirstChild("AbilityContainer")
        local blockButton = container and container:FindFirstChild("Block")
        if blockButton and blockButton:IsA("ImageButton") and blockButton.Visible then
            fakeBlockButton.Visible = true
        else
            fakeBlockButton.Visible = false
        end
    end)
end

-- [ Respawn GUI ]
localPlayer.CharacterAdded:Connect(function()
    task.wait(1)
    createToggleGui()
end)
if localPlayer.Character then
    createToggleGui()
end

-- [ Auto Block Loop ]
RunService.Heartbeat:Connect(function()
    if not toggleOn then return end
    local myChar = localPlayer.Character
    local myRoot = myChar and myChar:FindFirstChild("HumanoidRootPart")
    if not myRoot then return end
    for _, otherPlayer in ipairs(Players:GetPlayers()) do
        if otherPlayer ~= localPlayer and otherPlayer.Character then
            local root = otherPlayer.Character:FindFirstChild("HumanoidRootPart")
            local humanoid = otherPlayer.Character:FindFirstChildOfClass("Humanoid")
            if root and humanoid and humanoid.Health > 0 then
                local dist = (root.Position - myRoot.Position).Magnitude
                if dist <= detectionRange then
                    local facing = isFacing(myRoot, root)
                    for _, track in ipairs(humanoid:GetPlayingAnimationTracks()) do
                        local anim = track.Animation
                        local id = anim and anim.AnimationId and string.match(anim.AnimationId, "%d+")
                        if id and animationIds[id] and not clickedTracks[track] then
                            if not facing then continue end
                            clickedTracks[track] = true
                            notify(otherPlayer.Name .. " started animation " .. id)
                            clickBlockButton()
                            task.spawn(function()
                                track.Stopped:Wait()
                                clickedTracks[track] = nil
                            end)
                        end
                    end
                end
            end
        end
    end
end)

Features & Information

auto block
#Auto block

Community Comments (5)

marinoroman2014marinoroman2014Jul 20, 2025(edited)

Fake block working

Gl*FatherGl*FatherJul 20, 2025

Erm just use the block anims id and add button to play id so its a fake block thingy

marinoroman2014marinoroman2014Jul 25, 2025

@hebisaboten i did check and fake block works U NEED BE SURVIVOR NO IN THE HOBBY and it works

Gl*FatherGl*FatherJul 26, 2025

Ik it work on srvivor,i just ask why you say fake block are not work

marinoroman2014marinoroman2014Jul 28, 2025

Bc i dint test it

More Scripts for Forsaken