local Players = game:GetService("Players") local Workspace = game:GetService("Workspace") local ReplicatedStorage = game:GetService("ReplicatedStorage") local CollectionService = game:GetService("CollectionService") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local WeaponControllerFolder = ReplicatedStorage :WaitForChild("CORE") :WaitForChild("Controllers") :WaitForChild("WeaponController") local WeaponState = require(WeaponControllerFolder:WaitForChild("WeaponState")) local FireSystem = require(WeaponControllerFolder:WaitForChild("FireSystem")) local AimAssist = require(WeaponControllerFolder:WaitForChild("AimAssist")) local Knit = require(ReplicatedStorage.Packages.Knit) local WeaponController = Knit.GetController("WeaponController") local Packets = require( ReplicatedStorage :WaitForChild("CORE") :WaitForChild("Network") :WaitForChild("Packets") ) local CONFIG = { Enabled = true, FOV = 300, AimCone = 180, FullCircle = true, TargetHead = true, TargetPlayers = true, TargetBots = true, TargetTeam = false, AliveCheck = true, IgnoreForceField = false, OnScreenCheck = true, VisibleCheck = true, Keybind = Enum.KeyCode.RightShift, TriggerbotEnabled = false, TriggerbotKeybind = Enum.KeyCode.RightControl, TriggerbotRequireLMB = false, TriggerbotMinDelay = 0.20, AutoReloadThreshold = 1, AutoReloadCooldown = 1.5, AutoRespawn = true, AutoRespawnDelay = 0, AutoRespawnKeybind = Enum.KeyCode.Backspace, RestoreDeathPosition = true, RestoreDelay = 0.15, ESPEnabled = true, ESPFill = Color3.fromRGB(255, 200, 40), ESPOutline = Color3.fromRGB(255, 255, 255), ESPText = Color3.fromRGB(255, 255, 255), ESPTextStroke = Color3.fromRGB(0, 0, 0), ESPLabel = "LUCKY BLOCK", } local SilentAimEnabled = CONFIG.Enabled local TriggerbotEnabled = CONFIG.TriggerbotEnabled local function GetCamera() return Workspace.CurrentCamera end local function BuildUI() local gui = Instance.new("ScreenGui") gui.Name = "SilentAimUI" gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling gui.Parent = PlayerGui local frame = Instance.new("Frame") frame.AnchorPoint = Vector2.new(1, 0) frame.Position = UDim2.new(1, -12, 0, 12) frame.Size = UDim2.new(0, 240, 0, 200) frame.BackgroundColor3 = Color3.fromRGB(18, 18, 22) frame.BackgroundTransparency = 0.15 frame.BorderSizePixel = 0 frame.Parent = gui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = frame local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(60, 60, 70) stroke.Thickness = 1 stroke.Transparency = 0.4 stroke.Parent = frame local padding = Instance.new("UIPadding") padding.PaddingTop = UDim.new(0, 8) padding.PaddingBottom = UDim.new(0, 8) padding.PaddingLeft = UDim.new(0, 10) padding.PaddingRight = UDim.new(0, 10) padding.Parent = frame local layout = Instance.new("UIListLayout") layout.FillDirection = Enum.FillDirection.Vertical layout.HorizontalAlignment = Enum.HorizontalAlignment.Center layout.VerticalAlignment = Enum.VerticalAlignment.Top layout.SortOrder = Enum.SortOrder.LayoutOrder layout.Padding = UDim.new(0, 4) layout.Parent = frame local aimStatus = Instance.new("TextLabel") aimStatus.Name = "AimStatus" aimStatus.LayoutOrder = 1 aimStatus.Size = UDim2.new(1, 0, 0, 20) aimStatus.BackgroundTransparency = 1 aimStatus.Font = Enum.Font.GothamBold aimStatus.TextSize = 15 aimStatus.TextXAlignment = Enum.TextXAlignment.Center aimStatus.Text = "Silent Aim: ON" aimStatus.TextColor3 = Color3.fromRGB(0, 230, 100) aimStatus.Parent = frame local trigStatus = Instance.new("TextLabel") trigStatus.Name = "TrigStatus" trigStatus.LayoutOrder = 2 trigStatus.Size = UDim2.new(1, 0, 0, 20) trigStatus.BackgroundTransparency = 1 trigStatus.Font = Enum.Font.GothamBold trigStatus.TextSize = 15 trigStatus.TextXAlignment = Enum.TextXAlignment.Center trigStatus.Text = "Triggerbot: OFF" trigStatus.TextColor3 = Color3.fromRGB(255, 90, 90) trigStatus.Parent = frame local respawnStatus = Instance.new("TextLabel") respawnStatus.Name = "RespawnStatus" respawnStatus.LayoutOrder = 3 respawnStatus.Size = UDim2.new(1, 0, 0, 20) respawnStatus.BackgroundTransparency = 1 respawnStatus.Font = Enum.Font.GothamBold respawnStatus.TextSize = 15 respawnStatus.TextXAlignment = Enum.TextXAlignment.Center respawnStatus.Text = "Auto-Respawn: ON" respawnStatus.TextColor3 = Color3.fromRGB(0, 230, 100) respawnStatus.Parent = frame local hintLabel = Instance.new("TextLabel") hintLabel.Name = "Hint" hintLabel.LayoutOrder = 4 hintLabel.Size = UDim2.new(1, 0, 0, 22) hintLabel.BackgroundTransparency = 1 hintLabel.Font = Enum.Font.Gotham hintLabel.TextSize = 10 hintLabel.TextWrapped = true hintLabel.TextXAlignment = Enum.TextXAlignment.Center hintLabel.TextColor3 = Color3.fromRGB(200, 200, 200) hintLabel.Text = "RightShift / RightControl / Backspace to toggle" hintLabel.Parent = frame local aimBtn = Instance.new("TextButton") aimBtn.Name = "AimBtn" aimBtn.LayoutOrder = 5 aimBtn.Size = UDim2.new(1, 0, 0, 28) aimBtn.BackgroundColor3 = Color3.fromRGB(0, 140, 60) aimBtn.BorderSizePixel = 0 aimBtn.AutoButtonColor = true aimBtn.Font = Enum.Font.GothamBold aimBtn.TextSize = 13 aimBtn.TextColor3 = Color3.fromRGB(255, 255, 255) aimBtn.Text = "TOGGLE SILENT AIM" aimBtn.Parent = frame local aimBtnCorner = Instance.new("UICorner") aimBtnCorner.CornerRadius = UDim.new(0, 6) aimBtnCorner.Parent = aimBtn local trigBtn = Instance.new("TextButton") trigBtn.Name = "TrigBtn" trigBtn.LayoutOrder = 6 trigBtn.Size = UDim2.new(1, 0, 0, 28) trigBtn.BackgroundColor3 = Color3.fromRGB(150, 40, 40) trigBtn.BorderSizePixel = 0 trigBtn.AutoButtonColor = true trigBtn.Font = Enum.Font.GothamBold trigBtn.TextSize = 13 trigBtn.TextColor3 = Color3.fromRGB(255, 255, 255) trigBtn.Text = "TOGGLE TRIGGERBOT" trigBtn.Parent = frame local trigBtnCorner = Instance.new("UICorner") trigBtnCorner.CornerRadius = UDim.new(0, 6) trigBtnCorner.Parent = trigBtn return { gui = gui, frame = frame, aimStatus = aimStatus, trigStatus = trigStatus, respawnStatus = respawnStatus, hint = hintLabel, aimBtn = aimBtn, trigBtn = trigBtn, } end local UI = BuildUI() local function RefreshUI() if SilentAimEnabled then UI.aimStatus.Text = "Silent Aim: ON" UI.aimStatus.TextColor3 = Color3.fromRGB(0, 230, 100) UI.aimBtn.BackgroundColor3 = Color3.fromRGB(0, 140, 60) else UI.aimStatus.Text = "Silent Aim: OFF" UI.aimStatus.TextColor3 = Color3.fromRGB(255, 90, 90) UI.aimBtn.BackgroundColor3 = Color3.fromRGB(150, 40, 40) end if TriggerbotEnabled then UI.trigStatus.Text = "Triggerbot: ON" UI.trigStatus.TextColor3 = Color3.fromRGB(0, 230, 100) UI.trigBtn.BackgroundColor3 = Color3.fromRGB(0, 140, 60) else UI.trigStatus.Text = "Triggerbot: OFF" UI.trigStatus.TextColor3 = Color3.fromRGB(255, 90, 90) UI.trigBtn.BackgroundColor3 = Color3.fromRGB(150, 40, 40) end if CONFIG.AutoRespawn then UI.respawnStatus.Text = "Auto-Respawn: ON" UI.respawnStatus.TextColor3 = Color3.fromRGB(0, 230, 100) else UI.respawnStatus.Text = "Auto-Respawn: OFF" UI.respawnStatus.TextColor3 = Color3.fromRGB(255, 90, 90) end end local function SetSilentAim(state) SilentAimEnabled = state RefreshUI() end local function SetTriggerbot(state) TriggerbotEnabled = state RefreshUI() end local function ToggleAutoRespawn() CONFIG.AutoRespawn = not CONFIG.AutoRespawn RefreshUI() end UI.aimBtn.Activated:Connect(function() SetSilentAim(not SilentAimEnabled) end) UI.trigBtn.Activated:Connect(function() SetTriggerbot(not TriggerbotEnabled) end) UserInputService.InputBegan:Connect(function(input, gpe) if gpe then return end if input.KeyCode == CONFIG.Keybind then SetSilentAim(not SilentAimEnabled) elseif input.KeyCode == CONFIG.TriggerbotKeybind then SetTriggerbot(not TriggerbotEnabled) elseif input.KeyCode == CONFIG.AutoRespawnKeybind then ToggleAutoRespawn() end end) RefreshUI() local function GetTeam(inst) return inst:GetAttribute("RoundTeam") end local function IsEnemyPlayer(player) if player == LocalPlayer then return false end if CONFIG.TargetTeam then return true end local myTeam, theirTeam = GetTeam(LocalPlayer), GetTeam(player) if myTeam == nil or theirTeam == nil then return true end return myTeam ~= theirTeam end local function IsEnemyBot(bot) if CONFIG.TargetTeam then return true end local myTeam, theirTeam = GetTeam(LocalPlayer), GetTeam(bot) if myTeam == nil or theirTeam == nil then return true end return myTeam ~= theirTeam end local function HasLineOfSight(origin, targetPart, character) local cam = GetCamera() if not cam then return true end local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Exclude params.IgnoreWater = true local filter = { cam } if LocalPlayer.Character then table.insert(filter, LocalPlayer.Character) end local we = Workspace:FindFirstChild("WeaponEffects") if we then table.insert(filter, we) end params.FilterDescendantsInstances = filter local hit = Workspace:Raycast(origin, targetPart.Position - origin, params) if not hit then return true end return hit.Instance:IsDescendantOf(character) end local function IsOnScreen(worldPos) local cam = GetCamera() if not cam then return false end local screenPos, onScreen = cam:WorldToViewportPoint(worldPos) if not onScreen then return false end if screenPos.Z <= 0 then return false end return true end local function ConsiderTarget(origin, lookUnit, character, targetPart, best) if not targetPart then return best end if CONFIG.AliveCheck then local hum = character:FindFirstChildOfClass("Humanoid") if not hum or hum.Health <= 0 then return best end end if not CONFIG.IgnoreForceField then if character:FindFirstChildOfClass("ForceField") then return best end end local dir = targetPart.Position - origin local dist = dir.Magnitude if dist <= 0.1 or dist > CONFIG.FOV then return best end local angle = math.acos(math.clamp(lookUnit:Dot(dir.Unit), -1, 1)) if not CONFIG.FullCircle then if angle >= math.rad(CONFIG.AimCone) then return best end if CONFIG.OnScreenCheck and not IsOnScreen(targetPart.Position) then return best end end if CONFIG.VisibleCheck and not HasLineOfSight(origin, targetPart, character) then return best end local score if CONFIG.FullCircle then score = dist else score = angle * 10 + dist * 0.01 end if not best or score < best.score then return { part = targetPart, score = score } end return best end local function GatherBots() local seen = {} local out = {} local function add(m) if not m or seen[m] then return end if not m:IsA("Model") then return end if m:HasTag("RagdollRig") then return end if not m:IsDescendantOf(Workspace) then return end seen[m] = true table.insert(out, m) end for _, v in CollectionService:GetTagged("Bot") do add(v) end for _, v in CollectionService:GetTagged("NPC") do add(v) end for _, v in Workspace:GetDescendants() do if v:IsA("Model") and v:GetAttribute("IsBot") == true then add(v) end end return out end local function GetBestTarget(origin, lookUnit) local best = nil if CONFIG.TargetPlayers then for _, player in Players:GetPlayers() do if IsEnemyPlayer(player) then local char = player.Character if char then local head = char:FindFirstChild("Head") local hrp = char:FindFirstChild("HumanoidRootPart") local part = (CONFIG.TargetHead and head) or hrp best = ConsiderTarget(origin, lookUnit, char, part, best) end end end end if CONFIG.TargetBots then for _, bot in GatherBots() do if IsEnemyBot(bot) then local head = bot:FindFirstChild("Head") local hrp = bot:FindFirstChild("HumanoidRootPart") local torso = bot:FindFirstChild("Torso") or bot:FindFirstChild("UpperTorso") local part = (CONFIG.TargetHead and head) or hrp or torso best = ConsiderTarget(origin, lookUnit, bot, part, best) end end end return best and best.part or nil end local originalApply = AimAssist.ApplyBulletMagnetism AimAssist.ApplyBulletMagnetism = function(origin, direction, isAiming) if not SilentAimEnabled then return originalApply(origin, direction, isAiming) end local magnitude = direction.Magnitude if magnitude <= 0 then return direction end local target = GetBestTarget(origin, direction.Unit) if not target then return originalApply(origin, direction, isAiming) end local toTarget = target.Position - origin if toTarget.Magnitude <= 0.001 then return direction end return toTarget.Unit * magnitude end local originalFireRequestSend = Packets.Combat.FireRequest.send Packets.Combat.FireRequest.send = function(payload) if SilentAimEnabled and payload and payload.Origin and payload.Direction then local magnitude = payload.Direction.Magnitude if magnitude > 0 then local target = GetBestTarget(payload.Origin, payload.Direction.Unit) if target then payload = { ShotId = payload.ShotId, Origin = payload.Origin, Direction = (target.Position - payload.Origin).Unit * magnitude, FireTime = payload.FireTime, } end end end return originalFireRequestSend(payload) end local lastTriggerFire = 0 local lastAutoReloadAttempt = 0 local function PrimeFire() local prev = WeaponState.MouseDown WeaponState.MouseDown = true local ok, err = pcall(FireSystem.PerformFire) WeaponState.MouseDown = prev or false if not ok then warn("[Triggerbot] PerformFire error:", err) end end local function TriggerbotStep() if not TriggerbotEnabled or not SilentAimEnabled then return end if not WeaponState.CurrentConfig then return end if os.clock() < WeaponState.FirstTimeEquipUntil then return end local char = LocalPlayer.Character local hum = char and char:FindFirstChildOfClass("Humanoid") if not hum or hum.Health <= 0 then return end if WeaponState.CurrentAmmo <= CONFIG.AutoReloadThreshold and not WeaponState.IsReloading then local now = os.clock() if now - lastAutoReloadAttempt >= CONFIG.AutoReloadCooldown then lastAutoReloadAttempt = now if WeaponController and WeaponController.Reload then pcall(function() WeaponController:Reload() end) end end end if WeaponState.IsReloading then return end if WeaponState.CurrentAmmo <= CONFIG.AutoReloadThreshold then return end if CONFIG.TriggerbotRequireLMB and not UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then return end local now = os.clock() if now - lastTriggerFire < CONFIG.TriggerbotMinDelay then return end local cam = GetCamera() if not cam then return end local origin = cam.CFrame.Position local look = cam.CFrame.LookVector local target = GetBestTarget(origin, look) if not target then return end lastTriggerFire = now PrimeFire() end RunService.Heartbeat:Connect(TriggerbotStep) local GameService = Knit.GetService("GameService") local respawnBusy = false local savedDeathCFrame = nil local restoreToken = 0 local function RespawnNow() if not CONFIG.AutoRespawn then return end if respawnBusy then return end respawnBusy = true local ok, err = pcall(function() GameService:RespawnInRound() end) if not ok then warn("[AutoRespawn] RespawnInRound error:", err) end task.delay(1, function() respawnBusy = false end) end local function RestoreDeathPosition(char) if not CONFIG.RestoreDeathPosition then return end if not savedDeathCFrame then return end restoreToken = restoreToken + 1 local myToken = restoreToken local cframe = savedDeathCFrame savedDeathCFrame = nil task.spawn(function() local hrp = char:WaitForChild("HumanoidRootPart", 5) if not hrp then return end task.wait(CONFIG.RestoreDelay) if myToken ~= restoreToken then return end if LocalPlayer.Character ~= char then return end local hum = char:FindFirstChildOfClass("Humanoid") if not hum or hum.Health <= 0 then return end hrp.CFrame = cframe RunService.Heartbeat:Wait() if myToken ~= restoreToken then return end if LocalPlayer.Character ~= char then return end if not hrp.Parent then return end local snapped = (hrp.Position - cframe.Position).Magnitude > 5 if snapped then hrp.CFrame = cframe end end) end local function HookCharacter(char) if not char then return end RestoreDeathPosition(char) local hum = char:WaitForChild("Humanoid", 5) if not hum then return end hum.Died:Connect(function() if CONFIG.RestoreDeathPosition then local hrp = char:FindFirstChild("HumanoidRootPart") if hrp then savedDeathCFrame = hrp.CFrame end end if not CONFIG.AutoRespawn then return end if CONFIG.AutoRespawnDelay > 0 then task.delay(CONFIG.AutoRespawnDelay, RespawnNow) else task.defer(RespawnNow) end end) end if LocalPlayer.Character then HookCharacter(LocalPlayer.Character) end LocalPlayer.CharacterAdded:Connect(HookCharacter) local function BuildLuckyBlockESP(model) if not model or not model:IsA("Model") then return end if model:FindFirstChild("LuckyBlockESP") then return end if not CONFIG.ESPEnabled then return end local root = model.PrimaryPart or model:FindFirstChild("Block") or model:FindFirstChildWhichIsA("BasePart", true) if not root then return end local container = Instance.new("Folder") container.Name = "LuckyBlockESP" container.Parent = model local highlight = Instance.new("Highlight") highlight.Name = "LuckyBlockHighlight" highlight.Adornee = model highlight.FillColor = CONFIG.ESPFill highlight.OutlineColor = CONFIG.ESPOutline highlight.FillTransparency = 0.7 highlight.OutlineTransparency = 0 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = container local billboard = Instance.new("BillboardGui") billboard.Name = "LuckyBlockLabel" billboard.Adornee = root billboard.Size = UDim2.new(0, 200, 0, 30) billboard.StudsOffset = Vector3.new(0, 3, 0) billboard.AlwaysOnTop = true billboard.LightInfluence = 0 billboard.MaxDistance = 5000 billboard.Parent = container local label = Instance.new("TextLabel") label.BackgroundTransparency = 1 label.Size = UDim2.fromScale(1, 1) label.Font = Enum.Font.GothamBold label.TextSize = 16 label.Text = CONFIG.ESPLabel label.TextColor3 = CONFIG.ESPText label.TextStrokeColor3 = CONFIG.ESPTextStroke label.TextStrokeTransparency = 0 label.Parent = billboard end local function WatchLuckyBlock(inst) if not inst then return end task.defer(function() if inst.Parent and inst:IsA("Model") then BuildLuckyBlockESP(inst) end end) end for _, v in CollectionService:GetTagged("LuckyBlock") do WatchLuckyBlock(v) end CollectionService:GetInstanceAddedSignal("LuckyBlock"):Connect(WatchLuckyBlock) task.spawn(function() while task.wait(0.5) do local cheese = Workspace:FindFirstChild("Cheese") if cheese then local lucky = cheese:FindFirstChild("LuckyBlock") if lucky and lucky:IsA("Model") and not lucky:FindFirstChild("LuckyBlockESP") then BuildLuckyBlockESP(lucky) end end end end) local ALONE_TEXT = "All players left" local ALONE_HOLD = 5 local ALONE_SLIDE_TIME = 0.5 local ALONE_ON_X = UDim2.new(1, -12, 1, -12) local ALONE_OFF_X = UDim2.new(1, 260, 1, -12) local AloneGui = Instance.new("ScreenGui") AloneGui.Name = "AloneNoticeUI" AloneGui.ResetOnSpawn = false AloneGui.IgnoreGuiInset = true AloneGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling AloneGui.Parent = PlayerGui local AloneLabel = Instance.new("TextLabel") AloneLabel.Name = "AloneNotice" AloneLabel.AnchorPoint = Vector2.new(1, 1) AloneLabel.Position = ALONE_OFF_X AloneLabel.Size = UDim2.new(0, 220, 0, 40) AloneLabel.BackgroundColor3 = Color3.fromRGB(18, 18, 22) AloneLabel.BackgroundTransparency = 0.15 AloneLabel.BorderSizePixel = 0 AloneLabel.Font = Enum.Font.GothamBold AloneLabel.TextSize = 16 AloneLabel.TextColor3 = Color3.fromRGB(255, 255, 255) AloneLabel.Text = ALONE_TEXT AloneLabel.Visible = true AloneLabel.Parent = AloneGui local AloneCorner = Instance.new("UICorner") AloneCorner.CornerRadius = UDim.new(0, 8) AloneCorner.Parent = AloneLabel local AloneStroke = Instance.new("UIStroke") AloneStroke.Color = Color3.fromRGB(60, 60, 70) AloneStroke.Thickness = 1 AloneStroke.Transparency = 0.4 AloneStroke.Parent = AloneLabel local aloneVisible = false local aloneHideToken = 0 local function SlideInAlone() if aloneVisible then return end aloneVisible = true aloneHideToken = aloneHideToken + 1 TweenService:Create( AloneLabel, TweenInfo.new(ALONE_SLIDE_TIME, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { Position = ALONE_ON_X } ):Play() local myToken = aloneHideToken task.delay(ALONE_HOLD, function() if myToken ~= aloneHideToken then return end if not aloneVisible then return end TweenService:Create( AloneLabel, TweenInfo.new(ALONE_SLIDE_TIME, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { Position = ALONE_OFF_X } ):Play() aloneVisible = false end) end local function IsLocalPlayerAlone() for _, p in Players:GetPlayers() do if p ~= LocalPlayer then return false end end return true end local aloneDebounce = false local function CheckAlone() if IsLocalPlayerAlone() then if not aloneDebounce then aloneDebounce = true SlideInAlone() end else aloneDebounce = false end end Players.PlayerRemoving:Connect(function() task.defer(CheckAlone) end) Players.PlayerAdded:Connect(function() task.defer(CheckAlone) end) task.defer(CheckAlone)