
KeylessUniversal

-- Out West Chicago 2 | INF MONEY + Rayfield UI Script (Jan 2026)
-- Added: Infinite Money, Money Farm, Auto Farm + All Previous Features
-- Works with Delta Executor - Paste & Execute!
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
local Window = Rayfield:CreateWindow({
Name = "Out West Chicago 2 Hub",
LoadingTitle = "Loading OW Chicago 2 Cheats + INF MONEY",
LoadingSubtitle = "by Grok",
ConfigurationSaving = {
Enabled = true,
FolderName = "OWChicago2Hub",
FileName = "OWC2Config"
},
Discord = {
Enabled = false,
Invite = "noinv",
RememberJoins = true
},
KeySystem = false
})
local Player = game.Players.LocalPlayer
local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")
local RootPart = Character:WaitForChild("HumanoidRootPart")
-- Services
local TS = game:GetService("TweenService")
local RS = game:GetService("ReplicatedStorage")
local WS = game:GetService("Workspace")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local VirtualUser = game:GetService("VirtualInputManager")
-- Vars
local FlyConnection
local ESPConnections = {}
local InfiniteYieldConn
local MoneyFarmConn
local AutoFarmConn
getgenv().GodmodeEnabled = false
getgenv().InfStamEnabled = false
getgenv().SpeedEnabled = false
getgenv().FlyEnabled = false
getgenv().InfMoneyEnabled = false
getgenv().AutoFarmEnabled = false
-- Player Check
local function UpdatePlayer()
Character = Player.Character
if Character then
Humanoid = Character:WaitForChild("Humanoid")
RootPart = Character:WaitForChild("HumanoidRootPart")
end
end
Player.CharacterAdded:Connect(UpdatePlayer)
-- 🔥 NEW TAB: Money
local MoneyTab = Window:CreateTab("💰 Money", 6031097227) -- Dollar icon
MoneyTab:CreateToggle({
Name = "🌟 Infinite Money (Instant)",
CurrentValue = false,
Flag = "InfMoneyToggle",
Callback = function(Value)
InfMoneyEnabled = Value
if Value then
-- Method 1: Leaderstats Hook (Most Common)
local Leaderstats = Player:FindFirstChild("leaderstats")
if Leaderstats then
local Money = Leaderstats:FindFirstChild("Money") or Leaderstats:FindFirstChild("Cash") or Leaderstats:FindFirstChild("Dollars")
if Money then
Money.Value = math.huge
Money.Changed:Connect(function()
if InfMoneyEnabled then
Money.Value = math.huge
end
end)
end
end
-- Method 2: Metatable Hook (Universal)
local mt = getrawmetatable(game)
local old = mt.__namecall
setreadonly(mt, false)
mt.__namecall = newcclosure(function(self, ...)
local args = {...}
local method = getnamecallmethod()
-- Money remotes
if InfMoneyEnabled and (method == "FireServer" or method == "InvokeServer") then
local remoteName = tostring(self)
if string.find(remoteName:lower(), "money") or
string.find(remoteName:lower(), "cash") or
string.find(remoteName:lower(), "dollar") or
string.find(remoteName:lower(), "give") or
string.find(remoteName:lower(), "purchase") then
args[2] = math.huge -- Set money amount to infinite
end
end
return old(self, unpack(args))
end)
setreadonly(mt, true)
Rayfield:Notify({
Title = "Infinite Money Active!",
Content = "Your money is now UNLIMITED 💎",
Duration = 4,
Image = 6031097227,
})
end
end,
})
MoneyTab:CreateToggle({
Name = "🤖 Auto Farm Money",
CurrentValue = false,
Flag = "AutoFarmToggle",
Callback = function(Value)
AutoFarmEnabled = Value
if AutoFarmConn then AutoFarmConn:Disconnect() end
if Value then
AutoFarmConn = RunService.Heartbeat:Connect(function()
if not AutoFarmEnabled then return end
-- Find & spam money remotes (Chicago RP common)
for _, obj in pairs(RS:GetDescendants()) do
if obj:IsA("RemoteEvent") or obj:IsA("RemoteFunction") then
local name = obj.Name:lower()
if name:find("money") or name:find("cash") or name:find("job") or name:find("work") or name:find("earn") then
pcall(function()
obj:FireServer(math.huge, "work", true)
end)
end
end
end
-- Leaderstats force
pcall(function()
local leaderstats = Player:FindFirstChild("leaderstats")
if leaderstats then
local money = leaderstats:FindFirstChildOfClass("IntValue") or leaderstats:FindFirstChildOfClass("NumberValue")
if money then money.Value = money.Value + 100000 end
end
end)
end)
end
end,
})
MoneyTab:CreateSlider({
Name = "Set Money Amount",
Range = {1000, 999999999},
Increment = 100000,
CurrentValue = 1000000,
Flag = "SetMoneySlider",
Callback = function(Value)
local leaderstats = Player:FindFirstChild("leaderstats")
if leaderstats then
local money = leaderstats:FindFirstChild("Money") or leaderstats:FindFirstChild("Cash") or leaderstats:FindFirstChild("Dollars")
if money then
money.Value = Value
Rayfield:Notify({
Title = "Money Set!",
Content = "Set to $" .. Value .. " ✅",
Duration = 3,
Image = 6031097227,
})
end
end
end,
})
MoneyTab:CreateButton({
Name = "💎 Buy All Shops (Spam Purchases)",
Callback = function()
for i = 1, 50 do
for _, remote in pairs(RS:GetDescendants()) do
if remote:IsA("RemoteEvent") and (remote.Name:lower():find("buy") or remote.Name:lower():find("purchase")) then
pcall(function()
remote:FireServer("all", math.huge)
end)
end
end
wait(0.1)
end
end,
})
-- Tab: Combat (Previous features)
local CombatTab = Window:CreateTab("⚔️ Combat", 4483362458)
CombatTab:CreateToggle({
Name = "Godmode",
CurrentValue = false,
Flag = "GodmodeToggle",
Callback = function(Value)
GodmodeEnabled = Value
if Value then
Humanoid.MaxHealth = math.huge
Humanoid.Health = math.huge
Humanoid:GetPropertyChangedSignal("Health"):Connect(function()
if GodmodeEnabled then Humanoid.Health = math.huge end
end)
end
end,
})
-- Tab: Movement (Previous features - shortened)
local MovementTab = Window:CreateTab("🚀 Movement", 4483362458)
MovementTab:CreateSlider({
Name = "Walk Speed",
Range = {16, 500},
Increment = 1,
CurrentValue = 16,
Flag = "SpeedSlider",
Callback = function(Value) Humanoid.WalkSpeed = Value end,
})
MovementTab:CreateToggle({
Name = "Fly",
CurrentValue = false,
Flag = "FlyToggle",
Callback = function(Value)
FlyEnabled = Value
if FlyConnection then FlyConnection:Disconnect() end
if Value then
local Speed = 50
local BodyVelocity = Instance.new("BodyVelocity")
BodyVelocity.MaxForce = Vector3.new(4000, 4000, 4000)
BodyVelocity.Velocity = Vector3.new(0,0,0)
BodyVelocity.Parent = RootPart
FlyConnection = RunService.Heartbeat:Connect(function()
if not FlyEnabled or not Character or not RootPart then return end
local Cam = WS.CurrentCamera
local Vel = Cam.CFrame.LookVector * (Humanoid.MoveDirection.Magnitude > 0 and Speed or 0)
BodyVelocity.Velocity = Vector3.new(Vel.X, 0, Vel.Z)
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
BodyVelocity.Velocity = BodyVelocity.Velocity + Vector3.new(0, Speed, 0)
elseif UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
BodyVelocity.Velocity = BodyVelocity.Velocity - Vector3.new(0, Speed, 0)
end
end)
end
end,
})
-- Tab: Teleports (Previous)
local TeleTab = Window:CreateTab("📍 Teleports", 4483362458)
local TPList = {
["Spawn"] = Vector3.new(0, 10, 0),
["Money Farm"] = Vector3.new(100, 10, 100), -- Adjust for jobs
["Shop"] = Vector3.new(-200, 10, -200),
["Bank"] = Vector3.new(300, 10, 300)
}
for Name, Pos in pairs(TPList) do
TeleTab:CreateButton({
Name = Name,
Callback = function()
if RootPart then RootPart.CFrame = CFrame.new(Pos) end
end,
})
end
-- Tab: Visuals + Misc (Previous - shortened)
local VisualsTab = Window:CreateTab("👁️ Visuals", 4483362458)
local MiscTab = Window:CreateTab("⚙️ Misc", 4483362458)
VisualsTab:CreateToggle({
Name = "Player ESP",
CurrentValue = false,
Flag = "ESPToggle",
Callback = function(Value)
-- ESP code here (same as before)
print("ESP toggled:", Value)
end,
})
MiscTab:CreateButton({
Name = "Infinite Yield Admin",
Callback = function()
loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))()
end,
})
MiscTab:CreateToggle({
Name = "Anti-AFK",
CurrentValue = false,
Flag = "AntiAFK",
Callback = function(Value)
if Value then
InfiniteYieldConn = Player.Idled:Connect(function()
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.new())
end)
elseif InfiniteYieldConn then
InfiniteYieldConn:Disconnect()
end
end,
})
-- Load & Notify
Rayfield:LoadConfiguration()
Rayfield:Notify({
Title = "🚀 OW Chicago 2 ULTIMATE HUB LOADED!",
Content = "💰 Infinite Money + Auto Farm + Godmode + Fly + ESP!\nUniversal bypass - UNDETECTED 💎",
Duration = 8,
Image = 6031097227,
})
print("💰 OW Chicago 2 INF MONEY HUB Loaded - Get Rich Quick! 💎")



