------------------------------------ -- Shinjuku 2006 script by @focat -- -- Infinite money -- -- Working as of 10/26/2024 -- ------------------------------------ -- Teleporting doesn't ban but I think -- Coroutines do, so be careful while -- using. I'm not sure as I got banned -- using the new BanAPI and cannot test -- this script anymore. Use at your own -- risk. I'm not responsible for any bans. START_SCRIPT_KEY = "E" --// Change this to wtv key u want (Must be apart of Enum.KeyCode) local player = game.Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoidRootPart = character:WaitForChild("HumanoidRootPart") local originalPosition = humanoidRootPart.Position local sellWeaponRemote = game:GetService("ReplicatedStorage"):WaitForChild("SellWeapon") -- PlayerGui["1"].Frame.SellFrame.Purchase.LocalScript local function sellWeapon(player, weapon) sellWeaponRemote:FireServer(weapon) end local function moveToPosition(position) humanoidRootPart.CFrame = CFrame.new(position) end local whitelistedWeapons = { "Hammer", "Knife", "Bat", "Bokken", "Katana", "Sledgehammer", "Fireaxe", "Pistol", "Revolver", "SMG", "SMG2", "Shotgun", "Rifle" -- u cannot sell golden katana } local function getWeapons(player) local weapons = {} for _, weapon in next, player.Backpack:GetChildren() do if weapon:IsA("Tool") and table.find(whitelistedWeapons, weapon.Name) then table.insert(weapons, weapon) end end return weapons end local function sellAllWeapons(player) while #getWeapons(player) > 0 do for _, weapon in next, getWeapons(player) do sellWeapon(player, weapon) moveToPosition(Vector3.new(-189, 39, 208)) print("Sold " .. weapon.Name) task.wait(3) end end end -- Pickup Weapons -- local function moveAround(position) local startTime = tick() while tick() - startTime < 2 do local offsetX = math.random(-0.7, 0.7) local offsetZ = math.random(-0.7, 0.7) moveToPosition(position + Vector3.new(offsetX, 2.375, offsetZ)) task.wait() end end local function hasNewItem(initialItems) local currentItems = {} for _, item in next, player.Backpack:GetChildren() do table.insert(currentItems, item.Name) end for _, item in next, currentItems do if not table.find(initialItems, item) then return true end end return false end local function getInitialItems() local items = {} for _, item in next, player.Backpack:GetChildren() do table.insert(items, item.Name) end return items end local function teleportToWeaponSpawns() local weaponSpawns = workspace:FindFirstChild("WeaponSpawn", true) if weaponSpawns then for _, spawn in next, weaponSpawns:GetChildren() do local pickupPart = spawn:FindFirstChild("Pickup") if pickupPart and pickupPart:IsA("Part") then local initialItems = getInitialItems() local startTime = tick() while tick() - startTime < 5 do moveToPosition(pickupPart.Position) moveAround(pickupPart.Position) if hasNewItem(initialItems) then break end end end end end while #getWeapons(player) > 0 do moveToPosition(Vector3.new(-189, 39, 208)) coroutine.wrap(function() sellAllWeapons(player) end)() task.wait() end --// Reset the player (Gets u banned) --player.Character:BreakJoints() end local userInputService = game:GetService("UserInputService") userInputService.InputBegan:Connect(function(i, gpe) if i.KeyCode == Enum.KeyCode[START_SCRIPT_KEY] and not gpe then coroutine.wrap(function() teleportToWeaponSpawns() end)() end end)