local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local camera = workspace.CurrentCamera local espObjects = {} local textLabels = {} local activeAyuwokis = {} local TEXT_COLOR = Color3.fromRGB(255, 255, 255) local screenGui = Instance.new("ScreenGui") screenGui.Name = "AyuwokiESP" screenGui.ResetOnSpawn = false screenGui.Parent = player:WaitForChild("PlayerGui") local function getHeadPosition(ayuModel) for _, child in ipairs(ayuModel:GetDescendants()) do if child.Name == "Head" and child:IsA("BasePart") then return child.Position end end return nil end local function hasHumanoid(obj) return obj:FindFirstChild("Humanoid") ~= nil or obj:FindFirstChildWhichIsA("Humanoid") ~= nil end local function isTargetAyuwoki(obj) if not obj or not obj.Name then return false end if not obj.Name:lower():find("ayuwoki") then return false end return hasHumanoid(obj) end local function createTextLabel() local label = Instance.new("TextLabel") label.Size = UDim2.new(0, 100, 0, 30) label.BackgroundTransparency = 1 label.Text = "AYUWOKI" label.TextColor3 = TEXT_COLOR label.TextStrokeTransparency = 1 label.TextScaled = true label.Font = Enum.Font.GothamBold label.Visible = false label.Parent = screenGui return label end local function addESP(ayuModel) if espObjects[ayuModel] then return end local highlight = Instance.new("Highlight") highlight.FillColor = Color3.fromRGB(255, 80, 80) highlight.FillTransparency = 0.6 highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.OutlineTransparency = 0.1 highlight.Adornee = ayuModel highlight.Parent = ayuModel espObjects[ayuModel] = highlight local textLabel = createTextLabel() textLabels[ayuModel] = textLabel activeAyuwokis[ayuModel] = true end local function removeESP(ayuModel) local hl = espObjects[ayuModel] if hl then hl:Destroy() end espObjects[ayuModel] = nil local label = textLabels[ayuModel] if label then label:Destroy() end textLabels[ayuModel] = nil activeAyuwokis[ayuModel] = nil end local function updateTextPosition() for ayuModel, _ in pairs(activeAyuwokis) do if not ayuModel or not ayuModel.Parent or not isTargetAyuwoki(ayuModel) then removeESP(ayuModel) else local headPos = getHeadPosition(ayuModel) local label = textLabels[ayuModel] if headPos and label then local vector, onScreen = camera:WorldToScreenPoint(headPos + Vector3.new(0, 2.5, 0)) if onScreen and vector.Z > 0 and vector.X > 0 and vector.X < camera.ViewportSize.X and vector.Y > 0 and vector.Y < camera.ViewportSize.Y then label.Visible = true label.Position = UDim2.new(0, vector.X - 50, 0, vector.Y - 40) else label.Visible = false end elseif label then label.Visible = false end end end end local function scanAndAdd() for _, obj in ipairs(workspace:GetDescendants()) do if isTargetAyuwoki(obj) and not espObjects[obj] then addESP(obj) end end end workspace.DescendantAdded:Connect(function(obj) if isTargetAyuwoki(obj) then addESP(obj) end if obj.Parent and isTargetAyuwoki(obj.Parent) then addESP(obj.Parent) end end) workspace.DescendantRemoving:Connect(function(obj) if espObjects[obj] then removeESP(obj) end end) spawn(function() while true do task.wait(2) scanAndAdd() end end) RunService.RenderStepped:Connect(updateTextPosition) scanAndAdd()