dupe
Key Required

dupe

WestboundKisammKisamm 1.2M views 114 executesUpdated Sep 14, 2025
5.0/ 5(7 votes)
70100% Positive
Lua Script•351 lines (11275 chars)
--by kisamm but i take working script and fix crash
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local VirtualUser = game:GetService("VirtualUser")
local StatsService = game:GetService("Stats")

local localPlayer = Players.LocalPlayer
local character = localPlayer.Character or localPlayer.CharacterAdded:Wait()
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")

local bag = localPlayer:WaitForChild("States"):WaitForChild("Bag")
local bagSizeLevel = localPlayer:WaitForChild("Stats"):WaitForChild("BagSizeLevel"):WaitForChild("CurrentAmount")
local robEvent = ReplicatedStorage:WaitForChild("GeneralEvents"):WaitForChild("Rob")
local targetPosition = CFrame.new(1636.62537, 104.349976, -1736.184)

if humanoid then
    local clonedHumanoid = humanoid:Clone()
    clonedHumanoid.Parent = character
    localPlayer.Character = nil
    clonedHumanoid:SetStateEnabled(Enum.HumanoidStateType.Dead, false)
    clonedHumanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
    clonedHumanoid:SetStateEnabled(Enum.HumanoidStateType.Physics, false)
    humanoid:Destroy()
    localPlayer.Character = character
    local camera = Workspace.CurrentCamera
    camera.CameraSubject = clonedHumanoid
    camera.CFrame = camera.CFrame
    clonedHumanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
    local animate = character:FindFirstChild("Animate")
    if animate then
        animate.Disabled = true
        task.wait(0.07)
        animate.Disabled = false
    end
    clonedHumanoid.Health = clonedHumanoid.MaxHealth
    humanoid = clonedHumanoid
    humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
end

localPlayer.Idled:Connect(function()
    VirtualUser:CaptureController()
    VirtualUser:ClickButton2(Vector2.new())
end)

if getgenv().AntiAfkExecuted and game.CoreGui:FindFirstChild("AutoFarmUI") then
    getgenv().AntiAfkExecuted = false
    getgenv().zamanbaslaticisi = false
    game.CoreGui.AutoFarmUI:Destroy()
end

getgenv().AntiAfkExecuted = true

local AutoFarmUI = Instance.new("ScreenGui")
AutoFarmUI.Name = "AutoFarmUI"
AutoFarmUI.Parent = game.CoreGui
AutoFarmUI.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

local MainFrame = Instance.new("Frame")
MainFrame.Parent = AutoFarmUI
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
MainFrame.BackgroundTransparency = 0.2
MainFrame.Position = UDim2.new(0.5, -125, 0.5, -75)
MainFrame.Size = UDim2.new(0, 250, 0, 150)
MainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
MainFrame.Visible = false

local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 10)
UICorner.Parent = MainFrame

local UIStroke = Instance.new("UIStroke")
UIStroke.Thickness = 2
UIStroke.Color = Color3.fromRGB(60, 60, 60)
UIStroke.Parent = MainFrame

local Title = Instance.new("TextLabel")
Title.Parent = MainFrame
Title.Text = "Money Dupe V.5"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 16
Title.Size = UDim2.new(1, 0, 0, 30)
Title.BackgroundTransparency = 1

local CloseButton = Instance.new("TextButton")
CloseButton.Parent = MainFrame
CloseButton.Text = "X"
CloseButton.Font = Enum.Font.GothamBold
CloseButton.TextSize = 16
CloseButton.TextColor3 = Color3.fromRGB(255, 0, 0)
CloseButton.BackgroundTransparency = 1
CloseButton.Size = UDim2.new(0, 25, 0, 25)
CloseButton.Position = UDim2.new(0.9, 0, 0, 5)

local StatsFrame = Instance.new("Frame")
StatsFrame.Parent = MainFrame
StatsFrame.BackgroundTransparency = 1
StatsFrame.Position = UDim2.new(0, 10, 0, 40)
StatsFrame.Size = UDim2.new(1, -20, 1, -50)

local UIListLayout = Instance.new("UIListLayout")
UIListLayout.Parent = StatsFrame
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0, 5)

