local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer -- Función para aplicar el contorno de luz a un personaje local function ApplyHighlightWallHack(character) if not character or not character:IsA("Model") then return end -- Evita aplicar el highlight a tu propio personaje if character == LocalPlayer.Character then return end -- Busca si ya existe un Highlight en el personaje local existingHighlight = character:FindFirstChildOfClass("Highlight") if existingHighlight then -- Si ya existe y está activo, lo reconfiguramos para asegurar que funcione correctamente existingHighlight.FillColor = Color3.fromRGB(255, 255, 0) -- Color amarillo brillante para la luz (Rojo: 255,0,0; Azul: 0,0,255) existingHighlight.OutlineColor = Color3.fromRGB(255, 255, 0) -- Color amarillo brillante para el contorno existingHighlight.FillTransparency = 0.8 -- Ajusta la transparencia del "relleno" (0 = sólido, 1 = invisible) existingHighlight.OutlineTransparency = 0 -- La línea del contorno será sólida existingHighlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop -- ¡ESTO ES LO QUE PERMITE VERLO A TRAVÉS DE LAS PAREDES! return end -- Crea un nuevo Highlight local highlight = Instance.new("Highlight") highlight.Name = "WallHackHighlight" highlight.FillColor = Color3.fromRGB(255, 255, 0) -- Color amarillo brillante para la luz highlight.OutlineColor = Color3.fromRGB(255, 255, 0) -- Color amarillo brillante para el contorno highlight.FillTransparency = 0.8 -- Ajusta la transparencia del "relleno" highlight.OutlineTransparency = 0 -- La línea del contorno será sólida highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop -- ¡ESTA ES LA PROPIEDAD CLAVE! Hace que el highlight sea visible incluso si está detrás de otros objetos (paredes, etc.). highlight.Parent = character -- Asigna el Highlight al modelo del personaje end -- Función para remover el contorno de luz de un personaje local function RemoveHighlightWallHack(character) if not character or not character:IsA("Model") then return end local highlight = character:FindFirstChild("WallHackHighlight") if highlight and highlight:IsA("Highlight") then highlight:Destroy() end end -- Función principal para alternar el Wall-Hack local function ToggleHighlightWallHack(enabled) for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then if enabled then ApplyHighlightWallHack(player.Character) -- Asegurarse de aplicar el efecto a nuevos personajes si el jugador reaparece player.CharacterAdded:Connect(ApplyHighlightWallHack) else RemoveHighlightWallHack(player.Character) end end end if not enabled then -- Si se desactiva, asegurarnos de removerlo de todos los personajes existentes for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then RemoveHighlightWallHack(player.Character) end end end end -- Conectar a PlayerAdded para que los jugadores que se unan reciban el efecto Players.PlayerAdded:Connect(function(player) if player ~= LocalPlayer then -- Conectar a CharacterAdded para el personaje del jugador cuando aparezca player.CharacterAdded:Connect(function(char) -- Darle un pequeño tiempo al personaje para cargar completamente task.wait(0.1) ApplyHighlightWallHack(char) end) -- Si el personaje ya existe cuando el script se carga if player.Character then task.wait(0.1) ApplyHighlightWallHack(player.Character) end end end) -- Aplicar el efecto a los jugadores que ya están en el juego cuando el script se ejecuta for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then ApplyHighlightWallHack(player.Character) -- Asegurarse de aplicar el efecto a nuevos personajes si el jugador reaparece player.CharacterAdded:Connect(ApplyHighlightWallHack) end end -- Implementar la alternancia con una tecla (por ejemplo, 'X') local UserInputService = game:GetService("UserInputService") local WallHackEnabled = true -- Inicia activado por defecto UserInputService.InputBegan:Connect(function(input, gameProcessedEvent) -- Si la tecla es 'X' y el evento no ha sido procesado por el juego (para evitar interferencias con el chat, etc.) if input.KeyCode == Enum.KeyCode.X and not gameProcessedEvent then WallHackEnabled = not WallHackEnabled ToggleHighlightWallHack(WallHackEnabled) print("Wall Hack de Contorno Toggled: " .. tostring(WallHackEnabled)) end end) print("Script de Wall Hack de Contorno de Luz Cargado. Presiona 'X' para alternar.")