-- HAKI DE VISIÓN FULL | OSCURIDAD TOTAL -- Plug & Play local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local LP = Players.LocalPlayer local enabled = false local cache = {} -- ===== VISIÓN ===== local function addVision(char, playerName) if cache[char] then return end local humanoid = char:FindFirstChildOfClass("Humanoid") local head = char:FindFirstChild("Head") if not humanoid or not head then return end -- Highlight local hl = Instance.new("Highlight") hl.FillColor = Color3.fromRGB(0,170,255) hl.OutlineColor = Color3.new(1,1,1) hl.FillTransparency = 0.45 hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop hl.Parent = char -- Billboard local bb = Instance.new("BillboardGui") bb.Size = UDim2.fromOffset(140, 50) bb.StudsOffset = Vector3.new(0, 3.2, 0) bb.AlwaysOnTop = true bb.Parent = head -- Nombre local name = Instance.new("TextLabel") name.Size = UDim2.new(1,0,0.5,0) name.BackgroundTransparency = 1 name.Text = playerName name.TextColor3 = Color3.new(1,1,1) name.TextStrokeTransparency = 0 name.TextScaled = true name.Font = Enum.Font.GothamBold name.Parent = bb -- Fondo vida local bg = Instance.new("Frame") bg.Position = UDim2.new(0,0,0.6,0) bg.Size = UDim2.new(1,0,0.25,0) bg.BackgroundColor3 = Color3.fromRGB(35,35,35) bg.BorderSizePixel = 0 bg.Parent = bb Instance.new("UICorner", bg).CornerRadius = UDim.new(0,6) -- Barra vida local bar = Instance.new("Frame") bar.Size = UDim2.new(1,0,1,0) bar.BackgroundColor3 = Color3.fromRGB(0,255,0) bar.BorderSizePixel = 0 bar.Parent = bg Instance.new("UICorner", bar).CornerRadius = UDim.new(0,6) local conn conn = humanoid.HealthChanged:Connect(function(hp) if humanoid.Health <= 0 then if conn then conn:Disconnect() end return end bar.Size = UDim2.new(hp / humanoid.MaxHealth, 0, 1, 0) end) cache[char] = {hl, bb, conn} end local function clearAll() for _,items in pairs(cache) do for _,v in pairs(items) do if typeof(v) == "RBXScriptConnection" then v:Disconnect() elseif v then v:Destroy() end end end cache = {} end local function enableHaki() for _,p in pairs(Players:GetPlayers()) do if p ~= LP and p.Character then addVision(p.Character, p.Name) end end end Players.PlayerAdded:Connect(function(p) p.CharacterAdded:Connect(function(c) if enabled then task.wait(1) addVision(c, p.Name) end end) end) -- ===== GUI ===== local gui = Instance.new("ScreenGui") gui.Name = "HakiVisionGUI" gui.IgnoreGuiInset = true -- 🔥 tapa TODA la pantalla gui.ResetOnSpawn = false gui.Parent = LP:WaitForChild("PlayerGui") -- OSCURIDAD TOTAL local dark = Instance.new("Frame") dark.Name = "DarkScreen" dark.Size = UDim2.fromScale(1,1) dark.Position = UDim2.fromScale(0,0) dark.BackgroundColor3 = Color3.fromRGB(0,0,0) dark.BackgroundTransparency = 1 dark.BorderSizePixel = 0 dark.ZIndex = 1 dark.Parent = gui -- Botón local btn = Instance.new("TextButton") btn.Size = UDim2.fromOffset(150,45) btn.Position = UDim2.fromScale(0.5,0.8) btn.AnchorPoint = Vector2.new(0.5,0.5) btn.Text = "👁️ Haki OFF" btn.TextScaled = true btn.BackgroundColor3 = Color3.fromRGB(30,30,30) btn.TextColor3 = Color3.new(1,1,1) btn.BorderSizePixel = 0 btn.ZIndex = 2 btn.Parent = gui Instance.new("UICorner", btn).CornerRadius = UDim.new(0,12) -- BOTÓN MOVIBLE local dragging, dragStart, startPos btn.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = i.Position startPos = btn.Position end end) UIS.InputChanged:Connect(function(i) if dragging and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then local delta = i.Position - dragStart btn.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) UIS.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then dragging = false end end) -- TOGGLE btn.MouseButton1Click:Connect(function() enabled = not enabled if enabled then btn.Text = "👁️ Haki ON" btn.BackgroundColor3 = Color3.fromRGB(0,120,200) enableHaki() TweenService:Create(dark, TweenInfo.new(0.4), { BackgroundTransparency = 0.45 -- 🌑 OSCURIDAD RECOMENDADA }):Play() else btn.Text = "👁️ Haki OFF" btn.BackgroundColor3 = Color3.fromRGB(30,30,30) clearAll() TweenService:Create(dark, TweenInfo.new(0.4), { BackgroundTransparency = 1 }):Play() end end)