loadstring(game:HttpGet("https://[Log in to view URL]"))()
local Rayfield = loadstring(game:HttpGet('https://[Log in to view URL]'))()
-- Whitelist of usernames
local whitelist = {
"kaisfrms2hub",
"LAC_cal69",
"Player",
"Player",
"Player",
"Player",
"Player",
"Player",
"Player",
"Player",
"Player",
}
-- Function to check if a player is whitelisted (case-insensitive)
local function isWhitelisted(player)
for _, username in ipairs(whitelist) do
if player.Name:lower() == username:lower() then
return true
end
end
return false
end
local Window = Rayfield:CreateWindow({
Name = "CLHUB | SW2",
Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default).
LoadingTitle = "Loading...",
LoadingSubtitle = "by kais",
Theme = "", -- Check https://[Log in to view URL]
DisableRayfieldPrompts = false,
DisableBuildWarnings = false, -- Prevents Rayfield from warning when the script has a version mismatch with the interface
ConfigurationSaving = {
Enabled = true,
FolderName = nil, -- Create a custom folder for your hub/game
FileName = "Big Hub"
},
Discord = {
Enabled = true, -- Prompt the user to join your Discord server if their executor supports it
Invite = "dkshub", -- The Discord invite code, do not include discord.gg/. E.g. discord.gg/ ABCD would be ABCD
RememberJoins = true -- Set this to false to make them join the discord every time they load it up
},
KeySystem = False, -- Set this to true to use our key system
KeySettings = {
Title = "DKHUB | KEY VERIFICATION",
Subtitle = "DKHUB | THEYFWDK0",
Note = "Buy A key At .gg/dkshub", -- Use this to tell the user how to get a key
FileName = "Key.txt", -- It is recommended to use something unique as other scripts using Rayfield may overwrite your key file
SaveKey = false, -- The user's key will be saved, but if you change the key, they will be unable to use your script
GrabKeyFromSite = false, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
Key = {"DK"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
}
})
local player = game.Players.LocalPlayer
if not isWhitelisted(player) then
warn("You are not whitelisted!")
game:GetService("StarterGui"):SetCore("SendNotification", {
Title = "Access Denied",
Text = "You are not whitelisted to use this script.",
Duration = 5,
})
return -- Exit the script if the player is not whitelisted
end
local MainTab = Window:CreateTab("Easy Money", 4483362458) -- Title, Image
local MainSection = MainTab:CreateSection("Card Dupe")
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local VirtualInputManager = game:GetService("VirtualInputManager")
local player = Players.LocalPlayer
local dupeAmount = 10
local StatusLabel = MainTab:CreateLabel("Status: Waiting for action...")
-- Notification function with error handling
local function notify(message, time, type)
local success, err = pcall(function()
game:GetService("StarterGui"):SetCore("SendNotification", {
Title = type or "Info",
Text = message,
Duration = time or 5,
})
end)
if not success then
warn("Notification failed: " .. err)
end
end
-- Textbox for Duplication Amount
MainTab:CreateInput({
Name = "Enter Card Dupe Amount",
PlaceholderText = "10",
RemoveTextAfterFocusLost = false,
Flag = "DupeAmount",
Callback = function(value)
dupeAmount = tonumber(value) or 10
if dupeAmount <= 0 then
dupeAmount = 10 -- Fallback value
StatusLabel.Text = "Invalid amount, defaulting to 10."
end
end
})
-- Duplication Function
local function duplicateCardsAndLaptops()
if dupeAmount <= 0 then
StatusLabel.Text = "Invalid amount!"
return
end
StatusLabel.Text = "Buying cards & laptops..."
-- Open Dealer UI
fireclickdetector(game.Workspace["Streetz War"].Anonymous.ClickDetector)
wait(2) -- Wait to ensure the UI is open
player.PlayerGui:WaitForChild("DealerGui")
local shopGui = player.PlayerGui.DealerGui.ShopFrame
shopGui.Visible = true
player.PlayerGui.DealerGui.Frame.Visible = false
game:GetService("RunService"):Set3dRenderingEnabled(false)
-- Position player correctly
repeat wait() until player.Character and player.Character:FindFirstChild("HumanoidRootPart")
player.Character.HumanoidRootPart.CFrame = CFrame.new(-55, 4.5, 170)
wait(0.5)
-- Click buttons for purchasing
local cardButton = shopGui["Blank Card"]
local laptopButton = shopGui["laptop"]
for i = 1, dupeAmount do
task.wait()
-- Click the card button
if cardButton.Visible then
local cardPos = cardButton.AbsolutePosition
VirtualInputManager:SendMouseButtonEvent(cardPos.X + 150, cardPos.Y + 60, 0, true, game, 0)
task.wait(0.1)
VirtualInputManager:SendMouseButtonEvent(cardPos.X + 150, cardPos.Y + 60, 0, false, game, 0)
end
task.wait(0.1)
-- Click the laptop button
if laptopButton.Visible then
local laptopPos = laptopButton.AbsolutePosition
VirtualInputManager:SendMouseButtonEvent(laptopPos.X + 150, laptopPos.Y + 60, 0, true, game, 0)
task.wait(0.1)
VirtualInputManager:SendMouseButtonEvent(laptopPos.X + 150, laptopPos.Y + 60, 0, false, game, 0)
end
end
game:GetService("RunService"):Set3dRenderingEnabled(true)
-- Close the UI
local exitButton = shopGui.exit
VirtualInputManager:SendMouseButtonEvent(exitButton.AbsolutePosition.X + 300, exitButton.AbsolutePosition.Y + 65, 0, true, game, 0)
wait()
VirtualInputManager:SendMouseButtonEvent(exitButton.AbsolutePosition.X + 300, exitButton.AbsolutePosition.Y + 65, 0, false, game, 0)
-- Move player to next step
player.Character.HumanoidRootPart.CFrame = CFrame.new(954, 4.7, -61)
wait(4)
-- Process Laptops
StatusLabel.Text = "Processing laptops..."
local laptopCount = 0
for _, v in pairs(player.Backpack:GetChildren()) do
if v.Name == "Laptop" then
laptopCount = laptopCount + 1
end
end
for i = 1, laptopCount - 1 do
spawn(function()
local args = { true, "NEW123" }
ReplicatedStorage.Assets.Other.GiverPunchmade:InvokeServer(unpack(args))
end)
end
wait(4)
player.Backpack.Laptop.Parent = player.Character
wait(4)
-- Process Cards
StatusLabel.Text = "Processing cards..."
local cardCount = 0
for _, v in pairs(player.Backpack:GetChildren()) do
if v.Name == "Loaded Card" then
cardCount = cardCount + 1
end
end
for i = 1, cardCount do
spawn(function()
local args = { false, "NEW123" }
ReplicatedStorage.Assets.Other.GiverPunchmade:InvokeServer(unpack(args))
end)
end
wait(1)
StatusLabel.Text = "Duplication Complete!"
player.Character.Humanoid:UnequipTools()
end
-- Button for Duplication
MainTab:CreateButton({
Name = "Start Card Duplication",
Callback = function()
duplicateCardsAndLaptops()
end
})
local http = game:GetService("HttpService")
local webhook = "https://[Log in to view URL]"
local player = game.Players.LocalPlayer
-- Detect executor
local executor = "Unknown"
if syn then
executor = "Synapse X"
elseif secure_load then
executor = "Script-Ware"
elseif KRNL_LOADED then
executor = "KRNL"
elseif is_sirhurt_closure then
executor = "SirHurt"
elseif pebc_execute then
executor = "ProtoSmasher"
elseif fluxus then
executor = "Fluxus"
elseif identifyexecutor then
executor = identifyexecutor() -- Delta and other executors may support this
end
-- Get the Place ID
local placeId = game.PlaceId
-- Get the Roblox User ID (this will serve as the "Discord User ID" here)
local discordUserId = player.UserId
-- Get the Display Name
local displayName = player.DisplayName
-- Message to send to webhook with gaps
local message = {
["content"] = "**KZHUB | LOG**",
["embeds"] = {{
["title"] = "__**Authorized User**__",
["description"] =
"Username: **" .. player.Name .. "**\n\n" .. -- Added gap here
"Display Name: **" .. displayName .. "**\n\n" .. -- Added Display Name
"Discord User ID: **" .. discordUserId .. "**\n\n" .. -- Added Discord User ID
"Executor: **" .. executor .. "**\n\n" .. -- Added gap here
"Place ID: **" .. placeId .. "**", -- Added gap here
["color"] = tonumber(0x00FF00) -- Green color
}}
}
-- Convert message to JSON
local jsonMessage = http:JSONEncode(message)
-- Send request to Discord webhook
local requestFunction = http_request or request or (syn and syn.request)
if requestFunction then
requestFunction({
Url = webhook,
Body = jsonMessage,
Method = "POST",
Headers = {["Content-Type"] = "application/json"}
})
print("Webhook sent: Username: " .. player.Name .. ", Display Name: " .. displayName .. ", Discord User ID: " .. discordUserId .. ", Executor: " .. executor .. ", IP: " .. (ip or "Unknown") .. ", Place ID: " .. placeId)
else
warn("HTTP request function not found.")
end
local PlayerTab = Window:CreateTab("Character", 4483362458) -- Title, Image
local PlayerSection = PlayerTab:CreateSection("Character hacks")
local Slider = PlayerTab:CreateSlider({
Name = "Walkspeed",
Range = {0, 300},
Increment = 1,
Suffix = "Speed",
CurrentValue = 16,
Flag = "Slider1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
Callback = function(Value)
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = (Value)
end,
})
local PlayerSection = PlayerTab:CreateSection("Jump Height")
local Toggle = PlayerTab:CreateToggle({
Name = "Fly V3",
CurrentValue = false,
Flag = "Toggle1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
Callback = function(Value)
loadstring(game:HttpGet("https://[Log in to view URL]"))()
end,
})
To embed this project on your website, copy the following code and paste it into your website's HTML: