auto block XENO and SOLARA supported
Key Required

auto block XENO and SOLARA supported

FORSAKEN GUEST FIGHTINGdaviddavidovich03daviddavidovich03 3K views 448 executesUpdated Feb 13, 2026
0.0/ 5(1 votes)
010% Positive
Lua Script•246 lines (8160 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local VirtualInputManager = game:GetService("VirtualInputManager")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer

-- Cleanup previous instance
local GLOBAL_KEY = "SquareUnderScript"
if _G[GLOBAL_KEY] then
    local old = _G[GLOBAL_KEY]
    if old.part then old.part:Destroy() end
    if old.gui then old.gui:Destroy() end
    if old.connections then
        for _, c in ipairs(old.connections) do pcall(c.Disconnect, c) end
    end
end
_G[GLOBAL_KEY] = {}
local storage = _G[GLOBAL_KEY]

-- Animation IDs to detect
local TARGET_ANIM_IDS = {
    105018679651616,
    138386253518573,
    99539252076343,
    92343089184929,
    109073770803138,
    108438446017492,
    78844120285210,
    96153006014341,
    75726689596677,
    129086720270183,
    89934284994477
}

local targetSet = {}
for _, id in ipairs(TARGET_ANIM_IDS) do targetSet[id] = true end

local COLOR = Color3.fromRGB(255, 0, 0)
local FIXED_HEIGHT = 0.6
local DEFAULT_SIZE = 24
local MIN_SIZE = 10
local MAX_SIZE = 80
local CHECK_INTERVAL = 0.3

local currentSize = DEFAULT_SIZE
local autoQEnabled = false
local logEnabled = false

-- Create square under feet
local part = Instance.new("Part")
part.Name = "SquareUnder"
part.Shape = Enum.PartType.Block
part.Size = Vector3.new(currentSize, FIXED_HEIGHT, currentSize)
part.Color = COLOR
part.Transparency = 0.5
part.CanCollide = false
part.Anchored = true
part.Material = Enum.Material.Neon
part.Parent = workspace

local renderConn = RunService.RenderStepped:Connect(function()
    if part.Parent and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
        local hrp = LocalPlayer.Character.HumanoidRootPart
        part.CFrame = hrp.CFrame * CFrame.new(0, -3.2, 0)
    end
end)

storage.part = part
storage.connections = {renderConn}

-- GUI
local gui = Instance.new("ScreenGui")
gui.ResetOnSpawn = false
gui.Parent = LocalPlayer:WaitForChild("PlayerGui")

local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 260, 0, 180)
frame.Position = UDim2.new(0.5, -130, 0.1, 0)
frame.BackgroundColor3 = Color3.fromRGB(30,30,40)
frame.Parent = gui

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1,0,0,30)
title.Text = "SQUARE UNDER FEET"
title.TextColor3 = Color3.new(1,0.3,0.3)
title.BackgroundTransparency = 1
title.Font = Enum.Font.GothamBold
title.TextSize = 18
title.Parent = frame

local sizeTxt = Instance.new("TextLabel")
sizeTxt.Size = UDim2.new(1,0,0,25)
sizeTxt.Position = UDim2.new(0,0,0,35)
sizeTxt.Text = "Size: " .. currentSize
sizeTxt.TextColor3 = Color3.new(1,1,1)
sizeTxt.BackgroundTransparency = 1
sizeTxt.TextSize = 16
sizeTxt.Parent = frame

local minus = Instance.new("TextButton")
minus.Size = UDim2.new(0,50,0,30)
minus.Position = UDim2.new(0.1,0,0,65)
minus.Text = "-"
minus.BackgroundColor3 = Color3.fromRGB(150,0,0)
minus.TextColor3 = Color3.new(1,1,1)
minus.TextSize = 22
minus.Parent = frame

local plus = Instance.new("TextButton")
plus.Size = UDim2.new(0,50,0,30)
plus.Position = UDim2.new(0.7,0,0,65)
plus.Text = "+"
plus.BackgroundColor3 = Color3.fromRGB(0,150,0)
plus.TextColor3 = Color3.new(1,1,1)
plus.TextSize = 22
plus.Parent = frame

local qBtn = Instance.new("TextButton")
qBtn.Size = UDim2.new(0.8,0,0,35)
qBtn.Position = UDim2.new(0.1,0,0,100)
qBtn.Text = "AUTO Q: OFF"
qBtn.BackgroundColor3 = Color3.fromRGB(80,80,80)
qBtn.TextColor3 = Color3.new(1,1,1)
qBtn.TextSize = 16
qBtn.Parent = frame

