-- Configuration: Target items and their specific aura colors local TARGET_ITEMS = { ["Arrow"] = Color3.fromRGB(255, 215, 0), ["Rokakaka Fruit"] = Color3.fromRGB(255, 0, 0), ["Banknote"] = Color3.fromRGB(0, 255, 0), ["Frog"] = Color3.fromRGB(0, 255, 255), ["Requiem Arrow"] = Color3.fromRGB(138, 43, 226), ["Vampire Mask"] = Color3.fromRGB(255, 105, 180), ["DIO's Diary"] = Color3.fromRGB(255, 140, 0), ["Camera"] = Color3.fromRGB(192, 192, 192), ["Shadow Camera"] = Color3.fromRGB(147, 112, 219), ["Holy Corpse"] = Color3.fromRGB(255, 255, 255), ["Corpse Part"] = Color3.fromRGB(255, 255, 255), ["Nostalgic Relic"] = Color3.fromRGB(255, 69, 0), ["Ender Pearl"] = Color3.fromRGB(0, 128, 128), ["Shiny Gem"] = Color3.fromRGB(0, 255, 127), ["Monochromatic Sphere"] = Color3.fromRGB(128, 128, 128) } local TARGET_BOSSES = { ["DIO"] = Color3.fromRGB(255, 0, 50), ["Dio Brando"] = Color3.fromRGB(255, 60, 0), ["Funny Valentine"] = Color3.fromRGB(255, 215, 0) } -- Settings local MAX_ESP_DISTANCE = 2500 local REFRESH_RATE = 0.05 local TWEEN_SPEED = 50 -- Studs per second for your character movement local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local CoreGui = game:GetService("CoreGui") local localPlayer = Players.LocalPlayer local activeTrackers = {} local autoTweenEnabled = false local currentTween = nil -- Dedicated Highlight Setup (One per item to prevent graphic freezing) local function applyVisuals(instance) if activeTrackers[instance] or activeTrackers[instance.Parent] then return end local itemContainer = nil if instance:IsA("Tool") or instance:IsA("Model") then itemContainer = instance elseif instance:IsA("BasePart") and instance.Parent and (instance.Parent:IsA("Tool") or instance.Parent:IsA("Model")) then itemContainer = instance.Parent else return end local targetName = itemContainer.Name local isBoss = false local itemColor = TARGET_ITEMS[targetName] if not itemColor and TARGET_BOSSES[targetName] then if Players:GetPlayerFromCharacter(itemContainer) then return end itemColor = TARGET_BOSSES[targetName] isBoss = true end if not itemColor or activeTrackers[itemContainer] then return end local visualTarget = isBoss and (itemContainer:FindFirstChild("HumanoidRootPart") or itemContainer:FindFirstChild("Torso") or itemContainer:FindFirstChild("UpperTorso")) if not visualTarget then visualTarget = itemContainer:IsA("BasePart") and itemContainer or itemContainer:FindFirstChild("Handle") or itemContainer:FindFirstChildWhichIsA("BasePart") or itemContainer.PrimaryPart end if not visualTarget then return end -- Safe, independent local highlights that won't break on toggle local highlight = Instance.new("Highlight") highlight.Name = "LocalAura" highlight.FillColor = itemColor highlight.FillTransparency = isBoss and 0.65 or 0.5 highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = itemContainer local billboard = Instance.new("BillboardGui") billboard.Name = "RobustTweenGui" billboard.Size = UDim2.new(0, 200, 0, 50) billboard.AlwaysOnTop = true billboard.ExtentsOffset = Vector3.new(0, isBoss and 4.5 or 2.5, 0) billboard.MaxDistance = MAX_ESP_DISTANCE local textLabel = Instance.new("TextLabel") textLabel.Size = UDim2.new(1, 0, 1, 0) textLabel.BackgroundTransparency = 1 textLabel.TextColor3 = itemColor textLabel.TextSize = isBoss and 16 or 14 textLabel.Font = Enum.Font.SourceSansBold textLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) textLabel.TextStrokeTransparency = 0 textLabel.Text = targetName textLabel.Parent = billboard billboard.Parent = visualTarget activeTrackers[itemContainer] = { Container = itemContainer, Target = visualTarget, Highlight = highlight, Billboard = billboard, Label = textLabel, IsBoss = isBoss, Name = targetName } end -- Helper: Checks if item is in another player's inventory local function isHeldByPlayer(instance) local current = instance.Parent while current and current ~= workspace do if current:IsA("Model") and current:FindFirstChildOfClass("Humanoid") then return Players:GetPlayerFromCharacter(current) ~= nil end if current:IsA("Backpack") or current:IsA("Player") then return true end current = current.Parent end return false end -- Smooth Character Auto-Tween Logic local function tweenToTarget(targetPart) local character = localPlayer.Character local rootPart = character and character:FindFirstChild("HumanoidRootPart") if not rootPart or not targetPart then return end local distance = (targetPart.Position - rootPart.Position).Magnitude local duration = distance / TWEEN_SPEED local tweenInfo = TweenInfo.new(duration, Enum.EasingStyle.Linear) currentTween = TweenService:Create(rootPart, tweenInfo, {CFrame = targetPart.CFrame + Vector3.new(0, 2, 0)}) currentTween:Play() currentTween.Completed:Wait() end -- Core Manager Thread task.spawn(function() while true do task.wait(REFRESH_RATE) local character = localPlayer.Character local rootPart = character and character:FindFirstChild("HumanoidRootPart") local myPos = rootPart and rootPart.Position local closestTarget = nil local closestDistance = math.huge for container, data in pairs(activeTrackers) do if not container or not container:IsDescendantOf(game) or not data.Target or not data.Target:IsDescendantOf(game) then if data.Billboard then data.Billboard:Destroy() end if data.Highlight then data.Highlight:Destroy() end activeTrackers[container] = nil continue end local isHeld = not data.IsBoss and isHeldByPlayer(container) if isHeld then data.Billboard.Enabled = false data.Highlight.Enabled = false else data.Billboard.Enabled = true data.Highlight.Enabled = true if myPos then local dist = (data.Target.Position - myPos).Magnitude local formatString = data.IsBoss and "⚠️ [BOSS] %s ⚠️\n[%d Studs]" or "%s\n[%d Studs]" data.Label.Text = string.format(formatString, data.Name, math.floor(dist)) -- Track closest valid item for the auto-tween system if dist < closestDistance then closestDistance = dist closestTarget = data.Target end end end end -- If Auto-Tween is on and character isn't moving, go to the closest item if autoTweenEnabled and closestTarget and (not currentTween or currentTween.PlaybackState ~= Enum.PlaybackState.Playing) then task.spawn(function() tweenToTarget(closestTarget) end) end end end) -- UI Setup local screenGui = Instance.new("ScreenGui") screenGui.Name = "AutoTweenController" screenGui.ResetOnSpawn = false local success, targetGui = pcall(function() return CoreGui:FindFirstChild("RobloxGui") or CoreGui end) screenGui.Parent = success and targetGui or localPlayer:WaitForChild("PlayerGui") local toggleButton = Instance.new("TextButton") toggleButton.Name = "ToggleButton" toggleButton.Size = UDim2.new(0, 160, 0, 45) toggleButton.Position = UDim2.new(1, -180, 1, -70) toggleButton.BackgroundColor3 = Color3.fromRGB(180, 40, 40) -- Starts Off (Red) toggleButton.Text = "AUTO TWEEN: OFF" toggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) toggleButton.Font = Enum.Font.SourceSansBold toggleButton.TextSize = 14 toggleButton.BorderSizePixel = 0 toggleButton.ZIndex = 10 toggleButton.Parent = screenGui local uiCorner = Instance.new("UICorner") uiCorner.CornerRadius = UDim.new(0, 8) uiCorner.Parent = toggleButton toggleButton.MouseButton1Click:Connect(function() autoTweenEnabled = not autoTweenEnabled if autoTweenEnabled then toggleButton.Text = "AUTO TWEEN: ON" toggleButton.BackgroundColor3 = Color3.fromRGB(35, 150, 85) -- Green else toggleButton.Text = "AUTO TWEEN: OFF" toggleButton.BackgroundColor3 = Color3.fromRGB(180, 40, 40) -- Red if currentTween then currentTween:Cancel() end end end) -- Scanning Loops for _, desc in ipairs(workspace:GetDescendants()) do if desc:IsA("Tool") or desc:IsA("Model") then applyVisuals(desc) end end workspace.DescendantAdded:Connect(function(desc) if desc:IsA("Tool") or desc:IsA("Model") then task.wait(0.05) applyVisuals(desc) end end) print("Auto-Tween Item Collect System Added.")