explore
key systems
new
docs
discord
search scripts
⌘K
explore
key systems
new
docs
discord
sign in
⌘↵
--
publishes from anywhere on this page
new paste
untitled.luau
empty
/ 512kb
open file
⌘O
explore
key systems
new
docs
sign in
heist-copy.luau
887 lines · 34.4kb
/ 512kb
open file
⌘O
--[[ made for https://linusware.org/ ]]-- local Players = cloneref(game:GetService("Players")) local ReplicatedStorage = cloneref(game:GetService("ReplicatedStorage")) local Workspace = cloneref(game:GetService("Workspace")) local lp = Players.LocalPlayer local library = loadstring(game:HttpGet("https://pasteblox.com/raw/htv3xjyre4"))({ cheatname = "femboyware", gamename = "universal", fileext = ".rat", }) local flags = library.flags local CONTRACTS = { "Contract Shipment Case", "Museum Artifact", "Diamond Tray", "Vault Charge", "Deposit Pouch", } local STEAL_WORDS = { "steal", "take", "grab", "loot", "pickup" } local NUMBER_KEYS = { "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Zero" } local DIGIT_KEYS = { ["0"] = "Zero", ["1"] = "One", ["2"] = "Two", ["3"] = "Three", ["4"] = "Four", ["5"] = "Five", ["6"] = "Six", ["7"] = "Seven", ["8"] = "Eight", ["9"] = "Nine", } local DEFAULT_COLORS = { item_color = Color3.fromRGB(255, 80, 80), contract_color = Color3.fromRGB(255, 60, 80), van_color = Color3.fromRGB(90, 90, 90), guard_color = Color3.fromRGB(255, 75, 110), camera_color = Color3.fromRGB(210, 115, 255), note_color = Color3.fromRGB(140, 210, 255), } local NOTIFY_COLORS = { info = Color3.fromRGB(255, 135, 255), success = Color3.fromRGB(100, 255, 150), warn = Color3.fromRGB(255, 190, 90), error = Color3.fromRGB(255, 80, 80), } local state = { run = nil, prompts = {}, world = {}, hidden = {}, esp = {}, gui = {}, code = nil, scanAt = 0, actAt = 0, busy = false, safeKey = nil, safeAt = 0, safeZone = false, drillHeld = false, drillAt = 0, drillCool = 0, pickColor = nil, pickZone = false, vaultZone = false, fpSig = "", fpAt = 0, voltSig = "", voltAt = 0, keySig = "", keyAt = 0, guide = "", } local function notify(msg, kind, dur) library:SendNotification(msg, dur or 4, NOTIFY_COLORS[kind] or NOTIFY_COLORS.info) end local function find(p, name, deep) if typeof(p) ~= "Instance" then return nil end local ok, res = pcall(p.FindFirstChild, p, name, deep or false) return ok and res or nil end local function kids(p, deep) if typeof(p) ~= "Instance" then return {} end local ok, res = pcall(deep and p.GetDescendants or p.GetChildren, p) return ok and res or {} end local function dist(inst) local c = lp and lp.Character local r = c and find(c, "HumanoidRootPart") if not r or typeof(inst) ~= "Instance" then return math.huge end local ok, pos = pcall(function() if inst:IsA("BasePart") then return inst.Position end if inst:IsA("Model") then return inst:GetPivot().Position end local part = inst:FindFirstChildWhichIsA("BasePart", true) return part and part.Position end) return (ok and pos) and (pos - r.Position).Magnitude or math.huge end local function getRun() if state.run and state.run.Parent then return state.run end local runs = find(Workspace, "Runs") if not runs then return nil end local id = lp and lp:GetAttribute("RunId") local r = (type(id) == "string" and find(runs, id)) or nil if not r then for _, v in ipairs(kids(runs)) do if v:IsA("Model") or v:IsA("Folder") then r = v break end end end if r ~= state.run then state.run = r state.scanAt = 0 state.code = nil table.clear(state.prompts) table.clear(state.world) end return r end local function tp(inst, offset) if typeof(inst) ~= "Instance" then return notify("Target not found", "warn", 3) end lw.teleport(inst, offset or Vector3.new(0, 3, 0)) end local function findNamed(name) local r = getRun() if not r or not name or name == "" then return nil end local low = string.lower(name) local best, bestD local items = find(r, "Items") local list = items and kids(items) or kids(r, true) for _, v in ipairs(list) do if string.find(string.lower(v.Name), low, 1, true) then local d = dist(v) if not bestD or d < bestD then best, bestD = v, d end end end if not best and items then for _, v in ipairs(kids(r, true)) do if string.find(string.lower(v.Name), low, 1, true) then local d = dist(v) if not bestD or d < bestD then best, bestD = v, d end end end end return best end local function getPrompt(stealOnly, maxD) local best, bestD for i = #state.prompts, 1, -1 do local p = state.prompts[i] if p and p.Parent then local d = dist(p.Parent) if d <= (maxD or math.huge) and (not bestD or d < bestD) then if not stealOnly then best, bestD = p, d else local txt = string.lower(tostring(p.ActionText or "") .. " " .. tostring(p.ObjectText or "") .. " " .. p.Name) for _, w in ipairs(STEAL_WORDS) do if string.find(txt, w, 1, true) then best, bestD = p, d break end end end end else table.remove(state.prompts, i) end end return best, bestD end local function clearEsp() for inst, e in pairs(state.esp) do if e.handle then pcall(function() e.handle:Remove() end) end pcall(lw.target, inst, nil) end table.clear(state.esp) lw.clearesp() lw.cleartargets() end local function markEsp(seen, inst, o) if typeof(inst) ~= "Instance" then return end seen[inst] = true local sig = string.format("%s:%s:%s:%s:%s:%s", tostring(o.label), tostring(o.color), tostring(o.chams), tostring(o.box), tostring(o.distance), tostring(o.tracer)) local e = state.esp[inst] if e and e.sig == sig then return end if e and e.handle then pcall(function() e.handle:Remove() end) end local ok, h = pcall(lw.esp, inst, o) if ok and h then state.esp[inst] = { handle = h, sig = sig } if o.chams then pcall(lw.target, inst, { aim = o.npc or false, esp = true, team = false, add = true }) end end end local function refreshEsp() local r = getRun() if not r then if next(state.esp) then clearEsp() end return end local now = os.clock() if now - state.scanAt > 3 then state.scanAt = now table.clear(state.prompts) table.clear(state.world) local camSeen = {} for _, v in ipairs(kids(r, true)) do if v:IsA("ProximityPrompt") then table.insert(state.prompts, v) else local n = string.lower(v.Name) if string.find(n, "camera", 1, true) or string.find(n, "cctv", 1, true) then local t = (v:IsA("BasePart") or v:IsA("Model")) and v or v:FindFirstAncestorOfClass("Model") if t and not camSeen[t] then camSeen[t] = true table.insert(state.world, { inst = t, kind = "cam" }) end elseif string.find(n, "code", 1, true) or string.find(n, "note", 1, true) or string.find(n, "keycard", 1, true) then table.insert(state.world, { inst = v, kind = "note" }) end if not state.code then if v:IsA("SurfaceGui") and v.Name == "CodeDigits" then local lbl = find(v, "Code") or v:FindFirstChildOfClass("TextLabel") if lbl and string.match(lbl.Text or "", "^%d%d%d%d?$") then state.code = lbl.Text end elseif v:IsA("TextLabel") and (v.Name == "Code" or v.Name == "NoteDigits") and string.match(v.Text or "", "^%d%d%d%d?$") then state.code = v.Text end end end end end local seen = {} local maxD = flags.max_distance or 1200 local function isHidden(name) local low = string.lower(name) for k, on in pairs(state.hidden) do if on and string.find(low, string.lower(k), 1, true) then return true end end return false end local items = find(r, "Items") if items then for _, v in ipairs(kids(items)) do if not isHidden(v.Name) and dist(v) <= maxD then local low = string.lower(v.Name) local contract for _, c in ipairs(CONTRACTS) do if string.find(low, string.lower(c), 1, true) then contract = c break end end if (contract and flags.contract) or (not contract and flags.item) then markEsp(seen, v, { label = flags.names and (contract and string.upper(contract) or v.Name) or "", color = flags[contract and "contract_color" or "item_color"] or DEFAULT_COLORS[contract and "contract_color" or "item_color"], chams = flags.item_chams, box = flags.boxes, distance = flags.distance, tracer = contract ~= nil and flags.tracers, }) end end end end if flags.van then local van = find(r, "GetawayVan") if van then markEsp(seen, van, { label = "ESCAPE VAN", color = flags.van_color or DEFAULT_COLORS.van_color, chams = true, box = true, distance = true, tracer = true }) end end if flags.guards then for _, v in ipairs(kids(find(r, "NPCs"))) do local low = string.lower(v.Name) if string.find(low, "guard", 1, true) or string.find(low, "officer", 1, true) then markEsp(seen, v, { label = v.Name, color = flags.guard_color or DEFAULT_COLORS.guard_color, chams = true, box = true, distance = true, npc = true }) end end end if flags.cameras or flags.notes then for _, w in ipairs(state.world) do if w.inst and w.inst.Parent and dist(w.inst) <= maxD then if w.kind == "cam" and flags.cameras then markEsp(seen, w.inst, { label = "CAMERA", color = flags.camera_color or DEFAULT_COLORS.camera_color, chams = true, box = true, distance = true }) elseif w.kind == "note" and flags.notes and not isHidden(w.inst.Name) then markEsp(seen, w.inst, { label = w.inst.Name, color = flags.note_color or DEFAULT_COLORS.note_color, chams = true, box = true, distance = true }) end end end end for inst, e in pairs(state.esp) do if not seen[inst] or not inst.Parent then if e.handle then pcall(function() e.handle:Remove() end) end pcall(lw.target, inst, nil) state.esp[inst] = nil end end end local function rebuildEsp() state.scanAt = 0 clearEsp() pcall(refreshEsp) end local function syncChams() pcall(lw.set, "chams", flags.chams_engine) pcall(lw.set, "localchams", flags.chams_local) pcall(lw.set, "neon", flags.chams_neon) pcall(lw.set, "vischeck", flags.chams_vis) end local function releaseKeys() if state.safeKey then input.release(state.safeKey) state.safeKey = nil end if state.drillHeld then input.release("Space") state.drillHeld = false end end local function resetSolver() releaseKeys() table.clear(state.gui) state.busy = false state.pickColor, state.pickZone = nil, false state.safeZone, state.safeAt = false, 0 state.drillAt, state.drillCool = 0, 0 state.vaultZone = false state.fpSig, state.fpAt = "", 0 state.voltSig, state.voltAt = "", 0 state.keySig, state.keyAt = "", 0 state.guide = "" end local function clickGui(g) if typeof(g) ~= "Instance" then return end local pos = g.AbsolutePosition + g.AbsoluteSize / 2 mousemoveabs(pos.X, pos.Y) task.wait(0.04) input.click() end local function solveVolt(nums, mults, target) if not nums or not mults or not target then return nil end local used, out = {}, {} local function dfs(r, sum) if r > #nums then return sum == target end for c = 1, #mults do if not used[c] then used[c], out[r] = true, c if dfs(r + 1, sum + nums[r] * mults[c]) then return true end used[c] = nil end end return false end return dfs(1, 0) and out or nil end local function hookRemotes() local start = find(ReplicatedStorage, "MinigameStart", true) local submit = find(ReplicatedStorage, "MinigameSubmit", true) local hud = find(ReplicatedStorage, "HudState", true) if hud then pcall(function() hud.OnClientEvent:Connect(function(p) if type(p) == "table" and p.code and string.match(tostring(p.code), "^%d+$") then state.code = tostring(p.code) end end) end) end if not start then return end pcall(function() start.OnClientEvent:Connect(function(payload) if not flags.auto or type(payload) ~= "table" or not submit then return end local k = string.lower(tostring(payload.kind or "")) local p = payload.puzzle if type(p) ~= "table" then return end local ans if string.find(k, "lockpick", 1, true) and type(p.pins) == "table" then ans = {} for i, pin in ipairs(p.pins) do ans[i] = (pin.sweet or 0) % 360 end elseif string.find(k, "safedial", 1, true) and type(p.combo) == "table" then ans = table.clone(p.combo) elseif string.find(k, "fingerprint", 1, true) and type(p.prints) == "table" then ans = {} for i, v in ipairs(p.prints) do if type(v.correct) == "table" then ans[i] = table.clone(v.correct) elseif type(v.options) == "table" and type(v.target) == "table" then ans[i] = {} for j, x in ipairs(v.options) do if table.find(v.target, x) then table.insert(ans[i], j) end end end end elseif string.find(k, "voltlab", 1, true) then ans = solveVolt(p.numbers, p.multipliers, p.target) elseif string.find(k, "drill", 1, true) then ans = { depthReached = 1, overheated = false } end if not ans then return end if flags.guide then local parts = {} for idx, val in pairs(ans) do table.insert(parts, tostring(idx) .. ":" .. tostring(val)) end return notify("Solution: " .. tostring(payload.kind) .. " [" .. table.concat(parts, ", ") .. "]", "info", 7) end task.spawn(function() task.wait(string.find(k, "drill", 1, true) and 2.6 or 0.45) pcall(lw.fire, submit, payload.sessionId, ans) notify("Solved " .. tostring(payload.kind) .. " ~ nya!", "success", 3) end) end) end) end local function gfind(root, name) local c = state.gui[root] if not c then c = {} state.gui[root] = c end local obj = c[name] if obj and obj.Parent and obj:IsDescendantOf(root) then return obj end obj = find(root, name, true) c[name] = obj return obj end local function artSig(node) if typeof(node) ~= "Instance" then return "" end local imgs, geo = {}, {} for _, v in ipairs(kids(node, true)) do local n = string.lower(v.Name) if not (string.find(n, "tray", 1, true) or string.find(n, "shape", 1, true) or string.find(n, "key", 1, true)) then if v:IsA("ImageLabel") and v.Image ~= "" then table.insert(imgs, v.Image) elseif v:IsA("Frame") and v.Name ~= "Pattern" then table.insert(geo, string.format("%s:%s:%s", tostring(v.Size), tostring(v.Position), tostring(v.Rotation))) end end end local t = #imgs > 0 and imgs or geo table.sort(t) return table.concat(t, "|") end local function stepSolver() if not flags.auto then if state.safeKey or state.drillHeld then resetSolver() end return end if state.busy then return end local pg = find(lp, "PlayerGui") if not pg then return end local keypad = find(pg, "KeypadGui") if keypad and (not keypad:IsA("ScreenGui") or keypad.Enabled) and keypad:FindFirstChildWhichIsA("GuiObject", true) then releaseKeys() if not state.code then local cObj = find(pg, "Code", true) local lbl = cObj and (find(cObj, "Value", true) or (cObj:IsA("TextLabel") and cObj)) if lbl and string.match(lbl.Text or "", "^%d%d%d%d?$") then state.code = lbl.Text end end if not state.code then if state.guide ~= "nocode" then state.guide = "nocode" notify("Find a code note first!", "warn", 5) end return end local now = os.clock() if state.keySig == state.code and now - state.keyAt < 3 then return end state.keySig, state.keyAt = state.code, now if flags.guide then return notify("Keypad code: " .. state.code, "info", 6) end state.busy = true task.spawn(function() notify("Entering code: " .. state.code .. " ~ nya!", "success", 3) for i = 1, #state.code do local ch = string.sub(state.code, i, i) local btn = gfind(keypad, "Key_" .. ch) or gfind(keypad, ch) if btn and btn:IsA("GuiObject") and btn.Visible then clickGui(btn) elseif DIGIT_KEYS[ch] then input.tap(DIGIT_KEYS[ch]) end task.wait(0.14) end local ent = gfind(keypad, "Key_enter") or gfind(keypad, "Enter") if ent then clickGui(ent) else input.tap("Return") end task.wait(0.3) state.busy = false end) return end local gui = find(pg, "MinigameGui") if not gui or (gui:IsA("ScreenGui") and not gui.Enabled) then if state.safeKey or state.drillHeld or next(state.gui) then resetSolver() end return end local now = os.clock() if gfind(gui, "LightGlow") or gfind(gui, "OtherLight") or (gfind(gui, "Light") and gfind(gui, "Tap")) then releaseKeys() if flags.guide then if state.guide ~= "vault" then state.guide = "vault" notify("Press SPACE when light hits a bolt", "info", 6) end return end local lit = false if not state.gui.catches then state.gui.catches = {} for _, v in ipairs(kids(gui, true)) do if string.sub(v.Name, 1, 5) == "Catch" then local st = v:FindFirstChildWhichIsA("UIStroke", true) or (v:IsA("UIStroke") and v) if st then table.insert(state.gui.catches, st) end end end end for _, st in ipairs(state.gui.catches) do if st.Parent and st.Transparency < 0.1 then lit = true break end end if lit and not state.vaultZone then state.vaultZone = true input.tap("Space") elseif not lit then state.vaultZone = false end return end local bands, grid, prt = gfind(gui, "Bands"), gfind(gui, "Grid"), gfind(gui, "Print") if bands and grid and prt and bands.Visible then releaseKeys() local wanted, bSigs = {}, {} for _, b in ipairs(kids(bands)) do if string.find(b.Name, "Band", 1, true) then local s = artSig(find(b, "Ridges", true) or b) if s ~= "" then wanted[s] = true table.insert(bSigs, s) end end end local picks, btns = {}, {} for _, opt in ipairs(kids(grid, true)) do local n = tonumber(string.match(opt.Name, "^Option(%d+)$")) if n then local s = artSig(find(opt, "Ridges", true) or find(opt, "Pattern", true) or opt) if s ~= "" and wanted[s] then table.insert(picks, n) btns[n] = opt end end end if #picks == 0 then return end table.sort(picks) local sig = (prt.Text or "") .. ":" .. table.concat(bSigs, ";") .. ":" .. table.concat(picks, ",") if sig == state.fpSig and now - state.fpAt < 2.2 then return end state.fpSig, state.fpAt = sig, now notify("Fingerprint: " .. table.concat(picks, ", "), "success", 4) if flags.guide then return end state.busy = true task.spawn(function() for _, n in ipairs(picks) do if NUMBER_KEYS[n] then input.tap(NUMBER_KEYS[n]) else clickGui(btns[n]) end task.wait(0.14) end local chk = gfind(gui, "Check") if chk then clickGui(chk) else input.tap("Return") end task.wait(0.35) state.busy = false end) return end local n1, m1 = gfind(gui, "Number1"), gfind(gui, "Multiplier1") if n1 and m1 and n1.Visible then releaseKeys() local nums, mults = {}, {} local function readVal(p) local v = p and find(p, "Value", true) return v and tonumber((string.gsub(tostring(v.Text or ""), "[^%d%-]", ""))) end local i = 1 while true do local a, b = gfind(gui, "Number" .. i), gfind(gui, "Multiplier" .. i) if not a or not b then break end nums[i], mults[i] = readVal(a), readVal(b) if not nums[i] or not mults[i] then return end i += 1 end local tgt = readVal(gfind(gui, "Target (V)")) if #nums < 2 or not tgt then return end local sig = table.concat(nums, ",") .. ":" .. table.concat(mults, ",") .. ":" .. tgt if sig == state.voltSig and now - state.voltAt < 3 then return end local order = solveVolt(nums, mults, tgt) if not order then return end state.voltSig, state.voltAt = sig, now local steps = {} for r, c in ipairs(order) do table.insert(steps, r .. "->" .. c) end notify("VoltLab: " .. table.concat(steps, ", "), "success", 6) if flags.guide then return end state.busy = true task.spawn(function() input.tap("R") task.wait(0.22) for r = 1, #nums do if NUMBER_KEYS[r] then input.tap(NUMBER_KEYS[r]) end task.wait(0.22) if NUMBER_KEYS[order[r]] then input.tap(NUMBER_KEYS[order[r]]) end task.wait(0.28) end state.busy = false end) return end local pick = gfind(gui, "Pick") if pick and pick.Visible then releaseKeys() if flags.guide then if state.guide ~= "lock" then state.guide = "lock" notify("Press SPACE when pick turns amber", "info", 6) end return end local img = state.gui.pickImg if not (img and img.Parent and img:IsDescendantOf(pick)) then img = pick:IsA("ImageLabel") and pick or pick:FindFirstChildWhichIsA("ImageLabel", true) state.gui.pickImg = img end local c = img and img.ImageColor3 if not c then return end state.pickColor = state.pickColor or c local d = math.abs(c.R - state.pickColor.R) + math.abs(c.G - state.pickColor.G) + math.abs(c.B - state.pickColor.B) local zone = d > 0.08 or (c.R > 0.75 and c.G > 0.45 and c.B < 0.45 and d > 0.03) if zone and not state.pickZone then input.tap("Space") end state.pickZone = zone if not zone then state.pickColor = c end return end local dial = gfind(gui, "SafeDial") or gfind(gui, "Dial") if dial and dial.Visible then if flags.guide then releaseKeys() if state.guide ~= "safe" then state.guide = "safe" notify("Turn dial and press SPACE on contact", "info", 6) end return end if state.drillHeld then input.release("Space") state.drillHeld = false end local dir = gfind(gui, "Direction") local stp = gfind(gui, "Step") or gfind(gui, "Status") local txt = string.lower((dir and dir.Text or "") .. " " .. (stp and stp.Text or "")) local rev = string.find(txt, "past", 1, true) or string.find(txt, "back", 1, true) local key = (string.find(txt, "left", 1, true) or string.find(txt, "ccw", 1, true)) and (rev and "D" or "A") or (rev and "A" or "D") local contact = gfind(gui, "Contact") local zone = contact and contact.BackgroundTransparency < 0.15 or false if zone and not state.safeZone then if state.safeKey then input.release(state.safeKey) state.safeKey = nil end input.tap("Space") state.safeAt = now + 0.15 elseif not zone then if state.safeKey ~= key and now >= state.safeAt then if state.safeKey then input.release(state.safeKey) end state.safeKey, state.safeAt = key, now input.press(key) elseif state.safeKey and now - state.safeAt > 0.18 then input.release(state.safeKey) state.safeKey = nil state.safeAt = now + 0.05 end end state.safeZone = zone return end local drill = gfind(gui, "Drill") or gfind(gui, "PushArea") if drill and drill.Visible then if flags.guide then releaseKeys() if state.guide ~= "drill" then state.guide = "drill" notify("Pulse SPACE and avoid overheating", "info", 6) end return end if state.safeKey then input.release(state.safeKey) state.safeKey = nil end local warn = gfind(gui, "Warning") if warn and warn.Visible then if state.drillHeld then input.release("Space") state.drillHeld = false end state.drillCool = now + 1.4 return end if state.drillHeld and now - state.drillAt > 0.42 then input.release("Space") state.drillHeld = false state.drillCool = now + 0.28 elseif not state.drillHeld and now >= state.drillCool then input.press("Space") state.drillHeld = true state.drillAt = now end return end releaseKeys() end local function stepAuto() local now = os.clock() if now < state.actAt then return end if flags.auto_interact then local p, d = getPrompt(false, 12) if p and d <= 12 then fireproximityprompt(p) state.actAt = now + 0.25 return end end if flags.auto_steal then local p = getPrompt(true, flags.aura_range or 18) if p then fireproximityprompt(p) state.actAt = now + 0.3 return end end if flags.steal_aura then local p, d = getPrompt(true, 120) if p and p.Parent then if d > (flags.aura_range or 18) then tp(p.Parent) end fireproximityprompt(p) state.actAt = now + 0.45 end end end local menu = library.NewWindow({ title = "femboyware :3", size = UDim2.new(0, 500, 0.7, 20) }) pcall(function() library:SetTheme({ Accent = Color3.fromRGB(255, 135, 255) }) end) local main = menu:AddTab("Main") local mgSec = main:AddSection("Minigames", 1) mgSec:AddToggle({ text = "Auto Play", flag = "auto", state = true, callback = resetSolver }) mgSec:AddToggle({ text = "Guide Only", flag = "guide", state = false, callback = resetSolver }) mgSec:AddButton({ text = "Reset Solver", callback = function() resetSolver() notify("Solver reset", "info", 3) end }) local autoSec = main:AddSection("Automation", 2) autoSec:AddToggle({ text = "Auto Interact", flag = "auto_interact" }) autoSec:AddToggle({ text = "Auto Steal Nearby", flag = "auto_steal" }) autoSec:AddToggle({ text = "Steal Aura", flag = "steal_aura" }) autoSec:AddSlider({ text = "Aura Range", flag = "aura_range", min = 5, max = 40, value = 18, suffix = " studs" }) autoSec:AddButton({ text = "Interact (E)", callback = function() input.tap("E") end }) autoSec:AddButton({ text = "TP & Interact Nearest", callback = function() local p = getPrompt() if p and p.Parent then tp(p.Parent) task.delay(0.12, function() fireproximityprompt(p) end) end end }) local visuals = menu:AddTab("Visuals") local itemSec = visuals:AddSection("Items", 1) itemSec:AddToggle({ text = "Item ESP", flag = "item", state = false, callback = refreshEsp }) itemSec:AddToggle({ text = "Contract ESP", flag = "contract", state = true, callback = refreshEsp }) itemSec:AddToggle({ text = "Names", flag = "names", state = true, callback = refreshEsp }) itemSec:AddToggle({ text = "Chams", flag = "item_chams", state = true, callback = refreshEsp }) itemSec:AddToggle({ text = "Boxes", flag = "boxes", state = true, callback = refreshEsp }) itemSec:AddToggle({ text = "Distance", flag = "distance", state = true, callback = refreshEsp }) itemSec:AddToggle({ text = "Contract Tracers", flag = "tracers", state = true, callback = refreshEsp }) itemSec:AddSlider({ text = "Max Distance", flag = "max_distance", min = 100, max = 5000, value = 1200, increment = 50, suffix = " studs", callback = refreshEsp }) itemSec:AddSlider({ text = "Refresh Rate", flag = "refresh", min = 0.2, max = 5, value = 1.5, increment = 0.1, suffix = "s" }) local worldSec = visuals:AddSection("World", 1) worldSec:AddToggle({ text = "Van ESP", flag = "van", state = true, callback = refreshEsp }) worldSec:AddToggle({ text = "Guards", flag = "guards", state = false, callback = refreshEsp }) worldSec:AddToggle({ text = "Cameras", flag = "cameras", state = true, callback = refreshEsp }) worldSec:AddToggle({ text = "Codes & Keycards", flag = "notes", state = false, callback = refreshEsp }) worldSec:AddButton({ text = "Rebuild ESP", callback = rebuildEsp }) local colSec = visuals:AddSection("Colors", 2) for _, r in ipairs({ { "Items", "item_color" }, { "Contract", "contract_color" }, { "Van", "van_color" }, { "Guards", "guard_color" }, { "Cameras", "camera_color" }, { "Codes & Keycards", "note_color" }, }) do colSec:AddColor({ text = r[1], flag = r[2], color = DEFAULT_COLORS[r[2]], callback = function() task.defer(refreshEsp) end }) end local chamSec = visuals:AddSection("Chams", 2) chamSec:AddToggle({ text = "Engine Chams", flag = "chams_engine", state = true, callback = syncChams }) chamSec:AddToggle({ text = "Neon Glow", flag = "chams_neon", state = true, callback = syncChams }) chamSec:AddToggle({ text = "Local Player", flag = "chams_local", state = false, callback = syncChams }) chamSec:AddToggle({ text = "Visible Check", flag = "chams_vis", state = false, callback = syncChams }) local teleport = menu:AddTab("Teleport") local quickSec = teleport:AddSection("Quick", 1) for _, r in ipairs({ { "Contract Shipment Case", "Contract Shipment Case" }, { "Museum Artifact", "Museum Artifact" }, { "Diamond Tray", "Diamond Tray" }, { "Deposit Pouch", "Deposit Pouch" }, { "Getaway Van", "GetawayVan" }, { "Nearest Keycard", "Keycard" }, { "Nearest Code Note", "Note" }, }) do quickSec:AddButton({ text = r[1], callback = function() tp(findNamed(r[2])) end }) end quickSec:AddButton({ text = "Nearest Guard", callback = function() tp(findNamed("Guard"), Vector3.new(0, 0, 4)) end }) quickSec:AddButton({ text = "Nearest Prompt", callback = function() local p = getPrompt() tp(p and p.Parent) end }) local function toggleHide(name) if not name or name == "" then return end state.hidden[name] = not state.hidden[name] notify(name .. (state.hidden[name] and " hidden" or " visible"), "info", 3) rebuildEsp() end local conSec = teleport:AddSection("Contract Items", 2) local conList = conSec:AddList({ text = "Item", flag = "selected_item", values = table.clone(CONTRACTS), selected = "Deposit Pouch" }) conSec:AddButton({ text = "Teleport to Selected", callback = function() tp(findNamed(flags.selected_item)) end }) conSec:AddButton({ text = "Hide / Show Selected", callback = function() toggleHide(flags.selected_item) end }) conSec:AddButton({ text = "Show All Hidden", callback = function() table.clear(state.hidden) notify("All items visible", "success", 3) rebuildEsp() end }) local custSec = teleport:AddSection("Custom Filter", 2) custSec:AddBox({ text = "Item Name", flag = "custom_filter" }) custSec:AddButton({ text = "Teleport to Name", callback = function() if flags.custom_filter and flags.custom_filter ~= "" then tp(findNamed(flags.custom_filter)) end end }) custSec:AddButton({ text = "Add to Contract List", callback = function() local n = flags.custom_filter if n and n ~= "" and not table.find(CONTRACTS, n) then table.insert(CONTRACTS, n) conList:AddValue(n) conList:Select(n) notify("Added: " .. n, "success", 3) rebuildEsp() end end }) custSec:AddButton({ text = "Hide / Show Name", callback = function() toggleHide(flags.custom_filter) end }) local move = menu:AddTab("Movement") local plrSec = move:AddSection("Player", 1) plrSec:AddToggle({ text = "No Clip", flag = "noclip", callback = function(v) pcall(lw.set, "noclip", v) end }) local function syncSpeed() pcall(lw.set, "walkspeed", flags.walkspeed and flags.walkspeed_value or false) end plrSec:AddToggle({ text = "Walk Speed", flag = "walkspeed", callback = syncSpeed }) plrSec:AddSlider({ text = "Speed", flag = "walkspeed_value", min = 16, max = 100, value = 24, callback = syncSpeed }) local cliSec = move:AddSection("Client", 2) cliSec:AddToggle({ text = "Fullbright", flag = "fullbright", callback = function(v) pcall(lw.set, "fullbright", v) end }) cliSec:AddSlider({ text = "Field of View", flag = "fov", min = 70, max = 120, value = 90, suffix = "°", callback = function(v) pcall(lw.set, "fov", v) end }) library:CreateSettingsTab(menu) hookRemotes() syncChams() pcall(refreshEsp) notify("femboyware :3 loaded ~ nya", "success", 4) local espTimer = 0 while true do local pg = find(lp, "PlayerGui") local mgOpen = pg and ((find(pg, "MinigameGui") and find(pg, "MinigameGui").Enabled) or (find(pg, "KeypadGui") and find(pg, "KeypadGui").Enabled)) local dt = task.wait(mgOpen and 0.016 or 0.05) espTimer += dt if espTimer >= (flags.refresh or 1.5) then espTimer = 0 pcall(refreshEsp) end pcall(stepAuto) pcall(stepSolver) end