
Key Required

local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local rootPart = character:WaitForChild("HumanoidRootPart")
local teamPoints = {
Red = Vector3.new(149,3,-2),
Blue = Vector3.new(-152,3,-2)
}
local targetPoint = Vector3.new(1,2,0)
local tweenDuration = 0.3
local playerGui = player:WaitForChild("PlayerGui")
local afkGui = Instance.new("ScreenGui")
afkGui.ResetOnSpawn = false
afkGui.Name = "AFKGui"
afkGui.DisplayOrder = 999
afkGui.IgnoreGuiInset = true
afkGui.Parent = playerGui
local blur = Instance.new("BlurEffect")
blur.Size = 0
blur.Parent = Lighting
local overlay = Instance.new("Frame")
overlay.AnchorPoint = Vector2.new(0,0)
overlay.Position = UDim2.new(0,0,0,0)
overlay.Size = UDim2.new(1,0,1,0)
overlay.BackgroundColor3 = Color3.new(0,0,0)
overlay.BackgroundTransparency = 1
overlay.Parent = afkGui
overlay.Visible = false
local afkLabel = Instance.new("TextLabel")
afkLabel.Size = UDim2.new(0,200,0,50)
afkLabel.AnchorPoint = Vector2.new(0.5,0.5)
afkLabel.Position = UDim2.new(0.5,0,0.5,0)
afkLabel.BackgroundTransparency = 1
afkLabel.TextColor3 = Color3.new(1,1,1)
afkLabel.TextScaled = true
afkLabel.Font = Enum.Font.SourceSansBold
afkLabel.Visible = false
afkLabel.Parent = afkGui
local afkAnimCoroutine
local function startAFKAnimation()
if afkAnimCoroutine then
afkAnimCoroutine = nil
end
local dots = {"", ".", "..", "..."}
afkAnimCoroutine = coroutine.create(function()
local index = 1
while afkAnimCoroutine do
afkLabel.Text = "AFK"..dots[index]
index = index + 1
if index > #dots then index = 1 end
wait(0.5)
end
end)
coroutine.resume(afkAnimCoroutine)
end
local function stopAFKAnimation()
if afkAnimCoroutine then
afkAnimCoroutine = nil
end
afkLabel.Text = "AFK"
end
local function showAFK()
afkLabel.Visible = true
overlay.Visible = true
startAFKAnimation()
for i = blur.Size, 20 do
blur.Size = i
overlay.BackgroundTransparency = 1 - (i/40)
RunService.RenderStepped:Wait()
end
end
local function hideAFK()
stopAFKAnimation()
for i = blur.Size, 0, -1 do
blur.Size = i
overlay.BackgroundTransparency = 1 - (i/40)
RunService.RenderStepped:Wait()
end
afkLabel.Visible = false
overlay.Visible = false
end
local function smoothTween(part, targetPos, duration)
if not part or not part.Parent then return end
local tweenInfo = TweenInfo.new(duration, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut)
local tween = TweenService:Create(part, tweenInfo, {CFrame = CFrame.new(targetPos)})
tween:Play()
return tween
end
local teleportCoroutine
local function startTeamLoop()
if teleportCoroutine then
teleportCoroutine = nil
end
teleportCoroutine = coroutine.create(function()
while teleportCoroutine do
if not character or not character.Parent or not rootPart or not rootPart.Parent then
hideAFK()
break
end
local team = player.Team
if not team or (team.Name ~= "Red" and team.Name ~= "Blue") then
hideAFK()
wait(0.5)
continue
end
if blur.Size == 0 then
showAFK()
end
local startPos = teamPoints[team.Name]
if not startPos then
wait(0.5)
continue
end
if rootPart and rootPart.Parent then
rootPart.CFrame = CFrame.new(startPos)
local tween = smoothTween(rootPart, targetPoint, tweenDuration)
if tween then tween.Completed:Wait() end
end
if not teleportCoroutine or not rootPart or not rootPart.Parent then break end
if rootPart and rootPart.Parent then
local tween = smoothTween(rootPart, startPos, tweenDuration)
if tween then tween.Completed:Wait() end
end
end
hideAFK()
end)
coroutine.resume(teleportCoroutine)
end
local function onCharacterAdded(char)
if teleportCoroutine then
teleportCoroutine = nil
end
character = char
rootPart = character:WaitForChild("HumanoidRootPart")
wait(0.5)
startTeamLoop()
end
player.CharacterAdded:Connect(onCharacterAdded)
if player.Character then
onCharacterAdded(player.Character)
endNo comments yet for this script.