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

local Window = Rayfield:CreateWindow({
   Name = "KZHUB | FREE SCRIPT",
   Icon = 0, -- Icon in Topbar. Can use Lucide Icons (string) or Roblox Image (number). 0 to use no icon (default).
   LoadingTitle = "Hold on..",
   LoadingSubtitle = "By kais",
   Theme = "Light", -- 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 = "free.txt"
   },

   Discord = {
      Enabled = false, -- Prompt the user to join your Discord server if their executor supports it
      Invite = "noinvitelink", -- 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 = true, -- Set this to true to use our key system
   KeySettings = {
      Title = "Kzhub free script key",
      Subtitle = "Key System",
      Note = "Link in kzhub discord server.", -- Use this to tell the user how to get a key
      FileName = "Key", -- It is recommended to use something unique as other scripts using Rayfield may overwrite your key file
      SaveKey = true, -- The user's key will be saved, but if you change the key, they will be unable to use your script
      GrabKeyFromSite = True, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
      Key = {"kzhub"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
   }
})

local TeleportsTab = Window:CreateTab("Teleports", 4483362458) -- Title, Image
local TeleportsSection = TeleportsTab:CreateSection("Tps")

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

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

local Button = TeleportsTab:CreateButton({
    Name = "Apartment 2",
    Callback = function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(2570, 4, -107)
end
})

local Button = TeleportsTab:CreateButton({
    Name = "Gun Store",
    Callback = function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-276, 4, 30)
end
})

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

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

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

local Button = TeleportsTab:CreateButton({
    Name = "Cap Store",
    Callback = function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-159, 5, 8)
end
})

local Button = TeleportsTab:CreateButton({
    Name = "Shit/Pant Store",
    Callback = function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-125, 5, 38)
end
})

local Button = TeleportsTab:CreateButton({
    Name = "Chain Store",
    Callback = function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(39, 5, -232)
end
})

local Button = TeleportsTab:CreateButton({
    Name = "Boxing Gym",
    Callback = function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(258, 5, -99)
end
})

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

local Button = TeleportsTab:CreateButton({
    Name = "Card Dealer",
    Callback = function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(226, 4, -543)
end
})

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

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

local Button = TeleportsTab:CreateButton({
    Name = "Mop Job",
    Callback = function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-102, 5, 20)
end
})

local Button = TeleportsTab:CreateButton({
    Name = "Pizza Job",
    Callback = function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(163, 5, 49)
end
})

local Button = TeleportsTab:CreateButton({
    Name = "Box Job",
    Callback = function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-118, 5, 300)
end
})
 
Rayfield:Notify({
   Title = "Thankyou for executing kzhub free script enjoy!!!",
   Content = "thanks",
   Duration = 4,
   Image = 4483362458,
})

local DupeTab = Window:CreateTab("Dupe guns", 4483362458) -- Title, Image
local DupeSection = DupeTab:CreateSection("Dupe gun")

local Toggle = AimTab:CreateToggle({
   Name = "Dupe gun",
   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)
               local player = game.Players.LocalPlayer
        local character = player.Character or player.CharacterAdded:Wait()
        local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
        local safeZones = game.Workspace.SafeZones:GetChildren()
        
        local closestSafeZone = nil
        local shortestDistance = math.huge 

        for _, safeZone in ipairs(safeZones) do
            local distance = (humanoidRootPart.Position - safeZone.Position).Magnitude
            if distance < shortestDistance then
                shortestDistance = distance
                closestSafeZone = safeZone
            end
        end
        
        if closestSafeZone then
            humanoidRootPart.CFrame = closestSafeZone.CFrame
            character.Humanoid:ChangeState(Enum.HumanoidStateType.Dead) 
        else
            warn("No safe zones found.")
        end
    end
})

Embed on website

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