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()
Comments
Is this esp for sure? majority esp used in Ayuwoki Field was bugged, the ayuwoki stopped cliently (visual).