local player = game.Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoidRootPart = character:WaitForChild("HumanoidRootPart") local RANGE = 20 local ScreenGui = Instance.new("ScreenGui") ScreenGui.Parent = player:WaitForChild("PlayerGui") ScreenGui.Name = "PunchAttackUI" local ToggleButton = Instance.new("TextButton") ToggleButton.Parent = ScreenGui ToggleButton.Size = UDim2.new(0, 100, 0, 50) ToggleButton.Position = UDim2.new(0, 10, 0, 10) ToggleButton.Text = "ON" ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 255, 0) ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleButton.Font = Enum.Font.SourceSans ToggleButton.TextSize = 20 local isActive = true ToggleButton.MouseButton1Click:Connect(function() isActive = not isActive if isActive then ToggleButton.Text = "ON" ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 255, 0) else ToggleButton.Text = "OFF" ToggleButton.BackgroundColor3 = Color3.fromRGB(255, 0, 0) end end) while true do if isActive then local enemiesFolder = workspace:WaitForChild("__Main"):WaitForChild("__Enemies"):WaitForChild("Client") local enemies = enemiesFolder:GetChildren() local closestEnemy = nil local minDistance = RANGE for _, enemy in pairs(enemies) do local enemyRootPart = enemy:FindFirstChild("HumanoidRootPart") if enemyRootPart then local distance = (humanoidRootPart.Position - enemyRootPart.Position).Magnitude if distance <= minDistance then closestEnemy = enemy minDistance = distance end end end if closestEnemy then local enemyId = closestEnemy.Name local args = { { { Event = "PunchAttack", Enemy = enemyId }, "\4" } } game:GetService("ReplicatedStorage"):WaitForChild("BridgeNet2"):WaitForChild("dataRemoteEvent"):FireServer(unpack(args)) end end task.wait() end