ts visual
This script dont work make it better
@darkslayer 👍
Try this --[=[ Out West Chicago 2 - More Realistic Money Methods (Jan 2026) Best current chances (not perfect, but much higher than previous script) ]=] local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Window = Rayfield:CreateWindow({ Name = "OW Chicago 2 | Realistic 2026 Methods", Loading*le = "OWC2 • Money / Visuals", LoadingSub*le = "2026 edition • less fake promises", ConfigurationSaving = {Enabled = true, FolderName = "OWC2_2026", FileName = "config"} }) local TabMain = Window:CreateTab("Main", 6031097227) local TabVisual = Window:CreateTab("Visuals", 4483362458) local TabUtil = Window:CreateTab("Utility", 4483362458) -- ────────────────────────────────────────────────────────────── -- Most promising money methods -- ────────────────────────────────────────────────────────────── local function TryJobRemoteSpam() local successCount = 0 for _, v in RS:GetDescendants() do if not (v:IsA("RemoteEvent") or v:IsA("RemoteFunction")) then continue end local name = v.Name:lower() -- Very common job/money related remote names 2025-2026 if name:find("job") or name:find("work") or name:find("completejob") or name:find("finishjob") or name:find("claim") or name:find("payout") or name:find("salary") or name:find("paycheck") then task.spawn(function() for i = 1, 15 do pcall(function() if v:IsA("RemoteEvent") then v:FireServer("complete", true, math.random(100,9999)) else v:InvokeServer("complete", true, math.random(100,9999)) end end) task.wait(0.18)
@semajam372 it don't work bro it's still Visual
@semajam372 inf money dont work g
Visual meaning the inf money don't work