Player AutoFarm
Key Required

Player AutoFarm

[UPDATE🛢️] Slap Battles👏AuraAura 53.5K views 17 executesUpdated Aug 13, 2023
5.0/ 5(1 votes)
10100% Positive
Lua Script•105 lines (4532 chars)
local player = game.Players.LocalPlayer
        local ReplicatedStorage = game:GetService("ReplicatedStorage")
        local remoteEvent = ReplicatedStorage:WaitForChild("b")
        local Workspace = game:GetService("Workspace")
        
        local detectionRange = 750 
        local heightUnderPlayer = 5
        local safeDistanceFromRock = 50 

        local function hasErrorTool(player)
            if player.Backpack:FindFirstChild("Error") or (player.Character and player.Character:FindFirstChild("Error")) then
                return true
            end
            return false
        end

        local function isTransparent(character)
            for _, part in pairs(character:GetChildren()) do
                if part:IsA("MeshPart") or part:IsA("Part") then
                    if part.Transparency == 0.5 then
                        return true
                    end
                end
            end
            return false
        end

        local function isWithinLobbyArea(character)
            return game:GetService("Workspace").Lobby:IsAncestorOf(character)
        end

        local function distanceFromRock(position)
            local rock = Workspace:FindFirstChild("rock")
            if rock then
                return (position - rock.Position).Magnitude
            end
            return math.huge
        end

        local function getClosestPlayer(character)
            local shortestDistance = math.huge
            local closestPlayer = nil
        
            for _, otherPlayer in ipairs(game.Players:GetPlayers()) do
                if otherPlayer ~= player and otherPlayer.Character and otherPlayer.Character:FindFirstChild("Head") 
                   and not isTransparent(otherPlayer.Character) and not isWithinLobbyArea(otherPlayer.Character) 
                   and distanceFromRock(otherPlayer.Character.Head.Position) > safeDistanceFromRock 
                   and not hasErrorTool(otherPlayer) then
                    local distance = (character.Head.Position - otherPlayer.Character.Head.Position).Magnitude
                    if distance < shortestDistance then
                        shortestDistance = distance
                        closestPlayer = otherPlayer
                    end
                end
            end
        
            return closestPlayer
        end

        local function createPlatform(position)
            local platform = Instance.new("Part")
            platform.Position = position
            platform.Size = Vector3.new(10, 1, 10)
            platform.Anchored = true
            platform.CanCollide = true
            platform.BrickColor = BrickColor.new("Really black") -- Set to black color
            platform.Transparency = 1 -- Set to invisible
            platform.Parent = Workspace
            return platform
        end

        local function continuousTeleportAndActivate(character)
            local platform = nil
        
            character.Humanoid.Died:Connect(function()
                character:SetPrimaryPartCFrame(Workspace.Lobby.Teleport1.CFrame)
                wait(1)
            end)
        
            while true do
                local closestPlayer = getClosestPlayer(character)
                if closestPlayer and closestPlayer.Character and closestPlayer.Character:FindFirstChild("HumanoidRootPart") then
                    local humanoid = closestPlayer.Character:FindFirstChild("Humanoid")
                    if humanoid and humanoid.Health <= 0 then
                        wait(0.1)
                        closestPlayer = getClosestPlayer(character)
                    end
                    character:SetPrimaryPartCFrame(closestPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0, -heightUnderPlayer, 0))
                    
                    if not platform then
                        platform = createPlatform(character.HumanoidRootPart.Position + Vector3.new(0, 3, 0))
                    else
                        platform.Position = character.HumanoidRootPart.Position + Vector3.new(0, 3, 0)
                    end
                    
                    local args = {[1] = closestPlayer.Character.Head}
                    remoteEvent:FireServer(unpack(args))
                end
                wait(0)
            end
        end
        
        player.CharacterAdded:Connect(continuousTeleportAndActivate)
        local currentCharacter = player.Character or player.CharacterAdded:Wait()
        continuousTeleportAndActivate(currentCharacter)

Features & Information

yea yea you already know how i made this lol you best believe you better join this discord server: https://discord.gg/MpY7h3WqNh

Community Comments (0)

No comments yet for this script.

More Scripts for [UPDATE🛢️] Slap Battles👏