Rensselaer County Script - Vehicle, ESP, Auto Farm, Cash Farm

Project Information

Developer: werewould2
Status: UNDETECTED
Updated: January 7, 2026 at 7:18 AM
Version: 1.0.0
Compatibility: PC (Windows, MacOS) - Mobile (iOS, Android)
Updates & Support:

Rensselaer County Script - Vehicle, ESP, Auto Farm, Cash Farm

On this page, I am sharing with you one of the best scripts for the updated Rensselaer County game from the Roblox world, which includes an automatic Auto Farm feature and more. With this script, which has a user-friendly GUI and a wide range of functions, you can increase your game rank, obtain better items and rewards, and more. Currently, the script works without any issues, and you do not need a key or risk being banned for using it. It is a user-friendly and simple script that works on PC, Mobile, and Tablet devices.

The Rensselaer County Script is a powerful all-in-one tool for players exploring the massive open-world experience of Rensselaer County on Roblox. Set in a detailed New York–inspired environment, the game focuses on driving, exploration, roleplay, and earning money across a huge road network filled with houses, highways, and hidden locations. With the latest Update 5.8.0 Winter Update introducing seasonal content and new vehicles, this script helps you enjoy everything faster and more efficiently. Featuring Vehicle, ESP, Auto Farm, and Cash Farm, it gives you full control over progression and exploration.

(❄️ WINTER UPDATE) Rensselaer County Script Roblox ( NO KEY ) - Vehicle, ESP, Auto Farm, Cash Farm and More

-- 1. WAIT FOR GAME LOAD
if not game:IsLoaded() then game.Loaded:Wait() end
task.wait(7)

local Players = game:GetService("Players")
local VirtualInputManager = game:GetService("VirtualInputManager")
local TeleportService = game:GetService("TeleportService")
local GuiService = game:GetService("GuiService") 
local CoreGui = game:GetService("CoreGui")
local Workspace = game:GetService("Workspace")
local LocalPlayer = Players.LocalPlayer
local Camera = Workspace.CurrentCamera

--------------------------------------------------------------------------------
-- SAVE SYSTEM
--------------------------------------------------------------------------------
local SAVE_FILE = "XmasFarmData.txt"
local currentBatch = 0

local function SaveProgress()
    writefile(SAVE_FILE, tostring(currentBatch))
end

local function LoadProgress()
    if isfile(SAVE_FILE) then
        local data = readfile(SAVE_FILE)
        local number = tonumber(data)
        if number then
            currentBatch = number
            print("Loaded Batch Count: " .. currentBatch)
        end
    end
end
LoadProgress()

--------------------------------------------------------------------------------
-- BYPASS FIX: GUI INSET + SIGNAL FIRE
--------------------------------------------------------------------------------
local function BypassMainMenu()
    print("STARTING MENU BYPASS...")
    
    while true do
        local PlayerGui = LocalPlayer:FindFirstChild("PlayerGui")
        if PlayerGui then
            local menu = PlayerGui:FindFirstChild("MainMenu")
            if menu then
                local holder = menu:FindFirstChild("Holder")
                if holder then
                    local options = holder:FindFirstChild("MainMenuOptionsHolder")
                    if options then
                        local playBtn = options:FindFirstChild("PlayButton")
                        
                        if playBtn and playBtn.Visible then
                            print("Clicking PlayButton...")
                            
                            local pos = playBtn.AbsolutePosition
                            local size = playBtn.AbsoluteSize
                            local inset = GuiService:GetGuiInset()
                            
                            local centerX = pos.X + (size.X / 2)
                            local centerY = pos.Y + (size.Y / 2) + inset.Y 
                            
                            VirtualInputManager:SendMouseButtonEvent(centerX, centerY, 0, true, game, 1)
                            task.wait(0.05)
                            VirtualInputManager:SendMouseButtonEvent(centerX, centerY, 0, false, game, 1)
                            
                            pcall(function()
                                for _, connection in pairs(getconnections(playBtn.MouseButton1Click)) do
                                    connection:Fire()
                                end
                            end)

                            task.wait(0.6)
                        else
                            print("Button gone. Assuming game started.")
                            break
                        end
                    end
                end
            else
                print("Menu GUI gone. Farm starting.")
                break
            end
        end
        task.wait(0.7)
    end