local function createLabel(text, parent)
    local Label = Instance.new("TextLabel")
    Label.Parent = parent
    Label.Text = text
    Label.TextColor3 = Color3.fromRGB(255, 255, 255)
    Label.Font = Enum.Font.Gotham
    Label.TextSize = 14
    Label.Size = UDim2.new(1, 0, 0, 20)
    Label.BackgroundTransparency = 1
    Label.TextXAlignment = Enum.TextXAlignment.Left
    return Label
end

local PingLabel = createLabel("Ping: Calculating...", StatsFrame)
local CashLabel = createLabel("Earnings: $0", StatsFrame)
local FPSLabel = createLabel("FPS: Calculating...", StatsFrame)
local TimerLabel = createLabel("Time: 00:00:00", StatsFrame)

local function openUI()
    MainFrame.Visible = true
    MainFrame.Size = UDim2.new(0, 200, 0, 120)
    local fadeIn = TweenService:Create(MainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
        Size = UDim2.new(0, 250, 0, 150),
        BackgroundTransparency = 0.2
    })
    fadeIn:Play()
end

local function closeUI()
    local fadeOut = TweenService:Create(MainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {
        Size = UDim2.new(0, 200, 0, 120),
        BackgroundTransparency = 1
    })
    fadeOut:Play()
    fadeOut.Completed:Connect(function()
        AutoFarmUI:Destroy()
    end)
end

CloseButton.MouseButton1Click:Connect(closeUI)

openUI()

local dragging, dragStart, startPos
local currentTween
local function updateDrag(input)
    local delta = input.Position - dragStart
    local targetPos = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
    if currentTween then
        currentTween:Cancel()
    end
    currentTween = TweenService:Create(MainFrame, TweenInfo.new(0.05, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {Position = targetPos})
    currentTween:Play()
end

MainFrame.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = true
        dragStart = input.Position
        startPos = MainFrame.Position
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                dragging = false
            end
        end)
    end
end)

MainFrame.InputChanged:Connect(function(input)
    if (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) and dragging then
        updateDrag(input)
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
        updateDrag(input)
    end
end)

task.spawn(function()
    while task.wait(0.7) do
        local dt = RunService.RenderStepped:Wait()
        FPSLabel.Text = "FPS: " .. tostring(math.floor(1 / dt))
    end
end)

task.spawn(function()
    while task.wait(0.7) do
        local perfStats = StatsService:FindFirstChild("PerformanceStats")
        if perfStats and perfStats:FindFirstChild("Ping") then
            PingLabel.Text = "Ping: " .. tostring(math.floor(perfStats.Ping:GetValue())) .. "ms"
        end
    end
end)

local seconds, minutes, hours = 0, 0, 0

task.spawn(function()
    while task.wait(1) do
        seconds = seconds + 1
        if seconds >= 60 then
            seconds = 0
            minutes = minutes + 1
        end
        if minutes >= 60 then
            minutes = 0
            hours = hours + 1
        end
        TimerLabel.Text = string.format("Time: %02d:%02d:%02d", hours, minutes, seconds)
    end
end)

local function formatNumber(n)
    local formatted = tostring(n)
    local k
    while true do
        formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')
        if k == 0 then break end
    end
    return formatted
end

local function moveToTarget()
    if humanoidRootPart then
        humanoidRootPart.CFrame = targetPosition
    end
end

local cashRegisters = {}

local safes = {}

local function updateCaches()
    for _, child in ipairs(Workspace:GetChildren()) do
        if child:IsA("Model") then
            if child.Name == "CashRegister" then
                table.insert(cashRegisters, child)
            elseif child.Name == "Safe" then
                table.insert(safes, child)
            end
        end
    end
end

updateCaches()

Workspace.ChildAdded:Connect(function(child)
    if child:IsA("Model") then
        if child.Name == "CashRegister" then
            table.insert(cashRegisters, child)
        elseif child.Name == "Safe" then
            table.insert(safes, child)
        end
    end
end)

Workspace.ChildRemoved:Connect(function(child)
    if child:IsA("Model") then
        if child.Name == "CashRegister" then
            for i = #cashRegisters, 1, -1 do
                if cashRegisters[i] == child then
                    table.remove(cashRegisters, i)
                end
            end
        elseif child.Name == "Safe" then
            for i = #safes, 1, -1 do
                if safes[i] == child then
                    table.remove(safes, i)
                end
            end
        end
    end
end)

