Keep movement tools usable in Steal an Egg Steal an Egg watches how you move: speed, teleports and flight are the usual ways a run ends early. This script targets those client-side checks, keeps the movement state consistent and resets the evidence the anti-cheat collects. There is no window to configure — the bypass starts after execution and keeps itself updated. What the script handles Speed Detection Bypass: keeps high walk speed from being treated as an anomaly. Teleport Detection Bypass: covers position jumps when you move across the map. Flight Detection Bypass: keeps vertical movement from being flagged while the bypass is active. Movement Integrity Spoofing: sends a movement history that looks consistent instead of a series of instant jumps. Evidence Reset: clears the speed, teleport and flight evidence the client accumulates, and restores the trusted state. WalkSpeed Spoofing: sets the value used for movement while the bypass handles reporting. Auto Reinitialize: rebuilds its state after a respawn, so you do not need to re-run the script after every death. Runtime Cleanup: removes its own leftovers when the script is stopped. How to use it Run the script in Steal an Egg. This build is marked for game version v668 and requires an executor with filtergc support. No interface is needed: after execution the bypass applies on its own. This is a client-side bypass of movement checks. It does not guarantee that server-side validation accepts everything, so treat it as a way to keep movement tools usable, not as a promise of immunity. Test in a private server first if the account matters to you. Long sessions are the intended case: the script reinitialises after respawn and keeps running until you stop it.
202 lines · 4.6 KB
--!nocheck -- Updated for Steal An Egg v668. local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local environment = getgenv and getgenv() or _G if not player then return end if type(environment.DeliveryFixCleanup) == "function" then pcall(environment.DeliveryFixCleanup) end local runtime = { active = true, character = nil, state = nil, lastSearch = 0, lastUpdate = 0, speed = 100000, connections = {}, } local function body(character) if not character then return nil, nil end return character:FindFirstChildOfClass("Humanoid"), character:FindFirstChild("HumanoidRootPart") end local function matches(state, character, humanoid, rootPart) return type(state) == "table" and rawget(state, "Player") == player and rawget(state, "Character") == character and rawget(state, "Humanoid") == humanoid and rawget(state, "RootPart") == rootPart and type(rawget(state, "SampleHistory")) == "table" and type(rawget(state, "Evidence")) == "table" end local function findState(character) local humanoid, rootPart = body(character) if not humanoid or not rootPart or type(filtergc) ~= "function" then return nil end local cached = environment.IntegrityStateCache if matches(cached, character, humanoid, rootPart) then return cached end local ok, candidates = pcall(filtergc, "table", { Keys = { "Player", "Character", "Humanoid", "RootPart", "SampleHistory", "Evidence" }, }, false) if not ok or type(candidates) ~= "table" then return nil end for _, candidate in ipairs(candidates) do if matches(candidate, character, humanoid, rootPart) then environment.IntegrityStateCache = candidate return candidate end end return nil end local function sanitizeSample(sample, rootPart) if type(sample) ~= "table" then return end local rootCFrame = rootPart.CFrame rawset(sample, "WalkSpeed", runtime.speed) rawset(sample, "CFrame", rootCFrame) rawset(sample, "Position", rootCFrame.Position) rawset(sample, "LinearVelocity", Vector3.zero) rawset(sample, "AngularVelocity", Vector3.zero) end local function update() local character = player.Character local humanoid, rootPart = body(character) if not humanoid or not rootPart then return end if runtime.character ~= character then runtime.character = character runtime.state = nil environment.IntegrityStateCache = nil end if not matches(runtime.state, character, humanoid, rootPart) then if os.clock() - runtime.lastSearch < 1 then return end runtime.lastSearch = os.clock() runtime.state = findState(character) end local state = runtime.state if not state then return end for _, name in ipairs({ "CurrentSample", "LastSample", "PreviousSample", "LastSafeSample", "PreMovementSafeSample", }) do sanitizeSample(rawget(state, name), rootPart) end for _, sample in pairs(rawget(state, "SampleHistory") or {}) do sanitizeSample(sample, rootPart) end for _, sample in pairs(rawget(state, "SafeGroundCheckpoints") or {}) do sanitizeSample(sample, rootPart) end local evidence = rawget(state, "Evidence") if type(evidence) == "table" then evidence.Speed = 0 evidence.Teleport = 0 evidence.Flight = 0 end local impulse = rawget(state, "ImpulseContext") if type(impulse) == "table" then impulse.MaxHorizontalSpeed = math.max(tonumber(impulse.MaxHorizontalSpeed) or 0, runtime.speed) impulse.MaxHorizontalDistance = math.max(tonumber(impulse.MaxHorizontalDistance) or 0, runtime.speed) impulse.OriginPosition = rootPart.Position sanitizeSample(impulse.PreMovementSafeSample, rootPart) end if rawget(state, "CorrectionContext") == nil then rawset(state, "FirstSuspiciousAt", nil) rawset(state, "ThreatLevel", "Trusted") end end runtime.connections[#runtime.connections + 1] = player.CharacterAdded:Connect(function(character) runtime.character = character runtime.state = nil runtime.lastSearch = 0 environment.IntegrityStateCache = nil end) runtime.connections[#runtime.connections + 1] = RunService.Heartbeat:Connect(function() if not runtime.active then return end local now = os.clock() if now - runtime.lastUpdate < 0.1 then return end runtime.lastUpdate = now pcall(update) end) environment.DeliveryFix = runtime environment.DeliveryFixCleanup = function() if not runtime.active then return end runtime.active = false for _, connection in ipairs(runtime.connections) do pcall(connection.Disconnect, connection) end table.clear(runtime.connections) if environment.DeliveryFix == runtime then environment.DeliveryFix = nil end end task.defer(update) return runtime
Share what works, ask a question, or report an issue.
No comments yet