-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] -- GUI and functionality script local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local VirtualInputManager = game:GetService("VirtualInputManager") local TweenService = game:GetService("TweenService") -- Wait for character if not LocalPlayer.Character then LocalPlayer.CharacterAdded:Wait() end -- Anti-AFK local antiAFKEnabled = true local lastAFKAction = 0 local function performAntiAFK() local currentTime = tick() if currentTime - lastAFKAction >= 120 then pcall(function() VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.Space, false, game) wait(0.1) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.Space, false, game) end) wait(0.5) pcall(function() VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.W, false, game) wait(0.5) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.W, false, game) end) wait(0.5) pcall(function() VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.S, false, game) wait(0.5) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.S, false, game) end) wait(0.5) pcall(function() VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.A, false, game) wait(0.5) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.A, false, game) end) wait(0.5) pcall(function() VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.D, false, game) wait(0.5) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.D, false, game) end) lastAFKAction = currentTime end end RunService.Heartbeat:Connect(function() if antiAFKEnabled then performAntiAFK() end end) -- Camera rotation down every 15 seconds for seeker local lastCameraRotation = 0 local isRotatingCamera = false local function rotateCameraDown() if isRotatingCamera then return end isRotatingCamera = true local originalCFrame = Camera.CFrame local targetCFrame = originalCFrame * CFrame.Angles(math.rad(-45), 0, 0) local tweenInfo = TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) local tween = TweenService:Create(Camera, tweenInfo, {CFrame = targetCFrame}) tween:Play() wait(0.6) local tweenBackInfo = TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) local tweenBack = TweenService:Create(Camera, tweenBackInfo, {CFrame = originalCFrame}) tweenBack:Play() wait(0.6) isRotatingCamera = false end -- Create ScreenGui with high ZIndex local screenGui = Instance.new("ScreenGui") screenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling screenGui.DisplayOrder = 999 screenGui.ResetOnSpawn = false -- Create cube button (black and draggable) local cube = Instance.new("TextButton") cube.Size = UDim2.new(0, 60, 0, 60) cube.Position = UDim2.new(0.1, 0, 0.1, 0) cube.BackgroundColor3 = Color3.fromRGB(0, 0, 0) cube.Text = "MENU" cube.TextColor3 = Color3.fromRGB(255, 255, 255) cube.ZIndex = 999 cube.Parent = screenGui -- Draggable cube local draggingCube = false local dragStart = nil local cubeStart = nil cube.MouseButton1Down:Connect(function() draggingCube = true dragStart = UserInputService:GetMouseLocation() cubeStart = cube.Position end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then draggingCube = false end end) UserInputService.InputChanged:Connect(function(input) if draggingCube and input.UserInputType == Enum.UserInputType.MouseMovement then local mousePos = UserInputService:GetMouseLocation() local delta = mousePos - dragStart cube.Position = UDim2.new(cubeStart.X.Scale, cubeStart.X.Offset + delta.X, cubeStart.Y.Scale, cubeStart.Y.Offset + delta.Y) end end) -- Create menu frame local menu = Instance.new("Frame") menu.Size = UDim2.new(0, 200, 0, 140) menu.Position = UDim2.new(0.5, -100, 0.5, -70) menu.BackgroundColor3 = Color3.fromRGB(30, 30, 30) menu.Visible = false menu.ZIndex = 999 menu.Parent = screenGui local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 30) title.BackgroundColor3 = Color3.fromRGB(50, 50, 50) title.Text = "AUTO FARM" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.ZIndex = 999 title.Parent = menu -- Auto farm button local autoFarmButton = Instance.new("TextButton") autoFarmButton.Size = UDim2.new(1, -20, 0, 30) autoFarmButton.Position = UDim2.new(0, 10, 0, 40) autoFarmButton.Text = "AUTO FARM: OFF" autoFarmButton.ZIndex = 999 autoFarmButton.Parent = menu -- Anti-AFK button local antiAFKButton = Instance.new("TextButton") antiAFKButton.Size = UDim2.new(1, -20, 0, 30) antiAFKButton.Position = UDim2.new(0, 10, 0, 80) antiAFKButton.Text = "ANTI-AFK: ON" antiAFKButton.ZIndex = 999 antiAFKButton.Parent = menu -- Open menu on cube click cube.MouseButton1Click:Connect(function() menu.Visible = not menu.Visible end) -- Anti-AFK button click antiAFKButton.MouseButton1Click:Connect(function() antiAFKEnabled = not antiAFKEnabled antiAFKButton.Text = antiAFKEnabled and "ANTI-AFK: ON" or "ANTI-AFK: OFF" end) -- State variables local autoFarmEnabled = false local lastTeleportTime = 0 local platform = nil local lastCheckTime = 0 local isProcessing = false local followTarget = nil local followStartTime = 0 -- Function to get team color local function getTeamColor() local team = LocalPlayer.Team if not team then return "" end return team.Name:lower() end -- Function to check if player is dead local function isPlayerDead(player) if not player.Character then return true end local humanoid = player.Character:FindFirstChildOfClass("Humanoid") if not humanoid then return true end return humanoid.Health <= 0 end -- Function to get enemy players (not dead) local function getEnemyPlayers() local enemies = {} local localTeam = LocalPlayer.Team for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer then local teamName = "" if player.Team then teamName = player.Team.Name:lower() end -- Skip dead team players if teamName == "dead" or teamName == "мертвые" or teamName == "мертвый" then continue end -- Skip dead players if isPlayerDead(player) then continue end if not localTeam or player.Team ~= localTeam then table.insert(enemies, player) end end end return enemies end -- Function to check if player is near enemies local function isNearEnemies() local localRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if not localRoot then return false end local enemies = getEnemyPlayers() for _, enemy in pairs(enemies) do local enemyRoot = enemy.Character and enemy.Character:FindFirstChild("HumanoidRootPart") if enemyRoot then local distance = (localRoot.Position - enemyRoot.Position).Magnitude if distance < 50 then return true end end end return false end -- Function to create platform local function createPlatform(position) if platform then platform:Destroy() platform = nil end platform = Instance.new("Part") platform.Size = Vector3.new(10, 1, 10) platform.Position = position platform.Anchored = true platform.CanCollide = true platform.BrickColor = BrickColor.new("Dark stone grey") platform.Material = Enum.Material.Slate platform.Parent = workspace end -- Function to get closest enemy local function getClosestEnemy() local localRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if not localRoot then return nil end local closestEnemy = nil local shortestDistance = math.huge local enemies = getEnemyPlayers() for _, enemy in pairs(enemies) do local enemyRoot = enemy.Character and enemy.Character:FindFirstChild("HumanoidRootPart") if enemyRoot then local distance = (localRoot.Position - enemyRoot.Position).Magnitude if distance < shortestDistance then shortestDistance = distance closestEnemy = enemy end end end return closestEnemy end -- Function to simulate left mouse click local function clickLeftMouse() pcall(function() VirtualInputManager:SendMouseButtonEvent(0, 0, 0, true, game, 0) wait(0.05) VirtualInputManager:SendMouseButtonEvent(0, 0, 0, false, game, 0) end) end -- Function to equip knife from hotbar local function equipKnife() local backpack = LocalPlayer:FindFirstChild("Backpack") if not backpack then return end local knife = backpack:FindFirstChild("Knife") or backpack:FindFirstChild("knife") or backpack:FindFirstChild("Нож") or backpack:FindFirstChild("нож") if not knife then for _, tool in pairs(backpack:GetChildren()) do if tool:IsA("Tool") and (tool.Name:lower():find("knife") or tool.Name:lower():find("нож")) then knife = tool break end end end if knife and LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then LocalPlayer.Character.Humanoid:EquipTool(knife) end end -- Function to shoot at enemy local function shootAtEnemy(enemy) local enemyRoot = enemy.Character and enemy.Character:FindFirstChild("HumanoidRootPart") local enemyHumanoid = enemy.Character and enemy.Character:FindFirstChildOfClass("Humanoid") if not enemyRoot or not enemyHumanoid or enemyHumanoid.Health <= 0 then return end local tool = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Tool") if tool then for _, remote in pairs(game:GetService("ReplicatedStorage"):GetDescendants()) do if remote:IsA("RemoteEvent") then local remoteName = remote.Name:lower() if remoteName:find("shoot") or remoteName:find("fire") or remoteName:find("hit") or remoteName:find("damage") or remoteName:find("attack") then pcall(function() remote:FireServer(enemyRoot.Position, enemyRoot, enemyHumanoid) end) end end end pcall(function() tool:Activate() end) end clickLeftMouse() end -- Function to teleport above enemy local function teleportAboveEnemy(enemy) local localRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") local enemyRoot = enemy.Character and enemy.Character:FindFirstChild("HumanoidRootPart") if not localRoot or not enemyRoot then return end local teleportPosition = enemyRoot.Position + Vector3.new(0, 5, 0) localRoot.CFrame = CFrame.new(teleportPosition) end -- Function to follow enemy local function followEnemy(enemy) local localRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") local enemyRoot = enemy.Character and enemy.Character:FindFirstChild("HumanoidRootPart") local humanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if not localRoot or not enemyRoot or not humanoid then return end humanoid:MoveTo(enemyRoot.Position) localRoot.CFrame = CFrame.new(localRoot.Position, enemyRoot.Position) local distance = (localRoot.Position - enemyRoot.Position).Magnitude if distance < 5 then shootAtEnemy(enemy) end end -- Function to spawn high above with platform local function spawnHighAbove() local localRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if not localRoot then return end local spawnPosition = Vector3.new(0, 500, 0) localRoot.CFrame = CFrame.new(spawnPosition) createPlatform(spawnPosition - Vector3.new(0, 5, 0)) for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = true end end end -- Auto farm button click autoFarmButton.MouseButton1Click:Connect(function() autoFarmEnabled = not autoFarmEnabled autoFarmButton.Text = autoFarmEnabled and "AUTO FARM: ON" or "AUTO FARM: OFF" if autoFarmEnabled then local teamColor = getTeamColor() if teamColor == "hider" or teamColor == "hiders" or teamColor == "хидер" or teamColor == "хидеры" then spawnHighAbove() elseif teamColor == "red" or teamColor == "красные" or teamColor == "красный" or teamColor == "bright red" or teamColor == "really red" or teamColor == "seeker" or teamColor == "seekers" or teamColor == "искатель" or teamColor == "искатели" then equipKnife() end else if platform then platform:Destroy() platform = nil end followTarget = nil end end) -- Auto farm main loop with optimization RunService.Heartbeat:Connect(function() if not autoFarmEnabled or isProcessing then return end local currentTime = tick() local teamColor = getTeamColor() if teamColor == "hider" or teamColor == "hiders" or teamColor == "хидер" or teamColor == "хидеры" then if currentTime - lastCheckTime >= 1 then if isNearEnemies() then spawnHighAbove() end lastCheckTime = currentTime end if platform then local localRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if localRoot and localRoot.Position.Y < platform.Position.Y + 5 then localRoot.CFrame = CFrame.new(platform.Position + Vector3.new(0, 5, 0)) end end elseif teamColor == "red" or teamColor == "красные" or teamColor == "красный" or teamColor == "bright red" or teamColor == "really red" or teamColor == "seeker" or teamColor == "seekers" or teamColor == "искатель" or teamColor == "искатели" then if currentTime - lastCameraRotation >= 15 then rotateCameraDown() lastCameraRotation = currentTime end if not followTarget or isPlayerDead(followTarget) then followTarget = getClosestEnemy() if followTarget then teleportAboveEnemy(followTarget) followStartTime = currentTime equipKnife() end elseif followTarget and currentTime - followStartTime <= 15 then followEnemy(followTarget) elseif followTarget and currentTime - followStartTime > 15 then followTarget = nil lastTeleportTime = currentTime end if not followTarget and currentTime - lastTeleportTime >= 10 then followTarget = getClosestEnemy() if followTarget then teleportAboveEnemy(followTarget) followStartTime = currentTime equipKnife() end lastTeleportTime = currentTime end end end) -- Keep script working after death LocalPlayer.CharacterAdded:Connect(function(char) if autoFarmEnabled then wait(1) local teamColor = getTeamColor() if teamColor == "hider" or teamColor == "hiders" or teamColor == "хидер" or teamColor == "хидеры" then spawnHighAbove() elseif teamColor == "red" or teamColor == "красные" or teamColor == "красный" or teamColor == "bright red" or teamColor == "really red" or teamColor == "seeker" or teamColor == "seekers" or teamColor == "искатель" or teamColor == "искатели" then equipKnife() followTarget = nil end end end) -- Clean up when leaving game game:GetService("Players").LocalPlayer.OnPlayerRemoving:Connect(function() if platform then platform:Destroy() end end)