local logBtn = Instance.new("TextButton")
logBtn.Size = UDim2.new(0.8,0,0,35)
logBtn.Position = UDim2.new(0.1,0,0,140)
logBtn.Text = "ANIMATION LOG: OFF"
logBtn.BackgroundColor3 = Color3.fromRGB(80,80,80)
logBtn.TextColor3 = Color3.new(1,1,1)
logBtn.TextSize = 16
logBtn.Parent = frame

minus.MouseButton1Click:Connect(function()
    currentSize = math.max(MIN_SIZE, currentSize - 4)
    sizeTxt.Text = "Size: " .. currentSize
    part.Size = Vector3.new(currentSize, FIXED_HEIGHT, currentSize)
end)

plus.MouseButton1Click:Connect(function()
    currentSize = math.min(MAX_SIZE, currentSize + 4)
    sizeTxt.Text = "Size: " .. currentSize
    part.Size = Vector3.new(currentSize, FIXED_HEIGHT, currentSize)
end)

qBtn.MouseButton1Click:Connect(function()
    autoQEnabled = not autoQEnabled
    qBtn.Text = "AUTO Q: " .. (autoQEnabled and "ON" or "OFF")
    qBtn.BackgroundColor3 = autoQEnabled and Color3.fromRGB(0,180,0) or Color3.fromRGB(80,80,80)
end)

logBtn.MouseButton1Click:Connect(function()
    logEnabled = not logEnabled
    logBtn.Text = "ANIMATION LOG: " .. (logEnabled and "ON" or "OFF")
    logBtn.BackgroundColor3 = logEnabled and Color3.fromRGB(0,120,255) or Color3.fromRGB(80,80,80)
end)

storage.gui = gui

-- Reliable Q press
local function pressQ()
    VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.Q, false, game)
    task.wait(0.04)
    VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.Q, false, game)
    
    pcall(function()
        local input = {
            KeyCode = Enum.KeyCode.Q,
            UserInputType = Enum.UserInputType.Keyboard,
            UserInputState = Enum.UserInputState.Begin
        }
        firesignal(UserInputService.InputBegan, input, false)
        task.wait(0.04)
        input.UserInputState = Enum.UserInputState.End
        firesignal(UserInputService.InputEnded, input, false)
    end)
    
    print("Q PRESSED")
end

-- Detection loop (works after respawn)
spawn(function()
    while true do
        if part.Parent then
            local half = currentSize / 2
            local pos = part.Position
            
            for _, model in ipairs(workspace:GetChildren()) do
                if model:IsA("Model") and model ~= LocalPlayer.Character then
                    local root = model:FindFirstChild("HumanoidRootPart") or model.PrimaryPart
                    if root then
                        local dx = math.abs(root.Position.X - pos.X)
                        local dz = math.abs(root.Position.Z - pos.Z)
                        if dx < half and dz < half and math.abs(root.Position.Y - pos.Y) < 6 then
                            local controller = model:FindFirstChildOfClass("Humanoid") or model:FindFirstChild("AnimationController")
                            if controller then
                                local animator = controller:FindFirstChild("Animator") or controller
                                for _, track in ipairs(animator:GetPlayingAnimationTracks()) do
                                    if track.IsPlaying and track.Animation then
                                        local id = tonumber(track.Animation.AnimationId:match("%d+"))
                                        if id and targetSet[id] and autoQEnabled then
                                            print("Q TRIGGERED → ID: " .. id .. " (" .. model.Name .. ")")
                                            pressQ()
                                            task.wait(0.3)
                                            break
                                        end
                                    end
                                end
                            end
                        end
                    end
                end
            end
        end
        task.wait(CHECK_INTERVAL)
    end
end)

-- Handle respawns for all players (including NPCs)
local function hookCharacter(character)
    local humanoid = character:WaitForChild("Humanoid", 5)
    if not humanoid then return end
    
    -- Re-hook animator after respawn
    local animator = humanoid:WaitForChild("Animator", 5)
    if animator then
        -- You can add extra logic here if needed
        print("Animator re-hooked for: " .. character.Name)
    end
end

-- Hook all existing characters
for _, player in ipairs(Players:GetPlayers()) do
    if player.Character then
        hookCharacter(player.Character)
    end
    player.CharacterAdded:Connect(hookCharacter)
end

Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(hookCharacter)
end)

print("Script loaded. Use AUTO Q toggle to enable.")

Features & Information

is very simple! but is doesnt work on killer Ai bot... BUT IS WORKS PERFECTLY !
#auto block#xeno#solara#guest fighting#guest

Community Comments (3)

nope not at all

this is *

LemonkLemonkJun 23, 2026

Dont work

More Scripts for FORSAKEN GUEST FIGHTING