--[[ Attack on Titan Revolution – Universal Free Executor Edition v2 (Leaderstats Fix) Fixed: leaderstats race condition error No other changes. ]] -- // ============ CONFIG (change these as needed) ============ local Config = { -- Main toggles AutoFarm = true, AimbotActive = true, AutoEscapeGrab = true, AutoSkills = true, AutoTitanMastery = true, AutoOutposts = true, AutoSpearSupplies = true, AutoThunderSpearRaids = false, AutoUpgradeGear = true, AutoMaxSkillTree = true, AutoEnhancePerks = true, AutoEquipPerks = true, AutoPrestige = true, AutoBuyPotions = true, AutoSelectSlot = true, AutoSpearQuests = true, AutoClaimQuests = true, AutoEquipSpears = true, AutoFamilyRoller = true, RejoinUntilOnikiri = false, RejoinUntilJotunn = false, FPSBoost = true, AntiInjury = true, HideAllInjuries = true, Disable3DRendering = false, HideName = true, Failsafe = true, AutoRaid = false, MaxStats = false, AutoConvertItems = false, AutoDailyRewards = false, AutoBuySkillPoints = false, -- Combat tuning HitboxMultiplier = 5, AimbotSmoothness = 0.3, AimbotRange = 300, AimbotThrottleHz = 20, GrabCooldown = 0.5, -- Timings FarmLoopDelay = 0.2, KeySimDelay = 0.03, UIUpdateInterval = 1, -- Names to identify titan weak points TitanNapeNames = {"Nape", "Hitbox", "WeakPoint", "Neck", "Head"}, -- UI button patterns TargetButtonPatterns = { StartMission = "start", CompleteMission = "complete", OpenChest = "open", Lobby = "lobby", Upgrade = "upgrade", Enhance = "enhance", Equip = "equip", Prestige = "prestige", Potion = "potion", Slot = "slot", Roll = "roll", Quest = "quest", Claim = "claim", Skip = "skip", Convert = "convert", Daily = "daily", SkillPoint = "skill", Raid = "raid" }, WebhookURL = "", -- leave empty to disable } -- // ============ SERVICES ============ local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TeleportService = game:GetService("TeleportService") local HttpService = game:GetService("HttpService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local LP = Players.LocalPlayer local Camera = workspace.CurrentCamera -- // FIX: Wait for leaderstats to exist before continuing wait(1) -- // ============ HTTP (non-blocking) ============ local function sendWebhook(embedTable) if Config.WebhookURL == "" then return end task.spawn(function() pcall(function() local payload = { embeds = {embedTable}, username = "AOT Executor" } HttpService:PostAsync(Config.WebhookURL, HttpService:JSONEncode(payload)) end) end) end -- // ============ ANTI-AFK (subtle camera move) ============ local function antiAFK() task.spawn(function() pcall(function() local orig = Camera.CFrame Camera.CFrame = orig * CFrame.Angles(0, math.rad(0.1), 0) task.wait(0.1) Camera.CFrame = orig end) end) end LP.Idled:Connect(antiAFK) -- // ============ UI CLICK (universal) ============ local function clickButton(btn) if btn and btn:IsA("TextButton") and btn.Visible then pcall(function() btn:FireClickButton() end) return true end return false end -- // ============ KEY PRESS (with fallback) ============ local function pressKey(keyEnum) local success = false pcall(function() local vi = game:GetService("VirtualInputManager") if vi then vi:SendKeyEvent(true, keyEnum, false, game) task.wait(Config.KeySimDelay) vi:SendKeyEvent(false, keyEnum, false, game) success = true else local keyName = keyEnum.Name:lower() for _, gui in ipairs(LP.PlayerGui:GetChildren()) do for _, btn in ipairs(gui:GetDescendants()) do if btn:IsA("TextButton") and btn.Visible and (btn.Text:lower():find(keyName) or btn.Name:lower():find(keyName)) then clickButton(btn) success = true break end end end end end) return success end -- // ============ BUTTON CACHE (refreshes periodically) ============ local buttonCache = {} local lastUICache = 0 local function findButton(pattern) if tick() - lastUICache > Config.UIUpdateInterval then buttonCache = {} local mainUI = LP.PlayerGui:FindFirstChild("MainUI", true) if mainUI then for _, obj in ipairs(mainUI:GetDescendants()) do if obj:IsA("TextButton") and obj.Visible then buttonCache[obj.Text:lower()] = obj end end end lastUICache = tick() end for text, btn in pairs(buttonCache) do if btn and btn.Parent and btn.Visible and text:find(pattern:lower()) then return btn end end return nil end -- // ============ HITBOX EXPANDER ============ local function expandHitboxes() for _, obj in ipairs(workspace:GetDescendants()) do if obj:IsA("Model") and obj.Name:lower():find("titan") then for _, name in ipairs(Config.TitanNapeNames) do local part = obj:FindFirstChild(name) if part and not part:FindFirstChild("Expanded") then part.Size = part.Size * Config.HitboxMultiplier part.Transparency = 0.5 local flag = Instance.new("BoolValue") flag.Name = "Expanded" flag.Parent = part break end end end end end -- // ============ FIXED AIMBOT ============ local lastAimbotTime = 0 local lastGrabTime = 0 local function surgicalAimbot() if not Config.AimbotActive then return end local now = tick() if now - lastAimbotTime < (1 / Config.AimbotThrottleHz) then return end lastAimbotTime = now local root = LP.Character and LP.Character:FindFirstChild("HumanoidRootPart") if not root then return end local bestTarget = nil local bestDist = math.huge for _, obj in ipairs(workspace:GetDescendants()) do if obj:IsA("Model") and obj.Name:lower():find("titan") then for _, name in ipairs(Config.TitanNapeNames) do local nape = obj:FindFirstChild(name) if nape then local dist = (root.Position - nape.Position).Magnitude if dist < bestDist and dist < Config.AimbotRange then bestDist = dist bestTarget = nape end break end end end end if bestTarget then local targetCF = CFrame.lookAt(Camera.CFrame.Position, bestTarget.Position) if Config.AimbotSmoothness >= 1 then Camera.CFrame = targetCF else Camera.CFrame = Camera.CFrame:Lerp(targetCF, Config.AimbotSmoothness) end if now - lastGrabTime >= Config.GrabCooldown then lastGrabTime = now pressKey(Enum.KeyCode.E) end end end -- // ============ AUTO ESCAPE GRAB ============ local function autoEscape() if not Config.AutoEscapeGrab then return end local char = LP.Character if char and char:FindFirstChild("Grabbed") then pressKey(Enum.KeyCode.Space) end end -- // ============ AUTO SKILLS ============ local function autoSkills() if not Config.AutoSkills then return end for key, _ in pairs({Enum.KeyCode.One, Enum.KeyCode.Two, Enum.KeyCode.Three, Enum.KeyCode.Four, Enum.KeyCode.Five, Enum.KeyCode.Six}) do pressKey(key) task.wait(0.05) end end -- // ============ AUTO TITAN MASTERY ============ local function autoTitanMastery() if Config.AutoTitanMastery and LP.Character and LP.Character:FindFirstChild("TitanForm") then pressKey(Enum.KeyCode.Q) end end -- // ============ FARM LOOP ACTIONS (WITH FIXED PRESTIGE) ============ local function farmTick() if not Config.AutoFarm then return end local startBtn = findButton(Config.TargetButtonPatterns.StartMission) if startBtn then clickButton(startBtn) end local completeBtn = findButton(Config.TargetButtonPatterns.CompleteMission) if completeBtn then clickButton(completeBtn) end if Config.AutoReturnLobby then local lobby = findButton(Config.TargetButtonPatterns.Lobby) if lobby then clickButton(lobby) end end if Config.AutoOutposts then local btn = findButton("outpost") or findButton("watchtower") if btn then clickButton(btn) end end if Config.AutoSpearSupplies then local btn = findButton("spear") or findButton("supply") if btn then clickButton(btn) end end if Config.AutoThunderSpearRaids then pressKey(Enum.KeyCode.R) end if Config.AutoUpgradeGear then local btn = findButton(Config.TargetButtonPatterns.Upgrade) if btn then clickButton(btn) end end if Config.AutoMaxSkillTree then local btn = findButton("skill") if btn then clickButton(btn) end for _, b in ipairs(LP.PlayerGui:GetDescendants()) do if b:IsA("TextButton") and b.Visible and (b.Text:lower():find("learn") or b.Text:lower():find("upgrade")) then clickButton(b) task.wait(0.1) end end end if Config.AutoEnhancePerks then local btn = findButton(Config.TargetButtonPatterns.Enhance) if btn then clickButton(btn) end end if Config.AutoEquipPerks then local btn = findButton(Config.TargetButtonPatterns.Equip) if btn then clickButton(btn) end end -- // FIXED PRESTIGE BLOCK (safe leaderstats access) if Config.AutoPrestige then local ls = LP:FindFirstChild("leaderstats") if ls then local gold = ls:FindFirstChild("Gold") if gold and gold.Value >= 100000 then local btn = findButton(Config.TargetButtonPatterns.Prestige) if btn then clickButton(btn) end end end end if Config.AutoBuyPotions then local btn = findButton(Config.TargetButtonPatterns.Potion) if btn then clickButton(btn) end end if Config.AutoSelectSlot then local btn = findButton(Config.TargetButtonPatterns.Slot) if btn then clickButton(btn) end end if Config.AutoSpearQuests then local btn = findButton(Config.TargetButtonPatterns.Quest) if btn then clickButton(btn) end if Config.AutoClaimQuests then local claim = findButton(Config.TargetButtonPatterns.Claim) if claim then clickButton(claim) end end if Config.AutoEquipSpears then local equip = findButton("equip") if equip then clickButton(equip) end end end if Config.AutoFamilyRoller then local btn = findButton(Config.TargetButtonPatterns.Roll) if btn then clickButton(btn) end end if Config.RejoinUntilOnikiri or Config.RejoinUntilJotunn then local family = LP.PlayerGui:FindFirstChild("MainUI", true) and LP.PlayerGui.MainUI:FindFirstChild("Family") if family then local target = Config.RejoinUntilOnikiri and "Onikiri" or "Jotunn" if family.Text ~= target then TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId, LP) end end end if Config.FPSBoost then if Config.Disable3DRendering then for _, part in ipairs(workspace:GetDescendants()) do if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then pcall(function() part.LocalTransparencyModifier = 1 end) end end end if Config.HideName then pcall(function() LP.DisplayName = " " LP.NameDisplayDistance = 0 LP.HealthDisplayDistance = 0 end) end if Config.HideAllInjuries and LP.Character then for _, obj in ipairs(LP.Character:GetDescendants()) do if obj.Name:lower():find("injury") then pcall(function() obj:Destroy() end) end end end end if Config.Failsafe then local timer = LP.PlayerGui:FindFirstChild("MainUI", true) and LP.PlayerGui.MainUI:FindFirstChild("MissionTimer") if timer and timer.Text == "00:00" then TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId, LP) end end expandHitboxes() end -- // ============ GUI ============ local function createGUI() local screenGui = Instance.new("ScreenGui") screenGui.Name = "AOT_FreeExec_v2" screenGui.Parent = LP:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 320, 0, 400) frame.Position = UDim2.new(0.5, -160, 0.5, -200) frame.BackgroundColor3 = Color3.fromRGB(25,25,30) frame.Draggable = true frame.Active = true frame.Parent = screenGui local title = Instance.new("TextLabel") title.Size = UDim2.new(1,0,0,30) title.Text = "AOT Ultimate (Free Exec)" title.TextColor3 = Color3.fromRGB(255,100,100) title.BackgroundTransparency = 1 title.Parent = frame local list = Instance.new("UIListLayout") list.Padding = UDim.new(0, 5) list.Parent = frame local function addToggle(name, settingKey) local btn = Instance.new("TextButton") btn.Size = UDim2.new(0.9,0,0,30) btn.Position = UDim2.new(0.05,0,0,0) btn.Text = name .. ": " .. (Config[settingKey] and "ON" or "OFF") btn.BackgroundColor3 = Config[settingKey] and Color3.fromRGB(0,150,0) or Color3.fromRGB(60,60,70) btn.Parent = frame btn.MouseButton1Click:Connect(function() Config[settingKey] = not Config[settingKey] btn.Text = name .. ": " .. (Config[settingKey] and "ON" or "OFF") btn.BackgroundColor3 = Config[settingKey] and Color3.fromRGB(0,150,0) or Color3.fromRGB(60,60,70) end) end addToggle("Auto Farm", "AutoFarm") addToggle("Aimbot", "AimbotActive") addToggle("Auto Skills", "AutoSkills") addToggle("Auto Outposts", "AutoOutposts") addToggle("Auto Prestige", "AutoPrestige") addToggle("FPS Boost", "FPSBoost") local close = Instance.new("TextButton") close.Size = UDim2.new(0,40,0,30) close.Position = UDim2.new(1,-45,0,5) close.Text = "X" close.BackgroundColor3 = Color3.fromRGB(150,0,0) close.Parent = frame close.MouseButton1Click:Connect(function() screenGui.Enabled = not screenGui.Enabled end) end -- // ============ MAIN LOOPS ============ createGUI() task.spawn(function() while true do farmTick() task.wait(Config.FarmLoopDelay) end end) task.spawn(function() while true do surgicalAimbot() autoEscape() autoSkills() autoTitanMastery() task.wait() end end) sendWebhook({title = "Script Loaded", description = "AOT Executor v2 ready (leaderstats fixed)", color = 65280}) print("✓ AOT Ultimate loaded | leaderstats race condition fixed")