local Fluent = loadstring(game:HttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))() -- [ WINDOW SETUP ] local Window = Fluent:CreateWindow({ Title = "ZalupaHack | Hitbox System", SubTitle = "v1.4.0", TabWidth = 160, Size = UDim2.fromOffset(580, 400), Acrylic = false, Theme = "Darker", MinimizeKey = Enum.KeyCode.K }) local Tabs = { Hitboxes = Window:AddTab({ Title = "Hitboxes", Icon = "target" }) } -- [ VARIABLES ] local player = game.Players.LocalPlayer local runService = game:GetService("RunService") local reachEnabled = false local reachSize = 10 local reachWidth = 1 local forwardOffset = 0 local vertAdj = 0 local showPoints = true -- [ CORE REACH LOGIC ] runService.Heartbeat:Connect(function() local char = player.Character local tool = char and char:FindFirstChildOfClass("Tool") if reachEnabled and tool then local handle = tool:FindFirstChild("Handle") -- 1. Physical Spear Hitbox (The Handle) if handle then if not handle:FindFirstChild("OriginalSize") then local s = Instance.new("Vector3Value", handle) s.Name = "OriginalSize" s.Value = handle.Size end -- Scales handle based on Width and Length handle.Size = Vector3.new(reachWidth, reachWidth, reachSize) handle.Transparency = showPoints and 0.7 or 1 handle.CanCollide = false end -- 2. Precision Attachment Alignment (The DmgPoints) for _, v in pairs(tool:GetDescendants()) do if v:IsA("Attachment") and v.Name == "DmgPoint" then if not v:FindFirstChild("OriginalPos") then local p = Instance.new("Vector3Value", v) p.Name = "OriginalPos" p.Value = v.Position end -- The "Absolute Alignment" Math: -- Original Position + Forward Push + Height Adjustment + Forward Offset v.Position = v.OriginalPos.Value + Vector3.new(0, vertAdj, reachSize + forwardOffset) -- Visualizer if showPoints then local vis = v:FindFirstChild("ReachVisual") or Instance.new("Part") if vis.Name ~= "ReachVisual" then vis.Name = "ReachVisual" vis.Parent = v vis.Anchored = true vis.CanCollide = false vis.Shape = Enum.PartType.Ball vis.Color = Color3.fromRGB(0, 255, 255) vis.Material = Enum.Material.Neon end vis.CFrame = v.WorldCFrame vis.Size = Vector3.new(reachWidth, reachWidth, reachWidth) vis.Transparency = 0.4 elseif v:FindFirstChild("ReachVisual") then v.ReachVisual.Transparency = 1 end end end elseif not reachEnabled and tool then -- Complete Reset / Cleanup local handle = tool:FindFirstChild("Handle") if handle and handle:FindFirstChild("OriginalSize") then handle.Size = handle.OriginalSize.Value handle.OriginalSize:Destroy() handle.Transparency = 0 end for _, v in pairs(tool:GetDescendants()) do if v:IsA("Attachment") and v:FindFirstChild("OriginalPos") then v.Position = v.OriginalPos.Value v.OriginalPos:Destroy() if v:FindFirstChild("ReachVisual") then v.ReachVisual:Destroy() end end end end end) -- [ INTERFACE ELEMENTS ] Tabs.Hitboxes:AddToggle("ReachToggle", { Title = "Enable Reach Extension", Default = false }):OnChanged(function(Value) reachEnabled = Value end) Tabs.Hitboxes:AddSlider("ReachDistance", { Title = "Reach Length (Z-Axis)", Description = "How far the hit extends", Default = 10, Min = 1, Max = 50, Rounding = 1, Callback = function(Value) reachSize = Value end }) Tabs.Hitboxes:AddSlider("ReachForward", { Title = "Forward Offset", Description = "Moves the start point further out", Default = 0, Min = -10, Max = 20, Rounding = 1, Callback = function(Value) forwardOffset = Value end }) Tabs.Hitboxes:AddSlider("ReachWidth", { Title = "Hitbox Width (Thickness)", Description = "Makes the beam thicker", Default = 1, Min = 1, Max = 20, Rounding = 1, Callback = function(Value) reachWidth = Value end }) Tabs.Hitboxes:AddSlider("ReachVert", { Title = "Vertical Height Fix", Description = "Fixes hovering/side issues", Default = 0, Min = -10, Max = 10, Rounding = 1, Callback = function(Value) vertAdj = Value end }) Tabs.Hitboxes:AddToggle("ShowPoints", { Title = "Visualizer (Cyan Dots)", Default = true }):OnChanged(function(Value) showPoints = Value end) Fluent:Notify({ Title = "Hitbox System Loaded", Content = "Use 'K' to minimize/maximize menu.", Duration = 5 })