local CoreGui = game:GetService("CoreGui") local Players = game:GetService("Players") local RunService = game:GetService("RunService") local SoundService = game:GetService("SoundService") local UserInputService = game:GetService("UserInputService") local Camera = workspace.CurrentCamera local LocalPlayer = Players.LocalPlayer local Mouse = LocalPlayer:GetMouse() --// Global Config local Config = { Combat = { Aimbot = false, SilentAim = false, FOV = 250, TargetPart = "Head" }, Visuals = { Box = false, Info = false, Tracers = false, FOV = false, Skeleton = false }, Theme = { Main = Color3.fromRGB(20, 20, 20), Accent = Color3.fromRGB(0, 255, 128) } -- Updated to Krypton Neon Green } --========================================= --// AUDIO PROXIMITY ALERT SYSTEMS (AUTOMATIC) --========================================= local AlertSound = Instance.new("Sound") AlertSound.SoundId = "rbxassetid://9114223171" -- Fast radar ping/warning sound AlertSound.Volume = 2.5 AlertSound.Parent = CoreGui local LastAlertTime = 0 local AlertCooldown = 0.65 -- Prevents audio stacking distortion local function UpdateProximityAlert() if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return end local MyRoot = LocalPlayer.Character.HumanoidRootPart local CurrentTime = os.clock() if CurrentTime - LastAlertTime < AlertCooldown then return end for _, enemy in pairs(Players:GetPlayers()) do if enemy ~= LocalPlayer and enemy.Team ~= LocalPlayer.Team and enemy.Character then local EnemyRoot = enemy.Character:FindFirstChild("HumanoidRootPart") local EnemyHum = enemy.Character:FindFirstChildOfClass("Humanoid") if EnemyRoot and EnemyHum and EnemyHum.Health > 0 then local Distance = (MyRoot.Position - EnemyRoot.Position).Magnitude -- Proximity system updated to 35 studs if Distance <= 35 then local DirectionToEnemy = (EnemyRoot.Position - MyRoot.Position).Unit local MyFacingDirection = MyRoot.CFrame.LookVector local DotProduct = MyFacingDirection:Dot(DirectionToEnemy) -- Behind/Beside or Directly in Front detection logic if DotProduct < 0.7 or DotProduct > 0.85 then AlertSound:Play() LastAlertTime = CurrentTime break end end end end end end RunService.Heartbeat:Connect(UpdateProximityAlert) --========================================= --// 1. MOBILE UI SETUP (KRYPTON HUB REBRAND) --========================================= local KryptonUI = Instance.new("ScreenGui", CoreGui) KryptonUI.Name = "KryptonHubMobile" KryptonUI.ResetOnSpawn = false -- Open/Close Button (Repositioned to the Left & Made Mobile-Draggable) local ToggleBtn = Instance.new("TextButton", KryptonUI) ToggleBtn.Size = UDim2.new(0, 50, 0, 50) ToggleBtn.Position = UDim2.new(0, 15, 0.5, -25) -- Placed neatly on the middle-left side ToggleBtn.BackgroundColor3 = Config.Theme.Main ToggleBtn.TextColor3 = Config.Theme.Accent ToggleBtn.Text = "KR" ToggleBtn.Font = Enum.Font.GothamBlack ToggleBtn.TextSize = 14 Instance.new("UICorner", ToggleBtn).CornerRadius = UDim.new(1, 0) -- Keeps circular toggle button Instance.new("UIStroke", ToggleBtn).Color = Config.Theme.Accent -- Smooth Mobile Dragging for Toggle Button local dragging, dragInput, dragStart, startPos ToggleBtn.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = ToggleBtn.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) ToggleBtn.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then local delta = input.Position - dragStart ToggleBtn.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) -- Main Menu Frame (MODIFIED: Made into a 300x300 Square) local MainFrame = Instance.new("Frame", KryptonUI) MainFrame.Size = UDim2.new(0, 300, 0, 300) -- Clean 1:1 square dimensions MainFrame.Position = UDim2.new(0.5, -150, 0.5, -150) MainFrame.BackgroundColor3 = Config.Theme.Main MainFrame.Visible = false Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 10) -- Restored smooth edges local FrameStroke = Instance.new("UIStroke", MainFrame) FrameStroke.Color = Config.Theme.Accent FrameStroke.Thickness = 2 local Title = Instance.new("TextLabel", MainFrame) Title.Size = UDim2.new(1, 0, 0, 45) Title.BackgroundTransparency = 1 Title.Text = "KRYPTON HUB" Title.TextColor3 = Config.Theme.Accent Title.Font = Enum.Font.GothamBlack Title.TextSize = 18 -- Adjusted scrolling field inside the square frame local ScrollList = Instance.new("ScrollingFrame", MainFrame) ScrollList.Size = UDim2.new(1, -20, 1, -60) ScrollList.Position = UDim2.new(0, 10, 0, 45) ScrollList.BackgroundTransparency = 1 ScrollList.ScrollBarThickness = 4 local Layout = Instance.new("UIListLayout", ScrollList) Layout.Padding = UDim.new(0, 6) ToggleBtn.MouseButton1Click:Connect(function() MainFrame.Visible = not MainFrame.Visible end) local function CreateToggleButton(Name, Category, Setting) local Btn = Instance.new("TextButton", ScrollList) local UIStroke = Instance.new("UIStroke", Btn) UIStroke.Color = Color3.fromRGB(60, 60, 60) UIStroke.Thickness = 1 Btn.Size = UDim2.new(1, 0, 0, 38) Btn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) Btn.TextColor3 = Color3.fromRGB(200, 200, 200) Btn.Text = Name .. " : OFF" Btn.Font = Enum.Font.GothamSemibold Btn.TextSize = 14 Instance.new("UICorner", Btn).CornerRadius = UDim.new(0, 6) -- Restored smooth edges for toggle buttons Btn.MouseButton1Click:Connect(function() Config[Category][Setting] = not Config[Category][Setting] if Config[Category][Setting] then Btn.BackgroundColor3 = Config.Theme.Main Btn.TextColor3 = Config.Theme.Accent UIStroke.Color = Config.Theme.Accent Btn.Text = Name .. " : ON" else Btn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) Btn.TextColor3 = Color3.fromRGB(200, 200, 200) UIStroke.Color = Color3.fromRGB(60, 60, 60) Btn.Text = Name .. " : OFF" end end) end CreateToggleButton("Aimbot Snap", "Combat", "Aimbot") CreateToggleButton("Silent Aim", "Combat", "SilentAim") CreateToggleButton("Show FOV", "Visuals", "FOV") CreateToggleButton("Box ESP", "Visuals", "Box") CreateToggleButton("Name/HP/Dist", "Visuals", "Info") CreateToggleButton("Tracers", "Visuals", "Tracers") CreateToggleButton("Skeleton ESP", "Visuals", "Skeleton") --========================================= --// 2. VISUALS (FOV, ESP, Tracers, Skeletons) --========================================= local FOVCircle = Instance.new("Frame", KryptonUI) FOVCircle.Size = UDim2.new(0, Config.Combat.FOV * 2, 0, Config.Combat.FOV * 2) FOVCircle.AnchorPoint = Vector2.new(0.5, 0.5) FOVCircle.Position = UDim2.new(0.5, 0, 0.5, 0) FOVCircle.BackgroundTransparency = 1 local FOVStroke = Instance.new("UIStroke", FOVCircle) FOVStroke.Thickness = 1.5 FOVStroke.Color = Config.Theme.Accent Instance.new("UICorner", FOVCircle).CornerRadius = UDim.new(1, 0) local SkeletonBones = { {"Head", "UpperTorso"}, {"UpperTorso", "LowerTorso"}, {"UpperTorso", "LeftUpperArm"}, {"LeftUpperArm", "LeftLowerArm"}, {"LeftLowerArm", "LeftHand"}, {"UpperTorso", "RightUpperArm"}, {"RightUpperArm", "RightLowerArm"}, {"RightLowerArm", "RightHand"}, {"LowerTorso", "LeftUpperLeg"}, {"LeftUpperLeg", "LeftLowerLeg"}, {"LeftLowerLeg", "LeftFoot"}, {"LowerTorso", "RightUpperLeg"}, {"RightUpperLeg", "RightLowerLeg"}, {"RightLowerLeg", "RightFoot"}, {"Head", "Torso"}, {"Torso", "Left Arm"}, {"Torso", "Right Arm"}, {"Torso", "Left Leg"}, {"Torso", "Right Leg"} } local function HandleVisuals(P) local Bones = {} for i = 1, #SkeletonBones do local Line = Drawing.new("Line") Line.Thickness = 1.5 Line.Color = Config.Theme.Accent Line.Transparency = 0.8 Line.Visible = false table.insert(Bones, Line) end local Tracer = Drawing.new("Line") Tracer.Thickness = 1 Tracer.Color = Config.Theme.Accent Tracer.Transparency = 0.6 Tracer.Visible = false local function Setup(Char) local Root = Char:WaitForChild("HumanoidRootPart", 10) local Hum = Char:WaitForChild("Humanoid", 10) local BGui = Instance.new("BillboardGui", Root) BGui.Size = UDim2.new(4, 0, 5.5, 0) BGui.AlwaysOnTop = true local Box = Instance.new("Frame", BGui) Box.Size = UDim2.new(1, 0, 1, 0) Box.BackgroundTransparency = 1 local S = Instance.new("UIStroke", Box) S.Color = Config.Theme.Accent S.Transparency = 0.5 local Info = Instance.new("TextLabel", BGui) Info.Size = UDim2.new(1, 0, 0, 40) Info.Position = UDim2.new(0, 0, -0.4, 0) Info.BackgroundTransparency = 1 Info.TextColor3 = Color3.new(1,1,1) Info.TextSize = 10 Info.Font = Enum.Font.Code RunService.RenderStepped:Connect(function() FOVCircle.Visible = Config.Visuals.FOV if P.Team == LocalPlayer.Team then Box.Visible = false Info.Visible = false Tracer.Visible = false for _, line in pairs(Bones) do line.Visible = false end return end Box.Visible = Config.Visuals.Box Info.Visible = Config.Visuals.Info if Root and Root.Parent and Hum.Health > 0 then local Pos, OnScreen = Camera:WorldToViewportPoint(Root.Position) if Config.Visuals.Info and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then local Dist = math.floor((Root.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude) Info.Text = string.format("%s\n%s HP | %sm", P.Name, math.floor(Hum.Health), Dist) end if OnScreen and Config.Visuals.Tracers then Tracer.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y) Tracer.To = Vector2.new(Pos.X, Pos.Y) Tracer.Visible = true else Tracer.Visible = false end if Config.Visuals.Skeleton then for i, connection in ipairs(SkeletonBones) do local Part1 = Char:FindFirstChild(connection[1]) local Part2 = Char:FindFirstChild(connection[2]) if Part1 and Part2 then local P1, Vis1 = Camera:WorldToViewportPoint(Part1.Position) local P2, Vis2 = Camera:WorldToViewportPoint(Part2.Position) if Vis1 or Vis2 then Bones[i].From = Vector2.new(P1.X, P1.Y) Bones[i].To = Vector2.new(P2.X, P2.Y) Bones[i].Visible = true else Bones[i].Visible = false end else Bones[i].Visible = false end end else for _, line in pairs(Bones) do line.Visible = false end end else Tracer.Visible = false for _, line in pairs(Bones) do line.Visible = false end end end) end P.CharacterAdded:Connect(Setup) if P.Character then Setup(P.Character) end end for _, v in pairs(Players:GetPlayers()) do if v ~= LocalPlayer then HandleVisuals(v) end end Players.PlayerAdded:Connect(HandleVisuals) --========================================= --// 3. COMBAT LOGIC (Targeting & Silent Aim) --========================================= local function GetTarget() local Target, Closest = nil, Config.Combat.FOV local Center = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2) for _, v in pairs(Players:GetPlayers()) do if v ~= LocalPlayer and v.Character and v.Character:FindFirstChild(Config.Combat.TargetPart) then if v.Team == LocalPlayer.Team then continue end local Hum = v.Character:FindFirstChildOfClass("Humanoid") if Hum and Hum.Health > 0 then local Part = v.Character[Config.Combat.TargetPart] local Pos, OnScreen = Camera:WorldToViewportPoint(Part.Position) if OnScreen then local Dist = (Vector2.new(Pos.X, Pos.Y) - Center).Magnitude if Dist < Closest then local RayP = RaycastParams.new() RayP.FilterType = Enum.RaycastFilterType.Exclude RayP.FilterDescendantsInstances = {LocalPlayer.Character, Camera} local Result = workspace:Raycast(Camera.CFrame.Position, (Part.Position - Camera.CFrame.Position), RayP) if Result and Result.Instance:IsDescendantOf(v.Character) then Target = v Closest = Dist end end end end end end return Target end local OldIndex OldIndex = hookmetamethod(game, "__index", newcclosure(function(self, index) if Config.Combat.SilentAim and self == Mouse and (index == "Hit" or index == "Target") and not checkcaller() then local T = GetTarget() if T then local Part = T.Character[Config.Combat.TargetPart] return (index == "Hit" and Part.CFrame or Part) end end return OldIndex(self, index) end)) RunService.RenderStepped:Connect(function() if Config.Combat.Aimbot then local T = GetTarget() if T then Camera.CFrame = CFrame.new(Camera.CFrame.Position, T.Character[Config.Combat.TargetPart].Position) end end end)