end

BypassMainMenu()

--------------------------------------------------------------------------------
-- CONFIGURATION
--------------------------------------------------------------------------------
local isRunning = true 
local failedSearchCount = 0 
local consecutiveFailures = 0 -- New tracker for skips
local MAX_FAILURES = 5        -- New limit: Rejoin after 5 failed pickups in a row

-- TRACKING TABLES
local AlreadyFarmed = {} 
local TempSkipped = {}   

-- GAME SETTINGS
local STAT_NAME = "Cash" 
local HAND_IN_POS = Vector3.new(462, -110, 9910)
local BATCH_SIZE = 15
local VALID_NAMES = { "Present1", "Present2", "Present3", "Present4", "Present5", "Present6", "Reef", "Stocking" }
local CAMERA_OFFSETS = { 
    Vector3.new(0, 6, 0),    -- 1. High
    Vector3.new(5, 3, 0),    -- 2. Side
    Vector3.new(0, 2, 4)     -- 3. Low
}

local decorFolder = Workspace:WaitForChild("ChristmasDecor", 5) 
local foldersToCheck = {}

local function RefreshFolders()
    if decorFolder then
        foldersToCheck = {}
        if decorFolder:FindFirstChild("Presents") then table.insert(foldersToCheck, decorFolder.Presents) end
        if decorFolder:FindFirstChild("Reefs") then table.insert(foldersToCheck, decorFolder.Reefs) end
        if decorFolder:FindFirstChild("Stockings") then table.insert(foldersToCheck, decorFolder.Stockings) end
    end
end
RefreshFolders()

--------------------------------------------------------------------------------
-- HELPER FUNCTIONS
--------------------------------------------------------------------------------

local function GetCurrentCash()
    if LocalPlayer:FindFirstChild("leaderstats") and LocalPlayer.leaderstats:FindFirstChild(STAT_NAME) then
        return LocalPlayer.leaderstats[STAT_NAME].Value
    end
    return 0 
end

local function TeleportTo(cframe)
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
        LocalPlayer.Character.HumanoidRootPart.CFrame = cframe
    end
end

local function TapE()
    VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.E, false, game)
    task.wait(0.05)
    VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.E, false, game)
end

--------------------------------------------------------------------------------
-- UI SETUP
--------------------------------------------------------------------------------
local ScreenGui = Instance.new("ScreenGui")
local Frame = Instance.new("Frame")
local Status = Instance.new("TextLabel")
local ToggleBtn = Instance.new("TextButton")

ScreenGui.Name = "OvernightFarmer"
ScreenGui.Parent = CoreGui
Frame.Parent = ScreenGui
Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Frame.Position = UDim2.new(0.1, 0, 0.2, 0)
Frame.Size = UDim2.new(0, 220, 0, 100)
Frame.Active = true; Frame.Draggable = true

Status.Parent = Frame
Status.Size = UDim2.new(1,0,0.5,0)
Status.TextColor3 = Color3.new(1,1,1)
Status.BackgroundTransparency = 1
Status.Text = "Idle"
Status.TextScaled = true

ToggleBtn.Parent = Frame
ToggleBtn.Position = UDim2.new(0,0,0.5,0)
ToggleBtn.Size = UDim2.new(1,0,0.5,0)
ToggleBtn.BackgroundColor3 = Color3.fromRGB(0,100,0)
ToggleBtn.Text = "RUNNING"
ToggleBtn.TextScaled = true

ToggleBtn.MouseButton1Click:Connect(function()
    isRunning = not isRunning
    ToggleBtn.BackgroundColor3 = isRunning and Color3.fromRGB(0,100,0) or Color3.fromRGB(150,0,0)
    ToggleBtn.Text = isRunning and "RUNNING" or "STOPPED"
end)

--------------------------------------------------------------------------------
-- CORE LOGIC
--------------------------------------------------------------------------------

local function PerformHandIn()
    Status.Text = "Handing In..."
    TeleportTo(CFrame.new(HAND_IN_POS))
    task.wait(0.7)
    
    VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.E, false, game) 
    task.wait(2.5) 
    VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.E, false, game) 
    
    currentBatch = 0
    consecutiveFailures = 0 -- Reset failures on successful hand-in
    SaveProgress()
    
    Status.Text = "Done."
    task.wait(0.2)