local function checkCashRegister()
    if bag.Value >= bagSizeLevel.Value then
        moveToTarget()
        return false
    end
    for i = 1, #cashRegisters do
        local item = cashRegisters[i]
        local openPart = item:FindFirstChild("Open")
        if openPart then
            humanoidRootPart.CFrame = openPart.CFrame
            robEvent:FireServer("Register", {
                Part = item:FindFirstChild("Union"),
                OpenPart = openPart,
                ActiveValue = item:FindFirstChild("Active"),
                Active = true
            })
            return true
        end
    end
    return false
end

local function checkSafe()
    if bag.Value >= bagSizeLevel.Value then
        moveToTarget()
        return false
    end
    for i = 1, #safes do
        local item = safes[i]
        if item:FindFirstChild("Amount") and item.Amount.Value > 0 then
            local safePart = item:FindFirstChild("Safe")
            if safePart then
                humanoidRootPart.CFrame = safePart.CFrame
                local openFlag = item:FindFirstChild("Open")
                if openFlag and openFlag.Value then
                    robEvent:FireServer("Safe", item)
                else
                    local openSafe = item:FindFirstChild("OpenSafe")
                    if openSafe then
                        openSafe:FireServer("Completed")
                    end
                    robEvent:FireServer("Safe", item)
                end
                return true
            end
        end
    end
    return false
end

RunService.RenderStepped:Connect(function()
    if not checkCashRegister() then
        checkSafe()
    end
end)

local leaderstats = localPlayer:WaitForChild("leaderstats")
local cashStat = leaderstats:WaitForChild("$$")
local initialCash = cashStat.Value

task.spawn(function()
    while task.wait(0.7) do
        local earned = cashStat.Value - initialCash
        CashLabel.Text = "Earnings: $" .. formatNumber(earned)
    end
end)

Features & Information

13 min 57k 24 min 100k like pls/
#dupe

Community Comments (19)

112nik22345112nik22345Sep 14, 2025

very good script i prefer using it u get 40 dollars per teleport but with the 57k per 13 minutes its a scam but u get around 20k wich is also good

Replying to @112nik22345
KisammKisammSep 14, 2025

@shai83 you need get 100 dollars for 1 grab level up

Replying to @Kisamm
aidena1786aidena1786Sep 21, 2025

@Kisamm how do you do that?

Replying to @112nik22345
cvexecvexeSep 17, 2025

@shai83 certified *

Replying to @112nik22345
habuhabibi817habuhabibi817Sep 22, 2025

@112nik22345 u can get upto $100 per tp if u upgrade ur bag

Replying to @112nik22345
KisammKisammDec 17, 2025

@112nik22345 я просто вкл скрипт и уходил по делам и когда возвращался вечером меня устраивал мой баланс щас у меня с покупкой всех самых дорогих ганов равен 750 к был + - лям.

pumrat2pumrat2Sep 14, 2025

this script is fire

neutralneutralSep 23, 2025

clickbait on scriptblox is crazy, this is a autofarm not dupe

Replying to @neutral
KisammKisammDec 17, 2025

@neutral да это являться автофармом и дюпом одновременно поскольку тут используется еще и недоработка системы и вообще докапываться к этому оч страно я выложил чтобы вы играли радовались.

_croksy_croksySep 26, 2025

Nice script

lukas42764276lukas42764276Sep 27, 2025

uh it doesnt work for me

neutralneutralOct 18, 2025

@sfuw this isnt duping, its autofarming

klasekysklasekysOct 22, 2025

w script 2 min 4k dollars

Replying to @klasekys
klasekysklasekysOct 22, 2025

10 min 21k

nam3007nguyennam3007nguyenJan 8, 2026

how do i use it, the description is not very clear

scrugherscrugherJan 30, 2026

doesnt work

scrugherscrugherJan 30, 2026

it kills me

scrugherscrugherJan 30, 2026

and bugs my game trash

KisammKisammMay 9, 2026

script don t work now because owner game fix this bug

More Scripts for Westbound