||| Informant ||| Unclassified ||| KX Source 1.1 ||| Leaked Version --// Note(s): The source has been leaked recently; Hold [REDACTED-REDACTED-REDACTED-REDACTED] accountable local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local CollectionService = game:GetService("CollectionService") local color = Color3.fromRGB local udim2 = UDim2.new local udim = UDim.new local vector2 = Vector2.new local vector = Vector3.new local cframe = CFrame.new local v = getgenv local genv = v and getgenv() or _G genv.__KX_BUILD = nil genv.__KX_VERSION = "v1.10" if genv.__KX_RUNTIME_CLEANUP then pcall(genv.__KX_RUNTIME_CLEANUP) end local tbl = {} local tbl2 = {} local flag = true local function fn() local n = 1 for i = 1, #tbl do local v2 = tbl[i] if v2 and v2.Connected then tbl[n] = v2 n = n + 1 end end for i = n, #tbl do tbl[i] = nil end end local function fn2(arg, arg2) if #tbl >= 512 then fn() end local connection = arg:Connect(arg2) tbl[#tbl + 1] = connection return connection end local function fn3(arg) if arg then pcall(arg.Disconnect, arg) end end local function fn4(arg) tbl2[#tbl2 + 1] = arg return arg end genv.__KX_RUNTIME_CLEANUP = function() flag = false for i = #tbl, 1, -1 do pcall(function() tbl[i]:Disconnect() end) end for i = #tbl2, 1, -1 do pcall(tbl2[i]) end table.clear(tbl) table.clear(tbl2) end local function fn5(arg, parent, ...) local instance = Instance.new(arg) for i = 1, select("#", ...), 2 do instance[select(i, ...)] = select(i + 1, ...) end instance.Parent = parent return instance end local localPlayer = Players.LocalPlayer local coreGui = game:WaitForChild("CoreGui") local kxVisualKeySystem = coreGui:FindFirstChild("KX_VisualKeySystem") if kxVisualKeySystem then kxVisualKeySystem:Destroy() end local ScreenGui = fn5("ScreenGui", coreGui, "Name", "KX_VisualKeySystem", "ResetOnSpawn", false, "IgnoreGuiInset", true, "ZIndexBehavior", Enum.ZIndexBehavior.Sibling) local tbl3 = { Bg = color(6, 10, 18), Panel = color(13, 21, 34), Panel2 = color(8, 10, 15), Accent = color(74, 155, 255), Accent2 = color(255, 176, 70), Text = color(220, 234, 255), Soft = color(120, 150, 185), Good = color(90, 255, 170), Bad = color(255, 95, 110), } local function fn6(arg, arg2, arg3) local ok, result = pcall(function() return TweenService:Create(arg, TweenInfo.new(arg2, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), arg3) end) if ok and result then result:Play() end end local function fn7(arg, arg2) return fn5("UICorner", arg, "CornerRadius", udim(0, arg2)) end local function fn8(arg, arg2, arg3, arg4) local n = arg3 or 1 local n2 = arg4 or 0 return fn5("UIStroke", arg, "Color", arg2, "Thickness", n, "Transparency", n2, "ApplyStrokeMode", Enum.ApplyStrokeMode.Border) end local function fn9(arg, arg2, arg3, arg4, arg5, arg6, arg7) local text = arg7 or tbl3.Text local gotham = arg5 or Enum.Font.Gotham local n = arg6 or 13 return fn5("TextLabel", arg, "BackgroundTransparency", 1, "Position", arg3, "Size", arg4, "Text", arg2, "TextColor3", text, "Font", gotham, "TextSize", n, "TextXAlignment", Enum.TextXAlignment.Left, "TextYAlignment", Enum.TextYAlignment.Center, "TextTruncate", Enum.TextTruncate.AtEnd, "ZIndex", 5) end local function fn10(arg, arg2, arg3, arg4, arg5, arg6, arg7) local TextButton = fn5("TextButton", arg, "AutoButtonColor", false, "BackgroundColor3", arg5, "Position", arg3, "Size", arg4, "Text", arg2, "TextColor3", arg6, "Font", Enum.Font.GothamBold, "TextSize", 12, "ZIndex", 8) fn7(TextButton, 10) local v2 = fn8(TextButton, arg7, 1, 0.1) fn2(TextButton.MouseEnter, function() fn6(TextButton, 0.08, {BackgroundColor3 = arg7}) fn6(v2, 0.08, {Color = arg6, Transparency = 0}) end) fn2(TextButton.MouseLeave, function() fn6(TextButton, 0.08, {BackgroundColor3 = arg5}) fn6(v2, 0.08, {Color = arg7, Transparency = 0.1}) end) return TextButton end local fn13 = nil local function fn14(arg) local fn15, tbl4, tbl5, fn16, v6 do genv.__KX_API_TERMINAL = {entries = {}, listeners = {}, nextListener = 0} local now = os.clock() local flag5 = false fn15 = function() if flag5 then return end flag5 = true local n2 = math.max(0, os.clock() - now) local str = "init time [" .. string.format("%.2fs", n2) .. "]" if add_credit_line then add_credit_line("Script made by Kerax", str) elseif add_line then add_line("Script made by Kerax", str, false) end end Players = game:GetService("Players") UserInputService = game:GetService("UserInputService") TweenService = game:GetService("TweenService") local service = game:GetService("TextChatService") TextChatService = service local service2 = game:GetService("HttpService") HttpService = service2 local service3 = game:GetService("RunService") RunService = service3 local service4 = game:GetService("ReplicatedStorage") ReplicatedStorage = service4 local service5 = game:GetService("TeleportService") TeleportService = service5 local service6 = game:GetService("MarketplaceService") MarketplaceService = service6 local service7 = game:GetService("Lighting") Lighting = service7 local service8 = game:GetService("Workspace") Workspace = service8 local service9 = game:GetService("CoreGui") CoreGui = service9 LocalPlayer = Players.LocalPlayer local v7 = LocalPlayer:WaitForChild("PlayerGui") PlayerGui = v7 PlaceId = game.PlaceId JobId = game.JobId camera = Workspace.CurrentCamera tbl4 = {} local tbl6 = {} FORCEFIELD_SPAWN_GRACE = 0.5 local obj = setmetatable({}, {__mode = "k"}) forceFieldSpawnAt = obj local function fn17(arg2) if tbl6[arg2] then return end tbl4[#tbl4 + 1] = arg2 tbl6[arg2] = #tbl4 end local function fn18(arg2) local v8 = tbl6[arg2] if not v8 then return end local v9 = tbl4[#tbl4] tbl4[v8] = v9 tbl4[#tbl4] = nil tbl6[arg2] = nil if v9 and v9 ~= arg2 then tbl6[v9] = v8 end end for i, player in ipairs(Players:GetPlayers()) do fn17(player) if player.Character then forceFieldSpawnAt[player.Character] = -math.huge end end fn2(Players.PlayerAdded, fn17) fn2(Players.PlayerRemoving, fn18) if not isfolder then isfolder = function() return false end end if not isfile then isfile = function() return false end end if not makefolder then makefolder = function() end end if not writefile then writefile = function() end end if not readfile then readfile = function() return "{}" end end folder = "KeraCmd" local str = folder .. "/Teleports.json" tpfile = str local str2 = folder .. "/Config.json" cfgfile = str2 local str3 = folder .. "/Database.json" dbfile = str3 serverfile = folder .. "/Servers.json" pcall(function() if not isfolder(folder) then makefolder(folder) end end) tbl5 = { vector(840.16, 97.99, 2565.21), vector(701.46, 97.99, 2576.45), vector(699.15, 97.99, 2396.78), vector(664.86, 97.99, 2395.02), vector(659.05, 97.99, 2318.75), vector(659.51, 98.11, 2232.52), vector(732.81, 97.99, 2213.08), vector(865.64, 97.99, 2205.93), vector(967.7, 97.99, 2208.11), vector(968.49, 97.99, 2286.22), vector(999.25, 97.99, 2284.89), vector(998.21, 97.99, 2378.24), vector(973.06, 97.99, 2378.61), vector(971.04, 97.99, 2506.71), vector(867.63, 97.99, 2506.88), vector(865.31, 101.5, 2577.16), } fn16 = function(arg2, arg3) local x = arg2.X local z = arg2.Z local flag6 = false local n2 = #arg3 for i = 1, #arg3 do local v8 = arg3[i] local v9 = arg3[n2] local x2 = v8.X local z2 = v8.Z local x3 = v9.X local z3 = v9.Z local flag7 = z < z2 local flag8 = z < z3 local flag9 = flag7 ~= flag8 and x < (x3 - x2) * (z - z2) / (z3 - z2 + 1e-06) + x2 if flag9 then if flag6 then flag6 = false else flag6 = true end end n2 = i end return flag6 end local tbl7 = { fling_stop_death = true, fling_no_limit = true, fling_method = "controlled", fling_hit = "torso", fling_whip = true, } cfg = { kill_feedback = true, aim_detect = true, fling_detector = false, invisible_detection = false, lock_walkspeed = false, walkspeed_value = 24, backpack_head = false, tool_aura = false, punch_aura = false, player_list = false, botton_fling = true, fling_defaults_v4 = false, laser_state = false, get_method_guns = "normal", auto_reload = false, auto_switch = false, anti_taze = false, anti_riot = false, anti_fling_v1 = false, anti_fling_mode = "normal", wall = false, auto_respawn = false, auto_respawn_neutral = false, auto_arrest = false, auto_keycard = false, mobile_buttons = {}, pc_keybinds = {}, pc_keybind_position = {x = 0.5, y = 0.42}, old_pass_detected = {swat = false, mafia = false, sniper = false}, auto_get = {}, skid_list = {}, esp_enabled = true, tracers_enabled = true, tracer_info_enabled = true, backpack_view_enabled = true, health_gui_enabled = true, hitbox_enabled = true, hitbox_size = 7, noclip = false, inf_jump = false, carspeed = false, silent_aim = false, silent_hit_chance = 85, silent_fov_size = 150, silent_hit_part = "all", silent_fov_visible = true, silent_wall_check = true, silent_team_check = true, silent_forcefield_check = true, silent_visibility = false, } for k, v8 in pairs(tbl7) do cfg[k] = v8 end sync_visual_cfg = function() if espCfg then cfg.esp_enabled = espCfg.espEnabled cfg.tracers_enabled = espCfg.tracersEnabled cfg.tracer_info_enabled = espCfg.tracerInfoEnabled cfg.backpack_view_enabled = espCfg.backpackViewEnabled cfg.health_gui_enabled = espCfg.healthGuiEnabled cfg.hitbox_enabled = espCfg.hitboxEnabled cfg.hitbox_size = espCfg.hitboxSize end end save_cfg = function() pcall(function() sync_visual_cfg() writefile(cfgfile, HttpService:JSONEncode(cfg)) end) end load_cfg = function() local ok, result = pcall(function() if not isfile(cfgfile) then return end return HttpService:JSONDecode(readfile(cfgfile)) end) if ok and typeof(result) == "table" then for k, v8 in pairs(result) do cfg[k] = v8 end end end load_cfg() if typeof(cfg.old_pass_detected) ~= "table" then cfg.old_pass_detected = {} end if cfg.old_pass_detected.swat == nil then cfg.old_pass_detected.swat = false end if cfg.old_pass_detected.mafia == nil then cfg.old_pass_detected.mafia = false end if cfg.old_pass_detected.sniper == nil then cfg.old_pass_detected.sniper = false end if cfg.laser_state == nil and cfg.laser_state ~= nil then local v8 = cfg local laserState = cfg.laser_state == true v8.laser_state = laserState end local v8 = cfg local silentAim = cfg.silent_aim == true v8.silent_aim = silentAim cfg.silent_mode = nil local v9 = cfg local clamp = math.clamp local num = tonumber(cfg.silent_hit_chance) local n2 = num or 85 v9.silent_hit_chance = clamp(n2, 0, 100) local v10 = cfg local clamp2 = math.clamp local num2 = tonumber(cfg.silent_fov_size) local n3 = num2 or 150 v10.silent_fov_size = clamp2(n3, 10, 500) local v11 = cfg local v12 = tostring local silentHitPart = cfg.silent_hit_part local str4 = silentHitPart or "all" v11.silent_hit_part = v12(str4):lower() if cfg.silent_hit_part ~= "hrp" and cfg.silent_hit_part ~= "torso" and cfg.silent_hit_part ~= "head" and cfg.silent_hit_part ~= "all" and cfg.silent_hit_part ~= "proximity" then cfg.silent_hit_part = "all" end local v13 = cfg local silentFovVisible = cfg.silent_fov_visible ~= false v13.silent_fov_visible = silentFovVisible local v14 = cfg local silentWallCheck = cfg.silent_wall_check ~= false v14.silent_wall_check = silentWallCheck local v15 = cfg local silentTeamCheck = cfg.silent_team_check ~= false v15.silent_team_check = silentTeamCheck local v16 = cfg local silentForcefieldCheck = cfg.silent_forcefield_check ~= false v16.silent_forcefield_check = silentForcefieldCheck local v17 = cfg local silentVisibility = cfg.silent_visibility == true v17.silent_visibility = silentVisibility if typeof(cfg.mobile_buttons) ~= "table" then cfg.mobile_buttons = {} end if typeof(cfg.pc_keybinds) ~= "table" then cfg.pc_keybinds = {} end if typeof(cfg.pc_keybind_position) ~= "table" then cfg.pc_keybind_position = {x = 0.5, y = 0.42} end local v18 = cfg local carspeed_ = cfg.carspeed == true v18.carspeed = carspeed_ local flag6 = cfg.fling_defaults_v4 ~= true if flag6 then for k, v19 in pairs(tbl7) do cfg[k] = v19 end cfg.fling_defaults_v4 = true end local flag7 = cfg.mod_guns ~= nil local flag8 = cfg.silent_proximity ~= nil cfg.mod_guns = nil if cfg.silent_proximity == true and cfg.silent_hit_part == "all" then cfg.silent_hit_part = "proximity" end cfg.silent_proximity = nil local v19 = cfg local v20 = tostring local getMethodGuns = cfg.get_method_guns local str5 = getMethodGuns or "normal" v19.get_method_guns = v20(str5):lower() if cfg.get_method_guns ~= "fast" then cfg.get_method_guns = "normal" end local v21 = cfg local autoReload = cfg.auto_reload == true v21.auto_reload = autoReload local v22 = cfg local autoSwitch = cfg.auto_switch == true v22.auto_switch = autoSwitch local v23 = cfg local bottonFling = cfg.botton_fling ~= false v23.botton_fling = bottonFling local v24 = cfg local flingStopDeath = cfg.fling_stop_death ~= false v24.fling_stop_death = flingStopDeath local v25 = cfg local flingNoLimit = cfg.fling_no_limit ~= false v25.fling_no_limit = flingNoLimit local v26 = cfg local v27 = tostring local flingMethod = cfg.fling_method local str6 = flingMethod or "controlled" v26.fling_method = v27(str6):lower() if cfg.fling_method ~= "aggressive" and cfg.fling_method ~= "controlled" then cfg.fling_method = "controlled" end local v28 = cfg local v29 = tostring local flingHit = cfg.fling_hit local str7 = flingHit or "torso" v28.fling_hit = v29(str7):lower() if cfg.fling_hit ~= "legs" and cfg.fling_hit ~= "torso" then cfg.fling_hit = "torso" end local v30 = cfg local flingWhip = cfg.fling_whip == true v30.fling_whip = flingWhip local v31 = cfg local v32 = tostring local antiFlingMode = cfg.anti_fling_mode local str8 = antiFlingMode or "normal" v31.anti_fling_mode = v32(str8):lower() if cfg.anti_fling_mode == "agressive" then cfg.anti_fling_mode = "aggressive" end if cfg.anti_fling_mode ~= "aggressive" then cfg.anti_fling_mode = "normal" end if flag6 or flag7 or flag8 then save_cfg() end featureStateKey = "__KeraCmd_FeatureState_V2" local v33 = featureState local tbl8 = v33 or {} featureState = tbl8 pcall(function() if getgenv then local genv2 = getgenv() local v34 = featureStateKey local v35 = getgenv()[featureStateKey] local tbl9 = v35 or {} genv2[v34] = tbl9 local v36 = getgenv()[featureStateKey] featureState = v36 end end) featureSet = function(arg2, arg3) local v34 = featureState local str9 = tostring(arg2) local flag9 = arg3 == true v34[str9] = flag9 end featureGet = function(arg2, arg3) local v34 = featureState[tostring(arg2)] if v34 == nil then local flag9 = arg3 == true return flag9 end local flag9 = v34 == true return flag9 end featureSyncFromConfig = function() local v34 = featureSet local v35 = "kill_feedback" local flag9 = cfg.kill_feedback == true v34(v35, flag9) local v36 = featureSet local v37 = "aim_detect" local flag10 = cfg.aim_detect == true v36(v37, flag10) local v38 = featureSet local flag11 = cfg.fling_detector == true v38("fling_detector", flag11) local v39 = featureSet local flag12 = cfg.invisible_detection == true v39("invisible_detection", flag12) local v40 = featureSet local v41 = "lock_walkspeed" local flag13 = cfg.lock_walkspeed == true v40(v41, flag13) local v42 = featureSet local v43 = "backpack_head" local flag14 = cfg.backpack_head == true v42(v43, flag14) local v44 = featureSet local v45 = "tool_aura" local flag15 = cfg.tool_aura == true v44(v45, flag15) local v46 = featureSet local v47 = "punch_aura" local flag16 = cfg.punch_aura == true v46(v47, flag16) local v48 = featureSet local v49 = "player_list" local flag17 = cfg.player_list == true v48(v49, flag17) local v50 = featureSet local v51 = "laser_state" local flag18 = cfg.laser_state == true v50(v51, flag18) local v52 = featureSet local flag19 = cfg.auto_reload == true v52("auto_reload", flag19) local v53 = featureSet local flag20 = cfg.auto_switch == true v53("auto_switch", flag20) local v54 = featureSet local v55 = "anti_taze" local flag21 = cfg.anti_taze == true v54(v55, flag21) local v56 = featureSet local flag22 = cfg.anti_riot == true v56("anti_riot", flag22) local v57 = featureSet local v58 = "anti_fling_v1" local flag23 = cfg.anti_fling_v1 == true v57(v58, flag23) local v59 = featureSet local flag24 = cfg.wall == true v59("wall", flag24) local v60 = featureSet local v61 = "auto_respawn" local flag25 = cfg.auto_respawn == true v60(v61, flag25) local v62 = featureSet local flag26 = cfg.auto_respawn_neutral == true v62("auto_respawn_neutral", flag26) local v63 = featureSet local v64 = "auto_arrest" local flag27 = cfg.auto_arrest == true v63(v64, flag27) local v65 = featureSet local v66 = "auto_keycard" local flag28 = cfg.auto_keycard == true v65(v66, flag28) local v67 = featureSet local v68 = "noclip" local flag29 = cfg.noclip == true v67(v68, flag29) local v69 = featureSet local v70 = "inf_jump" local flag30 = cfg.inf_jump == true v69(v70, flag30) local v71 = featureSet local flag31 = cfg.carspeed == true v71("carspeed", flag31) local v72 = featureSet local flag32 = cfg.silent_aim == true v72("silent_aim", flag32) if cfg.esp_enabled ~= nil then local v73 = featureSet local flag33 = cfg.esp_enabled == true v73("esp_enabled", flag33) end if cfg.tracers_enabled ~= nil then local v73 = featureSet local flag33 = cfg.tracers_enabled == true v73("tracers_enabled", flag33) end if cfg.tracer_info_enabled ~= nil then local v73 = featureSet local flag33 = cfg.tracer_info_enabled == true v73("tracer_info_enabled", flag33) end if cfg.backpack_view_enabled ~= nil then local v73 = featureSet local flag33 = cfg.backpack_view_enabled == true v73("backpack_view_enabled", flag33) end if cfg.health_gui_enabled ~= nil then local v73 = featureSet local flag33 = cfg.health_gui_enabled == true v73("health_gui_enabled", flag33) end if cfg.hitbox_enabled ~= nil then local v73 = featureSet local flag33 = cfg.hitbox_enabled == true v73("hitbox_enabled", flag33) end end featureSyncFromConfig() save_feature_cfg = function(arg2, arg3, arg4) local v34 = featureSet local flag9 = arg4 == true v34(arg2, flag9) local v35 = cfg local flag10 = arg4 == true v35[arg3] = flag10 save_cfg() end refreshFeatureRuntime = function() cfg.kill_feedback = featureGet("kill_feedback", cfg.kill_feedback) cfg.aim_detect = featureGet("aim_detect", cfg.aim_detect) cfg.fling_detector = featureGet("fling_detector", cfg.fling_detector) cfg.invisible_detection = featureGet("invisible_detection", cfg.invisible_detection) cfg.lock_walkspeed = featureGet("lock_walkspeed", cfg.lock_walkspeed) cfg.backpack_head = featureGet("backpack_head", cfg.backpack_head) cfg.tool_aura = featureGet("tool_aura", cfg.tool_aura) cfg.punch_aura = featureGet("punch_aura", cfg.punch_aura) cfg.player_list = featureGet("player_list", cfg.player_list) cfg.laser_state = featureGet("laser_state", cfg.laser_state) cfg.auto_reload = featureGet("auto_reload", cfg.auto_reload) cfg.auto_switch = featureGet("auto_switch", cfg.auto_switch) cfg.anti_taze = featureGet("anti_taze", cfg.anti_taze) cfg.anti_riot = featureGet("anti_riot", cfg.anti_riot) cfg.anti_fling_v1 = featureGet("anti_fling_v1", cfg.anti_fling_v1) cfg.wall = featureGet("wall", cfg.wall) cfg.auto_respawn = featureGet("auto_respawn", cfg.auto_respawn) cfg.auto_respawn_neutral = featureGet("auto_respawn_neutral", cfg.auto_respawn_neutral) cfg.auto_arrest = featureGet("auto_arrest", cfg.auto_arrest) cfg.auto_keycard = featureGet("auto_keycard", cfg.auto_keycard) cfg.noclip = featureGet("noclip", cfg.noclip) cfg.inf_jump = featureGet("inf_jump", cfg.inf_jump) cfg.carspeed = featureGet("carspeed", cfg.carspeed) cfg.silent_aim = featureGet("silent_aim", cfg.silent_aim) end local v34 = db local tbl9 = v34 or {} db = tbl9 dbViewDirty = true dbRenderBusy = false db_default = function() return { version = "1.0", fling_counter_epoch = 1, starts = {}, flings = {}, kills = {}, skids_added = {}, skid_encounters = {}, } end db_date = function(arg2) local date = os.date local num3 = tonumber(arg2) local now2 = num3 or os.time() return date("%d/%m/%Y %H:%M:%S", now2) end db_account = function() return { userId = LocalPlayer.UserId, name = LocalPlayer.Name, displayName = LocalPlayer.DisplayName, date = db_date(), time = os.time(), placeId = PlaceId, jobId = JobId, } end db_player = function(arg2) if not arg2 then return {userId = 0, name = "Unknown", displayName = "Unknown"} end local tbl10 = { userId = arg2.UserId, name = arg2.Name, displayName = arg2.DisplayName, } local team = arg2.Team local name = team and arg2.Team.Name or "None" tbl10.team = name return tbl10 end db_fmt_player = function(arg2) if not arg2 then return "Unknown" end local v35 = tostring local displayName = arg2.displayName local name = displayName or arg2.name or "Unknown" local v36 = v35(name) local v37 = tostring local name2 = arg2.name local v38 = name2 or v36 local v39 = v37(v38) if v36 == v39 then return v39 end return v36 .. " (@" .. v39 .. ")" end db_load = function() local v35 = db_default() db = v35 local ok, result = pcall(function() if not isfile(dbfile) then return end return HttpService:JSONDecode(readfile(dbfile)) end) if ok and typeof(result) == "table" then for k, v36 in pairs(result) do db[k] = v36 end end local flag9 = typeof(result) ~= "table" or tonumber(result.fling_counter_epoch) ~= 1 for k, v36 in pairs(db_default()) do if typeof(db[k]) ~= typeof(v36) then db[k] = v36 end end if flag9 then db.flings = {} db.fling_counter_epoch = 1 db_save() end dbViewDirty = true end db_save = function() pcall(function() writefile(dbfile, HttpService:JSONEncode(db)) end) end db_trim = function(arg2, arg3) end db_add = function(arg2, arg3) if typeof(db) ~= "table" then db_load() end if typeof(db[arg2]) ~= "table" then db[arg2] = {} end local tbl10 = arg3 or {} local v35 = tbl10 local time = tbl10.time local now2 = time or os.time() v35.time = now2 local date = v35.date local v36 = date or db_date(v35.time) v35.date = v36 local account = v35.account local v37 = account or db_account() v35.account = v37 local placeId = v35.placeId local v38 = placeId or PlaceId v35.placeId = v38 local jobId = v35.jobId local v39 = jobId or JobId v35.jobId = v39 table.insert(db[arg2], v35) dbViewDirty = true db_save() if db_view_open and db_render then task.defer(db_render) end end db_track_start = function() db_add("starts", {type = "script_start", account = db_account()}) end db_track_fling = function(arg2) db_add("flings", {type = "fling", target = db_player(arg2)}) end db_track_kill = function(arg2, arg3) local v35 = db_add local tbl10 = {type = "kill"} local mode = arg3 or "player" tbl10.mode = mode tbl10.target = db_player(arg2) v35("kills", tbl10) end db_track_skid_added = function(arg2) local v35 = db_add local tbl10 = {type = "skid_added"} local target = {} local v36 = tonumber local key = arg2 and arg2.key local v37 = v36(key) local userId = v37 or 0 target.userId = userId local name = arg2 and arg2.name or "Unknown" target.name = name local displayName = arg2 and arg2.displayName or arg2 and arg2.name or "Unknown" target.displayName = displayName tbl10.target = target local reason = arg2 and arg2.reason or "no reason" tbl10.reason = reason local addedBy = arg2 and arg2.addedBy or LocalPlayer.Name tbl10.addedBy = addedBy v35("skids_added", tbl10) end db_track_skid_encounter = function(arg2, arg3) local v35 = db_add local tbl10 = {type = "skid_encounter", target = db_player(arg2)} local reason = arg3 and arg3.reason or "no reason" tbl10.reason = reason local addedAt = arg3 and arg3.addedAt or nil tbl10.skidAddedAt = addedAt local addedAt2 = arg3 and arg3.addedAt and db_date(arg3.addedAt) or "unknown" tbl10.skidAddedDate = addedAt2 local addedBy = arg3 and arg3.addedBy or "unknown" tbl10.addedBy = addedBy local oldSkidList = arg3 and arg3.oldSkidList == true or false tbl10.oldSkidList = oldSkidList local skidOrigin = arg3 and arg3.oldSkidList == true and "old skidlist" or "skidlist" tbl10.skidOrigin = skidOrigin v35("skid_encounters", tbl10) end db_load() db_track_start() gamePassIds = {mafia = 1443271, sniper = 699360089, swat = 643697197} gamePassCache = {} oldPassKeyFromId = function(arg2) if arg2 == gamePassIds.swat then return "swat" end if arg2 == gamePassIds.mafia then return "mafia" end if arg2 == gamePassIds.sniper then return "sniper" end return nil end oldPassEnsure = function() if typeof(cfg.old_pass_detected) ~= "table" then cfg.old_pass_detected = {swat = false, mafia = false, sniper = false} end if cfg.old_pass_detected.swat == nil then cfg.old_pass_detected.swat = false end if cfg.old_pass_detected.mafia == nil then cfg.old_pass_detected.mafia = false end if cfg.old_pass_detected.sniper == nil then cfg.old_pass_detected.sniper = false end end oldPassHasTool = function(arg2) local v35 = tostring local str9 = arg2 or "" local v36 = v35(str9) local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") if backpack and backpack:FindFirstChild(v36) then return true end local character_ = LocalPlayer.Character if character_ and character_:FindFirstChild(v36) then return true end return false end oldPassSaveDetected = function(arg2, arg3) oldPassEnsure() if cfg.old_pass_detected[arg2] == true then return true end cfg.old_pass_detected[arg2] = true save_cfg() if refresh_saved_commands then task.defer(refresh_saved_commands) end if add_line then local v35 = add_line local str9 = ".passverify " .. tostring(arg2) local str10 = arg3 and " via " .. tostring(arg3) or "" v35(str9, "old pass" .. str10, false) end return true end oldPassDetectSwat = function(arg2) oldPassEnsure() if cfg.old_pass_detected.swat == true then return true end if ownsGamePass and ownsGamePass(gamePassIds.swat) then return false end if not oldPassHasTool("M4A1") then return false end local v35 = oldPassSaveDetected local str9 = arg2 or "M4A1" return v35("swat", str9) end oldPassDetectedForPassId = function(arg2) oldPassEnsure() local v35 = oldPassKeyFromId(arg2) if not v35 then return false end if v35 == "swat" then if cfg.old_pass_detected.swat == true then return true end return oldPassDetectSwat("M4A1") end local flag9 = cfg.old_pass_detected[v35] == true return flag9 end oldPassWatchTool = function(arg2) if arg2 and arg2:IsA("Tool") and arg2.Name == "M4A1" then oldPassDetectSwat("M4A1") end end local v35 = oldPassWatchBound local flag9 = v35 or false oldPassWatchBound = flag9 oldPassBindWatchers = function() if oldPassWatchBound then return end oldPassWatchBound = true task.defer(function() local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") local backpack2 = backpack or LocalPlayer:WaitForChild("Backpack", 10) if backpack2 then for i, child in ipairs(backpack2:GetChildren()) do oldPassWatchTool(child) end fn2(backpack2.ChildAdded, oldPassWatchTool) end local function fn19(arg2) if not arg2 then return end for i, child in ipairs(arg2:GetChildren()) do oldPassWatchTool(child) end fn2(arg2.ChildAdded, oldPassWatchTool) task.delay(0.35, function() oldPassDetectSwat("character") end) end if LocalPlayer.Character then fn19(LocalPlayer.Character) end fn2(LocalPlayer.CharacterAdded, fn19) task.delay(1, function() oldPassDetectSwat("startup") end) end) end passVerifyCommand = function(arg2) local v36 = tostring local str9 = arg2 or "" if v36(str9):lower():gsub("^%s+", ""):gsub("%s+$", "") == "swat" then if not oldPassDetectSwat("manual check") and cfg.old_pass_detected.swat ~= true then add_line(".passverify swat", "no old pass yet | get M4A1 first", true) red_anim() else add_line(".passverify swat", "old pass: swat", false) end return true end add_line(".passverify", "use .passverify swat", true) red_anim() return false end oldPassBindWatchers() ownsGamePass = function(arg2) if not arg2 then return true end if gamePassCache[arg2] ~= nil then return gamePassCache[arg2] end local ok, result = pcall(function() return MarketplaceService:UserOwnsGamePassAsync(LocalPlayer.UserId, arg2) end) local v36 = gamePassCache local flag10 = ok and result == true v36[arg2] = flag10 return gamePassCache[arg2] end passName = function(arg2) if arg2 == gamePassIds.mafia then return "mafia" end if arg2 == gamePassIds.sniper then return "sniper" end if arg2 == gamePassIds.swat then return "swat" end return "gamepass" end canUseWeaponData = function(arg2) if not arg2 or not arg2.passId then return true end if not ownsGamePass(arg2.passId) then return oldPassDetectedForPassId(arg2.passId) end return true end gamepassBlockedMessage = function(arg2) local v36 = passName local passId = arg2 and arg2.passId return "need gamepass: " .. v36(passId) end cmdColorForPass = function(arg2) if not arg2 or ownsGamePass(arg2) then return color(220, 230, 245) end if not oldPassDetectedForPassId(arg2) then return color(255, 95, 110) end return color(120, 255, 170) end cmdTextForPass = function(arg2, arg3) if not arg3 or ownsGamePass(arg3) then return arg2 end if not oldPassDetectedForPassId(arg3) then return arg2 .. " (needs gamepass)" end return arg2 .. " (old pass)" end saves = {} cf_to_string = function(arg2) return table.concat({arg2:GetComponents()}, ",") end string_to_cf = function(arg2) if typeof(arg2) ~= "string" then return nil end local tbl10 = {} for match in string.gmatch(arg2, "[^,]+") do tbl10[#tbl10 + 1] = tonumber(match) end if #tbl10 < 12 then return nil end return cframe(tbl10[1], tbl10[2], tbl10[3], tbl10[4], tbl10[5], tbl10[6], tbl10[7], tbl10[8], tbl10[9], tbl10[10], tbl10[11], tbl10[12]) end table_to_cf = function(arg2) if typeof(arg2) == "table" and #arg2 >= 12 then return cframe(tonumber(arg2[1]), tonumber(arg2[2]), tonumber(arg2[3]), tonumber(arg2[4]), tonumber(arg2[5]), tonumber(arg2[6]), tonumber(arg2[7]), tonumber(arg2[8]), tonumber(arg2[9]), tonumber(arg2[10]), tonumber(arg2[11]), tonumber(arg2[12])) end return nil end any_to_cf = function(arg2) if typeof(arg2) == "string" then return string_to_cf(arg2) end if typeof(arg2) == "table" then return table_to_cf(arg2) end end save_saves = function() pcall(function() writefile(tpfile, HttpService:JSONEncode(saves)) end) end load_saves = function() local ok, result = pcall(function() if not isfile(tpfile) then return end return HttpService:JSONDecode(readfile(tpfile)) end) if ok and typeof(result) == "table" then saves = result else saves = {} end end find_save = function(arg2) local v36 = tostring local str9 = arg2 or "" local str10 = v36(str9):lower():gsub("^%s+", ""):gsub("%s+$", "") if str10 == "" then return nil end for i, v37 in ipairs(saves) do if tostring(v37.Name):lower() == str10 then return v37, i end end for i, v37 in ipairs(saves) do local str11 = tostring(v37.Name):lower() if str11:sub(1, #str10) == str10 or str11:find(str10, 1, true) then return v37, i end end end load_saves() local v36 = savedServers local tbl10 = v36 or {} savedServers = tbl10 serverTrim = function(arg2) local v37 = tostring local str9 = arg2 or "" return v37(str9):gsub("^%s+", ""):gsub("%s+$", "") end serverPlaceLabel = function(arg2) local num3 = tonumber(arg2) local n4 = num3 or 0 local v37 = n4 if n4 == 135564683255158 then return "Prison Life VC" end if n4 == 155615604 then return "Prison Life" end return "Place " .. tostring(v37) end serverModeLabel = function(arg2) local num3 = tonumber(arg2) local n4 = num3 or 0 local v37 = n4 if n4 == 135564683255158 then return "VC" end if n4 == 155615604 then return "NO VC" end return tostring(v37) end serverNormalizeJobId = function(arg2) local str9 = serverTrim(arg2):lower() if str9:match("^%x%x%x%x%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%x%x%x%x%x%x%x%x$") then return str9 end if not str9:match("^%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x%x$") then return nil end return table.concat({ str9:sub(1, 8), str9:sub(9, 12), str9:sub(13, 16), str9:sub(17, 20), str9:sub(21, 32), }, "-") end serverMakeJoinLink = function(arg2, arg3) return "roblox://placeId=" .. tostring(arg2) .. "&gameInstanceId=" .. tostring(arg3) end save_saved_servers = function() pcall(function() writefile(serverfile, HttpService:JSONEncode(savedServers)) end) end load_saved_servers = function() local ok, result = pcall(function() if not isfile(serverfile) then return end return HttpService:JSONDecode(readfile(serverfile)) end) savedServers = {} if ok and typeof(result) == "table" then for i, v37 in ipairs(result) do if typeof(v37) == "table" then local v38 = serverTrim(v37.Name) local num3 = tonumber(v37.PlaceId) local v39 = serverNormalizeJobId(v37.JobId) if v38 ~= "" and num3 and v39 then local v40 = savedServers local n4 = #savedServers + 1 local tbl11 = {Name = v38, PlaceId = num3, JobId = v39} local num4 = tonumber(v37.Time) local now2 = num4 or os.time() tbl11.Time = now2 local status = v37.Status == "closed" and "closed" or v37.Status == "missing" and "missing" or nil tbl11.Status = status v40[n4] = tbl11 end end end end end find_saved_server = function(arg2) local str9 = serverTrim(arg2):lower() if str9 == "" then return nil end for i, v37 in ipairs(savedServers) do if tostring(v37.Name):lower() == str9 then return v37, i end end for i, v37 in ipairs(savedServers) do local str10 = tostring(v37.Name):lower() if str10:sub(1, #str9) == str9 or str10:find(str9, 1, true) then return v37, i end end return nil end find_saved_server_by_instance = function(arg2, arg3) local num3 = tonumber(arg2) local v37 = serverNormalizeJobId(arg3) if not num3 or not v37 then return nil end for i, v38 in ipairs(savedServers) do if tonumber(v38.PlaceId) == num3 and serverNormalizeJobId(v38.JobId) == v37 then return v38, i end end return nil end save_current_server = function(arg2) local v37 = serverTrim(arg2) if v37 == "" then add_line(".saveserver", "use .saveserver name", true) red_anim() return false end local v38 = serverNormalizeJobId(JobId) if not v38 then add_line(".saveserver " .. v37, "invalid current JobId", true) red_anim() return false end local tbl11 = { Name = v37, PlaceId = tonumber(PlaceId), JobId = v38, Time = os.time(), } local v39, v40 = find_saved_server(v37) local v41, v42 = find_saved_server_by_instance(PlaceId, v38) if v39 and v40 then savedServers[v40] = tbl11 if v42 and v42 ~= v40 then table.remove(savedServers, v42) end elseif v41 and v42 then savedServers[v42] = tbl11 else savedServers[#savedServers + 1] = tbl11 end save_saved_servers() if refresh_saved_commands then refresh_saved_commands() end add_line(".saveserver " .. v37, "server saved: " .. v37 .. " [" .. serverModeLabel(PlaceId) .. "]", false) return true end clear_saved_server = function(arg2) local v37 = serverTrim(arg2) if v37 == "" then add_line(".clearserver", "use .clearserver all/name", true) red_anim() return false end if v37:lower() == "all" then local n4 = #savedServers table.clear(savedServers) save_saved_servers() if refresh_saved_commands then refresh_saved_commands() end add_line(".clearserver all", "saved servers cleared: " .. tostring(n4), false) return true end local v38, v39 = find_saved_server(v37) if v38 and v39 then local serverDeleted = tostring(v38.Name) table.remove(savedServers, v39) save_saved_servers() if refresh_saved_commands then refresh_saved_commands() end add_line(".clearserver " .. v37, "server deleted: " .. serverDeleted, false) return true end add_line(".clearserver " .. v37, "saved server not found", true) red_anim() return false end serverClipboardSet = function(arg2) local v37 = tostring local str9 = arg2 or "" local v38 = v37(str9) local v39 = setclipboard local v40 = v39 or toclipboard or set_clipboard if typeof(v40) == "function" then return pcall(v40, v38) end local v41 = _G if typeof(getgenv) == "function" then local ok, result = pcall(getgenv) if ok and typeof(result) == "table" then v41 = result end end local value = rawget(v41, "Clipboard") if typeof(value) == "table" and typeof(value.set) == "function" then return pcall(value.set, v38) end return false end copy_current_server_id = function(arg2) local v37 = serverNormalizeJobId(JobId) if not v37 then add_line(".jobid", "invalid current JobId", true) red_anim() return false end local str9 = serverTrim(arg2):lower() local str10, str11 if str9 ~= "raw" and str9 ~= "id" then if str9 == "compact" then str10 = v37:gsub("%-", "") str11 = "compact JobId" else str10 = serverMakeJoinLink(PlaceId, v37) str11 = "server link" end else str10 = v37 str11 = "raw JobId" end if not serverClipboardSet(str10) then add_line(".jobid", "clipboard unavailable", true) red_anim() return false end add_line(".jobid", str11 .. " copied", false) return true end parse_join_server_target = function(arg2) local v37 = serverTrim(arg2) if v37 == "" then return nil end local v38 = find_saved_server(v37) if v38 then return tonumber(v38.PlaceId), serverNormalizeJobId(v38.JobId), v38.Name end local match = v37:match("[Pp]lace[Ii]d=(%d+)") local match2 = v37:match("[Gg]ame[Ii]nstance[Ii]d=([%x%-]+)") if match and match2 then local v39 = serverNormalizeJobId(match2) if v39 then return tonumber(match), v39, serverPlaceLabel(match) end end local v39 = serverNormalizeJobId(v37) if not v39 then return nil end for i, v40 in ipairs(savedServers) do if serverNormalizeJobId(v40.JobId) == v39 then return tonumber(v40.PlaceId), v39, v40.Name end end return tonumber(PlaceId), v39, serverPlaceLabel(PlaceId) end savedServerStatusText = function(arg2) if not arg2 then return nil end if arg2.Status == "closed" then return "server closed" end if arg2.Status == "missing" then return "no longer exists" end return nil end savedServerSetStatus = function(arg2, arg3, status) local v37 = find_saved_server_by_instance(arg2, arg3) if not v37 then return false end v37.Status = status save_saved_servers() if refresh_saved_commands then task.defer(refresh_saved_commands) end return true end serverTeleportStateKey = "__KeraCmd_ServerTeleportState_V1" serverTeleportState = {pending = nil, connection = nil} pcall(function() if getgenv then local genv2 = getgenv() local v37 = genv2[serverTeleportStateKey] if typeof(v37) == "table" and v37.connection then pcall(function() v37.connection:Disconnect() end) end genv2[serverTeleportStateKey] = serverTeleportState end end) serverTeleportFailureMessage = function(arg2, arg3) local v37 = tostring local str9 = arg3 or "unknown" local v38 = v37(str9) if arg2 == Enum.TeleportResult.GameFull then return "saved server " .. v38 .. " is full" end if arg2 == Enum.TeleportResult.GameEnded then return "saved server " .. v38 .. " is closed" end if arg2 == Enum.TeleportResult.GameNotFound then return "saved server " .. v38 .. " no longer exists" end if arg2 == Enum.TeleportResult.Unauthorized then return "saved server " .. v38 .. " is unavailable or unauthorized" end if arg2 == Enum.TeleportResult.Failure then return "fatal error in serverhoping" end local v39 = tostring local name = arg2 and arg2.Name or "unknown" return "teleport failed: " .. v39(name) end serverTeleportState.connection = fn2(TeleportService.TeleportInitFailed, function(arg2, arg3, arg4, arg5, arg6) if arg2 ~= LocalPlayer then return end local pending = serverTeleportState.pending if not pending then return end local serverInstanceId = arg6 and arg6.ServerInstanceId or pending and pending.JobId or nil local num3 = tonumber(arg5) local num4 = num3 or pending and tonumber(pending.PlaceId) or tonumber(PlaceId) local name = pending and pending.Name or "unknown" if serverInstanceId then local v37 = serverNormalizeJobId(serverInstanceId) local str9 = v37 or tostring(serverInstanceId) serverInstanceId = str9 end if arg3 == Enum.TeleportResult.GameEnded and serverInstanceId then savedServerSetStatus(num4, serverInstanceId, "closed") elseif arg3 == Enum.TeleportResult.GameNotFound and serverInstanceId then savedServerSetStatus(num4, serverInstanceId, "missing") end local v37 = serverTeleportFailureMessage(arg3, name) local str9 = v37 if arg4 and arg4 ~= "" and arg3 ~= Enum.TeleportResult.GameFull and arg3 ~= Enum.TeleportResult.GameEnded and arg3 ~= Enum.TeleportResult.GameNotFound and arg3 ~= Enum.TeleportResult.Unauthorized and arg3 ~= Enum.TeleportResult.Failure then str9 = v37 .. " | " .. tostring(arg4) end add_line(".joinserver " .. tostring(name), str9, true) if red_anim then red_anim() end serverTeleportState.pending = nil end) join_saved_server = function(arg2) serverTeleportState.pending = nil local v37, v38, v39 = parse_join_server_target(arg2) if v37 and v38 then if tonumber(v37) == tonumber(PlaceId) and v38 == serverNormalizeJobId(JobId) then add_line(".joinserver " .. serverTrim(arg2), "you are already in this server", true) red_anim() return false end local v40 = find_saved_server_by_instance(v37, v38) local name = v40 and v40.Name or v39 or serverPlaceLabel(v37) add_line(".joinserver " .. serverTrim(arg2), "joining " .. tostring(name) .. " [" .. serverModeLabel(v37) .. "]", false) serverTeleportState.pending = { Name = tostring(name), PlaceId = tonumber(v37), JobId = tostring(v38), } local ok, result = pcall(function() TeleportService:TeleportToPlaceInstance(tonumber(v37), tostring(v38), LocalPlayer) end) if ok then return true end serverTeleportState.pending = nil local v41 = add_line local str9 = ".joinserver " .. serverTrim(arg2) local str10 = result and " | " .. tostring(result) or "" v41(str9, "fatal error in serverhoping" .. str10, true) if red_anim then red_anim() end return false end add_line(".joinserver " .. serverTrim(arg2), "server name/JobId not found", true) red_anim() return false end show_saved_servers = function() add_line(".servers", "servers saved: " .. tostring(#savedServers), false) if #savedServers == 0 then if add_secondary_line then add_secondary_line(".servers", "no saved servers") end return true end for i, v37 in ipairs(savedServers) do local v38 = savedServerStatusText(v37) local str9 = tostring(v37.Name) local v39 = serverModeLabel(v37.PlaceId) local str10 = tostring(v37.JobId) local str11 = v38 and " (" .. v38 .. ")" or "" local str12 = str9 .. " [" .. v39 .. "] | " .. str10 .. str11 if v38 then add_line(".servers", str12, true) elseif add_secondary_line then add_secondary_line(".servers", str12) else add_line(".servers", str12, false) end end return true end load_saved_servers() get_char = function() local character_ = LocalPlayer.Character local result = character_ or LocalPlayer.CharacterAdded:Wait() return result end get_root = function() local v37 = get_char() local humanoidRootPart = v37 and v37:FindFirstChild("HumanoidRootPart") return humanoidRootPart end get_hum = function() local v37 = get_char() local humanoid_ = v37 and v37:FindFirstChildOfClass("Humanoid") return humanoid_ end char = function(arg2) local character_ = arg2 and arg2.Character return character_ end hum = function(arg2) local v37 = char(arg2) local humanoid_ = v37 and v37:FindFirstChildOfClass("Humanoid") return humanoid_ end root = function(arg2) local v37 = char(arg2) local humanoidRootPart = v37 and v37:FindFirstChild("HumanoidRootPart") return humanoidRootPart end local v37 = autoRespawnState local v38 = v37 if not v37 then local tbl11 = {} v38 = tbl11 tbl11.enabled = false tbl11.pos = nil tbl11.neutralPos = nil tbl11.pendingNeutralReturn = false tbl11.lastTeam = "" tbl11.charConn = nil tbl11.diedConn = nil tbl11.arrestedConn = nil tbl11.teamConn = nil tbl11.token = 0 tbl11.isArrested = false tbl11.maxReturnTicks = 18 tbl11.pendingReturn = nil tbl11.pendingReturnToken = nil tbl11.pendingReturnReason = nil tbl11.manualBusy = false tbl11.manualBusyReason = nil tbl11.manualBusyId = 0 tbl11.gunManualOp = nil tbl11.returnDelay = 0 end autoRespawnState = v38 autoRespawnDisconnectDied = function() if autoRespawnState.diedConn then pcall(function() autoRespawnState.diedConn:Disconnect() end) autoRespawnState.diedConn = nil end end autoRespawnShouldSave = function() local team = LocalPlayer.Team local name = team and LocalPlayer.Team.Name or "" local flag10 = name == "Guards" or name == "Inmates" return flag10 end autoRespawnShouldReturn = function() local team = LocalPlayer.Team local name = team and LocalPlayer.Team.Name or "" local flag10 = name ~= "Criminals" return flag10 end autoRespawnIsUnsafeY = function(arg2) local num3 = tonumber(arg2) if not num3 then return true end if num3 <= -5 then return true end if num3 >= 130 then return true end return false end autoRespawnIsIgnoredRayPart = function(arg2) if not arg2 then return true end if arg2 == floor or arg2 == floor2 or arg2 == floor3 then return true end if tostring(arg2.Name) == "StunPart" then return true end local model = arg2:FindFirstAncestorOfClass("Model") if model and model:FindFirstChildOfClass("Humanoid") then return true end return false end autoRespawnGroundCFrame = function(arg2) if not arg2 then return nil end local position = arg2.Position local filterDescendantsInstances = {LocalPlayer.Character} if floor then table.insert(filterDescendantsInstances, floor) end if floor2 then table.insert(filterDescendantsInstances, floor2) end if floor3 then table.insert(filterDescendantsInstances, floor3) end local raycastParams = RaycastParams.new() raycastParams.FilterDescendantsInstances = filterDescendantsInstances raycastParams.FilterType = Enum.RaycastFilterType.Exclude raycastParams.IgnoreWater = true local hit = Workspace:Raycast(position, vector(0, -600, 0), raycastParams) if not hit or not hit.Instance or autoRespawnIsIgnoredRayPart(hit.Instance) then return nil end local n4 = hit.Position.Y + 3 if autoRespawnIsUnsafeY(n4) then return nil end local v39, v40 = arg2.CFrame:ToOrientation() return cframe(position.X, n4, position.Z) * CFrame.Angles(0, v40, 0) end autoRespawnResolveSaveCFrame = function(arg2) if not arg2 or not arg2.Parent then return nil end local position = arg2.Position if position.Y <= -5 then return nil end if position.Y >= 70 then return autoRespawnGroundCFrame(arg2) end if not autoRespawnIsUnsafeY(position.Y) then return arg2.CFrame end return nil end autoRespawnValidReturnCFrame = function(arg2) if typeof(arg2) ~= "CFrame" then return false end local flag10 if autoRespawnIsUnsafeY(arg2.Position.Y) then flag10 = false else flag10 = true end return flag10 end autoRespawnQueueReturn = function(pendingReturn, arg2, arg3) if not autoRespawnState or not autoRespawnState.enabled then return false end if not autoRespawnValidReturnCFrame(pendingReturn) then return false end autoRespawnState.pendingReturn = pendingReturn local v39 = autoRespawnState local token = arg2 or autoRespawnState.token v39.pendingReturnToken = token local v40 = autoRespawnState local v41 = tostring local str9 = arg3 or "command" v40.pendingReturnReason = v41(str9) return true end autoRespawnApplyReturn = function(cFrame, arg2, arg3) if not autoRespawnState or not autoRespawnState.enabled then return false end if arg2 and autoRespawnState.token ~= arg2 then return false end if not autoRespawnValidReturnCFrame(cFrame) then return false end if autoRespawnState.manualBusy ~= true and gunRunning ~= true then local num3 = tonumber(autoRespawnState.maxReturnTicks) local n4 = num3 or 14 for i = 1, n4 do if not autoRespawnState.enabled or arg2 and autoRespawnState.token ~= arg2 then break end if autoRespawnState.manualBusy ~= true and gunRunning ~= true then local character_ = LocalPlayer.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") local humanoidRootPart = character_ and character_:FindFirstChild("HumanoidRootPart") if not character_ or not humanoid_ or not humanoidRootPart or humanoid_.Health <= 0 then break end pcall(function() humanoidRootPart.AssemblyLinearVelocity = Vector3.zero humanoidRootPart.AssemblyAngularVelocity = Vector3.zero humanoidRootPart.CFrame = cFrame end) RunService.RenderStepped:Wait() continue end local v39 = autoRespawnQueueReturn local str9 = arg3 or "manual command" v39(cFrame, arg2, str9) return false end if not arg2 or autoRespawnState.token == arg2 then autoRespawnState.pos = nil autoRespawnState.pendingReturn = nil autoRespawnState.pendingReturnToken = nil autoRespawnState.pendingReturnReason = nil autoRespawnState.isArrested = false end return true end local v39 = autoRespawnQueueReturn local str9 = arg3 or "manual command" v39(cFrame, arg2, str9) return false end autoRespawnTryQueuedReturn = function(arg2) if not autoRespawnState or not autoRespawnState.enabled then return false end if autoRespawnState.manualBusy == true or gunRunning == true then return false end local pendingReturn = autoRespawnState.pendingReturn local pos = pendingReturn or autoRespawnState.pos local pendingReturnToken = autoRespawnState.pendingReturnToken local token = pendingReturnToken or autoRespawnState.token if not pos then return false end local v39 = autoRespawnApplyReturn local pendingReturnReason = arg2 or autoRespawnState.pendingReturnReason or "command" return v39(pos, token, pendingReturnReason) end autoRespawnManualStart = function(arg2) if not autoRespawnState or not autoRespawnState.enabled then return nil end local v39 = autoRespawnState local manualBusyId = autoRespawnState.manualBusyId local n4 = manualBusyId or 0 v39.manualBusyId = n4 + 1 autoRespawnState.manualBusy = true local v40 = autoRespawnState local v41 = tostring local str9 = arg2 or "command" v40.manualBusyReason = v41(str9) return autoRespawnState.manualBusyId end autoRespawnManualFinish = function(arg2, arg3) if not autoRespawnState or not autoRespawnState.enabled then return false end if arg2 and arg2 ~= autoRespawnState.manualBusyId then return false end autoRespawnState.manualBusy = false autoRespawnState.manualBusyReason = nil task.delay(0.02, function() local v39 = autoRespawnTryQueuedReturn local str9 = arg3 or "command" v39(str9) end) return true end autoRespawnDirectTpPriority = function(arg2) if not autoRespawnState then return false end autoRespawnState.pos = nil autoRespawnState.pendingReturn = nil autoRespawnState.pendingReturnToken = nil autoRespawnState.pendingReturnReason = nil autoRespawnState.pendingNeutralReturn = false autoRespawnState.manualBusy = false autoRespawnState.manualBusyReason = nil return true end autoRespawnDeadTpBegin = function(arg2) if not autoRespawnState then return end autoRespawnState.deadTpSilent = true autoRespawnState.deadTpNoticeShown = false local v39 = autoRespawnState local v40 = tostring local str9 = arg2 or "unknown" v39.deadTpName = v40(str9) end autoRespawnDeadTpEnd = function() if not autoRespawnState then return end task.defer(function() autoRespawnState.deadTpSilent = false autoRespawnState.deadTpNoticeShown = false autoRespawnState.deadTpName = nil end) end autoRespawnDeadTpNotify = function(arg2) if not autoRespawnState or autoRespawnState.deadTpSilent ~= true then return false end if autoRespawnState.deadTpNoticeShown == true then return true end autoRespawnState.deadTpNoticeShown = true local v39 = tostring local deadTpName = arg2 or autoRespawnState.deadTpName or "unknown" local str9 = "position changed after dead to (tp): " .. v39(deadTpName) if add_secondary_line then add_secondary_line(".autore", str9) elseif add_line then add_line(".autore", str9, false) end return true end autoRespawnHandleCharacter = function(arg2) if not autoRespawnState.enabled or not arg2 then return end autoRespawnDisconnectDied() local humanoid_ = arg2:WaitForChild("Humanoid", 10) local humanoidRootPart = arg2:WaitForChild("HumanoidRootPart", 10) if not humanoid_ or not humanoidRootPart then return end local pos = autoRespawnState.pos local isArrested = autoRespawnState.isArrested local token = autoRespawnState.token if cfg.auto_respawn_neutral == true and autoRespawnState.pendingNeutralReturn and autoRespawnState.neutralPos then pos = autoRespawnState.neutralPos autoRespawnState.pendingNeutralReturn = false autoRespawnState.neutralPos = nil elseif cfg.auto_respawn_neutral ~= true then autoRespawnState.pendingNeutralReturn = false autoRespawnState.neutralPos = nil end local v39 = autoRespawnShouldReturn() local v40 = v39 or isArrested local flag10 = pos and autoRespawnState.enabled and autoRespawnState.token == token and v40 and autoRespawnValidReturnCFrame(pos) and autoRespawnState.manualBusy ~= true and gunRunning ~= true if flag10 then pcall(function() humanoidRootPart.AssemblyLinearVelocity = Vector3.zero humanoidRootPart.AssemblyAngularVelocity = Vector3.zero humanoidRootPart.CFrame = pos end) end task.spawn(function() local num3 = tonumber(autoRespawnState.returnDelay) local n4 = num3 or 0 if n4 > 0 then task.wait(n4) end if pos and autoRespawnState.enabled and autoRespawnState.token == token and v40 and autoRespawnValidReturnCFrame(pos) then if autoRespawnState.manualBusy ~= true and gunRunning ~= true then autoRespawnApplyReturn(pos, token, "autorespawn") return end local v41 = autoRespawnQueueReturn local v42 = pos local manualBusyReason = autoRespawnState.manualBusyReason local str9 = manualBusyReason or "command" v41(v42, token, str9) return end if autoRespawnState.token == token then autoRespawnState.pos = nil autoRespawnState.pendingReturn = nil autoRespawnState.pendingReturnToken = nil autoRespawnState.pendingReturnReason = nil autoRespawnState.isArrested = false end end) autoRespawnState.diedConn = fn2(humanoid_.Died, function() if not autoRespawnState.enabled then return end if autoRespawnState.isArrested then return end if autoRespawnShouldSave() and humanoidRootPart and humanoidRootPart.Parent then autoRespawnState.pos = autoRespawnResolveSaveCFrame(humanoidRootPart) autoRespawnState.pendingReturn = nil autoRespawnState.pendingReturnToken = nil autoRespawnState.pendingReturnReason = nil else autoRespawnState.pos = nil autoRespawnState.pendingReturn = nil autoRespawnState.pendingReturnToken = nil autoRespawnState.pendingReturnReason = nil end end) end autoRespawnStart = function(arg2) if autoRespawnState.enabled then return true end autoRespawnState.enabled = true local v39 = autoRespawnState v39.token = v39.token + 1 autoRespawnState.pos = nil autoRespawnState.isArrested = false autoRespawnState.neutralPos = nil autoRespawnState.pendingNeutralReturn = false autoRespawnState.pendingReturn = nil autoRespawnState.pendingReturnToken = nil autoRespawnState.pendingReturnReason = nil autoRespawnState.manualBusy = false autoRespawnState.manualBusyReason = nil autoRespawnState.gunManualOp = nil if autoRespawnState.charConn then pcall(function() autoRespawnState.charConn:Disconnect() end) autoRespawnState.charConn = nil end if autoRespawnState.arrestedConn then pcall(function() autoRespawnState.arrestedConn:Disconnect() end) autoRespawnState.arrestedConn = nil end if autoRespawnState.teamConn then pcall(function() autoRespawnState.teamConn:Disconnect() end) autoRespawnState.teamConn = nil end autoRespawnState.charConn = fn2(LocalPlayer.CharacterAdded, autoRespawnHandleCharacter) local v40 = autoRespawnState local team = LocalPlayer.Team local name = team and LocalPlayer.Team.Name or "" v40.lastTeam = name autoRespawnState.teamConn = fn2(LocalPlayer:GetPropertyChangedSignal("Team"), function() if not autoRespawnState.enabled then return end local team2 = LocalPlayer.Team local name2 = team2 and LocalPlayer.Team.Name or "" local lastTeam = autoRespawnState.lastTeam if cfg.auto_respawn_neutral == true and name2 == "Neutral" and (lastTeam == "Guards" or lastTeam == "Inmates") then local v41 = get_root() if v41 then autoRespawnState.neutralPos = autoRespawnResolveSaveCFrame(v41) autoRespawnState.pendingNeutralReturn = false end elseif cfg.auto_respawn_neutral == true and (name2 == "Guards" or name2 == "Inmates") and lastTeam == "Neutral" then if autoRespawnState.neutralPos then autoRespawnState.pendingNeutralReturn = true end elseif name2 == "Criminals" or cfg.auto_respawn_neutral ~= true then autoRespawnState.neutralPos = nil autoRespawnState.pendingNeutralReturn = false end autoRespawnState.lastTeam = name2 end) local ReplicatedStorage_ = game:GetService("ReplicatedStorage") if ReplicatedStorage_:FindFirstChild("Remotes") and ReplicatedStorage_.Remotes:FindFirstChild("ClientArrested") then autoRespawnState.arrestedConn = fn2(ReplicatedStorage_.Remotes.ClientArrested.OnClientEvent, function() if not autoRespawnState.enabled then return end local character_ = LocalPlayer.Character if character_ then local humanoid_ = character_:FindFirstChildOfClass("Humanoid") local humanoidRootPart = character_:FindFirstChild("HumanoidRootPart") if humanoid_ and humanoid_.Health > 0 and humanoidRootPart then autoRespawnState.pos = autoRespawnResolveSaveCFrame(humanoidRootPart) autoRespawnState.isArrested = true humanoid_.Health = 0 end end end) end if LocalPlayer.Character then task.defer(autoRespawnHandleCharacter, LocalPlayer.Character) end featureSet("auto_respawn", true) cfg.auto_respawn = true save_cfg() if not arg2 and add_line then add_line(".autore on", "autorespawn on", false) end if refresh_saved_commands then task.defer(refresh_saved_commands) end return true end autoRespawnStop = function(arg2) autoRespawnState.enabled = false local v39 = autoRespawnState v39.token = v39.token + 1 autoRespawnState.pos = nil autoRespawnState.isArrested = false autoRespawnDisconnectDied() if autoRespawnState.charConn then pcall(function() autoRespawnState.charConn:Disconnect() end) autoRespawnState.charConn = nil end if autoRespawnState.arrestedConn then pcall(function() autoRespawnState.arrestedConn:Disconnect() end) autoRespawnState.arrestedConn = nil end if autoRespawnState.teamConn then pcall(function() autoRespawnState.teamConn:Disconnect() end) autoRespawnState.teamConn = nil end autoRespawnState.neutralPos = nil autoRespawnState.pendingNeutralReturn = false featureSet("auto_respawn", false) cfg.auto_respawn = false save_cfg() if not arg2 and add_line then add_line(".autore off", "autorespawn off", false) end if refresh_saved_commands then task.defer(refresh_saved_commands) end return true end autoRespawnSet = function(arg2, arg3) if arg2 == true then return autoRespawnStart(arg3) end return autoRespawnStop(arg3) end autoRespawnNeutralSet = function(arg2, arg3) local autoRespawnNeutral = arg2 == true cfg.auto_respawn_neutral = autoRespawnNeutral featureSet("auto_respawn_neutral", autoRespawnNeutral) save_cfg() if not autoRespawnNeutral then autoRespawnState.neutralPos = nil autoRespawnState.pendingNeutralReturn = false end if refresh_saved_commands then task.defer(refresh_saved_commands) end if not arg3 and add_line then local v39 = add_line local str9 = autoRespawnNeutral and "on" or "off" local str10 = ".aneutral " .. str9 local str11 = autoRespawnNeutral and "on" or "off" v39(str10, "autorespawn neutral save " .. str11, false) end return true end autoRespawnNeutralCommand = function(arg2) local v39 = tostring local str9 = arg2 or "" local str10 = v39(str9):lower():gsub("^%s+", ""):gsub("%s+$", "") if str10 == "on" or str10 == "true" or str10 == "1" then return autoRespawnNeutralSet(true, false) end if str10 == "off" or str10 == "false" or str10 == "0" then return autoRespawnNeutralSet(false, false) end add_line(".aneutral", "use .aneutral on/off", true) red_anim() return false end autoRespawnCommand = function(arg2) local v39 = tostring local str9 = arg2 or "" local str10 = v39(str9):lower():gsub("^%s+", ""):gsub("%s+$", "") if str10 == "on" or str10 == "true" or str10 == "1" then return autoRespawnSet(true, false) end if str10 == "off" or str10 == "false" or str10 == "0" then return autoRespawnSet(false, false) end add_line(".autore", "use .autore on/off", true) red_anim() return false end task.defer(function() task.wait(0.35) local v39 = featureGet local flag10 = cfg.auto_respawn == true if v39("auto_respawn", flag10) then autoRespawnStart(true) end end) wallState = {enabled = false, spawners = {}} local n4 = cframe(0, 2, -1.5) * CFrame.Angles(math.rad(90), math.rad(90), 0) wallDisconnect = function() fn3(wallState.conn) wallState.conn = nil end wallRefreshSpawners = function() local spawners = wallState.spawners table.clear(spawners) local prisonItems = Workspace:FindFirstChild("Prison_ITEMS") local buttons = prisonItems and prisonItems:FindFirstChild("buttons") if not buttons then return spawners end for i, descendant in ipairs(buttons:GetDescendants()) do if descendant:IsA("BasePart") and descendant.Name == "Car Spawner" then spawners[#spawners + 1] = descendant end end return spawners end wallNearSpawner = function(arg2) local spawners = wallState.spawners local v39 = spawners if #spawners == 0 then v39 = wallRefreshSpawners() end for i = #v39, 1, -1 do local v40 = v39[i] if not v40.Parent then table.remove(v39, i) continue end local n5 = v40.Position - arg2 if n5:Dot(n5) <= 400 then return true end end return false end wallFindBox = function() local carContainer = Workspace:FindFirstChild("CarContainer") local box = carContainer and carContainer:FindFirstChild("Box", true) or nil return box end wallStart = function(arg2) if wallState.enabled then return true end wallState.enabled = true wallState.last = 0 wallState.box = wallFindBox() wallRefreshSpawners() wallDisconnect() wallState.conn = fn2(RunService.Heartbeat, function() if not wallState.enabled then return end local character_ = LocalPlayer.Character local humanoidRootPart = character_ and character_:FindFirstChild("HumanoidRootPart") if not humanoidRootPart then return end local cFrame = humanoidRootPart.CFrame * n4 local box = wallState.box local box2 = box local n5 = box and box.Parent and box.Position - cFrame.Position local now2 = os.clock() if (not n5 or n5:Dot(n5) > 25) and now2 - wallState.last >= 0.5 then wallState.last = now2 if wallNearSpawner(humanoidRootPart.Position) then wallState.box = wallFindBox() box2 = wallState.box end end if box2 and box2.Parent then box2.CFrame = cFrame box2.AssemblyLinearVelocity = Vector3.zero box2.AssemblyAngularVelocity = Vector3.zero end end) save_feature_cfg("wall", "wall", true) if refresh_saved_commands then task.defer(refresh_saved_commands) end if not arg2 then if add_secondary_line then add_secondary_line(".shield on", "shield on (you need to spawn a car)") elseif add_line then add_line(".shield on", "shield on (you need to spawn a car)", false) end end return true end wallStop = function(arg2) wallState.enabled = false wallState.box = nil table.clear(wallState.spawners) wallDisconnect() save_feature_cfg("wall", "wall", false) if refresh_saved_commands then task.defer(refresh_saved_commands) end if not arg2 and add_line then add_line(".shield off", "shield off", false) end return true end wallSet = function(arg2, arg3) if arg2 == true then return wallStart(arg3) end return wallStop(arg3) end wallCommand = function(arg2) local v39 = parse_on_off(arg2) if v39 ~= nil then return wallSet(v39, false) end if add_line then add_line(".shield", "use .shield on/off", true) end if red_anim then red_anim() end return false end fn4(function() local v39 = wallState wallState.enabled = false v39.box = nil table.clear(wallState.spawners) wallDisconnect() end) task.defer(function() task.wait(0.45) local v39 = featureGet local flag10 = cfg.wall == true if v39("wall", flag10) then wallStart(true) end end) autoArrestState = { enabled = false, token = 0, busy = false, nextArrest = 0, debounce = {}, } autoArrestIsGuard = function() local team = LocalPlayer.Team local flag10 = team and LocalPlayer.Team.Name == "Guards" return flag10 end autoArrestTargetValid = function(arg2, arg3) if not arg2 or arg2 == LocalPlayer then return nil end local team = arg2.Team local name = team and arg2.Team.Name if name ~= "Inmates" and name ~= "Criminals" then return nil end local character_ = arg2.Character local humanoidRootPart = character_ and character_:FindFirstChild("HumanoidRootPart") local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") if not humanoidRootPart or not humanoid_ or humanoid_.Health <= 0 or character_:GetAttribute("Arrested") then return nil end if name == "Inmates" and character_:GetAttribute("Hostile") and not character_:GetAttribute("Tased") then return nil end local n5 = humanoidRootPart.Position - arg3 local flag10 = n5:Dot(n5) <= 64 and arg2 or nil return flag10 end autoArrestStep = function(arg2) local v39 = autoArrestState local now2 = os.clock() if not v39.enabled or v39.token ~= arg2 or v39.busy or now2 < v39.nextArrest or not autoArrestIsGuard() then return end local character_ = LocalPlayer.Character local humanoidRootPart = character_ and character_:FindFirstChild("HumanoidRootPart") if not humanoidRootPart then return end local remotes = ReplicatedStorage:FindFirstChild("Remotes") local arrestPlayer = remotes and remotes:FindFirstChild("ArrestPlayer") if not arrestPlayer then return end for i, v40 in ipairs(tbl4) do local v41 = autoArrestTargetValid(v40, humanoidRootPart.Position) if v41 then v39.busy = true v39.nextArrest = now2 + 0.25 task.spawn(function() local ok, result = pcall(arrestPlayer.InvokeServer, arrestPlayer, v41, 1) if v39.token ~= arg2 then return end if ok and result then v39.nextArrest = os.clock() + 7 end v39.busy = false end) return end continue end end autoArrestStart = function(arg2) local v39 = autoArrestState if v39.enabled then return true end v39.enabled = true v39.busy = false v39.nextArrest = 0 v39.token = v39.token + 1 local token = v39.token save_feature_cfg("auto_arrest", "auto_arrest", true) if not arg2 and add_line then add_line(".autoarrest on", "autoarrest on", false) end if refresh_saved_commands then task.defer(refresh_saved_commands) end task.spawn(function() while flag and v39.enabled and v39.token == token do if autoArrestIsGuard() then autoArrestStep(token) local character_ = LocalPlayer.Character local tool = character_ and character_:FindFirstChildWhichIsA("Tool") local v40 = tool local wait = task.wait local n5 = v40 and v40.Name == "Handcuffs" and 0.05 or 0.1 wait(n5) else task.wait(0.45) end end end) return true end autoArrestStop = function(arg2) local v39 = autoArrestState v39.enabled = false v39.busy = false v39.nextArrest = 0 v39.token = v39.token + 1 save_feature_cfg("auto_arrest", "auto_arrest", false) if not arg2 and add_line then add_line(".autoarrest off", "autoarrest off", false) end if refresh_saved_commands then task.defer(refresh_saved_commands) end return true end autoArrestSet = function(arg2, arg3) if arg2 == true then return autoArrestStart(arg3) end return autoArrestStop(arg3) end autoArrestCommand = function(arg2) local v39 = parse_on_off(arg2) if v39 ~= nil then return autoArrestSet(v39, false) end if add_line then add_line(".autoarrest", "use .autoarrest/.ar on/off", true) end if red_anim then red_anim() end return false end fn4(function() local v39 = autoArrestState autoArrestState.enabled = false v39.busy = false local v40 = autoArrestState v40.token = v40.token + 1 end) task.defer(function() task.wait(0.35) local v39 = featureGet local flag10 = cfg.auto_arrest == true if v39("auto_arrest", flag10) then autoArrestStart(true) end end) v6 = "HumanoidRootPart" local Part = fn5("Part", Workspace, "Size", vector(50, 1, 50), "Anchored", true, "Transparency", 0.9, "Color", color(0, 255, 0)) floor = Part local Part2 = fn5("Part", Workspace, "Name", "StunPart", "Size", vector(2, 0.1, 2), "Anchored", true, "Transparency", 0.94, "Color", color(0, 255, 0), "CastShadow", false) floor2 = Part2 local Part3 = fn5("Part", Workspace, "Name", "StunPart", "Size", vector(2, 0.1, 2), "Anchored", true, "Transparency", 0.94, "Color", color(0, 255, 0), "CastShadow", false) floor3 = Part3 fn4(function() for i, v39 in ipairs({floor, floor2, floor3}) do if v39 and v39.Parent then v39:Destroy() end end end) fn2(RunService.RenderStepped, function() local character_ = LocalPlayer.Character local humanoidRootPart = character_ and character_:FindFirstChild("HumanoidRootPart") if humanoidRootPart then local position = humanoidRootPart.Position floor.Position = vector(position.X, floor.Position.Y, position.Z) floor2.Position = vector(position.X, floor2.Position.Y, position.Z) floor3.Position = vector(position.X, floor3.Position.Y, position.Z) end end) ReloadGunInBackground = function(arg2) if arg2 then local num3 = tonumber(arg2:GetAttribute("Local_ReloadSession")) local n5 = num3 or 0 if n5 <= 0 then local attributes = arg2:GetAttributes() local behavior = attributes.Behavior local maxAmmo = attributes.MaxAmmo local n6 = maxAmmo or 0 local storedAmmo = attributes.StoredAmmo local n7 = storedAmmo or 0 if behavior == "Sniper" and n7 <= 0 then return end local now2 = tick() arg2:SetAttribute("Local_ReloadSession", now2) local funcReload = ReplicatedStorage:WaitForChild("GunRemotes"):WaitForChild("FuncReload") task.spawn(function() funcReload:InvokeServer() end) local reloadTime = attributes.ReloadTime local n8 = reloadTime or 2 task.wait(n8) if arg2 and arg2:GetAttribute("Local_ReloadSession") == now2 then if behavior == "Sniper" then arg2:SetAttribute("Local_CurrentAmmo", 1) else arg2:SetAttribute("Local_CurrentAmmo", n6) end arg2:SetAttribute("Local_ReloadSession", 0) end return end end end getBestTool = function() local v39 = nil local n5 = -1 local children = LocalPlayer.Backpack:GetChildren() if LocalPlayer.Character then for k, child in pairs(LocalPlayer.Character:GetChildren()) do table.insert(children, child) end end for k, child in pairs(children) do if child:IsA("Tool") and child:GetAttribute("ToolType") == "Gun" then local attribute = child:GetAttribute("Local_CurrentAmmo") local attribute2 = attribute or child:GetAttribute("CurrentAmmo") or 0 local flag10 = child:GetAttribute("Local_ReloadSession") ~= 0 local attribute3 = child:GetAttribute("Damage") local n6 = attribute3 or 10 if attribute2 > 0 and not flag10 then local n7 = n6 * attribute2 if n5 < n7 then n5 = n7 v39 = child end end end end return v39 end local tbl11 = { rules = { M4A1 = {priority = 1, minimum = 2}, ["AK-47"] = {priority = 1, minimum = 0}, MP5 = {priority = 1, minimum = 0}, FAL = {priority = 1, minimum = 2}, ["Remington 870"] = {priority = 2, minimum = 0}, M9 = {priority = 3, minimum = 1}, Revolver = {priority = 4, minimum = 1}, }, watched = setmetatable({}, {__mode = "k"}), reloads = setmetatable({}, {__mode = "k"}), switches = setmetatable({}, {__mode = "k"}), } autoWeaponState = tbl11 killWeaponBusy = 0 autoWeaponAmmo = function(arg2) local v39 = tonumber local attribute = arg2 if arg2 then local attribute2 = arg2:GetAttribute("Local_CurrentAmmo") attribute = attribute2 or arg2:GetAttribute("CurrentAmmo") end local v40 = v39(attribute) local n5 = v40 or 0 return n5 end autoWeaponSession = function(arg2) local v39 = tonumber local attribute = arg2 and arg2:GetAttribute("Local_ReloadSession") local v40 = v39(attribute) local n5 = v40 or 0 return n5 end autoWeaponKillBusy = function() local flag10 = killWeaponBusy > 0 or killExecutionBusy == true return flag10 end autoWeaponBestSwitch = function() local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") local v39 = nil local priority = nil if not backpack then return nil end for i, child in ipairs(backpack:GetChildren()) do local isTool = child:IsA("Tool") local v40 = isTool and autoWeaponState.rules[child.Name] if v40 and autoWeaponSession(child) <= 0 then local v41 = autoWeaponAmmo(child) if v40.minimum < v41 and (not priority or v40.priority < priority) then priority = v40.priority v39 = child end end end return v39 end autoWeaponTrySwitch = function(arg2, arg3) if not cfg.auto_switch or autoWeaponKillBusy() then return end if arg2.Parent ~= LocalPlayer.Character or arg3 <= 0 then return end if autoWeaponState.switches[arg2] == arg3 then return end autoWeaponState.switches[arg2] = arg3 task.delay(0.05, function() local character_ = LocalPlayer.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") if flag and cfg.auto_switch and not autoWeaponKillBusy() and autoWeaponState.switches[arg2] == arg3 and autoWeaponSession(arg2) == arg3 and humanoid_ and humanoid_.Health > 0 and arg2.Parent == character_ then local v39 = autoWeaponBestSwitch() if not v39 or not pcall(humanoid_.EquipTool, humanoid_, v39) then autoWeaponState.switches[arg2] = nil end return end if autoWeaponState.switches[arg2] == arg3 then autoWeaponState.switches[arg2] = nil end end) end autoWeaponBeginReload = function(arg2, arg3) if autoWeaponState.reloads[arg2] then return end autoWeaponState.reloads[arg2] = true task.spawn(function() if flag and cfg.auto_reload and not autoWeaponKillBusy() and arg2.Parent == LocalPlayer.Character and autoWeaponSession(arg2) <= 0 and autoWeaponAmmo(arg2) <= arg3.minimum then ReloadGunInBackground(arg2) end autoWeaponState.reloads[arg2] = nil end) end autoWeaponEvaluate = function(arg2) local isTool = arg2 and arg2:IsA("Tool") and autoWeaponState.rules[arg2.Name] if not isTool or not arg2.Parent then return end local v39 = autoWeaponSession(arg2) if v39 > 0 then autoWeaponTrySwitch(arg2, v39) return end autoWeaponState.switches[arg2] = nil if cfg.auto_reload and not autoWeaponKillBusy() and arg2.Parent == LocalPlayer.Character and autoWeaponAmmo(arg2) <= isTool.minimum then autoWeaponBeginReload(arg2, isTool) end end autoWeaponWatch = function(arg2) if not arg2 or not arg2:IsA("Tool") or autoWeaponState.watched[arg2] then return end autoWeaponState.watched[arg2] = true fn2(arg2.AttributeChanged, function(arg3) if arg3 == "Local_CurrentAmmo" or arg3 == "CurrentAmmo" or arg3 == "Local_ReloadSession" then autoWeaponEvaluate(arg2) end end) task.defer(autoWeaponEvaluate, arg2) end autoWeaponScan = function() local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") local character_ = LocalPlayer.Character local v39, v40, v41 = ipairs({backpack, character_}) local v42 = v41 local v43 = v39 local v44 = v40 while true do local v45, v46 = v43(v44, v42) if v45 == nil then break end v42 = v45 if v46 then for i, child in ipairs(v46:GetChildren()) do autoWeaponWatch(child) end v42 = v45 end end if character_ then for i, child in ipairs(character_:GetChildren()) do autoWeaponEvaluate(child) end end end autoWeaponBind = function(arg2) if not arg2 then return end for i, child in ipairs(arg2:GetChildren()) do autoWeaponWatch(child) end fn2(arg2.ChildAdded, function(arg3) autoWeaponWatch(arg3) task.defer(autoWeaponScan) end) end autoWeaponSet = function(arg2, arg3, arg4) local flag10 = arg3 == true cfg[arg2] = flag10 featureSet(arg2, flag10) save_cfg() if flag10 then task.defer(autoWeaponScan) end if refresh_saved_commands then task.defer(refresh_saved_commands) end if not arg4 and add_line then local str9 = arg2 == "auto_reload" and "autoreload" or "autoswitch" local v39 = add_line local str10 = flag10 and "on" or "off" v39("." .. str9 .. " " .. str10, nil, false) end return true end autoReloadSet = function(arg2, arg3) return autoWeaponSet("auto_reload", arg2, arg3) end autoSwitchSet = function(arg2, arg3) return autoWeaponSet("auto_switch", arg2, arg3) end autoWeaponCommandText = function(arg2, arg3) local match, v39 = arg2:match("^%.(autoreload)%s*(.*)$") local v40 = match local v41 = v39 if not match then local match2, v42 = arg2:match("^%.(autoswitch)%s*(.*)$") v40 = match2 v41 = v42 end if not v40 then return false end local v42 = parse_on_off(v41) if v42 == nil then add_line("." .. v40, "use ." .. v40 .. " on/off", true) if arg3 ~= "chat" then red_anim() end return true end local flag10 = v40 == "autoreload" and autoReloadSet or autoSwitchSet if flag10(v42, false) and arg3 ~= "chat" then collapse() end return true end autoWeaponBind(LocalPlayer:FindFirstChildOfClass("Backpack")) autoWeaponBind(LocalPlayer.Character) fn2(LocalPlayer.ChildAdded, function(arg2) if arg2:IsA("Backpack") then autoWeaponBind(arg2) task.defer(autoWeaponScan) end end) fn2(LocalPlayer.CharacterAdded, function(arg2) autoWeaponBind(arg2) task.defer(autoWeaponScan) end) task.defer(autoWeaponScan) local raycastParams = RaycastParams.new() raycastParams.FilterType = Enum.RaycastFilterType.Exclude raycastParams.IgnoreWater = true isPathClear = function(arg2, arg3, filterDescendantsInstances) raycastParams.FilterDescendantsInstances = filterDescendantsInstances local hit = Workspace:Raycast(arg2, arg3 - arg2, raycastParams) if hit and hit.Instance ~= Workspace.Terrain then return false end return true end end local fn17, fn18, tbl6, flag5 do local tbl7 = {0} for i = 0.25, 20, 0.25 do tbl7[#tbl7 + 1] = i tbl7[#tbl7 + 1] = -i end local v7 = vector(891, 40, 2339) local function fn19(arg2) local flag6 = arg2.X >= 849 and arg2.X <= 894 and arg2.Z >= 2319 and arg2.Z <= 2369 and arg2.Y < 40 return flag6 end local function fn20(arg2, arg3) local n2 = -14 local n3 = -18 if arg2.Y > 40 then n2 = 44 n3 = 40 end local n4 = arg3 - v7 if fn19(arg3) or fn19(arg2) or arg3.Y < 40 and arg2.Y >= 40 and n4:Dot(n4) <= 3025 then n2 = 44 n3 = 40 end return vector(arg2.X, n2, arg2.Z), n3, vector(arg2.X, 180, arg2.Z), 175 end local function fn21(arg2, arg3) local tbl8 = {arg2, arg3} for i, child in ipairs(Workspace:GetChildren()) do if child.Name == "StunPart" then tbl8[#tbl8 + 1] = child end end return tbl8 end local function fn22(arg2, arg3, arg4) for i, v8 in ipairs(tbl7) do local v9 = vector(arg3.X, arg3.Y + v8, arg3.Z) if isPathClear(arg2, v9, arg4) then return v9 end end return nil end fn17 = function(arg2, arg3) local character_ = arg2 and arg2.Character local v8 = character_ and character_:FindFirstChild(v6) local character_2 = LocalPlayer.Character local v9 = character_2 and character_2:FindFirstChild(v6) local muzzle = arg3 and arg3:FindFirstChild("Muzzle") if not v8 or not v9 or not muzzle then return nil end local position = v8.Position local v10 = fn21(character_2, character_) local v11 = fn22(muzzle.Position, position, v10) if v11 then return "direct", v11 end local v12, v13, v14, v15 = fn20(v9.Position, position) if fn22(v12, position, v10) then return "below", nil, v12, v13 end if not fn22(v14, position, v10) then return "impossible" end return "above", nil, v14, v15 end local tbl8 = { ["table1.Part"] = true, ["Model.FileCabinets.filecabinet.Part"] = true, ["Model.cubicle.Part"] = true, ["Model.Locker.Model.Part"] = true, Part = true, ["Gun racks.Part"] = true, ["Model.Model.Part"] = true, ["Model.Model.Wedge"] = true, ["Model.Part"] = true, ["Model.Table.Part"] = true, ["GuardBooth.Stonewall"] = true, ["island.Part"] = true, ["counter.Part"] = true, ["oven.Part"] = true, ["shelves.Part"] = true, ["boxes.Part"] = true, ["vents.kitchenfan.Part"] = true, ["Prison_Cellblock.Cells_B.cell2.Toilet.Part"] = true, ["Prison_Cellblock.Cells_B.cell2.Sink.Part"] = true, ["desk.Part"] = true, ["bookshelf.Part"] = true, ["Couch.Wedge"] = true, ["Couch.Part"] = true, ["Model.Model.Model.Block"] = true, ["Model.furniture_reception.Part"] = true, ["Plant.Model.Union"] = true, ["vending machine.Model.Part"] = true, } local raycastParams = RaycastParams.new() raycastParams.FilterType = Enum.RaycastFilterType.Exclude raycastParams.IgnoreWater = true local tbl9 = { vector(0, 0, 0), vector(0.75, 0, 0), vector(-0.75, 0, 0), vector(0, 0, 0.75), vector(0, 0, -0.75), } local obj = setmetatable({}, {__mode = "k"}) local function fn23(arg2) local parent = arg2 local tbl10 = {} while parent and parent ~= Workspace do table.insert(tbl10, 1, parent.Name) parent = parent.Parent end local str = parent == Workspace and table.concat(tbl10, ".") or nil return str end local function fn24(arg2) local v8 = obj[arg2] if v8 ~= nil then return v8 end local v9 = fn23(arg2) local flag6 = tbl8[v9] == true or v9 ~= nil and v9:match("^Prison_Cellblock%.Cells_[^%.]+%.cell%d+%.Toilet%.Part$") ~= nil or v9 ~= nil and v9:match("^Prison_Cellblock%.Cells_[^%.]+%.cell%d+%.Sink%.Part$") ~= nil obj[arg2] = flag6 local v10 = flag6 return v10 end fn18 = function(arg2) local character_ = arg2 and arg2.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") local humanoidRootPart = character_ and character_:FindFirstChild("HumanoidRootPart") if not humanoid_ or humanoid_.Health <= 0 or not humanoidRootPart then return false end local filterDescendantsInstances = {character_} for i, player in ipairs(Players:GetPlayers()) do local character_2 = player.Character if character_2 and character_2 ~= character_ then filterDescendantsInstances[#filterDescendantsInstances + 1] = character_2 end end for i, v8 in ipairs({floor, floor2, floor3}) do if v8 then filterDescendantsInstances[#filterDescendantsInstances + 1] = v8 end end raycastParams.FilterDescendantsInstances = filterDescendantsInstances for i, v8 in ipairs(tbl9) do local hit = Workspace:Raycast(humanoidRootPart.Position + v8 + vector(0, 0.75, 0), vector(0, -10, 0), raycastParams) if hit and fn24(hit.Instance) then return true end end return false end KillPlr = function(victim_, arg2, arg3, arg4) _G.Victim = victim_ local character_ = victim_.Character if character_ and character_:FindFirstChild(v6) and character_:FindFirstChild("Humanoid") then local humanoidRootPart = character_.HumanoidRootPart local humanoid_ = character_.Humanoid local character_2 = LocalPlayer.Character local humanoid_2 = character_2 and character_2:FindFirstChild("Humanoid") local v8 = character_2 and character_2:FindFirstChild(v6) if humanoid_2 and v8 then local n2 = v8.Position - humanoidRootPart.Position if n2:Dot(n2) > 902500 then _G.Victim = nil return false end local cFrame = v8.CFrame local n3 = 0 local n4 = 0 local v9, muzzle, v10, v11, v12, v13, pos, n5, shootEvent, tbl10, attribute, attribute2 repeat RunService.Heartbeat:Wait() v9 = getBestTool() if v9 then if v9.Parent ~= character_2 then humanoid_2:EquipTool(v9) task.wait(0.1) end muzzle = v9:FindFirstChild("Muzzle") if muzzle then v10, v11, v12, v13 = fn17(victim_, v9) if v10 == "below" then floor.Position = vector(v12.X, v13, v12.Z) v8.CFrame = cframe(v12) task.wait(0.1) elseif v10 == "above" then floor2.Position = vector(v12.X, v13, v12.Z) floor3.Position = vector(v12.X, v13, v12.Z) v8.CFrame = cframe(v12) task.wait(0.1) elseif v10 == "impossible" then if arg2 < n4 then break end n4 = n4 + 1 task.wait(0.1) elseif v10 == "direct" and v11 then if v11 then pos = v9.Name:find("870") n5 = (pos or v9:GetAttribute("Behavior") == "Shotgun") and 5 or 1 shootEvent = ReplicatedStorage:WaitForChild("GunRemotes"):WaitForChild("ShootEvent") tbl10 = {} for i = 1, n5 do table.insert(tbl10, {muzzle.Position, v11, humanoidRootPart}) end shootEvent:FireServer(tbl10) n3 = n3 + n5 attribute = v9:GetAttribute("Local_CurrentAmmo") attribute2 = attribute or v9:GetAttribute("CurrentAmmo") v9:SetAttribute("Local_CurrentAmmo", attribute2 - 1) if v9:GetAttribute("Local_CurrentAmmo") <= 0 then task.spawn(ReloadGunInBackground, v9) humanoid_2:UnequipTools() end task.wait(0.03) end else task.wait(0.1) end end else task.wait(0.1) end until humanoid_.Health <= 0 or victim_.Parent ~= Players or victim_.Character ~= character_ or LocalPlayer.Character ~= character_2 or not humanoid_2.Parent or humanoid_2.Health <= 0 or playerHasForceField(victim_) or arg4 and not arg4() or not arg3 and n3 >= 15 if v8 then v8.CFrame = cFrame end _G.Victim = nil local flag6 = humanoid_.Health <= 0 return flag6 end _G.Victim = nil return false end _G.Victim = nil return false end if antiFlingV1 then local v8 = pairs local smartSavedProps = antiFlingV1.smartSavedProps local tbl10 = smartSavedProps or {} for k, v9 in v8(tbl10) do if k and v9 then pcall(function() k.CanCollide = v9.CanCollide k.CanTouch = v9.CanTouch end) end end local v9 = pairs local originals = antiFlingV1.originals local tbl11 = originals or {} for k, v10 in v9(tbl11) do if k and v10 ~= nil then pcall(function() k.CanCollide = v10 end) end end local v10 = pairs local smartSeatConnections = antiFlingV1.smartSeatConnections local tbl12 = smartSeatConnections or {} for k, v11 in v10(tbl12) do if v11 then pcall(function() v11:Disconnect() end) end end for i, v11 in ipairs({antiFlingV1.descendantConn, antiFlingV1.childRemovedConn}) do if v11 then pcall(function() v11:Disconnect() end) end end end local tbl10 = {enabled = false} local v8 = cfg local antiFlingMode = v8 and cfg.anti_fling_mode or "normal" tbl10.mode = antiFlingMode tbl10.smartPermaGhostedCars = setmetatable({}, {__mode = "k"}) tbl10.smartLastCarPos = setmetatable({}, {__mode = "k"}) tbl10.protected = {} tbl10.originals = {} tbl10.descendantConn = nil tbl10.loopId = 0 tbl10.localCarCache = nil tbl10.localCarCacheAt = 0 tbl10.disabledSeatsCount = 0 tbl10.seatOriginals = {} tbl10.disabledSeats = {} tbl10.smartSavedProps = setmetatable({}, {__mode = "k"}) tbl10.smartConnectedSeats = setmetatable({}, {__mode = "k"}) tbl10.smartSeatConnections = setmetatable({}, {__mode = "k"}) tbl10.smartSeatCars = setmetatable({}, {__mode = "k"}) tbl10.smartCarSeats = setmetatable({}, {__mode = "k"}) tbl10.smartCarParts = setmetatable({}, {__mode = "k"}) tbl10.smartRegisteredCars = setmetatable({}, {__mode = "k"}) tbl10.smartGhostedCars = setmetatable({}, {__mode = "k"}) tbl10.smartCarLastProcess = setmetatable({}, {__mode = "k"}) tbl10.smartScanDelay = 8 tbl10.smartMaintainDelay = 0.5 tbl10.smartLastScan = 0 tbl10.seatScanDelay = 5 tbl10.seatLastScan = 0 tbl10.childRemovedConn = nil antiFlingV1 = tbl10 local v9 = antiFlingV15TargetCars local v10 = v9 if not v9 then local tbl11 = {} v10 = tbl11 tbl11.Sedan = true tbl11.Squad = true end antiFlingV15TargetCars = v10 antiFlingV2GetCarContainer = function() return Workspace:FindFirstChild("CarContainer") end antiFlingV2GetCarFromObject = function(arg2) local v11 = antiFlingV2GetCarContainer() if not v11 then return nil end local parent = arg2 while flag and parent and parent ~= v11 do if parent.Parent == v11 then return parent end parent = parent.Parent end return nil end antiFlingV2GetPlayerFromSeat = function(arg2) if not arg2 or not arg2:IsA("VehicleSeat") then return nil end local occupant = arg2.Occupant if not occupant then return nil end local parent = occupant.Parent if not parent then return nil end return Players:GetPlayerFromCharacter(parent) end antiFlingV2SavePart = function(arg2, arg3) if not arg2 or not arg3 or not arg3:IsA("BasePart") then return nil end local v11 = antiFlingV1 local smartSavedProps = antiFlingV1.smartSavedProps local smartSavedProps2 = smartSavedProps or setmetatable({}, {__mode = "k"}) v11.smartSavedProps = smartSavedProps2 local v12 = antiFlingV1 local smartCarParts = antiFlingV1.smartCarParts local smartCarParts2 = smartCarParts or setmetatable({}, {__mode = "k"}) v12.smartCarParts = smartCarParts2 local v13 = antiFlingV1.smartSavedProps[arg3] if v13 then return v13 end local tbl11 = { Car = arg2, CanCollide = arg3.CanCollide, CanTouch = arg3.CanTouch, } antiFlingV1.smartSavedProps[arg3] = tbl11 local v14 = antiFlingV1.smartCarParts[arg2] local v15 = v14 if not v14 then local tbl12 = {} v15 = tbl12 antiFlingV1.smartCarParts[arg2] = tbl12 end v15[arg3] = tbl11 return tbl11 end antiFlingV2MakePartGhost = function(arg2, arg3) if not antiFlingV1.enabled then return end if not arg3 or not arg3:IsA("BasePart") then return end antiFlingV2SavePart(arg2, arg3) if arg3.CanCollide ~= false then arg3.CanCollide = false end if arg3.CanTouch ~= false then arg3.CanTouch = false end end antiFlingV2RestorePart = function(arg2) local v11 = antiFlingV1 local smartSavedProps = antiFlingV1.smartSavedProps local smartSavedProps2 = smartSavedProps or setmetatable({}, {__mode = "k"}) v11.smartSavedProps = smartSavedProps2 local v12 = antiFlingV1.smartSavedProps[arg2] if not v12 then return end if arg2 then pcall(function() arg2.CanCollide = v12.CanCollide arg2.CanTouch = v12.CanTouch end) end local smartCarParts = antiFlingV1.smartCarParts local v13 = smartCarParts and antiFlingV1.smartCarParts[v12.Car] if v13 then v13[arg2] = nil end antiFlingV1.smartSavedProps[arg2] = nil end antiFlingV2ForceRestoreCar = function(arg2) if not arg2 then return end if antiFlingV1.smartGhostedCars then antiFlingV1.smartGhostedCars[arg2] = nil end if antiFlingV1.smartPermaGhostedCars then antiFlingV1.smartPermaGhostedCars[arg2] = nil end if antiFlingV1.smartCarLastProcess then antiFlingV1.smartCarLastProcess[arg2] = nil end local smartCarParts = antiFlingV1.smartCarParts local v11 = smartCarParts and antiFlingV1.smartCarParts[arg2] if not v11 then return end for k in pairs(v11) do antiFlingV2RestorePart(k) end antiFlingV1.smartCarParts[arg2] = nil end antiFlingV2GetDriverState = function(arg2) if not arg2 or not arg2.Parent then return false, false, false end local v11 = antiFlingV1GetLocalCar local v12 = v11 and antiFlingV1GetLocalCar() or nil local flag6 = v12 == arg2 local flag7 = false local flag8 = false local character_ = LocalPlayer.Character local v13 = antiFlingV1 local smartCarSeats = antiFlingV1.smartCarSeats local smartCarSeats2 = smartCarSeats or setmetatable({}, {__mode = "k"}) v13.smartCarSeats = smartCarSeats2 local v14 = antiFlingV1.smartCarSeats[arg2] local v15 = v14 if not v14 then local obj2 = setmetatable({}, {__mode = "k"}) v15 = obj2 antiFlingV1.smartCarSeats[arg2] = obj2 for i, descendant in ipairs(arg2:GetDescendants()) do if descendant:IsA("VehicleSeat") then obj2[descendant] = true end end end for k in pairs(v15) do if k and k.Parent then if k.Occupant then flag8 = true if k.Occupant.Parent == character_ then flag6 = true else flag7 = true end end else v15[k] = nil end end return flag6, flag7, flag8 end antiFlingV2IsMyCar = function(arg2) return antiFlingV2GetDriverState(arg2) end antiFlingV2HasOtherDriver = function(arg2) local v11, v12 = antiFlingV2GetDriverState(arg2) return v12 end antiFlingV2HasAnyDriver = function(arg2) local v11, v12 v12, v12, v11 = antiFlingV2GetDriverState(arg2) return v11 end antiFlingV2GhostCar = function(arg2) if not antiFlingV1.enabled or not arg2 or not arg2.Parent then return end local v11 = antiFlingV1 local smartGhostedCars = antiFlingV1.smartGhostedCars local smartGhostedCars2 = smartGhostedCars or setmetatable({}, {__mode = "k"}) v11.smartGhostedCars = smartGhostedCars2 local flag6 = antiFlingV1.smartGhostedCars[arg2] == true antiFlingV1.smartGhostedCars[arg2] = true if not flag6 then for i, descendant in ipairs(arg2:GetDescendants()) do if descendant:IsA("BasePart") then antiFlingV2MakePartGhost(arg2, descendant) end end return end local smartCarParts = antiFlingV1.smartCarParts local v12 = smartCarParts and antiFlingV1.smartCarParts[arg2] local v13 = pairs local tbl11 = v12 or {} for k in v13(tbl11) do if k and k.Parent then if k.CanCollide ~= false then k.CanCollide = false end if k.CanTouch ~= false then k.CanTouch = false end end end end antiFlingV2RestoreCar = function(arg2) antiFlingV2ForceRestoreCar(arg2) end antiFlingV2NormalizeMode = function(arg2) if arg2 == nil then return nil end local str = tostring(arg2):lower():gsub("^%s+", ""):gsub("%s+$", "") local str2 = str if str == "" then return nil end if str == "agressive" then str2 = "aggressive" end if str2 == "smart" then str2 = "normal" end local flag6 = (str2 == "normal" or str2 == "aggressive") and str2 or nil return flag6 end antiFlingV2Mode = function() local v11 = antiFlingV2NormalizeMode local v12 = cfg local antiFlingMode2 = v12 and cfg.anti_fling_mode or antiFlingV1.mode local v13 = v11(antiFlingMode2) local mode = v13 or "normal" antiFlingV1.mode = mode if cfg then cfg.anti_fling_mode = mode end return mode end antiFlingV2GetWheels = function(arg2) local wheels = arg2 and arg2:FindFirstChild("Wheels") local tbl11 = {} if not wheels then return tbl11 end for i, child in ipairs(wheels:GetChildren()) do if child:IsA("BasePart") then table.insert(tbl11, child) end end return tbl11 end antiFlingV2MaxRwdWheelDistance = function(arg2) local rwd = arg2 and arg2:FindFirstChild("RWD") if not rwd then return 0 end local n2 = 0 for i, v11 in ipairs(antiFlingV2GetWheels(arg2)) do local n3 = v11.Position - rwd.Position local v12 = n3:Dot(n3) if n2 < v12 then n2 = v12 end end return math.sqrt(n2) end antiFlingV2GetCarPosition = function(arg2) local rwd = arg2 and arg2:FindFirstChild("RWD") if rwd then return rwd.Position end local v11 = nil local v12 = ipairs local descendants = arg2 and arg2:GetDescendants() or {} for k, descendant in v12(descendants) do if descendant:IsA("VehicleSeat") then v11 = descendant break end continue end if v11 then return v11.Position end local body_ = arg2 and arg2:FindFirstChild("Body") local basePart = body_ and body_:FindFirstChildWhichIsA("BasePart", true) local position = basePart and basePart.Position or nil return position end antiFlingV2IsTeleportCar = function(arg2) if not antiFlingV2IsMyCar(arg2) then local v11 = antiFlingV2GetCarPosition(arg2) if not v11 then return false end local v12 = antiFlingV1 local smartLastCarPos = antiFlingV1.smartLastCarPos local smartLastCarPos2 = smartLastCarPos or setmetatable({}, {__mode = "k"}) v12.smartLastCarPos = smartLastCarPos2 local v13 = antiFlingV1.smartLastCarPos[arg2] antiFlingV1.smartLastCarPos[arg2] = v11 if not v13 then return false end local n2 = v11 - v13 local v14 = antiFlingV2MaxRwdWheelDistance(arg2) local flag6 = n2:Dot(n2) >= 1225 and v14 <= 18 return flag6 end antiFlingV2ClearLocalCarState(arg2) return false end antiFlingV2HasAbnormalBehavior = function(arg2) if not arg2 or not arg2.Parent then return false end if not antiFlingV2IsMyCar(arg2) then if antiFlingV2MaxRwdWheelDistance(arg2) > 20 then return true end if not antiFlingV2IsTeleportCar(arg2) then return false end return true end antiFlingV2ClearLocalCarState(arg2) return false end antiFlingV2ClearLocalCarState = function(arg2) if not arg2 then return end if antiFlingV1.smartGhostedCars and antiFlingV1.smartGhostedCars[arg2] then antiFlingV2ForceRestoreCar(arg2) end if antiFlingV1.smartPermaGhostedCars then antiFlingV1.smartPermaGhostedCars[arg2] = nil end if antiFlingV1.smartGhostedCars then antiFlingV1.smartGhostedCars[arg2] = nil end if antiFlingV1.smartCarLastProcess then antiFlingV1.smartCarLastProcess[arg2] = nil end if antiFlingV1.smartLastCarPos then antiFlingV1.smartLastCarPos[arg2] = nil end end antiFlingV2IsPermaGhosted = function(arg2) local v11 = antiFlingV1 local smartPermaGhostedCars = antiFlingV1.smartPermaGhostedCars local smartPermaGhostedCars2 = smartPermaGhostedCars or setmetatable({}, {__mode = "k"}) v11.smartPermaGhostedCars = smartPermaGhostedCars2 local flag6 = arg2 and antiFlingV1.smartPermaGhostedCars[arg2] == true return flag6 end antiFlingV2ProcessCar = function(arg2, arg3) if not antiFlingV1.enabled or not arg2 or not arg2.Parent then return end local v11 = antiFlingV1 local smartGhostedCars = antiFlingV1.smartGhostedCars local smartGhostedCars2 = smartGhostedCars or setmetatable({}, {__mode = "k"}) v11.smartGhostedCars = smartGhostedCars2 local v12 = antiFlingV1 local smartCarLastProcess = antiFlingV1.smartCarLastProcess local smartCarLastProcess2 = smartCarLastProcess or setmetatable({}, {__mode = "k"}) v12.smartCarLastProcess = smartCarLastProcess2 local now = os.clock() local v13 = antiFlingV1.smartCarLastProcess[arg2] if not arg3 and v13 and now - v13 < 0.6 then return end antiFlingV1.smartCarLastProcess[arg2] = now if antiFlingV1.mode == "aggressive" then antiFlingV2GhostCar(arg2) return end local v14, v15 = antiFlingV2GetDriverState(arg2) if not v14 and v15 then antiFlingV2GhostCar(arg2) return end if antiFlingV1.smartGhostedCars[arg2] == true then antiFlingV2ForceRestoreCar(arg2) end end antiFlingV2ConnectSeat = function(arg2, arg3) if not arg2 or not arg2:IsA("VehicleSeat") then return end local v11 = arg3 or antiFlingV2GetCarFromObject(arg2) local v12 = v11 if not v11 then return end local v13 = antiFlingV1 local smartConnectedSeats = antiFlingV1.smartConnectedSeats local smartConnectedSeats2 = smartConnectedSeats or setmetatable({}, {__mode = "k"}) v13.smartConnectedSeats = smartConnectedSeats2 local v14 = antiFlingV1 local smartSeatConnections = antiFlingV1.smartSeatConnections local smartSeatConnections2 = smartSeatConnections or setmetatable({}, {__mode = "k"}) v14.smartSeatConnections = smartSeatConnections2 local v15 = antiFlingV1 local smartSeatCars = antiFlingV1.smartSeatCars local smartSeatCars2 = smartSeatCars or setmetatable({}, {__mode = "k"}) v15.smartSeatCars = smartSeatCars2 local v16 = antiFlingV1 local smartCarSeats = antiFlingV1.smartCarSeats local smartCarSeats2 = smartCarSeats or setmetatable({}, {__mode = "k"}) v16.smartCarSeats = smartCarSeats2 local v17 = antiFlingV1.smartCarSeats[v12] local v18 = v17 if not v17 then local obj2 = setmetatable({}, {__mode = "k"}) v18 = obj2 antiFlingV1.smartCarSeats[v12] = obj2 end v18[arg2] = true antiFlingV1.smartSeatCars[arg2] = v12 if antiFlingV1.smartConnectedSeats[arg2] then return end antiFlingV1.smartConnectedSeats[arg2] = true local v19 = fn2(arg2:GetPropertyChangedSignal("Occupant"), function() if not antiFlingV1.enabled then return end local smartSeatCars3 = antiFlingV1.smartSeatCars local v19 = smartSeatCars3 and antiFlingV1.smartSeatCars[arg2] or antiFlingV2GetCarFromObject(arg2) if v19 then antiFlingV2ProcessCar(v19, true) end end) antiFlingV1.smartSeatConnections[arg2] = v19 end antiFlingV2DisconnectCarSeats = function(arg2) local smartCarSeats = antiFlingV1.smartCarSeats local v11 = smartCarSeats and antiFlingV1.smartCarSeats[arg2] local v12 = pairs local tbl11 = v11 or {} for k in v12(tbl11) do local smartSeatConnections = antiFlingV1.smartSeatConnections local v13 = smartSeatConnections and antiFlingV1.smartSeatConnections[k] if v13 then pcall(function() v13:Disconnect() end) end if antiFlingV1.smartSeatConnections then antiFlingV1.smartSeatConnections[k] = nil end if antiFlingV1.smartConnectedSeats then antiFlingV1.smartConnectedSeats[k] = nil end if antiFlingV1.smartSeatCars then antiFlingV1.smartSeatCars[k] = nil end end if antiFlingV1.smartCarSeats then antiFlingV1.smartCarSeats[arg2] = nil end if antiFlingV1.smartRegisteredCars then antiFlingV1.smartRegisteredCars[arg2] = nil end end antiFlingV2RegisterCar = function(arg2) local v11 = antiFlingV2GetCarContainer() if not arg2 or not v11 or arg2.Parent ~= v11 then return end local v12 = antiFlingV1 local smartRegisteredCars = antiFlingV1.smartRegisteredCars local smartRegisteredCars2 = smartRegisteredCars or setmetatable({}, {__mode = "k"}) v12.smartRegisteredCars = smartRegisteredCars2 if antiFlingV1.smartRegisteredCars[arg2] then return end antiFlingV1.smartRegisteredCars[arg2] = true local v13 = antiFlingV1 local smartCarSeats = antiFlingV1.smartCarSeats local smartCarSeats2 = smartCarSeats or setmetatable({}, {__mode = "k"}) v13.smartCarSeats = smartCarSeats2 local smartCarSeats3 = antiFlingV1.smartCarSeats local v14 = antiFlingV1.smartCarSeats[arg2] local obj2 = v14 or setmetatable({}, {__mode = "k"}) smartCarSeats3[arg2] = obj2 for i, descendant in ipairs(arg2:GetDescendants()) do if descendant:IsA("VehicleSeat") then antiFlingV2ConnectSeat(descendant, arg2) elseif descendant:IsA("BasePart") and antiFlingV1.smartGhostedCars and antiFlingV1.smartGhostedCars[arg2] then antiFlingV2MakePartGhost(arg2, descendant) end end antiFlingV2ProcessCar(arg2, true) end antiFlingV2ScanCars = function() if not antiFlingV1.enabled then return end local v11 = antiFlingV2GetCarContainer() if not v11 then return end if not antiFlingV1.descendantConn or not antiFlingV1.descendantConn.Connected then antiFlingV2ConnectContainer() end for i, child in ipairs(v11:GetChildren()) do antiFlingV2RegisterCar(child) antiFlingV2ProcessCar(child, false) end end antiFlingV2MaintainGhostedCars = function() if not antiFlingV1.enabled then return end local v11 = pairs local smartGhostedCars = antiFlingV1.smartGhostedCars local tbl11 = smartGhostedCars or {} for k, v12 in v11(tbl11) do if v12 then if k and k.Parent then antiFlingV2ProcessCar(k, true) else antiFlingV2ForceRestoreCar(k) antiFlingV2DisconnectCarSeats(k) end end end end antiFlingV2ConnectContainer = function() if antiFlingV1.descendantConn then pcall(function() antiFlingV1.descendantConn:Disconnect() end) antiFlingV1.descendantConn = nil end if antiFlingV1.childRemovedConn then pcall(function() antiFlingV1.childRemovedConn:Disconnect() end) antiFlingV1.childRemovedConn = nil end local v11 = antiFlingV2GetCarContainer() if not v11 then return end antiFlingV1.descendantConn = fn2(v11.DescendantAdded, function(arg2) if not antiFlingV1.enabled then return end local v12 = antiFlingV2GetCarFromObject(arg2) if not v12 then return end antiFlingV2RegisterCar(v12) if arg2:IsA("VehicleSeat") then antiFlingV2ConnectSeat(arg2, v12) antiFlingV2ProcessCar(v12, true) elseif arg2:IsA("BasePart") and antiFlingV1.smartGhostedCars[v12] then antiFlingV2MakePartGhost(v12, arg2) end end) antiFlingV1.childRemovedConn = fn2(v11.ChildRemoved, function(arg2) antiFlingV2ForceRestoreCar(arg2) antiFlingV2DisconnectCarSeats(arg2) if antiFlingV1.smartLastCarPos then antiFlingV1.smartLastCarPos[arg2] = nil end end) end antiFlingV2RestoreAllSmartCars = function() local v11 = antiFlingV1 local smartSavedProps = antiFlingV1.smartSavedProps local smartSavedProps2 = smartSavedProps or setmetatable({}, {__mode = "k"}) v11.smartSavedProps = smartSavedProps2 local n2 = 0 for k in pairs(antiFlingV1.smartSavedProps) do antiFlingV2RestorePart(k) local n3 = n2 + 1 n2 = n3 if n3 % 250 == 0 then task.wait() end end antiFlingV1.smartGhostedCars = setmetatable({}, {__mode = "k"}) antiFlingV1.smartPermaGhostedCars = setmetatable({}, {__mode = "k"}) antiFlingV1.smartCarLastProcess = setmetatable({}, {__mode = "k"}) antiFlingV1.smartCarParts = setmetatable({}, {__mode = "k"}) end antiFlingV2DisconnectSmartSeats = function() local v11 = antiFlingV1 local smartSeatConnections = antiFlingV1.smartSeatConnections local smartSeatConnections2 = smartSeatConnections or setmetatable({}, {__mode = "k"}) v11.smartSeatConnections = smartSeatConnections2 for k, smartSeatConnection in pairs(antiFlingV1.smartSeatConnections) do if smartSeatConnection then pcall(function() smartSeatConnection:Disconnect() end) end antiFlingV1.smartSeatConnections[k] = nil end antiFlingV1.smartConnectedSeats = setmetatable({}, {__mode = "k"}) antiFlingV1.smartSeatConnections = setmetatable({}, {__mode = "k"}) antiFlingV1.smartSeatCars = setmetatable({}, {__mode = "k"}) antiFlingV1.smartCarSeats = setmetatable({}, {__mode = "k"}) antiFlingV1.smartRegisteredCars = setmetatable({}, {__mode = "k"}) end antiFlingV15IsTargetSeat = function(arg2) if not arg2 or arg2.ClassName ~= "Seat" then return false end local v11 = antiFlingV2GetCarContainer() if not v11 then return false end local parent = arg2 while flag and parent and parent ~= v11 do if parent.Parent == v11 and antiFlingV15TargetCars[parent.Name] then local body_ = parent:FindFirstChild("Body") local v12 = body_ and arg2:IsDescendantOf(body_) return v12 end parent = parent.Parent end return false end antiFlingV15DisableSeat = function(arg2) return false end antiFlingV15ScanSeats = function() end antiFlingV15RestoreSeats = function() antiFlingV1.seatOriginals = {} antiFlingV1.disabledSeats = {} end antiFlingV1GetWheelCar = function(arg2) if not arg2 or not arg2:IsA("BasePart") then return nil end local parent = arg2.Parent while flag and parent and parent ~= Workspace and parent ~= workspace do if tostring(parent.Name):lower() == "wheels" then return parent.Parent end parent = parent.Parent end return nil end antiFlingV1GetLocalCar = function() local now = os.clock() local localCarCacheAt = antiFlingV1.localCarCacheAt local n2 = localCarCacheAt or 0 if now - n2 < 0.25 then local localCarCache = antiFlingV1.localCarCache local parent = localCarCache and localCarCache.Parent and localCarCache or nil return parent end antiFlingV1.localCarCache = nil antiFlingV1.localCarCacheAt = now local ok, localCarCache = pcall(function() local playerGui = LocalPlayer:FindFirstChildOfClass("PlayerGui") local screen = playerGui and playerGui:FindFirstChild("Screen") local carSeat = screen and screen:FindFirstChild("CarSeat") local value = carSeat and carSeat.Value if value and value.Parent and value.Parent.Parent then return value.Parent.Parent end local character_ = LocalPlayer.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") local seatPart = humanoid_ and humanoid_.SeatPart if seatPart and seatPart.Parent and seatPart.Parent.Parent and seatPart.Parent.Parent:FindFirstChild("Wheels") then return seatPart.Parent.Parent end if seatPart and seatPart.Parent and seatPart.Parent:FindFirstChild("Wheels") then return seatPart.Parent end return nil end) if not ok or not localCarCache or not localCarCache.Parent then return nil end antiFlingV1.localCarCache = localCarCache return localCarCache end antiFlingV1CarIsBeingUsedForFling = function(arg2) if not arg2 or not flingState or not flingState.CarInAttack then return false end for k, v11 in pairs(flingState.CarInAttack) do if v11 and v11.car == arg2 then return true end end return false end antiFlingV1ShouldSkipCar = function(arg2) if not arg2 then return false end local v11 = antiFlingV1GetLocalCar() local flag6 = v11 and arg2 == v11 if flag6 then if antiFlingV1CarIsBeingUsedForFling(arg2) then flag6 = false else flag6 = true end end return flag6 end antiFlingV1ShouldSkipPart = function(arg2) return antiFlingV1ShouldSkipCar(antiFlingV1GetWheelCar(arg2)) end antiFlingV1IsWheelPart = function(arg2) if not arg2 or not arg2:IsA("BasePart") then return false end local v11 = antiFlingV1GetWheelCar(arg2) if not v11 then return false end return antiFlingV1CarIsBeingUsedForFling(v11) end antiFlingV1Protect = function(arg2) end antiFlingV1ForceProtectCar = function(arg2) return false end antiFlingV1ReleasePart = function(arg2, arg3) antiFlingV1.protected[arg2] = nil local v11 = antiFlingV1.originals[arg2] antiFlingV1.originals[arg2] = nil if arg3 and arg2 and arg2.Parent and v11 ~= nil then pcall(function() arg2.CanCollide = v11 end) end end antiFlingV1ScanOnce = function() if not antiFlingV1.enabled then return end task.spawn(function() antiFlingV2ScanCars() end) end antiFlingV1ProtectActiveFlingCars = function() end antiFlingV1LightMaintain = function() end antiFlingV1Start = function(arg2) if not antiFlingV1.enabled then antiFlingV1.enabled = true local v11 = antiFlingV1 v11.loopId = v11.loopId + 1 antiFlingV1.mode = "normal" cfg.anti_fling_mode = "normal" antiFlingV1.localCarCache = nil antiFlingV1.localCarCacheAt = 0 antiFlingV1.smartLastScan = 0 antiFlingV1.seatLastScan = 0 antiFlingV1.smartLastCarPos = setmetatable({}, {__mode = "k"}) local v12 = antiFlingV1 local smartGhostedCars = antiFlingV1.smartGhostedCars local smartGhostedCars2 = smartGhostedCars or setmetatable({}, {__mode = "k"}) v12.smartGhostedCars = smartGhostedCars2 local v13 = antiFlingV1 local smartCarLastProcess = antiFlingV1.smartCarLastProcess local smartCarLastProcess2 = smartCarLastProcess or setmetatable({}, {__mode = "k"}) v13.smartCarLastProcess = smartCarLastProcess2 local v14 = antiFlingV1 local smartSavedProps = antiFlingV1.smartSavedProps local smartSavedProps2 = smartSavedProps or setmetatable({}, {__mode = "k"}) v14.smartSavedProps = smartSavedProps2 local v15 = antiFlingV1 local smartConnectedSeats = antiFlingV1.smartConnectedSeats local smartConnectedSeats2 = smartConnectedSeats or setmetatable({}, {__mode = "k"}) v15.smartConnectedSeats = smartConnectedSeats2 local v16 = antiFlingV1 local smartSeatConnections = antiFlingV1.smartSeatConnections local smartSeatConnections2 = smartSeatConnections or setmetatable({}, {__mode = "k"}) v16.smartSeatConnections = smartSeatConnections2 local v17 = antiFlingV1 local smartSeatCars = antiFlingV1.smartSeatCars local smartSeatCars2 = smartSeatCars or setmetatable({}, {__mode = "k"}) v17.smartSeatCars = smartSeatCars2 local v18 = antiFlingV1 local smartCarSeats = antiFlingV1.smartCarSeats local smartCarSeats2 = smartCarSeats or setmetatable({}, {__mode = "k"}) v18.smartCarSeats = smartCarSeats2 local v19 = antiFlingV1 local smartCarParts = antiFlingV1.smartCarParts local smartCarParts2 = smartCarParts or setmetatable({}, {__mode = "k"}) v19.smartCarParts = smartCarParts2 local v20 = antiFlingV1 local smartRegisteredCars = antiFlingV1.smartRegisteredCars local smartRegisteredCars2 = smartRegisteredCars or setmetatable({}, {__mode = "k"}) v20.smartRegisteredCars = smartRegisteredCars2 antiFlingV2ConnectContainer() antiFlingV2ScanCars() local loopId = antiFlingV1.loopId task.spawn(function() local now = os.clock() local smartScanDelay = antiFlingV1.smartScanDelay local n2 = smartScanDelay or 8 local n3 = now + n2 while flag and antiFlingV1.enabled and antiFlingV1.loopId == loopId do local wait = task.wait local smartMaintainDelay = antiFlingV1.smartMaintainDelay local n4 = smartMaintainDelay or 0.5 wait(n4) if not antiFlingV1.enabled or antiFlingV1.loopId ~= loopId then break end antiFlingV2MaintainGhostedCars() if n3 <= os.clock() then antiFlingV2ScanCars() local now2 = os.clock() local smartScanDelay2 = antiFlingV1.smartScanDelay local n5 = smartScanDelay2 or 8 n3 = now2 + n5 end end end) featureSet("anti_fling_v1", true) cfg.anti_fling_v1 = true save_cfg() if not arg2 and add_line then add_line(".antifling on", "antifling on", false) end if refresh_saved_commands then task.defer(refresh_saved_commands) end return true end antiFlingV2Mode() antiFlingV2ScanCars() return true end antiFlingV1Stop = function(arg2) antiFlingV1.enabled = false local v11 = antiFlingV1 v11.loopId = v11.loopId + 1 antiFlingV1.localCarCache = nil antiFlingV1.localCarCacheAt = 0 antiFlingV1.smartLastScan = 0 antiFlingV1.seatLastScan = 0 if antiFlingV1.descendantConn then pcall(function() antiFlingV1.descendantConn:Disconnect() end) antiFlingV1.descendantConn = nil end if antiFlingV1.childRemovedConn then pcall(function() antiFlingV1.childRemovedConn:Disconnect() end) antiFlingV1.childRemovedConn = nil end antiFlingV2DisconnectSmartSeats() antiFlingV2RestoreAllSmartCars() antiFlingV15RestoreSeats() local n2 = 0 for k, original in pairs(antiFlingV1.originals) do if k and k.Parent and original ~= nil then pcall(function() k.CanCollide = original end) end local n3 = n2 + 1 n2 = n3 if n3 % 300 == 0 then task.wait() end end antiFlingV1.protected = {} antiFlingV1.originals = {} antiFlingV1.smartSavedProps = setmetatable({}, {__mode = "k"}) antiFlingV1.smartGhostedCars = setmetatable({}, {__mode = "k"}) antiFlingV1.smartCarLastProcess = setmetatable({}, {__mode = "k"}) antiFlingV1.smartLastCarPos = setmetatable({}, {__mode = "k"}) antiFlingV1.smartCarParts = setmetatable({}, {__mode = "k"}) featureSet("anti_fling_v1", false) cfg.anti_fling_v1 = false save_cfg() if not arg2 and add_line then add_line(".antifling off", "antifling off", false) end if refresh_saved_commands then task.defer(refresh_saved_commands) end return true end antiFlingV1Set = function(arg2, arg3) antiFlingV2Mode() if arg2 == true then return antiFlingV1Start(arg3) end return antiFlingV1Stop(arg3) end antiFlingV1Command = function(arg2) local v11 = tostring local str = arg2 or "" local str2 = v11(str):lower():gsub("^%s+", ""):gsub("%s+$", "") if str2 == "on" or str2 == "true" or str2 == "1" then return antiFlingV1Set(true, false) end if str2 == "off" or str2 == "false" or str2 == "0" then return antiFlingV1Set(false, false) end add_line(".antifling", "use .antifling on/off or .af on/off", true) red_anim() return false end antiFlingV2SetMode = function(arg2, arg3) local v11 = antiFlingV2NormalizeMode(arg2) if not v11 then return false end antiFlingV1.mode = v11 cfg.anti_fling_mode = v11 save_cfg() if antiFlingV1.enabled then local v12 = antiFlingV2GetCarContainer() local v13 = ipairs local children = v12 and v12:GetChildren() or {} for k, child in v13(children) do antiFlingV2RegisterCar(child) antiFlingV2ProcessCar(child, true) end end if refresh_saved_commands then task.defer(refresh_saved_commands) end if not arg3 and add_line then local v12 = add_line local str = ".afmode " .. v11 local str2 = v11 == "aggressive" and "impossible to interact with a car" or "antifling mode normal" v12(str, str2, false) end return true end antiFlingV2ModeCommand = function(arg2) local v11 = antiFlingV2NormalizeMode(arg2) if v11 then return antiFlingV2SetMode(v11, false) end add_line(".afmode", "use .afmode normal/aggressive or .antiflingmode normal/aggressive", true) red_anim() return false end antiFlingModeCommandText = function(arg2, arg3) local match = arg2:match("^%.afmode%s+(.+)$") local match2 = match or arg2:match("^%.antiflingmode%s+(.+)$") if not match2 and arg2 ~= ".afmode" and arg2 ~= ".antiflingmode" then return false end if antiFlingV2ModeCommand(match2) and arg3 ~= "chat" then collapse() end return true end fn4(function() if not antiFlingV1 then return end antiFlingV1.enabled = false local v11 = antiFlingV1 v11.loopId = v11.loopId + 1 if antiFlingV1.descendantConn then pcall(function() antiFlingV1.descendantConn:Disconnect() end) end if antiFlingV1.childRemovedConn then pcall(function() antiFlingV1.childRemovedConn:Disconnect() end) end antiFlingV2DisconnectSmartSeats() antiFlingV2RestoreAllSmartCars() end) task.defer(function() task.wait(0.35) local v11 = featureGet local flag6 = cfg.anti_fling_v1 == true if v11("anti_fling_v1", flag6) then antiFlingV1Start(true) end end) local tbl11 = { Stage = cframe(11.6286936, 223.9959087, 1175.45935, 0.13477385, 0.124517478, -0.983021557, 5.22149934e-10, 0.99207288, 0.125663981, 0.990876377, -0.0169362202, 0.133705482), Zero = Vector3.zero, HoodPhysics = PhysicalProperties.new(100, 0, 1, 100, 100), DeathWait = 12, OwnershipWait = 3, ActiveTime = 15, RadiusDelay = 0.5, Controlled = { Prediction = 0.04, FootOffset = 2.8, HoodGap = 0.15, UpVelocity = 18000, HorizontalGain = 35, TargetVelocityGain = 2.5, MaxHorizontalVelocity = 3500, MaxTrackRadius = 420, MinTrackY = -250, MaxTrackY = 230, }, Aggressive = { Spin = vector(5200, 6100, 5700), Offset = vector(3.6, 2.8, 1.8), Velocity = vector(1800, 1500, 900), PhaseStep = 1.35, Prediction = 0.065, DirectionForce = 15000, TargetForce = 3.5, }, Whip = { PhaseStep = 0.08, Prediction = 0.045, HeightOffset = 0.35, TargetForce = 3.5, controlled = { Radius = 4.2, Depth = 1.8, SideForce = 26000, ImpactForce = 12000, Lift = 9000, }, aggressive = { Radius = 5.4, Depth = 2.4, SideForce = 38000, ImpactForce = 18000, Lift = 6000, }, }, } tbl6 = { Started = "fling started", Ended = "fling ended", Stopped = "fling stopped", LostCar = "lost car", CarGone = "car disappeared, fling stopped", PlayerLeft = "player left, fling stopped", DeathMissing = "death not detected, fling stopped", OwnershipMissing = "ownership failed, fling stopped", } local setsimulationradius_ = genv.setsimulationradius local v11 = setsimulationradius_ or setsimulationradius local sethiddenproperty_ = genv.sethiddenproperty local v12 = sethiddenproperty_ or sethiddenproperty local function fn25(arg2, arg3) local v13 = add_line local flag6 = arg3 == true v13(".fling", arg2, flag6) if arg3 then red_anim() end end local function fn26(arg2) fn25(arg2, true) return nil end local function fn27(arg2) local body_ = arg2 and arg2:FindFirstChild("Body") local colorParts = body_ and body_:FindFirstChild("ColorParts") local hood = colorParts and colorParts:FindFirstChild("Hood") local isBasePart = hood and hood:IsA("BasePart") and hood or nil return isBasePart end local function fn28() if typeof(v11) == "function" then pcall(v11, math.huge, math.huge) elseif typeof(v12) == "function" then pcall(v12, LocalPlayer, "SimulationRadius", math.huge) end end local function fn29(arg2) local now = os.clock() if now < arg2 then return arg2 end fn28() return now + tbl11.RadiusDelay end local function fn30(arg2) local flag6 if arg2:IsGrounded() then flag6 = false else flag6 = true end if flag6 then flag6 = arg2.AssemblyRootPart.ReceiveAge == 0 end return flag6 end local function fn31(arg2) local parent = arg2 while parent and parent ~= Workspace do if parent:IsA("Model") and fn27(parent) then return parent end parent = parent.Parent end return nil end local function fn32(arg2, arg3) local tbl12 = {} local tbl13 = {} local cFrame = arg3.CFrame for i, descendant in ipairs(arg2:GetDescendants()) do if descendant:IsA("BasePart") and not descendant.Anchored then local assemblyRootPart = descendant.AssemblyRootPart local v13 = assemblyRootPart or descendant if v13 and v13.Parent and v13:IsDescendantOf(arg2) and not v13.Anchored and not tbl13[v13] then tbl13[v13] = true tbl12[#tbl12 + 1] = { Root = v13, HoodOffset = cFrame:ToObjectSpace(v13.CFrame), OriginalCFrame = v13.CFrame, } end end end return tbl12 end local function fn33(arg2, arg3) local v13 = arg3 if not v13 then local tbl12 = {} for i, descendant in ipairs(arg2:GetDescendants()) do if descendant:IsA("BasePart") then local canCollide = descendant.CanCollide local canTouch = descendant.CanTouch tbl12[#tbl12 + 1] = descendant tbl12[#tbl12 + 2] = canCollide tbl12[#tbl12 + 3] = canTouch descendant.CanCollide = false descendant.CanTouch = false end end return tbl12 end for i = 1, #v13, 3 do local v14 = v13[i] if v14 and v14.Parent then pcall(function() v14.CanCollide = v13[i + 1] v14.CanTouch = v13[i + 2] end) end end end local function fn34(arg2, arg3, arg4, arg5) local zero = arg4 or tbl11.Zero local v13 = zero local zero2 = arg5 or tbl11.Zero local v14 = zero2 local flag6 = false local car = arg2.car for i, assembly in ipairs(arg2.assemblies) do local root_ = assembly.Root if root_ and root_.Parent and root_:IsDescendantOf(car) and not root_.Anchored then local ok = pcall(function() root_.CFrame = arg3 * assembly.HoodOffset root_.AssemblyLinearVelocity = v13 root_.AssemblyAngularVelocity = v14 end) local v15 = flag6 or ok flag6 = v15 end end return flag6 end local function fn35(arg2, arg3) local v13 = vector(arg2.X, 0, arg2.Z) local n2 = arg3 < v13.Magnitude and v13.Unit * arg3 or v13 return n2 end local function fn36(arg2, arg3, arg4) if arg2.hit == "torso" then return arg3.Position end local controlled = tbl11.Controlled local max = math.max local footOffset = controlled.FootOffset local num = tonumber(arg4.HipHeight) local n2 = num or 0 local v13 = max(footOffset, n2 + arg3.Size.Y * 0.5) return arg3.Position - vector(0, v13 + controlled.HoodGap, 0) end local function fn37(arg2, arg3) arg2.origin = arg3.Position arg2.phase = 0 arg2.whipPhase = 0 end local function fn38(arg2, arg3) local controlled = tbl11.Controlled local origin = arg2.origin local v13 = origin or arg3 arg2.origin = v13 local v14 = fn35(arg3 - v13, controlled.MaxTrackRadius) return vector(v13.X + v14.X, math.clamp(arg3.Y, controlled.MinTrackY, controlled.MaxTrackY), v13.Z + v14.Z) end local function fn39(arg2, arg3, arg4) local whip = tbl11.Whip local whipProfile = arg2.whipProfile arg2.whipPhase = arg2.whipPhase + whip.PhaseStep local whipPhase = arg2.whipPhase local assemblyLinearVelocity = arg3.AssemblyLinearVelocity local v13 = vector(assemblyLinearVelocity.X, 0, assemblyLinearVelocity.Z) local v14 = fn36(arg2, arg3, arg4) local rightVector = arg3.CFrame.RightVector local v15 = vector(rightVector.X, 0, rightVector.Z) local unit = v15.Magnitude > 0.01 and v15.Unit or vector(1, 0, 0) local v16 = unit local v17 = vector(v16.Z, 0, -v16.X) local n2 = whipPhase % 2 local n3 = n2 <= 1 and n2 or 2 - n2 local n4 = n2 <= 1 and 1 or -1 local n5 = math.pi * n3 local v18 = math.sin(n5) local v19 = math.cos(n5) local n6 = v14 + v13 * whip.Prediction + v16 * (-v19 * whipProfile.Radius) - v17 * (v18 * whipProfile.Depth) - vector(0, whip.HeightOffset, 0) local v20 = n6 if not arg2.aggressive then v20 = fn38(arg2, n6) end local n7 = (v16 * (v18 * whipProfile.Radius) - v17 * (v19 * whipProfile.Depth)) * n4 local unit2 = n7.Magnitude > 0.01 and n7.Unit or v16 * n4 local v21 = unit2 local n8 = v14 - v20 local unit3 = n8.Magnitude > 0.01 and n8.Unit or v17 local v22 = unit3 local n9 = v21 * whipProfile.SideForce * (0.55 + v18 * 0.45) + v22 * whipProfile.ImpactForce + v13 * whip.TargetForce + vector(0, whipProfile.Lift, 0) local aggressive = arg2.aggressive local cframe2 = aggressive and CFrame.Angles(math.rad(90), whipPhase * 5.5, whipPhase * 7) or arg2.hoodRotation return cframe(v20) * cframe2, n9 end local function fn40(arg2, arg3, arg4) local controlled = tbl11.Controlled local assemblyLinearVelocity = arg3.AssemblyLinearVelocity local v13 = fn36(arg2, arg3, arg4) local v14 = fn38(arg2, vector(v13.X + assemblyLinearVelocity.X * controlled.Prediction, v13.Y, v13.Z + assemblyLinearVelocity.Z * controlled.Prediction)) local v15 = fn35((v14 - arg2.hood.Position) * controlled.HorizontalGain + assemblyLinearVelocity * controlled.TargetVelocityGain, controlled.MaxHorizontalVelocity) return cframe(v14) * arg2.hoodRotation, vector(v15.X, controlled.UpVelocity, v15.Z) end local function fn41(arg2, arg3, arg4) local aggressive = tbl11.Aggressive arg2.phase = arg2.phase + aggressive.PhaseStep local phase = arg2.phase local assemblyLinearVelocity = arg3.AssemblyLinearVelocity local v13 = fn36(arg2, arg3, arg4) local cFrame = arg3.CFrame local rightVector = cFrame.RightVector local lookVector = cFrame.LookVector local upVector = cFrame.UpVector local n2 = rightVector * math.sin(phase) * aggressive.Offset.X + lookVector * math.cos(phase * 1.45) * aggressive.Offset.Y + upVector * math.sin(phase * 1.9) * aggressive.Offset.Z local n3 = v13 + assemblyLinearVelocity * aggressive.Prediction + n2 local n4 = v13 - arg2.hood.Position local unit = n4.Magnitude > 0.01 and n4.Unit or lookVector local v14 = unit local n5 = rightVector * math.cos(phase) * aggressive.Velocity.X + lookVector * -math.sin(phase * 1.45) * aggressive.Velocity.Y + upVector * math.cos(phase * 1.9) * aggressive.Velocity.Z return cframe(n3) * CFrame.Angles(math.rad(90), phase * 2.8, phase * 3.6), v14 * aggressive.DirectionForce + assemblyLinearVelocity * aggressive.TargetForce + n5 end local function fn42(arg2) local car = arg2.car if not car.Parent then return end for i, assembly in ipairs(arg2.assemblies) do local root_ = assembly.Root if root_ and root_.Parent and root_:IsDescendantOf(car) and not root_.Anchored then pcall(function() root_.CFrame = assembly.OriginalCFrame root_.AssemblyLinearVelocity = tbl11.Zero root_.AssemblyAngularVelocity = tbl11.Zero end) end end end flingState = {CarInAttack = {}, CarBusy = {}, lastUsedCar = nil} flingRefreshButtons = function() task.defer(function() if playerListUpdateFlingButtons then playerListUpdateFlingButtons() end end) end flingDisconnectAttack = function(arg2) if not arg2 then return end fn3(arg2.CarGoneConn) fn3(arg2.SeatOccupantConn) arg2.CarGoneConn = nil arg2.SeatOccupantConn = nil end flingStopByPlayerName = function(arg2, arg3) local v13 = flingState.CarInAttack[arg2] if not v13 then return false end flingDisconnectAttack(v13) flingState.CarInAttack[arg2] = nil if arg3 then fn25(arg3, true) end flingRefreshButtons() return true end flingStopByCar = function(arg2, arg3) local n2 = 0 for k, v13 in pairs(flingState.CarInAttack) do if v13 and v13.car == arg2 then flingDisconnectAttack(v13) flingState.CarInAttack[k] = nil n2 = n2 + 1 end end if n2 > 0 then local carGone = arg3 or tbl6.CarGone fn25(carGone, true) flingRefreshButtons() end return n2 end KillWheel = function(arg2) if not arg2 or arg2 == LocalPlayer or arg2.Parent ~= Players then return nil end local name = arg2.Name if flingState.CarInAttack[name] then return flingState.CarInAttack[name] end fn28() local character_ = LocalPlayer.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") local humanoidRootPart = character_ and character_:FindFirstChild("HumanoidRootPart") local seatPart = humanoid_ and humanoid_.SeatPart if not humanoidRootPart or not seatPart or not seatPart:IsA("VehicleSeat") then return fn26("sit in VehicleSeat") end local v13 = fn31(seatPart) if not v13 then return fn26("invalid car") end if flingState.CarBusy[v13] then return fn26("car busy") end if flingState.lastUsedCar == v13 then return fn26("use another car") end local v14 = fn27(v13) local v15 = v14 if v14 then local assemblyRootPart = v14.AssemblyRootPart v15 = assemblyRootPart or v14 end if not v14 or not v15 or v14.Anchored or v15.Anchored then return fn26("car anchored") end local v16 = fn32(v13, v14) if #v16 == 0 then return fn26("no movable car parts") end local v17 = fn33(v13) local customPhysicalProperties = v14.CustomPhysicalProperties v14.CustomPhysicalProperties = tbl11.HoodPhysics local aggressive = cfg.fling_method == "aggressive" local flag6 = cfg.fling_whip == true local tbl12 = { car = v13, hood = v14, hoodRotation = v14.CFrame - v14.Position, } local hit = cfg.fling_hit == "torso" and "torso" or "legs" tbl12.hit = hit tbl12.aggressive = aggressive local v18 = flag6 and fn39 or (aggressive and fn41 or fn40) tbl12.motion = v18 local spin = aggressive and tbl11.Aggressive.Spin or tbl11.Zero tbl12.spin = spin local whip = tbl11.Whip local str = aggressive and "aggressive" or "controlled" tbl12.whipProfile = whip[str] tbl12.phase = 0 tbl12.whipPhase = 0 tbl12.assemblies = v16 flingState.CarInAttack[name] = tbl12 flingState.CarBusy[v13] = tbl12 flingState.lastUsedCar = v13 tbl12.CarGoneConn = v13.AncestryChanged:Connect(function(child, parent) if parent == nil then flingStopByCar(v13, tbl6.CarGone) end end) tbl12.SeatOccupantConn = seatPart:GetPropertyChangedSignal("Occupant"):Connect(function() local occupant = seatPart.Occupant local playerFromCharacter = occupant and occupant.Parent and Players:GetPlayerFromCharacter(occupant.Parent) if occupant and occupant ~= humanoid_ and playerFromCharacter ~= LocalPlayer and flingState.CarInAttack[name] == tbl12 then flingStopByPlayerName(name, tbl6.LostCar) end end) if firstFlingViewStart then task.defer(firstFlingViewStart, arg2) end flingRefreshButtons() task.spawn(function() local n2 = 0 local deathMissing = nil local flag7 = humanoid_.Health <= 0 local connection = nil if not flag7 then connection = humanoid_.Died:Connect(function() flag7 = true end) end local function fn43() local v19 = flag local parent = v19 and flingState.CarInAttack[name] == tbl12 and arg2.Parent == Players and v13.Parent and v14.Parent and v15.Parent return parent end local n3 = os.clock() + tbl11.DeathWait while fn43() and not flag7 and os.clock() < n3 do if humanoid_.Health <= 0 then flag7 = true end n2 = fn29(n2) if not fn34(tbl12, tbl11.Stage) then break end if not flag7 then RunService.Heartbeat:Wait() end end fn3(connection) if fn43() and not flag7 then deathMissing = tbl6.DeathMissing end local flag8 = false if fn43() and not deathMissing then local n4 = os.clock() + tbl11.OwnershipWait local ok, result, flag9 repeat n2 = fn29(n2) fn34(tbl12, tbl11.Stage) ok, result = pcall(fn30, v14) flag9 = ok and result == true flag8 = flag9 if not flag9 then RunService.Heartbeat:Wait() end until not fn43() or flag8 or n4 <= os.clock() if fn43() and not flag8 then deathMissing = tbl6.OwnershipMissing end end local n4 = 0 local flag9 = false local v19 = nil local v20 = nil local v21 = nil while fn43() and flag8 and not deathMissing and (cfg.fling_no_limit == true or n4 < tbl11.ActiveTime) do local now = os.clock() local flag10 = true n2 = fn29(n2) local character_2 = arg2.Character local humanoidRootPart2 = character_2 if character_2 then local torso = character_2:FindFirstChild("Torso") humanoidRootPart2 = torso or character_2:FindFirstChild("HumanoidRootPart") end local humanoid_2 = character_2 and character_2:FindFirstChildOfClass("Humanoid") local flag11 = cfg.fling_stop_death ~= false if flag9 then flag10 = false local cFrame = v21 or v14.CFrame v21 = cFrame fn34(tbl12, v21) if flag11 then if character_2 and character_2 ~= v19 and humanoidRootPart2 and humanoid_2 and humanoid_2.Health > 0 then flag9 = false v19 = nil v20 = character_2 v21 = nil fn37(tbl12, humanoidRootPart2) end else flag9 = false v19 = nil v21 = nil end elseif flag11 and (not character_2 or not humanoidRootPart2 or not humanoid_2 or humanoid_2.Health <= 0) then flag9 = true local v22 = v20 or character_2 v19 = v22 local cFrame = v14.CFrame v21 = cFrame flag10 = false fn34(tbl12, cFrame) elseif humanoidRootPart2 and humanoid_2 and (humanoid_2.Health > 0 or not flag11) then if character_2 ~= v20 then fn37(tbl12, humanoidRootPart2) end if humanoid_2.Health > 0 then v20 = character_2 end local v22, v23 = tbl12:motion(humanoidRootPart2, humanoid_2) if not fn34(tbl12, v22, v23, tbl12.spin) then break end else fn34(tbl12, v14.CFrame) end RunService.Heartbeat:Wait() if flag10 then n4 = n4 + (os.clock() - now) end end flingDisconnectAttack(tbl12) if v14.Parent then pcall(function() v14.CustomPhysicalProperties = customPhysicalProperties end) end fn33(v13, v17) fn42(tbl12) local flag10 = arg2.Parent ~= Players or tbl12.PlayerExited == true if flingState.CarInAttack[name] == tbl12 then flingState.CarInAttack[name] = nil if deathMissing then fn25(deathMissing, true) elseif flag10 then fn25(tbl6.PlayerLeft, true) else fn25(tbl6.Ended, false) end end if flingState.CarBusy[v13] == tbl12 then flingState.CarBusy[v13] = nil end flingRefreshButtons() end) return tbl12 end espCfg = { espEnabled = true, tracersEnabled = true, tracerInfoEnabled = true, backpackViewEnabled = true, healthGuiEnabled = true, hitboxEnabled = true, sitDetection = true, teamCheck = true, hitboxSize = 7, hitboxTransparency = 0.7, tracerAimPart = "Torso", tracerRenderDistance = 999999, tracerThickness = 1, tracerTextSize = 13, refreshRate = 0.016666666666666666, espRefreshRate = 0.15, backpackRefreshRate = 0.18, } local tbl12 = { Inmates = color(255, 145, 35), Guards = color(0, 145, 255), Criminals = color(255, 55, 65), } teamColors = tbl12 apply_visual_cfg = function() if cfg.esp_enabled ~= nil then local v13 = espCfg local v14 = featureGet local flag6 = cfg.esp_enabled == true v13.espEnabled = v14("esp_enabled", flag6) end if cfg.tracers_enabled ~= nil then local v13 = espCfg local v14 = featureGet local flag6 = cfg.tracers_enabled == true v13.tracersEnabled = v14("tracers_enabled", flag6) end if cfg.tracer_info_enabled ~= nil then local v13 = espCfg local v14 = featureGet local flag6 = cfg.tracer_info_enabled == true v13.tracerInfoEnabled = v14("tracer_info_enabled", flag6) end if cfg.backpack_view_enabled ~= nil then local v13 = espCfg local v14 = featureGet local flag6 = cfg.backpack_view_enabled == true v13.backpackViewEnabled = v14("backpack_view_enabled", flag6) end if cfg.health_gui_enabled ~= nil then local v13 = espCfg local v14 = featureGet local flag6 = cfg.health_gui_enabled == true v13.healthGuiEnabled = v14("health_gui_enabled", flag6) end if cfg.hitbox_enabled ~= nil then local v13 = espCfg local v14 = featureGet local flag6 = cfg.hitbox_enabled == true v13.hitboxEnabled = v14("hitbox_enabled", flag6) end if cfg.hitbox_size ~= nil then local v13 = espCfg local clamp = math.clamp local num = tonumber(cfg.hitbox_size) local hitboxSize = num or espCfg.hitboxSize v13.hitboxSize = clamp(hitboxSize, 1, 10) end end apply_visual_cfg() local kerauniusEspLogic = CoreGui:FindFirstChild("Keraunius_ESP_Logic") local folder_ = kerauniusEspLogic or Instance.new("Folder") espFolder = folder_ espFolder.Name = "Keraunius_ESP_Logic" espFolder.Parent = CoreGui for i, child in ipairs(espFolder:GetChildren()) do if child:IsA("Highlight") then child:Destroy() end end local obj2 = setmetatable({}, {__mode = "k"}) plOriginalRoots = obj2 local obj3 = setmetatable({}, {__mode = "k"}) flag5 = false local overlapParams = OverlapParams.new() hitboxOverlap = overlapParams hitboxOverlap.FilterType = Enum.RaycastFilterType.Include hitboxOverlap.MaxParts = 1 hitboxTouchCharacter = nil tracerDrawings = {} healthGuiData = {} healthBodyCache = {} backpackCache = {} backpackClock = {} lastEspRefresh = 0 lastTick = 0 espConnections = {} espPlayers = {} espPlayerIndex = {} espHighlights = {} c4EspData = {} local v13 = vector2(1280, 720) local v14 = color(170, 85, 255) local v15 = color(0, 0, 0) local v16 = color(255, 0, 0) local v17 = color(0, 255, 0) local flag6 = false local n2 = 1 local n3 = -math.huge local function fn43(arg2) local now = os.clock() if now - n3 >= 0.5 then n3 = now local v18 if typeof(kxUsePhoneGui) == "function" then local ok, result = pcall(kxUsePhoneGui) local flag7 = ok and result == true v18 = flag7 else local viewportSize = arg2 if not arg2 then local v19 = camera viewportSize = v19 and camera.ViewportSize end if not viewportSize then viewportSize = v13 end local touchEnabled = UserInputService.TouchEnabled local flag7 = touchEnabled and math.min(viewportSize.X, viewportSize.Y) <= 700 v18 = flag7 end flag6 = v18 if v18 and typeof(kxPhoneGuiScale) == "function" then local ok, result = pcall(kxPhoneGuiScale) local n4 = ok and tonumber(result) or 0.78 n2 = n4 elseif v18 then local viewportSize = arg2 if not arg2 then local v19 = camera viewportSize = v19 and camera.ViewportSize end if not viewportSize then viewportSize = v13 end local n4 = math.min(viewportSize.X, viewportSize.Y) <= 420 and 0.78 or 0.84 n2 = n4 else n2 = 1 end end return flag6, n2 end addESPPlayer = function(arg2) if not arg2 or arg2 == LocalPlayer or espPlayerIndex[arg2] then return end espPlayers[#espPlayers + 1] = arg2 espPlayerIndex[arg2] = #espPlayers end removeESPPlayer = function(arg2) local v18 = espPlayerIndex[arg2] if not v18 then return end local v19 = espPlayers[#espPlayers] espPlayers[v18] = v19 espPlayers[#espPlayers] = nil espPlayerIndex[arg2] = nil if v19 and v19 ~= arg2 then espPlayerIndex[v19] = v18 end end playerTeamName = function(arg2) local name = arg2 and arg2.Team and arg2.Team.Name or "" return name end teamColor = function(arg2) local v18 = playerTeamName(arg2) if teamColors[v18] then return teamColors[v18] end if arg2 and arg2.Team and arg2.Team.TeamColor then return arg2.Team.TeamColor.Color end return color(0, 170, 255) end character = function(arg2) local character_ = arg2 and arg2.Character return character_ end humanoid = function(arg2) local humanoid_ = arg2 if arg2 then local humanoid_2 = arg2:FindFirstChildOfClass("Humanoid") humanoid_ = humanoid_2 or arg2:FindFirstChildWhichIsA("Humanoid", true) end return humanoid_ end rootPart = function(arg2) local humanoidRootPart = arg2 and arg2:FindFirstChild("HumanoidRootPart") return humanoidRootPart end alive = function(arg2, arg3) local v18 = arg3 or humanoid(arg2) local v19 = v18 local flag7 = v18 and v19.Health > 0 return flag7 end isSitting = function(arg2, arg3) if not espCfg.sitDetection then return false end local v18 = arg3 or humanoid(arg2) local v19 = v18 if not v18 then return false end if v18.Sit or v19.SeatPart then return true end local flag7 = v19:GetState() == Enum.HumanoidStateType.Seated return flag7 end getAimPart = function(arg2, arg3) if not arg2 then return nil end local v18 = arg3 or rootPart(arg2) local v19 = v18 if espCfg.tracerAimPart == "Head" then local head = arg2:FindFirstChild("Head") local v20 = head or v19 return v20 end if espCfg.tracerAimPart == "Torso" then local torso = arg2:FindFirstChild("Torso") local upperTorso = torso or arg2:FindFirstChild("UpperTorso") or v19 return upperTorso end local head = v19 or arg2:FindFirstChild("Head") return head end saveRoot = function(arg2) if arg2 and not plOriginalRoots[arg2] then plOriginalRoots[arg2] = { arg2.Size, arg2.Transparency, arg2.Color, arg2.Shape, arg2.CanCollide, arg2.Material, } end end restoreRoot = function(arg2) local v18 = arg2 and plOriginalRoots[arg2] if not v18 then return end plOriginalRoots[arg2] = nil if not arg2.Parent then return end local v19 = v18[2] local v20 = v18[3] arg2.Size = v18[1] arg2.Transparency = v19 arg2.Color = v20 local v21 = v18[5] local v22 = v18[6] arg2.Shape = v18[4] arg2.CanCollide = v21 arg2.Material = v22 end restoreAllHitboxes = function() for k in pairs(plOriginalRoots) do if k and k.Parent then restoreRoot(k) end end table.clear(plOriginalRoots) end isTouchingLocal = function(arg2) local character_ = LocalPlayer.Character if not character_ or not arg2 then return false end if hitboxTouchCharacter ~= character_ then hitboxTouchCharacter = character_ hitboxOverlap.FilterDescendantsInstances = {character_} end local ok, result = pcall(Workspace.GetPartsInPart, Workspace, arg2, hitboxOverlap) local flag7 = ok and result[1] ~= nil return flag7 end updateHitbox = function(arg2, arg3, arg4) local parent = arg3 and arg3.Parent local v18 = flag5 local hitboxSize = v18 and obj3[arg2] or espCfg.hitboxSize if hitboxSize and arg3 and alive(parent, arg4) and (not espCfg.teamCheck or not arg2.Team or not LocalPlayer.Team or arg2.Team ~= LocalPlayer.Team) and (not espCfg.sitDetection or not isSitting(parent, arg4)) and not isTouchingLocal(arg3) then local v19 = teamColor(arg2) saveRoot(arg3) arg3.Size = vector(hitboxSize, hitboxSize, hitboxSize) arg3.Transparency = espCfg.hitboxTransparency arg3.Color = v19 arg3.Material = Enum.Material.ForceField arg3.Shape = Enum.PartType.Ball arg3.CanCollide = false return v19 end restoreRoot(arg3) end clearTargetHitboxes = function(arg2) if not arg2 then table.clear(obj3) if next(plOriginalRoots) then restoreAllHitboxes() end return end obj3[arg2] = nil restoreRoot(rootPart(character(arg2))) end hitboxCommandError = function(arg2, arg3) add_line(arg2, arg3, true) red_anim() return false end clearHitboxCommand = function(arg2) local v18 = tostring local str = arg2 or "" local match = v18(str):match("^%s*(.-)%s*$") local str2 = match:lower() if not next(obj3) then return hitboxCommandError(".clearhitbox", "no target hitboxes active") end if str2 == "all" then clearTargetHitboxes() refresh_saved_commands() add_line(".clearhitbox all", "all target hitboxes cleared", false) return true end local v19 = find_player(match) if not v19 or not obj3[v19] then return hitboxCommandError(".clearhitbox", "use .clearhitbox user/all") end clearTargetHitboxes(v19) refresh_saved_commands() add_line(".clearhitbox " .. v19.Name, "target hitbox cleared", false) return true end targetHitboxCommand = function(arg2) local v18 = tostring local str = arg2 or "" local match, v19 = v18(str):match("^%s*(.-)%s*$"):lower():match("^(.-)%s+([%+%-]?[%d%.]+)$") local num = tonumber(v19) local v20 = match and find_player(match) if not v20 or not num then return hitboxCommandError(".targethitbox", "use .targethitbox / .thitbox / .thbe user <1-10>") end if espCfg.teamCheck and v20.Team and LocalPlayer.Team and v20.Team == LocalPlayer.Team then return hitboxCommandError(".targethitbox " .. v20.Name, "same team: hitbox ignored") end if not flag5 then flag5 = true if next(plOriginalRoots) then restoreAllHitboxes() end end obj3[v20] = math.clamp(num, 1, 10) refresh_saved_commands() add_line(".targethitbox " .. v20.Name .. " " .. obj3[v20], "target hitbox set to " .. obj3[v20], false) return true end getBackpackText = function(arg2) if not espCfg.backpackViewEnabled then return nil end local now = os.clock() local v18 = backpackClock[arg2] if v18 and now - v18 < espCfg.backpackRefreshRate then local v19 = backpackCache[arg2] local v20 = v19 or nil return v20 end backpackClock[arg2] = now local tbl13 = {} local backpack = arg2:FindFirstChildOfClass("Backpack") if backpack then for i, child in ipairs(backpack:GetChildren()) do if child:IsA("Tool") then table.insert(tbl13, child.Name) end end end local v19 = character(arg2) if v19 then for i, child in ipairs(v19:GetChildren()) do if child:IsA("Tool") then table.insert(tbl13, child.Name) end end end if #tbl13 == 0 then backpackCache[arg2] = false return nil end table.sort(tbl13) local str = table.concat(tbl13, "+") backpackCache[arg2] = str return str end createESP = function(arg2) if not espCfg.espEnabled or not arg2 or arg2 == LocalPlayer then return end local v18 = espHighlights[arg2] local v19 = v18 if not v18 or not v18.Parent then local highlight = Instance.new("Highlight") v19 = highlight highlight.Name = "ESP_" .. tostring(arg2.UserId) highlight.FillTransparency = 1 highlight.OutlineTransparency = 0 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = espFolder espHighlights[arg2] = highlight end local v20 = character(arg2) local v21 = humanoid(v20) if v20 and v21 and v21.Health > 0 then v19.Adornee = v20 v19.OutlineColor = teamColor(arg2) v19.Enabled = true else v19.Adornee = nil v19.Enabled = false end end removeESP = function(arg2) local v18 = espHighlights[arg2] if v18 then if v18.Parent then v18:Destroy() end espHighlights[arg2] = nil end end refreshESP = function() if not espCfg.espEnabled then for k, v18 in pairs(espHighlights) do if v18 and v18.Parent then v18:Destroy() end end table.clear(espHighlights) return end for i, v18 in ipairs(espPlayers) do createESP(v18) end end newHealthLine = function(thickness, color2) if not Drawing or not Drawing.new then return nil end local line = Drawing.new("Line") line.Visible = false line.From = vector2(0, 0) line.To = vector2(0, 0) line.Color = color2 line.Thickness = thickness line.Transparency = 1 return line end hideHealthGui = function(arg2) local v18 = healthGuiData[arg2] if not v18 then return end if v18.HealthBar then v18.HealthBar.Visible = false end if v18.HealthFill then v18.HealthFill.Visible = false end end removeHealthGui = function(arg2) local v18 = healthGuiData[arg2] if not v18 then return end pcall(function() if v18.HealthBar then v18.HealthBar:Remove() end if v18.HealthFill then v18.HealthFill:Remove() end end) healthGuiData[arg2] = nil end removeAllHealthGuis = function() local tbl13 = {} for k in pairs(healthGuiData) do table.insert(tbl13, k) end for i, v18 in ipairs(tbl13) do removeHealthGui(v18) end end getHealthGui = function(arg2) local v18 = healthGuiData[arg2] if v18 then return v18 end local tbl13 = { HealthBar = newHealthLine(3, v15), HealthFill = newHealthLine(1.5, v17), } healthGuiData[arg2] = tbl13 return tbl13 end getHealthBodyParts = function(arg2, arg3, arg4, arg5) local v18 = healthBodyCache[arg2] if v18 and v18.Character == arg3 and arg5 - v18.UpdatedAt < 0.75 then return v18.Parts end local tbl13 = {} for i, child in ipairs(arg3:GetChildren()) do if child:IsA("BasePart") and child ~= arg4 and child.Name ~= "Handle" then tbl13[#tbl13 + 1] = child end end healthBodyCache[arg2] = {Character = arg3, Parts = tbl13, UpdatedAt = arg5} return tbl13 end updateHealthGui = function(arg2, arg3, arg4, arg5, arg6, arg7, arg8) if not Drawing or not Drawing.new then return end if espCfg.healthGuiEnabled and arg2 and arg2 ~= LocalPlayer then local v18 = arg3 or character(arg2) local v19 = v18 local v20 = arg4 or humanoid(v19) local v21 = v20 local v22 = arg5 or rootPart(v19) local v23 = v22 local head = arg6 or v19 and v19:FindFirstChild("Head") local v24 = head if v19 and v21 and v21.Health > 0 and v23 and v24 then local viewportSize = arg7 if not arg7 then local v25 = camera viewportSize = v25 and camera.ViewportSize end if not viewportSize then viewportSize = v13 end local v25 = viewportSize local v26 = camera:WorldToViewportPoint(v23.Position) if v26.Z > 0 and v26.X == v26.X and v26.Y == v26.Y and v26.X >= -120 and v25.X + 120 >= v26.X and v26.Y >= -180 and v25.Y + 180 >= v26.Y then local huge = math.huge local n4 = -math.huge local n5 = 0 local v27 = ipairs local v28 = getHealthBodyParts local now = arg8 or os.clock() for k, v29 in v27(v28(arg2, v19, v23, now)) do if v29.Parent == v19 then local n6 = math.max(v29.Size.Y * 0.5, 0.05) huge = math.min(huge, v29.Position.Y - n6) n4 = math.max(n4, v29.Position.Y + n6) n5 = n5 + 1 end end if n5 == 0 or huge == math.huge or n4 == -math.huge then huge = v23.Position.Y - 2.8 n4 = v24.Position.Y + math.max(v24.Size.Y * 0.5, 0.5) end if n4 - huge < 1 then local n6 = (n4 + huge) * 0.5 huge = n6 - 1.5 n4 = n6 + 1.5 end local v29 = vector(v23.Position.X, n4 + 0.15, v23.Position.Z) local v30 = vector(v23.Position.X, huge - 0.15, v23.Position.Z) local v31 = camera:WorldToViewportPoint(v29) local v32 = camera:WorldToViewportPoint(v30) if v31.Z > 0 and v32.Z > 0 and v31.X == v31.X and v31.Y == v31.Y and v32.X == v32.X and v32.Y == v32.Y then local n6 = math.min(v31.Y, v32.Y) local n7 = math.max(v31.Y, v32.Y) local n8 = n7 - n6 if n8 > 0 and n8 == n8 then local n9 = math.clamp(v25.Y * 0.42, 90, 260) local n10 = math.clamp(n8, 10, n9) local n11 = (n6 + n7) * 0.5 local n12 = n11 - n10 * 0.5 local n13 = n11 + n10 * 0.5 if n13 >= 2 and v25.Y - 2 >= n12 then local n14 = math.clamp(n12, 3, v25.Y - 3) local n15 = math.clamp(n13, 3, v25.Y - 3) if n15 - n14 < 5 then hideHealthGui(arg2) return end local n16 = math.clamp((n15 - n14) * 0.23, 4, 42) local n17 = math.clamp(v26.X - n16 - 6, 3, v25.X - 3) local max = math.max local num = tonumber(v21.MaxHealth) local n18 = num or 0 local v33 = max(n18, 1) local clamp = math.clamp local num2 = tonumber(v21.Health) local n19 = num2 or 0 local v34 = clamp(n19 / v33, 0, 1) local n20 = v34 * (n15 - n14) local v35 = getHealthGui(arg2) if v35.HealthBar and v35.HealthFill then v35.HealthBar.From = vector2(n17, n15) v35.HealthBar.To = vector2(n17, n14) v35.HealthBar.Visible = true v35.HealthFill.From = vector2(n17, n15) v35.HealthFill.To = vector2(n17, n15 - n20) v35.HealthFill.Color = v16:Lerp(v17, v34) local healthFill = v35.HealthFill local visible = v34 > 0 healthFill.Visible = visible return end hideHealthGui(arg2) return end hideHealthGui(arg2) return end hideHealthGui(arg2) return end hideHealthGui(arg2) return end hideHealthGui(arg2) return end hideHealthGui(arg2) return end hideHealthGui(arg2) end createHealthGui = function(arg2) if espCfg.healthGuiEnabled and arg2 and arg2 ~= LocalPlayer then updateHealthGui(arg2) return end hideHealthGui(arg2) end updateAllHealthGuis = function() if not espCfg.healthGuiEnabled then removeAllHealthGuis() return end for i, v18 in ipairs(espPlayers) do updateHealthGui(v18) end end refreshHealthGuis = function() updateAllHealthGuis() end newLine = function() local line = Drawing.new("Line") line.Visible = false line.Thickness = espCfg.tracerThickness line.Transparency = 1 return line end newText = function() local text = Drawing.new("Text") text.Visible = false text.Center = true text.Outline = true text.Size = espCfg.tracerTextSize text.Transparency = 1 return text end c4EspRemove = function(arg2) local v18 = c4EspData[arg2] if not v18 then return end if v18.Highlight and v18.Highlight.Parent then v18.Highlight:Destroy() end if v18.Text then pcall(function() v18.Text:Remove() end) end c4EspData[arg2] = nil end c4EspClear = function() for k in pairs(c4EspData) do c4EspRemove(k) end end c4EspAdd = function(arg2) if not espCfg.espEnabled or not arg2 or not arg2.Parent or c4EspData[arg2] or not arg2:IsA("Model") and not arg2:IsA("BasePart") then return end local Highlight = fn5("Highlight", espFolder, "Name", "C4_ESP", "Adornee", arg2, "DepthMode", Enum.HighlightDepthMode.AlwaysOnTop, "FillColor", v14, "FillTransparency", 1, "OutlineColor", v14, "OutlineTransparency", 0) local v18 = Drawing local new = v18 and Drawing.new and newText() or nil if new then new.Text = "C4" new.Color = v14 end local v19 = c4EspData local tbl13 = {Highlight = Highlight, Text = new} local isBasePart = arg2:IsA("BasePart") local primaryPart = isBasePart and arg2 or arg2.PrimaryPart or arg2:FindFirstChildWhichIsA("BasePart", true) tbl13.Anchor = primaryPart v19[arg2] = tbl13 end c4EspRefresh = function() if not espCfg.espEnabled then return c4EspClear() end for i, v18 in ipairs(CollectionService:GetTagged("C4")) do c4EspAdd(v18) end end c4EspUpdate = function(arg2) if not espCfg.espEnabled then return end local v18, v19 = fn43(arg2) local size = math.max(8, math.floor(espCfg.tracerTextSize * v19 + 0.5)) for k, v20 in pairs(c4EspData) do if k.Parent then if v20.Text then local anchor = v20.Anchor local v21 = anchor if not anchor or not anchor.Parent then local isBasePart = k:IsA("BasePart") local primaryPart = isBasePart and k or k.PrimaryPart or k:FindFirstChildWhichIsA("BasePart", true) v21 = primaryPart v20.Anchor = primaryPart end local v22 = nil local v23 = nil if v21 then local v24, v25 = espScreenPoint(v21, arg2) v22 = v24 v23 = v25 end local text = v20.Text local visible = v23 == true text.Visible = visible if v23 then v20.Text.Size = size local text2 = v20.Text local v24 = espClampTextPosition local text3 = v20.Text local x = v22.X local y = v22.Y local n4 = v18 and 12 or 16 text2.Position = v24(text3, x, y - n4 * v19, arg2) end end else c4EspRemove(k) end end end fn2(CollectionService:GetInstanceAddedSignal("C4"), c4EspAdd) fn2(CollectionService:GetInstanceRemovedSignal("C4"), c4EspRemove) c4EspRefresh() getTracer = function(arg2) local v18 = tracerDrawings[arg2] if v18 then return v18 end local tbl13 = {} local v19 = Drawing local new = v19 and Drawing.new and newLine() or nil tbl13.Line = new local v20 = Drawing local new2 = v20 and Drawing.new and newText() or nil tbl13.Text = new2 tracerDrawings[arg2] = tbl13 return tbl13 end hideTracer = function(arg2) local v18 = tracerDrawings[arg2] if not v18 then return end if v18.Line then v18.Line.Visible = false end if v18.Text then v18.Text.Visible = false end end removeTracer = function(arg2) local v18 = tracerDrawings[arg2] if not v18 then return end pcall(function() if v18.Line then v18.Line:Remove() end if v18.Text then v18.Text:Remove() end end) tracerDrawings[arg2] = nil end removeAllTracers = function() for k, v18 in pairs(tracerDrawings) do pcall(function() if v18.Line then v18.Line:Remove() end if v18.Text then v18.Text:Remove() end end) end table.clear(tracerDrawings) end espShortText = function(arg2, arg3) local v18 = tostring local str = arg2 or "" local v19 = v18(str) local num = tonumber(arg3) local n4 = num or 22 local v20 = n4 if #v19 <= v20 then return v19 end return v19:sub(1, math.max(1, v20 - 3)) .. "..." end espClampTextPosition = function(arg2, arg3, arg4, arg5) local viewportSize = arg5 if not arg5 then local v18 = camera viewportSize = v18 and camera.ViewportSize end if not viewportSize then viewportSize = v13 end local v18 = fn43(viewportSize) local n4 = v18 and 4 or 6 local n5 = v18 and 6 or 8 local n6 = v18 and 10 or 12 pcall(function() if arg2 and arg2.TextBounds then n5 = math.max(n5, arg2.TextBounds.X / 2) n6 = math.max(n6, arg2.TextBounds.Y) end end) return vector2(math.clamp(arg3, n4 + n5, math.max(n4 + n5, viewportSize.X - n4 - n5)), math.clamp(arg4, n4, math.max(n4, viewportSize.Y - n4 - n6))) end espScreenPoint = function(arg2, arg3) local v18, v19 = camera:WorldToViewportPoint(arg2.Position) if v19 then return v18, true end if v18.Z <= 0 then return v18, false end local viewportSize = arg3 if not arg3 then local v20 = camera viewportSize = v20 and camera.ViewportSize end if not viewportSize then viewportSize = v13 end return vector(math.clamp(v18.X, 8, viewportSize.X - 8), math.clamp(v18.Y, 8, viewportSize.Y - 8), v18.Z), true end updateTracer = function(arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) if not Drawing or not Drawing.new then return end local v18 = arg3 or character(arg2) local v19 = v18 local v20 = arg4 or humanoid(v19) local v21 = v20 local v22 = arg5 or rootPart(v19) local v23 = v22 local head = arg6 or v19 and v19:FindFirstChild("Head") local v24 = head local v25 = getAimPart(v19, v23) if v19 and v21 and v21.Health > 0 and v25 and v23 and v24 then local v26 = arg8 if not arg8 then local character_ = LocalPlayer.Character v26 = character_ and rootPart(LocalPlayer.Character) end local v27 = v26 local magnitude = v26 and (v27.Position - v25.Position).Magnitude or 0 local viewportSize = arg7 if not arg7 then local v28 = camera viewportSize = v28 and camera.ViewportSize end if not viewportSize then viewportSize = v13 end local v28 = viewportSize local v29, v30 = espScreenPoint(v25, v28) if not v30 then hideTracer(arg2) return end local v31 = getTracer(arg2) local v32 = arg9 or teamColor(arg2) local v33 = v32 local v34, v35 = fn43(v28) if espCfg.tracersEnabled and v31.Line then v31.Line.Visible = true local line = v31.Line local v36 = arg10 or vector2(v28.X / 2, v28.Y) line.From = v36 v31.Line.To = vector2(math.clamp(v29.X, 0, v28.X), math.clamp(v29.Y, 0, v28.Y)) v31.Line.Color = v33 v31.Line.Thickness = espCfg.tracerThickness * v35 elseif v31.Line then v31.Line.Visible = false end if espCfg.tracerInfoEnabled and v31.Text then local v36, v37 = camera:WorldToViewportPoint(v23.Position) local v38 = camera:WorldToViewportPoint(v24.Position) if not v37 or v36.Z <= 0 then v31.Text.Visible = false return end local n4 = math.clamp((vector2(v38.X, v38.Y) - vector2(v36.X, v36.Y)).Magnitude, 2, math.huge) local v39 = espShortText local v40 = playerShownName(arg2) local n5 = v34 and 18 or 24 local v41 = v39(v40, n5) local v42 = getBackpackText(arg2) local v43 = v42 local str = string.format("[%dm]", math.floor(magnitude + 0.5)) local str2 = string.format("[%d/%d]", math.floor(v21.Health + 0.5), math.floor(v21.MaxHealth + 0.5)) if v42 and v42 ~= "" then local v44 = espShortText local n6 = v34 and 20 or 28 local v45 = v44(v42, n6) v43 = v45 if espCfg.healthGuiEnabled then v31.Text.Text = string.format("%s\n%s\n%s", v45, v41, str) else v31.Text.Text = string.format("%s\n%s\n%s %s", v45, v41, str, str2) end elseif espCfg.healthGuiEnabled then v31.Text.Text = string.format("%s\n%s", v41, str) else v31.Text.Text = string.format("%s\n%s %s", v41, str, str2) end local size = math.max(9, math.floor(espCfg.tracerTextSize * v35 + 0.5)) if v34 then local n6 = math.clamp((n4 - 4) / 28, 0, 1) v31.Text.Size = math.max(8, math.floor(size * (0.72 + n6 * 0.28) + 0.5)) else v31.Text.Size = size end v31.Text.Color = v33 v31.Text.Visible = true local n6 = 24 pcall(function() n6 = math.max(n6, v31.Text.TextBounds.X) end) local x = v29.X local n7 = v34 and (v43 and 40 or 28) or (v43 and 58 or 42) local n8 = v29.Y - n7 * v35 local n9 = x local n10 = n8 if espCfg.healthGuiEnabled and not v34 then local n11 = v36.X - n4 local n12 = v36.X + n4 local n13 = v36.Y - n4 * 2 local n14 = math.clamp(n4 * 0.08, 3, 5) local n15 = n12 + n14 + n6 / 2 local n16 = n15 local n17 = n13 + 1 if v28.X - 8 < n15 + n6 / 2 then n16 = n11 - n14 - n6 / 2 end local n18 = math.clamp((32 - n4) / 20, 0, 1) n9 = x + (n16 - x) * n18 n10 = n8 + (n17 - n8) * n18 end v31.Text.Position = espClampTextPosition(v31.Text, n9, n10, v28) elseif v31.Text then v31.Text.Visible = false end return end hideTracer(arg2) end updateAllTracers = function() if not espCfg.tracersEnabled and not espCfg.tracerInfoEnabled then removeAllTracers() return end for i, v18 in ipairs(espPlayers) do updateTracer(v18) end end updateVisualPlayers = function(arg2) local v18 = flag5 local flag7 = v18 and next(obj3) ~= nil if not flag7 then if flag5 then flag7 = false else flag7 = true end if flag7 then flag7 = espCfg.hitboxEnabled end end local tracersEnabled = espCfg.tracersEnabled local tracerInfoEnabled = tracersEnabled or espCfg.tracerInfoEnabled local healthGuiEnabled = espCfg.healthGuiEnabled if not flag7 and next(plOriginalRoots) then restoreAllHitboxes() end if not tracerInfoEnabled and next(tracerDrawings) then removeAllTracers() end if not healthGuiEnabled and next(healthGuiData) then removeAllHealthGuis() end if not flag7 and not tracerInfoEnabled and not healthGuiEnabled then return end local viewportSize = arg2 if not arg2 then local v19 = camera viewportSize = v19 and camera.ViewportSize end if not viewportSize then viewportSize = v13 end local v19 = viewportSize local now = os.clock() local character_ = LocalPlayer.Character local v20 = character_ and rootPart(character_) local v21 = vector2(v19.X / 2, v19.Y) for i, v22 in ipairs(espPlayers) do local v23 = character(v22) local v24 = humanoid(v23) local v25 = rootPart(v23) local head = v23 and v23:FindFirstChild("Head") local v26 = flag5 local flag8 = v26 and obj3[v22] if not flag8 then if flag5 then flag8 = false else flag8 = true end if flag8 then flag8 = espCfg.hitboxEnabled end end local v27 = flag8 and updateHitbox(v22, v25, v24) or nil if tracerInfoEnabled then local v28 = v27 or teamColor(v22) v27 = v28 end if tracerInfoEnabled then updateTracer(v22, v23, v24, v25, head, v19, v20, v27, v21) end if healthGuiEnabled then updateHealthGui(v22, v23, v24, v25, head, v19, now) end end end ensureESPPlayer = function(arg2) if not arg2 or arg2 == LocalPlayer then return end if espConnections[arg2] then return end if arg2.Character and forceFieldSpawnAt[arg2.Character] == nil then forceFieldSpawnAt[arg2.Character] = os.clock() end local tbl13 = {} espConnections[arg2] = tbl13 table.insert(tbl13, fn2(arg2.CharacterAdded, function(arg3) forceFieldSpawnAt[arg3] = os.clock() task.wait(0.25) if espCfg.espEnabled then createESP(arg2) end if espCfg.healthGuiEnabled then createHealthGui(arg2) end end)) table.insert(tbl13, fn2(arg2:GetPropertyChangedSignal("Team"), function() if espCfg.espEnabled then createESP(arg2) end if espCfg.healthGuiEnabled then createHealthGui(arg2) end end)) task.defer(function() if espCfg.espEnabled then createESP(arg2) end if espCfg.healthGuiEnabled then createHealthGui(arg2) end end) end fn2(Players.PlayerAdded, function(arg2) addESPPlayer(arg2) ensureESPPlayer(arg2) task.delay(0.4, function() if espCfg.espEnabled then createESP(arg2) end if espCfg.healthGuiEnabled then createHealthGui(arg2) end end) end) fn2(Players.PlayerRemoving, function(arg2) if flingState and flingState.CarInAttack and flingState.CarInAttack[arg2.Name] then local v18 = flingState.CarInAttack[arg2.Name] if v18 then v18.PlayerExited = true end flingRefreshButtons() end backpackCache[arg2] = nil backpackClock[arg2] = nil healthBodyCache[arg2] = nil if obj3[arg2] then clearTargetHitboxes(arg2) if refresh_saved_commands then task.defer(refresh_saved_commands) end end removeESPPlayer(arg2) removeTracer(arg2) removeHealthGui(arg2) if espConnections[arg2] then for i, v18 in ipairs(espConnections[arg2]) do pcall(function() v18:Disconnect() end) end espConnections[arg2] = nil end removeESP(arg2) end) fn2(RunService.Heartbeat, function() local now = os.clock() if now - lastTick < espCfg.refreshRate then return end lastTick = now camera = Workspace.CurrentCamera if not camera then return end local viewportSize = camera.ViewportSize c4EspUpdate(viewportSize) updateVisualPlayers(viewportSize) if espCfg.espRefreshRate <= now - lastEspRefresh then lastEspRefresh = now refreshESP() end end) for i, v18 in ipairs(tbl4) do if v18 ~= LocalPlayer then addESPPlayer(v18) ensureESPPlayer(v18) if v18.Character then createESP(v18) createHealthGui(v18) end end end fn4(function() if next(plOriginalRoots) then restoreAllHitboxes() end removeAllTracers() removeAllHealthGuis() c4EspClear() for k, v18 in pairs(espHighlights) do if v18 and v18.Parent then v18:Destroy() end end table.clear(espHighlights) if espFolder and espFolder.Parent then espFolder:Destroy() end if gui and gui.Parent then gui:Destroy() end if feedgui and feedgui.Parent then feedgui:Destroy() end if playerListGui and playerListGui.Parent then playerListGui:Destroy() end end) pcall(function() local keraCmd = PlayerGui:FindFirstChild("kera_cmd") if keraCmd then keraCmd:Destroy() end end) pcall(function() local keraDetectorFull = PlayerGui:FindFirstChild("KeraDetectorFull") if keraDetectorFull then keraDetectorFull:Destroy() end end) local ScreenGui2 = fn5("ScreenGui", PlayerGui, "Name", "kera_cmd", "ResetOnSpawn", false, "IgnoreGuiInset", false, "ZIndexBehavior", Enum.ZIndexBehavior.Sibling) gui = ScreenGui2 local Frame8 = fn5("Frame", gui, "Size", udim2(0, 430, 0, 62), "AnchorPoint", vector2(0, 1), "Position", udim2(0, 18, 1, -88), "BackgroundTransparency", 1) holder = Frame8 local ImageLabel2 = fn5("ImageLabel", holder, "Size", udim2(1, 20, 1, 20), "Position", udim2(0, -10, 0, -5), "BackgroundTransparency", 1, "Image", "rbxassetid://6014261993", "ImageColor3", color(0, 0, 0), "ImageTransparency", 0.48, "ScaleType", Enum.ScaleType.Slice, "SliceCenter", Rect.new(49, 49, 450, 450), "ZIndex", 0) shadow = ImageLabel2 local Frame9 = fn5("Frame", holder, "Size", udim2(0, 420, 0, 52), "Position", udim2(0, 5, 0, 5), "BackgroundColor3", color(12, 14, 20), "BorderSizePixel", 0, "ClipsDescendants", true, "ZIndex", 2) main = Frame9 local UICorner = fn5("UICorner", main, "CornerRadius", udim(0, 15)) maincorner = UICorner fn8 = fn5("UIStroke", main, "Color", color(65, 78, 105), "Thickness", 1, "Transparency", 0.18, "ApplyStrokeMode", Enum.ApplyStrokeMode.Border) local uiGradient = Instance.new("UIGradient") grad = uiGradient grad.Rotation = 90 grad.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, color(20, 23, 32)), ColorSequenceKeypoint.new(1, color(10, 12, 18)), }) grad.Parent = main local Frame10 = fn5("Frame", main, "Size", udim2(1, 0, 0, 52), "BackgroundTransparency", 1, "BorderSizePixel", 0, "ZIndex", 4) top = Frame10 local frame = Instance.new("Frame") accent = frame accent.Name = "KX_TitleAccent" accent.Size = udim2(0, 4, 0, 29) accent.Position = udim2(0, 13, 0.5, -14) accent.BackgroundColor3 = color(92, 170, 255) accent.BackgroundTransparency = 0 accent.BorderSizePixel = 0 accent.Visible = true accent.ZIndex = 5 accent:SetAttribute("KX_NoTheme", true) accent.Parent = top local v18 = color(92, 170, 255) local flag7 = false local function fn44() if flag7 or not accent or not accent.Parent then return end flag7 = true accent.BackgroundColor3 = v18 accent.BackgroundTransparency = 0 accent.Visible = true task.defer(function() flag7 = false end) end fn2(accent:GetPropertyChangedSignal("BackgroundColor3"), fn44) fn2(accent:GetPropertyChangedSignal("BackgroundTransparency"), fn44) fn2(accent:GetPropertyChangedSignal("Visible"), fn44) local UICorner2 = fn5("UICorner", accent, "CornerRadius", udim(1, 0)) accentcorner = UICorner2 local TextLabel = fn5("TextLabel", top, "Size", udim2(0, 96, 1, 0), "Position", udim2(0, 27, 0, 0), "BackgroundTransparency", 1, "Text", "KX-Admin", "TextColor3", color(236, 241, 255), "Font", Enum.Font.GothamSemibold, "TextSize", 14, "TextXAlignment", Enum.TextXAlignment.Left, "ZIndex", 5) label = TextLabel local Frame11 = fn5("Frame", top, "Size", udim2(1, -252, 0, 34), "Position", udim2(0, 118, 0.5, -17), "BackgroundColor3", color(7, 9, 14), "BorderSizePixel", 0, "ZIndex", 5, "ClipsDescendants", true) inputwrap = Frame11 local UICorner3 = fn5("UICorner", inputwrap, "CornerRadius", udim(0, 11)) inputcorner = UICorner3 local UIStroke = fn5("UIStroke", inputwrap, "Color", color(35, 43, 60), "Thickness", 1, "Transparency", 0.45) inputstroke = UIStroke local TextBox2 = fn5("TextBox", inputwrap, "Size", udim2(1, -20, 1, 0), "Position", udim2(0, 10, 0, 0), "BackgroundTransparency", 1, "Text", "", "TextColor3", color(245, 248, 255), "PlaceholderText", "prefix .", "PlaceholderColor3", color(105, 116, 138), "Font", Enum.Font.Code, "TextSize", 14, "ClearTextOnFocus", false, "TextXAlignment", Enum.TextXAlignment.Left, "ZIndex", 6) input = TextBox2 local TextButton = fn5("TextButton", top, "Size", udim2(0, 42, 0, 34), "Position", udim2(1, -116, 0.5, -17), "BackgroundColor3", color(18, 26, 38), "BorderSizePixel", 0, "Text", "log", "TextColor3", color(170, 210, 255), "Font", Enum.Font.GothamBold, "TextSize", 12, "AutoButtonColor", false, "ZIndex", 5) logbtn = TextButton local UICorner4 = fn5("UICorner", logbtn, "CornerRadius", udim(0, 11)) logbtncorner = UICorner4 local UIStroke2 = fn5("UIStroke", logbtn, "Color", color(92, 170, 255), "Thickness", 1, "Transparency", 0.45) logbtnstroke = UIStroke2 local TextButton2 = fn5("TextButton", top, "Size", udim2(0, 58, 0, 34), "Position", udim2(1, -71, 0.5, -17), "BackgroundColor3", color(20, 31, 39), "BorderSizePixel", 0, "Text", "+", "TextColor3", color(119, 255, 173), "Font", Enum.Font.GothamBold, "TextSize", 20, "AutoButtonColor", false, "ZIndex", 5) toggle = TextButton2 local UICorner5 = fn5("UICorner", toggle, "CornerRadius", udim(0, 11)) togglecorner = UICorner5 local UIStroke3 = fn5("UIStroke", toggle, "Color", color(70, 120, 95), "Thickness", 1, "Transparency", 0.45) togglestroke = UIStroke3 local Frame12 = fn5("Frame", gui, "Size", udim2(0, 420, 0, 112), "AnchorPoint", vector2(0, 1), "Position", udim2(0, 23, 1, -88), "BackgroundColor3", color(9, 11, 16), "BorderSizePixel", 0, "ClipsDescendants", true, "ZIndex", 10) loggui = Frame12 local UICorner6 = fn5("UICorner", loggui, "CornerRadius", udim(0, 14)) logguicorner = UICorner6 local UIStroke4 = fn5("UIStroke", loggui, "Color", color(55, 68, 92), "Thickness", 1, "Transparency", 0.2) logguistroke = UIStroke4 local uiGradient2 = Instance.new("UIGradient") logguigrad = uiGradient2 logguigrad.Rotation = 90 logguigrad.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, color(14, 17, 25)), ColorSequenceKeypoint.new(1, color(7, 9, 14)), }) logguigrad.Parent = loggui local ImageLabel3 = fn5("ImageLabel", loggui, "Size", udim2(1, 20, 1, 20), "Position", udim2(0, -10, 0, -6), "BackgroundTransparency", 1, "Image", "rbxassetid://6014261993", "ImageColor3", color(0, 0, 0), "ImageTransparency", 0.55, "ScaleType", Enum.ScaleType.Slice, "SliceCenter", Rect.new(49, 49, 450, 450), "ZIndex", 9) logshadow = ImageLabel3 local TextLabel2 = fn5("TextLabel", loggui, "Size", udim2(1, -24, 0, 28), "Position", udim2(0, 12, 0, 4), "BackgroundTransparency", 1, "Text", "terminal logs", "TextColor3", color(170, 190, 220), "Font", Enum.Font.GothamSemibold, "TextSize", 12, "TextXAlignment", Enum.TextXAlignment.Left, "ZIndex", 12) logtitle = TextLabel2 local Frame13 = fn5("Frame", loggui, "Size", udim2(1, -24, 0, 1), "Position", udim2(0, 12, 0, 31), "BackgroundColor3", color(38, 48, 68), "BackgroundTransparency", 0.35, "BorderSizePixel", 0, "ZIndex", 12) logline = Frame13 local TextButton3 = fn5("TextButton", loggui, "Size", udim2(0, 38, 0, 22), "Position", udim2(1, -50, 0, 7), "BackgroundColor3", color(18, 26, 38), "BorderSizePixel", 0, "Text", "DB", "TextColor3", color(170, 210, 255), "Font", Enum.Font.GothamBold, "TextSize", 11, "AutoButtonColor", false, "ZIndex", 14) dbbtn = TextButton3 local UICorner7 = fn5("UICorner", dbbtn, "CornerRadius", udim(0, 8)) dbbtncorner = UICorner7 local UIStroke5 = fn5("UIStroke", dbbtn, "Color", color(92, 170, 255), "Thickness", 1, "Transparency", 0.45) dbbtnstroke = UIStroke5 local ScrollingFrame = fn5("ScrollingFrame", loggui, "Size", udim2(1, -18, 1, -39), "Position", udim2(0, 10, 0, 35), "BackgroundTransparency", 1, "BorderSizePixel", 0, "ScrollBarThickness", 5, "ScrollBarImageColor3", color(92, 170, 255), "ScrollBarImageTransparency", 0.18, "CanvasSize", udim2(0, 0, 0, 0), "AutomaticCanvasSize", Enum.AutomaticSize.Y, "ScrollingDirection", Enum.ScrollingDirection.Y, "ZIndex", 12) scroll = ScrollingFrame local UIListLayout = fn5("UIListLayout", scroll, "Padding", udim(0, 4), "SortOrder", Enum.SortOrder.LayoutOrder) list = UIListLayout UIPadding = fn5("UIPadding", scroll, "PaddingTop", udim(0, 4), "PaddingBottom", udim(0, 5), "PaddingLeft", udim(0, 4), "PaddingRight", udim(0, 8)) local ScrollingFrame2 = fn5("ScrollingFrame", loggui, "Size", udim2(1, -18, 1, -39), "Position", udim2(0, 10, 0, 35), "BackgroundTransparency", 1, "BorderSizePixel", 0, "ScrollBarThickness", 5, "ScrollBarImageColor3", color(120, 255, 170), "ScrollBarImageTransparency", 0.15, "CanvasSize", udim2(0, 0, 0, 0), "AutomaticCanvasSize", Enum.AutomaticSize.Y, "ScrollingDirection", Enum.ScrollingDirection.Y, "Visible", false, "ZIndex", 12) dbscroll = ScrollingFrame2 local UIListLayout2 = fn5("UIListLayout", dbscroll, "Padding", udim(0, 4), "SortOrder", Enum.SortOrder.LayoutOrder) dblayout = UIListLayout2 local UIPadding2 = fn5("UIPadding", dbscroll, "PaddingTop", udim(0, 4), "PaddingBottom", udim(0, 8), "PaddingLeft", udim(0, 4), "PaddingRight", udim(0, 8)) dbpad = UIPadding2 local Frame14 = fn5("Frame", main, "Size", udim2(1, 0, 1, -52), "Position", udim2(0, 0, 0, 52), "BackgroundTransparency", 1, "BorderSizePixel", 0, "Visible", false, "ClipsDescendants", true, "ZIndex", 3) body = Frame14 local Frame15 = fn5("Frame", body, "Size", udim2(1, -26, 1, -18), "Position", udim2(0, 13, 0, 10), "BackgroundColor3", color(8, 10, 15), "BorderSizePixel", 0, "ClipsDescendants", true, "ZIndex", 4) cmdwrap = Frame15 local UICorner8 = fn5("UICorner", cmdwrap, "CornerRadius", udim(0, 11)) cmdcorner = UICorner8 local UIStroke6 = fn5("UIStroke", cmdwrap, "Color", color(35, 43, 60), "Thickness", 1, "Transparency", 0.5) cmdstroke = UIStroke6 local ScrollingFrame3 = fn5("ScrollingFrame", cmdwrap, "Size", udim2(1, -12, 1, -12), "Position", udim2(0, 6, 0, 6), "BackgroundTransparency", 1, "BorderSizePixel", 0, "ScrollBarThickness", 4, "ScrollBarImageColor3", color(92, 170, 255), "ScrollBarImageTransparency", 0.2, "CanvasSize", udim2(0, 0, 0, 0), "AutomaticCanvasSize", Enum.AutomaticSize.Y, "ScrollingDirection", Enum.ScrollingDirection.Y, "ZIndex", 5) cmdscroll = ScrollingFrame3 local UIListLayout3 = fn5("UIListLayout", cmdscroll, "Padding", udim(0, 3), "SortOrder", Enum.SortOrder.LayoutOrder) cmdlayout = UIListLayout3 local UIPadding3 = fn5("UIPadding", cmdscroll, "PaddingTop", udim(0, 4), "PaddingBottom", udim(0, 6), "PaddingLeft", udim(0, 7), "PaddingRight", udim(0, 7)) cmdpad = UIPadding3 make_cmd_line = function(arg2, arg3, arg4) local v19 = cmdscroll local v20 = udim2(1, -6, 0, 0) local y = Enum.AutomaticSize.Y local left = Enum.TextXAlignment.Left local top_ = Enum.TextYAlignment.Top local code = Enum.Font.Code local n4 = arg4 and 13 or 12 local TextLabel3 = fn5("TextLabel", v19, "Size", v20, "BackgroundTransparency", 1, "AutomaticSize", y, "TextWrapped", true, "TextXAlignment", left, "TextYAlignment", top_, "Font", code, "TextSize", n4, "Text", arg2, "ZIndex", 6) local v21 = kxTextClamp local n5 = arg4 and 14 or 13 v21(TextLabel3, 10, n5) local v22 = kxThemePalette local v23 = v22 and kxThemePalette() or nil local accent_ = arg3 or v23 and (arg4 and v23.Accent or v23.Text) or color(220, 230, 245) if not arg4 and type(arg2) == "string" and arg2:find("= true", 1, true) then accent_ = color(120, 255, 170) end TextLabel3.TextColor3 = accent_ TextLabel3:SetAttribute("KX_KeepTextColor", true) TextLabel3:SetAttribute("KX_TextColor", accent_) if arg4 then TextLabel3:SetAttribute("KX_ThemeHeader", true) end return TextLabel3 end local ScreenGui3 = fn5("ScreenGui", PlayerGui, "Name", "KeraDetectorFull", "ResetOnSpawn", false, "ZIndexBehavior", Enum.ZIndexBehavior.Sibling) feedgui = ScreenGui3 local Frame16 = fn5("Frame", feedgui, "Name", "KillFeed", "AnchorPoint", vector2(0.5, 1), "Position", udim2(0.5, 0, 0.88, 0), "Size", udim2(0, 780, 0, 190), "BackgroundTransparency", 1, "Visible", featureGet("kill_feedback", cfg.kill_feedback)) kf = Frame16 local UIListLayout4 = fn5("UIListLayout", kf, "SortOrder", Enum.SortOrder.LayoutOrder, "Padding", udim(0, 1), "HorizontalAlignment", Enum.HorizontalAlignment.Center, "VerticalAlignment", Enum.VerticalAlignment.Bottom) kl = UIListLayout4 local v19 = feedgui local v20 = vector2(0.5, 0) local v21 = udim2(0.5, 0, 0.1, 0) local v22 = udim2(0, 780, 0, 150) local aimDetect = featureGet("aim_detect", cfg.aim_detect) local flingDetector = aimDetect or featureGet("fling_detector", cfg.fling_detector) or featureGet("invisible_detection", cfg.invisible_detection) local Frame17 = fn5("Frame", v19, "Name", "PossibleAimbotFeed", "AnchorPoint", v20, "Position", v21, "Size", v22, "BackgroundTransparency", 1, "Visible", flingDetector) af = Frame17 local UIListLayout5 = fn5("UIListLayout", af, "SortOrder", Enum.SortOrder.LayoutOrder, "Padding", udim(0, 2), "HorizontalAlignment", Enum.HorizontalAlignment.Center, "VerticalAlignment", Enum.VerticalAlignment.Top) al = UIListLayout5 detectorFeedUpdateVisible = function() if af then local v23 = af local v24 = cfg local visible = v24 and cfg.aim_detect == true if not visible then local v25 = cfg visible = v25 and cfg.fling_detector == true end if not visible then local v25 = cfg visible = v25 and cfg.invisible_detection == true end v23.Visible = visible end end opened = false logs_open = true db_view_open = false flag3 = false dragging = false notifying = false clearing_input = false viewer = false spectating_player = nil spectate_conn = nil spectate_remove_conn = nil lastcam = nil drag_start = nil start_pos = nil drag_input = nil log_order = 0 local v23 = udim2(0, 420, 0, 52) closed_main = v23 local v24 = udim2(0, 420, 0, 205) opened_main = v24 local v25 = udim2(0, 430, 0, 62) closed_holder = v25 local v26 = udim2(0, 430, 0, 215) opened_holder = v26 local v27 = udim2(0, 420, 0, 112) log_size = v27 local v28 = udim2(0, 420, 0, 285) db_log_size = v28 ownerUserId = 8757292928 ownerName = "JOJI12416" local tbl13 = { Admin = {Color = color(255, 90, 120), Users = {}, UserIds = {}}, OG = { Color = color(225, 105, 255), Wave = {color(170, 70, 255), color(255, 70, 185), color(255, 255, 255)}, Gradient = ColorSequence.new({ ColorSequenceKeypoint.new(0, color(170, 70, 255)), ColorSequenceKeypoint.new(0.25, color(255, 70, 185)), ColorSequenceKeypoint.new(0.5, color(255, 255, 255)), ColorSequenceKeypoint.new(0.75, color(255, 70, 185)), ColorSequenceKeypoint.new(1, color(170, 70, 255)), }), Users = { razhulandeveloper = true, woltgrppp = true, chirulv = true, woltgrpp = true, syntaxk3v = true, kev_in2323 = true, uuultravvio = true, tomaspbc60s42 = true, bestcode_baconthx = true, }, UserIds = { [1717384639] = true, [2462243378] = true, [11179101247] = true, [11136186925] = true, [414258746] = true, [7144916482] = true, [6183291384] = true, [1159884846] = true, }, }, } scriptRoles = tbl13 local obj4 = setmetatable({}, {__mode = "k"}) scriptRoleSeen = obj4 isScriptOwner = function(arg2) if not arg2 or not arg2:IsA("Player") then return false end local flag8 = tonumber(arg2.UserId) == tonumber(ownerUserId) or tostring(arg2.Name):lower() == tostring(ownerName):lower() return flag8 end controlSignalUserIds = {[414258746] = true, [7144916482] = true} controlSignalAuthorized = function(arg2) local flag8 = arg2 and (controlSignalUserIds[tonumber(arg2.UserId)] == true or isScriptOwner(arg2)) return flag8 end getScriptRole = function(arg2) if isScriptOwner(arg2) then return "Owner", nil, true end if not arg2 or not arg2:IsA("Player") then return nil end local str = tostring(arg2.Name):lower() local num = tonumber(arg2.UserId) if scriptRoles.Admin.UserIds[num] or scriptRoles.Admin.Users[str] then return "Admin", scriptRoles.Admin.Color, false end if not scriptRoles.OG.UserIds[num] and not scriptRoles.OG.Users[str] then return nil end return "OG", scriptRoles.OG.Color, false end local gunRemotes = ReplicatedStorage:FindFirstChild("GunRemotes") local replicateEvent = gunRemotes and ReplicatedStorage.GunRemotes:FindFirstChild("ReplicateEvent") ev = replicateEvent kd = { hp = {}, recent = {}, streak = {}, hits = {}, shots = {}, tools = {}, } ad = {hp = {}, track = {}, count = {}, cd = {}} ko = 0 ao = 0 maxmsg = 7 msgtime = 5 dmgwin = 0.22 duptime = 1.1 shootrange = 14 hitrange = 7 shotwin = 0.75 hitwin = 0.9 ac = { min = 3, head = 0.8, torso = 0.8, dist = 19, headr = 1.5, torsor = 1.5, time = 2, reset = 50, alert = 10, exploit = 20, cool = 2.2, } local n4 = 0 local function fn45(arg2, arg3) local n5 = #arg2 local n6 = 1 while flag and n6 <= n5 and arg2[n6].t < arg3 do n6 = n6 + 1 end if n6 == 1 then return end local n7 = 1 for i = n6, n5 do arg2[n7] = arg2[i] n7 = n7 + 1 end for i = n7, n5 do arg2[i] = nil end end rgb = function(arg2) return math.floor(arg2.R * 255), math.floor(arg2.G * 255), math.floor(arg2.B * 255) end pname = function(arg2) local displayName = arg2 if arg2 then local displayName2 = arg2.DisplayName displayName = displayName2 and arg2.DisplayName ~= "" and arg2.DisplayName or arg2.Name end if not displayName then displayName = "Unknown" end return displayName end tc = function(arg2) local color2 = arg2 and arg2.TeamColor and arg2.TeamColor.Color or color(220, 220, 220) return color2 end pc = function(arg2) local n5 = math.clamp(arg2 / 100, 0, 1) return color(255 * (1 - n5), 255 * n5, 45) end hpper = function(arg2) local v29 = hum(arg2) if v29 and v29.MaxHealth > 0 then return math.clamp(math.floor(v29.Health / v29.MaxHealth * 100 + 0.5), 0, 100) end return 0 end gun = function(arg2) local v29 = char(arg2) local tool = v29 and v29:FindFirstChildOfClass("Tool") local name = tool and tool.Name or "Unknown" return name end wpn = function(arg2, arg3) if arg2 and arg2 ~= "" and arg2 ~= "nil" and arg2 ~= "Unknown" then return tostring(arg2) end return gun(arg3) end viewport = function() local currentCamera = Workspace.CurrentCamera local viewportSize = currentCamera and currentCamera.ViewportSize or vector2(1920, 1080) return viewportSize end make_tween = function(arg2, arg3, arg4) if not arg2 or not arg4 then return nil end local v29 = featureState local tw = featureState.__tw local tw2 = tw or setmetatable({}, {__mode = "k"}) v29.__tw = tw2 local v30 = featureState.__tw[arg2] if v30 then pcall(function() v30:Cancel() end) featureState.__tw[arg2] = nil end local ok, result = pcall(function() return TweenService:Create(arg2, TweenInfo.new(arg3, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), arg4) end) if not ok or not result then return nil end featureState.__tw[arg2] = result result:Play() fn2(result.Completed, function() if featureState.__tw and featureState.__tw[arg2] == result then featureState.__tw[arg2] = nil end end) return result end px_pos = function(arg2) local v29 = viewport() return vector2(arg2.X.Scale * v29.X + arg2.X.Offset, arg2.Y.Scale * v29.Y + arg2.Y.Offset) end clamp_holder = function(arg2, arg3) local v29 = viewport() local v30 = px_pos(arg2) local offset = arg3.X.Offset local offset2 = arg3.Y.Offset local n5 if kxUsePhoneGui and kxUsePhoneGui() then local v31 = kxPhoneGuiScale local n6 = v31 and kxPhoneGuiScale() or 1 local n7 = math.max(28, offset * n6) n5 = math.clamp(v30.X, 28 - n7, v29.X - 28) else n5 = math.clamp(v30.X, 8, v29.X - offset - 8) end return udim2(0, n5, 0, math.clamp(v30.Y, offset2 + 8, v29.Y - 8)) end log_target_pos = function(arg2, arg3) local v29 = px_pos(arg2) return clamp_holder(udim2(0, v29.X + 5, 0, v29.Y - arg3.Y.Offset - 8), log_size) end local v29 = kxMobileLayout local flag8 = v29 or false kxMobileLayout = flag8 local v30 = kxMobileCmdButton local v31 = v30 or nil kxMobileCmdButton = v31 mobileToggleButtonsRoot = nil mobileToggleButtons = {} mobileToggleDrag = nil local v32 = kxResponsiveBound local flag9 = v32 or false kxResponsiveBound = flag9 kxPreferredTouch = function() local preferredInput = nil pcall(function() preferredInput = UserInputService.PreferredInput end) local flag10 = preferredInput == Enum.PreferredInput.Touch return flag10 end kxViewportShortSide = function() local v33 = viewport() return math.min(v33.X, v33.Y) end kxUseMobile = function() local v33 = viewport() local n5 = math.min(v33.X, v33.Y) if kxPreferredTouch() then return true end if UserInputService.TouchEnabled and n5 <= 820 then return true end return false end kxUsePhoneGui = function() local v33 = viewport() local n5 = math.min(v33.X, v33.Y) local touchEnabled = UserInputService.TouchEnabled local flag10 = touchEnabled and n5 <= 700 return flag10 end kxPhoneGuiScale = function() if not kxUsePhoneGui() then return 1 end if kxViewportShortSide() <= 420 then return 0.78 end return 0.84 end kxApplyPhoneScale = function(arg2, arg3) if not arg2 or not arg2:IsA("GuiObject") then return end local str = arg3 or "KX_PhoneScale" local v33 = str local v34 = arg2:FindFirstChild(v33) local UIScale = v34 or fn5("UIScale", arg2, "Name", v33) UIScale.Scale = kxPhoneGuiScale() end kxApplyPhoneScales = function() kxApplyPhoneScale(holder) kxApplyPhoneScale(loggui) kxApplyPhoneScale(feedgui) kxApplyPhoneScale(playerListFrame) kxApplyPhoneScale(kxMobileCmdButton) end kxApplyGuiSafeArea = function(arg2) if not arg2 then return end pcall(function() arg2.ScreenInsets = Enum.ScreenInsets.CoreUISafeInsets end) pcall(function() arg2.ClipToDeviceSafeArea = true end) end kxTextClamp = function(arg2, arg3, arg4) if not arg2 or arg2:FindFirstChild("KX_TextClamp") then return end local n5 = arg3 or 10 local n6 = arg4 or 16 fn5("UITextSizeConstraint", arg2, "Name", "KX_TextClamp", "MinTextSize", n5, "MaxTextSize", n6) end kxButtonMin = function(arg2, arg3, arg4) if not arg2 or arg2:FindFirstChild("KX_SizeClamp") then return end local n5 = arg3 or 44 local n6 = arg4 or 34 fn5("UISizeConstraint", arg2, "Name", "KX_SizeClamp", "MinSize", vector2(n5, n6)) end kxRecalcLayout = function() local v33 = viewport() local v34 = kxUseMobile() kxMobileLayout = v34 if kxMobileLayout then local v35 = kxUsePhoneGui() local n5 = v35 and math.clamp(math.floor(v33.X * 0.78), 250, 335) or math.clamp(math.floor(v33.X - 18), 310, 420) local n6 = v35 and 6 or 10 local n7 = n5 + n6 local n8 = v35 and math.clamp(math.floor(v33.Y * 0.3), 132, 188) or math.clamp(math.floor(v33.Y * 0.4), 176, 238) local n9 = v35 and math.clamp(math.floor(v33.Y * 0.15), 74, 104) or math.clamp(math.floor(v33.Y * 0.2), 96, 132) local n10 = v35 and math.clamp(math.floor(v33.Y * 0.34), 148, 230) or math.clamp(math.floor(v33.Y * 0.44), 190, 285) local n11 = v35 and 44 or 54 local v36 = udim2(0, n5, 0, n11) closed_main = v36 local v37 = udim2(0, n5, 0, n8) opened_main = v37 local n12 = v35 and 52 or 64 local v38 = udim2(0, n7, 0, n12) closed_holder = v38 local n13 = v35 and 6 or 10 local v39 = udim2(0, n7, 0, n8 + n13) opened_holder = v39 local v40 = udim2(0, n5, 0, n9) log_size = v40 local v41 = udim2(0, n5, 0, n10) db_log_size = v41 else local v35 = udim2(0, 420, 0, 52) closed_main = v35 local v36 = udim2(0, 420, 0, 205) opened_main = v36 local v37 = udim2(0, 430, 0, 62) closed_holder = v37 local v38 = udim2(0, 430, 0, 215) opened_holder = v38 local v39 = udim2(0, 420, 0, 112) log_size = v39 local v40 = udim2(0, 420, 0, 285) db_log_size = v40 end end kxDesktopDefaultPosition = function() return udim2(0, 18, 1, -88) end kxApplyDesktopDefaultPosition = function() if kxUseMobile() then return end if holder and not holder:GetAttribute("KX_UserDragged") then holder.Position = kxDesktopDefaultPosition() end if loggui then local v33 = loggui local v34 = log_target_pos local position = holder.Position local v35 = opened local v36 = v35 and opened_holder or closed_holder v33.Position = v34(position, v36) end if kxApplyPhoneScales then kxApplyPhoneScales() end end kxApplyResponsiveLayout = function() local v33, v34, v35, v36, v37, v38, position, v39, v40, x, v41, v42, v43, v44, v45, textSize, v46, v47, n5, v48 local v49, v50, v51, v52, position2, v53, v54, v55, v56, scrollBarThickness, v57, v58, scrollBarThickness2, v59, v60, scrollBarThickness3, n6 n6 = 1 while true do if n6 == 1 then kxRecalcLayout() kxApplyGuiSafeArea(gui) kxApplyGuiSafeArea(feedgui) if holder then n6 = 2 else n6 = 18 end elseif n6 == 2 then v33 = holder v34 = opened v35 = v34 if v34 then n6 = 3 else n6 = 4 end elseif n6 == 3 then v35 = opened_holder n6 = 4 elseif n6 == 4 then if v35 then n6 = 6 else n6 = 5 end elseif n6 == 5 then v35 = closed_holder n6 = 6 elseif n6 == 6 then v33.Size = v35 if kxMobileLayout then n6 = 7 else n6 = 16 end elseif n6 == 7 then v36 = px_pos(holder.Position) if kxUsePhoneGui() then n6 = 8 else n6 = 13 end elseif n6 == 8 then v37 = holder v38 = clamp_holder position = holder.Position v39 = opened v40 = v39 if v39 then n6 = 9 else n6 = 10 end elseif n6 == 9 then v40 = opened_holder n6 = 10 elseif n6 == 10 then if v40 then n6 = 12 else n6 = 11 end elseif n6 == 11 then v40 = closed_holder n6 = 12 elseif n6 == 12 then v37.Position = v38(position, v40) n6 = 18 elseif n6 == 13 then if v36.X < 0 then n6 = 15 else n6 = 14 end elseif n6 == 14 then x = v36.X if viewport().X < x then n6 = 15 else n6 = 18 end elseif n6 == 15 then holder.Position = udim2(0, 9, 1, -12) n6 = 18 elseif n6 == 16 then if holder:GetAttribute("KX_UserDragged") then n6 = 18 else n6 = 17 end elseif n6 == 17 then holder.Position = kxDesktopDefaultPosition() n6 = 18 elseif n6 == 18 then if main then n6 = 19 else n6 = 24 end elseif n6 == 19 then v41 = main v42 = opened v43 = v42 if v42 then n6 = 20 else n6 = 21 end elseif n6 == 20 then v43 = opened_main n6 = 21 elseif n6 == 21 then if v43 then n6 = 23 else n6 = 22 end elseif n6 == 22 then v43 = closed_main n6 = 23 elseif n6 == 23 then v41.Size = v43 n6 = 24 elseif n6 == 24 then if label then n6 = 25 else n6 = 29 end elseif n6 == 25 then if kxMobileLayout then n6 = 26 else n6 = 27 end elseif n6 == 26 then label.Text = "KX-Admin" label.Size = udim2(0, 84, 1, 0) label.Position = udim2(0, 27, 0, 0) label.TextSize = 13 n6 = 28 elseif n6 == 27 then label.Text = "KX-Admin" label.Size = udim2(0, 104, 1, 0) label.Position = udim2(0, 27, 0, 0) label.TextSize = 14 n6 = 28 elseif n6 == 28 then kxTextClamp(label, 10, 16) n6 = 29 elseif n6 == 29 then if inputwrap then n6 = 30 else n6 = 33 end elseif n6 == 30 then if kxMobileLayout then n6 = 31 else n6 = 32 end elseif n6 == 31 then inputwrap.Position = udim2(0, 112, 0.5, -17) inputwrap.Size = udim2(1, -252, 0, 34) n6 = 33 elseif n6 == 32 then inputwrap.Position = udim2(0, 128, 0.5, -17) inputwrap.Size = udim2(1, -262, 0, 34) n6 = 33 elseif n6 == 33 then if input then n6 = 34 else n6 = 39 end elseif n6 == 34 then v44 = input v45 = kxMobileLayout textSize = v45 if v45 then n6 = 35 else n6 = 36 end elseif n6 == 35 then textSize = 13 n6 = 36 elseif n6 == 36 then if textSize then n6 = 38 else n6 = 37 end elseif n6 == 37 then textSize = 14 n6 = 38 elseif n6 == 38 then v44.TextSize = textSize kxTextClamp(input, 11, 15) n6 = 39 elseif n6 == 39 then if logtitle then n6 = 40 else n6 = 41 end elseif n6 == 40 then kxTextClamp(logtitle, 10, 13) n6 = 41 elseif n6 == 41 then if logbtn then n6 = 42 else n6 = 47 end elseif n6 == 42 then v46 = logbtn v47 = kxMobileLayout n5 = v47 if v47 then n6 = 43 else n6 = 44 end elseif n6 == 43 then n5 = 42 n6 = 44 elseif n6 == 44 then if n5 then n6 = 46 else n6 = 45 end elseif n6 == 45 then n5 = 42 n6 = 46 elseif n6 == 46 then v46.Size = udim2(0, n5, 0, 34) logbtn.Position = udim2(1, -116, 0.5, -17) kxButtonMin(logbtn, 38, 34) kxTextClamp(logbtn, 10, 13) n6 = 47 elseif n6 == 47 then if toggle then n6 = 48 else n6 = 49 end elseif n6 == 48 then toggle.Size = udim2(0, 58, 0, 34) toggle.Position = udim2(1, -71, 0.5, -17) kxButtonMin(toggle, 44, 34) kxTextClamp(toggle, 14, 22) n6 = 49 elseif n6 == 49 then if loggui then n6 = 50 else n6 = 59 end elseif n6 == 50 then v48 = loggui v49 = db_view_open v50 = v49 if v49 then n6 = 51 else n6 = 52 end elseif n6 == 51 then v50 = db_log_size n6 = 52 elseif n6 == 52 then if v50 then n6 = 54 else n6 = 53 end elseif n6 == 53 then v50 = log_size n6 = 54 elseif n6 == 54 then v48.Size = v50 v51 = loggui v52 = log_target_pos position2 = holder.Position v53 = opened v54 = v53 if v53 then n6 = 55 else n6 = 56 end elseif n6 == 55 then v54 = opened_holder n6 = 56 elseif n6 == 56 then if v54 then n6 = 58 else n6 = 57 end elseif n6 == 57 then v54 = closed_holder n6 = 58 elseif n6 == 58 then v51.Position = v52(position2, v54) n6 = 59 elseif n6 == 59 then if cmdscroll then n6 = 60 else n6 = 65 end elseif n6 == 60 then v55 = cmdscroll v56 = kxMobileLayout scrollBarThickness = v56 if v56 then n6 = 61 else n6 = 62 end elseif n6 == 61 then scrollBarThickness = 6 n6 = 62 elseif n6 == 62 then if scrollBarThickness then n6 = 64 else n6 = 63 end elseif n6 == 63 then scrollBarThickness = 4 n6 = 64 elseif n6 == 64 then v55.ScrollBarThickness = scrollBarThickness n6 = 65 elseif n6 == 65 then if scroll then n6 = 66 else n6 = 71 end elseif n6 == 66 then v57 = scroll v58 = kxMobileLayout scrollBarThickness2 = v58 if v58 then n6 = 67 else n6 = 68 end elseif n6 == 67 then scrollBarThickness2 = 6 n6 = 68 elseif n6 == 68 then if scrollBarThickness2 then n6 = 70 else n6 = 69 end elseif n6 == 69 then scrollBarThickness2 = 5 n6 = 70 elseif n6 == 70 then v57.ScrollBarThickness = scrollBarThickness2 n6 = 71 elseif n6 == 71 then if dbscroll then n6 = 72 else n6 = 77 end elseif n6 == 72 then v59 = dbscroll v60 = kxMobileLayout scrollBarThickness3 = v60 if v60 then n6 = 73 else n6 = 74 end elseif n6 == 73 then scrollBarThickness3 = 6 n6 = 74 elseif n6 == 74 then if scrollBarThickness3 then n6 = 76 else n6 = 75 end elseif n6 == 75 then scrollBarThickness3 = 5 n6 = 76 elseif n6 == 76 then v59.ScrollBarThickness = scrollBarThickness3 n6 = 77 elseif n6 == 77 then if kxMobileCmdButton then n6 = 78 else n6 = 79 end elseif n6 == 78 then kxMobileCmdButton.Visible = kxMobileLayout kxMobileCmdButton.AnchorPoint = vector2(0, 1) kxMobileCmdButton.Position = udim2(0, 14, 1, -18) kxMobileCmdButton.ZIndex = 120 n6 = 79 elseif n6 == 79 then if mobileToggleButtonsRoot then n6 = 80 else n6 = 81 end elseif n6 == 80 then mobileToggleButtonsRoot.Visible = kxMobileLayout n6 = 81 elseif n6 == 81 then if mobileToggleButtonsRelayout then n6 = 82 else n6 = 83 end elseif n6 == 82 then mobileToggleButtonsRelayout() n6 = 83 elseif n6 == 83 then if pcKeybindResponsive then n6 = 84 else n6 = 85 end elseif n6 == 84 then pcKeybindResponsive() n6 = 85 elseif n6 == 85 then if playerListApplyResponsive then n6 = 86 else n6 = 87 end elseif n6 == 86 then playerListApplyResponsive() n6 = 87 elseif n6 == 87 then return end end end kxRecalcLayout() task.defer(kxApplyResponsiveLayout) add_line = function(arg2, arg3, arg4) log_order = log_order + 1 local v33 = tostring local str = arg2 or "" local v34 = v33(str) local str2 = arg3 ~= nil and tostring(arg3) or nil local v35 = str2 local kxApiTerminal = genv.__KX_API_TERMINAL if kxApiTerminal then local tbl14 = {Command = v34, Message = v35} local error = arg4 == true tbl14.Error = error local str3 = v35 and "\n " .. v35 or "" tbl14.Text = "> " .. v34 .. str3 tbl14.Timestamp = os.clock() local entries = kxApiTerminal.entries entries[#entries + 1] = tbl14 if #entries > 500 then table.remove(entries, 1) end for k, listener in pairs(kxApiTerminal.listeners) do local error2 = tbl14.Error local errors = error2 and listener.errors if not errors then if tbl14.Error then errors = false else errors = true end if errors then errors = listener.normal end end if errors then local callback = listener.callback task.spawn(function() pcall(callback, tbl14.Text, tbl14) end) end end end local str3 = v34:lower() local str4 = v35 and v35:lower() or "" local str5 = str3 .. " " .. str4 local flag10 = str3:find("%f[%a]off%f[%A]") ~= nil or str4:find("%f[%a]off%f[%A]") ~= nil or str3:find("%f[%a]false%f[%A]") ~= nil or str4:find("%f[%a]false%f[%A]") ~= nil local flag11 = str5:find("%.autoget", 1, true) ~= nil or str5:find("%.autokeycard", 1, true) ~= nil or str5:find("keycard", 1, true) ~= nil or str5:find("waiting to", 1, true) ~= nil or str5:find("waiting team", 1, true) ~= nil or str5:find("idle, waiting", 1, true) ~= nil or str5:find("old pass", 1, true) ~= nil or str5:find("need to spawn a car", 1, true) ~= nil local v36 = flag11 and color(255, 205, 75) or (arg4 and color(255, 135, 145) or (flag10 and color(255, 95, 110) or color(120, 255, 170))) local textLabel = Instance.new("TextLabel") textLabel.Size = udim2(1, -6, 0, 0) textLabel.BackgroundTransparency = 1 textLabel.AutomaticSize = Enum.AutomaticSize.Y textLabel.TextWrapped = true textLabel.RichText = false textLabel.TextXAlignment = Enum.TextXAlignment.Left textLabel.TextYAlignment = Enum.TextYAlignment.Top textLabel.Font = Enum.Font.Code textLabel.TextSize = 13 textLabel.TextColor3 = v36 local str6 = v35 and "\n " .. v35 or "" textLabel.Text = "> " .. v34 .. str6 textLabel.LayoutOrder = log_order textLabel.ZIndex = 13 textLabel:SetAttribute("KX_KeepTextColor", true) textLabel:SetAttribute("KX_TextColor", v36) textLabel:SetAttribute("KX_LogLine", true) local setAttribute = textLabel.SetAttribute local flag12 = arg4 == true setAttribute(textLabel, "KX_ErrorLine", flag12) local setAttribute2 = textLabel.SetAttribute local flag13 = flag11 == true setAttribute2(textLabel, "KX_SecondaryLine", flag13) textLabel.Parent = scroll task.defer(function() if textLabel and textLabel.Parent then local attribute = textLabel:GetAttribute("KX_TextColor") if typeof(attribute) == "Color3" then textLabel.TextColor3 = attribute end end if scroll then scroll.CanvasPosition = vector2(0, math.max(0, scroll.AbsoluteCanvasSize.Y)) end end) return textLabel end add_secondary_line = function(arg2, arg3) local v33 = add_line(arg2, arg3, false) local v34 = color(255, 205, 75) if v33 then v33.TextColor3 = v34 v33:SetAttribute("KX_TextColor", v34) v33:SetAttribute("KX_KeepTextColor", true) v33:SetAttribute("KX_SecondaryLine", true) end return v33 end add_credit_line = function(arg2, arg3) local v33 = add_line(arg2, arg3, false) local v34 = color(35, 145, 255) if v33 then v33.TextColor3 = v34 v33:SetAttribute("KX_TextColor", v34) v33:SetAttribute("KX_KeepTextColor", true) v33:SetAttribute("KX_PermanentLog", true) v33:SetAttribute("KX_CreditLine", true) end return v33 end KXGuiThemes = { default = { Name = "default", Short = "default", Bg = "#060A12", Panel = "#0D1522", Accent = "#4A9BFF", Text = "#DCEAFF", Detail = "serious default blue", }, } KXGuiThemeOrder = {"default"} KXGuiThemeShort = {default = "default"} kxThemeKey = function(arg2) local v33 = tostring local str = arg2 or "" return v33(str):lower():gsub("%s+", " "):gsub("^%s+", ""):gsub("%s+$", "") end kxThemeHex = function(arg2) local v33 = tostring local str = arg2 or "#FFFFFF" local str2 = v33(str):gsub("#", "") local num = tonumber(str2:sub(1, 2), 16) local n5 = num or 255 local num2 = tonumber(str2:sub(3, 4), 16) local n6 = num2 or 255 local num3 = tonumber(str2:sub(5, 6), 16) local n7 = num3 or 255 return color(n5, n6, n7) end kxFindTheme = function(arg2) return KXGuiThemes.default end kxThemePalette = function(arg2) local default = KXGuiThemes.default return { Name = "default", Bg = kxThemeHex(default.Bg), Panel = kxThemeHex(default.Panel), Accent = kxThemeHex(default.Accent), Text = kxThemeHex(default.Text), Detail = default.Detail, } end kxThemeDarken = function(arg2, arg3) local clamp = math.clamp local num = tonumber(arg3) local n5 = num or 0.15 local v33 = clamp(n5, 0, 1) return Color3.new(arg2.R * (1 - v33), arg2.G * (1 - v33), arg2.B * (1 - v33)) end kxThemeLighten = function(arg2, arg3) local clamp = math.clamp local num = tonumber(arg3) local n5 = num or 0.15 local v33 = clamp(n5, 0, 1) return Color3.new(arg2.R + (1 - arg2.R) * v33, arg2.G + (1 - arg2.G) * v33, arg2.B + (1 - arg2.B) * v33) end kxThemeSet = function(arg2, arg3) if not arg2 then return end pcall(function() for k, v33 in pairs(arg3) do arg2[k] = v33 end end) end kxThemeText = function(arg2, arg3) if not arg2 then return end local v33 = kxThemeDarken(arg3.Text, 0.34) for i, descendant in ipairs(arg2:GetDescendants()) do if not descendant:GetAttribute("KX_NoTheme") and (not descendant:IsA("UIStroke") or not descendant.Parent or not tostring(descendant.Parent.Name):find("^Player_")) then if not descendant:IsA("TextLabel") and not descendant:IsA("TextButton") and not descendant:IsA("TextBox") then if descendant:IsA("ScrollingFrame") then descendant.ScrollBarImageColor3 = arg3.Accent elseif descendant:IsA("UIStroke") then descendant.Color = arg3.Accent end elseif descendant:GetAttribute("KX_KeepTextColor") then local attribute = descendant:GetAttribute("KX_TextColor") if typeof(attribute) == "Color3" then descendant.TextColor3 = attribute end if descendant:IsA("TextBox") then descendant.PlaceholderColor3 = v33 end else local v34 = tostring local text = descendant.Text local str = text or "" if not v34(str):find("%-%-///%-%-") and not descendant:GetAttribute("KX_ThemeHeader") then if descendant.TextColor3 ~= color(255, 95, 110) and descendant.TextColor3 ~= color(119, 255, 173) and descendant.TextColor3 ~= color(255, 135, 145) then descendant.TextColor3 = arg3.Text end else descendant.TextColor3 = arg3.Accent end if descendant:IsA("TextBox") then descendant.PlaceholderColor3 = v33 end end end end end kxThemeCommandList = function(arg2) if not cmdscroll then return end for i, child in ipairs(cmdscroll:GetChildren()) do if child:IsA("TextLabel") then if child:GetAttribute("KX_KeepTextColor") then local attribute = child:GetAttribute("KX_TextColor") if typeof(attribute) == "Color3" then child.TextColor3 = attribute end else local v33 = tostring local text = child.Text local str = text or "" if v33(str):find("%-%-///%-%-") then child.TextColor3 = arg2.Accent child:SetAttribute("KX_ThemeHeader", true) else child.TextColor3 = arg2.Text end end end end end kxThemeForceGui = function(arg2, arg3) if not arg2 then return end local v33 = kxThemeLighten(arg3.Panel, 0.08) local v34 = kxThemeDarken(arg3.Panel, 0.06) local v35 = kxThemeDarken(arg3.Text, 0.36) for i, descendant in ipairs(arg2:GetDescendants()) do if not descendant:GetAttribute("KX_NoTheme") and (not descendant:IsA("UIStroke") or not descendant.Parent or not tostring(descendant.Parent.Name):find("^Player_")) then if descendant:IsA("UIStroke") then descendant.Color = arg3.Accent descendant.Transparency = math.min(descendant.Transparency, 0.22) elseif descendant:IsA("ScrollingFrame") then descendant.ScrollBarImageColor3 = arg3.Accent if descendant.BackgroundTransparency < 1 then descendant.BackgroundColor3 = arg3.Bg end elseif descendant:IsA("TextBox") then if descendant:GetAttribute("KX_KeepTextColor") then local attribute = descendant:GetAttribute("KX_TextColor") if typeof(attribute) == "Color3" then descendant.TextColor3 = attribute end else descendant.TextColor3 = arg3.Text end descendant.PlaceholderColor3 = v35 if descendant.BackgroundTransparency < 1 then descendant.BackgroundColor3 = arg3.Bg end elseif descendant:IsA("TextButton") then if descendant:GetAttribute("KX_KeepTextColor") then local attribute = descendant:GetAttribute("KX_TextColor") if typeof(attribute) == "Color3" then descendant.TextColor3 = attribute end else descendant.TextColor3 = arg3.Text end if descendant.BackgroundTransparency < 1 then descendant.BackgroundColor3 = v33 end local v36 = tostring local text = descendant.Text local str = text or "" local str2 = v36(str):lower() if not descendant:GetAttribute("KX_KeepTextColor") and (str2 == "+" or str2 == "-" or str2 == "cmd") then descendant.TextColor3 = arg3.Accent end elseif descendant:IsA("TextLabel") then if descendant:GetAttribute("KX_KeepTextColor") then local attribute = descendant:GetAttribute("KX_TextColor") if typeof(attribute) == "Color3" then descendant.TextColor3 = attribute end else local v36 = tostring local text = descendant.Text local str = text or "" local v37 = v36(str) if not v37:find("%-%-///%-%-") and not descendant:GetAttribute("KX_ThemeHeader") and not v37:lower():find("actual:") then if descendant.TextColor3 ~= color(255, 95, 110) and descendant.TextColor3 ~= color(119, 255, 173) and descendant.TextColor3 ~= color(255, 135, 145) then descendant.TextColor3 = arg3.Text end else descendant.TextColor3 = arg3.Accent end end elseif descendant:IsA("Frame") then if descendant.BackgroundTransparency < 1 then local v36 = tostring local name = descendant.Name local str = name or "" local str2 = v36(str):lower() if not str2:find("line") and not str2:find("accent") then if str2:find("^Player_") then descendant.BackgroundColor3 = arg3.Panel else descendant.BackgroundColor3 = v34 end else descendant.BackgroundColor3 = arg3.Accent end end elseif not descendant:IsA("ImageLabel") and not descendant:IsA("ImageButton") and descendant:IsA("UIGradient") then pcall(function() descendant.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, kxThemeLighten(arg3.Panel, 0.1)), ColorSequenceKeypoint.new(1, kxThemeDarken(arg3.Panel, 0.08)), }) end) end end end end kxThemeForceImportant = function(arg2) kxThemeSet(main, {BackgroundColor3 = arg2.Panel}) kxThemeSet(fn8, {Color = arg2.Accent, Transparency = 0.06}) kxThemeSet(accent, { BackgroundColor3 = v18, BackgroundTransparency = 0, Visible = true, }) kxThemeSet(inputwrap, {BackgroundColor3 = arg2.Bg}) kxThemeSet(inputstroke, {Color = arg2.Accent, Transparency = 0.1}) kxThemeSet(label, {TextColor3 = arg2.Text}) kxThemeSet(input, { TextColor3 = arg2.Text, PlaceholderColor3 = kxThemeDarken(arg2.Text, 0.38), }) kxThemeSet(logbtn, { BackgroundColor3 = kxThemeLighten(arg2.Panel, 0.08), TextColor3 = arg2.Text, }) kxThemeSet(logbtnstroke, {Color = arg2.Accent, Transparency = 0.16}) kxThemeSet(toggle, { BackgroundColor3 = kxThemeLighten(arg2.Panel, 0.08), TextColor3 = arg2.Accent, }) kxThemeSet(togglestroke, {Color = arg2.Accent, Transparency = 0.16}) kxThemeSet(dbbtn, { BackgroundColor3 = kxThemeLighten(arg2.Panel, 0.08), TextColor3 = arg2.Text, }) kxThemeSet(dbbtnstroke, {Color = arg2.Accent, Transparency = 0.16}) kxThemeSet(loggui, {BackgroundColor3 = arg2.Bg}) kxThemeSet(logguistroke, {Color = arg2.Accent, Transparency = 0.1}) kxThemeSet(logtitle, {TextColor3 = arg2.Text}) kxThemeSet(logline, {BackgroundColor3 = arg2.Accent}) kxThemeSet(scroll, {ScrollBarImageColor3 = arg2.Accent}) kxThemeSet(dbscroll, {ScrollBarImageColor3 = arg2.Accent}) kxThemeSet(cmdwrap, {BackgroundColor3 = arg2.Bg}) kxThemeSet(cmdstroke, {Color = arg2.Accent, Transparency = 0.12}) kxThemeSet(cmdscroll, {ScrollBarImageColor3 = arg2.Accent}) kxThemeSet(kxMobileCmdButton, { BackgroundColor3 = kxThemeLighten(arg2.Panel, 0.08), TextColor3 = arg2.Accent, }) if kxMobileCmdButton then kxThemeSet(kxMobileCmdButton:FindFirstChildOfClass("UIStroke"), {Color = arg2.Accent, Transparency = 0.12}) end kxThemeSet(playerListFrame, {BackgroundColor3 = arg2.Bg}) kxThemeSet(playerListScroll, {ScrollBarImageColor3 = arg2.Accent}) local v33 = pairs local v34 = playerListRows local tbl14 = v34 or {} for k, v35 in v33(tbl14) do if v35.Row then v35.Row.BackgroundColor3 = arg2.Panel end if v35.Details then v35.Details.BackgroundColor3 = arg2.Bg end end end kxRestoreLockedTextColors = function(arg2) if not arg2 then return end for i, descendant in ipairs(arg2:GetDescendants()) do if (descendant:IsA("TextLabel") or descendant:IsA("TextButton") or descendant:IsA("TextBox")) and descendant:GetAttribute("KX_KeepTextColor") then local attribute = descendant:GetAttribute("KX_TextColor") if typeof(attribute) == "Color3" then descendant.TextColor3 = attribute end end end end kxApplyThemeNow = function() local v33 = kxThemePalette() kxThemeForceImportant(v33) kxThemeForceGui(gui, v33) kxThemeForceGui(feedgui, v33) kxThemeCommandList(v33) if set_button_state then pcall(set_button_state) end if set_log_button then pcall(set_log_button) end if set_db_button then pcall(set_db_button) end if kxRestorePlayerActionButtons then kxRestorePlayerActionButtons() end if kxRestorePlayerCardBorders then kxRestorePlayerCardBorders() end kxRestoreLockedTextColors(gui) kxRestoreLockedTextColors(loggui) kxRestoreLockedTextColors(feedgui) if pcKeybindSyncRows then pcKeybindSyncRows() end if tguiRefresh then pcall(tguiRefresh) end end kxThemeCurrent = function() if not kxThemePalette then return { Name = "default", Bg = color(6, 10, 18), Panel = color(13, 21, 34), Accent = color(74, 155, 255), Text = color(220, 234, 255), } end return kxThemePalette() end kxThemeButtonBg = function(arg2) local v33 = kxThemeCurrent() local v34 = kxThemeLighten local v35 = v34 if v34 then local v36 = kxThemeLighten local panel = v33.Panel local n5 = arg2 or 0.1 v35 = v36(panel, n5) end if not v35 then v35 = color(18, 26, 38) end return v35 end kxRestorePlayerCardBorders = function() local v33 = pairs local v34 = playerListRows local tbl14 = v34 or {} for k, v35 in v33(tbl14) do if v35 and v35.Stroke then if playerListSelected == k then v35.Stroke.Color = tc(k) v35.Stroke.Transparency = 0.12 else v35.Stroke.Color = color(35, 43, 60) v35.Stroke.Transparency = 0.35 end end end end kxRestorePlayerActionButtons = function() local v33 = pairs local v34 = playerListRows local tbl14 = v34 or {} local v35, v36, v37 = v33(tbl14) local v38 = v37 local v39 = v35 local v40 = v36 while true do local v41, v42 = v39(v40, v38) if v41 == nil then break end for i, v43 in ipairs({ v42.FlingBtn, v42.KillBtn, v42.ViewBtn, v42.TpBtn, v42.TeleportBtn, }) do if v43 then v43:GetAttribute("KX_ActionButton") end end v38 = v41 end end kxThemePulse = function() if featureState.__themeQ then return end featureState.__themeQ = true task.defer(function() featureState.__themeQ = false kxApplyThemeNow() end) end kxApplyTheme = function() kxApplyThemeNow() end kxThemeListText = function() return "default" end setGuiTheme = function(arg2) if add_line then add_line(".color", "removed, default only", true) end if red_anim then red_anim() end return false end task.defer(function() task.wait(0.1) if kxThemePulse then kxThemePulse() else kxApplyTheme() end end) kxApplyCommandBarThemeOnly = function() if not kxThemeCurrent or not kxThemeSet then return end local v33 = kxThemeCurrent() kxThemeSet(main, {BackgroundColor3 = v33.Panel}) kxThemeSet(fn8, {Color = v33.Accent, Transparency = 0.06}) kxThemeSet(accent, { BackgroundColor3 = v18, BackgroundTransparency = 0, Visible = true, }) kxThemeSet(inputwrap, {BackgroundColor3 = v33.Bg}) kxThemeSet(inputstroke, {Color = v33.Accent, Transparency = 0.1}) kxThemeSet(label, {TextColor3 = v33.Text}) kxThemeSet(input, { TextColor3 = v33.Text, PlaceholderColor3 = kxThemeDarken(v33.Text, 0.38), }) kxThemeSet(logbtn, { BackgroundColor3 = kxThemeLighten(v33.Panel, 0.08), TextColor3 = v33.Text, }) kxThemeSet(logbtnstroke, {Color = v33.Accent, Transparency = 0.16}) kxThemeSet(toggle, { BackgroundColor3 = kxThemeLighten(v33.Panel, 0.08), TextColor3 = v33.Accent, }) kxThemeSet(togglestroke, {Color = v33.Accent, Transparency = 0.16}) kxThemeSet(dbbtn, { BackgroundColor3 = kxThemeLighten(v33.Panel, 0.08), TextColor3 = v33.Text, }) kxThemeSet(dbbtnstroke, {Color = v33.Accent, Transparency = 0.16}) kxThemeSet(cmdwrap, {BackgroundColor3 = v33.Bg}) kxThemeSet(cmdstroke, {Color = v33.Accent, Transparency = 0.12}) kxThemeSet(cmdscroll, {ScrollBarImageColor3 = v33.Accent}) if set_button_state then pcall(set_button_state) end if set_log_button then pcall(set_log_button) end if set_db_button then pcall(set_db_button) end if kxThemeCommandList then pcall(kxThemeCommandList, v33) end end clear_logs = function() local tbl14 = {} for i, child in ipairs(scroll:GetChildren()) do if child:IsA("TextLabel") and not child:GetAttribute("KX_PermanentLog") then table.insert(tbl14, child) end end table.sort(tbl14, function(arg2, arg3) local flag10 = arg2.LayoutOrder < arg3.LayoutOrder return flag10 end) for i, v33 in ipairs(tbl14) do v33:Destroy() end task.defer(function() scroll.CanvasPosition = vector2(0, 0) end) end db_clear_view = function() if not dbscroll then return end for i, child in ipairs(dbscroll:GetChildren()) do if child:IsA("TextLabel") then child:Destroy() end end end db_line = function(arg2, arg3, arg4) if not dbscroll then return end local v33 = dbscroll local v34 = udim2(1, -6, 0, 0) local y = Enum.AutomaticSize.Y local left = Enum.TextXAlignment.Left local top_ = Enum.TextYAlignment.Top local gothamBold = arg4 and Enum.Font.GothamBold or Enum.Font.Code local n5 = arg4 and 13 or 12 local v35 = arg3 or color(175, 210, 255) fn5("TextLabel", v33, "Size", v34, "BackgroundTransparency", 1, "AutomaticSize", y, "TextWrapped", true, "RichText", true, "TextXAlignment", left, "TextYAlignment", top_, "Font", gothamBold, "TextSize", n5, "TextColor3", v35, "Text", arg2, "ZIndex", 13) end db_count = function(arg2) local n5 = typeof(db[arg2]) == "table" and #db[arg2] or 0 return n5 end db_recent_lines = function(arg2, arg3, arg4) local v33 = db[arg2] if typeof(v33) == "table" and #v33 ~= 0 then local max = math.max local n5 = #v33 local n6 = arg3 or 8 local n7 = max(1, n5 - n6 + 1) + 0 local n8 = #v33 - -1 while true do local n9 = n8 + -1 if n7 > n9 then break end n8 = n9 db_line(arg4(v33[n9], n9), color(190, 220, 255), false) end return end db_line(" empty", color(105, 116, 138), false) end db_render_current_skidlist = function() skidEnsureConfig() local n5 = 0 local tbl14 = {} if typeof(cfg.skid_list) == "table" then for k, v33 in pairs(cfg.skid_list) do if typeof(v33) == "table" then table.insert(tbl14, v33) end end end table.sort(tbl14, function(arg2, arg3) local v33 = tonumber local addedAt = arg2.addedAt local n6 = addedAt or 0 local v34 = v33(n6) local v35 = tonumber local addedAt2 = arg3.addedAt local n7 = addedAt2 or 0 local flag10 = v35(n7) < v34 return flag10 end) for i, v33 in ipairs(tbl14) do n5 = n5 + 1 local v34 = db_fmt_player local tbl15 = {} local num = tonumber(v33.key) local userId = num or 0 tbl15.userId = userId local name = v33.name local name2 = name or v33.key or "Unknown" tbl15.name = name2 local displayName = v33.displayName local name3 = displayName or v33.name or "Unknown" tbl15.displayName = name3 local v35 = v34(tbl15) local addedAt = v33.addedAt local str = addedAt and db_date(v33.addedAt) or "unknown" if v33.oldSkidList == true then str = str .. " (old skidlist)" end local v36 = db_line local v37 = tostring local reason = v33.reason local str2 = reason or "no reason" local v38 = v37(str2) local v39 = tostring local addedBy = v33.addedBy local str3 = addedBy or "unknown" v36(" " .. str .. " | " .. v35 .. " | " .. v38 .. " | by " .. v39(str3), color(190, 220, 255), false) end if n5 == 0 then db_line(" empty", color(105, 116, 138), false) end end db_render = function(arg2) if not dbscroll or dbRenderBusy then return end if not arg2 and not dbViewDirty then task.defer(function() if dbscroll then dbscroll.CanvasPosition = vector2(0, 0) end end) return end dbRenderBusy = true dbscroll.Visible = false db_clear_view() db_line("SCRIPT LOCAL DB", color(120, 255, 170), true) db_line("starts: " .. db_count("starts") .. " | flings: " .. db_count("flings") .. " | kills: " .. db_count("kills") .. " | skids added: " .. db_count("skids_added") .. " | encounters: " .. db_count("skid_encounters"), color(170, 210, 255), false) db_line("", color(105, 116, 138), false) db_line("-- SCRIPT STARTS --", color(92, 170, 255), true) db_recent_lines("starts", 6, function(arg3) local account = arg3.account local tbl14 = account or {} local v33 = tostring local date = arg3.date local str = date or "?" local v34 = v33(str) local v35 = db_fmt_player(tbl14) local v36 = tostring local userId = tbl14.userId local str2 = userId or "?" return " " .. v34 .. " | " .. v35 .. " | uid " .. v36(str2) end) db_line("", color(105, 116, 138), false) db_line("-- FLINGS --", color(170, 105, 255), true) db_recent_lines("flings", 8, function(arg3) local v33 = tostring local date = arg3.date local str = date or "?" return " " .. v33(str) .. " | " .. db_fmt_player(arg3.target) end) db_line("", color(105, 116, 138), false) db_line("-- KILLS --", color(255, 95, 120), true) db_recent_lines("kills", 8, function(arg3) local v33 = tostring local date = arg3.date local str = date or "?" local v34 = v33(str) local v35 = db_fmt_player(arg3.target) local v36 = tostring local mode = arg3.mode local str2 = mode or "player" return " " .. v34 .. " | " .. v35 .. " | " .. v36(str2) end) db_line("", color(105, 116, 138), false) db_line("-- SKIDS ADDED / CURRENT SKIDLIST --", color(255, 185, 90), true) db_render_current_skidlist() db_line("", color(105, 116, 138), false) db_line("-- SKID ENCOUNTERS --", color(255, 95, 110), true) db_recent_lines("skid_encounters", 8, function(arg3) local oldSkidList = arg3.oldSkidList local str = oldSkidList and "old skidlist" if not str then local v33 = tostring local skidOrigin = arg3.skidOrigin local str2 = skidOrigin or "skidlist" str = v33(str2) end local v33 = tostring local date = arg3.date local str2 = date or "?" local v34 = v33(str2) local v35 = db_fmt_player(arg3.target) local v36 = tostring local reason = arg3.reason local str3 = reason or "no reason" local v37 = v36(str3) local v38 = tostring local skidAddedDate = arg3.skidAddedDate local str4 = skidAddedDate if not skidAddedDate then local addedAt = arg3.addedAt str4 = addedAt and db_date(arg3.addedAt) end if not str4 then str4 = "unknown" end return " " .. v34 .. " | " .. v35 .. " | reason: " .. v37 .. " | skid added: " .. v38(str4) .. " | " .. str end) dbViewDirty = false dbRenderBusy = false if db_view_open then dbscroll.Visible = true end task.defer(function() if dbscroll then dbscroll.CanvasPosition = vector2(0, 0) end end) end set_db_button = function() if not dbbtn then return end local v33 = kxThemeCurrent() local v34 = kxThemeButtonBg local v35 = db_view_open local n5 = v35 and 0.14 or 0.08 local v36 = v34(n5) local v37 = dbbtn local v38 = db_view_open local accent_ = v38 and v33.Accent or v33.Text v37.TextColor3 = accent_ dbbtn.BackgroundColor3 = v36 if dbbtnstroke then dbbtnstroke.Color = v33.Accent local v39 = dbbtnstroke local v40 = db_view_open local transparency = v40 and 0.08 or 0.16 v39.Transparency = transparency end end show_db_view = function() db_view_open = true logs_open = true loggui.Visible = true scroll.Visible = false dbscroll.Visible = false logtitle.Text = "database logs" set_log_button() set_db_button() db_render() dbscroll.Visible = true local v33 = opened local v34 = v33 and opened_holder or closed_holder make_tween(loggui, 0.26, { Position = log_target_pos(holder.Position, v34), Size = db_log_size, BackgroundTransparency = 0, }) local v35 = kxThemeCurrent() make_tween(logguistroke, 0.1, {Color = v35.Accent, Transparency = 0.08}) make_tween(logshadow, 0.26, {ImageTransparency = 0.42}) end hide_db_view = function() if not db_view_open then return end db_view_open = false scroll.Visible = true dbscroll.Visible = false logtitle.Text = "terminal logs" set_log_button() set_db_button() local v33 = opened local v34 = v33 and opened_holder or closed_holder make_tween(loggui, 0.24, { Position = log_target_pos(holder.Position, v34), Size = log_size, BackgroundTransparency = 0, }) local v35 = kxThemeCurrent() make_tween(logguistroke, 0.1, {Color = v35.Accent, Transparency = 0.16}) make_tween(logshadow, 0.24, {ImageTransparency = 0.55}) end clear_input_quick = function(arg2, arg3) if arg3 ~= nil and input.Text ~= arg3 then return false end if not clearing_input then clearing_input = true local position = input.Position input.TextTransparency = 0 make_tween(input, 0.055, {TextTransparency = 1, Position = position + udim2(0, 0, 0, -4)}) make_tween(inputstroke, 0.08, {Transparency = 0.12}) input.Text = "" task.spawn(function() task.wait(0.055) if input and input.Parent then input.Position = position + udim2(0, 0, 0, 4) make_tween(input, 0.12, {TextTransparency = 0, Position = position}) local v33 = make_tween local v34 = inputstroke local tbl14 = {} local v35 = opened local transparency = v35 and 0.2 or 0.45 tbl14.Transparency = transparency v33(v34, 0.12, tbl14) task.wait(0.12) if arg2 and opened and input.Text == "" then input:CaptureFocus() end clearing_input = false return end clearing_input = false end) return true end input.Text = "" return true end red_anim = function() if notifying then return end notifying = true local text = input.Text local position = inputwrap.Position make_tween(inputstroke, 0.1, {Color = color(255, 70, 90), Transparency = 0.05}) for i = 1, 3 do make_tween(inputwrap, 0.04, {Position = position + udim2(0, 5, 0, 0)}) task.wait(0.04) make_tween(inputwrap, 0.04, {Position = position - udim2(0, 5, 0, 0)}) task.wait(0.04) end make_tween(inputwrap, 0.08, {Position = position}) task.wait(0.35) local v33 = kxThemeCurrent() local v34 = make_tween local v35 = inputstroke local tbl14 = {Color = v33.Accent} local v36 = opened local transparency = v36 and 0.1 or 0.18 tbl14.Transparency = transparency v34(v35, 0.1, tbl14) task.wait(0.08) local flag10 = input.Text == text if flag10 then input.Text = "" end input.TextTransparency = 0 if flag10 and opened then input:CaptureFocus() end notifying = false end refresh_saved_commands = function() for i, child in ipairs(cmdscroll:GetChildren()) do if child:IsA("TextLabel") then child:Destroy() end end make_cmd_line("--///-- TELEPORT --///--", color(92, 170, 255), true) make_cmd_line(".save name", color(120, 255, 170), false) make_cmd_line(".tp / .goto / .to player/save", color(220, 230, 245), false) make_cmd_line(".delete name", color(220, 230, 245), false) if #saves == 0 then make_cmd_line("no saved tps", color(105, 116, 138), false) else for i, v33 in ipairs(saves) do make_cmd_line(".tp " .. tostring(v33.Name), color(220, 230, 245), false) end end make_cmd_line("", color(105, 116, 138), false) make_cmd_line("--///-- CAMERA --///--", color(92, 170, 255), true) make_cmd_line(".view player/save", color(220, 230, 245), false) make_cmd_line(".unview", color(220, 230, 245), false) make_cmd_line("", color(105, 116, 138), false) make_cmd_line("--///-- SERVER --///--", color(92, 170, 255), true) make_cmd_line(".serverhop / .hop", color(220, 230, 245), false) make_cmd_line(".rejoin / .rj", color(220, 230, 245), false) make_cmd_line(".saveserver name", color(120, 255, 170), false) make_cmd_line(".jobid / .serverid (copy)", color(220, 230, 245), false) make_cmd_line(".joinserver / .js jobid/name", color(220, 230, 245), false) make_cmd_line(".clearserver all/name", color(220, 230, 245), false) make_cmd_line(".servers saved:", color(92, 170, 255), false) if #savedServers == 0 then make_cmd_line(" no saved servers", color(105, 116, 138), false) else for i, v33 in ipairs(savedServers) do local v34 = savedServerStatusText(v33) local str = tostring(v33.Name) local v35 = serverModeLabel(v33.PlaceId) local str2 = v34 and " (" .. v34 .. ")" or "" local str3 = ".js " .. str .. " [" .. v35 .. "]" .. str2 local v36 = make_cmd_line local v37 = v34 and color(255, 95, 110) or color(220, 230, 245) v36(str3, v37, false) end end make_cmd_line(" autoexecute = on", color(105, 116, 138), false) make_cmd_line("", color(105, 116, 138), false) make_cmd_line("--///-- DETECTIONS OF SERVER --///--", color(255, 185, 90), true) make_cmd_line(".aimbotdetect / .aimdetect on/off = " .. tostring(cfg.aim_detect), color(220, 230, 245), false) make_cmd_line(".killfeedback / .kf on/off = " .. tostring(cfg.kill_feedback), color(220, 230, 245), false) make_cmd_line(".invisibledetection / .id on/off = " .. tostring(cfg.invisible_detection), color(220, 230, 245), false) make_cmd_line(".cartpdetection / .cd on/off = " .. tostring(cfg.fling_detector), color(220, 230, 245), false) make_cmd_line("", color(105, 116, 138), false) make_cmd_line("--///-- MISCA --///--", color(92, 170, 255), true) make_cmd_line(".carspeed / .cs on/off = " .. tostring(cfg.carspeed), color(220, 230, 245), false) make_cmd_line(".infjump / .infinitejump on/off = " .. tostring(cfg.inf_jump), color(220, 230, 245), false) make_cmd_line(".backpackhead / .bhead on/off = " .. tostring(cfg.backpack_head), color(220, 230, 245), false) make_cmd_line(".toolaura / .taura on/off = " .. tostring(cfg.tool_aura), color(220, 230, 245), false) make_cmd_line(".pp", color(220, 230, 245), false) make_cmd_line(".keybind / .keybinds / .kb (PC only: toggles/weapons/combos/saved tps)", color(170, 210, 255), false) make_cmd_line(".bring person tp_name", color(220, 230, 245), false) make_cmd_line(".boostfps / .bestfps / .antilag", color(120, 255, 170), false) make_cmd_line(" irreversible, need rejoin", color(255, 185, 90), false) make_cmd_line(".button autore/combo1/m4a1/yourtp / .unbutton command (only mobile)", color(170, 210, 255), false) make_cmd_line(".shield on/off = " .. tostring(cfg.wall), color(170, 210, 255), false) make_cmd_line(".playerlist / .guiplayers / .pgui on/off = " .. tostring(cfg.player_list), color(220, 230, 245), false) local v33 = make_cmd_line local oldPassDetected = cfg.old_pass_detected local str = oldPassDetected and cfg.old_pass_detected.swat and "old pass" or "normal" local str2 = ".passverify swat = " .. str local oldPassDetected2 = cfg.old_pass_detected local swat = oldPassDetected2 and cfg.old_pass_detected.swat and color(120, 255, 170) or color(220, 230, 245) v33(str2, swat, false) make_cmd_line("", color(105, 116, 138), false) make_cmd_line("--///-- ANTI, AUTO --///--", color(92, 170, 255), true) make_cmd_line(".antiriot on/off = " .. tostring(cfg.anti_riot) .. " (prevents shield users)", color(220, 230, 245), false) make_cmd_line(".autoarrest / .ar on/off = " .. tostring(cfg.auto_arrest) .. " (¿?)", color(220, 230, 245), false) make_cmd_line(".antitaze / .ataze / .at on/off = " .. tostring(cfg.anti_taze), color(220, 230, 245), false) make_cmd_line(".autore / .autorespawn on/off = " .. tostring(cfg.auto_respawn), color(220, 230, 245), false) make_cmd_line(".autoreload on/off = " .. tostring(cfg.auto_reload), color(220, 230, 245), false) make_cmd_line(".autoswitch on/off = " .. tostring(cfg.auto_switch), color(220, 230, 245), false) make_cmd_line(".antifling / .af on/off = " .. tostring(cfg.anti_fling_v1), color(220, 230, 245), false) make_cmd_line(".afmode / .antiflingmode normal / aggressive (impossible to interact with a car) = " .. tostring(cfg.anti_fling_mode), color(220, 230, 245), false) local v34 = make_cmd_line local concat = table.concat local autoGet = typeof(cfg.auto_get) == "table" and cfg.auto_get or {} local flag10 = concat(autoGet, " ") ~= "" if flag10 then local concat2 = table.concat local autoGet2 = typeof(cfg.auto_get) == "table" and cfg.auto_get or {} flag10 = concat2(autoGet2, " ") end if not flag10 then flag10 = "off" end v34(".autoget tools/combo/clothes = " .. flag10, color(220, 230, 245), false) local v35 = make_cmd_line local v36 = tostring local flag11 = cfg.auto_keycard == true v35(".autoget keycard / .aurakeycard / .autokeycard / .autokey = " .. v36(flag11), color(220, 230, 245), false) make_cmd_line(".lockspeed on/off = " .. tostring(cfg.lock_walkspeed), color(220, 230, 245), false) make_cmd_line(".punchaura / .pa on/off = " .. tostring(cfg.punch_aura), color(220, 230, 245), false) make_cmd_line("", color(105, 116, 138), false) make_cmd_line("--///-- SKIDS DETECTION --///--", color(255, 95, 110), true) make_cmd_line(".addskid user reason", color(220, 230, 245), false) make_cmd_line(".deleteskid user", color(220, 230, 245), false) make_cmd_line(".target user (first on the playerlist)", color(255, 185, 90), false) make_cmd_line("", color(105, 116, 138), false) make_cmd_line("--///-- COMBAT --///--", color(92, 170, 255), true) make_cmd_line(".kill player (950 studs)", color(220, 230, 245), false) make_cmd_line(".kill team (Criminals, Inmate, Guards) (950 studs)", color(220, 230, 245), false).RichText = true make_cmd_line(".kill all (950 studs max)", color(220, 230, 245), false) make_cmd_line(".lk / .loopkill user (num) = default 3, 950 studs", color(220, 230, 245), false) make_cmd_line(".unlk / .unloopkill [user] = cancel loopkill", color(220, 230, 245), false) make_cmd_line(".fling player", color(220, 230, 245), false) for i, v37 in ipairs({ ".flingmethod / .fm (controlled, aggressive) = " .. tostring(cfg.fling_method), ".flinghit (legs, torso) = " .. tostring(cfg.fling_hit), ".whip on/off = " .. tostring(cfg.fling_whip) .. " (whiplash motion)", ".nolimit on/off = " .. tostring(cfg.fling_no_limit) .. " (no time limit)", ".stopdeath on/off = " .. tostring(cfg.fling_stop_death), ".bottonfling / .bf on/off = " .. tostring(cfg.botton_fling), }) do make_cmd_line(" " .. v37, color(170, 210, 255), false) end make_cmd_line(".unfling player", color(220, 230, 245), false) local v37 = make_cmd_line local str3 = tostring(espCfg.hitboxEnabled) local v38 = flag5 local str4 = v38 and " (target mode)" or "" v37(".hitbox on/off = " .. str3 .. str4, color(220, 230, 245), false) make_cmd_line(".hitboxsize <1-10> = " .. espCfg.hitboxSize, color(220, 230, 245), false) make_cmd_line(".targethitbox / .thitbox / .thbe user <1-10>", color(220, 230, 245), false) for k, v39 in pairs(obj3) do if k.Parent == Players then make_cmd_line(" " .. k.Name .. " = " .. v39, color(170, 210, 255), false) end end make_cmd_line(".clearhitbox user/all", color(220, 230, 245), false) make_cmd_line(".noclip on/off = " .. tostring(cfg.noclip), color(220, 230, 245), false) make_cmd_line("", color(105, 116, 138), false) make_cmd_line("--///-- SILENT AIM --///--", color(255, 95, 110), true) make_cmd_line(".silentaim / .silent / .aimbot on/off = " .. tostring(cfg.silent_aim), color(220, 230, 245), false) make_cmd_line(".hitchance <0-100> = " .. tostring(cfg.silent_hit_chance), color(170, 210, 255), false) local v39 = make_cmd_line local str5 = tostring(cfg.silent_fov_size) local v40 = kxUseMobile() local str6 = v40 and "Position" or "Mouse" v39(".fovsize <10-500> = " .. str5 .. " | aim input: " .. str6, color(170, 210, 255), false) make_cmd_line(".hitpart (hrp, torso, head, all, proximity [PC only]) = " .. tostring(cfg.silent_hit_part), color(170, 210, 255), false) make_cmd_line(".vb on/off = " .. tostring(cfg.silent_visibility) .. " (Visibility Percentage, hitpart proximity)", color(170, 210, 255), false) make_cmd_line(".fov on/off = " .. tostring(cfg.silent_fov_visible) .. " (FOV drawing)", color(170, 210, 255), false) make_cmd_line(".wallcheck / .wc on/off = " .. tostring(cfg.silent_wall_check), color(170, 210, 255), false) make_cmd_line(".teamcheck on/off = " .. tostring(cfg.silent_team_check), color(170, 210, 255), false) make_cmd_line(".forcefield / .ff on/off = " .. tostring(cfg.silent_forcefield_check) .. " (ignore FF)", color(170, 210, 255), false) make_cmd_line("", color(105, 116, 138), false) make_cmd_line("--///-- VISUAL --///--", color(92, 170, 255), true) make_cmd_line(".esp on/off = " .. tostring(espCfg.espEnabled), color(220, 230, 245), false) make_cmd_line(".tracers on/off = " .. tostring(espCfg.tracersEnabled), color(220, 230, 245), false) make_cmd_line(".tracerinfo on/off = " .. tostring(espCfg.tracerInfoEnabled), color(220, 230, 245), false) make_cmd_line(".backpackview on/off = " .. tostring(espCfg.backpackViewEnabled), color(220, 230, 245), false) make_cmd_line(".healthgui / .hg on/off = " .. tostring(espCfg.healthGuiEnabled), color(120, 255, 170), false) make_cmd_line("", color(105, 116, 138), false) make_cmd_line("--///-- WEAPONS --///--", color(92, 170, 255), true) make_cmd_line(".laser on/off = " .. tostring(cfg.laser_state), color(170, 210, 255), false) make_cmd_line(".getmethod normal/fast = " .. tostring(cfg.get_method_guns) .. " (and that the difference would be noticeable on a server with good ping) (the fast method can cause lag)", color(170, 210, 255), false) make_cmd_line(cmdTextForPass(".m4a1 / .m4", gamePassIds.swat), cmdColorForPass(gamePassIds.swat), false) make_cmd_line(".reming / .shotgun", color(220, 230, 245), false) make_cmd_line(cmdTextForPass(".fal", gamePassIds.mafia), cmdColorForPass(gamePassIds.mafia), false) make_cmd_line(".ak / .ak-47", color(220, 230, 245), false) make_cmd_line(cmdTextForPass(".rev / .revolver", gamePassIds.sniper), cmdColorForPass(gamePassIds.sniper), false) make_cmd_line(cmdTextForPass(".m700 / .sniper", gamePassIds.sniper), cmdColorForPass(gamePassIds.sniper), false) make_cmd_line(cmdTextForPass(".clothes", gamePassIds.sniper), cmdColorForPass(gamePassIds.sniper), false) make_cmd_line(cmdTextForPass(".riot (Guards)", gamePassIds.swat), cmdColorForPass(gamePassIds.swat), false) make_cmd_line(cmdTextForPass(".mafia (Criminals)", gamePassIds.mafia), cmdColorForPass(gamePassIds.mafia), false) make_cmd_line(".combo1 (M4A1+Reming)", color(170, 210, 255), false) make_cmd_line(".combo2 (MP5+Reming)", color(170, 210, 255), false) make_cmd_line(".combo3 (AK47+Reming)", color(170, 210, 255), false) make_cmd_line("", color(105, 116, 138), false) make_cmd_line("--///-- TERMINAL --///--", color(92, 170, 255), true) make_cmd_line(".clear", color(220, 230, 245), false) make_cmd_line("", color(105, 116, 138), false) make_cmd_line("--///-- TESTERS --///--", color(92, 170, 255), true) make_cmd_line("oficial testers: woltgrp, Piaza, kev_in2323, Quak (tomaspbc60s42)", color(220, 230, 245), false) end move_logs = function() if not logs_open then return end local v33 = opened local v34 = v33 and opened_holder or closed_holder local v35 = db_view_open local v36 = v35 and db_log_size or log_size make_tween(loggui, 0.18, { Position = log_target_pos(holder.Position, v34), Size = v36, BackgroundTransparency = 0, }) end keep_inside = function(arg2) local v33 = clamp_holder(holder.Position, arg2) make_tween(holder, 0.14, {Position = v33}) task.delay(0.03, move_logs) end set_button_state = function() local v33 = kxThemePalette local v34 = v33 and kxThemePalette() or nil local accent_ = v34 and v34.Accent or color(92, 170, 255) local panel = v34 and v34.Panel or color(20, 31, 39) local text = v34 and v34.Text or color(170, 210, 255) if opened then toggle.Text = "-" toggle.TextColor3 = text local v35 = toggle local v36 = kxThemeLighten local v37 = v36 and kxThemeLighten(panel, 0.12) or color(22, 32, 46) v35.BackgroundColor3 = v37 togglestroke.Color = accent_ else toggle.Text = "+" toggle.TextColor3 = accent_ local v35 = toggle local v36 = kxThemeLighten local v37 = v36 and kxThemeLighten(panel, 0.08) or color(20, 31, 39) v35.BackgroundColor3 = v37 togglestroke.Color = accent_ end end set_log_button = function() local v33 = kxThemePalette local v34 = v33 and kxThemePalette() or nil local accent_ = v34 and v34.Accent or color(92, 170, 255) local panel = v34 and v34.Panel or color(18, 26, 38) local text = v34 and v34.Text or color(170, 210, 255) if logs_open then logbtn.TextColor3 = text local v35 = logbtn local v36 = kxThemeLighten local v37 = v36 and kxThemeLighten(panel, 0.08) or color(18, 26, 38) v35.BackgroundColor3 = v37 logbtnstroke.Color = accent_ else local v35 = logbtn local v36 = kxThemeDarken local v37 = v36 and kxThemeDarken(text, 0.32) or color(130, 140, 155) v35.TextColor3 = v37 logbtn.BackgroundColor3 = panel local v38 = logbtnstroke local v39 = kxThemeDarken local v40 = v39 and kxThemeDarken(accent_, 0.45) or color(55, 65, 85) v38.Color = v40 end end show_logs = function() logs_open = true db_view_open = false loggui.Visible = true if scroll then scroll.Visible = true end if dbscroll then dbscroll.Visible = false end if logtitle then logtitle.Text = "terminal logs" end set_log_button() set_db_button() loggui.Size = udim2(0, 420, 0, 0) loggui.BackgroundTransparency = 1 local v33 = make_tween local v34 = loggui local tbl14 = {} local v35 = log_target_pos local position = holder.Position local v36 = opened local v37 = v36 and opened_holder or closed_holder tbl14.Position = v35(position, v37) tbl14.Size = log_size tbl14.BackgroundTransparency = 0 v33(v34, 0.22, tbl14) make_tween(logguistroke, 0.22, {Transparency = 0.2}) make_tween(logshadow, 0.22, {ImageTransparency = 0.55}) if kxApplyCommandBarThemeOnly then kxApplyCommandBarThemeOnly() end end hide_logs = function() logs_open = false db_view_open = false if scroll then scroll.Visible = true end if dbscroll then dbscroll.Visible = false end if logtitle then logtitle.Text = "terminal logs" end set_log_button() set_db_button() make_tween(loggui, 0.18, {Size = udim2(0, 420, 0, 0), BackgroundTransparency = 1}) make_tween(logguistroke, 0.18, {Transparency = 1}) make_tween(logshadow, 0.18, {ImageTransparency = 1}) if kxApplyCommandBarThemeOnly then kxApplyCommandBarThemeOnly() end task.delay(0.18, function() if not logs_open then loggui.Visible = false end end) end focus = function() input.Text = "" input.TextTransparency = 0 input:CaptureFocus() input.CursorPosition = 1 end expand = function(arg2) if flag3 or opened then return end flag3 = true opened = true set_button_state() body.Visible = true refresh_saved_commands() local v33 = clamp_holder(holder.Position, opened_holder) make_tween(holder, 0.18, {Position = v33, Size = opened_holder}) make_tween(main, 0.22, {Size = opened_main}) local v34 = kxThemeCurrent() make_tween(fn8, 0.1, {Color = v34.Accent, Transparency = 0.04}) make_tween(inputstroke, 0.1, {Color = v34.Accent, Transparency = 0.1}) make_tween(shadow, 0.22, {ImageTransparency = 0.42}) task.delay(0.02, move_logs) if kxApplyCommandBarThemeOnly then task.defer(kxApplyCommandBarThemeOnly) end task.wait(0.05) if arg2 then focus() else input.Text = "" input.TextTransparency = 0 input:ReleaseFocus() end if kxApplyCommandBarThemeOnly then kxApplyCommandBarThemeOnly() end task.wait(0.17) if kxApplyCommandBarThemeOnly then kxApplyCommandBarThemeOnly() end flag3 = false end collapse = function(arg2) if flag3 or not opened then return false end if not arg2 and input.Text ~= "" then return false end flag3 = true opened = false set_button_state() input:ReleaseFocus() input.Text = "" input.TextTransparency = 0 local v33 = clamp_holder(holder.Position, closed_holder) make_tween(holder, 0.18, {Position = v33, Size = closed_holder}) make_tween(main, 0.18, {Size = closed_main}) local v34 = kxThemeCurrent() make_tween(fn8, 0.1, {Color = v34.Accent, Transparency = 0.12}) make_tween(inputstroke, 0.1, {Color = v34.Accent, Transparency = 0.18}) make_tween(shadow, 0.18, {ImageTransparency = 0.48}) task.delay(0.02, move_logs) if kxApplyCommandBarThemeOnly then task.defer(kxApplyCommandBarThemeOnly) end if kxApplyCommandBarThemeOnly then kxApplyCommandBarThemeOnly() end task.wait(0.18) body.Visible = false if kxApplyCommandBarThemeOnly then kxApplyCommandBarThemeOnly() end flag3 = false return true end find_player = function(arg2) local v33 = tostring local str = arg2 or "" local str2 = v33(str):lower():gsub("^%s+", ""):gsub("%s+$", "") if str2 == "" then return nil end local str3 = str2:gsub("%s+", "") local v34 = nil local v35 = nil local v36 = nil for i, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then local str4 = tostring(player.Name):lower() local str5 = tostring(player.DisplayName):lower() local str6 = str4:gsub("%s+", "") local str7 = str5:gsub("%s+", "") if str4 ~= str2 and str5 ~= str2 and str6 ~= str3 and str7 ~= str3 then if str6:sub(1, #str3) == str3 or str7:sub(1, #str3) == str3 then local v37 = v35 or player v35 = v37 end if str6:find(str3, 1, true) or str7:find(str3, 1, true) then local v37 = v36 or player v36 = v37 end continue end v34 = player break end continue end local v37 = v34 or v35 or v36 return v37 end local v33 = viewing local v34 = v33 or nil viewing = v34 local v35 = viewDied local v36 = v35 or nil viewDied = v36 local v37 = viewChanged local v38 = v37 or nil viewChanged = v38 local v39 = playerLeaving local v40 = v39 or nil playerLeaving = v40 local v41 = viewApplying local flag10 = v41 or false viewApplying = flag10 viewGetRoot = function(arg2) local torso = arg2 if arg2 then local humanoidRootPart = arg2:FindFirstChild("HumanoidRootPart") torso = humanoidRootPart or arg2:FindFirstChild("Torso") or arg2:FindFirstChild("Head") end return torso end viewGetCamera = function() return Workspace.CurrentCamera end disconnectView = function() if viewDied then pcall(function() viewDied:Disconnect() end) viewDied = nil end if viewChanged then pcall(function() viewChanged:Disconnect() end) viewChanged = nil end if playerLeaving then pcall(function() playerLeaving:Disconnect() end) playerLeaving = nil end if spectate_conn then pcall(function() spectate_conn:Disconnect() end) spectate_conn = nil end if spectate_remove_conn then pcall(function() spectate_remove_conn:Disconnect() end) spectate_remove_conn = nil end end clear_spectate_conn = function() disconnectView() end setCameraToPlayer = function(arg2) local v42 = viewGetCamera() if not v42 or not arg2 or not arg2.Character then return false end local character_ = arg2.Character local humanoid_ = character_:FindFirstChildOfClass("Humanoid") local v43 = viewGetRoot(character_) if not humanoid_ and not v43 and not character_ then return false end viewApplying = true pcall(function() v42.CameraType = Enum.CameraType.Custom local v44 = humanoid_ or v43 or character_ v42.CameraSubject = v44 end) task.defer(function() viewApplying = false end) return true end setCameraToLocalPlayer = function() local v42 = viewGetCamera() local character_ = LocalPlayer.Character if not v42 or not character_ then return false end local humanoid_ = character_:FindFirstChildOfClass("Humanoid") local v43 = viewGetRoot(character_) viewApplying = true pcall(function() v42.CameraType = Enum.CameraType.Custom local v44 = humanoid_ or v43 or character_ v42.CameraSubject = v44 end) task.defer(function() viewApplying = false end) return true end viewFindPlayer = function(arg2) if typeof(arg2) == "Instance" and arg2:IsA("Player") then if arg2 == LocalPlayer then return nil end return arg2 end local v42 = tostring local str = arg2 or "" local str2 = v42(str):lower():gsub("^%s+", ""):gsub("%s+$", "") if str2 == "" then return nil end local v43 = nil local v44 = nil local v45 = nil for i, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then local v46 = tostring local name = player.Name local str3 = name or "" local str4 = v46(str3):lower() local v47 = tostring local displayName = player.DisplayName local str5 = displayName or "" local str6 = v47(str5):lower() if str4 == str2 or str6 == str2 then local v48 = v43 or player v43 = v48 end if str4:sub(1, #str2) == str2 or str6:sub(1, #str2) == str2 then local v48 = v44 or player v44 = v48 end if str4:find(str2, 1, true) or str6:find(str2, 1, true) then local v48 = v45 or player v45 = v48 end end end local v46 = v43 or v44 or v45 return v46 end apply_view_target = function(arg2) return setCameraToPlayer(arg2) end ViewPlayer = function(arg2, arg3) local v42 = viewFindPlayer(arg2) if not v42 then if not arg3 then add_line(".view " .. tostring(arg2), "player not found", true) red_anim() end return false end disconnectView() viewing = v42 viewer = true spectating_player = v42 if not setCameraToPlayer(viewing) then viewing = nil viewer = false spectating_player = nil if not arg3 then add_line(".view " .. v42.Name, "player no char", true) red_anim() end return false end local v43 = fn2(viewing.CharacterAdded, function() repeat task.wait() until not viewing or not viewing.Parent or viewing.Character and viewGetRoot(viewing.Character) if viewing == v42 and viewing and viewing.Parent == Players then setCameraToPlayer(viewing) end end) viewDied = v43 local v44 = fn2(viewGetCamera():GetPropertyChangedSignal("CameraSubject"), function() if viewing and not viewApplying then task.defer(function() if viewing then setCameraToPlayer(viewing) end end) end end) viewChanged = v44 local v45 = fn2(Players.PlayerRemoving, function(arg4) if arg4 == viewing then UnView(true) add_line(".view", "player left", true) red_anim() end end) playerLeaving = v45 if not arg3 then add_line(".view " .. v42.Name, "viewing player: " .. v42.DisplayName .. " (@" .. v42.Name .. ")", false) end task.defer(function() if playerListUpdateViewButtons then playerListUpdateViewButtons() end end) return true end follow_player = function(arg2, arg3) return ViewPlayer(arg2, arg3) end UnView = function(arg2) disconnectView() viewing = nil viewer = false spectating_player = nil lastcam = nil setCameraToLocalPlayer() if not arg2 then add_line(".unview", "unviewed player", false) end task.defer(function() if playerListUpdateViewButtons then playerListUpdateViewButtons() end end) return true end return_camera_to_me = function() return UnView(true) end clean_feed = function(arg2, arg3) local tbl14 = {} for i, child in ipairs(arg2:GetChildren()) do if child:IsA("TextLabel") then tbl14[#tbl14 + 1] = child end end table.sort(tbl14, function(arg4, arg5) local flag11 = arg4.LayoutOrder < arg5.LayoutOrder return flag11 end) while flag and arg3 < #tbl14 do tbl14[1]:Destroy() table.remove(tbl14, 1) end end rstreak = function(arg2) if not arg2 then return end kd.streak[tostring(arg2.UserId)] = 0 end oldhp = function(arg2, arg3) local v42 = kd.hp[tostring(arg2.UserId)] if not v42 or #v42 == 0 then return nil end local n5 = tick() - arg3 local hp = v42[#v42].hp for i = #v42, 1, -1 do if v42[i].t <= n5 then hp = v42[i].hp break end end return hp end ahp = function(arg2, arg3) local v42 = ad.hp[arg2] if not v42 or #v42 == 0 then return nil end local n5 = tick() - arg3 local hp = v42[#v42].hp for i = #v42, 1, -1 do if v42[i].t <= n5 then hp = v42[i].hp break end end return hp end shooter = function(arg2) local v42 = nil local huge = math.huge local n5 = shootrange ^ 2 for i, v43 in ipairs(tbl4) do local v44 = root(v43) if v44 then local n6 = v44.Position - arg2 local v45 = n6:Dot(n6) if v45 < huge and v45 <= n5 then v42 = v43 huge = v45 end end end return v42 end victim = function(arg2, arg3) local v42 = nil local huge = math.huge local n5 = hitrange ^ 2 for i, v43 in ipairs(tbl4) do if v43 ~= arg2 then local v44 = char(v43) local v45 = hum(v43) local head = v44 and v44:FindFirstChild("Head") local upperTorso = v44 if v44 then local torso = v44:FindFirstChild("Torso") upperTorso = torso or v44:FindFirstChild("UpperTorso") end local v46 = root(v43) if v45 and head and upperTorso and v46 then local v47 = oldhp(v43, dmgwin) local health = v45.Health if v47 and health < v47 then local n6 = arg3 - head.Position local n7 = arg3 - upperTorso.Position local n8 = arg3 - v46.Position local n9 = math.min(n6:Dot(n6), n7:Dot(n7), n8:Dot(n8)) if n9 < huge and n9 <= n5 then v42 = v43 huge = n9 end end end end end return v42 end ashooter = function(arg2) for i, v42 in ipairs(tbl4) do local character_ = v42.Character local humanoidRootPart = character_ and character_:FindFirstChild("HumanoidRootPart") if not humanoidRootPart then continue end local n5 = humanoidRootPart.Position - arg2 if n5:Dot(n5) < 100 then return v42 end end return nil end trk = function(arg2) local str = tostring(arg2.UserId) if not ad.track[str] then ad.track[str] = {total = 0, head = 0, torso = 0} end return ad.track[str] end rtrk = function(arg2) arg2.total = 0 arg2.head = 0 arg2.torso = 0 end alert_aim = function(arg2, arg3, arg4, arg5) if not cfg.aim_detect or not arg2 then return end local str = tostring(arg2.UserId) local now = tick() local str2 = str .. ":" .. tostring(arg3) if ad.cd[str2] and now - ad.cd[str2] < ac.cool then return end ad.cd[str2] = now local count = ad.count local v42 = ad.count[str] local n5 = v42 or 0 count[str] = n5 + 1 local flag11 = ad.count[str] >= 3 local str3 = flag11 and "[Exploiter]" or "[Alert]" local exploit = flag11 and ac.exploit or ac.alert local v43, v44, v45 = rgb(tc(arg2)) local v46, v47, v48 = rgb(tc(arg4)) local str4 = flag11 and "rgb(255,45,45)" or "rgb(255,205,55)" ao = ao + 1 local TextLabel3 = fn5("TextLabel", af, "Name", "PossibleAimbotAlert", "Size", udim2(1, 0, 0, 24), "BackgroundTransparency", 1, "TextTransparency", 1, "RichText", true, "TextSize", 18, "Font", Enum.Font.SourceSansBold, "TextStrokeTransparency", 0.3, "TextStrokeColor3", color(0, 0, 0), "LayoutOrder", ao) local format = string.format local v49 = pname(arg2) local v50 = pname(arg4) local n6 = arg5 or 0 TextLabel3.Text = format("%s %s %s Victim: %s Ratio: %.2f", str4, str3, v43, v44, v45, v49, arg3, v46, v47, v48, v50, n6) TweenService:Create(TextLabel3, TweenInfo.new(0.15), {TextTransparency = 0}):Play() clean_feed(af, 5) task.delay(exploit, function() if TextLabel3 and TextLabel3.Parent then local tween = TweenService:Create(TextLabel3, TweenInfo.new(0.35), {TextTransparency = 1, TextStrokeTransparency = 1}) tween:Play() tween.Completed:Wait() if TextLabel3 and TextLabel3.Parent then TextLabel3:Destroy() end end end) end local v42 = flingDetectorState local v43 = v42 if not v42 then local tbl14 = {} v43 = tbl14 tbl14.enabled = false tbl14.loopId = 0 tbl14.lastDriver = setmetatable({}, {__mode = "k"}) tbl14.localCars = setmetatable({}, {__mode = "k"}) tbl14.lastCarPos = setmetatable({}, {__mode = "k"}) tbl14.checking = setmetatable({}, {__mode = "k"}) tbl14.printed = setmetatable({}, {__mode = "k"}) tbl14.permaNoCollide = setmetatable({}, {__mode = "k"}) tbl14.cooldown = {} tbl14.cons = {} end flingDetectorState = v43 local v44 = flingDetectorState local permaNoCollide = flingDetectorState.permaNoCollide local permaNoCollide2 = permaNoCollide or setmetatable({}, {__mode = "k"}) v44.permaNoCollide = permaNoCollide2 local v45 = flingDetectorState local localCars = flingDetectorState.localCars local localCars2 = localCars or setmetatable({}, {__mode = "k"}) v45.localCars = localCars2 local v46 = flingDetectorCfg local v47 = v46 if not v46 then local tbl14 = {} v47 = tbl14 tbl14.wheelRwdDistance = 20 tbl14.playerHitDistance = 7 tbl14.teleportDistance = 35 tbl14.carTogetherDistance = 18 tbl14.verifyTime = 1.5 tbl14.checkDelay = 0.05 tbl14.scanDelay = 0.12 tbl14.perPlayerCooldown = 5 end flingDetectorCfg = v47 flingDetectorGetCars = function() return Workspace:FindFirstChild("CarContainer") end flingDetectorGetPlayerFromHumanoid = function(arg2) if arg2 and arg2.Parent then return Players:GetPlayerFromCharacter(arg2.Parent) end return nil end flingDetectorGetSeat = function(arg2) local body_ = arg2 and arg2:FindFirstChild("Body") if not body_ then return nil end return body_:FindFirstChild("VehicleSeat") end flingDetectorSaveDriver = function(arg2, arg3) if not arg2 or not arg3 then return end local v48 = flingDetectorGetPlayerFromHumanoid(arg3.Occupant) if v48 then local localCars3 = flingDetectorState.localCars local flag11 = v48 == LocalPlayer or nil localCars3[arg2] = flag11 flingDetectorState.lastDriver[arg2] = { Name = v48.Name, DisplayName = v48.DisplayName, UserId = v48.UserId, Time = os.clock(), } end end flingDetectorTrackCar = function(arg2) if not arg2 then return end flingDetectorSaveDriver(arg2, flingDetectorGetSeat(arg2)) task.spawn(function() local v48 = nil for i = 1, 40 do if not flingDetectorState.enabled then return end v48 = flingDetectorGetSeat(arg2) if v48 then break end task.wait(0.1) end if not v48 then return end flingDetectorSaveDriver(arg2, v48) local v49 = fn2(v48:GetPropertyChangedSignal("Occupant"), function() flingDetectorSaveDriver(arg2, v48) end) table.insert(flingDetectorState.cons, v49) end) end flingDetectorGetWheels = function(arg2) local wheels = arg2 and arg2:FindFirstChild("Wheels") local tbl14 = {} if not wheels then return tbl14 end for i, child in ipairs(wheels:GetChildren()) do if child:IsA("BasePart") then table.insert(tbl14, child) end end return tbl14 end flingDetectorHasAbnormalBehavior = function(arg2) if flingDetectorIsLocalCar(arg2) then return false end local rwd = arg2 and arg2:FindFirstChild("RWD") if not rwd then return false end local n5 = flingDetectorCfg.wheelRwdDistance ^ 2 for i, v48 in ipairs(flingDetectorGetWheels(arg2)) do local n6 = v48.Position - rwd.Position if n5 < n6:Dot(n6) then return true end end return false end flingDetectorGetTouchedPlayer = function(arg2) local v48 = flingDetectorGetWheels(arg2) local n5 = flingDetectorCfg.playerHitDistance ^ 2 local v49, v50, v51 = ipairs(v48) local v52 = v51 local v53 = v49 local v54 = v50 while true do local v55, v56 = v53(v54, v52) if v55 == nil then break end for i, v57 in ipairs(tbl4) do local character_ = v57.Character local humanoidRootPart = character_ and character_:FindFirstChild("HumanoidRootPart") local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") if humanoidRootPart and humanoid_ and humanoid_.Health > 0 then local n6 = v56.Position - humanoidRootPart.Position if n6:Dot(n6) <= n5 then return v57 end end end v52 = v55 end return nil end flingDetectorIsLocalCar = function(arg2) if not arg2 then return false end local v48 = flingDetectorGetSeat(arg2) local v49 = flingDetectorGetPlayerFromHumanoid local occupant = v48 and v48.Occupant local v50 = v49(occupant) if not v50 then local character_ = LocalPlayer.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") local seatPart = humanoid_ and humanoid_.SeatPart local v51 = seatPart if seatPart and antiFlingV2GetCarFromObject(v51) == arg2 then flingDetectorState.localCars[arg2] = true return true end local v52 = antiFlingV1GetLocalCar local v53 = v52 and antiFlingV1GetLocalCar() if v53 == arg2 then flingDetectorState.localCars[arg2] = true return true end local lastDriver = flingDetectorState.lastDriver local v54 = lastDriver and flingDetectorState.lastDriver[arg2] if v54 and tonumber(v54.UserId) == LocalPlayer.UserId then flingDetectorState.localCars[arg2] = true return true end local flag11 = flingDetectorState.localCars[arg2] == true return flag11 end local localCars3 = flingDetectorState.localCars local flag11 = v50 == LocalPlayer or nil localCars3[arg2] = flag11 local flag12 = v50 == LocalPlayer return flag12 end flingDetectorDisableCarCollision = function(arg2, arg3) if not arg2 or not arg2.Parent or flingDetectorIsLocalCar(arg2) then return false end local permaNoCollide3 = flingDetectorState.permaNoCollide local tbl14 = permaNoCollide3[arg2] if not tbl14 then tbl14 = { parts = setmetatable({}, {__mode = "k"}), touchParts = setmetatable({}, {__mode = "k"}), cons = {}, } permaNoCollide3[arg2] = tbl14 end local seatTouch = tbl14.seatTouch local seatTouch2 = seatTouch or arg3 == true tbl14.seatTouch = seatTouch2 local function fn46(arg4) if not arg4:IsA("BasePart") then return end if not tbl14.parts[arg4] then tbl14.parts[arg4] = true table.insert(tbl14.cons, fn2(arg4:GetPropertyChangedSignal("CanCollide"), function() if arg4.Parent and arg4.CanCollide then arg4.CanCollide = false end end)) end if arg4.CanCollide then arg4.CanCollide = false end if tbl14.seatTouch and (arg4:IsA("Seat") or arg4:IsA("VehicleSeat")) then if not tbl14.touchParts[arg4] then tbl14.touchParts[arg4] = true table.insert(tbl14.cons, fn2(arg4:GetPropertyChangedSignal("CanTouch"), function() if arg4.Parent and arg4.CanTouch then arg4.CanTouch = false end end)) end if arg4.CanTouch then arg4.CanTouch = false end end end for i, descendant in ipairs(arg2:GetDescendants()) do fn46(descendant) end if not tbl14.watching then tbl14.watching = true table.insert(tbl14.cons, fn2(arg2.DescendantAdded, fn46)) table.insert(tbl14.cons, fn2(arg2.AncestryChanged, function(arg4, arg5) if arg5 then return end for i, con in ipairs(tbl14.cons) do pcall(function() con:Disconnect() end) end permaNoCollide3[arg2] = nil end)) end return true end flingDetectorGetOwnerInfo = function(arg2) local v48 = arg2 and flingDetectorState.lastDriver[arg2] if not v48 then return { Name = "Unknown", DisplayName = "Unknown", UserId = 0, Time = os.clock(), } end return v48 end flingDetectorCooldownKey = function(arg2) if arg2 and tonumber(arg2.UserId) and tonumber(arg2.UserId) > 0 then return "id:" .. tostring(arg2.UserId) end local v48 = tostring local displayName = arg2 if arg2 then local name = arg2.Name displayName = name or arg2.DisplayName end if not displayName then displayName = "Unknown" end return "name:" .. v48(displayName) end flingDetectorCanAlert = function(arg2, arg3) local v48 = flingDetectorCooldownKey(arg2) local v49 = tostring local str = arg3 or "fling" local str2 = v48 .. ":" .. v49(str) local now = os.clock() local v50 = flingDetectorState.cooldown[str2] if v50 then local n5 = now - v50 local perPlayerCooldown = flingDetectorCfg.perPlayerCooldown local n6 = perPlayerCooldown or 5 if n5 < n6 then return false end end flingDetectorState.cooldown[str2] = now return true end flingDetectorGetCarPosition = function(arg2) local rwd = arg2 and arg2:FindFirstChild("RWD") if rwd then return rwd.Position end local v48 = flingDetectorGetSeat(arg2) if v48 then return v48.Position end local body_ = arg2 and arg2:FindFirstChild("Body") local basePart = body_ and body_:FindFirstChildWhichIsA("BasePart", true) local position = basePart and basePart.Position or nil return position end flingDetectorMaxRwdWheelDistance = function(arg2) local rwd = arg2 and arg2:FindFirstChild("RWD") if not rwd then return 0 end local n5 = 0 for i, v48 in ipairs(flingDetectorGetWheels(arg2)) do local n6 = v48.Position - rwd.Position local v49 = n6:Dot(n6) if n5 < v49 then n5 = v49 end end return math.sqrt(n5) end flingDetectorIsCarTeleport = function(arg2) if not flingDetectorIsLocalCar(arg2) then local v48 = flingDetectorGetCarPosition(arg2) if not v48 then return false end local v49 = flingDetectorState local lastCarPos = flingDetectorState.lastCarPos local lastCarPos2 = lastCarPos or setmetatable({}, {__mode = "k"}) v49.lastCarPos = lastCarPos2 local v50 = flingDetectorState.lastCarPos[arg2] flingDetectorState.lastCarPos[arg2] = v48 if not v50 then return false end local n5 = v48 - v50 local v51 = flingDetectorMaxRwdWheelDistance(arg2) local v52 = n5:Dot(n5) local flag11 = flingDetectorCfg.teleportDistance ^ 2 <= v52 and v51 <= flingDetectorCfg.carTogetherDistance return flag11 end flingDetectorState.lastCarPos[arg2] = nil return false end alert_fling = function(arg2, arg3, arg4) if not cfg.fling_detector or not af then return end local tbl14 = arg2 or {} local v48 = tbl14 if tonumber(v48.UserId) == LocalPlayer.UserId then return end local v49 = tostring local displayName = v48.DisplayName local name = displayName or v48.Name or "Unknown" local v50 = v49(name) local flag11 = arg4 == "teleport" if not flag11 then return end ao = ao + 1 local v51 = af local str = flag11 and "PossibleCarTeleportAlert" or "PossibleFlingerAlert" local TextLabel3 = fn5("TextLabel", v51, "Name", str, "Size", udim2(1, 0, 0, 24), "BackgroundTransparency", 1, "TextTransparency", 1, "RichText", true, "TextSize", 18, "Font", Enum.Font.SourceSansBold, "TextStrokeTransparency", 0.22, "TextStrokeColor3", color(0, 0, 0), "LayoutOrder", ao) if flag11 then TextLabel3.Text = string.format("%s %s Possible Car Teleport User", "rgb(255,65,85)", "[Alert]", 255, 55, 75, v50) end detectorFeedUpdateVisible() TweenService:Create(TextLabel3, TweenInfo.new(0.12), {TextTransparency = 0}):Play() clean_feed(af, 5) local delay = task.delay local v52 = ac local alert = v52 and ac.alert or 10 delay(alert, function() if TextLabel3 and TextLabel3.Parent then local tween = TweenService:Create(TextLabel3, TweenInfo.new(0.35), {TextTransparency = 1, TextStrokeTransparency = 1}) tween:Play() tween.Completed:Wait() if TextLabel3 and TextLabel3.Parent then TextLabel3:Destroy() end end end) end flingDetectorVerify = function(arg2) if not cfg.fling_detector or not flingDetectorState.enabled or not arg2 or not arg2.Parent then return end if not flingDetectorIsLocalCar(arg2) then if flingDetectorState.checking[arg2] then return end flingDetectorState.checking[arg2] = true task.spawn(function() local now = os.clock() local n5 = 0 while flag and flingDetectorState.enabled and os.clock() - now < flingDetectorCfg.verifyTime and arg2 and arg2.Parent and flingDetectorHasAbnormalBehavior(arg2) do n5 = n5 + 1 task.wait(flingDetectorCfg.checkDelay) end if arg2 and arg2.Parent and flingDetectorState.enabled then local v48 = flingDetectorGetOwnerInfo(arg2) if tonumber(v48.UserId) == LocalPlayer.UserId or flingDetectorIsLocalCar(arg2) then flingDetectorState.printed[arg2] = nil flingDetectorState.checking[arg2] = nil return end if n5 > 0 and flingDetectorCanAlert(v48, "fling") then alert_fling(v48, nil, "fling") end flingDetectorState.printed[arg2] = true end task.wait(1) flingDetectorState.checking[arg2] = nil end) return end flingDetectorState.printed[arg2] = nil flingDetectorState.checking[arg2] = nil end flingDetectorScanOnce = function() if not flingDetectorState.enabled then return end local v48 = flingDetectorGetCars() if not v48 then return end for i, child in ipairs(v48:GetChildren()) do if not flingDetectorState.enabled then return end if flingDetectorIsLocalCar(child) then flingDetectorState.printed[child] = nil flingDetectorState.checking[child] = nil flingDetectorState.lastCarPos[child] = nil else local v49 = flingDetectorIsCarTeleport(child) local v50 = flingDetectorHasAbnormalBehavior(child) if flingDetectorIsLocalCar(child) then flingDetectorState.printed[child] = nil flingDetectorState.checking[child] = nil flingDetectorState.lastCarPos[child] = nil else if v49 or v50 then flingDetectorDisableCarCollision(child, v49) end if v49 and not flingDetectorState.printed[child] then local v51 = flingDetectorGetOwnerInfo(child) if flingDetectorCanAlert(v51, "teleport") then alert_fling(v51, nil, "teleport") end flingDetectorState.printed[child] = true end if v50 then if not flingDetectorState.printed[child] and not flingDetectorState.checking[child] then flingDetectorVerify(child) end elseif not v49 then flingDetectorState.printed[child] = nil end end end end end flingDetectorDisconnect = function() local v48 = ipairs local cons = flingDetectorState.cons local tbl14 = cons or {} for k, v49 in v48(tbl14) do pcall(function() v49:Disconnect() end) end flingDetectorState.cons = {} end flingDetectorStart = function(arg2) if flingDetectorState.enabled then return true end flingDetectorState.enabled = true local v48 = flingDetectorState v48.loopId = v48.loopId + 1 flingDetectorState.lastDriver = setmetatable({}, {__mode = "k"}) flingDetectorState.localCars = setmetatable({}, {__mode = "k"}) flingDetectorState.lastCarPos = setmetatable({}, {__mode = "k"}) flingDetectorState.checking = setmetatable({}, {__mode = "k"}) flingDetectorState.printed = setmetatable({}, {__mode = "k"}) local v49 = flingDetectorState local cooldown = flingDetectorState.cooldown local cooldown2 = cooldown or {} v49.cooldown = cooldown2 flingDetectorDisconnect() cfg.fling_detector = true featureSet("fling_detector", true) save_cfg() detectorFeedUpdateVisible() local v50 = flingDetectorGetCars() if v50 then for i, child in ipairs(v50:GetChildren()) do flingDetectorTrackCar(child) end table.insert(flingDetectorState.cons, fn2(v50.ChildAdded, function(arg3) flingDetectorTrackCar(arg3) end)) table.insert(flingDetectorState.cons, fn2(v50.ChildRemoved, function(arg3) flingDetectorState.lastDriver[arg3] = nil flingDetectorState.localCars[arg3] = nil flingDetectorState.lastCarPos[arg3] = nil flingDetectorState.checking[arg3] = nil flingDetectorState.printed[arg3] = nil end)) end local loopId = flingDetectorState.loopId task.spawn(function() while flag and flingDetectorState.enabled and flingDetectorState.loopId == loopId do flingDetectorScanOnce() task.wait(flingDetectorCfg.scanDelay) end end) if refresh_saved_commands then task.defer(refresh_saved_commands) end if not arg2 and add_line then add_line(".cartpdetection on", "car tp detection on", false) end return true end flingDetectorStop = function(arg2) flingDetectorState.enabled = false local v48 = flingDetectorState v48.loopId = v48.loopId + 1 flingDetectorDisconnect() cfg.fling_detector = false featureSet("fling_detector", false) save_cfg() detectorFeedUpdateVisible() if refresh_saved_commands then task.defer(refresh_saved_commands) end if not arg2 and add_line then add_line(".cartpdetection off", "car tp detection off", false) end return true end flingDetectorSet = function(arg2, arg3) if arg2 == true then return flingDetectorStart(arg3) end return flingDetectorStop(arg3) end set_fling_detector = function(arg2) return flingDetectorSet(arg2, false) end task.defer(function() task.wait(0.6) local v48 = featureGet local flag11 = cfg.fling_detector == true if v48("fling_detector", flag11) then flingDetectorStart(true) end end) local v48 = invisibleDetectorState local v49 = v48 if not v48 then local tbl14 = {} v49 = tbl14 tbl14.enabled = false tbl14.loopId = 0 tbl14.cons = {} tbl14.tracked = setmetatable({}, {__mode = "k"}) tbl14.cooldown = {} end invisibleDetectorState = v49 local v50 = invisibleDetectorWhitelist local v51 = v50 if not v50 then local tbl14 = {} v51 = tbl14 tbl14["http://www.roblox.com/asset/?id=125750702"] = true tbl14["http://www.roblox.com/asset/?id=128777973"] = true tbl14["http://www.roblox.com/asset/?id=128853357"] = true tbl14["http://www.roblox.com/asset/?id=129423030"] = true tbl14["http://www.roblox.com/asset/?id=129423131"] = true tbl14["http://www.roblox.com/asset/?id=129967390"] = true tbl14["http://www.roblox.com/asset/?id=129967478"] = true tbl14["http://www.roblox.com/asset/?id=178130996"] = true tbl14["http://www.roblox.com/asset/?id=180426354"] = true tbl14["http://www.roblox.com/asset/?id=180435571"] = true tbl14["http://www.roblox.com/asset/?id=180435792"] = true tbl14["http://www.roblox.com/asset/?id=180436148"] = true tbl14["http://www.roblox.com/asset/?id=180436334"] = true tbl14["http://www.roblox.com/asset/?id=182393478"] = true tbl14["http://www.roblox.com/asset/?id=182435998"] = true tbl14["http://www.roblox.com/asset/?id=182436842"] = true tbl14["http://www.roblox.com/asset/?id=182436935"] = true tbl14["http://www.roblox.com/asset/?id=182491037"] = true tbl14["http://www.roblox.com/asset/?id=182491065"] = true tbl14["http://www.roblox.com/asset/?id=182491248"] = true tbl14["http://www.roblox.com/asset/?id=182491277"] = true tbl14["http://www.roblox.com/asset/?id=182491368"] = true tbl14["http://www.roblox.com/asset/?id=182491423"] = true tbl14["rbxassetid://279227693"] = true tbl14["rbxassetid://279229192"] = true tbl14["rbxassetid://287112271"] = true tbl14["rbxassetid://388723916"] = true tbl14["rbxassetid://388726667"] = true tbl14["rbxassetid://389472570"] = true tbl14["rbxassetid://405194080"] = true tbl14["rbxassetid://405212265"] = true tbl14["rbxassetid://481088553"] = true tbl14["rbxassetid://481089053"] = true tbl14["rbxassetid://484200742"] = true tbl14["rbxassetid://484926359"] = true tbl14["rbxassetid://83690472549256"] = true tbl14["rbxassetid://107176344504758"] = true tbl14["rbxassetid://111090572475133"] = true tbl14["rbxassetid://113267949064300"] = true tbl14["rbxassetid://131326339350805"] = true end invisibleDetectorWhitelist = v51 invisibleDetectorSeedWhitelist = function() pcall(function() for i, descendant in ipairs(ReplicatedStorage:GetDescendants()) do if descendant:IsA("Animation") and descendant.AnimationId and descendant.AnimationId ~= "" then invisibleDetectorWhitelist[descendant.AnimationId] = true end end end) end invisibleDetectorCooldownKey = function(arg2) if not arg2 then return nil end local v52 = tostring local userId = arg2.UserId local name = userId or arg2.Name return v52(name) end invisibleDetectorResetCooldown = function(arg2) local v52 = invisibleDetectorCooldownKey(arg2) if v52 and invisibleDetectorState and invisibleDetectorState.cooldown then invisibleDetectorState.cooldown[v52] = nil end end invisibleDetectorCanAlert = function(arg2) if not arg2 or arg2 == LocalPlayer then return false end local v52 = invisibleDetectorCooldownKey(arg2) if not v52 then return false end local now = os.clock() local v53 = invisibleDetectorState.cooldown[v52] if v53 and now - v53 < 15 then return false end invisibleDetectorState.cooldown[v52] = now return true end alert_invisible = function(arg2) if not cfg.invisible_detection or not af or not arg2 or arg2 == LocalPlayer then return end local v52 = tostring local displayName = arg2.DisplayName local name = displayName or arg2.Name or "Unknown" local v53 = v52(name) ao = ao + 1 local TextLabel3 = fn5("TextLabel", af, "Name", "PossibleInvisibleAlert", "Size", udim2(1, 0, 0, 24), "BackgroundTransparency", 1, "TextTransparency", 1, "RichText", true, "TextSize", 18, "Font", Enum.Font.SourceSansBold, "TextStrokeTransparency", 0.22, "TextStrokeColor3", color(0, 0, 0), "LayoutOrder", ao) TextLabel3.Text = string.format("%s possible invisible user, %s", "rgb(255,65,85)", "[Invisible detector]", v53) detectorFeedUpdateVisible() TweenService:Create(TextLabel3, TweenInfo.new(0.12), {TextTransparency = 0}):Play() clean_feed(af, 5) local delay = task.delay local v54 = ac local alert = v54 and ac.alert or 10 delay(alert, function() if TextLabel3 and TextLabel3.Parent then local tween = TweenService:Create(TextLabel3, TweenInfo.new(0.35), {TextTransparency = 1, TextStrokeTransparency = 1}) tween:Play() tween.Completed:Wait() if TextLabel3 and TextLabel3.Parent then TextLabel3:Destroy() end end end) end invisibleDetectorAnimationAdded = function(arg2, arg3) if not invisibleDetectorState.enabled or not arg2 or not arg3 or arg3 == LocalPlayer then return end local animation = arg2.Animation local str = animation if animation then local v52 = tostring local animationId = animation.AnimationId local str2 = animationId or "" str = v52(str2) end if not str then str = "" end if str == "" or invisibleDetectorWhitelist[str] then return end if invisibleDetectorCanAlert(arg3) then alert_invisible(arg3) end end invisibleDetectorBindPlayer = function(arg2) if not arg2 or arg2 == LocalPlayer or invisibleDetectorState.tracked[arg2] then return end invisibleDetectorState.tracked[arg2] = true local function fn46(arg3) if not invisibleDetectorState.enabled or not arg3 then return end local humanoid_ = arg3:FindFirstChildOfClass("Humanoid") local humanoid_2 = humanoid_ or arg3:WaitForChild("Humanoid", 5) if not humanoid_2 then return end local v52 = fn2(humanoid_2.Died, function() invisibleDetectorResetCooldown(arg2) end) table.insert(invisibleDetectorState.cons, v52) local animator = humanoid_2:FindFirstChildOfClass("Animator") local animator2 = animator or humanoid_2:WaitForChild("Animator", 5) if not animator2 then return end local v53 = fn2(animator2.AnimationPlayed, function(arg4) invisibleDetectorAnimationAdded(arg4, arg2) end) table.insert(invisibleDetectorState.cons, v53) for i, v54 in ipairs(animator2:GetPlayingAnimationTracks()) do task.spawn(invisibleDetectorAnimationAdded, v54, arg2) end end if arg2.Character then task.defer(fn46, arg2.Character) end table.insert(invisibleDetectorState.cons, fn2(arg2.CharacterAdded, fn46)) end invisibleDetectorDisconnect = function() local v52 = ipairs local cons = invisibleDetectorState.cons local tbl14 = cons or {} for k, v53 in v52(tbl14) do pcall(function() v53:Disconnect() end) end invisibleDetectorState.cons = {} invisibleDetectorState.tracked = setmetatable({}, {__mode = "k"}) end invisibleDetectorStart = function(arg2) if invisibleDetectorState.enabled then return true end invisibleDetectorState.enabled = true local v52 = invisibleDetectorState v52.loopId = v52.loopId + 1 local v53 = invisibleDetectorState local cooldown = invisibleDetectorState.cooldown local cooldown2 = cooldown or {} v53.cooldown = cooldown2 invisibleDetectorDisconnect() invisibleDetectorSeedWhitelist() cfg.invisible_detection = true featureSet("invisible_detection", true) save_cfg() detectorFeedUpdateVisible() for i, v54 in ipairs(tbl4) do invisibleDetectorBindPlayer(v54) end table.insert(invisibleDetectorState.cons, fn2(Players.PlayerAdded, function(arg3) invisibleDetectorBindPlayer(arg3) end)) if refresh_saved_commands then task.defer(refresh_saved_commands) end if not arg2 and add_line then add_line(".invisibledetection on", "invisible detection on", false) end return true end invisibleDetectorStop = function(arg2) invisibleDetectorState.enabled = false local v52 = invisibleDetectorState v52.loopId = v52.loopId + 1 invisibleDetectorDisconnect() cfg.invisible_detection = false featureSet("invisible_detection", false) save_cfg() detectorFeedUpdateVisible() if refresh_saved_commands then task.defer(refresh_saved_commands) end if not arg2 and add_line then add_line(".invisibledetection off", "invisible detection off", false) end return true end invisibleDetectorSet = function(arg2, arg3) if arg2 == true then return invisibleDetectorStart(arg3) end return invisibleDetectorStop(arg3) end set_invisible_detection = function(arg2) return invisibleDetectorSet(arg2, false) end task.defer(function() task.wait(0.75) local v52 = featureGet local flag11 = cfg.invisible_detection == true if v52("invisible_detection", flag11) then invisibleDetectorStart(true) end end) addkill = function(arg2, arg3, arg4) if not cfg.kill_feedback or not arg2 or not arg3 or arg2 == arg3 then return end local str = tostring(arg2.UserId) .. ":" .. tostring(arg3.UserId) if kd.recent[str] and tick() - kd.recent[str] < duptime then return end kd.recent[str] = tick() if arg2 ~= LocalPlayer then local streak = kd.streak local str2 = tostring(arg2.UserId) local v52 = kd.streak[tostring(arg2.UserId)] local n5 = v52 or 0 streak[str2] = n5 + 1 end rstreak(arg3) ko = ko + 1 local v52 = hpper(arg2) local v53 = kd.streak[tostring(arg2.UserId)] local n5 = v53 or 0 local v54 = wpn(arg4, arg2) local v55, v56, v57 = rgb(tc(arg2)) local v58, v59, v60 = rgb(tc(arg3)) local v61, v62, v63 = rgb(pc(v52)) local str2 = arg2 ~= LocalPlayer and string.format(" [%d%%]", v61, v62, v63, v52) or "" local str3 = arg2 ~= LocalPlayer and n5 >= 3 and string.format(" %dx Streak", n5) or "" local TextLabel3 = fn5("TextLabel", kf, "Name", "KillMessage", "Size", udim2(1, 0, 0, 22), "BackgroundTransparency", 1, "TextTransparency", 1, "RichText", true, "TextSize", 17, "Font", Enum.Font.SourceSansBold, "TextStrokeTransparency", 0.35, "TextStrokeColor3", color(0, 0, 0), "LayoutOrder", ko) local flag11 = true if isScriptOwner(arg2) then task.spawn(function() local n6 = 0 while flag and flag11 and TextLabel3 and TextLabel3.Parent do local n7 = n6 + RunService.RenderStepped:Wait() * 0.45 n6 = n7 local color2 = Color3.fromHSV(n7 % 1, 1, 1) local str4 = string.format("rgb(%d,%d,%d)", rgb(color2)) TextLabel3.Text = string.format("%s [Owner]%s killed %s with %s%s", str4, pname(arg2), str2, str4, v58, v59, v60, pname(arg3), v54, str3) end end) else local v64, v65 = getScriptRole(arg2) if v64 then local function fn46(arg5) local str4 = string.format("rgb(%d,%d,%d)", rgb(arg5)) TextLabel3.Text = string.format("%s [%s]%s killed %s with %s%s", str4, pname(arg2), v64, str2, str4, v58, v59, v60, pname(arg3), v54, str3) end if v64 == "OG" then fn46(ogPulseColor(0)) task.spawn(function() local n6 = 0 while flag and flag11 and TextLabel3 and TextLabel3.Parent do local n7 = n6 + RunService.RenderStepped:Wait() * 1.8 n6 = n7 fn46(ogPulseColor(n7)) end end) else fn46(v65) end else TextLabel3.Text = string.format("%s%s killed %s with %s%s", v55, v56, v57, pname(arg2), str2, v58, v59, v60, pname(arg3), v54, str3) end end TweenService:Create(TextLabel3, TweenInfo.new(0.15), {TextTransparency = 0}):Play() clean_feed(kf, maxmsg) task.delay(msgtime, function() flag11 = false if TextLabel3 and TextLabel3.Parent then local tween = TweenService:Create(TextLabel3, TweenInfo.new(0.35), {TextTransparency = 1, TextStrokeTransparency = 1}) tween:Play() tween.Completed:Wait() if TextLabel3 and TextLabel3.Parent then TextLabel3:Destroy() end end end) end _G.XKillFeedPush = function(arg2, arg3, arg4) if typeof(arg2) == "Instance" and arg2:IsA("Player") and typeof(arg3) == "Instance" and arg3:IsA("Player") then local v52 = addkill local v53 = arg4 or gun(arg2) v52(arg2, arg3, v53) end end _G.XKillFeedLocalKill = function(arg2, arg3) if typeof(arg2) == "Instance" and arg2:IsA("Player") then local v52 = addkill local v53 = LocalPlayer local v54 = arg3 or gun(LocalPlayer) v52(v53, arg2, v54) end end ownmsg = function(arg2) if not cfg.kill_feedback or not arg2 then return end ko = ko + 1 local TextLabel3 = fn5("TextLabel", kf, "Name", "OwnerMessage", "Size", udim2(1, 0, 0, 22), "BackgroundTransparency", 1, "TextTransparency", 1, "RichText", true, "TextSize", 17, "Font", Enum.Font.SourceSansBold, "TextStrokeTransparency", 0.35, "TextStrokeColor3", color(0, 0, 0), "LayoutOrder", ko) local flag11 = true task.spawn(function() local n5 = 0 while flag and flag11 and TextLabel3 and TextLabel3.Parent do local n6 = n5 + RunService.RenderStepped:Wait() * 0.45 n5 = n6 local color2 = Color3.fromHSV(n6 % 1, 1, 1) local str = string.format("rgb(%d,%d,%d)", rgb(color2)) TextLabel3.Text = string.format("%s [Owner] its on the server", str, pname(arg2)) end end) TweenService:Create(TextLabel3, TweenInfo.new(0.15), {TextTransparency = 0}):Play() clean_feed(kf, maxmsg) task.delay(10, function() flag11 = false if TextLabel3 and TextLabel3.Parent then local tween = TweenService:Create(TextLabel3, TweenInfo.new(0.35), {TextTransparency = 1, TextStrokeTransparency = 1}) tween:Play() tween.Completed:Wait() if TextLabel3 and TextLabel3.Parent then TextLabel3:Destroy() end end end) end ogPulseColor = function(arg2) local wave = scriptRoles.OG.Wave local n5 = arg2 % 3 local n6 = math.floor(n5) + 1 return wave[n6]:Lerp(wave[n6 % 3 + 1], n5 % 1) end ogWaveLabel = function(arg2) local UIGradient = fn5("UIGradient", arg2, "Color", scriptRoles.OG.Gradient, "Offset", vector2(-0.45, 0)) task.spawn(function() local n5 = 0 while flag and arg2.Parent and UIGradient.Parent do local n6 = n5 + RunService.RenderStepped:Wait() n5 = n6 UIGradient.Offset = vector2(math.sin(n6 * 2.1) * 0.45, 0) end end) end rolemsg = function(arg2, arg3, arg4) if not cfg.kill_feedback or not arg2 or not arg3 then return end ko = ko + 1 local flag11 = arg3 == "OG" local str = pname(arg2) .. " [" .. arg3 .. "]" local v52, v53, v54 = rgb(arg4) local v55 = kf local str2 = arg3 .. "Message" local v56 = udim2(1, 0, 0, 22) local n5 = flag11 and 0 or 1 local v57 = color(255, 255, 255) local flag12 if flag11 then flag12 = false else flag12 = true end local sourceSansBold = Enum.Font.SourceSansBold local n6 = flag11 and 0.8 or 0.6 local v58 = color(0, 0, 0) local v59 = ko local str3 = flag11 and str .. " its on the server" or string.format("%s%s", v52, v53, v54, str, " its on the server") local TextLabel3 = fn5("TextLabel", v55, "Name", str2, "Size", v56, "BackgroundTransparency", 1, "TextTransparency", n5, "TextColor3", v57, "RichText", flag12, "TextSize", 17, "Font", sourceSansBold, "TextStrokeTransparency", n6, "TextStrokeColor3", v58, "LayoutOrder", v59, "Text", str3) if flag11 then ogWaveLabel(TextLabel3) else TweenService:Create(TextLabel3, TweenInfo.new(0.15), {TextTransparency = 0}):Play() end clean_feed(kf, maxmsg) task.delay(10, function() if TextLabel3 and TextLabel3.Parent then local tween = TweenService:Create(TextLabel3, TweenInfo.new(0.35), {TextTransparency = 1, TextStrokeTransparency = 1}) tween:Play() tween.Completed:Wait() if TextLabel3 and TextLabel3.Parent then TextLabel3:Destroy() end end end) end checkScriptRole = function(arg2) if not cfg.kill_feedback or not arg2 or scriptRoleSeen[arg2] then return end if not isScriptOwner(arg2) then local v52, v53 = getScriptRole(arg2) if v52 then rolemsg(arg2, v52, v53) scriptRoleSeen[arg2] = true end return end ownmsg(arg2) scriptRoleSeen[arg2] = true end checkScriptRoles = function() for i, v52 in ipairs(tbl4) do checkScriptRole(v52) end end hooktool = function(arg2) if not arg2:IsA("Tool") or kd.tools[arg2] then return end kd.tools[arg2] = true fn2(arg2.Activated, function() if cfg.kill_feedback then kd.shots[#kd.shots + 1] = {t = tick(), w = arg2.Name} end end) end hookchar = function(arg2) for i, child in ipairs(arg2:GetChildren()) do if child:IsA("Tool") then hooktool(child) end end fn2(arg2.ChildAdded, function(arg3) if arg3:IsA("Tool") then hooktool(arg3) end end) end hookdeath = function(arg2) local function fn46(arg3) local humanoid_ = arg3:WaitForChild("Humanoid", 8) if not humanoid_ then return end fn2(humanoid_.Died, function() if arg2 == LocalPlayer then rstreak(arg2) return end if cfg.kill_feedback then local v52 = kd.hits[tostring(arg2.UserId)] if v52 and tick() - v52.t <= hitwin then addkill(LocalPlayer, arg2, v52.w) end end rstreak(arg2) end) end if arg2.Character then task.spawn(fn46, arg2.Character) end fn2(arg2.CharacterAdded, fn46) end fn2(RunService.Heartbeat, function() local now = tick() local flag11 = n4 <= now if flag11 then n4 = now + 0.5 end if cfg.lock_walkspeed then local v52 = get_hum() if v52 and v52.WalkSpeed ~= cfg.walkspeed_value then v52.WalkSpeed = cfg.walkspeed_value end end for i, v52 in ipairs(tbl4) do local v53 = hum(v52) if v53 then local str = tostring(v52.UserId) local hp = kd.hp local v54 = kd.hp[str] local tbl14 = v54 or {} hp[str] = tbl14 local v55 = kd.hp[str] local v56 = v55[#v55] if v52 ~= LocalPlayer and cfg.kill_feedback and v56 and v53.Health < v56.hp then local v57 = kd.shots[#kd.shots] if v57 and now - v57.t <= shotwin then kd.hits[str] = {t = now, w = v57.w} end end v55[#v55 + 1] = {t = now, hp = v53.Health} if flag11 then fn45(v55, now - 2) end local hp2 = ad.hp local userId = v52.UserId local v57 = ad.hp[v52.UserId] local tbl15 = v57 or {} hp2[userId] = tbl15 local v58 = ad.hp[v52.UserId] v58[#v58 + 1] = {t = now, hp = v53.Health} if flag11 then fn45(v58, now - ac.time) end end end if flag11 then fn45(kd.shots, now - 2) end end) if ev then fn2(ev.OnClientEvent, function(arg2) if typeof(arg2) ~= "table" then return end local v52, v53, v54 = ipairs(arg2) local v55 = v54 local v56 = v52 local v57 = v53 while true do local v58, v59 = v56(v57, v55) if v58 == nil then break end v55 = v58 local v60 = v59[1] local v61 = v59[2] local v62 = tostring local v63 = v59[3] local str = v63 or "Unknown" local v64 = v62(str) if typeof(v60) == "Vector3" and typeof(v61) == "Vector3" then if cfg.kill_feedback then local v65 = shooter(v60) if v65 then for i, v66 in ipairs({0.05, 0.16, 0.28}) do task.delay(v66, function() local v67 = victim(v65, v61) local v68 = v67 and hum(v67) if v67 and v68 and v68.Health <= 0 then addkill(v65, v67, v64) end end) end v55 = v58 end end if cfg.aim_detect then local v65 = ashooter(v60) if v65 and v65 ~= LocalPlayer then local v66 = trk(v65) local flag11 = false local flag12 = false local v67 = nil for i, v68 in ipairs(tbl4) do if v68 ~= v65 and v68.Character then local character_ = v68.Character local head = character_:FindFirstChild("Head") local torso = character_:FindFirstChild("Torso") local upperTorso = torso or character_:FindFirstChild("UpperTorso") local humanoid_ = character_:FindFirstChildOfClass("Humanoid") if head and upperTorso and humanoid_ then local v69 = ahp(v68.UserId, 0.003) local health = humanoid_.Health if v69 and health < v69 then local magnitude = (v61 - upperTorso.Position).Magnitude local magnitude2 = (v60 - head.Position).Magnitude local magnitude3 = (v60 - upperTorso.Position).Magnitude if (v61 - head.Position).Magnitude < ac.headr and ac.dist < magnitude2 then flag11 = true v67 = v68 break end if magnitude < ac.torsor and ac.dist < magnitude3 then flag12 = true v67 = v68 break end continue end end end end v66.total = v66.total + 1 if flag11 then v66.head = v66.head + 1 end if flag12 then v66.torso = v66.torso + 1 end if ac.min <= v66.total then local n5 = v66.head / v66.total local n6 = v66.torso / v66.total if ac.head <= n5 then alert_aim(v65, "Possible Aimbot", v67, n5) rtrk(v66) elseif ac.torso <= n6 then alert_aim(v65, "Possible Aimlock", v67, n6) rtrk(v66) end end end end end end end) end task.spawn(function() while flag and feedgui and feedgui.Parent do task.wait(ac.reset) ad.track = {} end end) serverhop = function() local v52 = nil serverTeleportState.pending = nil local tbl14 = {} local ok, result = pcall(function() local response = game:HttpGet("https://games.roblox.com/v1/games/" .. PlaceId .. "/servers/Public?sortOrder=Desc&limit=100&excludeFullGames=true") return HttpService:JSONDecode(response) end) if ok and result and result.data then local v53 = next local data = result.data while true do local v54, v55 = v53(data, v52) if v54 == nil then break end v52 = v54 if type(v55) == "table" and tonumber(v55.playing) and tonumber(v55.maxPlayers) and v55.playing < v55.maxPlayers and v55.id ~= JobId then table.insert(tbl14, 1, v55.id) end end end if #tbl14 > 0 then add_line(".serverhop", "hopping server", false) pcall(function() TeleportService:TeleportToPlaceInstance(PlaceId, tbl14[math.random(1, #tbl14)], LocalPlayer) end) else add_line(".serverhop", "server not found", true) red_anim() end end rejoin = function() serverTeleportState.pending = nil add_line(".rejoin", "rejoining server", false) pcall(function() if #Players:GetPlayers() <= 1 then LocalPlayer:Kick("\nRejoining...") task.wait() TeleportService:Teleport(PlaceId, LocalPlayer) else TeleportService:TeleportToPlaceInstance(PlaceId, JobId, LocalPlayer) end end) end skidDetectShown = {} skidChatDedupKey = "__Kera_SkidChatDedup" skidChatDedup = {} pcall(function() if getgenv then local genv2 = getgenv() local v52 = skidChatDedupKey local v53 = getgenv()[skidChatDedupKey] local tbl14 = v53 or {} genv2[v52] = tbl14 local v54 = getgenv()[skidChatDedupKey] skidChatDedup = v54 end end) skidShouldSendChat = function(arg2) if not arg2 then return false end local now = os.clock() local str = tostring(JobId) .. ":" .. tostring(arg2.UserId) local v52 = skidChatDedup[str] if v52 and now - v52 < 30 then return false end skidChatDedup[str] = now return true end skidEnsureConfig = function() if typeof(cfg.skid_list) ~= "table" then cfg.skid_list = {} end end legacySkidList = { ["10721512205"] = { addedAt = 1781216056, key = "10721512205", displayName = "tubers92", name = "boneka_lucu12340", addedBy = "ZephyrMoon", reason = "invisible script", oldSkidList = true, }, ["5120905145"] = { addedAt = 1781253538, key = "5120905145", displayName = "USSR", name = "LETMECOOK6662", addedBy = "ZephyrMoon", reason = "teleport", oldSkidList = true, }, ["9730825523"] = { addedAt = 1781336595, key = "9730825523", displayName = "IlllIllIllIIIIIIIIII", name = "IlllIllIllIIIIIIIIII", addedBy = "ZephyrMoon", reason = "flyscript", oldSkidList = true, }, ["1840516800"] = { addedAt = 1781215129, key = "1840516800", displayName = "Oda", name = "plawkkw", addedBy = "ZephyrMoon", reason = "aimbot, skid issues", oldSkidList = true, }, ["name:iii"] = { addedAt = 1781336550, key = "name:iii", displayName = "iii", name = "iii", addedBy = "ZephyrMoon", reason = "fly", oldSkidList = true, }, ["11090523086"] = { addedAt = 1781216204, key = "11090523086", displayName = "Jay", name = "JJtoocool_210", addedBy = "ZephyrMoon", reason = "invisible script", oldSkidList = true, }, ["347061"] = { addedAt = 1781253883, key = "347061", displayName = "som", name = "som", addedBy = "ZephyrMoon", reason = "noclip", oldSkidList = true, }, ["10194568982"] = { addedAt = 1781331374, key = "10194568982", displayName = "Elmhurst", name = "ImfineImokImgoodIm", addedBy = "ZephyrMoon", reason = "flycar", oldSkidList = true, }, ["10851475670"] = { addedAt = 1781287417, key = "10851475670", displayName = "rwhuogbrwuhgb", name = "rwhuogbrwuhgb", addedBy = "ZephyrMoon", reason = "invisible script", oldSkidList = true, }, ["10782609085"] = { addedAt = 1781288349, key = "10782609085", displayName = "lows118", name = "lows118", addedBy = "ZephyrMoon", reason = "invisible script", oldSkidList = true, }, ["11005815263"] = { addedAt = 1781287407, key = "11005815263", displayName = "kirk", name = "bruhuazz7", addedBy = "ZephyrMoon", reason = "invisible script", oldSkidList = true, }, ["10261530997"] = { addedAt = 1781212363, key = "10261530997", displayName = "Anfer", name = "Fernandoupl", addedBy = "ZephyrMoon", reason = "test", oldSkidList = true, }, ["11066159498"] = { addedAt = 1781205599, key = "11066159498", displayName = "wskz2ow", name = "wskz2ow", addedBy = "ZephyrMoon", reason = "aimbot, jumppower", oldSkidList = true, }, } importLegacySkidList = function() skidEnsureConfig() local flag11 = false local v52, v53, v54 = pairs(legacySkidList) local v55 = v54 local v56 = v52 local v57 = v53 while true do local v58, v59 = v56(v57, v55) if v58 == nil then break end v55 = v58 local v60 = cfg.skid_list[v58] if typeof(v60) == "table" then local flag12 = false if v60.oldSkidList ~= true then v60.oldSkidList = true flag12 = true end for k, v61 in pairs(v59) do if v60[k] == nil then v60[k] = v61 flag12 = true end end v55 = v58 if flag12 then flag11 = true end else cfg.skid_list[v58] = { addedAt = v59.addedAt, key = v59.key, displayName = v59.displayName, name = v59.name, addedBy = v59.addedBy, reason = v59.reason, oldSkidList = true, } flag11 = true end end if flag11 then save_cfg() if refresh_saved_commands then pcall(refresh_saved_commands) end end end skidDeduplicateConfig = function() skidEnsureConfig() local tbl14 = {} for k, v52 in pairs(cfg.skid_list) do if typeof(v52) == "table" then local n5 = #tbl14 + 1 local tbl15 = {key = k, entry = v52} local numeric = tostring(k):match("^%d+$") ~= nil tbl15.numeric = numeric tbl14[n5] = tbl15 end end table.sort(tbl14, function(arg2, arg3) if arg2.numeric ~= arg3.numeric then return arg2.numeric end local flag11 = tostring(arg2.key) < tostring(arg3.key) return flag11 end) local skidList = {} local tbl15 = {} local tbl16 = {} local flag11 = false for i, v52 in ipairs(tbl14) do local str = tostring(v52.key) local entry = v52.entry local v53 = tostring local key = entry.key local v54 = key or str local v55 = v53(v54) local v56 = tostring local name = entry.name local str2 = name or "" local str3 = v56(str2):lower() local match = v55:match("^%d+$") local v57 = match and v55 if not v57 then local match2 = str:match("^%d+$") v57 = match2 and str end if not v57 then v57 = nil end local flag12 = v57 and tbl15[v57] or str3 ~= "" and tbl16[str3] if flag12 then flag11 = true else skidList[str] = entry if v57 then tbl15[v57] = true end if str3 ~= "" then tbl16[str3] = true end end end if flag11 then cfg.skid_list = skidList save_cfg() if refresh_saved_commands then task.defer(refresh_saved_commands) end end return flag11 end task.defer(function() importLegacySkidList() skidDeduplicateConfig() end) skidEscapeRich = function(arg2) local v52 = tostring local str = arg2 or "" return v52(str):gsub("&", "&"):gsub("<", "<"):gsub(">", ">"):gsub("\"", """) end skidSystemMessage = function(arg2, arg3) local str = arg3 or "#ff4d6d" local v52 = str local str2 = "" .. skidEscapeRich(arg2) .. "" if not pcall(function() local textChannels = TextChatService:FindFirstChild("TextChannels") local rbxGeneral = textChannels and textChannels:FindFirstChild("RBXGeneral") if rbxGeneral then rbxGeneral:DisplaySystemMessage(str2) end end) then add_line(".skidlist", arg2, false) end end skidDateString = function(arg2) local date = os.date local num = tonumber(arg2) local now = num or os.time() return date("%d/%m/%Y %H:%M:%S", now) end skidFindPlayerToken = function(arg2) local v52 = tostring local str = arg2 or "" local str2 = v52(str):lower():gsub("^%s+", ""):gsub("%s+$", "") if str2 == "" then return nil end local v53 = nil local v54 = nil local v55 = nil for i, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then local str3 = tostring(player.Name):lower() local str4 = tostring(player.DisplayName):lower() if str3 ~= str2 and str4 ~= str2 then if str3:sub(1, #str2) == str2 or str4:sub(1, #str2) == str2 then local v56 = v54 or player v54 = v56 end if str3:find(str2, 1, true) or str4:find(str2, 1, true) then local v56 = v55 or player v55 = v56 end continue end v53 = player break end continue end local v56 = v53 or v54 or v55 return v56 end skidKeyFromPlayerOrName = function(arg2) local v52 = skidFindPlayerToken(arg2) if v52 then return tostring(v52.UserId), v52.Name, v52.DisplayName end local v53 = tostring local str = arg2 or "" local str2 = v53(str):gsub("^%s+", ""):gsub("%s+$", "") if str2 == "" then return nil end return "name:" .. str2:lower(), str2, str2 end skidGetEntryForPlayer = function(arg2) skidEnsureConfig() local v52 = cfg.skid_list[tostring(arg2.UserId)] if v52 then return v52 end local v53 = cfg.skid_list["name:" .. tostring(arg2.Name):lower()] if v53 then return v53 end local v54 = cfg.skid_list["name:" .. tostring(arg2.DisplayName):lower()] if not v54 then return nil end return v54 end skidDetectPlayer = function(arg2, arg3) if not arg2 or arg2 == LocalPlayer then return end local v52 = skidGetEntryForPlayer(arg2) if not v52 then return end local str = tostring(arg2.UserId) if skidDetectShown[str] and not arg3 then return end skidDetectShown[str] = true db_track_skid_encounter(arg2, v52) local name = v52.name local name2 = name or arg2.Name local reason = v52.reason local str2 = reason or "no reason" local v53 = skidDateString(v52.addedAt) local str3 = v53 if v52.oldSkidList == true then str3 = v53 .. " (old skidlist)" end local addedBy = v52.addedBy local str4 = addedBy or "unknown" local str5 = arg3 == "joined" and "A SKID JOINED YOUR SERVER" or "SKID DETECTED ON YOUR SERVER" skidSystemMessage(str5 .. ": " .. name2 .. " | reason: " .. str2 .. " | added: " .. str3 .. " | by: " .. str4, "#ff4d6d") if playerListRefresh then task.defer(playerListRefresh) end end refreshSkidDetections = function() if importLegacySkidList then importLegacySkidList() end for i, v52 in ipairs(tbl4) do skidDetectPlayer(v52, false) end end skidFindExistingForPlayer = function(arg2) skidEnsureConfig() if not arg2 then return nil end local str = tostring(arg2.UserId) local name = tostring(arg2.Name):lower() for k, v52 in pairs(cfg.skid_list) do if typeof(v52) == "table" then local v53 = tostring local key = v52.key local v54 = key or k local v55 = v53(v54) local v56 = tostring local name2 = v52.name local str2 = name2 or "" local str3 = v56(str2):lower() if tostring(k) == str or v55 == str or str3 == name or tostring(k):lower() == "name:" .. name then return v52, k end end end return nil end addSkidCommand = function(arg2) skidEnsureConfig() skidDeduplicateConfig() local v52 = tostring local str = arg2 or "" local match, v53 = v52(str):gsub("^%s+", ""):gsub("%s+$", ""):match("^(%S+)%s+(.+)$") if match and v53 and v53:gsub("%s+", "") ~= "" then local v54 = skidFindPlayerToken(match) if not v54 then add_line(".addskid " .. tostring(match), "player is not in this server", true) red_anim() return false end if not skidFindExistingForPlayer(v54) then local str2 = tostring(v54.UserId) cfg.skid_list[str2] = { key = str2, name = v54.Name, displayName = v54.DisplayName, reason = v53, addedAt = os.time(), addedBy = LocalPlayer.Name, } db_track_skid_added(cfg.skid_list[str2]) save_cfg() refresh_saved_commands() add_line(".addskid " .. v54.Name, "skid added: " .. v54.Name, false) skidDetectShown[str2] = nil skidDetectPlayer(v54, true) if playerListRefresh then task.defer(playerListRefresh) end return true end add_line(".addskid " .. v54.Name, "user is already in skidlist", true) red_anim() return false end add_line(".addskid", "use .addskid user reason", true) red_anim() return false end deleteSkidCommand = function(arg2) skidEnsureConfig() local v52 = tostring local str = arg2 or "" local str2 = v52(str):gsub("^%s+", ""):gsub("%s+$", "") if str2 == "" then add_line(".deleteskid", "use .deleteskid user", true) red_anim() return false end local name = str2:lower() local v53 = skidFindPlayerToken(str2) local flag11 = false if v53 and cfg.skid_list[tostring(v53.UserId)] then cfg.skid_list[tostring(v53.UserId)] = nil skidDetectShown[tostring(v53.UserId)] = nil flag11 = true end if not flag11 and cfg.skid_list["name:" .. name] then cfg.skid_list["name:" .. name] = nil flag11 = true end if not flag11 then for k, v54 in pairs(cfg.skid_list) do local v55 = tostring local name2 = v54.name local str3 = name2 or "" local str4 = v55(str3):lower() local v56 = tostring local displayName = v54.displayName local str5 = displayName or "" local str6 = v56(str5):lower() if str4 == name or str6 == name or str4:sub(1, #name) == name or str6:sub(1, #name) == name then cfg.skid_list[k] = nil flag11 = true break end continue end end if not flag11 then add_line(".deleteskid " .. str2, "user not in skidlist", true) red_anim() return false end dbViewDirty = true save_cfg() refresh_saved_commands() if playerListRefresh then task.defer(playerListRefresh) end add_line(".deleteskid " .. str2, "skid eliminado", false) return true end showSkidList = function() skidEnsureConfig() local n5 = 0 for k in pairs(cfg.skid_list) do n5 = n5 + 1 end add_line(".skidlist", "saved skids: " .. tostring(n5), false) if n5 == 0 then add_line(".skidlist", "lista vacia", false) return true end for k, v52 in pairs(cfg.skid_list) do local v53 = add_line local v54 = tostring local name = v52.name local key = name or v52.key local v55 = v54(key) local v56 = tostring local reason = v52.reason local str = reason or "no reason" v53(".skidlist", v55 .. " | " .. v56(str), false) end return true end fn2(Players.PlayerAdded, function(arg2) task.wait(1) skidDetectPlayer(arg2, "joined") if playerListRefresh then task.defer(playerListRefresh) end end) fn2(Players.PlayerRemoving, function(arg2) skidDetectShown[tostring(arg2.UserId)] = nil end) task.defer(function() task.wait(1.5) refreshSkidDetections() end) end local tbl7, fn19, fn20, tbl8 do local tbl9 = { Range = 950, AllRange = 800, Poll = 0.12, FastPoll = 0.05, LocalPoll = 0.08, TeamIdlePoll = 0.07, ToolWait = 6, TargetReadyWait = 30, LocalReadyWait = 8, DefaultCount = 3, MaxCount = 100, } local tbl10 = { Loop = { Runs = 3, View = 0.35, Confirm = 0.75, Retry = 0.12, Range = tbl9.Range, LoopChecks = true, }, Team = { Runs = 2, View = 0.15, Confirm = 0.25, Retry = 0.04, Range = tbl9.Range, }, KillTp = { Runs = 1, View = 0.08, Confirm = 0.05, Retry = 0.005, UnlimitedArmor = true, }, } local function fn21(arg2) local flag6 = arg2 and arg2.Team and LocalPlayer.Team and arg2.Team == LocalPlayer.Team return flag6 end local function fn22(arg2) local v7 = tostring local str = arg2 or "" return v7(str):gsub("^%s+", ""):gsub("%s+$", "") end local function fn23(arg2) return fn22(arg2):lower():gsub("%s+", "") end local function fn24(arg2, arg3) add_line(arg2, arg3, true) red_anim() return false end killAliveCharacter = function(arg2, arg3) if not arg2 or arg2.Parent ~= Players then return nil end local character_ = arg2.Character if not character_ or arg3 and character_ == arg3 then return nil end local humanoid_ = character_:FindFirstChildOfClass("Humanoid") local humanoidRootPart = character_:FindFirstChild("HumanoidRootPart") if humanoid_ and humanoid_.Health > 0 and humanoidRootPart then return character_, humanoid_, humanoidRootPart end return nil end killToolNames = { M9 = true, FAL = true, ["AK-47"] = true, ["Remington 870"] = true, REMINGTON = true, MP5 = true, Revolver = true, REVOLVER = true, M700 = true, Sniper = true, SNIPER = true, M4A1 = true, } local function fn25(arg2, arg3) if not arg2 then return false end for i, child in ipairs(arg2:GetChildren()) do if child:IsA("Tool") and arg3[child.Name] then return true end end return false end local function fn26(arg2) if not arg2 then return false end for i, child in ipairs(arg2:GetChildren()) do local v7 = tostring local name = child.Name local str = name or "" local str2 = v7(str):lower() if child:IsA("Tool") and (str2 == "keycard" or str2 == "key card" or str2:find("keycard", 1, true) or str2:find("key card", 1, true)) then return true end end return false end hasKillTool = function() local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") local character_ = LocalPlayer.Character local v7 = fn25(backpack, killToolNames) local v8 = v7 or fn25(character_, killToolNames) return v8 end charHasForceField = function(arg2) if not arg2 then return false end local now = os.clock() local v7 = forceFieldSpawnAt[arg2] if v7 == nil then forceFieldSpawnAt[arg2] = now return true end if now - v7 < FORCEFIELD_SPAWN_GRACE then return true end local flag6 = arg2:FindFirstChildOfClass("ForceField") ~= nil or arg2:FindFirstChild("ForceField") ~= nil return flag6 end playerHasForceField = function(arg2) local flag6 = arg2 and charHasForceField(arg2.Character) == true return flag6 end forceFieldNameSuffix = function(arg2) local v7 = playerHasForceField(arg2) local str = v7 and " (Ff)" or "" return str end playerShownName = function(arg2) if not arg2 then return "Unknown" end local v7 = tostring local displayName = arg2.DisplayName local name = displayName or arg2.Name return v7(name) .. forceFieldNameSuffix(arg2) end localDistanceToPlayer = function(arg2) local v7 = get_root local v8 = v7 and get_root() or nil local v9 = root local v10 = v9 and root(arg2) or nil if v8 and v10 then return (v8.Position - v10.Position).Magnitude end return math.huge end validKillTarget = function(arg2, arg3) if not arg2 or arg2 == LocalPlayer or arg2.Parent ~= Players then return false end if fn21(arg2) then return false end local v7 = killAliveCharacter(arg2) if not v7 or charHasForceField(v7) then return false end local v8 = arg3 and localDistanceToPlayer(arg2) or nil if v8 and arg3 < v8 then return false end return true, v8 end buildKillAllTargets = function(arg2) local tbl11 = {} for i, v7 in ipairs(tbl4) do local v8, v9 = validKillTarget(v7, arg2) if v8 then local insert = table.insert local tbl12 = {Player = v7} local v10 = v9 or localDistanceToPlayer(v7) tbl12.Distance = v10 insert(tbl11, tbl12) end end table.sort(tbl11, function(arg3, arg4) local distance = arg3.Distance local huge = distance or math.huge local distance2 = arg4.Distance local huge2 = distance2 or math.huge local flag6 = huge < huge2 return flag6 end) return tbl11 end killAllTargets = function() if not hasKillTool() then return fn24(".kill all", "no tools") end local v7 = buildKillAllTargets(tbl9.AllRange) if #v7 == 0 then return fn24(".kill all", "no targets w/o ff in 800 studs") end add_line(".kill all", "kill all: " .. tostring(#v7) .. " target(s) w/o ff", false) task.spawn(function() for i, v8 in ipairs(v7) do local player = v8.Player if hasKillTool() and validKillTarget(player, tbl9.AllRange) then KillPlrWithView(player, 3, 1) db_track_kill(player, "all:800") task.wait(0.15) end end end) return true end real_kill = function(arg2) if not hasKillTool() then return fn24(".kill", "no tools") end local v7 = find_player(arg2) local str = ".kill " .. tostring(arg2) if not v7 then return fn24(str, "the player doesnt exist") end if not killAliveCharacter(v7) then return fn24(str, "kill error, player dead") end if fn21(v7) then return fn24(str, "cant kill same team") end if playerHasForceField(v7) then return fn24(str, "ff detected, can't kill") end local v8 = localDistanceToPlayer local huge = v8 and localDistanceToPlayer(v7) or math.huge if tbl9.Range < huge then return fn24(str, "the player is not in shooting range (950 studs max)") end KillPlrWithView(v7, 3, 1) db_track_kill(v7, "player") add_line(str, "kill executed", false) return true end fling_target = function(arg2) local v7 = find_player(arg2) if v7 and v7 ~= LocalPlayer then if flingState.CarInAttack[v7.Name] then return unfling_target(v7.Name) end if not KillWheel(v7) then return false end add_line(".fling " .. v7.Name, tbl6.Started, false) return true end local v8 = tostring local str = arg2 or "" return fn24(".fling " .. v8(str), "target not found") end unfling_target = function(arg2) local v7 = find_player(arg2) if not v7 then return fn24(".unfling " .. tostring(arg2), "target not found") end if not flingState.CarInAttack[v7.Name] then return fn24(".unfling " .. arg2, "fling not active") end flingDisconnectAttack(flingState.CarInAttack[v7.Name]) flingState.CarInAttack[v7.Name] = nil add_line(".unfling " .. arg2, tbl6.Stopped, false) flingRefreshButtons() return true end save_pos = function(arg2) local v7 = tostring local str = arg2 or "" local str2 = v7(str):gsub("^%s+", ""):gsub("%s+$", "") if str2 == "" then add_line(".save", "invalid name", true) red_anim() return false end local v8 = get_root() local currentCamera = Workspace.CurrentCamera if v8 and currentCamera then local tbl11 = { Name = str2, Pos = cf_to_string(v8.CFrame), CamPos = cf_to_string(currentCamera.CFrame), Time = os.time(), } local v9, v10 = find_save(str2) if v9 and v10 then saves[v10] = tbl11 else saves[#saves + 1] = tbl11 end save_saves() refresh_saved_commands() add_line(".save " .. str2, "pos saved", false) return true end add_line(".save " .. str2, "root/cam not found", true) red_anim() return false end delete_save = function(arg2) local v7 = tostring local str = arg2 or "" local str2 = v7(str):gsub("^%s+", ""):gsub("%s+$", "") if str2 == "" then add_line(".delete", "invalid name", true) red_anim() return false end local v8, v9 = find_save(str2) if v8 and v9 then local tpEliminado = tostring(v8.Name) table.remove(saves, v9) save_saves() refresh_saved_commands() add_line(".delete " .. str2, "tp eliminado: " .. tpEliminado, false) return true end add_line(".delete " .. str2, "save not found", true) red_anim() return false end tp_player = function(arg2) local v7 = find_player(arg2) if not v7 then return false end local v8 = get_root() local v9 = root(v7) if v8 and v9 then v8.CFrame = v9.CFrame if autoRespawnDeadTpNotify and autoRespawnDeadTpNotify(arg2) then return true end add_line(".tp " .. tostring(arg2), "tp to player " .. v7.DisplayName .. " (@" .. v7.Name .. ")", false) return true end add_line(".tp " .. tostring(arg2), "player found, no root", true) red_anim() return true end tp_save = function(arg2) local v7 = tostring local str = arg2 or "" local str2 = v7(str):gsub("^%s+", ""):gsub("%s+$", "") local v8 = find_save(str2) if not v8 then add_line(".tp " .. str2, "player/save not found", true) red_anim() return false end local v9 = any_to_cf(v8.Pos) local v10 = get_root() if v9 and v10 then v10.CFrame = v9 if autoRespawnDeadTpNotify and autoRespawnDeadTpNotify(str2) then return true end add_line(".tp " .. str2, "teleport a save: " .. v8.Name, false) return true end add_line(".tp " .. str2, "invalid pos", true) red_anim() return false end tp_any = function(arg2) if not tp_player(arg2) then return tp_save(arg2) end return true end view_save = function(arg2) local v7 = find_save(arg2) if not v7 then add_line(".view " .. tostring(arg2), "player/save not found", true) red_anim() return false end local v8 = any_to_cf(v7.CamPos) if not v8 then add_line(".view " .. arg2, "invalid cam", true) red_anim() return false end clear_spectate_conn() viewing = nil spectating_player = nil local currentCamera = Workspace.CurrentCamera lastcam = currentCamera.CFrame viewer = true currentCamera.CameraType = Enum.CameraType.Scriptable currentCamera.CFrame = v8 add_line(".view " .. arg2, "viewing saved cam: " .. v7.Name, false) return true end view_any = function(arg2) local v7 = viewFindPlayer(arg2) local v8 = v7 or find_player(arg2) if not v8 then return view_save(arg2) end return ViewPlayer(v8, false) end unview = function() if firstFlingViewState and firstFlingViewState.active then firstFlingViewState.active = false local v7 = firstFlingViewState local keepAliveId = firstFlingViewState.keepAliveId local n2 = keepAliveId or 0 v7.keepAliveId = n2 + 1 if firstFlingViewClearConns then firstFlingViewClearConns() end end return UnView(false) end local v7 = firstFlingViewState local v8 = v7 if not v7 then local tbl11 = {} v8 = tbl11 tbl11.active = false tbl11.target = nil tbl11.localRespawnConn = nil tbl11.targetRespawnConn = nil tbl11.targetLeavingConn = nil tbl11.keepAliveId = 0 end firstFlingViewState = v8 local tbl11 = { "localRespawnConn", "targetRespawnConn", "targetLeavingConn", } firstFlingViewClearConns = function() for i, v9 in ipairs(tbl11) do fn3(firstFlingViewState[v9]) firstFlingViewState[v9] = nil end end firstFlingViewStop = function() if not firstFlingViewState.active then firstFlingViewClearConns() return false end firstFlingViewState.active = false firstFlingViewState.target = nil local v9 = firstFlingViewState local keepAliveId = firstFlingViewState.keepAliveId local n2 = keepAliveId or 0 v9.keepAliveId = n2 + 1 firstFlingViewClearConns() pcall(function() return_camera_to_me() end) return true end firstFlingViewApplyTarget = function(arg2) if not firstFlingViewState.active or firstFlingViewState.target ~= arg2 then return false end if arg2 and arg2.Parent == Players then return setCameraToPlayer(arg2) end return false end firstFlingViewKeepAlive = function(arg2) local v9 = firstFlingViewState local keepAliveId = firstFlingViewState.keepAliveId local n2 = keepAliveId or 0 v9.keepAliveId = n2 + 1 local keepAliveId2 = firstFlingViewState.keepAliveId task.spawn(function() while flag and firstFlingViewState.active and firstFlingViewState.keepAliveId == keepAliveId2 do if arg2 and arg2.Parent == Players and firstFlingViewState.target == arg2 then firstFlingViewApplyTarget(arg2) task.wait(0.25) continue end firstFlingViewStop() break end end) end firstFlingViewStart = function(target) if not target or target == LocalPlayer or target.Parent ~= Players then return false end firstFlingViewClearConns() firstFlingViewState.active = true firstFlingViewState.target = target ViewPlayer(target, true) firstFlingViewApplyTarget(target) firstFlingViewState.targetRespawnConn = fn2(target.CharacterAdded, function() task.wait(0.35) firstFlingViewApplyTarget(target) end) firstFlingViewState.targetLeavingConn = fn2(Players.PlayerRemoving, function(arg2) if firstFlingViewState.active and firstFlingViewState.target == arg2 then firstFlingViewStop() end end) firstFlingViewState.localRespawnConn = fn2(LocalPlayer.CharacterAdded, function(arg2) if firstFlingViewState.active and firstFlingViewState.target == target then firstFlingViewApplyTarget(target) end local humanoid_ = arg2 and arg2:WaitForChild("Humanoid", 8) local humanoidRootPart = arg2 and arg2:WaitForChild("HumanoidRootPart", 8) if humanoid_ and humanoidRootPart then task.wait(0.35) if firstFlingViewState.active and firstFlingViewState.target == target then firstFlingViewStop() end end end) firstFlingViewKeepAlive(target) return true end local v9 = killViewToken local n2 = v9 or 0 killViewToken = n2 killViewStart = function(arg2) if not arg2 or arg2 == LocalPlayer then return nil end if viewer == true and spectating_player and spectating_player.Parent == Players then return { id = killViewToken, started = os.clock(), lockedView = true, } end local character_ = arg2.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") local torso = character_ if character_ then local humanoidRootPart = character_:FindFirstChild("HumanoidRootPart") torso = humanoidRootPart or character_:FindFirstChild("Torso") or character_:FindFirstChild("Head") end if not humanoid_ and not torso then return nil end killViewToken = killViewToken + 1 if disconnectView then disconnectView() end viewing = nil viewer = false spectating_player = nil local currentCamera = Workspace.CurrentCamera local tbl12 = {id = killViewToken, started = os.clock()} pcall(function() currentCamera.CameraType = Enum.CameraType.Custom local v10 = humanoid_ or torso currentCamera.CameraSubject = v10 end) return tbl12 end killViewRestore = function(arg2, arg3) if not arg2 then return end if arg2.lockedView then return end local num = tonumber(arg3) local n3 = num or 1 local v10 = n3 local now = os.clock() local started = arg2.started local now2 = started or os.clock() local n4 = now - now2 if n4 < v10 then task.wait(v10 - n4) end if arg2.id ~= killViewToken then return end killViewToken = killViewToken + 1 pcall(function() if clear_spectate_conn then clear_spectate_conn() end viewer = false spectating_player = nil lastcam = nil local currentCamera = Workspace.CurrentCamera local character_ = LocalPlayer.Character local result = character_ or LocalPlayer.CharacterAdded:Wait() local humanoid_ = result and result:FindFirstChildOfClass("Humanoid") local humanoidRootPart = result and result:FindFirstChild("HumanoidRootPart") currentCamera.CameraType = Enum.CameraType.Custom local v11 = humanoid_ or humanoidRootPart currentCamera.CameraSubject = v11 end) task.defer(function() if playerListUpdateViewButtons then playerListUpdateViewButtons() end end) end KillPlrWithView = function(arg2, arg3, arg4, arg5, arg6) local v10 = killViewStart(arg2) killWeaponBusy = killWeaponBusy + 1 local ok, result = pcall(function() return KillPlr(arg2, arg3, arg5, arg6) end) local n3 = math.max(0, killWeaponBusy - 1) killWeaponBusy = n3 local v11 = killViewRestore local n4 = arg4 or 1 v11(v10, n4) if not ok then return false end local flag6 = result == true return flag6 end local v10 = killExecutionBusy local flag6 = v10 or false killExecutionBusy = flag6 local v11 = loopKillState local v12 = v11 if not v11 then local tbl12 = {} v12 = tbl12 tbl12.serial = 0 tbl12.tokens = {} tbl12.targets = {} end loopKillState = v12 local v13 = loopKillState local targets = loopKillState.targets local targets2 = targets or {} v13.targets = targets2 local v14 = killTpState local v15 = v14 if not v14 then local tbl12 = {} v15 = tbl12 tbl12.serial = 0 tbl12.tokens = {} end killTpState = v15 killTaskAlive = function(arg2) if not flag then return false end if arg2 and not arg2() then return false end return true end killWaitAliveCharacter = function(arg2, arg3, arg4, arg5) local now = os.clock() while killTaskAlive(arg4) and arg2 and arg2.Parent == Players do local v16, v17, v18 = killAliveCharacter(arg2, arg3) if v16 then return v16, v17, v18 end if arg5 and arg5 <= os.clock() - now then return nil end task.wait(tbl9.Poll) end return nil end killWaitForceFieldOff = function(arg2, arg3, arg4) while killTaskAlive(arg4) and arg2 and arg2.Parent == Players do local v16, v17, v18 = killAliveCharacter(arg2) if v16 and v16 ~= arg3 then return "respawn", v16, v17, v18 end if v16 and not playerHasForceField(arg2) then return "ready", v16, v17, v18 end task.wait(tbl9.Poll) end return "cancelled" end killGunOperationBusy = function() local flag7 = typeof(gunOperationBusy) == "function" and gunOperationBusy() == true return flag7 end local tbl12 = { surface = "waiting for target to be in shooting zone", inmate = "waiting: esperando a que sea hostil", impossible = "paused: impossible to hit", } local tbl13 = {impossible = "resumed: hit possible"} local tbl14 = { forcefield = true, no_ammo = true, alive = true, combat = true, surface = true, inmate = true, impossible = true, } local function fn27(arg2) local v16 = playerTeamName(LocalPlayer) if v16 ~= "Guards" and v16 ~= "Criminals" or playerTeamName(arg2) ~= "Inmates" then return true end local character_ = arg2 and arg2.Character local flag7 = character_ ~= nil and (character_:GetAttribute("Hostile") == true or character_:GetAttribute("Arrestable") == true) return flag7 end local function fn28(arg2) if fn18(arg2) then return "surface" end if not fn27(arg2) then return "inmate" end if killGunOperationBusy() then return "combat" end local v16, v17 = killAliveCharacter(LocalPlayer) local v18 = v16 and getBestTool and getBestTool() or nil if not v16 or not v17 or not v18 then return "combat" end if v18.Parent == v16 then local v19 = fn17(arg2, v18) if v19 == "impossible" then return "impossible" end if not v19 then return "combat" end return nil end v17:EquipTool(v18) return "combat" end killWaitReadyTool = function(arg2) local now, n3, n4 n4 = 1 while true do if n4 == 1 then now = os.clock() n4 = 2 elseif n4 == 2 then if killTaskAlive(arg2) then n4 = 3 else n4 = 15 end elseif n4 == 3 then if killGunOperationBusy() then n4 = 4 else n4 = 8 end elseif n4 == 4 then if killTaskAlive(arg2) then n4 = 5 else n4 = 7 end elseif n4 == 5 then task.wait(tbl9.FastPoll) if killGunOperationBusy() then n4 = 4 else n4 = 6 end elseif n4 == 6 then now = os.clock() n4 = 8 elseif n4 == 7 then return false elseif n4 == 8 then if getBestTool and getBestTool() then n4 = 14 else n4 = 9 end elseif n4 == 9 then if hasKillTool() then n4 = 10 else n4 = 13 end elseif n4 == 10 then n3 = os.clock() - now if tbl9.ToolWait <= n3 then n4 = 12 else n4 = 11 end elseif n4 == 11 then task.wait(tbl9.Poll) n4 = 2 elseif n4 == 12 then return false elseif n4 == 13 then return false elseif n4 == 14 then return true elseif n4 == 15 then return false end end end killAcquireExecution = function(arg2) while killTaskAlive(arg2) and killExecutionBusy do task.wait(tbl9.FastPoll) end if not killTaskAlive(arg2) then return false end killExecutionBusy = true return true end killMethodUntilConfirmed = function(arg2, arg3, arg4) local loop = arg3 or tbl10.Loop local v16 = loop local max = math.max local floor_ = math.floor local num = tonumber(v16.Runs) local n3 = num or 1 for i = 1, max(1, floor_(n3)) do if not killTaskAlive(arg4) or not arg2 or arg2.Parent ~= Players then return false, nil, "cancelled" end local v17, v18 = killAliveCharacter(arg2) if not v17 then return false, nil, "dead" end if v16.Range then local v19 = localDistanceToPlayer(arg2) if v16.Range < v19 then return false, v17, "range" end end if playerHasForceField(arg2) then return false, v17, "forcefield" end if not killWaitReadyTool(arg4) then return false, v17, "no_ammo" end if v16.Range then local v19 = localDistanceToPlayer(arg2) if v16.Range < v19 then return false, v17, "range" end end if v16.LoopChecks then local v19 = fn28(arg2) if v19 then return false, v17, v19 end end if not killAcquireExecution(arg4) then return false, v17, "cancelled" end local flag7 = false local connection = v18.Died:Connect(function() flag7 = true end) local v19 = pcall local v20 = KillPlrWithView local view = v16.View local n4 = view or 0.35 local flag8 = v16.UnlimitedArmor == true and v18.Health > 100 local v21, v22 = v19(v20, arg2, 3, n4, flag8, arg4) local flag9 = v22 killExecutionBusy = false if not v21 then flag9 = false end local now = os.clock() local num2 = tonumber(v16.Confirm) local n5 = num2 or 0.75 local n6 = now + n5 while not flag7 and not flag9 and v18.Health > 0 and arg2.Character == v17 and killTaskAlive(arg4) do task.wait(tbl9.FastPoll) if n6 <= os.clock() then break end end fn3(connection) if flag7 or flag9 or v18.Health <= 0 or arg2.Character ~= v17 then return true, v17, "confirmed" end if playerHasForceField(arg2) then return false, v17, "forcefield" end local wait = task.wait local num3 = tonumber(v16.Retry) local poll = num3 or tbl9.Poll wait(poll) end local character_ = arg2 and arg2.Character or nil return false, character_, "alive" end local function fn29(arg2) local v16 = tostring local str = arg2 or "" local str2 = v16(str):gsub("^%(", ""):gsub("%)$", "") return tonumber(str2) end loopKillParse = function(arg2) local v16 = fn22(arg2) if v16 == "" then return nil end local match, v17 = v16:match("^(%S+)%s+(.+)$") local v18 = fn29(match) if v18 and v17 then return v17, math.floor(v18) end local match2, v19 = v16:match("^(.-)%s+(%S+)$") local v20 = fn29(v19) if v20 and match2 and match2 ~= "" then return match2, math.floor(v20) end return v16, tbl9.DefaultCount end loopKillCommand = function(arg2) local v16, v17 = loopKillParse(arg2) if not v16 or not v17 or v17 < 1 or tbl9.MaxCount < v17 then return fn24(";lk", "use ;lk user (1-100)") end local v18 = find_player(v16) if not v18 then return fn24(";lk " .. tostring(v16), "player not found") end if fn21(v18) then return fn24(";lk " .. v18.Name, "cant kill same team") end if not hasKillTool() then return fn24(";lk " .. v18.Name, "no tools") end local v19 = loopKillState v19.serial = v19.serial + 1 local serial = loopKillState.serial loopKillState.tokens[v18.UserId] = serial loopKillState.targets[v18.UserId] = v18 local str = ";lk " .. v18.Name .. " " .. tostring(v17) add_line(str, "loopkill started", false) task.spawn(function() local n3 = 0 local v20 = nil local flag7 = false local v21 = nil local function fn30() local flag8 = loopKillState.tokens[v18.UserId] == serial return flag8 end local tbl15 = { character = LocalPlayer.Character, dead = false, deathNotified = false, weaponNotified = false, operationNotified = false, } local connection = nil local function fn31() tbl15.dead = true tbl15.weaponNotified = true if fn30() and not tbl15.deathNotified then tbl15.deathNotified = true add_line(str, "cut: you died | waiting for weapons", true) end end local function fn32(character_) fn3(connection) connection = nil if tbl15.character and character_ ~= tbl15.character and not tbl15.dead then fn31() end tbl15.character = character_ local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") if humanoid_ then connection = humanoid_.Died:Connect(fn31) end end local function fn33() while fn30() do local v22 = killAliveCharacter(LocalPlayer) if v22 then if tbl15.character ~= v22 then fn32(v22) end local v23 = getBestTool local flag8 = v23 and getBestTool() ~= nil if killGunOperationBusy() then if not tbl15.operationNotified then tbl15.operationNotified = true local v24 = add_line local str2 = flag8 and "weapons detected | waiting weapon TP to finish" or "paused: weapon TP in progress" v24(str, str2, false) end else if flag8 then if tbl15.dead or tbl15.operationNotified or tbl15.weaponNotified then add_line(str, "weapons ready | loopkill resumed", false) end tbl15.dead = false tbl15.deathNotified = false tbl15.weaponNotified = false tbl15.operationNotified = false return true end if not tbl15.weaponNotified then tbl15.weaponNotified = true add_line(str, "waiting for weapons", false) end end else fn31() end task.wait(tbl9.LocalPoll) end return false end fn32(LocalPlayer.Character) local connection2 = LocalPlayer.CharacterAdded:Connect(fn32) while killTaskAlive(fn30) and v18.Parent == Players and n3 < v17 and fn33() do if not fn21(v18) then local v22 = killWaitAliveCharacter(v18, v20, fn30) local v23 = v22 if not v22 then break end local v24, v25 = killWaitForceFieldOff(v18, v22, fn30) if v24 == "cancelled" then break end if v24 == "respawn" then v23 = v25 v20 = nil end while fn30() and v18.Parent == Players and v18.Character == v23 do local v26 = localDistanceToPlayer(v18) if tbl9.Range >= v26 then break end if not flag7 then flag7 = true add_line(str, "paused: out of range", false) end task.wait(tbl9.Poll) end if not fn30() or v18.Parent ~= Players then break end if not fn21(v18) then local humanoid_ = v23 and v23:FindFirstChildOfClass("Humanoid") if v18.Character == v23 and humanoid_ and humanoid_.Health > 0 then if flag7 then flag7 = false add_line(str, "resumed: in range", false) end if not fn33() then break end local flag8 = false while fn30() and v18.Parent == Players and v18.Character == v23 and killAliveCharacter(v18) == v23 and not fn21(v18) and not playerHasForceField(v18) do local v26 = localDistanceToPlayer(v18) if tbl9.Range < v26 then break end local v27 = fn28(v18) if v27 == "combat" then break end if not v27 then local v28 = v21 and tbl13[v21] if v28 then add_line(str, v28, false) end v21 = nil flag8 = true break end if v21 ~= v27 then v21 = v27 add_line(str, tbl12[v27], false) end task.wait(tbl9.Poll) end if not fn30() or v18.Parent ~= Players then break end if not fn21(v18) then if killAliveCharacter(v18) == v23 then local v26 = localDistanceToPlayer(v18) if tbl9.Range < v26 then if not flag7 then flag7 = true add_line(str, "paused: out of range", false) end continue end if playerHasForceField(v18) then continue end if not flag8 then if not fn33() then break end continue end if fn30() and v18.Parent == Players then local v27, v28, v29 = killMethodUntilConfirmed(v18, tbl10.Loop, fn30) if not fn30() then break end if v27 then local n4 = n3 + 1 n3 = n4 v20 = v28 v21 = nil db_track_kill(v18, "loop:" .. tostring(n4) .. "/" .. tostring(v17)) add_line(str, tostring(n4) .. "/" .. tostring(v17), false) elseif v29 == "dead" then v20 = v23 v21 = nil elseif v29 == "range" then if not flag7 then flag7 = true add_line(str, "paused: out of range", false) end elseif not tbl14[v29] then break end end task.wait(tbl9.Poll) continue end v20 = v23 v21 = nil continue end add_line(str, "stopped: same team", true) break end v20 = v23 v21 = nil continue end add_line(str, "stopped: same team", true) break end add_line(str, "stopped: same team", true) break end fn3(connection) fn3(connection2) if loopKillState.tokens[v18.UserId] == serial then loopKillState.tokens[v18.UserId] = nil loopKillState.targets[v18.UserId] = nil if v17 <= n3 then add_line(str, "completed", false) elseif v18.Parent ~= Players then add_line(str, "stopped: player left", true) end end end) return true end loopKillCancel = function(arg2) local v16 = fn22(arg2) if v16 ~= "" and v16:lower() ~= "all" then local v17 = find_player(v16) local v18 = v17 if not v17 then local v19 = fn23(v16) for k, target in pairs(loopKillState.targets) do local name = target and target.Name local v20 = fn23(name) local displayName = target and target.DisplayName local v21 = fn23(displayName) if v20 == v19 or v21 == v19 or v20:sub(1, #v19) == v19 or v21:sub(1, #v19) == v19 then v18 = target break end continue end end if not v18 or not loopKillState.tokens[v18.UserId] then return fn24(".unlk " .. v16, "loopkill not active") end loopKillState.tokens[v18.UserId] = nil loopKillState.targets[v18.UserId] = nil add_line(".unlk " .. v18.Name, "cancelled", false) return true end local n3 = 0 for k in pairs(loopKillState.tokens) do n3 = n3 + 1 end table.clear(loopKillState.tokens) table.clear(loopKillState.targets) local v17 = add_line local str = n3 > 0 and "cancelled: " .. tostring(n3) or "no active loopkill" local flag7 = n3 == 0 v17(".unlk", str, flag7) if n3 == 0 then red_anim() end local flag8 = n3 > 0 return flag8 end fn4(function() killExecutionBusy = false local v16 = loopKillState v16.serial = v16.serial + 1 local v17 = killTpState v17.serial = v17.serial + 1 table.clear(loopKillState.tokens) table.clear(loopKillState.targets) table.clear(killTpState.tokens) end) set_kill_feedback = function(killFeedback) cfg.kill_feedback = killFeedback kf.Visible = killFeedback save_cfg() refresh_saved_commands() if killFeedback then task.defer(checkScriptRoles) end local v16 = add_line local str = killFeedback and "on" or "off" v16(".killfeedback " .. str, "saved in cfg", false) return true end set_aim_detect = function(aimDetect) cfg.aim_detect = aimDetect detectorFeedUpdateVisible() save_cfg() refresh_saved_commands() local v16 = add_line local str = aimDetect and "on" or "off" v16(".aimdetect " .. str, "saved in cfg", false) return true end set_speed_lock = function(lockWalkspeed) cfg.lock_walkspeed = lockWalkspeed save_cfg() refresh_saved_commands() local v16 = add_line local str = lockWalkspeed and "on" or "off" local str2 = ".lockspeed " .. str local str3 = lockWalkspeed and "on" or "off" v16(str2, "walkspeed lock 24 " .. str3, false) return true end pp_command = function() local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") if not backpack then add_line(".pp", "backpack not found", true) red_anim() return false end local hammer = backpack:FindFirstChild("Hammer") if hammer and hammer:IsA("Tool") then hammer.GripForward = vector(0, 0, -1) hammer.GripPos = vector(1.5, 1.5, 1.6) hammer.GripRight = vector(1, 0, 1) hammer.GripUp = vector(0, 0, 0) add_line(".pp", "hammer grip aplicado", false) return true end add_line(".pp", "need Hammer in backpack", true) red_anim() return false end parse_on_off = function(arg2) local v16 = tostring local str = arg2 or "" local str2 = v16(str):lower():gsub("^%s+", ""):gsub("%s+$", "") if str2 == "on" or str2 == "true" or str2 == "1" then return true end if str2 ~= "off" and str2 ~= "false" and str2 ~= "0" then return nil end return false end tbl7 = { m4 = { path = {"Prison_ITEMS", "giver", "M4A1", "Mesh"}, pos = vector(848, 92, 2228), name = "M4A1", passId = gamePassIds.swat, }, m4a1 = { path = {"Prison_ITEMS", "giver", "M4A1", "Mesh"}, pos = vector(848, 92, 2228), name = "M4A1", passId = gamePassIds.swat, }, reming = { path = {"Prison_ITEMS", "giver", "Remington 870", "Meshes/r870_2"}, pos = vector(819, 92, 2228), name = "Remington 870", }, shotgun = { path = {"Prison_ITEMS", "giver", "Remington 870", "Meshes/r870_2"}, pos = vector(819, 92, 2228), name = "Remington 870", }, fal = { path = {"Prison_ITEMS", "giver", "FAL", "Mesh"}, pos = vector(-898, 86, 2047), name = "FAL", passId = gamePassIds.mafia, }, ak = { path = {"Prison_ITEMS", "giver", "AK-47", "Meshes/AK47_7"}, pos = vector(-931, 87, 2039), name = "AK-47", }, ["ak-47"] = { path = {"Prison_ITEMS", "giver", "AK-47", "Meshes/AK47_7"}, pos = vector(-931, 87, 2039), name = "AK-47", }, rev = { path = {"Prison_ITEMS", "giver", "Revolver", "Meshes/revolver (3)"}, pos = vector(832, 101, 2229), positions = {vector(832, 101, 2229), vector(-916, 94, 2038)}, name = "Revolver", passId = gamePassIds.sniper, }, revolver = { path = {"Prison_ITEMS", "giver", "Revolver", "Meshes/revolver (3)"}, pos = vector(832, 101, 2229), positions = {vector(832, 101, 2229), vector(-916, 94, 2038)}, name = "Revolver", passId = gamePassIds.sniper, }, m700 = { path = {"Prison_ITEMS", "giver", "M700", "model1"}, pos = vector(832, 101, 2229), positions = {vector(832, 101, 2229), vector(-916, 94, 2038)}, name = "M700", passId = gamePassIds.sniper, }, sniper = { path = {"Prison_ITEMS", "giver", "M700", "model1"}, pos = vector(832, 101, 2229), positions = {vector(832, 101, 2229), vector(-916, 94, 2038)}, name = "M700", passId = gamePassIds.sniper, }, clothes = { path = {"Prison_ITEMS", "clothes", "Light Vest", "Torso"}, pos = vector(831, 90, 2225), name = "Light Vest", wear = true, free = true, passId = gamePassIds.sniper, }, riot = { path = {"Prison_ITEMS", "clothes", "Riot Police", "Torso"}, pos = vector(848, 92, 2228), name = "Riot Police", team = "Guards", wear = true, free = true, passId = gamePassIds.swat, }, mafia = { path = {"Prison_ITEMS", "clothes", "Mafia", "Meshes/vest (7)"}, pos = vector(-898, 86, 2047), name = "Mafia Vest", team = "Criminals", wear = true, free = true, passId = gamePassIds.mafia, }, mp5 = { path = {"Prison_ITEMS", "giver", "MP5", "Meshes/MP5 (2)"}, pos = vector(819, 92, 2228), name = "MP5", }, m9 = { path = {"Prison_ITEMS", "giver", "M9", "Mesh"}, pos = vector(819, 92, 2228), name = "M9", }, } local v16 = vector(-936, 89, 2036) nearestItemPos = function(arg2, arg3) if arg3 then return arg3 end if not arg2 then return nil end local positions = arg2.positions if typeof(positions) ~= "table" or #positions == 0 then return arg2.pos end local v17 = operationRoot local humanoidRootPart = v17 and operationRoot() if not humanoidRootPart then local character_ = LocalPlayer.Character humanoidRootPart = character_ and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") end if not humanoidRootPart then return positions[1] end local v18 = positions[1] local v19 = v18 local n3 = humanoidRootPart.Position - v18 local v20 = n3:Dot(n3) for i = 2, #positions do local v21 = positions[i] local n4 = humanoidRootPart.Position - v21 local v22 = n4:Dot(n4) if v22 < v20 then v19 = v21 v20 = v22 end end return v19 end local interactWithItem = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("InteractWithItem") local obj = setmetatable({}, {__mode = "k"}) gunFastRemoteBusy = obj gunGetMethod = function() local str = cfg.get_method_guns == "fast" and "fast" or "normal" return str end gunGetMethodFast = function() local flag7 = gunGetMethod() == "fast" return flag7 end gunHasExpectedWeapon = function(arg2) local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") local character_ = LocalPlayer.Character local v17 = arg2 and (backpack and backpack:FindFirstChild(arg2) or character_ and character_:FindFirstChild(arg2)) or nil return v17 end gunGetMethodSet = function(arg2, arg3) local v17 = tostring local str = arg2 or "" local getMethod = v17(str):lower() if getMethod ~= "normal" and getMethod ~= "fast" then return false end cfg.get_method_guns = getMethod if autoGetLast ~= nil then autoGetLast = 0 end save_cfg() if refresh_saved_commands then refresh_saved_commands() end if not arg3 then add_line(".getmethod " .. getMethod, "get method: " .. getMethod, false) end return true end getMethodCommandText = function(arg2, arg3) local v17 = tostring local str = arg2 or "" local str2 = v17(str):lower():gsub("^%s+", ""):gsub("%s+$", "") if str2 ~= ".getmethod" and not str2:match("^%.getmethod%s") then return false end local match = str2:match("^%.getmethod%s+(%S+)$") if str2 == ".getmethod" then add_line(".getmethod", "current: " .. gunGetMethod(), false) elseif match ~= "normal" and match ~= "fast" then add_line(".getmethod", "use .getmethod normal/fast", true) red_anim() else gunGetMethodSet(match, false) end if arg3 ~= "chat" then collapse() end return true end gunRunning = false local v17 = nil local n3 = 0 local n4 = 0 local v18 = nil gunFastMovementState = nil gunFastMovementUnlock = function() local v19 = gunFastMovementState if not v19 then return end gunFastMovementState = nil if v19.connection then pcall(function() v19.connection:Disconnect() end) end if LocalPlayer.Character == v19.character then pcall(function() local humanoid_ = v19.humanoid if humanoid_ and humanoid_.Parent then humanoid_.WalkSpeed = v19.walkSpeed humanoid_.JumpPower = v19.jumpPower humanoid_.JumpHeight = v19.jumpHeight humanoid_.AutoRotate = v19.autoRotate humanoid_.Jump = false end local root_ = v19.root if root_ and root_.Parent == v19.character then root_.AssemblyLinearVelocity = vector(0, 0, 0) root_.AssemblyAngularVelocity = vector(0, 0, 0) end end) end end gunFastMovementStart = function() gunFastMovementUnlock() if not gunGetMethodFast() then return end local character_ = LocalPlayer.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") local humanoidRootPart = character_ and character_:FindFirstChild("HumanoidRootPart") if not humanoid_ or humanoid_.Health <= 0 or not humanoidRootPart then return end local tbl15 = { character = character_, humanoid = humanoid_, root = humanoidRootPart, walkSpeed = humanoid_.WalkSpeed, jumpPower = humanoid_.JumpPower, jumpHeight = humanoid_.JumpHeight, autoRotate = humanoid_.AutoRotate, } gunFastMovementState = tbl15 local function fn30() if gunFastMovementState ~= tbl15 then return end if flag and gunRunning and LocalPlayer.Character == character_ and humanoid_.Parent and humanoid_.Health > 0 and humanoidRootPart.Parent == character_ then pcall(function() humanoid_.WalkSpeed = 0 humanoid_.JumpPower = 0 humanoid_.JumpHeight = 0 humanoid_.AutoRotate = false humanoid_.Jump = false humanoid_:Move(vector(0, 0, 0), false) humanoidRootPart.AssemblyLinearVelocity = vector(0, 0, 0) humanoidRootPart.AssemblyAngularVelocity = vector(0, 0, 0) end) return end gunFastMovementUnlock() end fn30() if gunFastMovementState == tbl15 then tbl15.connection = fn2(RunService.Heartbeat, fn30) end end local function fn30(arg2, arg3) gunFastMovementUnlock() if not gunRunning and not v17 then return end gunRunning = false v17 = nil n3 = 0 n4 = n4 + 1 if autoRespawnManualFinish and autoRespawnState and autoRespawnState.gunManualOp then local gunManualOp = autoRespawnState.gunManualOp autoRespawnState.gunManualOp = nil autoRespawnManualFinish(gunManualOp, "combo/tool") end if arg2 and add_line then local v19 = add_line local str = arg3 or "weapon op free" v19(arg2, str, true) red_anim() end end local function fn31() if not gunRunning then return false end local character_ = LocalPlayer.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") if not character_ or not humanoid_ or humanoid_.Health <= 0 then return true, "player died, op free" end if n3 > 0 and os.clock() - n3 > 30 then return true, "weapon op reset by timeout" end return false end local function fn32(arg2) if gunRunning then local v19, v20 = fn31() if not v19 then add_line(arg2, "weapon op already running", true) red_anim() return false end fn30(arg2, v20) end return true end local function fn33(arg2) gunRunning = true n3 = os.clock() n4 = n4 + 1 if arg2 then gunFastMovementStart() end if autoRespawnManualStart and autoRespawnState then if autoRespawnState.manualBusy == true then autoRespawnState.gunManualOp = autoRespawnState.manualBusyId else autoRespawnState.gunManualOp = autoRespawnManualStart("combo/tool") end end return n4 end local function fn34() gunRunning = false gunFastMovementUnlock() v17 = nil n3 = 0 if autoRespawnManualFinish and autoRespawnState and autoRespawnState.gunManualOp then local gunManualOp = autoRespawnState.gunManualOp autoRespawnState.gunManualOp = nil autoRespawnManualFinish(gunManualOp, "combo/tool") end end gunOperationBusy = function() local flag7 = gunRunning == true return flag7 end local function fn35() if v18 then pcall(function() v18:Disconnect() end) v18 = nil end local character_ = LocalPlayer.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") if humanoid_ then v18 = fn2(humanoid_.Died, function() fn30(".guns", "player died, op free") end) end end fn2(LocalPlayer.CharacterAdded, function() fn30(nil, nil) task.wait(0.35) fn35() end) task.defer(function() task.wait(0.35) fn35() end) task.spawn(function() while flag and task.wait(1) do if gunRunning then local v19, v20 = fn31() if v19 then fn30(".guns", v20) end end end end) local function fn36(arg2, arg3, arg4, arg5) local v19 = Workspace for i, v20 in ipairs(arg2) do v19 = v19:WaitForChild(v20) end if not arg4 and gunGetMethodFast() then if gunFastRemoteBusy[v19] then return true end gunFastRemoteBusy[v19] = true task.spawn(function() local n5 = arg5 and 1 or 2 for i = 1, n5 do if not flag or arg3 and gunHasExpectedWeapon(arg3) or not pcall(interactWithItem.InvokeServer, interactWithItem, v19) or not arg3 or gunHasExpectedWeapon(arg3) then break end if i < n5 then task.wait(0.06) end end gunFastRemoteBusy[v19] = nil end) return true end interactWithItem:InvokeServer(v19) return true end local function fn37() return LocalPlayer.Character end local function fn38() local v19 = fn37() local humanoidRootPart = v19 and v19:FindFirstChild("HumanoidRootPart") return humanoidRootPart end local function fn39() local v19 = fn37() local humanoid_ = v19 and v19:FindFirstChildOfClass("Humanoid") return humanoid_ end local function fn40(arg2) return gunHasExpectedWeapon(arg2) end local function fn41() local v19 = fn37() local v20 = fn39() local flag7 if v19 then flag7 = false else flag7 = true end if not flag7 then if v20 then flag7 = false else flag7 = true end end if not flag7 then flag7 = v20.Health <= 0 end return flag7 end local function fn42(arg2, arg3) add_line(arg2, "player died, op cut", true) if typeof(arg3) == "table" then for i, v19 in ipairs(arg3) do if v19 then pcall(function() v19:Destroy() end) end end elseif arg3 then pcall(function() arg3:Destroy() end) end fn34() red_anim() end local function fn43(arg2, arg3) local now = os.clock() local n5 = arg3 or 6 local v19 = n5 while flag and not fn40(arg2) do if fn41() then return false, "dead" end if v19 <= os.clock() - now then return false, "timeout" end local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") if not backpack then task.wait(0.05) continue end local flag7 = false local v20 = nil v20 = fn2(backpack.ChildAdded, function() flag7 = true if v20 then v20:Disconnect() v20 = nil end end) local now2 = os.clock() while flag and not flag7 and not fn40(arg2) and os.clock() - now2 < 0.25 do if not fn41() then task.wait(0.03) continue end if v20 then v20:Disconnect() v20 = nil end return false, "dead" end if v20 then v20:Disconnect() end end return true end local function fn44(arg2, arg3) local v19 = fn38() if not v19 then return false end v19.CFrame = cframe(arg2) if not arg3 and gunGetMethodFast() then RunService.Heartbeat:Wait() RunService.Heartbeat:Wait() else task.wait(0.25) end return true end commandProgressStart = function(arg2, arg3) local now = os.clock() local flag7 = true local tbl15 = {"[...]", "[..]", "[.]", "[..]"} local v19 = add_line(arg2, arg3 .. " executed " .. tbl15[1], false) task.spawn(function() local n5 = 1 while flag and flag7 and v19 and v19.Parent and os.clock() - now < 18 do local str = arg3 .. " executed " .. tbl15[n5] v19.Text = "> " .. tostring(arg2) .. "\n " .. str local v20 = color(120, 255, 170) v19.TextColor3 = v20 v19:SetAttribute("KX_TextColor", v20) local n6 = n5 + 1 n5 = n6 if #tbl15 < n6 then n5 = 1 end task.wait(0.22) end end) return { item = v19, started = now, alive = function() return flag7 end, stop = function() flag7 = false end, } end commandProgressFinish = function(arg2, arg3, arg4) local n5 = 0 if arg2 and arg2.started then n5 = math.max(0, os.clock() - arg2.started) end if arg2 and arg2.stop then arg2.stop() end local str = arg4 .. " completed [" .. string.format("%.2fs", n5) .. "]" local item = arg2 and arg2.item if item and item.Parent then item.Text = "> " .. tostring(arg3) .. "\n " .. str local v19 = color(120, 255, 170) item.TextColor3 = v19 item:SetAttribute("KX_TextColor", v19) else add_line(arg3, str, false) end end fn19 = function(arg2) if not fn32("." .. arg2) then return end local v19 = tbl7[arg2] if not v19 then return end if v19.passId and not ownsGamePass(v19.passId) then add_line("." .. arg2, gamepassBlockedMessage(v19), true) red_anim() return end if v19.team and LocalPlayer.Team and LocalPlayer.Team.Name ~= v19.team then add_line("." .. arg2, "need team " .. v19.team, true) red_anim() return end local flag7 if v19.wear then flag7 = false else flag7 = true end fn33(flag7) local v20 = fn38() local position = v20 and fn38().Position v17 = position if not v17 then fn42("." .. arg2, nil) return end local v21 = commandProgressStart("." .. arg2, "tool") local v22 = nearestItemPos(v19) local part = Instance.new("Part") part.Size = vector(4, 1, 4) part.Position = v22 - vector(0, 3.5, 0) part.Anchored = true part.Transparency = 0.5 part.Locked = true part.Parent = Workspace local flag8 = v19.wear == true fn44(v22, flag8) if not fn41() then local name = v19.name if not v19.wear then if not fn40(name) then fn36(v19.path, name) local v23, v24 = fn43(name, 6) if not v23 then if v21 and v21.stop then v21.stop() end if v24 == "dead" then fn42("." .. arg2, part) else add_line("." .. arg2, "couldnt confirm weapon", true) part:Destroy() gunFastMovementUnlock() gunRunning = false red_anim() end return end end if not fn41() then if v17 and fn38() then local v23 = v17 local flag9 = v19.wear == true fn44(v23, flag9) end part:Destroy() fn34() commandProgressFinish(v21, "." .. arg2, "tool") return end if v21 and v21.stop then v21.stop() end fn42("." .. arg2, part) return end fn36(v19.path, nil, true) task.wait(1) if fn38() and v17 then fn44(v17, true) part:Destroy() fn34() commandProgressFinish(v21, "." .. arg2, "tool") return end if v21 and v21.stop then v21.stop() end fn42("." .. arg2, part) return end if v21 and v21.stop then v21.stop() end fn42("." .. arg2, part) end local tbl15 = { combo1 = {{"m4a1"}, {"reming"}}, combo2 = {{"mp5"}, {"reming"}}, combo3 = {{"ak-47"}, {"reming", v16}}, } autoGetAddLine = function(arg2, arg3, arg4) if gunRunning == true then return nil end if not add_secondary_line then return add_line(arg2, arg3, arg4) end return add_secondary_line(arg2, arg3) end autoGetResolvePath = function(arg2) if typeof(arg2) ~= "table" then return nil end local v19 = Workspace for i, v20 in ipairs(arg2) do if not v19 then return nil end v19 = v19:FindFirstChild(tostring(v20)) end return v19 end autoGetItemPosition = function(arg2) if not arg2 or typeof(arg2.path) ~= "table" then return nil end local v19 = autoGetResolvePath(arg2.path) if not v19 then return nil end if v19:IsA("BasePart") then return v19.Position end if not v19:IsA("Model") then local basePart = v19:FindFirstChildWhichIsA("BasePart", true) local position = basePart and basePart.Position or nil return position end local primaryPart = v19.PrimaryPart local basePart = primaryPart or v19:FindFirstChildWhichIsA("BasePart", true) local position = basePart and basePart.Position or nil return position end autoGetRange = 18 autoGetDelay = 0.5 autoGetEnabled = false autoGetConnection = nil autoGetCharConn = nil autoGetBackpackConn = nil autoGetCharToolConn = nil autoGetDiedConn = nil autoGetLast = 0 autoGetIndex = 1 autoGetPlan = {raw = "", ordered = {}, free = {}} autoGetFreeLast = {} local v19 = localTeamName local str = v19 and localTeamName() or "" autoGetLastTeam = str autoGetTeamConn = nil autoGetRebuildDebounce = false local tbl16 = { { vector(857, 100, 2250), vector(803, 101, 2248), vector(803, 98, 2217), vector(865, 98, 2215), }, { vector(-951, 94, 2070), vector(-884, 94, 2071), vector(-886, 94, 2024), vector(-957, 94, 2027), }, } autoGetWeaponZones = tbl16 autoGetOutsideLastLog = 0 autoGetInsideWeaponZone = function(arg2) if typeof(arg2) ~= "Vector3" then return false end for i, v20 in ipairs(autoGetWeaponZones) do if fn16(arg2, v20) then return true end end return false end autoGetCanRunHere = function(arg2) local v20 = arg2 or autoGetRoot() local v21 = v20 if not v20 then return false end return autoGetInsideWeaponZone(v21.Position) end autoGetNormalizeAlias = function(arg2) local v20 = tostring local str2 = arg2 or "" local str3 = v20(str2):lower():gsub("^%s+", ""):gsub("%s+$", "") local v21 = ({ m4 = "m4a1", m4a1 = "m4a1", rem = "reming", remi = "reming", reming = "reming", shotgun = "reming", mp5 = "mp5", m9 = "m9", fal = "fal", ak = "ak-47", ak47 = "ak-47", ["ak-47"] = "ak-47", rev = "revolver", revolver = "revolver", m700 = "m700", sniper = "m700", clothes = "clothes", riot = "riot", mafia = "mafia", keycard = "keycard", key = "keycard", card = "keycard", autokey = "keycard", autokeycard = "keycard", aurakeycard = "keycard", })[str3] local v22 = v21 or str3 return v22 end autoGetRoot = function() return fn38() end autoGetResetProgress = function(arg2) autoGetIndex = 1 autoGetFreeLast = {} local v20 = ipairs local ordered = autoGetPlan.ordered local tbl17 = ordered or {} for k, v21 in v20(tbl17) do if v21 then v21.done = false end end autoGetAdvance() if arg2 then autoGetAddLine(".autoget", tostring(arg2), false) end end autoGetIsNear = function(arg2, arg3, arg4) local v20 = autoGetRoot() if not v20 then return false end local n5 = autoGetRange ^ 2 local v21 = autoGetItemPosition local v22 = v21 and autoGetItemPosition(arg4) if typeof(v22) == "Vector3" then local n6 = v20.Position - v22 if n6:Dot(n6) <= n5 then return true end end if typeof(arg3) == "table" then for i, v23 in ipairs(arg3) do if typeof(v23) == "Vector3" then local n6 = v20.Position - v23 if n6:Dot(n6) <= n5 then return true end end end end if typeof(arg2) ~= "Vector3" then return false end local n6 = v20.Position - arg2 local flag7 = n6:Dot(n6) <= n5 return flag7 end autoGetHasTool = function(arg2) if not arg2 or not arg2.data then return true end if arg2.data.wear then return false end local flag7 = fn40(arg2.data.name) ~= nil return flag7 end autoGetAdvance = function() while flag and autoGetIndex <= #autoGetPlan.ordered and autoGetHasTool(autoGetPlan.ordered[autoGetIndex]) do autoGetIndex = autoGetIndex + 1 end end autoGetCheckAdded = function(arg2) if not autoGetEnabled or not arg2 or not arg2:IsA("Tool") then return end local v20 = autoGetPlan.ordered[autoGetIndex] if v20 and v20.data and not v20.data.wear and arg2.Name == v20.data.name then autoGetIndex = autoGetIndex + 1 autoGetAddLine(".autoget", "tool confirmed: " .. tostring(arg2.Name), false) end end autoGetBindWatchers = function() if autoGetBackpackConn then pcall(function() autoGetBackpackConn:Disconnect() end) autoGetBackpackConn = nil end if autoGetCharToolConn then pcall(function() autoGetCharToolConn:Disconnect() end) autoGetCharToolConn = nil end if autoGetDiedConn then pcall(function() autoGetDiedConn:Disconnect() end) autoGetDiedConn = nil end local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") if backpack then local v20 = fn2(backpack.ChildAdded, autoGetCheckAdded) autoGetBackpackConn = v20 end local character_ = LocalPlayer.Character if character_ then local v20 = fn2(character_.ChildAdded, autoGetCheckAdded) autoGetCharToolConn = v20 local humanoid_ = character_:FindFirstChildOfClass("Humanoid") if humanoid_ then local v21 = fn2(humanoid_.Died, function() autoGetIndex = 1 autoGetFreeLast = {} local v21 = ipairs local ordered = autoGetPlan.ordered local tbl17 = ordered or {} for k, v22 in v21(tbl17) do if v22 then v22.done = false end end end) autoGetDiedConn = v21 end end end if not localTeamName then localTeamName = function() local team = LocalPlayer.Team local name = team and LocalPlayer.Team.Name or "" return name end end if not teamName then teamName = function() return localTeamName() end end if not isInmateTeam then isInmateTeam = function() local flag7 = localTeamName() == "Inmates" return flag7 end end if not isGuardTeam then isGuardTeam = function() local flag7 = localTeamName() == "Guards" return flag7 end end if not isCriminalTeam then isCriminalTeam = function() local flag7 = localTeamName() == "Criminals" return flag7 end end if not teamRestrictionMessage then teamRestrictionMessage = function(arg2, arg3) local v20 = tostring local str2 = arg2 or "" local str3 = v20(str2):lower() if str3 == "riot" and not isGuardTeam() then return "cant grab riot, police/guards only" end if (str3 == "mafia" or str3 == "fal") and not isCriminalTeam() then if not isGuardTeam() then return "cant grab mafia/FAL, need Criminals" end return "cant grab mafia/FAL as Guards" end if arg3 and arg3.team and localTeamName() ~= arg3.team then return "need team " .. tostring(arg3.team) end return nil end end normalizeAutoGetTeamToken = function(arg2) local v20 = tostring local str2 = arg2 or "" local str3 = v20(str2):lower() local v21 = localTeamName() if (v21 == "" or v21 == "Neutral") and str3 == "riot" then return nil end if str3 == "riot" and (v21 == "Inmates" or v21 == "Criminals") then if ownsGamePass and ownsGamePass(gamePassIds.sniper) then return "clothes" end if add_line then autoGetAddLine(".autoget", "riot not for team, no sniper pass for clothes", true) end return nil end if str3 ~= "mafia" and str3 ~= "fal" or v21 ~= "Guards" then return str3 end if ownsGamePass and ownsGamePass(gamePassIds.swat) then if add_line then autoGetAddLine(".autoget", str3 .. " not for Guards, switching to riot", true) end return "riot" end if ownsGamePass and ownsGamePass(gamePassIds.sniper) then if add_line then autoGetAddLine(".autoget", str3 .. " not for Guards, switching to clothes", true) end return "clothes" end if add_line then autoGetAddLine(".autoget", str3 .. " not for Guards, no swat/sniper pass", true) end return nil end autoGetBuild = function(arg2) local v20 = tostring local str2 = arg2 or "" local str3 = v20(str2):lower():gsub("^%s+", ""):gsub("%s+$", "") local tbl17 = {raw = str3, ordered = {}, free = {}, blocked = {}} local v21, v22, v23 = str3:gmatch("%S+") local v24 = v23 local v25 = v21 local v26 = v22 while true do local v27 = v25(v26, v24) if v27 == nil then break end v24 = v27 local v28 = normalizeAutoGetTeamToken(autoGetNormalizeAlias(v27)) if v28 and tbl15[v28] then for i, v29 in ipairs(tbl15[v28]) do local v30 = normalizeAutoGetTeamToken(autoGetNormalizeAlias(v29[1])) local v31 = v29[2] local v32 = v30 and tbl7[v30] if v32 then local tbl18 = { cmd = v30, data = v32, pos = nearestItemPos(v32, v31), positions = v32.positions, } local v33 = teamRestrictionMessage(v30, v32) if v32.passId and not ownsGamePass(v32.passId) then table.insert(tbl17.blocked, v30) elseif v33 then autoGetAddLine(".autoget", v33, true) elseif not v32.wear and not v32.free then table.insert(tbl17.ordered, tbl18) else table.insert(tbl17.free, tbl18) end end end v24 = v27 elseif v28 and tbl7[v28] then local v29 = tbl7[v28] local tbl18 = { cmd = v28, data = v29, pos = nearestItemPos(v29), positions = v29.positions, } local v30 = teamRestrictionMessage(v28, v29) if v29.passId and not ownsGamePass(v29.passId) then table.insert(tbl17.blocked, v28) elseif v30 then autoGetAddLine(".autoget", v30, true) elseif not v29.wear and not v29.free then table.insert(tbl17.ordered, tbl18) else table.insert(tbl17.free, tbl18) end end end return tbl17 end autoGetPlanIsEmpty = function(arg2) local flag7 if arg2 then flag7 = false else flag7 = true end if not flag7 then flag7 = #arg2.ordered == 0 and #arg2.free == 0 end return flag7 end autoGetFireRemote = function(arg2) if not arg2 or not arg2.data then return false end if not autoGetIsNear(arg2.pos, arg2.positions, arg2.data) then return false end return pcall(function() local path = arg2.data.path local name = arg2.data.name local flag7 = arg2.data.wear == true fn36(path, name, flag7, true) end) end autoGetFireFree = function() local now = os.clock() local v20 = ipairs local free = autoGetPlan.free local tbl17 = free or {} for k, v21 in v20(tbl17) do local str2 = tostring(v21.cmd) if (not autoGetFreeLast[str2] or autoGetDelay <= now - autoGetFreeLast[str2]) and autoGetFireRemote(v21) then autoGetFreeLast[str2] = now end end end autoGetFireOrdered = function() autoGetAdvance() local v20 = autoGetPlan.ordered[autoGetIndex] if not v20 or not v20.data then return end autoGetFireRemote(v20) end autoGetRebuildFromConfig = function() if autoGetRebuildDebounce then return end autoGetRebuildDebounce = true task.defer(function() task.wait(0.15) autoGetRebuildDebounce = false if typeof(cfg.auto_get) == "table" and #cfg.auto_get ~= 0 then local str2 = table.concat(cfg.auto_get, " ") local ok, result = pcall(function() return autoGetBuild(str2) end) local v20 = localTeamName local str3 = v20 and localTeamName() or "" autoGetLastTeam = str3 if ok and result and (not result.blocked or #result.blocked == 0) and not autoGetPlanIsEmpty(result) then autoGetPlan = result autoGetIndex = 1 autoGetFreeLast = {} autoGetResetProgress() autoGetStart() elseif ok and result and autoGetPlanIsEmpty(result) then autoGetPlan = {raw = str2, ordered = {}, free = {}} autoGetIndex = 1 autoGetFreeLast = {} elseif not ok and add_line then autoGetAddLine(".autoget", "autoget update err: " .. tostring(result), true) end return end autoGetPlan = {raw = "", ordered = {}, free = {}} autoGetIndex = 1 autoGetFreeLast = {} local v20 = localTeamName local str2 = v20 and localTeamName() or "" autoGetLastTeam = str2 end) end autoGetStep = function() if not autoGetEnabled then return end local now = os.clock() local n5 = now - autoGetLast local v20 = gunGetMethodFast() local n6 = v20 and 0.1 or autoGetDelay if n5 < n6 then return end autoGetLast = now local v21 = localTeamName local str2 = v21 and localTeamName() or "" if str2 == autoGetLastTeam then local v22 = autoGetRoot() if not v22 then return end if not autoGetCanRunHere(v22) then return end autoGetFireFree() autoGetFireOrdered() return end autoGetLastTeam = str2 autoGetRebuildFromConfig() end autoGetStop = function() autoGetEnabled = false if autoGetConnection then pcall(function() autoGetConnection:Disconnect() end) autoGetConnection = nil end if autoGetCharConn then pcall(function() autoGetCharConn:Disconnect() end) autoGetCharConn = nil end if autoGetBackpackConn then pcall(function() autoGetBackpackConn:Disconnect() end) autoGetBackpackConn = nil end if autoGetCharToolConn then pcall(function() autoGetCharToolConn:Disconnect() end) autoGetCharToolConn = nil end if autoGetDiedConn then pcall(function() autoGetDiedConn:Disconnect() end) autoGetDiedConn = nil end end autoGetStart = function() if autoGetConnection then return end autoGetEnabled = true autoGetLast = 0 autoGetFreeLast = {} autoGetBindWatchers() autoGetResetProgress() local v20 = fn2(RunService.Heartbeat, autoGetStep) autoGetConnection = v20 local v21 = fn2(LocalPlayer.CharacterAdded, function() task.wait(0.35) autoGetBindWatchers() autoGetResetProgress() end) autoGetCharConn = v21 end autoGetSetList = function(arg2) local v20 = tostring local str2 = arg2 or "" local str3 = v20(str2):lower():gsub("^%s+", ""):gsub("%s+$", "") if str3 == "" then autoGetAddLine(".autoget", "use .autoget combo1 clothes / .autoget off", true) red_anim() return false end if str3 ~= "off" and str3 ~= "clear" and str3 ~= "none" and str3 ~= "disable" then local v21 = autoGetBuild(str3) if v21.blocked and #v21.blocked > 0 then autoGetAddLine(".autoget", "need gamepass: " .. table.concat(v21.blocked, ", "), true) red_anim() return false end if not autoGetPlanIsEmpty(v21) then autoGetPlan = v21 autoGetIndex = 1 autoGetFreeLast = {} cfg.auto_get = {} for match in str3:gmatch("%S+") do table.insert(cfg.auto_get, match) end save_cfg() refresh_saved_commands() autoGetStop() autoGetStart() autoGetAddLine(".autoget " .. str3, "autoget saved + on", false) return true end autoGetAddLine(".autoget", "no valid items for team", true) red_anim() return false end autoGetStop() if autoKeycardStop then autoKeycardStop() end cfg.auto_keycard = false cfg.auto_get = {} autoGetPlan = {raw = "", ordered = {}, free = {}} autoGetIndex = 1 autoGetFreeLast = {} save_cfg() refresh_saved_commands() autoGetAddLine(".autoget off", "autoget off", false) return true end autoGetLoadFromConfig = function() if typeof(cfg.auto_get) == "table" and #cfg.auto_get > 0 then local str2 = table.concat(cfg.auto_get, " ") local ok, result = pcall(function() return autoGetBuild(str2) end) if ok and result and (not result.blocked or #result.blocked == 0) and not autoGetPlanIsEmpty(result) then autoGetPlan = result autoGetIndex = 1 autoGetStart() elseif not ok then cfg.auto_get = {} save_cfg() if add_line then autoGetAddLine(".autoget", "autoget cfg corrupt, reset", true) end end end end task.defer(autoGetLoadFromConfig) local v20 = featureGet local autoKeycard = v20 if v20 then local v21 = featureGet local flag7 = cfg.auto_keycard == true autoKeycard = v21("auto_keycard", flag7) end if not autoKeycard then autoKeycard = cfg.auto_keycard == true end autoKeycardEnabled = autoKeycard autoKeycardConnection = nil autoKeycardCharConn = nil autoKeycardTeamConn = nil autoKeycardLast = 0 autoKeycardDelay = 0.5 autoKeycardConfirmed = false autoKeycardPausedByTeam = false autoKeycardNotify = function(arg2) pcall(function() if add_secondary_line then add_secondary_line(".autokeycard", tostring(arg2)) elseif add_line then add_line(".autokeycard", tostring(arg2), false) end end) end autoKeycardTeamName = function() local team = LocalPlayer.Team local name = team and LocalPlayer.Team.Name or "Neutral" return name end autoKeycardCanRun = function() local v21 = autoKeycardTeamName() local flag7 = v21 == "Inmates" or v21 == "Criminals" return flag7 end autoKeycardHandleTeamChange = function() if not autoKeycardEnabled or featureGet and not featureGet("auto_keycard", autoKeycardEnabled) then return end local v21 = autoKeycardTeamName() if v21 == "Guards" then if not autoKeycardPausedByTeam then autoKeycardPausedByTeam = true end return end if (v21 == "Inmates" or v21 == "Criminals") and autoKeycardPausedByTeam then autoKeycardPausedByTeam = false local v22 = autoKeycardHasKey() autoKeycardConfirmed = v22 autoKeycardLast = 0 end end autoKeycardHasKey = function() local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") local character_ = LocalPlayer.Character local v21 = fn26(backpack) local v22 = v21 or fn26(character_) return v22 end autoKeycardConfirmIfHas = function() if not autoKeycardHasKey() then return false end if not autoKeycardConfirmed then autoKeycardConfirmed = true end return true end autoKeycardFire = function() if not autoKeycardEnabled or featureGet and not featureGet("auto_keycard", autoKeycardEnabled) then return end if autoKeycardConfirmed then return end autoKeycardHandleTeamChange() if not autoKeycardCanRun() or autoKeycardPausedByTeam then return end if autoKeycardConfirmIfHas() then return end local keyCard = Workspace:FindFirstChild("Key card") if not keyCard then return end local remotes = ReplicatedStorage:FindFirstChild("Remotes") local giverPressed = remotes and remotes:FindFirstChild("GiverPressed") if not giverPressed then return end pcall(function() giverPressed:FireServer(keyCard) end) task.delay(0.15, function() if autoKeycardEnabled and not autoKeycardConfirmed then autoKeycardConfirmIfHas() end end) end autoKeycardStep = function() if autoKeycardEnabled and (not featureGet or featureGet("auto_keycard", autoKeycardEnabled)) then autoKeycardHandleTeamChange() if autoKeycardConfirmed or autoKeycardPausedByTeam then return end local now = os.clock() if now - autoKeycardLast < autoKeycardDelay then return end autoKeycardLast = now autoKeycardFire() return end autoKeycardEnabled = false end autoKeycardStop = function(arg2) autoKeycardEnabled = false autoKeycardConfirmed = false if featureSet then featureSet("auto_keycard", false) end if autoKeycardConnection then pcall(function() autoKeycardConnection:Disconnect() end) autoKeycardConnection = nil end if autoKeycardCharConn then pcall(function() autoKeycardCharConn:Disconnect() end) autoKeycardCharConn = nil end if autoKeycardTeamConn then pcall(function() autoKeycardTeamConn:Disconnect() end) autoKeycardTeamConn = nil end autoKeycardPausedByTeam = false if not arg2 then autoKeycardNotify("autokeycard off") end end autoKeycardStart = function(arg2) autoKeycardEnabled = true if featureSet then featureSet("auto_keycard", true) end autoKeycardLast = 0 if autoKeycardHasKey() then autoKeycardConfirmed = true else autoKeycardConfirmed = false end if not autoKeycardConnection then local v21 = fn2(RunService.Heartbeat, autoKeycardStep) autoKeycardConnection = v21 end if not autoKeycardCharConn then local v21 = fn2(LocalPlayer.CharacterAdded, function() task.wait(0.35) if autoKeycardEnabled and not autoKeycardHasKey() then autoKeycardConfirmed = false autoKeycardLast = 0 autoKeycardHandleTeamChange() end end) autoKeycardCharConn = v21 end if not autoKeycardTeamConn then local v21 = fn2(LocalPlayer:GetPropertyChangedSignal("Team"), function() autoKeycardHandleTeamChange() end) autoKeycardTeamConn = v21 end autoKeycardHandleTeamChange() if not arg2 then autoKeycardNotify("autokeycard on") end end autoKeycardSet = function(arg2, arg3) local autoKeycard2 = arg2 == true autoKeycardEnabled = autoKeycard2 if featureSet then featureSet("auto_keycard", autoKeycard2) end cfg.auto_keycard = autoKeycard2 if autoKeycard2 then autoKeycardStart(arg3) else autoKeycardStop(arg3) cfg.auto_keycard = false end save_cfg() refresh_saved_commands() return true end if autoKeycardEnabled then task.defer(function() autoKeycardStart(true) end) end primaryWeaponsForCombos = { M4A1 = true, ["Remington 870"] = true, MP5 = true, M700 = true, ["AK-47"] = true, FAL = true, } hasPrimaryWeaponsForCombo = function() local v21 = fn25(LocalPlayer:FindFirstChildOfClass("Backpack"), primaryWeaponsForCombos) local v22 = v21 or fn25(LocalPlayer.Character, primaryWeaponsForCombos) return v22 end fn20 = function(arg2) if not fn32("." .. arg2) then return end local v21 = tbl15[arg2] if not v21 then return end if not hasPrimaryWeaponsForCombo() then fn33(true) local v22 = fn38() local position = v22 and fn38().Position v17 = position if not v17 then fn42("." .. arg2, nil) return end local v23 = commandProgressStart("." .. arg2, "combo") local tbl17 = {} local flag7 = false for i, v24 in ipairs(v21) do local v25 = v24[1] local v26 = v24[2] local v27 = tbl7[v25] if not v27 then if v23 and v23.stop then v23.stop() end add_line("." .. arg2, "err: weapon " .. v25 .. " not found", true) flag7 = true break end if v27.passId and not ownsGamePass(v27.passId) then if v23 and v23.stop then v23.stop() end add_line("." .. arg2, gamepassBlockedMessage(v27), true) red_anim() flag7 = true break end local v28 = nearestItemPos(v27, v26) local part = Instance.new("Part") part.Size = vector(4, 1, 4) part.Position = v28 - vector(0, 3.5, 0) part.Anchored = true part.Transparency = 0.5 part.Locked = true part.Parent = Workspace table.insert(tbl17, part) local flag8 = v27.wear == true fn44(v28, flag8) if not fn41() then local name = v27.name if v27.wear then fn36(v27.path, nil, true) task.wait(1) if not fn38() then if v23 and v23.stop then v23.stop() end fn42("." .. arg2, tbl17) return end elseif not fn40(name) then fn36(v27.path, name) local v29, v30 = fn43(name, 6) if not v29 then if v23 and v23.stop then v23.stop() end if v30 == "dead" then fn42("." .. arg2, tbl17) else add_line("." .. arg2, "couldnt confirm " .. name, true) for i2, v31 in ipairs(tbl17) do v31:Destroy() end fn34() red_anim() end return end end if not fn41() then continue end if v23 and v23.stop then v23.stop() end fn42("." .. arg2, tbl17) return end if v23 and v23.stop then v23.stop() end fn42("." .. arg2, tbl17) return end if v17 and fn38() then fn44(v17) end for i, v24 in ipairs(tbl17) do v24:Destroy() end fn34() if flag7 then if v23 and v23.stop then v23.stop() end else commandProgressFinish(v23, "." .. arg2, "combo") end return end add_line("." .. arg2, "too many primary guns", true) red_anim() end local v21 = spawnCommandQueue local v22 = v21 if not v21 then local tbl17 = {} v22 = tbl17 tbl17.items = {} tbl17.running = false tbl17.charConn = nil tbl17.token = 0 end spawnCommandQueue = v22 spawnQueueAlive = function() local character_ = LocalPlayer.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") local humanoidRootPart = character_ and character_:FindFirstChild("HumanoidRootPart") local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") if not character_ or not humanoid_ or not humanoidRootPart or not backpack then return false end if LocalPlayer.Character ~= character_ or not character_.Parent or humanoidRootPart.Parent ~= character_ then return false end if humanoid_.Health <= 0 then return false end if fn41 and fn41() then return false end return true end spawnQueueRun = function() if spawnCommandQueue.running then return end if not spawnQueueAlive() then return end spawnCommandQueue.running = true local v23 = spawnCommandQueue v23.token = v23.token + 1 local token = spawnCommandQueue.token task.spawn(function() while flag and spawnCommandQueue.running and spawnCommandQueue.token == token and spawnQueueAlive() do if gunRunning == true then task.wait(0.05) continue end local v24 = table.remove(spawnCommandQueue.items, 1) if not v24 then break end if add_line and not v24.silentQueue then local v25 = add_line local label_ = v24.label local str2 = label_ or ".queue" v25(str2, "spawned, executing", false) end local ok = pcall(function() v24.runner() end) if v24.arOp and autoRespawnManualFinish then local v25 = autoRespawnManualFinish local arOp = v24.arOp local arReason = v24.arReason local str2 = arReason or "queued command" v25(arOp, str2) end if not ok then if add_line then local v25 = add_line local label_ = v24.label local str2 = label_ or ".queue" v25(str2, "queue error", true) end if red_anim then red_anim() end end task.wait(0.05) end spawnCommandQueue.running = false end) end spawnQueueBind = function() if spawnCommandQueue.charConn then return end spawnCommandQueue.charConn = fn2(LocalPlayer.CharacterAdded, function(arg2) task.spawn(function() local humanoid_ = arg2:WaitForChild("Humanoid", 10) local humanoidRootPart = arg2:WaitForChild("HumanoidRootPart", 10) if humanoid_ and humanoidRootPart then local now = os.clock() repeat if spawnQueueAlive() then task.wait(0.08) if spawnQueueAlive() then spawnQueueRun() break end end task.wait(0.03) until os.clock() - now > 10 end end) end) end spawnQueueAdd = function(arg2, arg3, arg4) if spawnQueueAlive() then return false end if typeof(arg3) ~= "function" then return false end local v23 = tostring local str2 = arg2 or ".queue" local v24 = v23(str2) local str3 = v24:lower() local match = str3:match("^%.tp") local match2 = match or str3:match("^%.goto") or str3:match("^%.to") local v25 = nil local v26 = nil if not match2 and autoRespawnManualStart then local match3 = str3:match("^%.combo") local str4 = match3 and "combo" or "tool" v26 = str4 v25 = autoRespawnManualStart(v26) end local insert = table.insert local items = spawnCommandQueue.items local tbl17 = { label = v24, runner = arg3, arOp = v25, arReason = v26, } local silentQueue = match2 == true tbl17.silentQueue = silentQueue insert(items, tbl17) spawnQueueBind() task.spawn(function() local now = os.clock() while flag and os.clock() - now < 30 do if #spawnCommandQueue.items == 0 then return end if spawnQueueAlive() then task.wait(0.08) if spawnQueueAlive() then spawnQueueRun() return end end task.wait(0.03) end end) if add_line then local v27 = add_line local v28 = tostring local str4 = arg2 or ".queue" v27(v28(str4), "waiting to spawn", false) end if arg4 ~= "chat" and collapse then collapse() end return true end local v23 = boostFpsApplied local flag7 = v23 or false boostFpsApplied = flag7 local v24 = boostFpsConn local v25 = v24 or nil boostFpsConn = v25 boostFpsOptimize = function(arg2) if not arg2 then return end pcall(function() if arg2:IsA("BasePart") then arg2.CastShadow = false arg2.Material = Enum.Material.Plastic arg2.Reflectance = 0 pcall(function() arg2.BackSurface = Enum.SurfaceType.SmoothNoOutlines end) pcall(function() arg2.BottomSurface = Enum.SurfaceType.SmoothNoOutlines end) pcall(function() arg2.FrontSurface = Enum.SurfaceType.SmoothNoOutlines end) pcall(function() arg2.LeftSurface = Enum.SurfaceType.SmoothNoOutlines end) pcall(function() arg2.RightSurface = Enum.SurfaceType.SmoothNoOutlines end) pcall(function() arg2.TopSurface = Enum.SurfaceType.SmoothNoOutlines end) elseif not arg2:IsA("Decal") and not arg2:IsA("Texture") then if not arg2:IsA("ParticleEmitter") and not arg2:IsA("Trail") then if arg2:IsA("ForceField") or arg2:IsA("Sparkles") or arg2:IsA("Smoke") or arg2:IsA("Fire") or arg2:IsA("Beam") then RunService.Heartbeat:Wait() arg2:Destroy() end else arg2.Lifetime = NumberRange.new(0) pcall(function() arg2.Enabled = false end) end else arg2.Transparency = 1 pcall(function() arg2.Texture = "" end) end end) end applyBoostFPS = function() if not boostFpsApplied then boostFpsApplied = true add_line(".boostfps", "boostfps on, need rejoin", false) pcall(function() local terrain = Workspace:FindFirstChildWhichIsA("Terrain") if terrain then terrain.WaterWaveSize = 0 terrain.WaterWaveSpeed = 0 terrain.WaterReflectance = 0 terrain.WaterTransparency = 1 end end) pcall(function() Lighting.GlobalShadows = false Lighting.FogEnd = 9000000000 Lighting.FogStart = 9000000000 end) pcall(function() settings().Rendering.QualityLevel = 1 end) for i, descendant in ipairs(game:GetDescendants()) do boostFpsOptimize(descendant) end for i, descendant in ipairs(Lighting:GetDescendants()) do pcall(function() if descendant:IsA("PostEffect") then descendant.Enabled = false end end) end if boostFpsConn then pcall(function() boostFpsConn:Disconnect() end) boostFpsConn = nil end local v26 = fn2(Workspace.DescendantAdded, function(arg2) task.spawn(function() RunService.Heartbeat:Wait() boostFpsOptimize(arg2) end) end) boostFpsConn = v26 return true end add_line(".boostfps", "boostfps already applied, need rejoin", false) return true end local flag8 = false local v26 = nil local tbl17 = {} local raycastParams = RaycastParams.new() local overlapParams = OverlapParams.new() local tbl18 = {} local v27 = nil raycastParams.FilterType = Enum.RaycastFilterType.Exclude overlapParams.FilterType = Enum.RaycastFilterType.Exclude local function fn45() for k, v28 in pairs(tbl17) do if k and k.Parent then k.CanCollide = v28.collide k.Transparency = v28.transparency end tbl17[k] = nil end end local function fn46() if not flag8 then fn45() return end local character_ = LocalPlayer.Character if not character_ then fn45() return end local humanoid_ = character_:FindFirstChildOfClass("Humanoid") local humanoidRootPart = character_:FindFirstChild("HumanoidRootPart") if humanoid_ and humanoidRootPart then if not humanoid_.Sit and not humanoid_.SeatPart then if v27 ~= character_ then v27 = character_ local filterDescendantsInstances = {character_} raycastParams.FilterDescendantsInstances = filterDescendantsInstances overlapParams.FilterDescendantsInstances = filterDescendantsInstances end local position = humanoidRootPart.Position local v28 = vector(0, -10, 0) local hit = Workspace:Raycast(position, v28, raycastParams) local instance = hit and hit.Instance local partBoundsInRadius = Workspace:GetPartBoundsInRadius(humanoidRootPart.Position, 2, overlapParams) table.clear(tbl18) for i, partBoundsInRadiu in ipairs(partBoundsInRadius) do local model = partBoundsInRadiu:FindFirstAncestorOfClass("Model") local humanoid_2 = model and model:FindFirstChildOfClass("Humanoid") if partBoundsInRadiu:IsA("BasePart") and not partBoundsInRadiu:IsA("TrussPart") and not humanoid_2 then tbl18[partBoundsInRadiu] = true if partBoundsInRadiu ~= instance and not tbl17[partBoundsInRadiu] and partBoundsInRadiu.CanCollide then tbl17[partBoundsInRadiu] = { collide = partBoundsInRadiu.CanCollide, transparency = partBoundsInRadiu.Transparency, } partBoundsInRadiu.CanCollide = false partBoundsInRadiu.Transparency = 0.9 end end end for k, v29 in pairs(tbl17) do if not tbl18[k] or k == instance then if k.Parent then k.CanCollide = v29.collide k.Transparency = v29.transparency end tbl17[k] = nil end end return end fn45() return end fn45() end toggleNoclip = function(arg2, arg3) local noclip = arg2 == true if flag8 == noclip then return true end flag8 = noclip cfg.noclip = noclip featureSet("noclip", noclip) save_cfg() if noclip then if not v26 then v26 = fn2(RunService.Stepped, fn46) end else if v26 then v26:Disconnect() v26 = nil end fn45() end refresh_saved_commands() if not arg3 and add_line then local v28 = add_line local str2 = noclip and "on" or "off" local str3 = ".noclip " .. str2 local str4 = noclip and "on" or "off" v28(str3, "noclip " .. str4, false) end return true end local flag9 = false local v28 = nil toggleInfJump = function(arg2) local infJump = arg2 == true if flag9 == infJump then return true end flag9 = infJump cfg.inf_jump = infJump featureSet("inf_jump", infJump) save_cfg() if infJump then if not v28 then v28 = fn2(UserInputService.JumpRequest, function() if flag9 then local character_ = LocalPlayer.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") if humanoid_ then humanoid_:ChangeState("Jumping") end end end) end elseif v28 then v28:Disconnect() v28 = nil end refresh_saved_commands() local v29 = add_line local str2 = infJump and "on" or "off" local str3 = ".infjump " .. str2 local str4 = infJump and "on" or "off" v29(str3, "infinite jump " .. str4, false) return true end local tbl19 = {Active = false, Token = 0} local function fn47(enabled) local screen = LocalPlayer.PlayerGui:FindFirstChild("Screen") local carControlLoop = screen and screen:FindFirstChild("CarControlLoop") if carControlLoop then pcall(function() carControlLoop.Enabled = enabled end) end end local function fn48() tbl19.Token = tbl19.Token + 1 tbl19.Seat = nil fn47(true) end local function fn49(arg2, seat, arg3) local parent = seat.Parent local parent2 = parent and parent.Parent local mr = parent and parent:FindFirstChild("MR") local ml = parent and parent:FindFirstChild("ML") local lw = parent2 and parent2:FindFirstChild("LW") local rw = parent2 and parent2:FindFirstChild("RW") local motor = mr and mr:FindFirstChild("Motor") local motor2 = ml and ml:FindFirstChild("Motor") local rwd = parent2 and parent2:FindFirstChild("RWD") local vs = lw and lw:FindFirstChild("VS") local vs2 = rw and rw:FindFirstChild("VS") if parent2 and motor and motor2 and rwd and vs and vs2 then tbl19.Token = tbl19.Token + 1 local token = tbl19.Token tbl19.Seat = seat fn47(false) if tbl19.Car ~= parent2 then tbl19.Car = parent2 if not arg3 then add_secondary_line(".carspeed", "new car detected, speed successfully multiplied") end end task.spawn(function() pcall(function() while flag and tbl19.Active and tbl19.Token == token and arg2.Parent and arg2.SeatPart == seat and seat.Parent and parent2.Parent and motor.Parent and motor2.Parent and rwd.Parent and vs.Parent and vs2.Parent do local desiredAngle = -2000 / (seat.Velocity.Magnitude + 57.15) / 45 * seat.SteerFloat motor.DesiredAngle = desiredAngle motor2.DesiredAngle = desiredAngle local throttle = seat.Throttle if throttle == 0 then rwd.Throttle = 0 vs.Throttle = 0 vs2.Throttle = 0 rwd.Torque = 0 vs.Torque = 0 vs2.Torque = 0 seat.Throttle = 0 seat.Torque = 1 else local flag10 = throttle == -1 local throttle2 = flag10 and -1 or 1 local torque = flag10 and 22.5 or 15 local maxSpeed = flag10 and 60 or 135 if flag10 then seat.Throttle = 0 seat.Torque = 0 end rwd.Throttle = throttle2 vs.Throttle = throttle2 vs2.Throttle = throttle2 rwd.Torque = torque vs.Torque = torque vs2.Torque = torque rwd.MaxSpeed = maxSpeed vs.MaxSpeed = maxSpeed vs2.MaxSpeed = maxSpeed end RunService.Heartbeat:Wait() end end) pcall(function() rwd.Throttle = 0 vs.Throttle = 0 vs2.Throttle = 0 rwd.Torque = 0 vs.Torque = 0 vs2.Torque = 0 end) if tbl19.Token == token then tbl19.Seat = nil fn47(true) end end) return true end add_line(".carspeed", "failed to multiply car speed", true) red_anim() return false end local function fn50(arg2, arg3) local seatPart = arg2 and arg2.SeatPart if seatPart == tbl19.Seat then return true end fn48() if seatPart and seatPart:IsA("VehicleSeat") then return fn49(arg2, seatPart, arg3) end return true end local function fn51(arg2, arg3) fn3(tbl19.SeatConn) tbl19.SeatConn = nil fn48() if not arg2 then return end local token = tbl19.Token task.spawn(function() local humanoid_ = arg2:FindFirstChildOfClass("Humanoid") local humanoid_2 = humanoid_ or arg2:WaitForChild("Humanoid", 5) if not humanoid_2 or not tbl19.Active or tbl19.Token ~= token or LocalPlayer.Character ~= arg2 then return end tbl19.SeatConn = fn2(humanoid_2:GetPropertyChangedSignal("SeatPart"), function() fn50(humanoid_2, false) end) fn50(humanoid_2, arg3) end) end carspeed = function(arg2, arg3) local active = arg2 ~= false if tbl19.Active == active then local character_ = active and LocalPlayer.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") if humanoid_ then fn50(humanoid_, true) end else tbl19.Active = active if active then tbl19.Car = nil tbl19.CharacterConn = fn2(LocalPlayer.CharacterAdded, function(arg4) fn51(arg4, false) end) fn51(LocalPlayer.Character, true) else fn3(tbl19.SeatConn) fn3(tbl19.CharacterConn) tbl19.SeatConn = nil tbl19.CharacterConn = nil tbl19.Car = nil fn48() end end if cfg.carspeed ~= active or featureGet("carspeed", cfg.carspeed) ~= active then save_feature_cfg("carspeed", "carspeed", active) if refresh_saved_commands then task.defer(refresh_saved_commands) end end if not arg3 then local v29 = add_line local str2 = active and "on" or "off" v29(".carspeed", "carspeed " .. str2, false) end return true end fn4(function() tbl19.Active = false fn3(tbl19.SeatConn) fn3(tbl19.CharacterConn) fn48() end) task.defer(function() task.wait(0.35) local v29 = featureGet local flag10 = cfg.carspeed == true if v29("carspeed", flag10) then carspeed(true, true) end end) local v29 = featureGet local flag10 = cfg.tool_aura == true local toolAura = v29("tool_aura", flag10) toolAuraEnabled = toolAura toolAuraConnection = nil toolAuraCharConn = nil toolAuraTools = {} toolAuraAngles = {} toolAuraLastUpdate = 0 toolAuraAnimTime = 0 local v30 = featureGet local flag11 = cfg.backpack_head == true local backpackHead = v30("backpack_head", flag11) animBackpackHeadEnabled = backpackHead backpackHeadGlobalKey = "__Kera_BackpackHead_Enabled" pcall(function() if getgenv then getgenv()[backpackHeadGlobalKey] = animBackpackHeadEnabled end end) animBackpackHeadId = "rbxassetid://68339848" animBackpackHeadTrack = nil animBackpackHeadAnim = nil animBackpackHeadCharConn = nil animBackpackHeadDiedConn = nil local tbl20 = { orbit_speed = 30, offset_x = -1.6, offset_y = 0, offset_z = -1.5, update_interval = 0.1, grip_forward = vector(0, 0, -1), grip_up = vector(0, 1, 0), min_distance = 2, max_distance = 10, } toolAuraSettings = tbl20 toolAuraPriority = {"Riot Shield", "Keycard", "Chips", "Chocolate"} toolAuraIsPriority = function(arg2) for i, v31 in ipairs(toolAuraPriority) do if v31 == arg2 then return true end end return false end toolAuraGetDistance = function(arg2) local n5 = (math.sin(arg2) + 1) / 2 return toolAuraSettings.min_distance + (toolAuraSettings.max_distance - toolAuraSettings.min_distance) * n5 end toolAuraChar = function() return LocalPlayer.Character end toolAuraEquipTool = function(arg2) local v31 = toolAuraChar() if not v31 then return nil end local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") if not backpack then return nil end local v32 = backpack:FindFirstChild(arg2) local v33 = v32 or v31:FindFirstChild(arg2) if not v33 or not v33:IsA("Tool") then return nil end v33.Parent = v31 return v33 end toolAuraLoadTools = function() local v31 = toolAuraChar() local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") toolAuraTools = {} toolAuraAngles = {} if not v31 or not backpack then return end for i, v32 in ipairs(toolAuraPriority) do local v33 = toolAuraEquipTool(v32) if v33 then table.insert(toolAuraTools, v33) end end for i, child in ipairs(backpack:GetChildren()) do if child:IsA("Tool") and not toolAuraIsPriority(child.Name) then child.Parent = v31 end end for i, child in ipairs(v31:GetChildren()) do if child:IsA("Tool") and not toolAuraIsPriority(child.Name) then table.insert(toolAuraTools, child) end end for i = 1, #toolAuraTools do toolAuraAngles[i] = (i - 1) / math.max(#toolAuraTools, 1) * math.pi * 2 end end toolAuraStep = function() if not featureGet("tool_aura", toolAuraEnabled) then toolAuraEnabled = false return end local v31 = toolAuraChar() local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") local humanoidRootPart = v31 and v31:FindFirstChild("HumanoidRootPart") if not v31 or not backpack or not humanoidRootPart or #toolAuraTools == 0 then return end local now = tick() if now - toolAuraLastUpdate < toolAuraSettings.update_interval then return end toolAuraLastUpdate = now toolAuraAnimTime = toolAuraAnimTime + toolAuraSettings.update_interval local v32 = toolAuraGetDistance(toolAuraAnimTime) local n5 = math.rad(toolAuraSettings.orbit_speed) * toolAuraSettings.update_interval local v33 = vector(toolAuraSettings.offset_x, toolAuraSettings.offset_y, toolAuraSettings.offset_z) local gripForward = toolAuraSettings.grip_forward local gripUp = toolAuraSettings.grip_up local v34 = gripUp:Cross(gripForward) for i, v35 in ipairs(toolAuraTools) do if v35 and v35.Parent == v31 then local v36 = toolAuraAngles local v37 = toolAuraAngles[i] local n6 = v37 or 0 v36[i] = n6 + n5 local v38 = vector(math.cos(toolAuraAngles[i]) * v32, 0, math.sin(toolAuraAngles[i]) * v32) v35.Parent = backpack v35.GripPos = v33 + v38 v35.GripForward = gripForward v35.GripUp = gripUp v35.GripRight = v34 v35.Parent = v31 end end end toolAuraStop = function() featureSet("tool_aura", false) toolAuraEnabled = false if toolAuraConnection then pcall(function() toolAuraConnection:Disconnect() end) toolAuraConnection = nil end if toolAuraCharConn then pcall(function() toolAuraCharConn:Disconnect() end) toolAuraCharConn = nil end toolAuraTools = {} toolAuraAngles = {} end toolAuraStart = function() if toolAuraConnection then return end featureSet("tool_aura", true) toolAuraEnabled = true toolAuraLoadTools() local v31 = fn2(RunService.Heartbeat, toolAuraStep) toolAuraConnection = v31 local v32 = fn2(LocalPlayer.CharacterAdded, function() task.wait(1) if toolAuraEnabled then toolAuraLoadTools() end end) toolAuraCharConn = v32 end toolAuraSet = function(arg2) local flag12 = arg2 == true featureSet("tool_aura", flag12) if flag12 then toolAuraStart() else toolAuraStop() end toolAuraEnabled = flag12 cfg.tool_aura = toolAuraEnabled save_cfg() refresh_saved_commands() local v31 = add_line local v32 = toolAuraEnabled local str2 = v32 and "on" or "off" local str3 = ".toolaura " .. str2 local v33 = toolAuraEnabled local str4 = v33 and "Tool Aura on" or "Tool Aura off" v31(str3, str4, false) return true end animBackpackHeadStopAll = function(arg2) local character_ = arg2 or LocalPlayer.Character local v31 = character_ local humanoid_ = character_ and v31:FindFirstChildOfClass("Humanoid") if not humanoid_ then return end pcall(function() for i, v32 in ipairs(humanoid_:GetPlayingAnimationTracks()) do local animation = v32.Animation if animation and animation.AnimationId == animBackpackHeadId then v32:Stop(0) v32:Destroy() end end end) end animBackpackHeadStop = function() animBackpackHeadStopAll(LocalPlayer.Character) if animBackpackHeadDiedConn then pcall(function() animBackpackHeadDiedConn:Disconnect() end) animBackpackHeadDiedConn = nil end if animBackpackHeadTrack then pcall(function() animBackpackHeadTrack:Stop(0.1) animBackpackHeadTrack:Destroy() end) animBackpackHeadTrack = nil end if animBackpackHeadAnim then pcall(function() animBackpackHeadAnim:Destroy() end) animBackpackHeadAnim = nil end end animBackpackHeadPlay = function(arg2) if not animBackpackHeadEnabled or not featureGet("backpack_head", animBackpackHeadEnabled) then return end if getgenv and getgenv()[backpackHeadGlobalKey] ~= true then return end local character_ = arg2 or LocalPlayer.Character local v31 = character_ if not character_ then return end local v32 = character_ local v33 = character_.FindFirstChildOfClass(v32, "Humanoid") local humanoid_ = v33 or v31:WaitForChild("Humanoid", 5) if not humanoid_ or humanoid_.RigType ~= Enum.HumanoidRigType.R6 then return end animBackpackHeadStop() animBackpackHeadStopAll(v31) local animation = Instance.new("Animation") animation.AnimationId = animBackpackHeadId local v34 = humanoid_:LoadAnimation(animation) v34.Priority = Enum.AnimationPriority.Action v34:Play(0.1, 1, 1) v34:AdjustSpeed(0) v34:AdjustWeight(1) animBackpackHeadAnim = animation animBackpackHeadTrack = v34 local v35 = fn2(humanoid_.Died, function() animBackpackHeadStop() end) animBackpackHeadDiedConn = v35 end animBackpackHeadSet = function(arg2) local flag12 = arg2 == true animBackpackHeadEnabled = flag12 featureSet("backpack_head", animBackpackHeadEnabled) pcall(function() if getgenv then getgenv()[backpackHeadGlobalKey] = animBackpackHeadEnabled end end) if animBackpackHeadEnabled then animBackpackHeadPlay(LocalPlayer.Character) if not animBackpackHeadCharConn then local v31 = fn2(LocalPlayer.CharacterAdded, function(arg3) task.wait(0.35) animBackpackHeadPlay(arg3) end) animBackpackHeadCharConn = v31 end else featureSet("backpack_head", false) animBackpackHeadStop() animBackpackHeadStopAll(LocalPlayer.Character) if animBackpackHeadCharConn then pcall(function() animBackpackHeadCharConn:Disconnect() end) animBackpackHeadCharConn = nil end end cfg.backpack_head = animBackpackHeadEnabled save_cfg() refresh_saved_commands() local v31 = add_line local v32 = animBackpackHeadEnabled local str2 = v32 and "on" or "off" local str3 = ".backpackhead " .. str2 local v33 = animBackpackHeadEnabled local str4 = v33 and "Backpack Head on" or "Backpack Head off" v31(str3, str4, false) return true end if featureGet("tool_aura", toolAuraEnabled) then task.defer(function() toolAuraStart() end) end if featureGet("backpack_head", animBackpackHeadEnabled) then task.defer(function() animBackpackHeadSet(true) end) end local v31 = featureGet local flag12 = cfg.punch_aura == true local punchAura = v31("punch_aura", flag12) punchAuraEnabled = punchAura punchAuraConnection = nil punchAuraRange = 15 punchAuraRangeSquared = punchAuraRange * punchAuraRange punchAuraDelay = 0.2 punchAuraLast = 0 local meleeEvent = ReplicatedStorage:FindFirstChild("meleeEvent") punchAuraEvent = meleeEvent punchAuraStop = function() featureSet("punch_aura", false) punchAuraEnabled = false if punchAuraConnection then pcall(function() punchAuraConnection:Disconnect() end) punchAuraConnection = nil end end punchAuraStep = function() if punchAuraEnabled and featureGet("punch_aura", punchAuraEnabled) then local now = os.clock() if now - punchAuraLast < punchAuraDelay then return end punchAuraLast = now local v32 = punchAuraEvent local v33 = v32 if not v32 or not v32.Parent then local meleeEvent2 = ReplicatedStorage:FindFirstChild("meleeEvent") v33 = meleeEvent2 punchAuraEvent = meleeEvent2 end if not v33 then return end local character_ = LocalPlayer.Character local humanoidRootPart = character_ and character_:FindFirstChild("HumanoidRootPart") if not humanoidRootPart then return end for i, v34 in ipairs(tbl4) do local character_2 = v34 ~= LocalPlayer and v34.Character local humanoidRootPart2 = character_2 and character_2:FindFirstChild("HumanoidRootPart") if humanoidRootPart2 then local n5 = humanoidRootPart.Position - humanoidRootPart2.Position if n5:Dot(n5) <= punchAuraRangeSquared then v33:FireServer(v34, 1, 1) end end end return end punchAuraEnabled = false end punchAuraStart = function() if punchAuraConnection then return end featureSet("punch_aura", true) punchAuraEnabled = true local v32 = fn2(RunService.Heartbeat, punchAuraStep) punchAuraConnection = v32 end punchAuraSet = function(arg2) local flag13 = arg2 == true featureSet("punch_aura", flag13) if flag13 then punchAuraStart() else punchAuraStop() end punchAuraEnabled = flag13 cfg.punch_aura = punchAuraEnabled save_cfg() refresh_saved_commands() local v32 = add_line local v33 = punchAuraEnabled local str2 = v33 and "on" or "off" local str3 = ".punchaura " .. str2 local v34 = punchAuraEnabled local str4 = v34 and "Punch Aura on" or "Punch Aura off" v32(str3, str4, false) return true end if featureGet("punch_aura", punchAuraEnabled) then task.defer(function() punchAuraStart() end) end local v32 = featureGet local flag13 = cfg.player_list == true local playerList = v32("player_list", flag13) playerListEnabled = playerList playerListGui = nil playerListFrame = nil playerListScroll = nil playerListCons = {} playerListRows = {} playerListSelected = nil local v33 = playerListTargetUserId local v34 = v33 or nil playerListTargetUserId = v34 local v35 = playerListJoinOrder local tbl21 = v35 or {} playerListJoinOrder = tbl21 local v36 = playerListJoinCounter local n5 = v36 or 0 playerListJoinCounter = n5 playerListBuildQueue = {} playerListBuildQueued = {} playerListBuildRunning = false playerListBuildToken = 0 local v37 = playerListThumbCache local tbl22 = v37 or {} playerListThumbCache = tbl22 playerListThumbPending = {} playerListThumbQueue = {} playerListThumbWorkers = 0 playerListEnsureJoinOrder = function(arg2) if not arg2 or arg2 == LocalPlayer then return 0 end if not playerListJoinOrder[arg2] then playerListJoinCounter = playerListJoinCounter + 1 playerListJoinOrder[arg2] = playerListJoinCounter end return playerListJoinOrder[arg2] end for i, v38 in ipairs(tbl4) do if v38 ~= LocalPlayer then playerListEnsureJoinOrder(v38) end end playerListDisconnect = function() local v38 = ipairs local v39 = playerListCons local tbl23 = v39 or {} for k, v40 in v38(tbl23) do pcall(function() v40:Disconnect() end) end playerListCons = {} end playerListStartThumbWorkers = function() while flag and playerListThumbWorkers < 2 and #playerListThumbQueue > 0 do playerListThumbWorkers = playerListThumbWorkers + 1 task.spawn(function() while flag and #playerListThumbQueue > 0 do local v38 = table.remove(playerListThumbQueue, 1) local image = "rbxasset://textures/ui/GuiImagePlaceholder.png" local ok, result = pcall(Players.GetUserThumbnailAsync, Players, v38, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size100x100) if ok and type(result) == "string" and result ~= "" then image = result end if not flag then playerListThumbPending[v38] = nil break end playerListThumbCache[v38] = image local v39 = playerListThumbPending[v38] playerListThumbPending[v38] = nil local v40 = ipairs local tbl23 = v39 or {} for k, v41 in v40(tbl23) do if v41 and v41.Parent then v41.Image = image end end task.wait() end local n6 = math.max(0, playerListThumbWorkers - 1) playerListThumbWorkers = n6 if flag and #playerListThumbQueue > 0 then playerListStartThumbWorkers() end end) end end playerListLoadThumb = function(arg2, arg3) if not flag or not arg3 then return end local v38 = playerListThumbCache[arg2] local image = v38 or "rbxasset://textures/ui/GuiImagePlaceholder.png" arg3.Image = image if v38 then return end local v39 = playerListThumbPending[arg2] if not v39 then playerListThumbPending[arg2] = {arg3} playerListThumbQueue[#playerListThumbQueue + 1] = arg2 playerListStartThumbWorkers() return end v39[#v39 + 1] = arg3 end playerListAction = function(arg2, arg3) if arg3 and arg3.Parent then if arg2 == "killtp" then killTpPlayer(arg3) elseif arg2 == "fling" then if playerListIsFlinging(arg3) then unfling_target(arg3.Name) else fling_target(arg3.Name) end elseif arg2 == "kill" then real_kill(arg3.Name) elseif arg2 == "view" then if viewer and spectating_player == arg3 then unview() else view_any(arg3.Name) end task.defer(playerListUpdateViewButtons) elseif arg2 == "tp" then tp_any(arg3.Name) end return end add_line(".playerlist", "player not found", true) red_anim() end local tbl23 = { WithFling = udim2(0.2, -4, 1, 0), WithoutFling = udim2(0.25, -4, 1, 0), } local function fn52() local flag14 = cfg.botton_fling ~= false return flag14 end local function fn53() local v38 = fn52() local withFling = v38 and tbl23.WithFling or tbl23.WithoutFling return withFling end local function fn54(arg2, visible) arg2.Visible = visible arg2.Active = visible arg2.Selectable = visible end playerListIsFlinging = function(arg2) local flag14 = arg2 and flingState and flingState.CarInAttack and flingState.CarInAttack[arg2.Name] ~= nil return flag14 end playerListUpdateFlingButtons = function() local v38 = fn52() local v39 = fn53() local v40 = pairs local v41 = playerListRows local tbl24 = v41 or {} local v42, v43, v44 = v40(tbl24) local v45 = v44 local v46 = v42 local v47 = v43 while true do local v48, v49 = v46(v47, v45) if v48 == nil then break end if v49.FlingBtn and v49.FlingBtn.Parent then local v50 = playerListIsFlinging(v48) fn54(v49.FlingBtn, v38) v49.FlingBtn.Size = v39 local flingBtn = v49.FlingBtn local text = v50 and "Unfling" or "Fling" flingBtn.Text = text local flingBtn2 = v49.FlingBtn local v51 = v50 and color(115, 40, 55) or color(116, 66, 25) flingBtn2.BackgroundColor3 = v51 local flingBtn3 = v49.FlingBtn local v52 = v50 and color(255, 235, 240) or color(255, 240, 215) flingBtn3.TextColor3 = v52 end for i, v50 in ipairs({v49.KillTpBtn, v49.KillBtn, v49.ViewBtn, v49.TpBtn}) do if v50 and v50.Parent then v50.Size = v39 end end v45 = v48 end end local tbl24 = { BottonFling = { Key = "botton_fling", Command = ".bottonfling", Names = {"bottonfling", "bf"}, Usage = "use .bottonfling / .bf on/off", AfterSet = playerListUpdateFlingButtons, }, StopDeath = { Key = "fling_stop_death", Command = ".stopdeath", Names = {"stopdeath"}, Usage = "use .stopdeath on/off", }, NoLimit = { Key = "fling_no_limit", Command = ".nolimit", Names = {"nolimit"}, Usage = "use .nolimit on/off", }, Whip = { Key = "fling_whip", Command = ".whip", Names = {"whip"}, Usage = "use .whip on/off", }, Method = { Key = "fling_method", Command = ".flingmethod", Names = {"flingmethod", "fm"}, Usage = "use .flingmethod / .fm controlled/aggressive", Values = {controlled = true, aggressive = true}, Aliases = {agressive = "aggressive"}, }, Hit = { Key = "fling_hit", Command = ".flinghit", Names = {"flinghit"}, Usage = "use .flinghit legs/torso", Values = {legs = true, torso = true}, Aliases = {leg = "legs", feet = "legs"}, }, } local function fn55(arg2, arg3, arg4) cfg[arg2.Key] = arg3 save_cfg() if arg2.AfterSet then arg2.AfterSet() end refresh_saved_commands() if not arg4 then local values = arg2.Values local str2 = values and arg3 or (arg3 and "on" or "off") add_line(arg2.Command .. " " .. str2, "configuration with respect to fling", false) end return true end local function fn56(arg2) if arg2.Values then arg2.Setter = function(arg3, arg4) local v38 = tostring local str2 = arg3 or "" local match = v38(str2):lower():match("^%s*(.-)%s*$") local aliases = arg2.Aliases local v39 = aliases and arg2.Aliases[match] or match local v40 = v39 if arg2.Values[v40] then return fn55(arg2, v40, arg4) end add_line(arg2.Command, arg2.Usage, true) red_anim() return false end else arg2.Setter = function(arg3, arg4) local flag14 = arg3 == true return fn55(arg2, flag14, arg4) end end return arg2.Setter end local v38 = fn56(tbl24.BottonFling) bottonFlingSet = v38 local v39 = fn56(tbl24.StopDeath) flingStopDeathSet = v39 local v40 = fn56(tbl24.NoLimit) flingNoLimitSet = v40 local v41 = fn56(tbl24.Whip) flingWhipSet = v41 local v42 = fn56(tbl24.Method) flingMethodSet = v42 local v43 = fn56(tbl24.Hit) flingHitSet = v43 tbl8 = { tbl24.BottonFling, tbl24.StopDeath, tbl24.NoLimit, tbl24.Whip, tbl24.Method, tbl24.Hit, } playerListUpdateViewButtons = function() local v44 = pairs local v45 = playerListRows local tbl25 = v45 or {} for k, v46 in v44(tbl25) do if v46.ViewBtn and v46.ViewBtn.Parent then if viewer and spectating_player == k then v46.ViewBtn.Text = "Unview" v46.ViewBtn.BackgroundColor3 = color(24, 38, 54) v46.ViewBtn.TextColor3 = color(245, 249, 255) else v46.ViewBtn.Text = "View" v46.ViewBtn.BackgroundColor3 = color(17, 25, 38) v46.ViewBtn.TextColor3 = color(245, 249, 255) end end end end playerListClampPosition = function(arg2) if not playerListFrame then return arg2 end local v44 = viewport() local v45 = px_pos(arg2) local x = playerListFrame.AbsoluteSize.X local n6 = x local y = playerListFrame.AbsoluteSize.Y local n7 = y if x <= 0 then n6 = 360 end if y <= 0 then n7 = 405 end return udim2(0, math.clamp(v45.X, 8, math.max(8, v44.X - n6 - 8)), 0, math.clamp(v45.Y, 8, math.max(8, v44.Y - n7 - 8))) end playerListKeepInside = function() if not playerListFrame then return end make_tween(playerListFrame, 0.14, { Position = playerListClampPosition(playerListFrame.Position), }) end playerListTrackConnection = function(arg2, arg3, arg4) local v44 = fn2(arg3, arg4) if arg2 then arg2[#arg2 + 1] = v44 end return v44 end playerListMakeSmallButton = function(parent, text, arg2, arg3, arg4, backgroundColor3, arg5, arg6, arg7) local textButton = Instance.new("TextButton") textButton:SetAttribute("KX_NoTheme", true) textButton:SetAttribute("KX_ActionButton", true) local v44 = kxUseMobile() local n6 = v44 and 30 or 26 textButton.Size = udim2(0, arg4, 0, n6) textButton.Position = udim2(0, arg2, 0, arg3) textButton.BackgroundColor3 = backgroundColor3 textButton.BackgroundTransparency = 0 textButton.BorderSizePixel = 0 textButton.Text = text local v45 = arg5 or color(245, 248, 255) textButton.TextColor3 = v45 textButton.TextTransparency = 0 textButton.Font = Enum.Font.GothamBlack local v46 = kxUseMobile() local textSize = v46 and (text == "Teleport" and 11 or 12) or (text == "Teleport" and 10 or 11) textButton.TextSize = textSize kxTextClamp(textButton, 10, 13) textButton.TextWrapped = false textButton.TextTruncate = Enum.TextTruncate.AtEnd textButton.AutoButtonColor = false textButton.ZIndex = 60 textButton.Parent = parent fn5("UICorner", textButton, "CornerRadius", udim(0, 8)) local v47 = arg6 or arg5 or color(120, 180, 255) local UIStroke = fn5("UIStroke", textButton, "Color", v47, "Thickness", 1, "Transparency", 0.18, "ApplyStrokeMode", Enum.ApplyStrokeMode.Border) UIStroke:SetAttribute("KX_NoTheme", true) local uiGradient = Instance.new("UIGradient") uiGradient.Rotation = 90 uiGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, color(math.clamp(math.floor(backgroundColor3.R * 255) + 28, 0, 255), math.clamp(math.floor(backgroundColor3.G * 255) + 28, 0, 255), math.clamp(math.floor(backgroundColor3.B * 255) + 28, 0, 255))), ColorSequenceKeypoint.new(1, backgroundColor3), }) uiGradient.Parent = textButton uiGradient:SetAttribute("KX_NoTheme", true) playerListTrackConnection(arg7, textButton.MouseEnter, function() local v48 = make_tween local tbl25 = { BackgroundTransparency = 0, BackgroundColor3 = color(math.clamp(math.floor(backgroundColor3.R * 255) + 18, 0, 255), math.clamp(math.floor(backgroundColor3.G * 255) + 18, 0, 255), math.clamp(math.floor(backgroundColor3.B * 255) + 18, 0, 255)), } local v49 = arg5 or color(245, 248, 255) tbl25.TextColor3 = v49 v48(textButton, 0.08, tbl25) local v50 = make_tween local tbl26 = {} local v51 = arg6 or arg5 or color(120, 180, 255) tbl26.Color = v51 tbl26.Transparency = 0 tbl26.Thickness = 1.55 v50(UIStroke, 0.08, tbl26) end) playerListTrackConnection(arg7, textButton.MouseLeave, function() local v48 = make_tween local tbl25 = {BackgroundTransparency = 0, BackgroundColor3 = backgroundColor3} local v49 = arg5 or color(245, 248, 255) tbl25.TextColor3 = v49 v48(textButton, 0.08, tbl25) local v50 = make_tween local tbl26 = {} local v51 = arg6 or arg5 or color(120, 180, 255) tbl26.Color = v51 tbl26.Transparency = 0.18 tbl26.Thickness = 1 v50(UIStroke, 0.08, tbl26) end) return textButton end playerListClearRows = function() playerListBuildToken = playerListBuildToken + 1 playerListBuildQueue = {} playerListBuildQueued = {} playerListBuildRunning = false local v44 = pairs local v45 = playerListRows local tbl25 = v45 or {} for k in v44(tbl25) do playerListRemoveRow(k, false) end playerListRows = {} if not playerListScroll then return end for i, child in ipairs(playerListScroll:GetChildren()) do if child:IsA("Frame") then pcall(function() child:Destroy() end) end end end playerListSkidEntry = function(arg2) if not arg2 or arg2 == LocalPlayer then return nil end if skidGetEntryForPlayer then local ok, result = pcall(function() return skidGetEntryForPlayer(arg2) end) if ok and result then return result end end return nil end playerListCardState = function(arg2) local v44 = playerListEnsureJoinOrder(arg2) local flag14 = arg2 and playerListTargetUserId ~= nil and tonumber(arg2.UserId) == tonumber(playerListTargetUserId) local flag15 = playerListSkidEntry(arg2) ~= nil local n6 = flag14 and -200000 or (flag15 and -100000 or 100000) local n7 = n6 + v44 local v45 = playerShownName local v46 = v45 and playerShownName(arg2) if not v46 then local v47 = tostring local name = arg2 if arg2 then local displayName = arg2.DisplayName name = displayName or arg2.Name end if not name then name = "Unknown" end v46 = v47(name) end local str2 = tostring(v46):gsub("&", "&"):gsub("<", "<"):gsub(">", ">") local str3 = str2 if flag14 then str3 = str2 .. " (Target)" end if flag15 then str3 = str3 .. " (In skid list)" end return n7, str3, tc(arg2) end playerListRefreshOrders = function() local v44 = pairs local v45 = playerListRows local tbl25 = v45 or {} for k, v46 in v44(tbl25) do if v46 and v46.UpdateColors then v46.UpdateColors() end end end targetCommand = function(arg2) local v44 = tostring local str2 = arg2 or "" local str3 = v44(str2):gsub("^%s+", ""):gsub("%s+$", "") if str3 == "" then add_line(".target", "use .target name", true) red_anim() return false end if str3:lower() ~= "off" and str3:lower() ~= "clear" and str3:lower() ~= "none" then local v45 = find_player(str3) if v45 and v45 ~= LocalPlayer then playerListTargetUserId = v45.UserId playerListMakeRow(v45) playerListRefreshOrders() add_line(".target " .. v45.Name, "target added to pgui", false) return true end add_line(".target " .. str3, "player not found", true) red_anim() return false end playerListTargetUserId = nil playerListRefreshOrders() add_line(".target", "target cleared", false) return true end playerListInfoText = function(arg2) return "UserId: " .. tostring(arg2.UserId) .. "\nName: " .. tostring(arg2.Name) .. "\nDisplayName: " .. tostring(arg2.DisplayName) end playerListDisconnectRowData = function(arg2) if not arg2 then return end local v44 = ipairs local connections = arg2.Connections local tbl25 = connections or {} for k, v45 in v44(tbl25) do pcall(function() v45:Disconnect() end) end arg2.Connections = {} for i, v45 in ipairs({ "TeamConn", "CharConn", "ChildAddedConn", "ChildRemovedConn", }) do local v46 = arg2[v45] if v46 then pcall(function() v46:Disconnect() end) end arg2[v45] = nil end end playerListRemoveRow = function(arg2, arg3) if not arg2 then return end playerListBuildQueued[arg2] = nil local v44 = playerListRows local v45 = v44 and playerListRows[arg2] or nil if v45 then playerListDisconnectRowData(v45) if v45.Row then pcall(function() v45.Row:Destroy() end) end playerListRows[arg2] = nil end if playerListSelected == arg2 then playerListSelected = nil end if arg3 then playerListJoinOrder[arg2] = nil end end playerListMakeRow = function(arg2) if not playerListScroll or not arg2 or arg2 == LocalPlayer then return end if arg2.Parent and arg2.Parent == Players then local v44 = playerListRows[arg2] if v44 and v44.Row and v44.Row.Parent then if v44.UpdateColors then v44.UpdateColors() end return v44.Row end if v44 then playerListRemoveRow(arg2, false) end local v45 = pairs local v46 = playerListRows local tbl25 = v46 or {} for k in v45(tbl25) do if k ~= arg2 and tonumber(k.UserId) == tonumber(arg2.UserId) then playerListRemoveRow(k, true) end end local tbl26 = {} local v47 = kxThemeCurrent() local v48, v49, v50 = playerListCardState(arg2) local Frame8 = fn5("Frame", playerListScroll, "Name", "Player_" .. tostring(arg2.UserId), "LayoutOrder", v48, "Size", udim2(1, -8, 0, 50), "BackgroundColor3", v47.Panel, "BorderSizePixel", 0, "ClipsDescendants", true, "ZIndex", 30) fn5("UICorner", Frame8, "CornerRadius", udim(0, 9)) local UIStroke = fn5("UIStroke", Frame8, "Color", color(35, 43, 60), "Thickness", 1, "Transparency", 0.35) UIStroke:SetAttribute("KX_NoTheme", true) UIStroke:SetAttribute("KX_PlayerCardStroke", true) local Frame9 = fn5("Frame", Frame8, "Size", udim2(0, 3, 0, 34), "Position", udim2(0, 8, 0, 8), "BackgroundColor3", v50, "BorderSizePixel", 0, "ZIndex", 32) Frame9:SetAttribute("KX_NoTheme", true) fn5("UICorner", Frame9, "CornerRadius", udim(1, 0)) local ImageLabel2 = fn5("ImageLabel", Frame8, "Size", udim2(0, 34, 0, 34), "Position", udim2(0, 18, 0, 8), "BackgroundColor3", color(7, 9, 14), "BorderSizePixel", 0, "Image", "rbxasset://textures/ui/GuiImagePlaceholder.png", "ZIndex", 32) fn5("UICorner", ImageLabel2, "CornerRadius", udim(1, 0)) local UIStroke2 = fn5("UIStroke", ImageLabel2, "Color", v50, "Thickness", 1, "Transparency", 0.2) UIStroke2:SetAttribute("KX_NoTheme", true) local TextLabel = fn5("TextLabel", Frame8, "Size", udim2(1, -86, 0, 18), "Position", udim2(0, 60, 0, 7), "BackgroundTransparency", 1, "Text", v49, "TextColor3", v47.Text, "Font", Enum.Font.GothamBold, "TextSize", 12, "TextXAlignment", Enum.TextXAlignment.Left, "TextTruncate", Enum.TextTruncate.AtEnd, "RichText", true, "ZIndex", 32) fn5("TextLabel", Frame8, "Size", udim2(1, -86, 0, 16), "Position", udim2(0, 60, 0, 25), "BackgroundTransparency", 1, "Text", "@" .. arg2.Name, "TextColor3", color(135, 153, 185), "Font", Enum.Font.Code, "TextSize", 10, "TextXAlignment", Enum.TextXAlignment.Left, "TextTruncate", Enum.TextTruncate.AtEnd, "ZIndex", 32) local TextButton = fn5("TextButton", Frame8, "Size", udim2(1, 0, 0, 50), "BackgroundTransparency", 1, "Text", "", "ZIndex", 34) local tbl27 = { Row = Frame8, Stroke = UIStroke, Bar = Frame9, ImageStroke = UIStroke2, Title = TextLabel, Connections = tbl26, LastOrder = Frame8.LayoutOrder, LastTitle = TextLabel.Text, LastColor = Frame9.BackgroundColor3, } playerListRows[arg2] = tbl27 local function fn57(arg3, arg4) return playerListTrackConnection(tbl26, arg3, arg4) end local function updateColors(arg3) if not Frame8 or not Frame8.Parent then return end local v51, v52, v53 = playerListCardState(arg2) if arg3 or tbl27.LastOrder ~= v51 then tbl27.LastOrder = v51 Frame8.LayoutOrder = v51 end if arg3 or tbl27.LastTitle ~= v52 then tbl27.LastTitle = v52 TextLabel.Text = v52 end if tbl27.Info and tbl27.Info.Parent then local v54 = playerListInfoText(arg2) if arg3 or tbl27.LastInfo ~= v54 then tbl27.LastInfo = v54 tbl27.Info.Text = v54 end end if arg3 or tbl27.LastColor ~= v53 then tbl27.LastColor = v53 Frame9.BackgroundColor3 = v53 UIStroke2.Color = v53 end if playerListSelected == arg2 and UIStroke and UIStroke.Parent then UIStroke.Color = v53 UIStroke.Transparency = 0.12 end end tbl27.UpdateColors = updateColors local function ensureDetails() if tbl27.Details and tbl27.Details.Parent then return tbl27.Details end if not Frame8.Parent then return nil end local v51 = kxUseMobile() local n6 = v51 and 96 or 88 local Frame10 = fn5("Frame", Frame8, "Size", udim2(1, -18, 0, n6), "Position", udim2(0, 9, 0, 52), "BackgroundColor3", kxThemeCurrent().Bg, "BorderSizePixel", 0, "ClipsDescendants", true, "Visible", false, "ZIndex", 31) fn5("UICorner", Frame10, "CornerRadius", udim(0, 11)) fn5("UIStroke", Frame10, "Color", color(55, 68, 92), "Thickness", 1, "Transparency", 0.35) local TextLabel2 = fn5("TextLabel", Frame10, "Size", udim2(1, -16, 0, 38), "Position", udim2(0, 8, 0, 6), "BackgroundTransparency", 1, "Text", playerListInfoText(arg2), "TextColor3", color(185, 205, 235), "Font", Enum.Font.Code, "TextSize", 10, "TextXAlignment", Enum.TextXAlignment.Left, "TextYAlignment", Enum.TextYAlignment.Top, "ZIndex", 35) local n7 = v51 and 58 or 55 local n8 = v51 and 30 or 26 local Frame11 = fn5("Frame", Frame10, "Name", "PlayerActions", "Size", udim2(1, -12, 0, n8), "Position", udim2(0, 6, 0, n7), "BackgroundTransparency", 1, "BorderSizePixel", 0, "ClipsDescendants", false, "ZIndex", 59) fn5("UIListLayout", Frame11, "FillDirection", Enum.FillDirection.Horizontal, "HorizontalAlignment", Enum.HorizontalAlignment.Center, "VerticalAlignment", Enum.VerticalAlignment.Center, "SortOrder", Enum.SortOrder.LayoutOrder, "Padding", udim(0, 4)) local function fn58(name, arg3, layoutOrder, arg4, arg5, arg6) local v52 = playerListMakeSmallButton(Frame11, arg3, 0, 0, 1, arg4, arg5, arg6, tbl26) v52.Name = name v52.Size = fn53() v52.LayoutOrder = layoutOrder v52.Visible = true v52.Active = true v52.Selectable = true return v52 end local KillTPButton = fn58("KillTPButton", "Kill TP", 1, color(70, 42, 105), color(255, 238, 255), color(185, 115, 255)) local FlingButton = fn58("FlingButton", "Fling", 2, color(116, 66, 25), color(255, 240, 215), color(255, 174, 85)) local KillButton = fn58("KillButton", "Kill", 3, color(105, 34, 48), color(255, 238, 242), color(255, 105, 135)) local ViewButton = fn58("ViewButton", "View", 4, color(30, 78, 120), color(238, 250, 255), color(105, 200, 255)) local TPButton = fn58("TPButton", "TP", 5, color(30, 96, 62), color(235, 255, 242), color(95, 255, 180)) tbl27.Details = Frame10 tbl27.Actions = Frame11 tbl27.Info = TextLabel2 tbl27.KillTpBtn = KillTPButton tbl27.FlingBtn = FlingButton tbl27.KillBtn = KillButton tbl27.ViewBtn = ViewButton tbl27.TpBtn = TPButton tbl27.LastInfo = TextLabel2.Text fn54(FlingButton, fn52()) fn57(KillTPButton.Activated, function() playerListAction("killtp", arg2) end) fn57(FlingButton.Activated, function() playerListAction("fling", arg2) end) fn57(KillButton.Activated, function() playerListAction("kill", arg2) end) fn57(ViewButton.Activated, function() playerListAction("view", arg2) task.defer(playerListUpdateViewButtons) end) fn57(TPButton.Activated, function() playerListAction("tp", arg2) end) updateColors() playerListUpdateViewButtons() playerListUpdateFlingButtons() return Frame10 end tbl27.EnsureDetails = ensureDetails local flag14 = false fn57(TextButton.Activated, function() if flag14 then return end flag14 = true local flag15 = playerListSelected ~= arg2 local v51 = udim2(1, -8, 0, 50) local v52 = kxUseMobile() local n6 = v52 and 152 or 145 local v53 = udim2(1, -8, 0, n6) local details = tbl27.Details if flag15 then details = ensureDetails() if not details then flag14 = false return end end for k, v54 in pairs(playerListRows) do if v54 and v54.Row and v54.Row.Parent then if v54.Details then v54.Details.Visible = false end make_tween(v54.Row, 0.12, {Size = v51}) if v54.Stroke and v54.Stroke.Parent and k ~= arg2 then make_tween(v54.Stroke, 0.1, {Color = color(35, 43, 60), Transparency = 0.35}) end end end if flag15 then playerListSelected = arg2 details.Visible = true make_tween(Frame8, 0.14, {Size = v53}) make_tween(UIStroke, 0.12, {Color = tc(arg2), Transparency = 0.12}) else playerListSelected = nil if details then details.Visible = false end make_tween(Frame8, 0.12, {Size = v51}) make_tween(UIStroke, 0.12, {Color = color(35, 43, 60), Transparency = 0.35}) end task.delay(0.16, function() if Frame8 and Frame8.Parent then local visible = flag15 and playerListSelected == arg2 local v54 = visible and v53 or v51 Frame8.Size = v54 if details and details.Parent then details.Visible = visible end end flag14 = false end) end) fn57(Frame8.MouseEnter, function() local v51 = kxThemeCurrent() make_tween(Frame8, 0.06, {BackgroundColor3 = kxThemeLighten(v51.Panel, 0.1)}) end) fn57(Frame8.MouseLeave, function() local v51 = kxThemeCurrent() make_tween(Frame8, 0.06, {BackgroundColor3 = v51.Panel}) if playerListSelected ~= arg2 and UIStroke then make_tween(UIStroke, 0.06, {Color = color(35, 43, 60), Transparency = 0.35}) end end) local function fn58(arg3, arg4) fn3(tbl27.ChildAddedConn) fn3(tbl27.ChildRemovedConn) tbl27.ChildAddedConn = nil tbl27.ChildRemovedConn = nil if arg3 then local function fn59(arg5) if arg5:IsA("ForceField") or arg5.Name == "ForceField" then updateColors() end end tbl27.ChildAddedConn = fn2(arg3.ChildAdded, fn59) tbl27.ChildRemovedConn = fn2(arg3.ChildRemoved, fn59) end if arg4 then updateColors() end end fn57(arg2:GetPropertyChangedSignal("Team"), function() updateColors(true) end) tbl27.CharConn = fn2(arg2:GetPropertyChangedSignal("Character"), function() fn58(arg2.Character, true) end) fn58(arg2.Character) playerListLoadThumb(arg2.UserId, ImageLabel2) return Frame8 end playerListRemoveRow(arg2, true) end playerListStartBuildQueue = function() if not flag or playerListBuildRunning or not playerListEnabled or not playerListScroll then return end playerListBuildRunning = true local v44 = playerListBuildToken task.defer(function() while flag and v44 == playerListBuildToken and playerListEnabled and playerListScroll do local v45 = kxUseMobile() local n6 = v45 and 1 or 2 local n7 = 0 while n7 < n6 and #playerListBuildQueue > 0 do local v46 = table.remove(playerListBuildQueue, 1) local flag14 = v46 and playerListBuildQueued[v46] == true if v46 then playerListBuildQueued[v46] = nil end if flag14 and v46 ~= LocalPlayer and v46.Parent == Players then local v47 = playerListRows[v46] if v47 and v47.Row and v47.Row.Parent then if v47.UpdateColors then v47.UpdateColors() end else playerListMakeRow(v46) end end n7 = n7 + 1 end if #playerListBuildQueue == 0 then break end RunService.Heartbeat:Wait() end if not flag or v44 ~= playerListBuildToken then return end playerListBuildRunning = false if #playerListBuildQueue > 0 and playerListEnabled and playerListScroll then playerListStartBuildQueue() else playerListUpdateViewButtons() playerListUpdateFlingButtons() end end) end playerListQueueRow = function(arg2) if not playerListEnabled or not playerListScroll or not arg2 or arg2 == LocalPlayer or arg2.Parent ~= Players then return end local v44 = playerListRows[arg2] if v44 and v44.Row and v44.Row.Parent then if v44.UpdateColors then v44.UpdateColors() end return v44.Row end if playerListBuildQueued[arg2] then return end playerListBuildQueued[arg2] = true playerListBuildQueue[#playerListBuildQueue + 1] = arg2 playerListStartBuildQueue() end playerListRefresh = function() if not playerListEnabled or not playerListScroll then return end local tbl25 = {} for i, v44 in ipairs(tbl4) do if v44 ~= LocalPlayer and v44.Parent == Players then tbl25[v44] = true local v45 = playerListRows[v44] if v45 and v45.Row and v45.Row.Parent then if v45.UpdateColors then v45.UpdateColors() end else playerListQueueRow(v44) end end end local v44 = pairs local v45 = playerListRows local tbl26 = v45 or {} for k in v44(tbl26) do if not tbl25[k] or not k.Parent or k.Parent ~= Players then playerListRemoveRow(k, true) end end end playerListApplyResponsive = function() if not playerListFrame then return end kxApplyGuiSafeArea(playerListGui) if kxUseMobile() then local v44 = viewport() local v45 = kxUsePhoneGui() local n6 = v45 and math.clamp(math.floor(v44.X * 0.76), 238, 292) or math.clamp(math.floor(v44.X - 18), 300, 360) local n7 = v45 and math.clamp(math.floor(v44.Y * 0.58), 238, 330) or math.clamp(math.floor(v44.Y - 96), 320, 430) playerListFrame.Size = udim2(0, n6, 0, n7) if not playerListFrame:GetAttribute("KX_UserDragged") then playerListFrame.Position = playerListClampPosition(udim2(0.5, -math.floor(n6 / 2), 0.5, -math.floor(n7 / 2))) end if playerListScroll then local v46 = playerListScroll local n8 = v45 and -16 or -22 local n9 = v45 and -58 or -72 v46.Size = udim2(1, n8, 1, n9) local v47 = playerListScroll local n10 = v45 and 8 or 12 local n11 = v45 and 54 or 66 v47.Position = udim2(0, n10, 0, n11) local v48 = playerListScroll local scrollBarThickness = v45 and 4 or 6 v48.ScrollBarThickness = scrollBarThickness end if kxApplyPhoneScales then kxApplyPhoneScales() end else if not playerListFrame:GetAttribute("KX_UserDragged") then playerListFrame.Size = udim2(0, 360, 0, 405) end if playerListScroll then playerListScroll.Size = udim2(1, -24, 1, -72) playerListScroll.Position = udim2(0, 14, 0, 66) playerListScroll.ScrollBarThickness = 5 end end end playerListCreate = function() if playerListGui then return end local keraPlayerlist = PlayerGui:FindFirstChild("kera_playerlist") if keraPlayerlist then keraPlayerlist:Destroy() end playerListBuildToken = playerListBuildToken + 1 playerListBuildQueue = {} playerListBuildQueued = {} playerListBuildRunning = false for k in pairs(playerListJoinOrder) do if not k or k.Parent ~= Players then playerListJoinOrder[k] = nil end end local ScreenGui2 = fn5("ScreenGui", PlayerGui, "Name", "kera_playerlist", "ResetOnSpawn", false, "IgnoreGuiInset", false, "ZIndexBehavior", Enum.ZIndexBehavior.Sibling, "Enabled", false) playerListGui = ScreenGui2 kxApplyGuiSafeArea(playerListGui) local frame = Instance.new("Frame") playerListFrame = frame if kxUseMobile() then local v44 = viewport() local v45 = kxUsePhoneGui() local n6 = v45 and math.clamp(math.floor(v44.X * 0.76), 238, 292) or math.clamp(math.floor(v44.X - 18), 300, 360) local n7 = v45 and math.clamp(math.floor(v44.Y * 0.58), 238, 330) or math.clamp(math.floor(v44.Y - 108), 300, 405) playerListFrame.Size = udim2(0, n6, 0, n7) playerListFrame.Position = udim2(0.5, -math.floor(n6 / 2), 0.5, -math.floor(n7 / 2)) else playerListFrame.Size = udim2(0, 360, 0, 405) playerListFrame.Position = udim2(1, -382, 0.5, -202) end playerListFrame.BackgroundColor3 = color(9, 11, 16) playerListFrame.BorderSizePixel = 0 playerListFrame.ClipsDescendants = true playerListFrame.ZIndex = 25 playerListFrame.Parent = playerListGui if kxApplyPhoneScales then kxApplyPhoneScales() end local uiSizeConstraint = Instance.new("UISizeConstraint") if kxUsePhoneGui() then uiSizeConstraint.MinSize = vector2(238, 238) uiSizeConstraint.MaxSize = vector2(300, 340) else uiSizeConstraint.MinSize = vector2(300, 300) uiSizeConstraint.MaxSize = vector2(380, 430) end uiSizeConstraint.Parent = playerListFrame fn5("UICorner", playerListFrame, "CornerRadius", udim(0, 17)) fn5("UIStroke", playerListFrame, "Color", color(65, 78, 105), "Thickness", 1, "Transparency", 0.16) local uiGradient = Instance.new("UIGradient") uiGradient.Rotation = 90 uiGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, color(17, 20, 29)), ColorSequenceKeypoint.new(1, color(7, 9, 14)), }) uiGradient.Parent = playerListFrame fn5("TextLabel", playerListFrame, "Size", udim2(1, -50, 0, 42), "Position", udim2(0, 18, 0, 6), "BackgroundTransparency", 1, "Text", "playerlist", "TextColor3", color(236, 241, 255), "Font", Enum.Font.GothamBlack, "TextSize", 16, "TextXAlignment", Enum.TextXAlignment.Left, "ZIndex", 30) fn5("TextLabel", playerListFrame, "Size", udim2(1, -50, 0, 20), "Position", udim2(0, 18, 0, 34), "BackgroundTransparency", 1, "Text", "select a player", "TextColor3", color(135, 153, 185), "Font", Enum.Font.Code, "TextSize", 10, "TextXAlignment", Enum.TextXAlignment.Left, "ZIndex", 30) local TextButton = fn5("TextButton", playerListFrame, "Size", udim2(0, 32, 0, 32), "Position", udim2(1, -42, 0, 12), "BackgroundColor3", color(18, 20, 28), "BorderSizePixel", 0, "Text", "x", "TextColor3", color(255, 120, 130), "Font", Enum.Font.GothamBold, "TextSize", 14, "AutoButtonColor", false, "ZIndex", 31) fn5("UICorner", TextButton, "CornerRadius", udim(0, 8)) fn2(TextButton.MouseButton1Click, function() playerListSet(false) end) local TextButton2 = fn5("TextButton", playerListFrame, "Name", "DragBar", "Size", udim2(1, -58, 0, 58), "Position", udim2(0, 0, 0, 0), "BackgroundTransparency", 1, "Text", "", "AutoButtonColor", false, "ZIndex", 29) local flag14 = false local position = nil local position2 = nil local function fn57(arg2) if not flag14 or not playerListFrame then return end local n6 = arg2.Position - position local v44 = udim2(position2.X.Scale, position2.X.Offset + n6.X, position2.Y.Scale, position2.Y.Offset + n6.Y) playerListFrame.Position = playerListClampPosition(v44) end table.insert(playerListCons, fn2(TextButton2.InputBegan, function(arg2) if arg2.UserInputType == Enum.UserInputType.MouseButton1 or arg2.UserInputType == Enum.UserInputType.Touch then flag14 = true position = arg2.Position position2 = playerListFrame.Position playerListFrame:SetAttribute("KX_UserDragged", true) end end)) table.insert(playerListCons, fn2(UserInputService.InputChanged, function(arg2) if flag14 and (arg2.UserInputType == Enum.UserInputType.MouseMovement or arg2.UserInputType == Enum.UserInputType.Touch) then fn57(arg2) end end)) table.insert(playerListCons, fn2(UserInputService.InputEnded, function(arg2) if (arg2.UserInputType == Enum.UserInputType.MouseButton1 or arg2.UserInputType == Enum.UserInputType.Touch) and flag14 then flag14 = false playerListKeepInside() end end)) fn5("Frame", playerListFrame, "Size", udim2(1, -36, 0, 1), "Position", udim2(0, 18, 0, 58), "BackgroundColor3", color(38, 48, 68), "BackgroundTransparency", 0.28, "BorderSizePixel", 0, "ZIndex", 30) local ScrollingFrame = fn5("ScrollingFrame", playerListFrame, "Size", udim2(1, -24, 1, -72), "Position", udim2(0, 14, 0, 66), "BackgroundTransparency", 1, "BorderSizePixel", 0, "ScrollBarThickness", 5, "ScrollBarImageColor3", color(92, 170, 255), "ScrollBarImageTransparency", 0.18, "CanvasSize", udim2(0, 0, 0, 0), "AutomaticCanvasSize", Enum.AutomaticSize.Y, "ScrollingDirection", Enum.ScrollingDirection.Y, "ZIndex", 29) playerListScroll = ScrollingFrame fn5("UIListLayout", playerListScroll, "Padding", udim(0, 7), "SortOrder", Enum.SortOrder.LayoutOrder) fn5("UIPadding", playerListScroll, "PaddingTop", udim(0, 2), "PaddingBottom", udim(0, 8), "PaddingLeft", udim(0, 2), "PaddingRight", udim(0, 7)) table.insert(playerListCons, fn2(Players.PlayerAdded, function(arg2) playerListEnsureJoinOrder(arg2) task.delay(0.12, function() if playerListEnabled and playerListScroll and arg2 ~= LocalPlayer and arg2.Parent == Players then playerListQueueRow(arg2) end end) end)) table.insert(playerListCons, fn2(Players.PlayerRemoving, function(arg2) playerListRemoveRow(arg2, true) end)) playerListApplyResponsive() if kxThemeForceImportant and kxThemeCurrent then kxThemeForceImportant(kxThemeCurrent()) end playerListGui.Enabled = true playerListFrame.BackgroundTransparency = 1 if kxUseMobile() then local v44 = playerListClampPosition(playerListFrame.Position) playerListFrame.Position = udim2(v44.X.Scale, v44.X.Offset, 1, 20) make_tween(playerListFrame, 0.25, {Position = v44, BackgroundTransparency = 0}) else playerListFrame.Position = udim2(1, -360, 0.5, -202) make_tween(playerListFrame, 0.25, { Position = playerListClampPosition(udim2(1, -382, 0.5, -202)), BackgroundTransparency = 0, }) end task.delay(0.28, playerListKeepInside) playerListRefresh() end playerListDestroy = function() playerListBuildToken = playerListBuildToken + 1 playerListBuildQueue = {} playerListBuildQueued = {} playerListBuildRunning = false playerListDisconnect() local v44 = pairs local v45 = playerListRows local tbl25 = v45 or {} for k, v46 in v44(tbl25) do playerListDisconnectRowData(v46) end playerListRows = {} playerListSelected = nil if playerListGui then local v46 = playerListGui local v47 = playerListFrame playerListGui = nil playerListFrame = nil playerListScroll = nil if v47 and v47.Parent then local v48 = udim2(1, 20, v47.Position.Y.Scale, v47.Position.Y.Offset) make_tween(v47, 0.22, {Position = v48, BackgroundTransparency = 1}) task.delay(0.24, function() pcall(function() v46:Destroy() end) end) else pcall(function() v46:Destroy() end) end end end playerListSet = function(arg2) local flag14 = arg2 == true playerListEnabled = flag14 featureSet("player_list", playerListEnabled) cfg.player_list = playerListEnabled save_cfg() refresh_saved_commands() if playerListEnabled then playerListCreate() add_line(".playerlist on", "playerlist on", false) else playerListDestroy() add_line(".playerlist off", "playerlist off", false) end return true end if featureGet("player_list", playerListEnabled) then task.defer(function() playerListCreate() end) end real_kill_silent_fix_marker = function() end smart_target_arg = function(arg2) local v44 = tostring local str2 = arg2 or "" local str3 = v44(str2):gsub("^%s+", ""):gsub("%s+$", "") if str3 ~= "" then return str3 end if viewer and spectating_player and spectating_player.Parent == Players then return spectating_player.Name end return nil end smart_target_error = function(arg2) add_line(arg2, "no target: use " .. arg2 .. " player or use .view player first", true) red_anim() end local v44 = Random.new() local obj2 = setmetatable({}, {__mode = "k"}) local raycastParams2 = RaycastParams.new() local v45 = nil local v46 = nil local v47 = nil local v48 = nil local str2 = kxUseMobile() and "Position" or "Mouse" local n6 = 0 local tbl25 = { target = nil, original = nil, replacement = nil, installed = false, unsupported = false, retryToken = 0, } raycastParams2.FilterType = Enum.RaycastFilterType.Exclude raycastParams2.IgnoreWater = true local function fn57(arg2) if arg2 then pcall(function() arg2:Remove() end) end end; (function() if _G.AimRenderLoop then pcall(function() _G.AimRenderLoop:Disconnect() end) end fn57(_G.AimCircleFOV) fn57(_G.AimFill) fn57(_G.AimBorder) fn57(_G.AimText) _G.AimRenderLoop = nil _G.AimCircleFOV = nil _G.AimFill = nil _G.AimBorder = nil _G.AimText = nil end)() local function fn58(arg2) local now = os.clock() if arg2 or now - n6 >= 0.5 then local v49 = kxUseMobile() local str3 = v49 and "Position" or "Mouse" str2 = str3 n6 = now end return str2 end local function fn59(arg2) local character_ = arg2 and arg2.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") local flag14 = humanoid_ and humanoid_.Health > 0 return character_, flag14 end local function fn60(arg2) local now = os.clock() local v49 = obj2[arg2] local v50 = v49 if not v49 or now - v49.checkedAt >= 2 then local tbl26 = {} for i, child in ipairs(arg2:GetChildren()) do if child:IsA("BasePart") then tbl26[#tbl26 + 1] = child end end local tbl27 = {parts = tbl26, checkedAt = now} v50 = tbl27 obj2[arg2] = tbl27 end return v50.parts end local function fn61(arg2) local v49 = fn60(arg2) local n7 = #v49 if n7 == 0 then return nil end local v50 = v44:NextInteger(1, n7) for i = 0, n7 - 1 do local v51 = v49[(v50 + i - 1) % n7 + 1] if v51 and v51.Parent == arg2 and v51.Transparency < 1 then return v51 end end return nil end local function fn62(arg2) local silentHitPart = cfg.silent_hit_part if silentHitPart == "all" or silentHitPart == "proximity" then return fn61(arg2) end local humanoidRootPart = nil if silentHitPart == "hrp" then humanoidRootPart = arg2:FindFirstChild("HumanoidRootPart") elseif silentHitPart == "head" then humanoidRootPart = arg2:FindFirstChild("Head") elseif silentHitPart == "torso" then local torso = arg2:FindFirstChild("Torso") local upperTorso = torso or arg2:FindFirstChild("UpperTorso") or arg2:FindFirstChild("LowerTorso") humanoidRootPart = upperTorso end local isBasePart = humanoidRootPart and humanoidRootPart:IsA("BasePart") and humanoidRootPart or nil return isBasePart end local function fn63(arg2) local character_ = LocalPlayer.Character if v45 == character_ and v46 == arg2 then return end v45 = character_ v46 = arg2 local filterDescendantsInstances = {} if character_ then filterDescendantsInstances[#filterDescendantsInstances + 1] = character_ end if arg2 then filterDescendantsInstances[#filterDescendantsInstances + 1] = arg2 end raycastParams2.FilterDescendantsInstances = filterDescendantsInstances end local function fn64(arg2, arg3) if not arg2 or not arg2.Parent or not arg3 or not LocalPlayer.Character then return false end fn63(arg3) local position = arg3.CFrame.Position local hit = Workspace:Raycast(position, arg2.Position - position, raycastParams2) local flag14 = hit == nil if not flag14 then local instance = hit.Instance flag14 = instance and hit.Instance:IsDescendantOf(arg2.Parent) end return flag14 end local function fn65(arg2, arg3, arg4, arg5) local v49 = nil local v50 = arg5 for i, v51 in ipairs(fn60(arg2)) do if v51 and v51.Parent == arg2 and v51.Transparency < 1 then local v52, v53 = arg3:WorldToScreenPoint(v51.Position) if v53 then local magnitude = (vector2(v52.X, v52.Y) - arg4).Magnitude if magnitude < v50 and (not cfg.silent_visibility or fn64(v51, arg3)) then v49 = v51 v50 = magnitude end end end end return v49, v50 end local function fn66(arg2) local n7 = v44:NextNumber() * 100 if cfg.silent_hit_chance < n7 then return nil end local currentCamera = Workspace.CurrentCamera if not currentCamera then return nil end local v49 = fn58() local mouseLocation = v49 == "Mouse" and UserInputService:GetMouseLocation() or nil local flag14 = v49 == "Mouse" and cfg.silent_hit_part == "proximity" local v50 = nil local huge = math.huge local silentFovSize = cfg.silent_fov_size for i, v51 in ipairs(tbl4) do if v51 ~= LocalPlayer and (not cfg.silent_team_check or v51.Team ~= LocalPlayer.Team) then local v52, v53 = fn59(v51) if v53 and (not cfg.silent_forcefield_check or not charHasForceField(v52)) then local v54, huge2 if flag14 then local v55, v56 = fn65(v52, currentCamera, mouseLocation, math.min(silentFovSize, huge)) v54 = v55 huge2 = v56 else v54 = fn62(v52) huge2 = math.huge end if v54 then if not flag14 and v49 == "Mouse" then local v55, v56 = currentCamera:WorldToScreenPoint(v54.Position) if v56 then huge2 = (vector2(v55.X, v55.Y) - mouseLocation).Magnitude end elseif not flag14 then huge2 = (v54.Position - arg2).Magnitude end if huge2 < huge and huge2 <= silentFovSize and (not cfg.silent_wall_check or flag14 and cfg.silent_visibility or fn64(v54, currentCamera)) then huge = huge2 v50 = v54 end end end end end return v50 end local function fn67() if v48 then pcall(function() v48:Disconnect() end) v48 = nil end fn57(v47) if _G.AimCircleFOV == v47 then _G.AimCircleFOV = nil end v47 = nil _G.AimRenderLoop = nil end local function fn68() if v48 and v48.Connected then return end if not cfg.silent_fov_visible then return end if not Drawing or typeof(Drawing.new) ~= "function" then return end local ok, aimCircleFOV = pcall(Drawing.new, "Circle") if not ok or not aimCircleFOV then return end v47 = aimCircleFOV aimCircleFOV.NumSides = 100 aimCircleFOV.Thickness = 1 aimCircleFOV.Color = color(74, 155, 255) aimCircleFOV.Transparency = 0.5 aimCircleFOV.Filled = false aimCircleFOV.Visible = false _G.AimCircleFOV = aimCircleFOV v48 = fn2(RunService.RenderStepped, function() if not cfg.silent_aim or not cfg.silent_fov_visible or not v47 then return end local currentCamera = Workspace.CurrentCamera if not currentCamera then v47.Visible = false return end if fn58() == "Mouse" then local mouseLocation = UserInputService:GetMouseLocation() v47.Position = mouseLocation else local viewportSize = currentCamera.ViewportSize local v49 = vector2(viewportSize.X * 0.5, viewportSize.Y * 0.5) v47.Position = v49 end v47.Radius = cfg.silent_fov_size v47.Visible = true end) _G.AimRenderLoop = v48 end local function fn69() if typeof(getgc) == "function" then local v49 = debug local getinfo_ = v49 and debug.getinfo or getinfo if typeof(getinfo_) == "function" then local ok, result = pcall(getgc, true) if not ok or typeof(result) ~= "table" then return nil end for i, v50 in ipairs(result) do if typeof(v50) == "function" then local ok2, result2 = pcall(getinfo_, v50) if ok2 and result2 and result2.name == "castRay" then return v50 end end end return nil end tbl25.unsupported = true return nil end tbl25.unsupported = true return nil end local function fn70() if tbl25.installed and tbl25.original then return true end if typeof(hookfunction) == "function" then local v49 = fn69() if not v49 then return false end local function fn71(...) local v50 = table.pack(...) local original = tbl25.original if not original then return end if flag and cfg.silent_aim and typeof(v50[1]) == "Vector3" and typeof(v50[2]) == "Vector3" then local v51 = fn66(v50[1]) if v51 and v51.Parent then v50[2] = v51.Position end end return original(table.unpack(v50, 1, v50.n)) end local v50 = fn71 if typeof(newcclosure) == "function" then local ok, result = pcall(newcclosure, fn71) if ok and typeof(result) == "function" then v50 = result end end local ok, original = pcall(hookfunction, v49, v50) if not ok or typeof(original) ~= "function" then return false end tbl25.target = v49 tbl25.original = original tbl25.replacement = v50 tbl25.installed = true tbl25.unsupported = false return true end tbl25.unsupported = true return false end local function fn71() tbl25.retryToken = tbl25.retryToken + 1 local retryToken = tbl25.retryToken if tbl25.unsupported then return end task.spawn(function() local n7 = 0.5 while flag and cfg.silent_aim and not tbl25.installed and retryToken == tbl25.retryToken do task.wait(n7) if not flag or not cfg.silent_aim or retryToken ~= tbl25.retryToken then return end if fn70() or tbl25.unsupported then return end n7 = math.min(n7 * 1.75, 5) end end) end silentAimSet = function(arg2, arg3) local silentAim = arg2 == true cfg.silent_aim = silentAim featureSet("silent_aim", silentAim) save_cfg() if silentAim then if cfg.silent_fov_visible then fn68() end if not fn70() then fn71() end else tbl25.retryToken = tbl25.retryToken + 1 fn67() end refresh_saved_commands() if not arg3 then local v49 = add_line local str3 = silentAim and "on" or "off" v49(".silentaim " .. str3, nil, false) end return true end silentAimSetHitChance = function(arg2) if not cfg.silent_aim then add_line(".hitchance", "first use .silentaim on", true) red_anim() return false end local v49 = tonumber local v50 = tostring local str3 = arg2 or "" local v51 = v49(v50(str3):match("^%s*(.-)%s*$")) if v51 and v51 >= 0 and v51 <= 100 then cfg.silent_hit_chance = math.floor(v51 + 0.5) save_cfg() refresh_saved_commands() add_line(".hitchance " .. tostring(cfg.silent_hit_chance) .. " saved", nil, false) return true end add_line(".hitchance", "use .hitchance 0-100", true) red_anim() return false end silentAimSetFovSize = function(arg2) if not cfg.silent_aim then add_line(".fovsize", "first use .silentaim on", true) red_anim() return false end local v49 = tonumber local v50 = tostring local str3 = arg2 or "" local v51 = v49(v50(str3):match("^%s*(.-)%s*$")) if v51 and v51 >= 10 and v51 <= 500 then cfg.silent_fov_size = math.floor(v51 + 0.5) save_cfg() refresh_saved_commands() add_line(".fovsize " .. tostring(cfg.silent_fov_size) .. " saved", nil, false) return true end add_line(".fovsize", "use .fovsize 10-500", true) red_anim() return false end local tbl26 = { hrp = true, torso = true, head = true, all = true, proximity = true, } silentAimSetHitPart = function(arg2) if not cfg.silent_aim then add_line(".hitpart", "first use .silentaim on", true) red_anim() return false end local v49 = tostring local str3 = arg2 or "" local match = v49(str3):lower():match("^%s*(.-)%s*$") if not tbl26[match] then add_line(".hitpart", "use .hitpart (hrp, torso, head, all, proximity)", true) red_anim() return false end if match == "proximity" and kxUseMobile() then add_line(".hitpart proximity", "PC only", true) red_anim() return false end cfg.silent_hit_part = match save_cfg() refresh_saved_commands() add_line(".hitpart " .. match, nil, false) return true end silentAimSetFovVisible = function(arg2) if not cfg.silent_aim then add_line(".fov", "first use .silentaim on", true) red_anim() return false end local v49 = cfg local silentFovVisible = arg2 == true v49.silent_fov_visible = silentFovVisible save_cfg() if cfg.silent_fov_visible then fn68() else fn67() end refresh_saved_commands() local v50 = add_line local silentFovVisible2 = cfg.silent_fov_visible local str3 = silentFovVisible2 and "on" or "off" v50(".fov " .. str3, nil, false) return true end silentAimSetCheck = function(arg2, arg3, arg4) if not cfg.silent_aim then add_line(arg3, "first use .silentaim on", true) red_anim() return false end local v49 = cfg local flag14 = arg4 == true v49[arg2] = flag14 save_cfg() refresh_saved_commands() local v50 = add_line local v51 = cfg[arg2] local str3 = v51 and "on" or "off" v50(arg3 .. " " .. str3, nil, false) return true end silentAimSetVB = function(arg2) if not kxUseMobile() then return silentAimSetCheck("silent_visibility", ".vb", arg2) end add_line(".vb", "PC only", true) red_anim() return false end silentAimVBCommandText = function(arg2, arg3) local match = arg2:match("^%.vb%s+(.+)$") if not match and arg2 ~= ".vb" then return false end local v49 = parse_on_off(match) if v49 == nil then add_line(".vb", "use .vb on/off", true) if arg3 ~= "chat" then red_anim() end return true end if silentAimSetVB(v49) and arg3 ~= "chat" then collapse() end return true end fn4(function() fn67() if tbl25.installed and tbl25.target and tbl25.original and typeof(hookfunction) == "function" then pcall(hookfunction, tbl25.target, tbl25.original) end table.clear(obj2) table.clear(tbl25) end) if cfg.silent_aim then task.defer(function() if flag and cfg.silent_aim then silentAimSet(true, true) end end) end local Players2 = game:GetService("Players") local ReplicatedStorage_ = game:GetService("ReplicatedStorage") local localPlayer2 = Players2.LocalPlayer local gunRemotes = ReplicatedStorage_:WaitForChild("GunRemotes") local flag14 = false local v49 = nil local function_ = nil local v50 = nil local n7 = 0 antitaze_log = function(arg2, arg3, arg4) if add_line then local v51 = add_line local flag15 = arg4 == true v51(arg2, arg3, flag15) end end antiTazeFindConnection = function(arg2) if typeof(getconnections) ~= "function" then return nil end local ok, result = pcall(getconnections, arg2) if not ok or typeof(result) ~= "table" then return nil end for i, v51 in ipairs(result) do if v51 and typeof(v51.Function) == "function" then return v51 end end return nil end antitazedesactivado = function() flag14 = false n7 = n7 + 1 if function_ and v50 and typeof(hookfunction) == "function" then pcall(function() hookfunction(function_, v50) end) end v49 = nil function_ = nil v50 = nil if localPlayer2.Character then localPlayer2:SetAttribute("BackpackEnabled", true) end return true end antitaze = function() if flag14 and v49 and function_ and v50 then return true end if typeof(getconnections) ~= "function" or typeof(hookfunction) ~= "function" then return false end local playerTased = gunRemotes:WaitForChild("PlayerTased", 5) if not playerTased then return false end local now = os.clock() local v51 repeat v51 = antiTazeFindConnection(playerTased.OnClientEvent) if v51 then break end task.wait(0.05) until os.clock() - now >= 2 if not v51 or typeof(v51.Function) ~= "function" then return false end v49 = v51 function_ = v51.Function flag14 = true n7 = n7 + 1 local v52 = n7 local v53 = nil if pcall(function() v53 = hookfunction(function_, function(...) if flag14 and v52 == n7 then local character_ = localPlayer2.Character if not character_ then return end localPlayer2:SetAttribute("BackpackEnabled", false) local humanoid_ = character_:FindFirstChildOfClass("Humanoid") if humanoid_ then humanoid_:UnequipTools() end task.delay(3.5, function() if flag14 and v52 == n7 and localPlayer2.Character == character_ then localPlayer2:SetAttribute("BackpackEnabled", true) end end) return end if not v53 then return end return v53(...) end) end) and typeof(v53) == "function" then v50 = v53 return true end flag14 = false v49 = nil function_ = nil v50 = nil return false end antitazeactivado = function() return antitaze() end antiTazeCommand = function(arg2) local v51 = tostring local str3 = arg2 or "" local str4 = v51(str3):lower():gsub("^%s+", ""):gsub("%s+$", "") if str4 ~= "on" and str4 ~= "true" and str4 ~= "1" then if str4 ~= "off" and str4 ~= "false" and str4 ~= "0" then antitaze_log(".antitaze", "use .antitaze on/off | .ataze on/off | .at on/off", true) if red_anim then red_anim() end return false end antitazedesactivado() cfg.anti_taze = false featureSet("anti_taze", false) save_cfg() if refresh_saved_commands then refresh_saved_commands() end antitaze_log(".antitaze off", "anti taze off", false) return true end if not antitaze() then cfg.anti_taze = false featureSet("anti_taze", false) save_cfg() if refresh_saved_commands then refresh_saved_commands() end antitaze_log(".antitaze on", "PlayerTased hook failed", true) if red_anim then red_anim() end return false end cfg.anti_taze = true featureSet("anti_taze", true) save_cfg() if refresh_saved_commands then refresh_saved_commands() end antitaze_log(".antitaze on", "anti taze on", false) return true end task.defer(function() task.wait(0.25) local v51 = featureGet local flag15 = cfg.anti_taze == true if v51("anti_taze", flag15) and not antitaze() then featureSet("anti_taze", false) cfg.anti_taze = false save_cfg() if refresh_saved_commands then task.defer(refresh_saved_commands) end end end) local v51 = featureGet local flag15 = cfg.laser_state == true local laserState = v51("laser_state", flag15) laserEnabled = laserState local obj3 = typeof(laserOriginals) == "table" and laserOriginals or setmetatable({}, {__mode = "k"}) laserOriginals = obj3 laserValues = {AutoFire = true, FireRate = 0.035, SpreadRadius = 0} local v52 = antiRiotState if v52 and v52.originals then for k, original in pairs(v52.originals) do local canQuery = type(original) == "table" and original.CanQuery or original if k and k.Parent and type(canQuery) == "boolean" then pcall(function() k.CanQuery = canQuery end) end end end local tbl27 = { enabled = false, originals = setmetatable({}, {__mode = "k"}), } antiRiotState = tbl27 antiRiotApplyShield = function(arg2) if not antiRiotState.enabled or not arg2 or arg2.Name ~= "RiotShieldPart" or not arg2:IsA("BasePart") then return end local parent = arg2.Parent local playerFromCharacter = parent and Players:GetPlayerFromCharacter(arg2.Parent) if not playerFromCharacter or playerFromCharacter == LocalPlayer then return end if antiRiotState.originals[arg2] == nil then local tbl28 = { CanQuery = arg2.CanQuery, Conn = fn2(arg2:GetPropertyChangedSignal("CanQuery"), function() if antiRiotState.enabled and arg2.Parent and arg2.CanQuery then arg2.CanQuery = false end end), } antiRiotState.originals[arg2] = tbl28 end arg2.CanQuery = false end antiRiotRestoreAll = function() for k, original in pairs(antiRiotState.originals) do local conn = original and original.Conn fn3(conn) if k and k.Parent and original then pcall(function() k.CanQuery = original.CanQuery end) end antiRiotState.originals[k] = nil end end antiRiotStep = function() if not antiRiotState.enabled then return end for i, v53 in ipairs(tbl4) do if v53 ~= LocalPlayer then local character_ = v53.Character local riotShieldPart = character_ and character_:FindFirstChild("RiotShieldPart") if riotShieldPart then antiRiotApplyShield(riotShieldPart) end end end end antiRiotStart = function(arg2) if antiRiotState.enabled then return true end antiRiotState.enabled = true antiRiotStep() fn3(antiRiotState.conn) antiRiotState.conn = fn2(Workspace.DescendantAdded, function(arg3) if antiRiotState.enabled then antiRiotApplyShield(arg3) end end) save_feature_cfg("anti_riot", "anti_riot", true) if not arg2 and add_line then add_line(".antiriot on", "antiriot on, prevents lag riot", false) end if refresh_saved_commands then task.defer(refresh_saved_commands) end return true end antiRiotStop = function(arg2) antiRiotState.enabled = false fn3(antiRiotState.conn) antiRiotState.conn = nil antiRiotRestoreAll() save_feature_cfg("anti_riot", "anti_riot", false) if not arg2 and add_line then add_line(".antiriot off", "antiriot off", false) end if refresh_saved_commands then task.defer(refresh_saved_commands) end return true end antiRiotSet = function(arg2, arg3) if arg2 == true then return antiRiotStart(arg3) end return antiRiotStop(arg3) end antiRiotCommand = function(arg2) local v53 = parse_on_off(arg2) if v53 ~= nil then return antiRiotSet(v53, false) end add_line(".antiriot", "use .antiriot on/off", true) red_anim() return false end fn4(function() antiRiotState.enabled = false fn3(antiRiotState.conn) antiRiotState.conn = nil antiRiotRestoreAll() end) task.defer(function() task.wait(0.45) local v53 = featureGet local flag16 = cfg.anti_riot == true if v53("anti_riot", flag16) then antiRiotStart(true) end end) laserRestoreAll = function() for k, v53 in pairs(laserOriginals) do if typeof(k) == "Instance" then pcall(function() for k2 in pairs(laserValues) do k:SetAttribute(k2, v53[k2]) end end) end end table.clear(laserOriginals) end applyToTool = function(arg2) if not laserEnabled or not arg2 or not arg2:IsA("Tool") or arg2:GetAttribute("ToolType") ~= "Gun" then return end if not laserOriginals[arg2] then local tbl28 = {} for k in pairs(laserValues) do tbl28[k] = arg2:GetAttribute(k) end laserOriginals[arg2] = tbl28 end for k, v53 in pairs(laserValues) do if arg2:GetAttribute(k) ~= v53 then arg2:SetAttribute(k, v53) end end end applyLaserToAll = function() if not laserEnabled then return end local v53, v54, v55 = ipairs({ LocalPlayer:FindFirstChildOfClass("Backpack"), LocalPlayer.Character, }) local v56 = v55 local v57 = v53 local v58 = v54 while true do local v59, v60 = v57(v58, v56) if v59 == nil then break end v56 = v59 if v60 then for i, child in ipairs(v60:GetChildren()) do applyToTool(child) end v56 = v59 end end end laserCommand = function(arg2) local laserState2 = arg2 == "on" if not laserState2 and arg2 ~= "off" then add_line(".laser", "use .laser on/off", true) red_anim() return end local v53 = cfg laserEnabled = laserState2 v53.laser_state = laserState2 featureSet("laser_state", laserState2) save_cfg() if laserState2 then applyLaserToAll() else laserRestoreAll() end add_line(".laser " .. arg2, "laser " .. arg2, false) end local v53 = laserBackpackConn local v54 = v53 or nil laserBackpackConn = v54 local v55 = laserCharConn local v56 = v55 or nil laserCharConn = v56 bindLaserHooks = function() fn3(laserBackpackConn) fn3(laserCharConn) laserBackpackConn = nil laserCharConn = nil local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") if backpack then local v57 = fn2(backpack.ChildAdded, applyToTool) laserBackpackConn = v57 end local character_ = LocalPlayer.Character if character_ then local v57 = fn2(character_.ChildAdded, applyToTool) laserCharConn = v57 end end bindLaserHooks() fn2(LocalPlayer.CharacterAdded, function() task.wait(0.35) bindLaserHooks() applyLaserToAll() end) task.defer(function() task.wait(0.5) bindLaserHooks() applyLaserToAll() end) normalizeKillTeamArg = function(arg2) local str3 = fn22(arg2):lower() if str3 == "guards" or str3 == "guard" or str3 == "police" or str3 == "polices" then return "Guards" end if str3 == "criminals" or str3 == "criminal" or str3 == "crims" or str3 == "crim" then return "Criminals" end if str3 ~= "inmates" and str3 ~= "inmate" and str3 ~= "pris" and str3 ~= "prisoners" then return nil end return "Inmates" end killTeam = function(arg2) local v57 = normalizeKillTeamArg(arg2) local v58 = v57 if not v57 then local v59 = tostring local str3 = arg2 or "" v58 = v59(str3) end local team = v58 if team == "" then return fn24(".kill", "use .kill guards / .kill criminals / .kill inmates") end local str3 = ".kill " .. team if not hasKillTool() then return fn24(str3, "no tools") end if LocalPlayer.Team and LocalPlayer.Team.Name == team then return fn24(str3, "cant kill same team") end local tbl28 = {} for i, v59 in ipairs(tbl4) do local v60, v61, v62 = killAliveCharacter(v59) if v59 ~= LocalPlayer and v59.Team and v59.Team.Name == team and v60 and v61 and v62 and localDistanceToPlayer(v59) <= tbl9.Range then table.insert(tbl28, v59) end end if #tbl28 == 0 then return fn24(str3, "no targets in range (950 studs max)") end add_line(str3, "kill team: " .. tostring(#tbl28) .. " target(s)", false) task.spawn(function() local tbl29 = {} local n8 = 0 local n9 = 0 for i, v59 in ipairs(tbl28) do tbl29[v59.UserId] = v59 end while flag and next(tbl29) do if not hasKillTool() then add_line(str3, "stopped: no tools", true) break end if LocalPlayer.Team and LocalPlayer.Team.Name == team then add_line(str3, "stopped: same team", true) break end local flag16 = false for k, v59 in pairs(tbl29) do if v59 and v59.Parent == Players and v59.Team and v59.Team.Name == team then local v60, v61 = killAliveCharacter(v59) if v60 and v61 then local v62 = localDistanceToPlayer(v59) if tbl9.Range < v62 then tbl29[k] = nil n9 = n9 + 1 elseif not playerHasForceField(v59) then local v63, v64, v65 = killMethodUntilConfirmed(v59, tbl10.Team) if v63 then tbl29[k] = nil n8 = n8 + 1 flag16 = true db_track_kill(v59, "team:" .. team) elseif v65 == "dead" then tbl29[k] = nil elseif v65 == "range" then tbl29[k] = nil n9 = n9 + 1 end end end else tbl29[k] = nil end end local wait = task.wait local retry = flag16 and tbl10.Team.Retry or tbl9.TeamIdlePoll wait(retry) end if flag and not next(tbl29) then local str4 = n9 > 0 and " | out of range: " .. tostring(n9) or "" add_line(str3, "completed: " .. tostring(n8) .. str4, false) end end) return true end local v57 = bringCommandBusy local flag16 = v57 or false bringCommandBusy = flag16 bringCleanToken = function(arg2) local v58 = tostring local str3 = arg2 or "" return v58(str3):gsub("^%s+", ""):gsub("%s+$", "") end bringGetCarFromSeat = function(arg2) if not arg2 or not arg2:IsA("VehicleSeat") then return nil end local carContainer = Workspace:FindFirstChild("CarContainer") local parent = arg2 while flag and parent and parent ~= Workspace do if carContainer and parent.Parent == carContainer then return parent end if parent:IsA("Model") and parent:FindFirstChild("Wheels") then return parent end parent = parent.Parent end return nil end bringPivotCar = function(arg2, arg3) if not arg2 or not arg2.Parent or typeof(arg3) ~= "CFrame" then return false end if pcall(function() arg2:PivotTo(arg3) end) then return true end local body_ = arg2:FindFirstChild("Body") local vehicleSeat = body_ and body_:FindFirstChild("VehicleSeat") or arg2:FindFirstChild("VehicleSeat", true) if not vehicleSeat or not vehicleSeat:IsA("BasePart") then return false end pcall(function() arg2.PrimaryPart = vehicleSeat end) return pcall(function() arg2:SetPrimaryPartCFrame(arg3) end) end bringDisableCarCollision = function(arg2) local tbl28 = {} if not arg2 or not arg2.Parent then return tbl28 end for i, descendant in ipairs(arg2:GetDescendants()) do if descendant:IsA("BasePart") then tbl28[descendant] = descendant.CanCollide pcall(function() descendant.CanCollide = false end) end end return tbl28 end bringRestoreCarCollision = function(arg2) if typeof(arg2) ~= "table" then return end for k, v58 in pairs(arg2) do if k and k.Parent and k:IsA("BasePart") then pcall(function() local canCollide = v58 == true k.CanCollide = canCollide end) end end table.clear(arg2) end bringGetBody = function(arg2) if not arg2 then return nil end local body_ = arg2:FindFirstChild("Body") local v58 = body_ or arg2 return v58 end bringGetVehicleSeat = function(arg2) local v58 = bringGetBody(arg2) if v58 then local vehicleSeat = v58:FindFirstChild("VehicleSeat") if vehicleSeat and vehicleSeat:IsA("VehicleSeat") then return vehicleSeat end end local vehicleSeat = arg2 and arg2:FindFirstChild("VehicleSeat", true) if vehicleSeat and vehicleSeat:IsA("VehicleSeat") then return vehicleSeat end return nil end bringGetPassengerSeats = function(arg2) local tbl28 = {} local v58 = bringGetBody(arg2) if not v58 then return tbl28 end for i, descendant in ipairs(v58:GetDescendants()) do if descendant.ClassName == "Seat" then table.insert(tbl28, descendant) end end local v59, v60, v61 = ipairs(v58:GetChildren()) local v62 = v61 local v63 = v59 local v64 = v60 while true do local v65, v66 = v63(v64, v62) if v65 == nil then break end v62 = v65 if v66.ClassName == "Seat" then local flag17 = false for i, v67 in ipairs(tbl28) do if v67 == v66 then flag17 = true break end end v62 = v65 if not flag17 then table.insert(tbl28, v66) end end end return tbl28 end bringGetTargetSeatInCar = function(arg2, arg3) if not arg2 or not arg3 then return nil end local seatPart = arg3.SeatPart if seatPart and seatPart:IsDescendantOf(arg2) then return seatPart end local v58 = bringGetBody(arg2) if v58 then for i, descendant in ipairs(v58:GetDescendants()) do if (descendant.ClassName == "Seat" or descendant.ClassName == "VehicleSeat") and descendant.Occupant == arg3 then return descendant end end end return nil end bringIsSeatInsideCarContainer = function(arg2) if not arg2 or not arg2:IsA("BasePart") then return false end local carContainer = Workspace:FindFirstChild("CarContainer") if not carContainer then return false end local parent = arg2 while flag and parent and parent ~= Workspace do if parent.Parent == carContainer then return true end parent = parent.Parent end return false end bringPlayerAlreadyInCar = function(arg2, arg3) if not arg2 then return false end local character_ = arg2.Character local humanoid_ = arg3 or character_ and character_:FindFirstChildOfClass("Humanoid") if not humanoid_ then return false end local seatPart = humanoid_.SeatPart if seatPart and bringIsSeatInsideCarContainer(seatPart) then return true end local carContainer = Workspace:FindFirstChild("CarContainer") if not carContainer then return false end for i, descendant in ipairs(carContainer:GetDescendants()) do if (descendant.ClassName == "Seat" or descendant.ClassName == "VehicleSeat") and descendant.Occupant == humanoid_ then return true end end return false end bringTargetIsSeatedInCar = function(arg2, arg3) local flag17 = bringGetTargetSeatInCar(arg2, arg3) ~= nil return flag17 end bringParseCommand = function(arg2) local str3 = bringCleanToken(arg2):gsub("^([!%.])['\"`]+", "%1") local match, v58 = str3:match("^[!%.]bring%s+(%S+)%s+(.+)$") local v59 = match local v60 = v58 if not match then local match2, v61 = str3:match("^bring%s+(%S+)%s+(.+)$") v59 = match2 v60 = v61 end if v59 and v60 then return bringCleanToken(v59), bringCleanToken(v60) end return nil, nil end bringNotifyUsage = function() if add_line then add_line(".bring person tp_name", nil, true) end if red_anim then red_anim() end end bringNotifyPrison = function() if add_line then add_line(".bring [error] player inside prison", nil, true) end if red_anim then red_anim() end end bringNotifyNeedCar = function() if add_line then add_line(".bring [error]", "need VehicleSeat", true) end if red_anim then red_anim() end end bringNotifyTpNotFound = function() if add_line then add_line(".bring [error] tp not found", nil, true) end if red_anim then red_anim() end end bringNotifyPlayerNotFound = function() if add_line then add_line(".bring [error] player not found", nil, true) end if red_anim then red_anim() end end bringNotifyTimeout = function() if add_line then add_line(".bring [error] timeout", nil, true) end if red_anim then red_anim() end end bringNotifyTargetInCar = function() if add_line then add_line(".bring [error] player already in car", nil, true) end if red_anim then red_anim() end end bringProgressStart = function(arg2) local now = os.clock() local flag17 = true local tbl28 = {"[...]", "[..]", "[.]", "[..]"} local v58 = add_line(arg2, "bring executed [...] | trys: 0 | 0.00s", false) task.spawn(function() local n8 = 1 while flag and flag17 and v58 and v58.Parent and os.clock() - now < 12 do local n9 = math.max(0, os.clock() - now) local num = tonumber(v58:GetAttribute("KX_BringTries")) local n10 = num or 0 v58.Text = "> " .. tostring(arg2) .. "\n bring executed " .. tbl28[n8] .. " | trys: " .. tostring(n10) .. " | " .. string.format("%.2fs", n9) local v59 = color(120, 255, 170) v58.TextColor3 = v59 v58:SetAttribute("KX_TextColor", v59) local n11 = n8 + 1 n8 = n11 if #tbl28 < n11 then n8 = 1 end task.wait(0.22) end end) return { item = v58, started = now, stop = function() flag17 = false end, } end bringProgressUpdate = function(arg2, arg3) local item = arg2 and arg2.item if item and item.Parent then local setAttribute = item.SetAttribute local num = tonumber(arg3) local n8 = num or 0 setAttribute(item, "KX_BringTries", n8) end end bringProgressFinish = function(arg2, arg3, arg4, arg5, arg6) if arg2 and arg2.stop then arg2.stop() end local n8 = arg2 and arg2.started and math.max(0, os.clock() - arg2.started) or 0 local item = arg2 and arg2.item local str3 if arg5 == false then local str4 = string.format("%.2fs", n8) local v58 = tostring local n9 = arg4 or 0 local v59 = v58(n9) local str5 = arg6 and " | " .. tostring(arg6) or "" str3 = "bring failed [" .. str4 .. "] | trys: " .. v59 .. str5 else local str4 = string.format("%.2fs", n8) local v58 = tostring local n9 = arg4 or 0 str3 = "bring completed [" .. str4 .. "] | trys: " .. v58(n9) end if item and item.Parent then item.Text = "> " .. tostring(arg3) .. "\n " .. str3 local textColor3 = arg5 == false and color(255, 135, 145) or color(120, 255, 170) item.TextColor3 = textColor3 item:SetAttribute("KX_TextColor", textColor3) else local v58 = add_line local flag17 = arg5 == false v58(arg3, str3, flag17) end end bringCommand = function(arg2, arg3) local v58 = bringCleanToken(arg2) local v59 = bringCleanToken(arg3) if v58 ~= "" and v59 ~= "" then local character_ = LocalPlayer.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") if humanoid_ and humanoid_.Sit then local seatPart = humanoid_.SeatPart if seatPart and seatPart:IsA("VehicleSeat") then local v60 = bringGetCarFromSeat(seatPart) if v60 and v60:IsA("Model") then local v61 = find_player(v58) if v61 and v61 ~= LocalPlayer then local character_2 = v61.Character local humanoidRootPart = character_2 and character_2:FindFirstChild("HumanoidRootPart") local humanoid_2 = character_2 and character_2:FindFirstChildOfClass("Humanoid") if humanoidRootPart and humanoid_2 and humanoid_2.Health > 0 then if not bringPlayerAlreadyInCar(v61, humanoid_2) then if not fn16(humanoidRootPart.Position, tbl5) then local v62 = find_save(v59) if not v62 then bringNotifyTpNotFound() return false end local v63 = any_to_cf(v62.Pos) if not v63 then bringNotifyUsage() return false end local v64 = bringGetVehicleSeat(v60) local v65 = v64 or seatPart local v66 = bringGetPassengerSeats(v60) if #v66 == 0 then bringNotifyNeedCar() return false end pcall(function() if not v60.PrimaryPart then v60.PrimaryPart = v65 end end) local v67 = bringDisableCarCollision(v60) local flag17 = false local function fn72() if flag17 then return end flag17 = true bringRestoreCarCollision(v67) end local str3 = ".bring " .. tostring(v61.Name) .. " " .. tostring(v59) local v68 = bringProgressStart(str3) local n8 = 0 bringProgressUpdate(v68, 0) local now = os.clock() local flag18 = false while flag and os.clock() - now < 7 do local n9 = n8 + 1 n8 = n9 bringProgressUpdate(v68, n9) if not v61.Parent or not v60.Parent or not v65.Parent then break end local character_3 = v61.Character local humanoidRootPart2 = character_3 and character_3:FindFirstChild("HumanoidRootPart") local v69 = humanoidRootPart2 local humanoid_3 = character_3 and character_3:FindFirstChildOfClass("Humanoid") humanoid_2 = humanoid_3 if not v69 or not humanoid_2 or humanoid_2.Health <= 0 then break end if not bringGetTargetSeatInCar(v60, humanoid_2) then bringPivotCar(v60, v69.CFrame * cframe(0, -0.2, -5)) for i, v70 in ipairs(v66) do if v70 and v70.Parent and v70.Occupant == nil then pcall(function() v70:Sit(humanoid_2) end) task.wait(0.04) if bringGetTargetSeatInCar(v60, humanoid_2) then flag18 = true fn72() break end continue end end if flag18 then break end RunService.Heartbeat:Wait() continue end flag18 = true fn72() break end if not flag18 then fn72() bringProgressFinish(v68, str3, n8, false, "timeout") bringNotifyTimeout() return false end fn72() for i = 1, 5 do if not v60.Parent then break end bringPivotCar(v60, v63) RunService.Heartbeat:Wait() end bringProgressFinish(v68, str3, n8, true) return true end bringNotifyPrison() return false end bringNotifyTargetInCar() return false end bringNotifyPlayerNotFound() return false end bringNotifyPlayerNotFound() return false end bringNotifyNeedCar() return false end bringNotifyNeedCar() return false end bringNotifyNeedCar() return false end bringNotifyUsage() return false end killTpPlayer = function(arg2) if not arg2 or arg2 == LocalPlayer or arg2.Parent ~= Players then return fn24("Kill TP", "player not found") end local str3 = "Kill TP " .. arg2.Name if fn21(arg2) then return fn24(str3, "cant kill same team") end if not hasKillTool() then return fn24(str3, "no tools") end local v58 = killTpState v58.serial = v58.serial + 1 local serial = killTpState.serial killTpState.tokens[arg2.UserId] = serial add_line(str3, "started", false) task.spawn(function() local function fn72() local flag17 = killTpState.tokens[arg2.UserId] == serial return flag17 end local v59 = killWaitAliveCharacter(arg2, nil, fn72, tbl9.TargetReadyWait) while v59 and fn72() do local v60, v61 = killWaitForceFieldOff(arg2, v59, fn72) if v60 == "ready" then v59 = v61 break end if v60 == "respawn" then v59 = v61 else v59 = nil end end if v59 and fn72() then local v60, v61 v61, v61, v60 = killAliveCharacter(arg2) local v62 = v60 local v63, v64, v65 = killWaitAliveCharacter(LocalPlayer, nil, fn72, tbl9.LocalReadyWait) if v62 and v63 and v64 and v65 then fn16(v62.Position, tbl5) local seatPart = v64.SeatPart local isVehicleSeat = seatPart and seatPart:IsA("VehicleSeat") and bringGetCarFromSeat(seatPart) or nil local cFrame = v62.CFrame * cframe(0, 0.5, -6) if isVehicleSeat then local flag17 = false local v66 v61, v61, v66 = killAliveCharacter(arg2) if v66 and fn72() and isVehicleSeat.Parent then v62 = v66 local ok = pcall(function() v65.CFrame = v62.CFrame end) local n8 = os.clock() + 0.4 local value repeat RunService.Heartbeat:Wait() value = select(3, killAliveCharacter(arg2)) if value then v62 = value end if ok and value and (v65.Position - value.Position).Magnitude <= 18 then flag17 = true break end until not fn72() or n8 <= os.clock() end if flag17 then RunService.Heartbeat:Wait() flag17 = (v65.Position - v62.Position).Magnitude <= 18 end if not flag17 then killTpState.tokens[arg2.UserId] = nil add_line(str3, "vehicle tp failed", true) return end if fn16(v62.Position, tbl5) then local n8 = os.clock() + 2.5 while fn72() and isVehicleSeat.Parent and v64.Parent and v64.SeatPart do task.wait(tbl9.FastPoll) if n8 <= os.clock() then break end end else pcall(function() v64.Sit = false v64.Jump = true v64:ChangeState(Enum.HumanoidStateType.Jumping) end) local n8 = os.clock() + 1.25 while fn72() and v64.Parent and v64.SeatPart do task.wait(tbl9.FastPoll) if n8 <= os.clock() then break end end end else pcall(function() v65.CFrame = cFrame end) RunService.Heartbeat:Wait() end local v66, v67 v66, v61, v67 = killMethodUntilConfirmed(arg2, tbl10.KillTp, fn72) if killTpState.tokens[arg2.UserId] == serial then killTpState.tokens[arg2.UserId] = nil end if v66 then db_track_kill(arg2, "killtp") add_line(str3, "completed", false) elseif v67 == "forcefield" then add_line(str3, "ff detected", true) else add_line(str3, "target still alive", true) end return end killTpState.tokens[arg2.UserId] = nil add_line(str3, "character not ready", true) return end if killTpState.tokens[arg2.UserId] == serial then killTpState.tokens[arg2.UserId] = nil add_line(str3, "cancelled", true) end end) return true end booleanCommands = {} local function fn72(arg2, arg3) local tbl28 = {name = arg2[1], get = arg3} for i, v58 in ipairs(arg2) do booleanCommands[v58] = tbl28 end end local function fn73(arg2) return function() local flag17 = cfg[arg2] == true return flag17 end end for i, v58 in ipairs({ {{"antifling", "af"}, "anti_fling_v1"}, {{"shield"}, "wall"}, {{"aneutral"}, "auto_respawn_neutral"}, {{"autore", "autorespawn"}, "auto_respawn"}, {{"autoreload"}, "auto_reload"}, {{"autoswitch"}, "auto_switch"}, {{"autoarrest", "ar"}, "auto_arrest"}, {{"bottonfling", "bf"}, "botton_fling"}, {{"stopdeath"}, "fling_stop_death"}, {{"nolimit"}, "fling_no_limit"}, {{"whip"}, "fling_whip"}, {{"antitaze", "ataze", "at"}, "anti_taze"}, {{"antiriot"}, "anti_riot"}, {{"laser"}, "laser_state"}, {{"carspeed", "cs"}, "carspeed"}, {{"backpackhead", "bhead"}, "backpack_head"}, {{"toolaura", "taura"}, "tool_aura"}, {{"punchaura", "pa"}, "punch_aura"}, {{"silentaim", "silent", "aimbot"}, "silent_aim"}, {{"fov"}, "silent_fov_visible"}, {{"wallcheck", "wc"}, "silent_wall_check"}, {{"teamcheck"}, "silent_team_check"}, {{"forcefield", "ff"}, "silent_forcefield_check"}, {{"vb"}, "silent_visibility"}, {{"playerlist", "guiplayers", "pgui"}, "player_list"}, {{"killfeedback", "kf"}, "kill_feedback"}, {{"aimdetect", "aimbotdetect"}, "aim_detect"}, {{"cartpdetection", "cd"}, "fling_detector"}, {{"invisibledetection", "id"}, "invisible_detection"}, {{"lockspeed", "lockwalkspeed"}, "lock_walkspeed"}, {{"autokeycard", "aurakeycard", "autokey"}, "auto_keycard"}, {{"noclip"}, "noclip"}, {{"infjump", "infinitejump"}, "inf_jump"}, }) do fn72(v58[1], fn73(v58[2])) end fn72({"esp"}, function() local flag17 = espCfg.espEnabled == true return flag17 end) fn72({"tracers"}, function() local flag17 = espCfg.tracersEnabled == true return flag17 end) fn72({"tracerinfo"}, function() local flag17 = espCfg.tracerInfoEnabled == true return flag17 end) fn72({"backpackview", "bpview"}, function() local flag17 = espCfg.backpackViewEnabled == true return flag17 end) fn72({"healthgui", "hg"}, function() local flag17 = espCfg.healthGuiEnabled == true return flag17 end) fn72({"hitbox"}, function() local flag17 = espCfg.hitboxEnabled == true return flag17 end) end local tbl9 = { combo1 = "combo1", combo2 = "combo2", combo3 = "combo3", m4 = "m4a1", m4a1 = "m4a1", fal = "fal", ak = "ak", ["ak-47"] = "ak", rev = "revolver", revolver = "revolver", m700 = "m700", sniper = "m700", reming = "reming", shotgun = "reming", } mobileToggleSaveName = function(arg2) local v7 = tostring local str = arg2 or "" return v7(str):match("^save:(.+)$") end mobileToggleDisplayName = function(arg2) local v7 = mobileToggleSaveName(arg2) local v8 = v7 if not v7 then local v9 = tostring local str = arg2 or "" v8 = v9(str) end return v8 end mobileToggleRunText = function(arg2) local v7 = mobileToggleSaveName(arg2) local str = v7 and ".tp " .. v7 if not str then local v8 = tostring local str2 = arg2 or "" str = "." .. v8(str2) end return str end mobileActionDisplayName = mobileToggleDisplayName mobileActionRunText = mobileToggleRunText local v7 = vector2(112, 40) local function fn21(arg2) local v8 = tostring local str = arg2 or "" local str2 = v8(str):lower():match("^%s*(.-)%s*$"):gsub("^[!%.;]", "") local flag6 if str2:find("%s") then flag6 = false else flag6 = true end if flag6 then flag6 = booleanCommands[str2] end local name = flag6 and flag6.name if not name then if str2:find("%s") then name = false else name = true end if name then name = tbl9[str2] end end if name then return name end local v9 = find_save local v10 = mobileToggleSaveName(str2) local v11 = v10 or str2 local v12 = v9(v11) local str3 = v12 and "save:" .. tostring(v12.Name) or nil return str3 end mobileActionName = fn21 local function fn22(arg2) local max = math.max local num = tonumber(arg2) local n2 = num or 1 local n3 = max(1, n2) - 1 return math.max(0.18, 0.84 - math.floor(n3 / 7) * 0.28), 0.2 + n3 % 7 * 0.09 end local function fn23(arg2, arg3) local v8 = viewport() local v9 = px_pos(arg2) local absoluteSize = arg3 and arg3.AbsoluteSize or v7 local x = absoluteSize.X > 0 and absoluteSize.X or v7.X local y = absoluteSize.Y > 0 and absoluteSize.Y or v7.Y local n2 = x * 0.5 + 8 local n3 = y * 0.5 + 8 local n4 = math.clamp(v9.X, n2, math.max(n2, v8.X - n2)) local n5 = math.clamp(v9.Y, n3, math.max(n3, v8.Y - n3)) return udim2(n4 / math.max(v8.X, 1), 0, n5 / math.max(v8.Y, 1), 0) end local function fn24(arg2) for i, mobileButton in ipairs(cfg.mobile_buttons) do if fn21(mobileButton.command) == arg2 then return i, mobileButton end end end local function fn25() if mobileToggleButtonsRoot and mobileToggleButtonsRoot.Parent then return mobileToggleButtonsRoot end local Frame8 = fn5("Frame", gui, "Name", "KX_Mobile_Toggle_Buttons", "Size", udim2(1, 0, 1, 0), "BackgroundTransparency", 1, "BorderSizePixel", 0, "Active", false, "Visible", kxUseMobile(), "ZIndex", 120) mobileToggleButtonsRoot = Frame8 return mobileToggleButtonsRoot end local function fn26(arg2) local v8 = mobileToggleDrag if not v8 or arg2 and v8.data ~= arg2 then return end mobileToggleDrag = nil fn3(v8.endConnection) end local function fn27() local v8 = mobileToggleDrag if not v8 then return end fn26() local data = v8.data if not data.button or not data.button.Parent then return end if v8.moved then local entry = data.entry local scale = data.button.Position.Y.Scale data.entry.x = data.button.Position.X.Scale entry.y = scale save_cfg() elseif flag and run_command then task.defer(run_command, mobileToggleRunText(data.entry.command), "mobile_button") end end local function fn28(arg2) if not arg2 then return end fn26(arg2) fn3(arg2.connection) if arg2.button and arg2.button.Parent then arg2.button:Destroy() end end local function fn29(arg2) local command = arg2 and arg2.command local v8 = fn21(command) if not v8 or mobileToggleButtons[v8] then return end arg2.command = v8 local v9 = kxThemeCurrent() local v10 = fn25() local str = "KX_Toggle_" .. v8 local v11 = vector2(0.5, 0.5) local v12 = udim2(0, v7.X, 0, v7.Y) local num = tonumber(arg2.x) local n2 = num or 0.84 local num2 = tonumber(arg2.y) local n3 = num2 or 0.2 local TextButton = fn5("TextButton", v10, "Name", str, "AnchorPoint", v11, "Size", v12, "Position", udim2(n2, 0, n3, 0), "BackgroundColor3", kxThemeLighten(v9.Panel, 0.08), "BorderSizePixel", 0, "Text", "." .. mobileToggleDisplayName(v8), "TextColor3", v9.Text, "Font", Enum.Font.GothamSemibold, "TextSize", 12, "TextTruncate", Enum.TextTruncate.AtEnd, "AutoButtonColor", false, "Active", true, "ZIndex", 125) fn5("UICorner", TextButton, "CornerRadius", udim(0, 11)) fn5("UIStroke", TextButton, "Color", v9.Accent, "Thickness", 1.1, "Transparency", 0.16) kxTextClamp(TextButton, 10, 13) TextButton.Position = fn23(TextButton.Position, TextButton) local tbl10 = {button = TextButton, entry = arg2} mobileToggleButtons[v8] = tbl10 tbl10.connection = fn2(TextButton.InputBegan, function(arg3) local userInputType = arg3.UserInputType if mobileToggleDrag or userInputType ~= Enum.UserInputType.Touch and userInputType ~= Enum.UserInputType.MouseButton1 then return end mobileToggleDrag = { data = tbl10, input = arg3, start = arg3.Position, position = TextButton.Position, moved = false, } mobileToggleDrag.endConnection = fn2(arg3.Changed, function() if arg3.UserInputState == Enum.UserInputState.End then fn27() end end) end) end fn2(UserInputService.InputChanged, function(arg2) local v8 = mobileToggleDrag if not v8 then return end local flag6 = v8.input.UserInputType == Enum.UserInputType.Touch and arg2 == v8.input local flag7 = v8.input.UserInputType == Enum.UserInputType.MouseButton1 and arg2.UserInputType == Enum.UserInputType.MouseMovement if not flag6 and not flag7 then return end local n2 = arg2.Position - v8.start if n2.Magnitude >= 7 then v8.moved = true end if not v8.moved then return end local v9 = px_pos(v8.position) v8.data.button.Position = fn23(udim2(0, v9.X + n2.X, 0, v9.Y + n2.Y), v8.data.button) end) mobileToggleButtonsRelayout = function() if not mobileToggleButtonsRoot then if kxUseMobile() then for i, mobileButton in ipairs(cfg.mobile_buttons) do fn29(mobileButton) end end return end mobileToggleButtonsRoot.Visible = kxUseMobile() for k, v8 in pairs(mobileToggleButtons) do if v8.button and v8.button.Parent then v8.button.Position = fn23(v8.button.Position, v8.button) end end end mobileToggleButtonAdd = function(arg2) if not kxUseMobile() then add_line(".button", "mobile only", true) red_anim() return false end local v8 = fn21(arg2) if not v8 then local v9 = add_line local v10 = tostring local str = arg2 or "" local match = v10(str):match("%S") local str2 = match and "only toggles, weapons, combos or saved tps" or "use .button autore/combo1/m4a1/yourtp" v9(".button", str2, true) red_anim() return false end if not fn24(v8) then local v9, v10 = fn22(#cfg.mobile_buttons + 1) local tbl10 = {command = v8, x = v9, y = v10} cfg.mobile_buttons[#cfg.mobile_buttons + 1] = tbl10 fn29(tbl10) save_cfg() refresh_saved_commands() add_line(".button ." .. mobileToggleDisplayName(v8), "mobile button added; drag to move", false) return true end add_line(".button ." .. mobileToggleDisplayName(v8), "button already exists", true) red_anim() return false end mobileToggleButtonRemove = function(arg2) local v8 = fn21(arg2) if not v8 then add_line(".unbutton", "use .unbutton autore/combo1/m4a1/yourtp", true) red_anim() return false end local v9 = fn24(v8) if not v9 then add_line(".unbutton ." .. mobileToggleDisplayName(v8), "button not found", true) red_anim() return false end fn28(mobileToggleButtons[v8]) mobileToggleButtons[v8] = nil table.remove(cfg.mobile_buttons, v9) save_cfg() refresh_saved_commands() add_line(".unbutton ." .. mobileToggleDisplayName(v8), "mobile button removed", false) return true end mobileToggleButtonsRestore = function() for k, v8 in pairs(mobileToggleButtons) do fn28(v8) mobileToggleButtons[k] = nil end local mobileButtons = {} local tbl10 = {} local flag6 = false for i, mobileButton in ipairs(cfg.mobile_buttons) do local flag7 = typeof(mobileButton) == "table" if flag7 then local command = mobileButton.command local command2 = command or mobileButton.Command flag7 = fn21(command2) end if flag7 and not tbl10[flag7] then local v8, v9 = fn22(#mobileButtons + 1) local clamp = math.clamp local v10 = tonumber local x = mobileButton.x local x2 = x or mobileButton.X local v11 = v10(x2) local v12 = v11 or v8 local v13 = clamp(v12, 0.02, 0.98) local clamp2 = math.clamp local v14 = tonumber local y = mobileButton.y local y2 = y or mobileButton.Y local v15 = v14(y2) local v16 = v15 or v9 local v17 = clamp2(v16, 0.02, 0.98) mobileButtons[#mobileButtons + 1] = {command = flag7, x = v13, y = v17} tbl10[flag7] = true if mobileButton.command ~= flag7 or mobileButton.x ~= v13 or mobileButton.y ~= v17 then flag6 = true end else flag6 = true end end cfg.mobile_buttons = mobileButtons if flag6 then save_cfg() end if kxUseMobile() then for i, mobileButton in ipairs(mobileButtons) do fn29(mobileButton) end end end pcKeybindMin = 4 pcKeybindMax = 8 pcKeybindWidth = 336 pcKeybindHeight = function() return 45 + math.max(pcKeybindMin, #cfg.pc_keybinds) * 40 end pcKeybindState = { Frame = nil, Rows = {}, Open = false, Capture = nil, Drag = nil, DragEnd = nil, } pcKeybindCodes = {} for i, v8 in ipairs(Enum.KeyCode:GetEnumItems()) do pcKeybindCodes[v8.Name] = v8 end pcKeybindIsPC = function() local keyboardEnabled = UserInputService.KeyboardEnabled local mouseEnabled = keyboardEnabled and UserInputService.MouseEnabled return mouseEnabled end pcKeybindEntry = function(arg2) local v8 = cfg.pc_keybinds[arg2] local v9 = v8 if typeof(v8) ~= "table" then local tbl10 = {command = "", key = ""} v9 = tbl10 cfg.pc_keybinds[arg2] = tbl10 end return v9 end pcKeybindCode = function(arg2) local v8 = pcKeybindCodes local v9 = tostring local str = arg2 or "" return v8[v9(str)] end pcKeybindReserved = function(arg2) local flag6 if arg2 then flag6 = false else flag6 = true end if not flag6 then flag6 = arg2 == Enum.KeyCode.Unknown end if not flag6 then flag6 = arg2 == Enum.KeyCode.Escape end if not flag6 then flag6 = arg2 == Enum.KeyCode.Return end if not flag6 then flag6 = arg2 == Enum.KeyCode.KeypadEnter end if not flag6 then flag6 = arg2 == Enum.KeyCode.Backspace end if not flag6 then flag6 = arg2 == Enum.KeyCode.Delete end if not flag6 then flag6 = arg2 == Enum.KeyCode.Period end return flag6 end pcKeybindAction = function(arg2) local v8 = tostring local str = arg2 or "" local str2 = v8(str):lower():match("^%s*(.-)%s*$"):gsub("^[!%.;]", "") local v9 = mobileActionName local match = str2:match("^tp%s+(.+)$") local v10 = match or str2 return v9(v10) end pcKeybindKeyText = function(arg2) local v8 = pcKeybindCode(arg2) if not v8 then return "KEY" end local ok, result = pcall(UserInputService.GetStringForKeyCode, UserInputService, v8) local str = ok and tostring(result):match("%S") and tostring(result):upper() or v8.Name:upper() return str end pcKeybindClamp = function(arg2) local v8 = viewport() local v9 = px_pos(arg2) local v10 = pcKeybindWidth local v11 = pcKeybindHeight() local n2 = math.clamp(v9.X, v10 * 0.5 + 8, math.max(v10 * 0.5 + 8, v8.X - v10 * 0.5 - 8)) local n3 = math.clamp(v9.Y, v11 * 0.5 + 8, math.max(v11 * 0.5 + 8, v8.Y - v11 * 0.5 - 8)) return udim2(n2 / math.max(v8.X, 1), 0, n3 / math.max(v8.Y, 1), 0) end pcKeybindFlash = function(arg2, arg3) local v8 = pcKeybindState.Rows[arg2] if not v8 or not v8.Stroke then return end local v9 = make_tween local stroke = v8.Stroke local tbl10 = {} local v10 = arg3 and color(105, 255, 170) or color(255, 70, 90) tbl10.Color = v10 tbl10.Transparency = 0.02 v9(stroke, 0.08, tbl10) task.delay(0.45, function() if v8.Stroke and v8.Stroke.Parent then make_tween(v8.Stroke, 0.12, {Color = kxThemeCurrent().Accent, Transparency = 0.22}) end end) end pcKeybindSyncRow = function(arg2) local v8 = pcKeybindState.Rows[arg2] if not v8 then return end local v9 = pcKeybindEntry(arg2) if v8.Command and not v8.Command:IsFocused() then local command = v8.Command local text = v9.command ~= "" and "." .. mobileActionDisplayName(v9.command) or "" command.Text = text end if v8.Key then local flag6 = pcKeybindState.Capture == arg2 v8.Key.Text = pcKeybindKeyText(v9.key) local key = v8.Key local accent_ = flag6 and color(255, 185, 90) or kxThemeCurrent().Accent key.TextColor3 = accent_ end end pcKeybindSyncRows = function() for i in ipairs(pcKeybindState.Rows) do pcKeybindSyncRow(i) end end pcKeybindSetCommand = function(arg2, arg3) local v8 = pcKeybindState.Rows[arg2] if not v8 or not v8.Command then return false end local v9 = pcKeybindEntry(arg2) local flag6 = tostring(v8.Command.Text):match("%S") ~= nil local v10 = flag6 and pcKeybindAction(v8.Command.Text) if not v10 then local flag7 = v9.command ~= "" or v9.key ~= "" v9.command = "" v9.key = "" if flag7 then save_cfg() end pcKeybindSyncRow(arg2) if arg3 then local v11 = add_line local str = flag6 and "only toggles, weapons, combos or saved tps" or "set a command first" v11(".keybind", str, true) end if arg3 or flag6 then pcKeybindFlash(arg2, false) end local flag8 if arg3 then flag8 = false else flag8 = true end if flag8 then if flag6 then flag8 = false else flag8 = true end end return flag8 end local flag7 = v9.command ~= v10 v9.command = v10 if flag7 then save_cfg() end pcKeybindSyncRow(arg2) if arg3 then pcKeybindFlash(arg2, true) end return true end pcKeybindSetKey = function(arg2, arg3) if pcKeybindEntry(arg2).command == "" then add_line(".keybind", "set a command first", true) pcKeybindFlash(arg2, false) return false end if not pcKeybindReserved(arg3) then local name = arg3.Name for i in ipairs(cfg.pc_keybinds) do if i ~= arg2 and pcKeybindEntry(i).key == name then pcKeybindEntry(i).key = "" pcKeybindSyncRow(i) end end pcKeybindEntry(arg2).key = name save_cfg() pcKeybindFlash(arg2, true) return true end add_line(".keybind", "that key is reserved", true) pcKeybindFlash(arg2, false) return false end pcKeybindCancelCapture = function() local capture = pcKeybindState.Capture pcKeybindState.Capture = nil if capture then pcKeybindSyncRow(capture) end end pcKeybindHandleCapture = function(arg2) local capture = pcKeybindState.Capture if not capture or arg2.UserInputType ~= Enum.UserInputType.Keyboard then return false end local keyCode = arg2.KeyCode if keyCode == Enum.KeyCode.Escape then pcKeybindCancelCapture() elseif keyCode ~= Enum.KeyCode.Backspace and keyCode ~= Enum.KeyCode.Delete then if pcKeybindSetKey(capture, keyCode) then pcKeybindCancelCapture() end else pcKeybindEntry(capture).key = "" save_cfg() pcKeybindCancelCapture() end return true end pcKeybindFinishDrag = function() local drag = pcKeybindState.Drag pcKeybindState.Drag = nil fn3(pcKeybindState.DragEnd) pcKeybindState.DragEnd = nil if not drag or not pcKeybindState.Frame then return end if drag.Target then pcKeybindState.Frame.Position = drag.Target end cfg.pc_keybind_position = { x = pcKeybindState.Frame.Position.X.Scale, y = pcKeybindState.Frame.Position.Y.Scale, } save_cfg() end pcKeybindResize = function() local frame = pcKeybindState.Frame if not frame then return end frame.Size = udim2(0, pcKeybindWidth, 0, pcKeybindHeight()) frame.Position = pcKeybindClamp(frame.Position) end pcKeybindCreateRow = function(arg2) local frame = pcKeybindState.Frame local v8 = kxThemeCurrent() if not frame or pcKeybindState.Rows[arg2] then return end local Frame8 = fn5("Frame", frame, "Name", "Bind_" .. arg2, "Size", udim2(1, -16, 0, 36), "Position", udim2(0, 8, 0, 41 + (arg2 - 1) * 40), "BackgroundColor3", kxThemeLighten(v8.Panel, 0.06), "BorderSizePixel", 0, "ClipsDescendants", true, "ZIndex", 162) fn5("UICorner", Frame8, "CornerRadius", udim(0, 8)) local UIStroke = fn5("UIStroke", Frame8, "Color", v8.Accent, "Thickness", 0.9, "Transparency", 0.22) local TextBox2 = fn5("TextBox", Frame8, "Size", udim2(1, -84, 1, 0), "Position", udim2(0, 10, 0, 0), "BackgroundTransparency", 1, "Text", "", "PlaceholderText", ".autore / your_tp", "TextColor3", v8.Text, "PlaceholderColor3", kxThemeDarken(v8.Text, 0.42), "Font", Enum.Font.Code, "TextSize", 11, "ClearTextOnFocus", false, "TextXAlignment", Enum.TextXAlignment.Left, "ZIndex", 164) fn5("Frame", Frame8, "Name", "Divider", "Size", udim2(0, 1, 1, -10), "Position", udim2(1, -76, 0, 5), "BackgroundColor3", v8.Accent, "BackgroundTransparency", 0.58, "BorderSizePixel", 0, "ZIndex", 164) local TextButton = fn5("TextButton", Frame8, "Size", udim2(0, 75, 1, 0), "Position", udim2(1, -75, 0, 0), "BackgroundTransparency", 1, "BorderSizePixel", 0, "Text", "KEY", "TextColor3", v8.Accent, "Font", Enum.Font.GothamBold, "TextSize", 11, "AutoButtonColor", false, "ZIndex", 165) pcKeybindState.Rows[arg2] = { Frame = Frame8, Command = TextBox2, Key = TextButton, Stroke = UIStroke, } fn2(TextBox2.FocusLost, function() pcKeybindSetCommand(arg2) end) fn2(TextButton.Activated, function() local focusedTextBox = UserInputService:GetFocusedTextBox() if not pcKeybindSetCommand(arg2, true) then task.defer(function() if TextBox2.Parent then TextBox2:CaptureFocus() end end) return end if focusedTextBox then focusedTextBox:ReleaseFocus() end local v9 = pcKeybindState local capture = pcKeybindState.Capture == arg2 and nil or arg2 v9.Capture = capture pcKeybindSyncRows() end) pcKeybindSyncRow(arg2) end pcKeybindAdd = function() if pcKeybindMax <= #cfg.pc_keybinds then add_line(".keybind", "maximum 8 keybinds", true) return false end cfg.pc_keybinds[#cfg.pc_keybinds + 1] = {command = "", key = ""} pcKeybindCreateRow(#cfg.pc_keybinds) pcKeybindResize() save_cfg() return true end pcKeybindCreate = function() if pcKeybindState.Frame and pcKeybindState.Frame.Parent then return pcKeybindState.Frame end local v8 = kxThemeCurrent() local v9 = gui local v10 = vector2(0.5, 0.5) local v11 = udim2(0, pcKeybindWidth, 0, pcKeybindHeight()) local num = tonumber(cfg.pc_keybind_position.x) local n2 = num or 0.5 local num2 = tonumber(cfg.pc_keybind_position.y) local n3 = num2 or 0.42 local Frame8 = fn5("Frame", v9, "Name", "KX_PC_Keybinds", "AnchorPoint", v10, "Size", v11, "Position", udim2(n2, 0, n3, 0), "BackgroundColor3", v8.Bg, "BackgroundTransparency", 0.04, "BorderSizePixel", 0, "ClipsDescendants", true, "Active", true, "Visible", false, "ZIndex", 160) pcKeybindState.Frame = Frame8 fn5("UICorner", Frame8, "CornerRadius", udim(0, 13)) fn5("UIStroke", Frame8, "Color", v8.Accent, "Thickness", 1.15, "Transparency", 0.1) fn5("UIGradient", Frame8, "Rotation", 90).Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, kxThemeLighten(v8.Panel, 0.08)), ColorSequenceKeypoint.new(1, kxThemeDarken(v8.Bg, 0.06)), }) local Frame9 = fn5("Frame", Frame8, "Name", "Header", "Size", udim2(1, 0, 0, 36), "BackgroundTransparency", 1, "BorderSizePixel", 0, "Active", true, "ZIndex", 162) local TextLabel = fn5("TextLabel", Frame9, "Size", udim2(1, -82, 1, 0), "Position", udim2(0, 13, 0, 0), "BackgroundTransparency", 1, "Text", "Keybinds", "TextColor3", v8.Text, "Font", Enum.Font.GothamSemibold, "TextSize", 14, "TextXAlignment", Enum.TextXAlignment.Left, "Active", true, "ZIndex", 164) local TextButton = fn5("TextButton", Frame9, "Size", udim2(0, 28, 0, 24), "Position", udim2(1, -67, 0, 6), "BackgroundColor3", kxThemeLighten(v8.Panel, 0.1), "BorderSizePixel", 0, "Text", "+", "TextColor3", v8.Accent, "Font", Enum.Font.GothamBold, "TextSize", 16, "AutoButtonColor", false, "ZIndex", 165) fn5("UICorner", TextButton, "CornerRadius", udim(0, 7)) fn5("UIStroke", TextButton, "Color", v8.Accent, "Thickness", 1, "Transparency", 0.38) local TextButton2 = fn5("TextButton", Frame9, "Size", udim2(0, 28, 0, 24), "Position", udim2(1, -35, 0, 6), "BackgroundColor3", kxThemeLighten(v8.Panel, 0.1), "BorderSizePixel", 0, "Text", "X", "TextColor3", v8.Text, "Font", Enum.Font.GothamBold, "TextSize", 11, "AutoButtonColor", false, "ZIndex", 165) fn5("UICorner", TextButton2, "CornerRadius", udim(0, 7)) fn5("UIStroke", TextButton2, "Color", v8.Accent, "Thickness", 1, "Transparency", 0.38) for i in ipairs(cfg.pc_keybinds) do pcKeybindCreateRow(i) end fn2(TextButton.Activated, pcKeybindAdd) fn2(TextButton2.MouseButton1Click, function() pcKeybindHide(false) end) fn2(TextButton.MouseEnter, function() make_tween(TextButton, 0.07, {TextColor3 = v8.Text}) end) fn2(TextButton.MouseLeave, function() make_tween(TextButton, 0.07, {TextColor3 = v8.Accent}) end) fn2(TextButton2.MouseEnter, function() make_tween(TextButton2, 0.07, { BackgroundColor3 = color(95, 30, 45), TextColor3 = color(255, 210, 220), }) end) fn2(TextButton2.MouseLeave, function() make_tween(TextButton2, 0.07, { BackgroundColor3 = kxThemeLighten(kxThemeCurrent().Panel, 0.1), TextColor3 = kxThemeCurrent().Text, }) end) fn2(TextLabel.InputBegan, function(arg2) if arg2.UserInputType ~= Enum.UserInputType.MouseButton1 then return end pcKeybindState.Drag = { Start = arg2.Position, Position = Frame8.Position, Target = Frame8.Position, } fn3(pcKeybindState.DragEnd) pcKeybindState.DragEnd = fn2(arg2.Changed, function() if arg2.UserInputState == Enum.UserInputState.End then pcKeybindFinishDrag() end end) end) Frame8.Position = pcKeybindClamp(Frame8.Position) pcKeybindSyncRows() return Frame8 end pcKeybindShow = function() if not pcKeybindIsPC() then add_line(".keybind", "PC only", true) red_anim() return false end local v8 = pcKeybindCreate() local v9 = pcKeybindClamp local num = tonumber(cfg.pc_keybind_position.x) local n2 = num or 0.5 local num2 = tonumber(cfg.pc_keybind_position.y) local n3 = num2 or 0.42 local v10 = v9(udim2(n2, 0, n3, 0)) local v11 = pcKeybindHeight() pcKeybindState.Open = true pcKeybindState.Capture = nil v8.Visible = true v8.Size = udim2(0, pcKeybindWidth, 0, 0) v8.Position = v10 + udim2(0, 0, 0, 9) v8.BackgroundTransparency = 1 pcKeybindSyncRows() make_tween(v8, 0.2, { Size = udim2(0, pcKeybindWidth, 0, v11), Position = v10, BackgroundTransparency = 0.04, }) add_line(".keybind", "keybinds gui opened", false) return true end pcKeybindHide = function(arg2) local frame = pcKeybindState.Frame if not frame or not pcKeybindState.Open then return true end pcKeybindState.Open = false pcKeybindCancelCapture() pcKeybindFinishDrag() for i, row in ipairs(pcKeybindState.Rows) do if row.Command and row.Command:IsFocused() then row.Command:ReleaseFocus() end end local position = frame.Position make_tween(frame, 0.16, { Size = udim2(0, pcKeybindWidth, 0, 0), Position = position + udim2(0, 0, 0, 8), BackgroundTransparency = 1, }) task.delay(0.17, function() if frame and frame.Parent and not pcKeybindState.Open then frame.Visible = false end end) if not arg2 then add_line(".keybind", "keybinds gui closed", false) end return true end pcKeybindToggle = function() if not pcKeybindIsPC() then add_line(".keybind", "PC only", true) red_anim() return false end local open = pcKeybindState.Open local v8 = open and pcKeybindHide(false) or pcKeybindShow() return v8 end pcKeybindResponsive = function() local v8 = pcKeybindState local frame = v8 and pcKeybindState.Frame if not frame then return end if not pcKeybindIsPC() then if pcKeybindState.Open then pcKeybindHide(true) end return end frame.Position = pcKeybindClamp(frame.Position) end pcKeybindRestore = function() local pcKeybinds = typeof(cfg.pc_keybinds) == "table" and cfg.pc_keybinds or {} local pcKeybinds2 = {} local tbl10 = {} local flag6 = false local n2 = math.clamp(#pcKeybinds, pcKeybindMin, pcKeybindMax) if pcKeybindMax < #pcKeybinds then flag6 = true end for i = 1, n2 do local tbl11 = typeof(pcKeybinds[i]) == "table" and pcKeybinds[i] or {} local v8 = pcKeybindAction local command = tbl11.command local command2 = command or tbl11.Command local v9 = v8(command2) local str = v9 or "" local v10 = pcKeybindCode local key = tbl11.key local key2 = key or tbl11.Key local v11 = v10(key2) local flag7 = v11 if v11 then if pcKeybindReserved(v11) then flag7 = false else flag7 = true end end if flag7 then flag7 = v11.Name end if not flag7 then flag7 = "" end if flag7 ~= "" and tbl10[flag7] then flag7 = "" flag6 = true end if flag7 ~= "" then tbl10[flag7] = true end pcKeybinds2[i] = {command = str, key = flag7} if tbl11.command ~= str or tbl11.key ~= flag7 then flag6 = true end end local pcKeybindPosition = typeof(cfg.pc_keybind_position) == "table" and cfg.pc_keybind_position or {} local clamp = math.clamp local v8 = tonumber local x = pcKeybindPosition.x local x2 = x or pcKeybindPosition.X local v9 = v8(x2) local n3 = v9 or 0.5 local v10 = clamp(n3, 0.02, 0.98) local clamp2 = math.clamp local v11 = tonumber local y = pcKeybindPosition.y local y2 = y or pcKeybindPosition.Y local v12 = v11(y2) local n4 = v12 or 0.42 local v13 = clamp2(n4, 0.02, 0.98) if pcKeybindPosition.x ~= v10 or pcKeybindPosition.y ~= v13 then flag6 = true end cfg.pc_keybinds = pcKeybinds2 cfg.pc_keybind_position = {x = v10, y = v13} if pcKeybindState.Frame then for i in ipairs(pcKeybinds2) do pcKeybindCreateRow(i) end pcKeybindState.Frame.Position = pcKeybindClamp(udim2(v10, 0, v13, 0)) pcKeybindResize() pcKeybindSyncRows() end if flag6 then save_cfg() end end fn2(UserInputService.InputChanged, function(arg2) local drag = pcKeybindState.Drag if not drag or arg2.UserInputType ~= Enum.UserInputType.MouseMovement then return end local n2 = arg2.Position - drag.Start local v8 = px_pos(drag.Position) drag.Target = pcKeybindClamp(udim2(0, v8.X + n2.X, 0, v8.Y + n2.Y)) make_tween(pcKeybindState.Frame, 0.05, {Position = drag.Target}) end) fn2(UserInputService.InputBegan, function(arg2, arg3) if not flag or not pcKeybindIsPC() then return end if not pcKeybindState.Capture then if arg3 or UserInputService:GetFocusedTextBox() or arg2.UserInputType ~= Enum.UserInputType.Keyboard or not run_command then return end local name = arg2.KeyCode.Name for i, pcKeybind in ipairs(cfg.pc_keybinds) do if pcKeybind.key == name and pcKeybind.command ~= "" then task.defer(run_command, mobileActionRunText(pcKeybind.command), "keybind") return end end return end pcKeybindHandleCapture(arg2) end) runBooleanOptionCommand = function(arg2, arg3, arg4) if not arg2 then return false end local v8 = parse_on_off(arg2) if v8 == nil then add_line(arg3.Command, arg3.Usage, true) if arg4 ~= "chat" then red_anim() end return true end if arg3.Setter(v8, false) and arg4 ~= "chat" then collapse() end return true end runFlingOptionCommand = function(arg2, arg3, arg4) local v8 = nil local flag6 = nil local v9, v10, v11 = ipairs(arg3.Names) local v12 = v11 local v13, v14, match repeat v13, v14 = v9(v10, v12) if v13 == nil then break end v12 = v13 match = arg2:match("^%." .. v14 .. "%s+(.+)$") v8 = match flag6 = arg2 == "." .. v14 until match or flag6 if not v8 and not flag6 then return false end if not arg3.Values then return runBooleanOptionCommand(v8, arg3, arg4) end if arg3.Setter(v8, false) and arg4 ~= "chat" then collapse() end return true end run_command = function(arg2, arg3) if notifying then return end local v8 = tostring local text = arg2 or input.Text local v9 = v8(text) local str = v9:gsub("^%s+", ""):gsub("%s+$", "") if str == "" or str == "." then return end if arg3 ~= "chat" then clear_input_quick(false, v9) end local str2 = str:gsub("^([!%.])['\"`]+", "%1") local str3 = str2 local v10, v11 = bringParseCommand(str2) if v10 and v11 then if bringCommandBusy then return end bringCommandBusy = true task.spawn(function() local ok = pcall(function() return bringCommand(v10, v11) end) bringCommandBusy = false if not ok then bringNotifyTimeout() end end) if arg3 ~= "chat" then collapse() end return end if not str2:match("^[!%.]bring") and not str2:match("^bring") then if str2:sub(1, 1) == "!" then str3 = "." .. str2:sub(2) end if str3:sub(1, 1) == ";" then str3 = "." .. str3:sub(2) elseif str3:sub(1, 1) ~= "." then str3 = "." .. str3 end local match, v12 = str3:match("^%.(%S+)%s*(.*)$") local v13 = match if match then local str4 = match:lower() v13 = str4 local str5 = v12 ~= "" and " " .. v12 or "" str3 = "." .. str4 .. str5 end local match2 = str3:match("^%.button%s+(.+)$") if not match2 and str3 ~= ".button" then local match3 = str3:match("^%.unbutton%s+(.+)$") if not match3 and str3 ~= ".unbutton" then if v12 == "" and (v13 == "keybind" or v13 == "keybinds" or v13 == "kb") then if pcKeybindToggle() and arg3 ~= "chat" then collapse() end return end local flag6 = v12 == "" and booleanCommands[v13] if flag6 then local v14 = flag6.get() local str4 = v14 and " off" or " on" str3 = str3 .. str4 end if str3 ~= ".clear" and str3 ~= ".cls" then if handleSkidCommandText and handleSkidCommandText(str3, arg3) then return end if autoWeaponCommandText(str3, arg3) then return end if getMethodCommandText(str3, arg3) then return end if silentAimVBCommandText(str3, arg3) then return end if antiFlingModeCommandText(str3, arg3) then return end local match4 = str3:match("^%.antifling%s+(.+)$") local match5 = match4 or str3:match("^%.af%s+(.+)$") if not match5 then local match6 = str3:match("^%.shield%s+(.+)$") if not match6 then local match7 = str3:match("^%.aneutral%s+(.+)$") if not match7 then local match8 = str3:match("^%.autore%s+(.+)$") local match9 = match8 or str3:match("^%.autorespawn%s+(.+)$") if not match9 then local match10 = str3:match("^%.autoarrest%s+(.+)$") local match11 = match10 or str3:match("^%.ar%s+(.+)$") if not match11 then local match12 = str3:match("^%.unlk%s+(.+)$") local match13 = match12 or str3:match("^%.unloopkill%s+(.+)$") if not match13 and str3 ~= ".unlk" and str3 ~= ".unloopkill" then local match14 = str3:match("^%.lk%s+(.+)$") local match15 = match14 or str3:match("^%.loopkill%s+(.+)$") if not match15 then if str3 ~= ".lk" and str3 ~= ".loopkill" then local flag7 = str3 == ".kill all" or str3 == ".killall" or str3 == ".kill everyone" if not flag7 then if str3 == ".kill team" then add_line(".kill team", "use Criminals / Inmate / Guards", true) if arg3 ~= "chat" then red_anim() end return end local match16 = str3:match("^%.kill%s+team%s+(.+)$") local match17 = match16 or str3:match("^%.kill%s+(.+)$") local v14 = normalizeKillTeamArg(match17) if not v14 then local match18 = str3:match("^%.kill%s+(.+)$") if not match18 and str3 ~= ".kill" then for i, v15 in ipairs(tbl8) do if runFlingOptionCommand(str3, v15, arg3) then return end end local match19 = str3:match("^%.fling%s+(.+)$") if not match19 and str3 ~= ".fling" then local match20 = str3:match("^%.antitaze%s+(.+)$") local match21 = match20 or str3:match("^%.ataze%s+(.+)$") or str3:match("^%.at%s+(.+)$") if not match21 then local match22 = str3:match("^%.antiriot%s+(.+)$") if not match22 then local match23 = str3:match("^%.laser%s+(.+)$") if not match23 then if str3 == ".laser" then add_line(".laser", "use .laser on/off", true) if arg3 ~= "chat" then red_anim() end return end local match24 = str3:match("^%.(boostfps)$") local match25 = match24 or str3:match("^%.(bestfps)$") or str3:match("^%.(antilag)$") if not match25 then local match26 = str3:match("^%.unfling%s+(.+)$") if not match26 and str3 ~= ".unfling" then local match27 = str3:match("^%.save%s+(.+)$") if not match27 then local match28 = str3:match("^%.delete%s+(.+)$") local match29 = match28 or str3:match("^%.del%s+(.+)$") if not match29 then local match30 = str3:match("^%.tp%s+(.+)$") local match31 = match30 or str3:match("^%.goto%s+(.+)$") or str3:match("^%.to%s+(.+)$") if not match31 and str3 ~= ".tp" and str3 ~= ".goto" and str3 ~= ".to" then local match32 = str3:match("^%.view%s+(.+)$") if not match32 and str3 ~= ".view" then if str3 ~= ".unview" and str3 ~= ".viewoff" then local match33 = str3:match("^%.saveserver%s+(.+)$") if not match33 and str3 ~= ".saveserver" then local match34 = str3:match("^%.clearserver%s+(.+)$") if not match34 and str3 ~= ".clearserver" then local match35 = str3:match("^%.joinserver%s+(.+)$") local match36 = match35 or str3:match("^%.js%s+(.+)$") if not match36 and str3 ~= ".joinserver" and str3 ~= ".js" then local match37 = str3:match("^%.jobid%s*(.*)$") local match38 = match37 or str3:match("^%.serverid%s*(.*)$") if match38 == nil then if str3 ~= ".servers" and str3 ~= ".savedservers" then if str3 ~= ".serverhop" and str3 ~= ".hop" then if str3 ~= ".rejoin" and str3 ~= ".rj" then local match39 = str3:match("^%.carspeed%s+(.+)$") local match40 = match39 or str3:match("^%.cs%s+(.+)$") if not match40 and str3 ~= ".carspeed" and str3 ~= ".cs" then if str3 == ".pp" then if pp_command() and arg3 ~= "chat" then collapse() end return end local match41 = str3:match("^%.backpackhead%s+(.+)$") local match42 = match41 or str3:match("^%.bhead%s+(.+)$") if not match42 then local match43 = str3:match("^%.toolaura%s+(.+)$") local match44 = match43 or str3:match("^%.taura%s+(.+)$") if not match44 then local match45 = str3:match("^%.punchaura%s+(.+)$") local match46 = match45 or str3:match("^%.pa%s+(.+)$") if not match46 then if str3 == ".skidlist" then showSkidList() if arg3 ~= "chat" then collapse() end return end local match47 = str3:match("^%.addskid%s+(.+)$") if not match47 then local match48 = str3:match("^%.deleteskid%s+(.+)$") local match49 = match48 or str3:match("^%.delskid%s+(.+)$") if not match49 then local match50 = str3:match("^%.target%s+(.+)$") if not match50 and str3 ~= ".target" then local match51 = str3:match("^%.silentaim%s+(.+)$") local match52 = match51 or str3:match("^%.silent%s+(.+)$") or str3:match("^%.aimbot%s+(.+)$") if not match52 then if str3 ~= ".silentaim" and str3 ~= ".silent" and str3 ~= ".aimbot" then local match53 = str3:match("^%.hitchance%s+(.+)$") if not match53 and str3 ~= ".hitchance" then local match54 = str3:match("^%.fovsize%s+(.+)$") if not match54 and str3 ~= ".fovsize" then local match55 = str3:match("^%.hitpart%s+(.+)$") if not match55 and str3 ~= ".hitpart" then local match56 = str3:match("^%.fov%s+(.+)$") if not match56 then if str3 == ".fov" then add_line(str3, "use .fov on/off", true) if arg3 ~= "chat" then red_anim() end return end local match57 = str3:match("^%.wallcheck%s+(.+)$") local match58 = match57 or str3:match("^%.wc%s+(.+)$") if not match58 then if str3 ~= ".wallcheck" and str3 ~= ".wc" then local match59 = str3:match("^%.teamcheck%s+(.+)$") if not match59 then if str3 == ".teamcheck" then add_line(str3, "use .teamcheck on/off", true) if arg3 ~= "chat" then red_anim() end return end local match60 = str3:match("^%.forcefield%s+(.+)$") local match61 = match60 or str3:match("^%.ff%s+(.+)$") if not match61 then if str3 ~= ".forcefield" and str3 ~= ".ff" then local match62 = str3:match("^%.passverify%s+(.+)$") local match63 = match62 or str3:match("^%.pverify%s+(.+)$") if not match63 then local match64 = str3:match("^%.playerlist%s+(.+)$") local match65 = match64 or str3:match("^%.guiplayers%s+(.+)$") or str3:match("^%.pgui%s+(.+)$") if not match65 then local match66 = str3:match("^%.kf%s+(.+)$") local match67 = match66 or str3:match("^%.killfeedback%s+(.+)$") if not match67 then local match68 = str3:match("^%.aimdetect%s+(.+)$") local match69 = match68 or str3:match("^%.aimbotdetect%s+(.+)$") if not match69 then local match70 = str3:match("^%.cartpdetection%s+(.+)$") local match71 = match70 or str3:match("^%.cd%s+(.+)$") if not match71 then local match72 = str3:match("^%.invisibledetection%s+(.+)$") local match73 = match72 or str3:match("^%.id%s+(.+)$") if not match73 then local match74 = str3:match("^%.lockspeed%s+(.+)$") local match75 = match74 or str3:match("^%.lockwalkspeed%s+(.+)$") if not match75 then local match76 = str3:match("^%.esp%s+(.+)$") local match77 = str3:match("^%.tracers%s+(.+)$") local match78 = str3:match("^%.tracerinfo%s+(.+)$") local match79 = str3:match("^%.backpackview%s+(.+)$") local match80 = match79 or str3:match("^%.bpview%s+(.+)$") local match81 = str3:match("^%.healthgui%s+(.+)$") local match82 = match81 or str3:match("^%.hg%s+(.+)$") local match83, v15 = str3:match("^%.(%S+)%s*(.-)$") local flag8 = match83 == "clearhitbox" and clearHitboxCommand or (match83 == "targethitbox" or match83 == "thitbox" or match83 == "thbe") and targetHitboxCommand if not flag8 then if not match76 and str3 ~= ".esp" then if not match77 and str3 ~= ".tracers" then if not match78 and str3 ~= ".tracerinfo" then if not match80 and str3 ~= ".backpackview" and str3 ~= ".bpview" then if not match82 and str3 ~= ".healthgui" and str3 ~= ".hg" then if match83 == "hitbox" then local v16 = parse_on_off(v15) if v16 == nil then add_line(str3, "use .hitbox on/off", true) if arg3 ~= "chat" then red_anim() end return end clearTargetHitboxes() flag5 = false espCfg.hitboxEnabled = v16 featureSet("hitbox_enabled", v16) save_cfg() refresh_saved_commands() local v17 = add_line local str4 = v16 and "on" or "off" local str5 = ".hitbox " .. str4 local str6 = v16 and "on" or "off" v17(str5, "hitbox expandida " .. str6, false) if arg3 ~= "chat" then collapse() end return end if match83 ~= "hitboxsize" and match83 ~= "hbsize" then if str3 ~= ".m4" and str3 ~= ".m4a1" and str3 ~= ".fal" and str3 ~= ".ak" and str3 ~= ".ak-47" and str3 ~= ".rev" and str3 ~= ".revolver" and str3 ~= ".m700" and str3 ~= ".sniper" and str3 ~= ".reming" and str3 ~= ".shotgun" and str3 ~= ".clothes" and str3 ~= ".riot" and str3 ~= ".mafia" then local match84 = str3:match("^%.autoget%s+(keycard)$") local match85 = match84 or str3:match("^%.autoget%s+(key)$") or str3:match("^%.autoget%s+(card)$") if not match85 then local match86, v16 = str3:match("^%.(aurakeycard)%s*(.*)$") local v17 = match86 local v18 = v16 if not match86 then local match87, v19 = str3:match("^%.(autokeycard)%s*(.*)$") v17 = match87 v18 = v19 end if not v17 then local match87, v19 = str3:match("^%.(autokey)%s*(.*)$") v17 = match87 v18 = v19 end if not v17 then local match87 = str3:match("^%.autoget%s+(.+)$") local match88 = match87 or str3:match("^%.ag%s+(.+)$") if not match88 then if str3 ~= ".combo1" and str3 ~= ".combo2" and str3 ~= ".combo3" then local match89 = str3:match("^%.noclip%s+(.+)$") if not match89 then local match90 = str3:match("^%.infjump%s+(.+)$") local match91 = match90 or str3:match("^%.infinitejump%s+(.+)$") if not match91 then local v19 = add_line local str4 = arg3 == "chat" and "[chat] " or "" v19(str4 .. str3, "cmd not found", true) if arg3 ~= "chat" then red_anim() end return end local v19 = parse_on_off(match91) if v19 == nil then add_line(str3, "use .infjump on/off", true) if arg3 ~= "chat" then red_anim() end return end if toggleInfJump(v19) and arg3 ~= "chat" then collapse() end return end local v19 = parse_on_off(match89) if v19 == nil then add_line(str3, "use .noclip on/off", true) if arg3 ~= "chat" then red_anim() end return end if toggleNoclip(v19) and arg3 ~= "chat" then collapse() end return end local str4 = str3:sub(2) if spawnQueueAdd("." .. str4, function() fn20(str4) end, arg3) then return end fn20(str4) if arg3 ~= "chat" then collapse() end return end if autoGetSetList(match88) and arg3 ~= "chat" then collapse() end return end local v19 = tostring local str4 = v18 or "" local str5 = v19(str4):lower():gsub("^%s+", ""):gsub("%s+$", "") if str5 ~= "off" and str5 ~= "false" and str5 ~= "disable" then autoKeycardSet(true, false) else autoKeycardSet(false, false) end if arg3 ~= "chat" then collapse() end return end autoKeycardSet(true, false) if arg3 ~= "chat" then collapse() end return end local str4 = str3:sub(2) local v16 = tbl7[str4] if v16 and v16.passId and not ownsGamePass(v16.passId) then add_line("." .. str4, gamepassBlockedMessage(v16), true) red_anim() return end if spawnQueueAdd("." .. str4, function() fn19(str4) end, arg3) then return end fn19(str4) if arg3 ~= "chat" then collapse() end return end local num = tonumber(v15) if num then local hitboxSize = math.clamp(num, 1, 10) espCfg.hitboxSize = hitboxSize save_cfg() refresh_saved_commands() add_line(".hitboxsize " .. hitboxSize, "hitbox size set to " .. hitboxSize, false) else add_line(str3, "use .hitboxsize <1-10>", true) if arg3 ~= "chat" then red_anim() end end if arg3 ~= "chat" then collapse() end return end local v16 = parse_on_off local str4 = match82 or "" local v17 = v16(str4) if v17 == nil then add_line(str3, "use .healthgui / .hg on/off", true) if arg3 ~= "chat" then red_anim() end return end espCfg.healthGuiEnabled = v17 featureSet("health_gui_enabled", v17) if v17 then refreshHealthGuis() task.delay(0.25, refreshHealthGuis) else removeAllHealthGuis() end save_cfg() local v18 = add_line local str5 = v17 and "on" or "off" local str6 = ".healthgui " .. str5 local str7 = v17 and "on" or "off" v18(str6, "health gui " .. str7, false) if arg3 ~= "chat" then collapse() end return end local v16 = parse_on_off local str4 = match80 or "" local v17 = v16(str4) if v17 == nil then add_line(str3, "use .backpackview on/off", true) if arg3 ~= "chat" then red_anim() end return end espCfg.backpackViewEnabled = v17 if not v17 then backpackCache = {} end save_cfg() local v18 = add_line local str5 = v17 and "on" or "off" local str6 = ".backpackview " .. str5 local str7 = v17 and "on" or "off" v18(str6, "vista de mochila " .. str7, false) if arg3 ~= "chat" then collapse() end return end local v16 = parse_on_off local str4 = match78 or "" local v17 = v16(str4) if v17 == nil then add_line(str3, "use .tracerinfo on/off", true) if arg3 ~= "chat" then red_anim() end return end espCfg.tracerInfoEnabled = v17 if not espCfg.tracersEnabled and not v17 then removeAllTracers() end save_cfg() local v18 = add_line local str5 = v17 and "on" or "off" local str6 = ".tracerinfo " .. str5 local str7 = v17 and "on" or "off" v18(str6, "informacion en trazadoras " .. str7, false) if arg3 ~= "chat" then collapse() end return end local v16 = parse_on_off local str4 = match77 or "" local v17 = v16(str4) if v17 == nil then add_line(str3, "use .tracers on/off", true) if arg3 ~= "chat" then red_anim() end return end espCfg.tracersEnabled = v17 if not v17 and not espCfg.tracerInfoEnabled then removeAllTracers() end save_cfg() local v18 = add_line local str5 = v17 and "on" or "off" local str6 = ".tracers " .. str5 local str7 = v17 and "on" or "off" v18(str6, "trazadoras " .. str7, false) if arg3 ~= "chat" then collapse() end return end local v16 = parse_on_off local str4 = match76 or "" local v17 = v16(str4) if v17 == nil then add_line(str3, "use .esp on/off", true) if arg3 ~= "chat" then red_anim() end return end espCfg.espEnabled = v17 refreshESP() if v17 then c4EspRefresh() task.delay(0.25, refreshESP) task.delay(0.9, refreshESP) else c4EspClear() end save_cfg() local v18 = add_line local str5 = v17 and "on" or "off" local str6 = ".esp " .. str5 local str7 = v17 and "on" or "off" v18(str6, "contorno esp " .. str7, false) if arg3 ~= "chat" then collapse() end return end if flag8(v15) and arg3 ~= "chat" then collapse() end return end local v15 = parse_on_off(match75) if v15 == nil then add_line(str3, "use on/off", true) if arg3 ~= "chat" then red_anim() end return end if set_speed_lock(v15) and arg3 ~= "chat" then collapse() end return end local v15 = parse_on_off(match73) if v15 == nil then add_line(str3, "use .invisibledetection on/off", true) if arg3 ~= "chat" then red_anim() end return end if set_invisible_detection(v15) and arg3 ~= "chat" then collapse() end return end local v15 = parse_on_off(match71) if v15 == nil then add_line(str3, "use .cartpdetection on/off or .cd on/off", true) if arg3 ~= "chat" then red_anim() end return end if set_fling_detector(v15) and arg3 ~= "chat" then collapse() end return end local v15 = parse_on_off(match69) if v15 == nil then add_line(str3, "use on/off", true) if arg3 ~= "chat" then red_anim() end return end if set_aim_detect(v15) and arg3 ~= "chat" then collapse() end return end local v15 = parse_on_off(match67) if v15 == nil then add_line(str3, "use on/off", true) if arg3 ~= "chat" then red_anim() end return end if set_kill_feedback(v15) and arg3 ~= "chat" then collapse() end return end local v15 = parse_on_off(match65) if v15 == nil then add_line(str3, "use .playerlist on/off or .pgui on/off", true) if arg3 ~= "chat" then red_anim() end return end if playerListSet(v15) and arg3 ~= "chat" then collapse() end return end if passVerifyCommand(match63) and arg3 ~= "chat" then collapse() end return end add_line(str3, "use .forcefield on/off or .ff on/off", true) if arg3 ~= "chat" then red_anim() end return end local v15 = parse_on_off(match61) if v15 == nil then add_line(str3, "use .forcefield on/off or .ff on/off", true) if arg3 ~= "chat" then red_anim() end return end if silentAimSetCheck("silent_forcefield_check", ".forcefield", v15) and arg3 ~= "chat" then collapse() end return end local v15 = parse_on_off(match59) if v15 == nil then add_line(str3, "use .teamcheck on/off", true) if arg3 ~= "chat" then red_anim() end return end if silentAimSetCheck("silent_team_check", ".teamcheck", v15) and arg3 ~= "chat" then collapse() end return end add_line(str3, "use .wallcheck on/off or .wc on/off", true) if arg3 ~= "chat" then red_anim() end return end local v15 = parse_on_off(match58) if v15 == nil then add_line(str3, "use .wallcheck on/off or .wc on/off", true) if arg3 ~= "chat" then red_anim() end return end if silentAimSetCheck("silent_wall_check", ".wallcheck", v15) and arg3 ~= "chat" then collapse() end return end local v15 = parse_on_off(match56) if v15 == nil then add_line(str3, "use .fov on/off", true) if arg3 ~= "chat" then red_anim() end return end if silentAimSetFovVisible(v15) and arg3 ~= "chat" then collapse() end return end if silentAimSetHitPart(match55) and arg3 ~= "chat" then collapse() end return end if silentAimSetFovSize(match54) and arg3 ~= "chat" then collapse() end return end if silentAimSetHitChance(match53) and arg3 ~= "chat" then collapse() end return end add_line(str3, "use .silentaim on/off", true) if arg3 ~= "chat" then red_anim() end return end local v15 = parse_on_off(match52) if v15 == nil then add_line(str3, "use .silentaim on/off", true) if arg3 ~= "chat" then red_anim() end return end if silentAimSet(v15, false) and arg3 ~= "chat" then collapse() end return end local v15 = targetCommand local str4 = match50 or "" if v15(str4) and arg3 ~= "chat" then collapse() elseif arg3 ~= "chat" then task.delay(0.18, function() if opened then input:CaptureFocus() end end) end return end if deleteSkidCommand(match49) and arg3 ~= "chat" then collapse() end return end if addSkidCommand(match47) and arg3 ~= "chat" then collapse() end return end local v15 = parse_on_off(match46) if v15 == nil then add_line(str3, "use .punchaura on/off or .pa on/off", true) if arg3 ~= "chat" then red_anim() end return end if punchAuraSet(v15) and arg3 ~= "chat" then collapse() end return end local v15 = parse_on_off(match44) if v15 == nil then add_line(str3, "use .toolaura on/off or .taura on/off", true) if arg3 ~= "chat" then red_anim() end return end if toolAuraSet(v15) and arg3 ~= "chat" then collapse() end return end local v15 = parse_on_off(match42) if v15 == nil then add_line(str3, "use .backpackhead on/off or .bhead on/off", true) if arg3 ~= "chat" then red_anim() end return end if animBackpackHeadSet(v15) and arg3 ~= "chat" then collapse() end return end local v15 = parse_on_off local str4 = match40 or "on" local v16 = v15(str4) if v16 == nil then add_line(".carspeed", "use .carspeed/.cs on/off", true) if arg3 ~= "chat" then red_anim() end return end if carspeed(v16) and arg3 ~= "chat" then collapse() end return end rejoin() if arg3 ~= "chat" then collapse() end return end serverhop() if arg3 ~= "chat" then collapse() end return end show_saved_servers() if arg3 ~= "chat" then expand(false) end return end if copy_current_server_id(match38) and arg3 ~= "chat" then collapse() end return end if not match36 then add_line(str3, "use .joinserver jobid/name or .js jobid/name", true) if arg3 ~= "chat" then red_anim() end return end if join_saved_server(match36) and arg3 ~= "chat" then collapse() end return end if clear_saved_server(match34) and arg3 ~= "chat" then expand(false) end return end if save_current_server(match33) and arg3 ~= "chat" then expand(false) end return end if unview() and arg3 ~= "chat" then collapse() end return end local v15 = smart_target_arg(match32) if not v15 then smart_target_error(".view") return end if view_any(v15) and arg3 ~= "chat" then collapse() end return end local v15 = smart_target_arg(match31) if not v15 then smart_target_error(".tp") return end if spawnQueueAdd(str3, function() if autoRespawnDirectTpPriority then autoRespawnDirectTpPriority("tp") end if autoRespawnDeadTpBegin then autoRespawnDeadTpBegin(v15) end local now = os.clock() local flag8 = false local character_, humanoid_, humanoidRootPart repeat character_ = LocalPlayer.Character humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") humanoidRootPart = character_ and character_:FindFirstChild("HumanoidRootPart") if humanoid_ and humanoidRootPart and humanoid_.Health > 0 then flag8 = true break end task.wait(0.03) until os.clock() - now > 2.5 if flag8 then RunService.Heartbeat:Wait() RunService.Heartbeat:Wait() end local flag9 = flag8 and tp_any(v15) or false if autoRespawnDeadTpEnd then autoRespawnDeadTpEnd() end return flag9 end, arg3) then return end if tp_any(v15) and arg3 ~= "chat" then collapse() end return end if delete_save(match29) and arg3 ~= "chat" then expand(false) end return end if save_pos(match27) and arg3 ~= "chat" then expand(false) end return end local v15 = smart_target_arg(match26) if not v15 then smart_target_error(".unfling") return end if unfling_target(v15) and arg3 ~= "chat" then collapse() end return end if applyBoostFPS() and arg3 ~= "chat" then collapse() end return end laserCommand(match23:lower()) return end if antiRiotCommand(match22) and arg3 ~= "chat" then collapse() elseif arg3 ~= "chat" then task.delay(0.18, function() if opened then input:CaptureFocus() end end) end return end antiTazeCommand(match21) if arg3 ~= "chat" then collapse() end return end local v15 = smart_target_arg(match19) if not v15 then smart_target_error(".fling") return end if fling_target(v15) and arg3 ~= "chat" then collapse() end return end local v15 = smart_target_arg(match18) if not v15 then smart_target_error(".kill") return end real_kill(v15) if arg3 ~= "chat" then collapse() end return end if killTeam(v14) and arg3 ~= "chat" then collapse() end return end if killAllTargets() and arg3 ~= "chat" then collapse() end return end add_line(";lk", "use ;lk user (num)", true) if arg3 ~= "chat" then red_anim() end return end if loopKillCommand(match15) and arg3 ~= "chat" then collapse() end return end if loopKillCancel(match13) and arg3 ~= "chat" then collapse() end return end if autoArrestCommand(match11) and arg3 ~= "chat" then collapse() elseif arg3 ~= "chat" then task.delay(0.18, function() if opened then input:CaptureFocus() end end) end return end if autoRespawnCommand(match9) and arg3 ~= "chat" then collapse() elseif arg3 ~= "chat" then task.delay(0.18, function() if opened then input:CaptureFocus() end end) end return end if autoRespawnNeutralCommand(match7) and arg3 ~= "chat" then collapse() elseif arg3 ~= "chat" then task.delay(0.18, function() if opened then input:CaptureFocus() end end) end return end local v14 = parse_on_off(match6) if v14 == nil then add_line(str3, "use .shield on/off", true) if arg3 ~= "chat" then red_anim() end return end if wallSet(v14, false) and arg3 ~= "chat" then collapse() end return end if antiFlingV1Command(match5) and arg3 ~= "chat" then collapse() elseif arg3 ~= "chat" then task.delay(0.18, function() if opened then input:CaptureFocus() end end) end return end clear_logs() if arg3 ~= "chat" then task.delay(0.18, function() if opened then input:CaptureFocus() end end) end return end if mobileToggleButtonRemove(match3) and arg3 ~= "chat" then collapse() end return end if mobileToggleButtonAdd(match2) and arg3 ~= "chat" then collapse() end return end bringNotifyUsage() end fn2(UserInputService.InputBegan, function(arg2, arg3) if (arg3 or UserInputService:GetFocusedTextBox()) and not input:IsFocused() then return end if arg2.KeyCode == Enum.KeyCode.Period then if opened and (not input:IsFocused() or input.Text == "") then collapse() return end if not opened and not input:IsFocused() then expand(true) return end end end) fn2(input.FocusLost, function(arg2) if arg2 then run_command(input.Text, "bar") end end) fn2(toggle.MouseEnter, function() local v8 = kxThemeCurrent() local v9 = make_tween local v10 = toggle local tbl10 = {} local v11 = kxThemeLighten local panel = v8.Panel local v12 = opened local n2 = v12 and 0.18 or 0.14 tbl10.BackgroundColor3 = v11(panel, n2) tbl10.TextColor3 = v8.Accent v9(v10, 0.06, tbl10) if togglestroke then togglestroke.Color = v8.Accent end end) fn2(toggle.MouseLeave, function() set_button_state() if kxApplyCommandBarThemeOnly then kxApplyCommandBarThemeOnly() end end) fn2(toggle.MouseButton1Click, function() if opened then collapse(true) else expand(false) end end) kxSetupMobileButton = function() if kxMobileCmdButton or not gui then return end local v8 = gui local v9 = vector2(0, 1) local v10 = kxUsePhoneGui() local v11 = v10 and udim2(0, 44, 0, 44) or udim2(0, 56, 0, 56) local v12 = kxUsePhoneGui() local v13 = v12 and udim2(0, 10, 1, -12) or udim2(0, 14, 1, -18) local TextButton = fn5("TextButton", v8, "Name", "KX_Mobile_CMD_Button", "AnchorPoint", v9, "Size", v11, "Position", v13, "BackgroundColor3", color(18, 26, 38), "BorderSizePixel", 0, "Text", "CMD", "TextColor3", color(170, 210, 255), "Font", Enum.Font.GothamBlack, "TextSize", 12, "AutoButtonColor", false, "Visible", kxUseMobile(), "ZIndex", 90) kxMobileCmdButton = TextButton if kxApplyPhoneScales then kxApplyPhoneScales() end fn5("UICorner", kxMobileCmdButton, "CornerRadius", udim(1, 0)) fn5("UIStroke", kxMobileCmdButton, "Color", color(92, 170, 255), "Thickness", 1.25, "Transparency", 0.18) kxButtonMin(kxMobileCmdButton, 54, 54) kxTextClamp(kxMobileCmdButton, 10, 13) fn2(kxMobileCmdButton.Activated, function() if opened then collapse(true) else expand(false) end end) end kxSetupMobileButton() mobileToggleButtonsRestore() pcKeybindRestore() kxApplyResponsiveLayout() task.defer(kxApplyDesktopDefaultPosition) task.defer(function() if kxApplyTheme then kxApplyTheme() end end) if not kxResponsiveBound then kxResponsiveBound = true pcall(function() fn2(UserInputService:GetPropertyChangedSignal("PreferredInput"), function() task.defer(kxApplyResponsiveLayout) end) end) pcall(function() fn2(camera:GetPropertyChangedSignal("ViewportSize"), function() task.wait(0.05) kxApplyResponsiveLayout() end) end) end fn2(logbtn.MouseEnter, function() local v8 = kxThemeCurrent() local v9 = make_tween local v10 = logbtn local tbl10 = {} local v11 = kxThemeLighten local panel = v8.Panel local v12 = logs_open local n2 = v12 and 0.16 or 0.1 tbl10.BackgroundColor3 = v11(panel, n2) tbl10.TextColor3 = v8.Text v9(v10, 0.06, tbl10) if logbtnstroke then logbtnstroke.Color = v8.Accent end end) fn2(logbtn.MouseLeave, function() set_log_button() if kxApplyCommandBarThemeOnly then kxApplyCommandBarThemeOnly() end end) fn2(logbtn.MouseButton1Click, function() if db_view_open then hide_db_view() elseif logs_open then hide_logs() else show_logs() end end) fn2(dbbtn.MouseButton1Click, function() if db_view_open then hide_db_view() else show_db_view() end end) fn2(dbbtn.MouseEnter, function() local v8 = kxThemeCurrent() local v9 = make_tween local v10 = dbbtn local tbl10 = {} local v11 = kxThemeLighten local panel = v8.Panel local v12 = db_view_open local n2 = v12 and 0.18 or 0.12 tbl10.BackgroundColor3 = v11(panel, n2) local v13 = db_view_open local accent_ = v13 and v8.Accent or v8.Text tbl10.TextColor3 = accent_ v9(v10, 0.06, tbl10) if dbbtnstroke then dbbtnstroke.Color = v8.Accent end end) fn2(dbbtn.MouseLeave, function() set_db_button() if kxApplyCommandBarThemeOnly then kxApplyCommandBarThemeOnly() end end) fn2(top.InputBegan, function(arg2) if arg2.UserInputType == Enum.UserInputType.MouseButton1 or arg2.UserInputType == Enum.UserInputType.Touch then local position = arg2.Position local flag6 = inputwrap.AbsolutePosition.X <= position.X and position.X <= inputwrap.AbsolutePosition.X + inputwrap.AbsoluteSize.X and inputwrap.AbsolutePosition.Y <= position.Y and position.Y <= inputwrap.AbsolutePosition.Y + inputwrap.AbsoluteSize.Y local flag7 = toggle.AbsolutePosition.X <= position.X and position.X <= toggle.AbsolutePosition.X + toggle.AbsoluteSize.X and toggle.AbsolutePosition.Y <= position.Y and position.Y <= toggle.AbsolutePosition.Y + toggle.AbsoluteSize.Y local flag8 = logbtn.AbsolutePosition.X <= position.X and position.X <= logbtn.AbsolutePosition.X + logbtn.AbsoluteSize.X and logbtn.AbsolutePosition.Y <= position.Y and position.Y <= logbtn.AbsolutePosition.Y + logbtn.AbsoluteSize.Y local v8 = px_pos(holder.Position) local v9 = kxUsePhoneGui() local flag9 = v9 if v9 then flag9 = v8.X < 0 if not flag9 then local n2 = v8.X + holder.AbsoluteSize.X flag9 = viewport().X < n2 end end if (flag6 or flag7 or flag8) and not flag9 then return end dragging = true drag_start = arg2.Position start_pos = holder.Position holder:SetAttribute("KX_UserDragged", true) fn2(arg2.Changed, function() if arg2.UserInputState == Enum.UserInputState.End then dragging = false local v10 = keep_inside local v11 = opened local v12 = v11 and opened_holder or closed_holder v10(v12) end end) end end) fn2(top.InputChanged, function(arg2) if arg2.UserInputType == Enum.UserInputType.MouseMovement or arg2.UserInputType == Enum.UserInputType.Touch then drag_input = arg2 end end) fn2(UserInputService.InputChanged, function(arg2) if arg2 ~= drag_input or not dragging then return end local n2 = arg2.Position - drag_start local v8 = opened local v9 = v8 and opened_holder or closed_holder local v10 = px_pos(start_pos) local v11 = udim2(0, v10.X + n2.X, 0, v10.Y + n2.Y) local v12 = clamp_holder(v11, v9) holder.Position = v12 move_logs() end) task.defer(function() task.wait(0.75) refreshFeatureRuntime() if autoWeaponScan then autoWeaponScan() end if not featureGet("backpack_head", cfg.backpack_head) then pcall(function() animBackpackHeadStop() animBackpackHeadStopAll(LocalPlayer.Character) end) end if not featureGet("punch_aura", cfg.punch_aura) then pcall(punchAuraStop) end if not featureGet("tool_aura", cfg.tool_aura) then pcall(toolAuraStop) end if not featureGet("player_list", cfg.player_list) then pcall(playerListDestroy) end if not featureGet("laser_state", cfg.laser_state) then laserEnabled = false end if featureGet("auto_keycard", cfg.auto_keycard) and autoKeycardStart then pcall(autoKeycardStart, true) elseif autoKeycardStop then pcall(autoKeycardStop, true) end if cfg.noclip then toggleNoclip(true, true) end if cfg.inf_jump then toggleInfJump(true) end refresh_saved_commands() task.delay(0.25, fn15) end) handleControlSignal = function(arg2, arg3) if not controlSignalAuthorized(arg2) then return false end local v8 = tostring local str = arg3 or "" local match, v9 = v8(str):lower():match("^%.(%S+)%s+(%S+)%s*$") local str2 = v9 and v9:gsub("^@", "") local v10 = str2 if v10 ~= LocalPlayer.Name:lower() or match ~= "kick" and match ~= "kill" then return false end if isScriptOwner(LocalPlayer) then return true end if match == "kick" then LocalPlayer:Kick("You were kicked by someone with Control Signal access to the script.") else local character_ = LocalPlayer.Character local humanoid_ = character_ and character_:FindFirstChildOfClass("Humanoid") if humanoid_ and humanoid_.Health > 0 then humanoid_.Health = 0 end end return true end controlSignalBindLegacy = function(arg2) if arg2 == LocalPlayer or not controlSignalAuthorized(arg2) then return end fn2(arg2.Chatted, function(arg3) handleControlSignal(arg2, arg3) end) end hook_chat = function() if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then fn2(TextChatService.MessageReceived, function(arg2) local textSource = arg2.TextSource local playerByUserId = textSource and Players:GetPlayerByUserId(textSource.UserId) local v8 = tostring local text = arg2.Text local str = text or "" local str2 = v8(str):lower() if playerByUserId and handleControlSignal(playerByUserId, str2) then return end if textSource and textSource.UserId == LocalPlayer.UserId and str2:match("^[!%.;]%S+") then run_command(str2, "chat") end end) else for i, v8 in ipairs(tbl4) do controlSignalBindLegacy(v8) end fn2(Players.PlayerAdded, controlSignalBindLegacy) fn2(LocalPlayer.Chatted, function(arg2) local v8 = tostring local str = arg2 or "" local str2 = v8(str):lower() if handleControlSignal(LocalPlayer, str2) then return end if str2:match("^[!%.;]%S+") then run_command(str2, "chat") end end) end end if LocalPlayer.Character then hookchar(LocalPlayer.Character) end fn2(LocalPlayer.CharacterAdded, function(arg2) hookchar(arg2) task.wait(0.45) if cfg.lock_walkspeed then local v8 = get_hum() if v8 then v8.WalkSpeed = cfg.walkspeed_value end end if viewer and spectating_player then apply_view_target(spectating_player) end end) for i, v8 in ipairs(tbl4) do hookdeath(v8) end fn2(Players.PlayerAdded, function(arg2) hookdeath(arg2) checkScriptRole(arg2) end) fn2(Players.PlayerRemoving, function(arg2) rstreak(arg2) kd.hp[tostring(arg2.UserId)] = nil kd.hits[tostring(arg2.UserId)] = nil ad.hp[arg2.UserId] = nil ad.track[tostring(arg2.UserId)] = nil for k in pairs(kd.recent) do if string.find(k, tostring(arg2.UserId), 1, true) then kd.recent[k] = nil end end scriptRoleSeen[arg2] = nil end) fn2(workspace:GetPropertyChangedSignal("CurrentCamera"), function() local v8 = keep_inside local v9 = opened local v10 = v9 and opened_holder or closed_holder v8(v10) if viewer and spectating_player then task.wait() apply_view_target(spectating_player) end end) if Workspace.CurrentCamera then fn2(Workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"), function() local v8 = keep_inside local v9 = opened local v10 = v9 and opened_holder or closed_holder v8(v10) end) end if fn13 then fn13() end refresh_saved_commands() local v8 = add_line local displayName = LocalPlayer.DisplayName local name = displayName or LocalPlayer.Name v8("Welcome " .. name, "Saved TPs: " .. tostring(#saves), false) set_button_state() set_log_button() hook_chat() checkScriptRoles() task.defer(function() keep_inside(closed_holder) move_logs() input.Text = "" if cfg.lock_walkspeed then local v9 = get_hum() if v9 then v9.WalkSpeed = cfg.walkspeed_value end end end) game:GetService("StarterGui"):SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false) end fn13 = function() local kxApiTerminal = genv.__KX_API_TERMINAL if not kxApiTerminal then return false end local function fn15(arg, arg2) if type(add_line) == "function" then local v6 = pcall local v7 = add_line local v8 = tostring local str = arg or "command" v6(v7, "[API] " .. v8(str), tostring(arg2), true) end if type(red_anim) == "function" then pcall(red_anim) end return false, tostring(arg2) end local function fn16(arg) if arg == true then return "on" end if arg == false then return "off" end if typeof(arg) == "Instance" and arg:IsA("Player") then return arg.Name end return tostring(arg) end local function fn17(arg, ...) local v6 = tostring local str = arg or "" local str2 = v6(str):gsub("^%s+", ""):gsub("%s+$", "") local str3 = str2 if str2 == "" then return nil end if not str2:match("^[!%.;]") then str3 = "." .. str2 end for i = 1, select("#", ...) do local value = select(i, ...) if value ~= nil then str3 = str3 .. " " .. fn16(value) end end return str3 end local function fn18(arg, ...) if not flag or type(run_command) ~= "function" then return fn15(arg, "api not ready") end local v6 = fn17(arg, ...) if not v6 then return fn15(arg, "empty command") end local ok, result = pcall(run_command, v6, "api") if not ok then return fn15(v6, result) end return true, "submitted" end local function fn19(arg, arg2) local flag5 = arg local flag6 = arg2 if arg == nil then flag5 = true end if arg2 == nil then flag6 = true end local flag7 = flag5 == true local flag8 = flag6 == true return flag7, flag8 end local function terminalentries(arg, arg2) local v6, v7 = fn19(arg, arg2) local tbl4 = {} for i, entry in ipairs(kxApiTerminal.entries) do if entry.Error and v7 or not entry.Error and v6 then tbl4[#tbl4 + 1] = { Command = entry.Command, Message = entry.Message, Error = entry.Error, Text = entry.Text, Timestamp = entry.Timestamp, } end end return tbl4 end local function terminallogs(arg, arg2) local tbl4 = {} for i, v6 in ipairs(terminalentries(arg, arg2)) do tbl4[#tbl4 + 1] = v6.Text end return table.concat(tbl4, "\n") end local tbl4 = { m4 = "m4", m4a1 = "m4a1", reming = "reming", remington = "reming", shotgun = "shotgun", fal = "fal", ak = "ak", ak47 = "ak-47", ["ak-47"] = "ak-47", rev = "rev", revolver = "revolver", m700 = "m700", sniper = "sniper", clothes = "clothes", riot = "riot", mafia = "mafia", combo1 = "combo1", combo2 = "combo2", combo3 = "combo3", } local tbl5 = { Version = "3.2", rd = function() local v6 = flag local flag5 = v6 and type(run_command) == "function" return flag5 end, execute = function(arg, ...) local str = arg if select("#", ...) == 0 and type(arg) == "string" then str = arg:gsub("%s*,%s*", " ") end return fn18(str, ...) end, command = fn18, readskids = function() if typeof(Players) ~= "Instance" or type(skidGetEntryForPlayer) ~= "function" then return fn15("readskids", "skidlist not ready") end if type(importLegacySkidList) == "function" then pcall(importLegacySkidList) end local tbl5 = {} for i, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then local ok, result = pcall(skidGetEntryForPlayer, player) if ok and result then tbl5[#tbl5 + 1] = player.Name if type(skidDetectPlayer) == "function" then pcall(skidDetectPlayer, player, false) end end end end table.sort(tbl5, function(arg, arg2) local flag5 = arg:lower() < arg2:lower() return flag5 end) return table.concat(tbl5, "\n"), tbl5 end, getguns = function(arg) local v6 = tostring local str = arg or "" local v7 = tbl4[v6(str):lower():gsub("^%s+", ""):gsub("%s+$", "")] if not v7 then return fn15("getguns", "use m4a1/reming/fal/ak/revolver/m700/clothes/riot/mafia/combo1/combo2/combo3") end return fn18(v7) end, } tbl5.GetGuns = tbl5.getguns tbl5.fling = function(arg) if arg ~= nil and not tostring(arg):match("^%s*$") then return fn18("fling", arg) end return fn15("fling", "use KX.fling(\"player\")") end tbl5.Fling = tbl5.fling tbl5.unfling = function(arg) if arg ~= nil and not tostring(arg):match("^%s*$") then return fn18("unfling", arg) end return fn15("unfling", "use KX.unfling(\"player\")") end tbl5.Unfling = tbl5.unfling tbl5.terminallogs = terminallogs tbl5.TerminalLogs = terminallogs tbl5.terminalllogs = terminallogs tbl5.terminalentries = terminalentries tbl5.TerminalEntries = terminalentries tbl5.clearterminallogs = function() table.clear(kxApiTerminal.entries) return true end tbl5.onterminallog = function(arg, arg2, arg3) if type(arg) ~= "function" then return fn15("onterminallog", "callback must be a function") end local v6, v7 = fn19(arg2, arg3) kxApiTerminal.nextListener = kxApiTerminal.nextListener + 1 local nextListener = kxApiTerminal.nextListener kxApiTerminal.listeners[nextListener] = {callback = arg, normal = v6, errors = v7} return function() kxApiTerminal.listeners[nextListener] = nil end end tbl5.OnTerminalLog = tbl5.onterminallog setmetatable(tbl5, { __index = function(arg, arg2) if type(arg2) == "string" and arg2:match("^[%w_%-]+$") then return function(...) return fn18(arg2, ...) end end return nil end, __metatable = "KeraCmd API", }) local v6 = tbl5 if table.freeze then local ok, result = pcall(table.freeze, tbl5) if ok and result then v6 = result end end genv.KX = v6 genv.KeraCmdAPI = v6 fn4(function() if genv.KX == v6 then genv.KX = nil end if genv.KeraCmdAPI == v6 then genv.KeraCmdAPI = nil end if genv.__KX_API_TERMINAL == kxApiTerminal then table.clear(kxApiTerminal.entries) table.clear(kxApiTerminal.listeners) genv.__KX_API_TERMINAL = nil end end) return true end task.spawn(fn14)