end

local function RejoinServer()
    Status.Text = "Rejoining..."
    task.wait(0.5)
    TeleportService:Teleport(game.PlaceId, LocalPlayer)
end

local function GetClosestItem()
    local char = LocalPlayer.Character
    if not char or not char:FindFirstChild("HumanoidRootPart") then return nil end
    local root = char.HumanoidRootPart
    
    local bestTarget = nil
    local closestDist = 999999
    
    for _, folder in pairs(foldersToCheck) do
        for _, v in pairs(folder:GetChildren()) do
            if AlreadyFarmed[v] then continue end
            if TempSkipped[v] and tick() < TempSkipped[v] then continue end
            
            if table.find(VALID_NAMES, v.Name) then
                local prompt = v:FindFirstChildWhichIsA("ProximityPrompt", true)
                if prompt and prompt.Enabled then
                    local dist = (v:GetPivot().Position - root.Position).Magnitude
                    if dist < closestDist then
                        closestDist = dist
                        bestTarget = v
                    end
                end
            end
        end
    end
    return bestTarget
end

local function AttemptCollect(target)
    local targetPos = target:GetPivot().Position
    local startCash = GetCurrentCash()
    
    for i = 1, 3 do
        if not isRunning then return false end
        Status.Text = "Try " .. i .. ": " .. target.Name
        
        -- 1. Move
        TeleportTo(CFrame.new(targetPos + Vector3.new(0, 4, 0)))
        
        -- 2. Adjust Camera
        local camOffset = CAMERA_OFFSETS[i]
        if Camera then 
            Camera.CFrame = CFrame.new(targetPos + camOffset, targetPos) 
        end
        
        task.wait(0.2)
        
        -- 3. Click
        local prompt = target:FindFirstChildWhichIsA("ProximityPrompt", true)
        if prompt then prompt.HoldDuration = 0 end
        TapE()
        
        task.wait(0.3) -- Wait for Cash to update
        
        -- 4. VERIFY
        local newCash = GetCurrentCash()
        if newCash > startCash then
            return true -- SUCCESS
        end
    end
    
    return false -- Failed all 3 attempts
end

--------------------------------------------------------------------------------
-- MAIN LOOP
--------------------------------------------------------------------------------
task.spawn(function()
    while true do
        task.wait(0.1)
        if isRunning then
            if not LocalPlayer.Character then 
                task.wait(0.6) 
            else
                if currentBatch >= BATCH_SIZE then
                    PerformHandIn()
                else
                    local target = GetClosestItem()
                    
                    if target then
                        failedSearchCount = 0
                        local success = AttemptCollect(target)
                        
                        if success then
                            AlreadyFarmed[target] = true
                            currentBatch = currentBatch + 1
                            consecutiveFailures = 0 -- Reset counter on success
                            SaveProgress()
                            Status.Text = "Got Cash! ("..currentBatch.."/"..BATCH_SIZE..")"
                        else
                            -- ADDED: FAIL TRACKER LOGIC
                            consecutiveFailures = consecutiveFailures + 1
                            TempSkipped[target] = tick() + 30
                            Status.Text = "Failed ("..consecutiveFailures.."), skipping..."
                            
                            -- IF WE FAILED TOO MANY TIMES IN A ROW
                            if consecutiveFailures >= MAX_FAILURES then
                                Status.Text = "Too many fails! Handing in..."
                                if currentBatch > 0 then 
                                    PerformHandIn() -- Hand in what we have
                                end
                                RejoinServer() -- Leave server
                                break
                            end
                            
                            task.wait(0.5)
                        end
                    else
                        failedSearchCount = failedSearchCount + 1
                        Status.Text = "Searching... ("..failedSearchCount..")"
                        RefreshFolders()
                        
                        if failedSearchCount > 5 then
                            Status.Text = "No items found! Rejoining..."
                            if currentBatch > 0 then PerformHandIn() end
                            RejoinServer()
                            break
                        end
                        task.wait(0.2)
                    end
                end
            end
        end
    end
end)

Free Download Rensselaer County Script - Vehicle, ESP, Auto Farm, Cash Farm

Only authorized users can download files. Please Log in or Register on the website.
Comments: 0 Views: 34

0 comments

No Comments