local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
-- [[ HYBRID DUPE VARIABLES ]] --
_G.DupeActive = false
local currentSession = 0
local hasSuccessfulDupe = false
local masterObject = nil
local hasDoneForceEquip = false
local successCounter = 0
local GhostCache = nil
-- [[ SETTINGS & BLACKLIST ]] --
local Blacklist = {
["Fists"] = true, ["Fist"] = true, ["Phone"] = true,
["Car Keys"] = true, ["Bandage"] = true, ["762s"] = true,
["556s"] = true, ["Extended"] = true, ["T shirt"] = true,
["Combat"] = true, ["Weight"] = true
}
local ExemptItems = {"Phone", "Fist", "Shiesty", "Bandage", "Lemonade", "Car keys"}
-- Cache Remotes
local BackpackRemote = ReplicatedStorage:FindFirstChild("BackpackRemote")
local InventoryRemote = ReplicatedStorage:FindFirstChild("Inventory")
local BuyItemRemote = ReplicatedStorage:FindFirstChild("BuyItemRemote")
local ListWeaponRemote = ReplicatedStorage:FindFirstChild("ListWeaponRemote")
local MarketItems = ReplicatedStorage:FindFirstChild("MarketItems")
local dropRemote = ReplicatedStorage:WaitForChild("DropItemRemote", 5)
-- State Variables
local cycleCount = 0
local autoDropEnabled = false
local AntiLoseEnabled = false
local isInfAmmo = false
local safeActive = false
local lastDeathPosition = nil
_G.KillAllActive = false
_G.RespawnAtDeath = false
_G.respawn = false
-- Walk Speed States
local enhancedWalk = false
local walkSpeedValue = 200
local bodyGyro, movementConnection, freezeConnection, animationTrack
local walkAnimation = Instance.new("Animation")
walkAnimation.AnimationId = "rbxassetid://78828590676720"
-- Feature States
_G.AntiShake = false
_G.InstantInteract = false
_G.AntiRent = false
_G.AntiKb = false
-- Combat States
local MIN_FIRE_RATE = 0.07
local autoEnabled = false
local noRateEnabled = false
local antiFallDamage = false
local isInfDamage = false
local staminaEnabled = false
local hungerEnabled = false
local sleepEnabled = false
-- [[ HELPERS & UTILITIES ]] --
local function RestoreGhostItems()
local bp = LocalPlayer:FindFirstChild("Backpack")
local char = LocalPlayer.Character
if not bp or not GhostCache then return end
pcall(function()
if GhostCache.Parent ~= bp and GhostCache.Parent ~= char then
GhostCache.Parent = bp
end
end)
end
local function GetItemCount(name)
local count = 0
local bp = LocalPlayer:FindFirstChild("Backpack")
if bp then
for _, item in pairs(bp:GetChildren()) do
if item.Name == name then count = count + 1 end
end
end
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild(name) then
count = count + 1
end
return count
end
local function cleanupWalk()
if movementConnection then movementConnection:Disconnect() movementConnection = nil end
if freezeConnection then freezeConnection:Disconnect() freezeConnection = nil end
if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end
if animationTrack then animationTrack:Stop() animationTrack = nil end
end
local function setupWalkMovement()
local char = LocalPlayer.Character
local root = char and char:FindFirstChild("HumanoidRootPart")
local hum = char and char:FindFirstChild("Humanoid")
if not root or not hum then return end
bodyGyro = Instance.new("BodyGyro")
bodyGyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
bodyGyro.P = 50000
bodyGyro.D = 1000
bodyGyro.CFrame = root.CFrame
bodyGyro.Parent = root
movementConnection = RunService.RenderStepped:Connect(function()
if not enhancedWalk then return end
local camera = workspace.CurrentCamera
local dir = Vector3.zero
local usingKeys = false
if UserInputService:IsKeyDown(Enum.KeyCode.W) then
dir += Vector3.new(camera.CFrame.LookVector.X, 0, camera.CFrame.LookVector.Z)
usingKeys = true
end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then
dir -= Vector3.new(camera.CFrame.LookVector.X, 0, camera.CFrame.LookVector.Z)
usingKeys = true
end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then
dir -= camera.CFrame.RightVector
usingKeys = true
end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then
dir += camera.CFrame.RightVector
usingKeys = true
end
if not usingKeys then
local md = hum.MoveDirection
dir = Vector3.new(md.X, 0, md.Z)
end
if dir.Magnitude > 0 then
dir = dir.Unit * walkSpeedValue
end
local currentY = root.AssemblyLinearVelocity.Y
root.AssemblyLinearVelocity = Vector3.new(dir.X, math.clamp(currentY, -100, -2), dir.Z)
if dir.Magnitude > 0 then
bodyGyro.CFrame = CFrame.new(root.Position, root.Position + Vector3.new(dir.X, 0, dir.Z))
if not animationTrack.IsPlaying then animationTrack:Play() end
else
if animationTrack.IsPlaying then animationTrack:Stop() end
end
hum:ChangeState(Enum.HumanoidStateType.FallingDown)
end)
end
local function getEquippedTool()
return LocalPlayer.Character and LocalPlayer.Character:FindFirstChildWhichIsA("Tool")
end
local function getToolSettings(tool)
if tool and tool:FindFirstChild("Setting") then
return require(tool.Setting)
end
return nil
end
local function modifyToolSetting(dataTable)
local tool = getEquippedTool()
local settings = getToolSettings(tool)
if settings then
for k, v in pairs(dataTable) do
settings[k] = v
end
return true
end
return false
end
local function applyGunSettings()
local tool = getEquippedTool()
local settings = getToolSettings(tool)
if not settings then return false end
if autoEnabled and noRateEnabled then
settings.Auto = true
settings.FireRate = MIN_FIRE_RATE
elseif autoEnabled then
settings.Auto = true
elseif noRateEnabled then
settings.FireRate = 0
end
return true
end
local function MarketHasItem(toolName)
local market = ReplicatedStorage:FindFirstChild("MarketItems")
if not market then return false end
for _, item in ipairs(market:GetChildren()) do
if item.Name == toolName and item:FindFirstChild("owner") and item.owner.Value == LocalPlayer.Name then
return true
end
end
return false
end
local function ForcePutToMarket(toolName)
local endTime = os.clock() + 12
while os.clock() < endTime do
if MarketHasItem(toolName) then return true end
pcall(function() ListWeaponRemote:FireServer(toolName, 999999) end)
task.wait(0.15)
end
return false
end
local function ForceRetrieveFromMarket(toolName)
local market = ReplicatedStorage:WaitForChild("MarketItems", 10)
if not market then return end
local endTime = os.clock() + 12
while os.clock() < endTime do
for _, item in ipairs(market:GetChildren()) do
if item.Name == toolName and item:FindFirstChild("owner") and item.owner.Value == LocalPlayer.Name and item:GetAttribute("SpecialId") then
local special = item:GetAttribute("SpecialId")
pcall(function() BuyItemRemote:FireServer(toolName, "Remove", special) end)
task.wait(0.2)
pcall(function() BackpackRemote:InvokeServer("Grab", toolName) end)
task.wait(0.45)
if LocalPlayer.Backpack:FindFirstChild(toolName) then return true end
end
end
task.wait(0.2)
end
return false
end
local function GetLockedTools()
local tools = {}
for _, tool in pairs(LocalPlayer.Backpack:GetChildren()) do
if tool:IsA("Tool") and not Blacklist[tool.Name] then
table.insert(tools, {Name = tool.Name, Id = tool})
end
end
return tools
end
local function SilentBypassTeleport(targetCFrame)
local char = LocalPlayer.Character
local root = char and char:FindFirstChild("HumanoidRootPart")
local hum = char and char:FindFirstChildOfClass("Humanoid")
if not root then return end
if hum then hum:ChangeState(0) end
local sWait = tick()
repeat task.wait() until not LocalPlayer:GetAttribute("LastACPos") or (tick() - sWait > 1)
root.CFrame = targetCFrame
root.AssemblyLinearVelocity = Vector3.zero
root.AssemblyAngularVelocity = Vector3.zero
task.wait(0.5)
if hum then hum:ChangeState(Enum.HumanoidStateType.GettingUp) end
end
local function FirePromptsInArea(range, nameFilter)
local char = LocalPlayer.Character
local root = char and char:FindFirstChild("HumanoidRootPart")
if not root then return end
for _, v in pairs(workspace:GetDescendants()) do
if v:IsA("ProximityPrompt") then
local pPos = (v.Parent:IsA("Model") and v.Parent:GetPivot().Position) or (v.Parent:IsA("BasePart") and v.Parent.Position)
if pPos then
local dist = (pPos - root.Position).Magnitude
if dist < range then
if not nameFilter or (v.Parent.Name:lower():find(nameFilter:lower()) or v.Name:lower():find(nameFilter:lower())) then
fireproximityprompt(v)
end
end
end
end
end
end
local function SafeDupeOnce(itemData, returnCFrame)
local toolName = itemData.Name
local SafeFolder = workspace:FindFirstChild("HomeDoorSS") and workspace.HomeDoorSS:FindFirstChild("HomeDoor") and workspace.HomeDoorSS.HomeDoor:FindFirstChild("Safe")
if not SafeFolder then return end
local safePart = SafeFolder:FindFirstChild("Union") or SafeFolder:FindFirstChildWhichIsA("BasePart")
SilentBypassTeleport(safePart.CFrame * CFrame.new(0, 2, 0))
task.wait(0.3)
task.spawn(function() BackpackRemote:InvokeServer("Store", toolName) end)
task.spawn(function() InventoryRemote:FireServer("Change", toolName, "Backpack", SafeFolder) end)
task.wait(0.6)
SilentBypassTeleport(returnCFrame)
task.wait(1.2)
BackpackRemote:InvokeServer("Grab", toolName)
task.wait(0.5)
end
local function applyEffectsToCharacter(character)
if staminaEnabled then
local staminaScript = LocalPlayer.PlayerGui:FindFirstChild("Run", true)
if staminaScript then
local scriptObj = staminaScript:FindFirstChild("StaminaBarScript", true)
if scriptObj then scriptObj:Destroy() end
end
end
if hungerEnabled then
local hungerScript = LocalPlayer.PlayerGui:FindFirstChild("Hunger", true)
if hungerScript then
local scriptObj = hungerScript:FindFirstChild("HungerBarScript", true)
if scriptObj then scriptObj:Destroy() end
end
end
if sleepEnabled then
local success, s = pcall(function()
return LocalPlayer.PlayerGui.SleepGui.Frame.sleep.SleepBar.sleepScript
end)
if success and s then
s.Disabled = true
s.Disabled = false
s.Disabled = true
end
end
end
-- [[ COMBAT UTILS ]] --
function dmg(target, hpart, damage)
local tool = LocalPlayer.Character:FindFirstChildWhichIsA("Tool")
if not tool or not tool:FindFirstChild("GunScript_Server") then return end
ReplicatedStorage.InflictTarget:FireServer(tool, LocalPlayer, target.Character.Humanoid, target.Character[hpart], damage, {0, 0, false, false, tool.GunScript_Server.IgniteScript, tool.GunScript_Server.IcifyScript, 100, 100}, {false, 5, 3}, target.Character[hpart], {false, {1930359546}, 1, 1.5, 1}, nil, nil, true)
end
function checkgun()
local gun = nil
for _, c in pairs({LocalPlayer.Backpack, LocalPlayer.Character}) do
for _, v in pairs(c:GetDescendants()) do if v:IsA("LocalScript") and v.Name == "GunScript_Local" then gun = v.Parent break end end
end
if gun then LocalPlayer.Character.Humanoid:EquipTool(gun) end
return gun
end
-- [[ GUI CONSTRUCTION ]] --
if PlayerGui:FindFirstChild("Scorpiohub_Gui") then PlayerGui.Scorpiohub_Gui:Destroy() end
local screenGui = Instance.new("ScreenGui", PlayerGui)
screenGui.Name = "Scorpiohub_Gui"
screenGui.ResetOnSpawn = false
local MainColor = Color3.fromRGB(255, 0, 0)
local AltColor = Color3.fromRGB(255, 0, 0)
-- [[ MAIN MARKET DUPE FRAME ]] --
local main = Instance.new("ImageLabel", screenGui)
main.Size = UDim2.new(0, 240, 0, 192)
main.Position = UDim2.new(0.5, -120, 0.5, -96)
main.Image = "rbxthumb://type=Asset&id=81817688420352&w=420&h=420"
main.ScaleType = Enum.ScaleType.Crop
main.ImageColor3 = Color3.fromRGB(130, 130, 140)
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 10)
local stroke = Instance.new("UIStroke", main)
stroke.Color = MainColor
stroke.Thickness = 2
-- [[ REOPEN BUTTON IMAGE SETUP ]] --
local reopenButton = Instance.new("ImageButton", screenGui)
reopenButton.Name = "Scorpiohub_ReopenButton"
reopenButton.Size = UDim2.new(0, 45, 0, 45)
reopenButton.Position = UDim2.new(0, 15, 0, 15)
reopenButton.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
reopenButton.Image = "rbxthumb://type=Asset&id=81817688420352&w=420&h=420"
reopenButton.Visible = false
Instance.new("UICorner", reopenButton).CornerRadius = UDim.new(0, 8)
local reopenStroke = Instance.new("UIStroke", reopenButton)
reopenStroke.Color = MainColor
reopenStroke.Thickness = 2
-- [[ TOP-LEFT CLOSE BUTTON ]] --
local marketClose = Instance.new("TextButton", main)
marketClose.Name = "MarketCloseButton"
marketClose.Size = UDim2.new(0, 25, 0, 25)
marketClose.Position = UDim2.new(0, 5, 0, 5)
marketClose.BackgroundColor3 = MainColor
marketClose.Text = "X"
marketClose.TextColor3 = Color3.new(1, 1, 1)
marketClose.Font = "GothamBold"
marketClose.TextSize = 14
local closeCorner = Instance.new("UICorner", marketClose)
closeCorner.CornerRadius = UDim.new(0, 6)
-- [[ ALTERNATIVE SAFE DUPE FRAME ]] --
local altMain = Instance.new("ImageLabel", screenGui)
altMain.Size = UDim2.new(0, 240, 0, 192)
altMain.Position = main.Position
altMain.Image = "rbxthumb://type=Asset&id=81817688420352&w=420&h=420"
altMain.ScaleType = Enum.ScaleType.Crop
altMain.ImageColor3 = Color3.fromRGB(130, 130, 140)
altMain.Visible = false
Instance.new("UICorner", altMain).CornerRadius = UDim.new(0, 10)
local altStroke = Instance.new("UIStroke", altMain)
altStroke.Color = AltColor
altStroke.Thickness = 2
-- [[ TOGGLES MENU FRAME ]] --
local tFrame = Instance.new("ImageLabel", screenGui)
tFrame.Size = UDim2.new(0, 280, 0, 320)
tFrame.Position = main.Position
tFrame.Image = "rbxthumb://type=Asset&id=81817688420352&w=420&h=420"
tFrame.ScaleType = Enum.ScaleType.Crop
tFrame.ImageColor3 = Color3.fromRGB(130, 130, 140)
tFrame.Visible = false
Instance.new("UICorner", tFrame)
local tStr = Instance.new("UIStroke", tFrame)
tStr.Color = MainColor
tStr.Thickness = 2
-- Setup Interactive Connections for Hide/Show
marketClose.MouseButton1Click:Connect(function()
main.Visible = false
altMain.Visible = false
tFrame.Visible = false
reopenButton.Visible = true
end)
reopenButton.MouseButton1Click:Connect(function()
reopenButton.Visible = false
main.Visible = true
end)
-- [[ HELP UI UPDATED ]] --
local helpBox = Instance.new("ImageLabel", altMain)
helpBox.Size = UDim2.new(1, 0, 1, 0)
helpBox.BackgroundColor3 = Color3.fromRGB(10, 10, 15)
helpBox.Image = "rbxthumb://type=Asset&id=81817688420352&w=420&h=420"
helpBox.ScaleType = Enum.ScaleType.Crop
helpBox.ImageColor3 = Color3.fromRGB(130, 130, 140)
helpBox.BorderSizePixel = 0
helpBox.Visible = false
helpBox.ZIndex = 10
Instance.new("UICorner", helpBox)
local helpLabel = Instance.new("TextLabel", helpBox)
helpLabel.Size = UDim2.new(1, -20, 1, -40)
helpLabel.Position = UDim2.new(0, 10, 0, 10)
helpLabel.BackgroundTransparency = 1
helpLabel.TextColor3 = Color3.new(1, 1, 1)
helpLabel.Font = "GothamBold"
helpLabel.TextSize = 12
helpLabel.TextWrapped = true
helpLabel.Text = "Make sure you have no item equiped when pressing safe dupe and dont own a home. u need at least 1 item and a max of 3 it will rotate through and dupe them all. u can press the start button again to stop at any time. also best to start in a safe zone to avoid users."
helpLabel.ZIndex = 11
local helpBack = Instance.new("TextButton", helpBox)
helpBack.Size = UDim2.new(0, 80, 0, 25)
helpBack.Position = UDim2.new(0.5, -40, 1, -30)
helpBack.BackgroundColor3 = AltColor
helpBack.Text = "OK"
helpBack.TextColor3 = Color3.new(1, 1, 1)
helpBack.Font = "GothamBold"
helpBack.ZIndex = 11
Instance.new("UICorner", helpBack)
local helpCircle = Instance.new("TextButton", altMain)
helpCircle.Size = UDim2.new(0, 25, 0, 25)
helpCircle.Position = UDim2.new(0, 5, 0, 5)
helpCircle.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
helpCircle.Text = "?"
helpCircle.TextColor3 = Color3.new(1, 1, 1)
helpCircle.Font = "GothamBold"
helpCircle.TextSize = 14
Instance.new("UICorner", helpCircle).CornerRadius = UDim.new(1, 0)
local hStroke = Instance.new("UIStroke", helpCircle)
hStroke.Color = AltColor
hStroke.Thickness = 1.5
helpCircle.MouseButton1Click:Connect(function() helpBox.Visible = true end)
helpBack.MouseButton1Click:Connect(function() helpBox.Visible = false end)
local function addSwitcher(parent, target, color)
local sBtn = Instance.new("TextButton", parent); sBtn.Size = UDim2.new(0, 25, 0, 25); sBtn.Position = UDim2.new(1, -30, 0, 5); sBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 35); sBtn.Text = "⇄"; sBtn.TextColor3 = Color3.new(1,1,1); sBtn.Font = "GothamBold"; sBtn.TextSize = 12; Instance.new("UICorner", sBtn).CornerRadius = UDim.new(1, 0); local sStroke = Instance.new("UIStroke", sBtn); sStroke.Color = color; sStroke.Thickness = 1.5
sBtn.MouseButton1Click:Connect(function() target.Position = parent.Position; parent.Visible = false; target.Visible = true end)
end
addSwitcher(main, altMain, MainColor); addSwitcher(altMain, main, AltColor)
local function createHeader(parent, color, subText)
local title = Instance.new("TextLabel", parent); title.Size = UDim2.new(1, 0, 0, 20); title.Position = UDim2.new(0, 0, 0, 4); title.BackgroundTransparency = 1; title.Text = "Scorpio Hub"; title.TextColor3 = color; title.Font = "GothamBold"; title.TextSize = 18
local subtitle = Instance.new("TextLabel", parent); subtitle.Size = UDim2.new(1, 0, 0, 12); subtitle.Position = UDim2.new(0, 0, 0, 20); subtitle.BackgroundTransparency = 1; subtitle.Text = subText; subtitle.TextColor3 = color; subtitle.Font = "GothamBold"; subtitle.TextSize = 11
local st = Instance.new("TextLabel", parent); st.Name = "StatusLabel"; st.Size = UDim2.new(1, 0, 0, 12); st.Position = UDim2.new(0, 0, 0, 34); st.BackgroundTransparency = 1; st.Text = "STATUS: READY"; st.TextColor3 = Color3.new(1,1,1); st.Font = "GothamBold"; st.TextSize = 10
return st
end
local status = createHeader(main, MainColor, "MarketDupe"); local altStatus = createHeader(altMain, AltColor, "SafeDupe")
-- [[ UI REFRESH LOOP ]] --
RunService.RenderStepped:Connect(function()
if not _G.DupeActive then
if status.Text ~= "Equip a item" then
status.Text = "STATUS: READY"
status.TextColor3 = Color3.new(1, 1, 1)
end
return
end
if successCounter > 0 then
status.Text = "Itemz In Scorpiohub: " .. successCounter
status.TextColor3 = MainColor
if not hasDoneForceEquip and masterObject then
if GetItemCount(masterObject.Name) >= 3 then
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
local bp = LocalPlayer:FindFirstChild("Backpack")
if char and hum and bp then
local toolToEquip = bp:FindFirstChild(masterObject.Name)
if toolToEquip then
hum:EquipTool(toolToEquip)
hasDoneForceEquip = true
end
end
end
end
else
status.Text = "STATUS: WARMING UP"
status.TextColor3 = Color3.new(1, 1, 1)
end
end)
local function createBtn(parent, text, pos, color)
local b = Instance.new("TextButton", parent); b.Size = UDim2.new(0, 210, 0, 38); b.Position = pos; b.BackgroundColor3 = MainColor; b.Text = text; b.Font = "GothamBold"; b.TextSize = 14; b.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", b).CornerRadius = UDim.new(0, 8)
return b
end
local dupeBtn = createBtn(main, "Market Dupe", UDim2.new(0.5, -105, 0, 52), MainColor)
local killBtn = createBtn(main, "Kill All Server", UDim2.new(0.5, -105, 0, 97), AltColor)
local toggBtn = createBtn(main, "Toggles", UDim2.new(0.5, -105, 0, 142), MainColor)
local safeDupe = createBtn(altMain, "Safe Dupe", UDim2.new(0.5, -105, 0, 52), AltColor)
local safeTp = createBtn(altMain, "Safe Tp", UDim2.new(0.5, -105, 0, 97), AltColor)
local autoDrop = createBtn(altMain, "Auto Drop", UDim2.new(0.5, -105, 0, 142), AltColor)
-- [[ INTEGRATED FULL HYBRID DUPE LOGIC ]] --
dupeBtn.MouseButton1Click:Connect(function()
if not _G.DupeActive then
local char = LocalPlayer.Character
local heldTool = char and char:FindFirstChildOfClass("Tool")
if not heldTool then
status.Text = "Equip a item"
status.TextColor3 = Color3.fromRGB(255, 50, 50)
return
end
_G.DupeActive = true
currentSession = currentSession + 1
local mySession = currentSession
dupeBtn.Text = "STOP DUPE"
dupeBtn.BackgroundColor3 = Color3.new(0.7,0,0)
hasDoneForceEquip = false
successCounter = 0
masterObject = heldTool
GhostCache = heldTool
hasSuccessfulDupe = true
task.spawn(function()
while _G.DupeActive and mySession == currentSession do
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
local bp = LocalPlayer:FindFirstChild("Backpack")
if not char or not bp or not hum then task.wait(1) continue end
local tool = nil
if hasDoneForceEquip then
for _, v in pairs(bp:GetChildren()) do
if v.Name == masterObject.Name then
tool = v
break
end
end
else
if not hasSuccessfulDupe then
tool = char:FindFirstChildOfClass("Tool")
if tool then
masterObject = tool
GhostCache = tool
hasSuccessfulDupe = true
end
else
for _, v in pairs(bp:GetChildren()) do
if v.Name == masterObject.Name and v ~= masterObject then
tool = v
break
end
end
if not tool then tool = masterObject end
end
end
if tool and not Blacklist[tool.Name] then
GhostCache = tool
local toolName = tool.Name
local startCount = GetItemCount(toolName)
local toolId = nil
local conn = MarketItems.ChildAdded:Connect(function(item)
if item.Name == toolName then
local owner = item:WaitForChild("owner", 2)
if owner and owner.Value == LocalPlayer.Name then
toolId = item:GetAttribute("SpecialId") or item:GetAttribute("UUID")
end
end
end)
if tool.Parent == char and not hasDoneForceEquip then
tool.Parent = bp
task.wait(0.2)
end
task.spawn(function()
if ListWeaponRemote then ListWeaponRemote:FireServer(toolName, 999999) end
end)
local ping = LocalPlayer:GetNetworkPing() * 1000
task.wait(0.22 + ((math.clamp(ping, 0, 300) / 300) * 0.04))
task.spawn(function()
if BackpackRemote then
pcall(function() BackpackRemote:InvokeServer("Store", toolName) end)
end
end)
task.wait(3.6)
if toolId and BuyItemRemote then
BuyItemRemote:FireServer(toolName, "Remove", toolId)
end
if BackpackRemote then
pcall(function() BackpackRemote:InvokeServer("Grab", toolName) end)
end
task.wait(0.25)
if conn then conn:Disconnect() end
RestoreGhostItems()
task.wait(0.5)
local currentCount = GetItemCount(toolName)
successCounter = currentCount
if not hasDoneForceEquip and successCounter >= 3 then
local toolToEquip = bp:FindFirstChild(toolName)
if toolToEquip and hum then
hum:EquipTool(toolToEquip)
hasDoneForceEquip = true
end
end
task.wait(1.5)
else
task.wait(1)
end
end
end)
else
_G.DupeActive = false
currentSession = currentSession + 1
dupeBtn.Text = "Market Dupe"
dupeBtn.BackgroundColor3 = MainColor
RestoreGhostItems()
hasSuccessfulDupe = false
masterObject = nil
GhostCache = nil
hasDoneForceEquip = false
successCounter = 0
end
end)
-- [[ SAFE DUPE LOGIC ]] --
safeDupe.MouseButton1Click:Connect(function()
if safeActive then safeActive = false; altStatus.Text = "🛑 STOPPED"; return end
local lockedItems = GetLockedTools()
if #lockedItems == 0 then altStatus.Text = "❌ NO TOOLS"; return end
safeActive = true
local char = LocalPlayer.Character
local root = char and char:FindFirstChild("HumanoidRootPart")
if not root then safeActive = false; return end
local OriginalLocation = root.CFrame
task.spawn(function()
altStatus.Text = "🏠 RENTING..."; SilentBypassTeleport(CFrame.new(-1443, 256, 2137)); task.wait(0.7); FirePromptsInArea(15)
altStatus.Text = "🔓 OPENING SAFE..."; SilentBypassTeleport(CFrame.new(-1473, 256, 2134)); task.wait(0.7); FirePromptsInArea(15, "Safe")
altStatus.Text = "🔄 RETURNING..."; SilentBypassTeleport(OriginalLocation); task.wait(0.5)
for i = 1, 15 do
if not safeActive then break end
local itemIndex = ((i - 1) % #lockedItems) + 1
altStatus.Text = "🌀 CYCLE " .. i .. ": " .. lockedItems[itemIndex].Name:upper()
SafeDupeOnce(lockedItems[itemIndex], OriginalLocation)
task.wait(0.2)
end
safeActive = false; altStatus.Text = "STATUS: READY"
end)
end)
safeTp.MouseButton1Click:Connect(function()
altStatus.Text = "🚀 TP TO SAFE..."; SilentBypassTeleport(CFrame.new(-1473, 256, 2134)); task.wait(0.8); FirePromptsInArea(15, "Safe")
altStatus.Text = "✅ SAFE OPENED"; task.wait(2); altStatus.Text = "STATUS: READY"
end)
-- [[ AUTO DROP ]] --
autoDrop.MouseButton1Click:Connect(function()
autoDropEnabled = not autoDropEnabled
autoDrop.Text = autoDropEnabled and "STOP DROP" or "AUTO DROP"
autoDrop.BackgroundColor3 = autoDropEnabled and Color3.new(0.7, 0, 0) or AltColor
if autoDropEnabled then
task.spawn(function()
altStatus.Text = "♻️ DROPPING ITEMS..."
while autoDropEnabled do
local backpack = LocalPlayer:FindFirstChild("Backpack")
local character = LocalPlayer.Character
if not backpack or not character then task.wait(0.5) continue end
local items = backpack:GetChildren()
local foundItem = false
for _, item in ipairs(items) do
if not autoDropEnabled then break end
if item:IsA("Tool") and not Blacklist[item.Name] then
foundItem = true
local humanoid = character:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid:EquipTool(item)
local dropAttemptTime = tick()
repeat
if dropRemote then
dropRemote:FireServer(item.Name)
dropRemote:FireServer(item)
dropRemote:FireServer()
end
task.wait(0.2)
until not item:IsDescendantOf(character) or not autoDropEnabled or (tick() - dropAttemptTime > 3)
task.wait(0.1)
end
end
end
if not foundItem then
altStatus.Text = "WAITING FOR ITEMS..."
task.wait(1)
else
altStatus.Text = "♻️ DROPPING ITEMS..."
end
task.wait(0.1)
end
altStatus.Text = "STATUS: READY"
end)
else
altStatus.Text = "STATUS: READY"
end
end)
-- [[ KILL ALL LOGIC ]] --
killBtn.MouseButton1Click:Connect(function()
_G.KillAllActive = not _G.KillAllActive
if _G.KillAllActive then
local gun = checkgun()
if not gun then
status.Text = "❌ NO GUN"
_G.KillAllActive = false
return
end
killBtn.Text = "STOP KILLING"
killBtn.BackgroundColor3 = Color3.new(0.7, 0, 0)
status.Text = "🔥 KILLING..."
task.spawn(function()
while _G.KillAllActive do
local char = LocalPlayer.Character
local currentGun = char and char:FindFirstChildWhichIsA("Tool")
if not currentGun or not currentGun:FindFirstChild("GunScript_Server") then
_G.KillAllActive = false
break
end
local fireRemote = currentGun:FindFirstChild("Fire") or currentGun:FindFirstChild("Shoot") or currentGun:FindFirstChild("Remote")
if fireRemote and fireRemote:IsA("RemoteEvent") then
fireRemote:FireServer()
elseif fireRemote and fireRemote:IsA("RemoteFunction") then
fireRemote:InvokeServer()
elseif currentGun.Activate then
currentGun:Activate()
end
local handle = currentGun:FindFirstChild("Handle")
local muzzleEffect = currentGun:FindFirstChild("GunScript_Local") and currentGun.GunScript_Local:FindFirstChild("MuzzleEffect")
if handle and muzzleEffect and ReplicatedStorage:FindFirstChild("VisualizeMuzzle") then
ReplicatedStorage.VisualizeMuzzle:FireServer(
handle,
true,
{false, 7, Color3.new(1, 1.1098, 0), 15, true, 0.02},
muzzleEffect
)
end
for _, v in pairs(Players:GetPlayers()) do
if v ~= LocalPlayer and v.Character and v.Character:FindFirstChild("Head") then
pcall(function() dmg(v, "Head", 1000) end)
end
end
task.wait(0.1)
end
killBtn.Text = "Kill All Server"
killBtn.BackgroundColor3 = AltColor
status.Text = "STATUS: READY"
end)
else
status.Text = "🛑 STOPPING..."
end
end)
-- [[ TOGGLES MENU ]] --
local close = Instance.new("TextButton", tFrame); close.Size = UDim2.new(0,25,0,25); close.Position = UDim2.new(1,-30,0,5); close.BackgroundColor3 = Color3.new(0.8,0,0); close.Text = "X"; close.TextColor3 = Color3.new(1,1,1); close.Font = "GothamBold"; Instance.new("UICorner", close)
local scroll = Instance.new("ScrollingFrame", tFrame); scroll.Size = UDim2.new(1, -10, 1, -50); scroll.Position = UDim2.new(0, 5, 0, 45); scroll.BackgroundTransparency = 1; scroll.CanvasSize = UDim2.new(0, 0, 0, 1100); scroll.ScrollBarThickness = 2
local layout = Instance.new("UIListLayout", scroll); layout.Padding = UDim.new(0, 8); layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
local function createToggle(name, callback)
local btn = Instance.new("TextButton", scroll); btn.Size = UDim2.new(0, 240, 0, 45); btn.BackgroundColor3 = Color3.fromRGB(30, 30, 35); btn.Text = " "..name; btn.TextColor3 = Color3.new(1,1,1); btn.Font = "GothamBold"; btn.TextSize = 14; btn.TextXAlignment = "Left"; Instance.new("UICorner", btn)
local track = Instance.new("Frame", btn); track.Size = UDim2.new(0, 40, 0, 20); track.Position = UDim2.new(1, -50, 0.5, -10); track.BackgroundColor3 = Color3.fromRGB(60, 60, 65); Instance.new("UICorner", track).CornerRadius = UDim.new(1, 0)
local circle = Instance.new("Frame", track); circle.Size = UDim2.new(0, 16, 0, 16); circle.Position = UDim2.new(0, 2, 0.5, -8); circle.BackgroundColor3 = Color3.new(1, 1, 1); Instance.new("UICorner", circle).CornerRadius = UDim.new(1, 0)
local tState = false
btn.MouseButton1Click:Connect(function()
tState = not tState
TweenService:Create(circle, TweenInfo.new(0.2), {Position = tState and UDim2.new(1, -18, 0.5, -8) or UDim2.new(0, 2, 0.5, -8)}):Play()
TweenService:Create(track, TweenInfo.new(0.2), {BackgroundColor3 = tState and Color3.fromRGB(0, 255, 127) or Color3.fromRGB(60, 60, 65)}):Play()
callback(tState)
end)
end
-- Walk Speed Toggle
createToggle("Walk Speed", function(val)
enhancedWalk = val
if val then
local char = LocalPlayer.Character
local hum = char and char:FindFirstChild("Humanoid")
local root = char and char:FindFirstChild("HumanoidRootPart")
if not hum or not root then return end
cleanupWalk()
status.Text = "⌛ BYPASSING AC..."
local animator = hum:FindFirstChildWhichIsA("Animator") or Instance.new("Animator", hum)
animationTrack = animator:LoadAnimation(walkAnimation)
animationTrack.Looped = true
freezeConnection = RunService.RenderStepped:Connect(function()
root.AssemblyLinearVelocity = Vector3.zero
hum:ChangeState(Enum.HumanoidStateType.FallingDown)
end)
task.delay(1.5, function()
if freezeConnection then freezeConnection:Disconnect() freezeConnection = nil end
if enhancedWalk then
setupWalkMovement()
status.Text = "⚡ SPEED ACTIVE"
end
end)
else
cleanupWalk()
status.Text = "STATUS: READY"
end
end)
createToggle("Infinite Ammo", function(val) isInfAmmo = val end)
createToggle("Respawn Where U Died", function(val) _G.RespawnAtDeath = val end)
createToggle("Instant Respawn", function(val) _G.respawn = val end)
createToggle("Anti Lose Items", function(val) AntiLoseEnabled = val end)
createToggle("Anti Camera Shake", function(val)
_G.AntiShake = val
local function cleanBob(char)
local bob = char:WaitForChild("CameraBobbing", 2)
if bob then bob:Destroy() end
char.ChildAdded:Connect(function(v)
if _G.AntiShake and v.Name == "CameraBobbing" then v:Destroy() end
end)
end
if val and LocalPlayer.Character then cleanBob(LocalPlayer.Character) end
end)
local interactConn
createToggle("Instant Interact", function(val)
_G.InstantInteract = val
if val then
local function mod(v)
if v:IsA("ProximityPrompt") then v.HoldDuration = 0; v.MaxActivationDistance = 6 end
end
for _, v in pairs(workspace:GetDescendants()) do mod(v) end
interactConn = workspace.DescendantAdded:Connect(mod)
else
if interactConn then interactConn:Disconnect() end
for _, v in pairs(workspace:GetDescendants()) do
if v:IsA("ProximityPrompt") then v.HoldDuration = 1; v.MaxActivationDistance = 4 end
end
end
end)
createToggle("Anti Rent Pay", function(val)
_G.AntiRent = val
task.spawn(function()
while _G.AntiRent do
local gui = PlayerGui:FindFirstChild("RentGui")
if gui then
local scr = gui:FindFirstChild("LocalScript")
if scr then scr.Disabled = true; scr:Destroy() end
end
task.wait(1)
end
end)
end)
createToggle("Anti Knockback", function(val)
_G.AntiKb = val
local function cleanKb(char)
for _, v in pairs(char:GetDescendants()) do
if v:IsA("BodyVelocity") or v:IsA("LinearVelocity") or v:IsA("VectorForce") then v:Destroy() end
end
char.DescendantAdded:Connect(function(v)
if _G.AntiKb and (v:IsA("BodyVelocity") or v:IsA("LinearVelocity") or v:IsA("VectorForce")) then v:Destroy() end
end)
end
if val and LocalPlayer.Character then cleanKb(LocalPlayer.Character) end
if val then
local ae = ReplicatedStorage:FindFirstChild("AE")
if ae then ae:Destroy() end
end
end)
createToggle("Anti Fall Damage", function(val)
antiFallDamage = val
if val then
local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local fallDamage = character:FindFirstChild("FallDamageRagdoll")
if fallDamage then fallDamage:Destroy() end
end
end)
createToggle("Infinite Damage", function(val)
isInfDamage = val
if val then
modifyToolSetting({BaseDamage = 9e9})
end
end)
createToggle("Automatic Gun", function(val)
autoEnabled = val
applyGunSettings()
end)
createToggle("No Fire Rate", function(val)
noRateEnabled = val
applyGunSettings()
end)
createToggle("No Recoil", function(val)
if val then
modifyToolSetting({Recoil = 0})
end
end)
createToggle("Inf Stamina", function(val)
staminaEnabled = val
if val and LocalPlayer.Character then applyEffectsToCharacter(LocalPlayer.Character) end
end)
createToggle("Inf Hunger", function(val)
hungerEnabled = val
if val and LocalPlayer.Character then applyEffectsToCharacter(LocalPlayer.Character) end
end)
createToggle("Inf Sleep", function(val)
sleepEnabled = val
if val and LocalPlayer.Character then applyEffectsToCharacter(LocalPlayer.Character) end
end)
-- [[ UTILITY TOGGLES ]] --
createToggle("Force Open Gunshop", function(val)
if val then
status.Text = "🔓 OPENING SHOP..."
local gunShopClosed = workspace:FindFirstChild("GunShopClosed")
if gunShopClosed then gunShopClosed:Destroy() end
local secondGun = workspace:FindFirstChild("SecondGun4886")
if secondGun and secondGun:FindFirstChild("ProximityPrompt") then
secondGun.ProximityPrompt.Enabled = true
end
status.Text = "✅ SHOP FORCED OPEN"
task.wait(1.5)
status.Text = "STATUS: READY"
end
end)
-- [[ MAIN LOOPS & CHARACTER SETUP ]] --
local function SetupCharacter(char)
char:WaitForChild("HumanoidRootPart", 5)
local hum = char:WaitForChild("Humanoid")
applyEffectsToCharacter(char)
if _G.AntiShake then
task.spawn(function()
local bob = char:WaitForChild("CameraBobbing", 2)
if bob then bob:Destroy() end
end)
end
if antiFallDamage then
task.spawn(function()
local fallDamage = char:WaitForChild("FallDamageRagdoll", 2)
if fallDamage then fallDamage:Destroy() end
end)
end
hum.Died:Connect(function()
local root = char:FindFirstChild("HumanoidRootPart")
if root then lastDeathPosition = root.Position end
if AntiLoseEnabled then
task.wait(0.25)
for _, tool in ipairs(LocalPlayer.Backpack:GetChildren()) do
if tool:IsA("Tool") and not table.find(ExemptItems, tool.Name) then
task.spawn(function() ForcePutToMarket(tool.Name) end)
end
end
end
cleanupWalk()
end)
if _G.RespawnAtDeath and lastDeathPosition then
local root = char:WaitForChild("HumanoidRootPart", 5)
if root then task.wait(0.1); root.CFrame = CFrame.new(lastDeathPosition + Vector3.new(0, 3, 0)) end
end
task.delay(2.2, function()
if AntiLoseEnabled then
local market = ReplicatedStorage:FindFirstChild("MarketItems")
if not market then return end
for _, item in ipairs(market:GetChildren()) do
if item:FindFirstChild("owner") and item.owner.Value == LocalPlayer.Name then
task.spawn(function() ForceRetrieveFromMarket(item.Name) end)
end
end
end
end)
end
LocalPlayer.CharacterAdded:Connect(SetupCharacter)
if LocalPlayer.Character then SetupCharacter(LocalPlayer.Character) end
task.spawn(function()
while true do
task.wait(0.1)
if _G.respawn then
local character = LocalPlayer.Character
if character and character:FindFirstChild("Humanoid") and character.Humanoid.Health <= 0 then
ReplicatedStorage.RespawnRE:FireServer()
task.wait(0.1)
end
end
local tool = LocalPlayer.Character:FindFirstChildWhichIsA("Tool") or LocalPlayer.Backpack:FindFirstChildWhichIsA("Tool")
if tool and tool:FindFirstChild("Setting") then
pcall(function()
local s = require(tool.Setting)
if isInfAmmo then
s.LimitedAmmoEnabled = false
s.MaxAmmo, s.AmmoPerMag, s.Ammo = 99999, 99999, 99999
end
if isInfDamage then s.BaseDamage = 9e9 end
if autoEnabled and noRateEnabled then
s.Auto = true
s.FireRate = MIN_FIRE_RATE
elseif autoEnabled then
s.Auto = true
elseif noRateEnabled then
s.FireRate = 0
end
end)
end
end
end)
-- UI Interactions
toggBtn.MouseButton1Click:Connect(function() main.Visible = false; tFrame.Position = main.Position; tFrame.Visible = true end)
close.MouseButton1Click:Connect(function() tFrame.Visible = false; main.Visible = true end)
local function makeDraggable(gui)
local dragging, dragInput, dragStart, startPos
gui.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true; dragStart = input.Position; startPos = gui.Position
input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end)
end
end)
gui.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = input.Position - dragStart
gui.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
end
makeDraggable(main); makeDraggable(altMain); makeDraggable(tFrame); makeDraggable(reopenButton)
To embed this project on your website, copy the following code and paste it into your website's HTML: