local oldposes = {} local plr = game.Players.LocalPlayer local function getability() return plr.leaderstats.Ability.Value end local function getingame() return plr.Character:GetAttribute("InGame") end game.Workspace.Portals["Arena Frame"].Portal.Touched:Connect(function(hit) if hit then if hit.Parent then if hit.Parent:IsA("Model") then if game.Players:GetPlayerFromCharacter(hit.Parent) and game.Players:GetPlayerFromCharacter(hit.Parent).UserId == plr.UserId then plr.Character:SetAttribute("InGame",true) end end end end end) coroutine.wrap(function() while wait() do if getingame() and getability() == "Warden" then for i,v in pairs(workspace:GetChildren()) do if v:IsA("BasePart") and not v:FindFirstChildOfClass("SelectionBox") then local box = Instance.new("SelectionBox") box.Color3 = v.Color box.Parent = v box.Adornee = v game.Debris:AddItem(box,10) end end end end end)() for i,v in pairs(game.ReplicatedStorage["Ability Assets"]:GetDescendants()) do if v:IsA("BasePart") and not v:FindFirstChildOfClass("SelectionBox") then local box = Instance.new("SelectionBox") box.Color3 = v.Color box.Parent = v box.Adornee = v end end while true do if getingame() and getability() == "Warden" and true then for i,v in pairs(workspace:GetChildren()) do if v:IsA("Model") then if v:FindFirstChildOfClass("Humanoid") then if oldposes[v] then if v.PrimaryPart.Position ~= oldposes[v] then local range = (v.PrimaryPart.Position - oldposes[v]).Magnitude print(range) if range >= 0.5 then local highlight = Instance.new("Highlight") highlight.OutlineColor = Color3.new(0, 0.384314, 1) highlight.FillTransparency = 1 highlight.Parent = v game.Debris:AddItem(highlight,1) local box = Instance.new("SelectionBox") box.Color3 = Color3.new(0, 0.384314, 1) box.Parent = v box.Adornee = v game.Debris:AddItem(box,1) end end oldposes[v] = v.PrimaryPart.Position else oldposes[v] = v.PrimaryPart.Position end oldposes[v] = v.PrimaryPart.Position end end end end wait(0.5) end