local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local LocalPlayer = Players.LocalPlayer local SharedFolder = ReplicatedStorage:FindFirstChild("Shared") local SharedEvents = SharedFolder:FindFirstChild("SharedEvents") -- local AutoTaggerEnabled = false local AutoRunnerEnabled = false local ObbyFinishPart = workspace:FindFirstChild("Lobby"):FindFirstChild("Obby"):FindFirstChild("FinishPart") -- local function GetState(player : Player) if player and player:IsA("Player") then local character = player.Character if character then local VFXPart = character:FindFirstChild("VFX") if VFXPart then return "Tagger" elseif character:FindFirstChildOfClass("Highlight") then return "Runner" else return "Lobby" end end end return "Lobby" end local function TagPlayer(name) local player = Players:FindFirstChild(name) if player then local character = player.Character if character then LocalPlayer.Character:MoveTo(character.HumanoidRootPart.Position) end end end local function Hide() local Character = LocalPlayer.Character if Character then Character:MoveTo(Vector3.new(0, -50, 0)) end end local function GetRandomTagger() local players = Players:GetPlayers() local taggers = {} for _, player in pairs(players) do if player ~= LocalPlayer and GetState(player) == "Tagger" then table.insert(taggers, player) end end if #taggers > 0 then return taggers[math.random(1, #taggers)] end return nil end local function PersistentTagPlayer(targetPlayer) local startTime = tick() local maxDuration = 5 while tick() - startTime < maxDuration do if targetPlayer and targetPlayer.Parent and GetState(targetPlayer) == "Runner" then local character = targetPlayer.Character if character and character:FindFirstChild("HumanoidRootPart") then if LocalPlayer.Character then LocalPlayer.Character:MoveTo(character.HumanoidRootPart.Position) end end task.wait(0.05) else -- Player is no longer a runner or doesn't exist, stop trying break end end end local function DisableMapCollisions() local map = workspace:FindFirstChild("Map") if not map then return end if map:IsA("BasePart") then map.CanCollide = false end for _, descendant in ipairs(map:GetDescendants()) do if descendant:IsA("BasePart") then descendant.CanCollide = false end end end local function DisableRayPartsCollision(targetPosition) if not LocalPlayer.Character then return end local humanoidRootPart = LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if not humanoidRootPart then return end local origin = humanoidRootPart.Position local goal = targetPosition local direction = goal - origin if direction.Magnitude <= 0 then return end local raycastParams = RaycastParams.new() raycastParams.FilterType = Enum.RaycastFilterType.Blacklist raycastParams.FilterDescendantsInstances = {LocalPlayer.Character} raycastParams.IgnoreWater = true local ignoreList = {LocalPlayer.Character} local position = origin local remaining = direction local maxIterations = 20 for _ = 1, maxIterations do raycastParams.FilterDescendantsInstances = ignoreList local result = workspace:Raycast(position, remaining, raycastParams) if not result or not result.Instance then break end local hitPart = result.Instance if hitPart and hitPart:IsA("BasePart") and not hitPart:IsDescendantOf(LocalPlayer.Character) then hitPart.CanCollide = false end table.insert(ignoreList, hitPart) local nextPosition = result.Position + remaining.Unit * 0.05 local newRemaining = goal - nextPosition if newRemaining.Magnitude <= 0 then break end position = nextPosition remaining = newRemaining end end local function CreateAntiVoidPlatform() local existing = workspace:FindFirstChild("AntiVoidPlatform") if existing and existing:IsA("BasePart") then existing.Size = Vector3.new(2048, 3, 2048) existing.CFrame = CFrame.new(0, -50, 0) existing.Anchored = true existing.Transparency = 1 existing.CanCollide = true return end local part = Instance.new("Part") part.Name = "AntiVoidPlatform" part.Size = Vector3.new(2048, 3, 2048) part.CFrame = CFrame.new(0, -50, 0) part.Anchored = true part.Transparency = 1 part.CanCollide = true part.CanTouch = false part.CanQuery = false part.Parent = workspace end CreateAntiVoidPlatform() local function SetupGui() local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Window = Rayfield:CreateWindow({ Name = "Super Tag Script", LoadingTitle = "Don't ask", LoadingSubtitle = "by Geo16", ConfigurationSaving = { Enabled = false } }) local Tab = Window:CreateTab("Main", 4483362458) Tab:CreateToggle({ Name = "AutoTagger", CurrentValue = false, Callback = function(value) AutoTaggerEnabled = value end }) Tab:CreateToggle({ Name = "AutoRunner", CurrentValue = false, Callback = function(value) AutoRunnerEnabled = value end }) end -- AutoTagger Logic task.spawn(function() while true do if AutoTaggerEnabled then DisableMapCollisions() local state = GetState(LocalPlayer) if state == "Tagger" then -- Tag all runners local players = Players:GetPlayers() for _, player in pairs(players) do if player ~= LocalPlayer and GetState(player) == "Runner" then PersistentTagPlayer(player) end end elseif state == "Runner" then -- Keep following a tagger until tagged local followStart = tick() while GetState(LocalPlayer) == "Runner" and tick() - followStart < 15 do local tagger = GetRandomTagger() if tagger then local character = tagger.Character if character and character:FindFirstChild("HumanoidRootPart") then if LocalPlayer.Character then LocalPlayer.Character:MoveTo(character.HumanoidRootPart.Position) LocalPlayer.Character:FindFirstChildOfClass("Humanoid").Jump = true end end task.wait(0.05) else task.wait(0.1) end end elseif state == "Lobby" then if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character:MoveTo(ObbyFinishPart.Position) task.wait(0.5) DisableRayPartsCollision(ObbyFinishPart.Position) end end end task.wait(0.5) end end) -- AutoRunner Logic task.spawn(function() while true do if AutoRunnerEnabled then DisableMapCollisions() local state = GetState(LocalPlayer) if state == "Runner" then Hide() elseif state == "Tagger" then -- Tag all runners while in AutoRunner mode local players = Players:GetPlayers() for _, player in pairs(players) do if player ~= LocalPlayer and GetState(player) == "Runner" then PersistentTagPlayer(player) end end elseif state == "Lobby" then if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character:MoveTo(ObbyFinishPart.Position) task.wait(0.5) DisableRayPartsCollision(ObbyFinishPart.Position) end end end task.wait(0.5) end end) SetupGui()