local BASE_URL = "https://raw.githubusercontent.com/deividcomsono/Obsidian/main/"
local KEY_FILE = "SurviveZombieArena.txt"
local VALID_KEY = "ThankYouForSupportingMe"
local KeyLib = loadstring(game:HttpGet(BASE_URL .. "Library.lua"))()
local loadingKey = KeyLib:CreateLoading({
Title = "SyzenHub",
Icon = 83889336114659,
TotalSteps = 5,
})
loadingKey:SetMessage("Initialising SyzenHub...")
loadingKey:SetDescription("Please wait while we set things up.")
task.wait(0.3)
loadingKey:SetCurrentStep(1); loadingKey:SetDescription("Checking authentication...")
task.wait(0.3)
loadingKey:SetCurrentStep(2); loadingKey:SetDescription("Connecting to game services...")
task.wait(0.3)
loadingKey:SetCurrentStep(3); loadingKey:SetDescription("Loading features & modules...")
task.wait(0.3)
loadingKey:SetCurrentStep(4); loadingKey:SetDescription("Ready!")
task.wait(0.4)
loadingKey:Continue()
local KeyWindow = KeyLib:CreateWindow({
Title = "SyzenHub",
Footer = "Survive Zombie Arena v1.3",
Icon = 83889336114659,
NotifySide = "Right",
ShowCustomCursor = true,
Center = true,
AutoShow = true,
Size = UDim2.new(0, 500, 0, 260),
})
local KeyTab = KeyWindow:AddTab("Key System", "key")
local KeyBox = KeyTab:AddLeftGroupbox("Enter Key", "lock")
local InfoBox = KeyTab:AddRightGroupbox("Information", "info")
local keyAuthenticated = false
local savedKey = nil
pcall(function()
if readfile then
savedKey = readfile(KEY_FILE)
end
end)
local inputKey = savedKey or ""
KeyBox:AddInput("KeyInput", {
Text = "Key",
Default = savedKey or "",
Placeholder = "Type key here...",
ClearTextOnFocus = false,
Callback = function(v) inputKey = v end,
})
KeyBox:AddButton({
Text = "Submit Key",
Func = function()
if VALID_KEY == VALID_KEY then
keyAuthenticated = true
pcall(function()
if writefile then writefile(KEY_FILE, inputKey) end
end)
KeyLib:Notify({ Title = "Success", Description = "Key accepted! Loading...", Time = 2 })
task.wait(1.5)
KeyLib:Unload()
else
KeyLib:Notify({ Title = "Error", Description = "Invalid key. Please try again.", Time = 3 })
end
end,
})
InfoBox:AddLabel({ Text = "How to get a key:", DoesWrap = true, Size = 14 })
InfoBox:AddLabel({ Text = "1. Join our Discord server\n2. Go to #general\n3. Then type key", DoesWrap = true, Size = 12 })
InfoBox:AddLabel("To get a key, join our Discord:")
InfoBox:AddButton({
Text = "Copy Discord Link",
Func = function()
pcall(function() setclipboard("https://discord.gg/FEnRvn8wRk") end)
KeyLib:Notify({ Title = "Copied", Description = "Discord link copied!", Time = 2 })
end,
})
if savedKey == VALID_KEY then
keyAuthenticated = true
KeyLib:Unload()
end
task.wait(0.5)
if not keyAuthenticated then
repeat task.wait(0.5) until keyAuthenticated
end
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local Lighting = game:GetService("Lighting")
local UserInputService = game:GetService("UserInputService")
local VirtualUser = game:GetService("VirtualUser")
local LocalPlayer = Players.LocalPlayer
local Character = LocalPlayer.Character
if not Character then
Character = LocalPlayer.CharacterAdded:Wait()
end
local Humanoid = Character:WaitForChild("Humanoid")
local RootPart = Character:WaitForChild("HumanoidRootPart")
local Terrain = Workspace:FindFirstChildOfClass("Terrain")
local DefaultWalkSpeed = Humanoid.WalkSpeed
local DefaultJumpPower = Humanoid.JumpPower or 50
local DefaultJumpHeight = Humanoid.JumpHeight or 7.2
local UpgradeRemotes = ReplicatedStorage:WaitForChild("UpgradeRemotes")
local PurchaseHealthUpgrade = UpgradeRemotes:WaitForChild("PurchaseHealthUpgrade")
local PurchaseWeaponUpgrade = UpgradeRemotes:WaitForChild("PurchaseWeaponUpgrade")
local WaveRemotes = ReplicatedStorage:WaitForChild("WaveRemotes")
local SkipVote = WaveRemotes:WaitForChild("SkipVote")
local GearRemotes = ReplicatedStorage:WaitForChild("GearRemotes")
local GearPurchase = GearRemotes:WaitForChild("GearPurchase")
local ZombieDamageRemote = nil
local function EnsureZombieRemote()
if ZombieDamageRemote then return true end
pcall(function()
local zr = ReplicatedStorage:WaitForChild("ZombieRemotes")
ZombieDamageRemote = zr:WaitForChild("ZombieDamage", 5)
end)
return ZombieDamageRemote ~= nil
end
EnsureZombieRemote()
local function FireZombieDamage(zombieId, damage)
if not EnsureZombieRemote() then return end
local ok = pcall(function()
ZombieDamageRemote:FireServer(zombieId, damage)
end)
if not ok then
EnsureZombieRemote()
end
end
local Config = {
KillAuraEnabled = false,
KillAuraMode = "V1",
KillAuraRange = 5000,
KillAuraDamage = 999999999,
KillAuraV2Multiplier = 1,
AutoEquip = false,
AutoBuyWeapon = false,
AutoBuyHealth = false,
AutoBuyGear = false,
AutoSkipWave = false,
ZombieESP = false,
PlayerESP = false,
NoFog = false,
FullBright = false,
SpeedHack = false,
SpeedValue = 24,
JumpHack = false,
JumpValue = 100,
TPSafeGround = false,
TPSafeSky = false,
TPSafeZoneV2 = false,
Fly = false,
FlySpeed = 50,
Noclip = false,
AntiAFK = false,
FPSUncap = false,
FPSCap = 60,
FPSBooster = false,
DPIScale = 100,
SelectedGear = "AutoTurret",
}
local WeaponTier = {
Pistol = 1, ShotGun = 2, Rifle = 3,
Minigun = 4, Revolver = 5, DualPistols = 6,
SMG = 7, CombatShotgun = 8, BurstRifle = 9,
AK47 = 10, Sniper = 11, HeavyRifle = 12,
Flamethrower = 13, MP5 = 14, USPS = 15,
GoldenAK47 = 16, EmberSMG = 17, LavaRifle = 18,
CoreBreaker = 19, LavaBow = 20, InfernoMinigun = 21,
LavaGatling = 22, GumdropBlaster = 23, ArticStriker = 24,
GalacticWeaver = 25, WorldEnder = 26, TommyGun = 27,
}
local WeaponDamage = {
Pistol = 17, Revolver = 65, DualPistols = 35,
USPS = 50, ShotGun = 40, SMG = 12,
CombatShotgun = 55, MP5 = 20, Rifle = 60,
BurstRifle = 160, AK47 = 90, Sniper = 500,
TommyGun = 70, HeavyRifle = 155, Minigun = 13,
Flamethrower = 104, GrenadeLauncher = 600, GumdropBlaster = 750,
ArticStriker = 400, GoldenAK47 = 450, EmberSMG = 275,
LavaRifle = 523, CoreBreaker = 629, LavaBow = 2160,
InfernoMinigun = 364, LavaGatling = 880, GalacticWeaver = 800,
WorldEnder = 1440, RPG = 1000, Plasma = 1500,
}
local GunConfig = nil
pcall(function()
local data = ReplicatedStorage:WaitForChild("Data")
GunConfig = require(data:WaitForChild("GunConfig"))
end)
local function GetToolDamage(tool)
if not tool then return 10 end
if GunConfig and GunConfig.Guns and GunConfig.Guns[tool.Name] then
return GunConfig.Guns[tool.Name].Damage
end
local attr = tool:GetAttribute("Damage")
if attr then return attr end
local val = tool:FindFirstChild("Damage")
if val and (val:IsA("NumberValue") or val:IsA("IntValue")) then
return val.Value
end
return WeaponDamage[tool.Name] or 10
end
local BestWeapon = nil
local BestTier = -1
local function ScanForBestWeapon(container)
if not container then return end
for _, item in ipairs(container:GetChildren()) do
if item:IsA("Tool") and item:FindFirstChild("Handle") then
local tier = WeaponTier[item.Name] or 0
if tier > BestTier then
BestTier = tier
BestWeapon = item
end
end
end
end
local function TryAutoEquip()
if not Config.AutoEquip then return end
BestTier = -1
BestWeapon = nil
ScanForBestWeapon(Character)
ScanForBestWeapon(LocalPlayer:FindFirstChild("Backpack"))
if BestWeapon and BestWeapon ~= Character:FindFirstChildOfClass("Tool") then
pcall(function()
Humanoid:EquipTool(BestWeapon)
end)
end
end
local function GetZombies()
local results = {}
local zc = _G.ZombieClient
if zc and zc.Zombies then
for id, data in pairs(zc.Zombies) do
if data and not data.IsDying then
local pos = data.CurrentPosition or data.TargetPosition
if pos then
table.insert(results, { id = id, pos = pos, data = data })
end
end
end
if #results > 0 then return results end
end
local folder = Workspace:FindFirstChild("Zombies_Local")
if folder then
for _, child in ipairs(folder:GetChildren()) do
if child:IsA("Model") and child.PrimaryPart then
local id = tonumber(child.Name:match("%d+$"))
or child:GetAttribute("ZombieId")
if id then
table.insert(results, { id = id, pos = child.PrimaryPart.Position, model = child })
end
end
end
if #results > 0 then return results end
end
for _, obj in ipairs(Workspace:GetDescendants()) do
if obj:IsA("Model") and obj.PrimaryPart then
local nameLow = obj.Name:lower()
if nameLow:find("zombie") then
local id = tonumber(obj.Name:match("%d+$"))
or obj:GetAttribute("ZombieId")
or obj:GetAttribute("Id")
if id then
local duplicate = false
for _, r in ipairs(results) do
if r.id == id then duplicate = true; break end
end
if not duplicate then
table.insert(results, { id = id, pos = obj.PrimaryPart.Position, model = obj })
end
end
end
end
end
return results
end
local KillCooldowns = {}
local KILL_COOLDOWN = 0.15
local KillAuraV2Active = false
task.spawn(function()
while true do
task.wait(30)
local now = os.clock()
for id, t in pairs(KillCooldowns) do
if now - t > 10 then KillCooldowns[id] = nil end
end
end
end)
local function KillAuraV1()
if not Config.KillAuraEnabled or Config.KillAuraMode ~= "V1" then return end
if not EnsureZombieRemote() then return end
if not RootPart or not RootPart.Parent then
Character = LocalPlayer.Character
if Character then
RootPart = Character:FindFirstChild("HumanoidRootPart")
Humanoid = Character:FindFirstChild("Humanoid")
end
if not RootPart then return end
end
local myPos = RootPart.Position
local now = os.clock()
for _, zombie in ipairs(GetZombies()) do
if typeof(zombie.pos) == "Vector3" then
if (zombie.pos - myPos).Magnitude <= Config.KillAuraRange then
local id = zombie.id
if not KillCooldowns[id] or now - KillCooldowns[id] >= KILL_COOLDOWN then
KillCooldowns[id] = now
FireZombieDamage(id, Config.KillAuraDamage)
end
end
end
end
end
task.spawn(function()
while true do
task.wait(0.05)
if Config.KillAuraEnabled and Config.KillAuraMode == "V2" then
if not KillAuraV2Active then
Config.AutoEquip = true
TryAutoEquip()
KillAuraV2Active = true
end
if not EnsureZombieRemote() then continue end
if not Character or not Character.Parent or not Humanoid or not RootPart or not RootPart.Parent then
Character = LocalPlayer.Character
if Character then
Humanoid = Character:FindFirstChild("Humanoid")
RootPart = Character:FindFirstChild("HumanoidRootPart")
end
else
local tool = Character:FindFirstChildOfClass("Tool")
local damage = math.floor(GetToolDamage(tool) * Config.KillAuraV2Multiplier)
local now = os.clock()
for _, zombie in ipairs(GetZombies()) do
if typeof(zombie.pos) == "Vector3" then
local id = zombie.id
if not KillCooldowns[id] or now - KillCooldowns[id] >= KILL_COOLDOWN then
KillCooldowns[id] = now
FireZombieDamage(id, damage)
end
end
end
end
else
if KillAuraV2Active then KillAuraV2Active = false end
end
end
end)
local AutoBuyTimers = { Weapon = 0, Health = 0, Gear = 0 }
local AutoBuyNotified = { Weapon = false, Health = false, Gear = false }
local function Notify(title, desc, t)
end
local function AutoBuyTick()
local now = os.clock()
if Config.AutoBuyWeapon and now - AutoBuyTimers.Weapon > 0.5 then
AutoBuyTimers.Weapon = now
pcall(function() PurchaseWeaponUpgrade:FireServer() end)
if not AutoBuyNotified.Weapon then
AutoBuyNotified.Weapon = true
Notify("Auto Buy", "Weapon Upgrade is active", 2)
end
end
if not Config.AutoBuyWeapon then AutoBuyNotified.Weapon = false end
if Config.AutoBuyHealth and now - AutoBuyTimers.Health > 0.5 then
AutoBuyTimers.Health = now
pcall(function() PurchaseHealthUpgrade:FireServer() end)
if not AutoBuyNotified.Health then
AutoBuyNotified.Health = true
Notify("Auto Buy", "Health Upgrade is active", 2)
end
end
if not Config.AutoBuyHealth then AutoBuyNotified.Health = false end
if Config.AutoBuyGear and now - AutoBuyTimers.Gear > 0.3 then
AutoBuyTimers.Gear = now
pcall(function() GearPurchase:FireServer(Config.SelectedGear) end)
if not AutoBuyNotified.Gear then
AutoBuyNotified.Gear = true
Notify("Auto Buy", Config.SelectedGear .. " is active", 2)
end
end
if not Config.AutoBuyGear then AutoBuyNotified.Gear = false end
end
local SafeGroundCFrame = nil
local SafeZoneV2CFrame = nil
local SkyOrigPos = nil
local SkyPlatform = nil
local function UpdateSpeed()
if not Humanoid then return end
if Config.SpeedHack then
Humanoid.WalkSpeed = Config.SpeedValue
else
if Humanoid.WalkSpeed ~= DefaultWalkSpeed then
Humanoid.WalkSpeed = DefaultWalkSpeed
end
end
if Config.JumpHack then
if Humanoid.UseJumpPower then
Humanoid.JumpPower = Config.JumpValue
else
Humanoid.JumpHeight = Config.JumpValue / 7
end
else
if Humanoid.UseJumpPower then
if Humanoid.JumpPower ~= DefaultJumpPower then Humanoid.JumpPower = DefaultJumpPower end
else
if Humanoid.JumpHeight ~= DefaultJumpHeight then Humanoid.JumpHeight = DefaultJumpHeight end
end
end
end
local SafeGroundPos = Vector3.new(22.22, 4, -167.02)
local function UpdateTPSafeGround()
if not RootPart then return end
if Config.TPSafeGround then
if not SafeGroundCFrame then
SafeGroundCFrame = RootPart.CFrame
RootPart.CFrame = CFrame.new(SafeGroundPos)
end
else
if SafeGroundCFrame then
RootPart.CFrame = SafeGroundCFrame
SafeGroundCFrame = nil
end
end
end
local SafeZoneV2Pos = Vector3.new(-340.99, 458.54, -321.69)
local function UpdateTPSafeZoneV2()
if not RootPart then return end
if Config.TPSafeZoneV2 then
if not SafeZoneV2CFrame then
SafeZoneV2CFrame = RootPart.CFrame
RootPart.CFrame = CFrame.new(SafeZoneV2Pos)
end
else
if SafeZoneV2CFrame then
RootPart.CFrame = SafeZoneV2CFrame
SafeZoneV2CFrame = nil
end
end
end
local function UpdateTPSafeSky()
if not RootPart then return end
if Config.TPSafeSky then
if not SkyOrigPos then
SkyOrigPos = RootPart.Position
local skyY = SkyOrigPos.Y + 40
if not SkyPlatform then
SkyPlatform = Instance.new("Part")
SkyPlatform.Name = "SkyPlatform"
SkyPlatform.Size = Vector3.new(50, 2, 50)
SkyPlatform.Anchored = true
SkyPlatform.Transparency = 1
SkyPlatform.CanCollide = true
SkyPlatform.Position = Vector3.new(SkyOrigPos.X, skyY - SkyPlatform.Size.Y / 2, SkyOrigPos.Z)
SkyPlatform.Parent = Workspace
end
RootPart.CFrame = CFrame.new(SkyOrigPos.X, skyY + (Humanoid.HipHeight or RootPart.Size.Y / 2), SkyOrigPos.Z)
end
if SkyPlatform then
SkyPlatform.Position = Vector3.new(RootPart.Position.X, SkyPlatform.Position.Y, RootPart.Position.Z)
end
else
if SkyOrigPos then
RootPart.CFrame = CFrame.new(SkyOrigPos)
SkyOrigPos = nil
end
if SkyPlatform then SkyPlatform:Destroy(); SkyPlatform = nil end
end
end
local function UpdateNoclip()
if not Character or not Config.Noclip then return end
for _, part in ipairs(Character:GetDescendants()) do
if part:IsA("BasePart") then part.CanCollide = false end
end
end
local BodyGyro = nil
local BodyVelocity = nil
local MobileFlyGui = nil
local MobileInput = { up = false, down = false }
local function CreateMobileFlyButtons()
if MobileFlyGui then return end
local gui = Instance.new("ScreenGui")
gui.Name = "MobileFlyButtons"
gui.IgnoreGuiInset = true
gui.DisplayOrder = 10
gui.Parent = LocalPlayer:WaitForChild("PlayerGui")
local btnUp = Instance.new("TextButton")
btnUp.Size = UDim2.new(0, 80, 0, 80)
btnUp.Position = UDim2.new(1, -90, 0.5, -90)
btnUp.Text = "⬆ Fly Up"
btnUp.BackgroundColor3 = Color3.fromRGB(0, 170, 0)
btnUp.TextColor3 = Color3.new(1, 1, 1)
btnUp.BorderSizePixel = 0
btnUp.Parent = gui
local btnDown = Instance.new("TextButton")
btnDown.Size = UDim2.new(0, 80, 0, 80)
btnDown.Position = UDim2.new(1, -90, 0.5, 10)
btnDown.Text = "⬇ Fly Down"
btnDown.BackgroundColor3 = Color3.fromRGB(170, 0, 0)
btnDown.TextColor3 = Color3.new(1, 1, 1)
btnDown.BorderSizePixel = 0
btnDown.Parent = gui
btnUp.MouseButton1Down:Connect(function() MobileInput.up = true end)
btnUp.MouseButton1Up:Connect(function() MobileInput.up = false end)
btnDown.MouseButton1Down:Connect(function() MobileInput.down = true end)
btnDown.MouseButton1Up:Connect(function() MobileInput.down = false end)
MobileFlyGui = { gui = gui, input = MobileInput }
end
local function DestroyMobileFlyButtons()
if MobileFlyGui then
pcall(function() MobileFlyGui.gui:Destroy() end)
MobileFlyGui = nil
end
end
local function EnableFly()
if not RootPart then return end
Humanoid.PlatformStand = true
if not BodyGyro then
BodyGyro = Instance.new("BodyGyro")
BodyGyro.MaxTorque = Vector3.new(400000, 400000, 400000)
BodyGyro.P = 30000
BodyGyro.Parent = RootPart
end
if not BodyVelocity then
BodyVelocity = Instance.new("BodyVelocity")
BodyVelocity.MaxForce = Vector3.new(400000, 400000, 400000)
BodyVelocity.Velocity = Vector3.zero
BodyVelocity.Parent = RootPart
end
if UserInputService.TouchEnabled then
CreateMobileFlyButtons()
end
end
local function DisableFly()
if Humanoid then Humanoid.PlatformStand = false end
if BodyGyro then BodyGyro:Destroy(); BodyGyro = nil end
if BodyVelocity then BodyVelocity:Destroy(); BodyVelocity = nil end
DestroyMobileFlyButtons()
end
local function UpdateFlyVelocity()
if not BodyVelocity or not BodyGyro then return end
local cam = Workspace.CurrentCamera
if not cam then return end
local dir = Vector3.zero
if not UserInputService.TouchEnabled then
if UserInputService:IsKeyDown(Enum.KeyCode.W) then
dir = dir + cam.CFrame.LookVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then
dir = dir - cam.CFrame.LookVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then
dir = dir + cam.CFrame.RightVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then
dir = dir - cam.CFrame.RightVector
end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
dir = dir + Vector3.yAxis
end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
dir = dir - Vector3.yAxis
end
else
if Humanoid and Humanoid.MoveDirection.Magnitude > 0 then
local md = Humanoid.MoveDirection
dir = cam.CFrame.LookVector * md.Z + cam.CFrame.RightVector * md.X
end
if MobileFlyGui and MobileFlyGui.input.up then dir = dir + Vector3.yAxis end
if MobileFlyGui and MobileFlyGui.input.down then dir = dir - Vector3.yAxis end
end
if dir.Magnitude > 0 then
BodyVelocity.Velocity = dir.Unit * Config.FlySpeed
else
BodyVelocity.Velocity = Vector3.zero
end
BodyGyro.CFrame = cam.CFrame
end
local ESPObjects = {}
local function ClearESP()
for _, gui in ipairs(ESPObjects) do
pcall(function() gui:Destroy() end)
end
ESPObjects = {}
end
local function RefreshESP()
ClearESP()
if Config.ZombieESP then
for _, zombie in ipairs(GetZombies()) do
if zombie.model and zombie.model.PrimaryPart then
local bb = Instance.new("BillboardGui")
bb.AlwaysOnTop = true
bb.Size = UDim2.new(0, 80, 0, 30)
bb.StudsOffset = Vector3.new(0, 2.5, 0)
bb.Parent = zombie.model.PrimaryPart
local lbl = Instance.new("TextLabel")
lbl.BackgroundTransparency = 1
lbl.Size = UDim2.new(1, 0, 1, 0)
lbl.TextColor3 = Color3.fromRGB(255, 60, 60)
lbl.TextStrokeTransparency = 0.5
lbl.Text = "Zombie"
lbl.Parent = bb
table.insert(ESPObjects, bb)
end
end
end
if Config.PlayerESP then
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer and plr.Character then
local hrp = plr.Character:FindFirstChild("HumanoidRootPart")
if hrp then
local bb = Instance.new("BillboardGui")
bb.AlwaysOnTop = true
bb.Size = UDim2.new(0, 100, 0, 25)
bb.StudsOffset = Vector3.new(0, 3, 0)
bb.Parent = hrp
local lbl = Instance.new("TextLabel")
lbl.BackgroundTransparency = 1
lbl.Size = UDim2.new(1, 0, 1, 0)
lbl.TextColor3 = Color3.fromRGB(0, 255, 100)
lbl.TextStrokeTransparency = 0.5
lbl.Text = plr.Name
lbl.Parent = bb
table.insert(ESPObjects, bb)
end
end
end
end
end
local SavedLighting = {}
local function SetFullBright(enabled)
if enabled then
if not SavedLighting.saved then
SavedLighting = {
Ambient = Lighting.Ambient,
Brightness = Lighting.Brightness,
OutdoorAmbient = Lighting.OutdoorAmbient,
ClockTime = Lighting.ClockTime,
GlobalShadows = Lighting.GlobalShadows,
saved = true,
}
end
Lighting.Ambient = Color3.fromRGB(255, 255, 255)
Lighting.Brightness = 3
Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255)
Lighting.ClockTime = 14
Lighting.GlobalShadows = false
if not Config.NoFog then
Lighting.FogEnd = 999999
Lighting.FogStart = 99999
end
else
if SavedLighting.saved then
Lighting.Ambient = SavedLighting.Ambient
Lighting.Brightness = SavedLighting.Brightness
Lighting.OutdoorAmbient = SavedLighting.OutdoorAmbient
Lighting.ClockTime = SavedLighting.ClockTime
Lighting.GlobalShadows = SavedLighting.GlobalShadows
SavedLighting.saved = false
end
if not Config.NoFog then
Lighting.FogEnd = 5000
Lighting.FogStart = 1000
end
end
end
local function SetNoFog(enabled)
if enabled then
Lighting.FogEnd = 999999
Lighting.FogStart = 99999
else
if not Config.FullBright then
Lighting.FogEnd = 5000
Lighting.FogStart = 1000
end
end
end
local function ApplyFPSSettings()
if Config.FPSUncap then
pcall(function() setfpscap(Config.FPSCap) end)
else
pcall(function() setfpscap(0) end)
end
end
local FPSBoostActive = false
local FPSBoostSaved = {}
local FPSBoostConn = nil
local function EnableFPSBooster()
if FPSBoostActive then return end
FPSBoostActive = true
FPSBoostSaved.GlobalShadows = Lighting.GlobalShadows
FPSBoostSaved.Brightness = Lighting.Brightness
FPSBoostSaved.FogEnd = Lighting.FogEnd
pcall(function() FPSBoostSaved.TerrainDeco = Terrain.Decoration end)
pcall(function() FPSBoostSaved.WaterWaveSize = Terrain.WaterWaveSize end)
pcall(function() FPSBoostSaved.WaterWaveSpeed = Terrain.WaterWaveSpeed end)
pcall(function() FPSBoostSaved.WaterReflect = Terrain.WaterReflectance end)
pcall(function() FPSBoostSaved.WaterTransp = Terrain.WaterTransparency end)
pcall(function() FPSBoostSaved.QualityLevel = settings().rendering.QualityLevel end)
for _, obj in ipairs(Workspace:GetDescendants()) do
if obj:IsA("BasePart") then
pcall(function()
obj.Material = Enum.Material.SmoothPlastic
obj.Reflectance = 0
obj.CastShadow = false
end)
elseif obj:IsA("Decal") or obj:IsA("Texture") then
pcall(function() obj:Destroy() end)
end
end
for _, child in ipairs(Lighting:GetChildren()) do
if child:IsA("PostProcessEffect") then
pcall(function() child.Enabled = false end)
end
end
if Terrain then
pcall(function() Terrain.Decoration = false end)
pcall(function() Terrain.WaterWaveSize = 0 end)
pcall(function() Terrain.WaterWaveSpeed = 0 end)
pcall(function() Terrain.WaterReflectance = 0 end)
pcall(function() Terrain.WaterTransparency = 0 end)
end
local clouds = Workspace:FindFirstChild("Clouds")
if clouds then pcall(function() clouds:Destroy() end) end
for _, obj in ipairs(Workspace:GetDescendants()) do
if obj:IsA("ParticleEmitter") then
pcall(function() obj:Destroy() end)
end
end
pcall(function()
settings().physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Always
end)
pcall(function()
settings().rendering.QualityLevel = Enum.QualityLevel.Level1
end)
for _, obj in ipairs(Workspace:GetDescendants()) do
if obj:IsA("BasePart") then
pcall(function()
obj.Velocity = Vector3.zero
obj.RotVelocity = Vector3.zero
end)
end
end
Lighting.GlobalShadows = false
Lighting.Brightness = 3
Lighting.FogEnd = 9000000000
pcall(function()
if sethiddenproperty then
sethiddenproperty(Lighting, "Technology", Enum.Technology.Compatibility)
end
end)
FPSBoostConn = game.DescendantAdded:Connect(function(obj)
if not Config.FPSBooster then return end
if obj:IsA("BasePart") then
pcall(function()
obj.Material = Enum.Material.SmoothPlastic
obj.Reflectance = 0
obj.CastShadow = false
end)
elseif obj:IsA("Decal") then
pcall(function() obj:Destroy() end)
end
end)
Notify("FPS Booster", "Ultra FPS Boost enabled!", 2)
end
local function DisableFPSBooster()
if not FPSBoostActive then return end
FPSBoostActive = false
if FPSBoostConn then FPSBoostConn:Disconnect(); FPSBoostConn = nil end
pcall(function() Lighting.GlobalShadows = FPSBoostSaved.GlobalShadows end)
pcall(function() Lighting.Brightness = FPSBoostSaved.Brightness end)
pcall(function() Lighting.FogEnd = FPSBoostSaved.FogEnd end)
for _, child in ipairs(Lighting:GetChildren()) do
if child:IsA("PostProcessEffect") then
pcall(function() child.Enabled = true end)
end
end
if Terrain then
pcall(function() Terrain.Decoration = FPSBoostSaved.TerrainDeco end)
pcall(function() Terrain.WaterWaveSize = FPSBoostSaved.WaterWaveSize end)
pcall(function() Terrain.WaterWaveSpeed = FPSBoostSaved.WaterWaveSpeed end)
pcall(function() Terrain.WaterReflectance = FPSBoostSaved.WaterReflect end)
pcall(function() Terrain.WaterTransparency = FPSBoostSaved.WaterTransp end)
end
pcall(function()
settings().rendering.QualityLevel = FPSBoostSaved.QualityLevel
end)
Notify("FPS Booster", "Disabled - Settings restored", 2)
end
local AntiAFKIdledConn = nil
local AntiAFKJumpTimer = 0
local AntiAFKMoveTimer = 0
local AntiAFKMoveDir = false
local function SetupAntiAFK()
if AntiAFKIdledConn then AntiAFKIdledConn:Disconnect() end
AntiAFKIdledConn = LocalPlayer.Idled:Connect(function()
if Config.AntiAFK then
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.new())
end
end)
end
SetupAntiAFK()
local function AntiAFKTick()
if not Config.AntiAFK or Config.Fly then return end
if not Humanoid or Humanoid.Health <= 0 or not RootPart then return end
local now = os.clock()
if now - AntiAFKJumpTimer > 7 then
AntiAFKJumpTimer = now
pcall(function() Humanoid.Jump = true end)
end
if now - AntiAFKMoveTimer > 30 then
AntiAFKMoveTimer = now
AntiAFKMoveDir = not AntiAFKMoveDir
local dir = AntiAFKMoveDir and 1 or -1
pcall(function()
Humanoid:Move(Vector3.new(dir, 0, 0), true)
task.wait(0.1)
Humanoid:Move(Vector3.new(0, 0, 0), true)
end)
end
end
local BlackScreenGui = nil
local function SetBlackScreen(enabled)
if enabled then
if not BlackScreenGui then
BlackScreenGui = Instance.new("ScreenGui", LocalPlayer.PlayerGui)
BlackScreenGui.Name = "BlackScreen"
BlackScreenGui.IgnoreGuiInset = true
BlackScreenGui.DisplayOrder = 2000000000
local frame = Instance.new("Frame", BlackScreenGui)
frame.BackgroundColor3 = Color3.new(0, 0, 0)
frame.Size = UDim2.new(1, 0, 1, 0)
frame.BorderSizePixel = 0
end
else
if BlackScreenGui then BlackScreenGui:Destroy(); BlackScreenGui = nil end
end
end
LocalPlayer.CharacterAdded:Connect(function(char)
Character = char
Humanoid = char:WaitForChild("Humanoid")
RootPart = char:WaitForChild("HumanoidRootPart")
DefaultWalkSpeed = Humanoid.WalkSpeed
DefaultJumpPower = Humanoid.JumpPower or 50
DefaultJumpHeight = Humanoid.JumpHeight or 7.2
Config.TPSafeGround = false; SafeGroundCFrame = nil
Config.TPSafeSky = false; SkyOrigPos = nil
Config.TPSafeZoneV2 = false; SafeZoneV2CFrame = nil
if SkyPlatform then SkyPlatform:Destroy(); SkyPlatform = nil end
AutoBuyNotified.Weapon = false
AutoBuyNotified.Health = false
AutoBuyNotified.Gear = false
DisableFly()
SetupAntiAFK()
if Config.FPSBooster then
task.wait(0.5)
EnableFPSBooster()
end
end)
local ESPTimer = 0
local HeartbeatConn = RunService.Heartbeat:Connect(function()
KillAuraV1()
AutoBuyTick()
TryAutoEquip()
UpdateSpeed()
UpdateTPSafeGround()
UpdateTPSafeZoneV2()
UpdateTPSafeSky()
UpdateNoclip()
AntiAFKTick()
if Config.Fly then
EnableFly()
UpdateFlyVelocity()
else
DisableFly()
end
local now = os.clock()
if now - ESPTimer > 1 then
ESPTimer = now
if Config.ZombieESP or Config.PlayerESP then
RefreshESP()
else
ClearESP()
end
end
end)
local Library = loadstring(game:HttpGet(BASE_URL .. "Library.lua"))()
local ThemeManager = loadstring(game:HttpGet(BASE_URL .. "addons/ThemeManager.lua"))()
local SaveManager = loadstring(game:HttpGet(BASE_URL .. "addons/SaveManager.lua"))()
loadstring(game:HttpGet("https://raw.githubusercontent.com/Black69Weeds/Scripts/main/Anticheat%20bypass.lua"))()
Notify = function(title, desc, t)
Library:Notify({ Title = title, Description = desc, Time = t or 1.5 })
end
Library.ForceCheckbox = false
Library.ShowToggleFrameInKeybinds = true
pcall(function() Library:SetDPIScale(Config.DPIScale) end)
local loading2 = Library:CreateLoading({
Title = "SyzenHub",
Icon = 83889336114659,
TotalSteps = 4,
})
loading2:SetMessage("Loading SyzenHub...")
loading2:SetDescription("Preparing your experience")
task.wait(0.3); loading2:SetCurrentStep(1); loading2:SetDescription("Loading modules...")
task.wait(0.3); loading2:SetCurrentStep(2); loading2:SetDescription("Applying settings...")
task.wait(0.3); loading2:SetCurrentStep(3); loading2:SetDescription("Almost ready!")
task.wait(0.3); loading2:SetCurrentStep(4); loading2:SetDescription("Welcome!")
task.wait(0.4); loading2:Continue()
local Window = Library:CreateWindow({
Title = "SyzenHub",
Footer = "Survive Zombie Arena v1.3",
Icon = 83889336114659,
NotifySide = "Right",
ShowCustomCursor = true,
Center = true,
AutoShow = true,
})
local Tabs = {
Main = Window:AddTab("Main", "zap", "Combat & automation"),
Movement = Window:AddTab("Movement", "footprints","Speed, fly & teleports"),
Visual = Window:AddTab("Visual", "eye", "ESP & world tweaks"),
Config = Window:AddTab("Config", "settings", "Theme & save configs"),
}
local CombatBox = Tabs.Main:AddLeftGroupbox("Kill Aura", "crosshair")
CombatBox:AddToggle("KillAuraEnabled", {
Text = "Kill Aura",
Default = false,
Tooltip = "Fire ZombieDamage remote on all zombies in range",
Callback = function(v) Config.KillAuraEnabled = v end,
})
CombatBox:AddDropdown("KillAuraMode", {
Text = "Mode",
Default = "V1",
Values = { "V1", "V2" },
Callback = function(v) Config.KillAuraMode = v end,
})
CombatBox:AddSlider("KillAuraRange", {
Text = "Range",
Default = 5000,
Min = 100,
Max = 5000,
Rounding = 0,
Callback = function(v) Config.KillAuraRange = v end,
})
CombatBox:AddDivider()
CombatBox:AddSlider("KillAuraDamage", {
Text = "Damage (V1)",
Default = 999999999,
Min = 1000,
Max = 999999999,
Rounding = 0,
Callback = function(v) Config.KillAuraDamage = v end,
})
CombatBox:AddSlider("KillAuraV2Multiplier", {
Text = "Multiplier (V2)",
Default = 1,
Min = 1,
Max = 100,
Rounding = 1,
Callback = function(v) Config.KillAuraV2Multiplier = v end,
})
local AutoBox = Tabs.Main:AddRightGroupbox("Automation", "zap")
AutoBox:AddToggle("AutoEquip", {
Text = "Auto Equip",
Default = false,
Callback = function(v) Config.AutoEquip = v end,
})
AutoBox:AddDivider()
AutoBox:AddToggle("AutoBuyWeapon", {
Text = "Auto Buy Weapon",
Default = false,
Callback = function(v)
Config.AutoBuyWeapon = v
if v then Notify("Auto Buy", "Weapon Upgrade enabled", 2) end
end,
})
AutoBox:AddToggle("AutoBuyHealth", {
Text = "Auto Buy Health",
Default = false,
Callback = function(v)
Config.AutoBuyHealth = v
if v then Notify("Auto Buy", "Health Upgrade enabled", 2) end
end,
})
AutoBox:AddToggle("AutoBuyGear", {
Text = "Auto Buy Gear",
Default = false,
Callback = function(v)
Config.AutoBuyGear = v
if v then Notify("Auto Buy", Config.SelectedGear .. " Gear enabled", 2) end
end,
})
AutoBox:AddDropdown("SelectedGear", {
Text = "Gear Type",
Default = "AutoTurret",
Values = {
"Landmine","LaserTurret","AutoTurret","Barricade","SteelBarricade",
"FlamethrowerTurret","ShockwaveMine","HealingStation","MendingTower",
"StimShot","Molotov","VanguardTurret","Cloak","Shuriken","BladeFury",
"SoulHarvester","RaiseUndead","DeathNova","FragGrenade","Deadeye",
"TargetMark","Drone","Spikes","Bunker",
},
Callback = function(v) Config.SelectedGear = v end,
})
local MiscCombatBox = Tabs.Main:AddLeftGroupbox("Misc", "settings")
MiscCombatBox:AddToggle("AutoSkipWave", {
Text = "Auto Skip Wave",
Default = false,
Callback = function(v) Config.AutoSkipWave = v end,
})
local SpeedBox = Tabs.Movement:AddLeftGroupbox("Speed & Jump", "footprints")
SpeedBox:AddToggle("SpeedHack", {
Text = "Speed Hack",
Default = false,
Callback = function(v) Config.SpeedHack = v end,
})
SpeedBox:AddSlider("SpeedValue", {
Text = "Walk Speed",
Default = 24,
Min = 16,
Max = 200,
Rounding = 0,
Callback = function(v) Config.SpeedValue = v end,
})
SpeedBox:AddToggle("JumpHack", {
Text = "Jump Hack",
Default = false,
Callback = function(v) Config.JumpHack = v end,
})
SpeedBox:AddSlider("JumpValue", {
Text = "Jump Power",
Default = 100,
Min = 50,
Max = 500,
Rounding = 0,
Callback = function(v) Config.JumpValue = v end,
})
local FlyBox = Tabs.Movement:AddRightGroupbox("Fly & Noclip", "wind")
FlyBox:AddToggle("Fly", {
Text = "Fly",
Default = false,
Callback = function(v)
Config.Fly = v
if not v then DisableFly() end
end,
})
FlyBox:AddSlider("FlySpeed", {
Text = "Fly Speed",
Default = 50,
Min = 10,
Max = 200,
Rounding = 0,
Callback = function(v) Config.FlySpeed = v end,
})
FlyBox:AddToggle("Noclip", {
Text = "Noclip",
Default = false,
Callback = function(v) Config.Noclip = v end,
})
local TPBox = Tabs.Movement:AddLeftGroupbox("Teleports", "map-pin")
TPBox:AddToggle("TPSafeGround", {
Text = "TP Safe Ground",
Default = false,
Callback = function(v) Config.TPSafeGround = v end,
})
TPBox:AddToggle("TPSafeSky", {
Text = "TP Safe Sky",
Default = false,
Callback = function(v)
Config.TPSafeSky = v
if not v then
if SkyOrigPos and RootPart then RootPart.CFrame = CFrame.new(SkyOrigPos) end
SkyOrigPos = nil
if SkyPlatform then SkyPlatform:Destroy(); SkyPlatform = nil end
end
end,
})
TPBox:AddToggle("TPSafeZoneV2", {
Text = "TP Safe Zone V2",
Default = false,
Callback = function(v) Config.TPSafeZoneV2 = v end,
})
local ESPBox = Tabs.Visual:AddLeftGroupbox("ESP", "eye")
ESPBox:AddToggle("ZombieESP", {
Text = "Zombie ESP",
Default = false,
Callback = function(v)
Config.ZombieESP = v
RefreshESP()
end,
})
ESPBox:AddToggle("PlayerESP", {
Text = "Player ESP",
Default = false,
Callback = function(v)
Config.PlayerESP = v
RefreshESP()
end,
})
local WorldBox = Tabs.Visual:AddRightGroupbox("World", "sun")
WorldBox:AddDivider()
WorldBox:AddLabel("Lighting & FPS")
WorldBox:AddToggle("FPSUncap", {
Text = "FPS Uncap",
Default = false,
Callback = function(v) Config.FPSUncap = v; ApplyFPSSettings() end,
})
WorldBox:AddSlider("FPSCap", {
Text = "FPS Cap",
Default = 60,
Min = 10,
Max = 600,
Rounding = 0,
Callback = function(v)
Config.FPSCap = v
if Config.FPSUncap then ApplyFPSSettings() end
end,
})
local MiscBox = Tabs.Visual:AddLeftGroupbox("Misc", "settings")
MiscBox:AddToggle("AntiAFK", {
Text = "Anti AFK",
Default = false,
Callback = function(v)
Config.AntiAFK = v
if v then
SetupAntiAFK()
else
if AntiAFKIdledConn then AntiAFKIdledConn:Disconnect() end
end
end,
})
MiscBox:AddToggle("NoFog", {
Text = "No Fog",
Default = false,
Callback = function(v) Config.NoFog = v; SetNoFog(v) end,
})
MiscBox:AddToggle("FullBright", {
Text = "Full Bright",
Default = false,
Callback = function(v) Config.FullBright = v; SetFullBright(v) end,
})
MiscBox:AddToggle("FPSBooster", {
Text = "FPS Booster",
Default = false,
Callback = function(v)
Config.FPSBooster = v
if v then EnableFPSBooster() else DisableFPSBooster() end
end,
})
ThemeManager:SetLibrary(Library)
pcall(function() ThemeManager:SetDefault("Fatality") end)
SaveManager:SetLibrary(Library)
SaveManager:IgnoreThemeSettings()
SaveManager:SetIgnoreIndexes({ "KeyInput" })
SaveManager:SetFolder("SyzenHub")
SaveManager:BuildConfigSection(Tabs.Config)
SaveManager:ApplyToTab(Tabs.Config)
ThemeManager:SetFolder("SyzenHub")
ThemeManager:BuildConfigSection(Tabs.Config)
ThemeManager:ApplyToTab(Tabs.Config)
pcall(function() SaveManager:LoadAutoloadConfig() end)
local SkipVoteTimer = 0
local SkipVoteHeartbeat = RunService.Heartbeat:Connect(function()
if Config.AutoSkipWave and os.clock() - SkipVoteTimer > 5 then
SkipVoteTimer = os.clock()
pcall(function() SkipVote:FireServer(true) end)
end
end)
Library.OnUnload:Connect(function()
HeartbeatConn:Disconnect()
SkipVoteHeartbeat:Disconnect()
if AntiAFKIdledConn then AntiAFKIdledConn:Disconnect() end
if FPSBoostConn then FPSBoostConn:Disconnect() end
DisableFly()
ClearESP()
SetBlackScreen(false)
DisableFPSBooster()
if Humanoid then
Humanoid.WalkSpeed = DefaultWalkSpeed
if Humanoid.UseJumpPower then
Humanoid.JumpPower = DefaultJumpPower
else
Humanoid.JumpHeight = DefaultJumpHeight
end
end
if RootPart then RootPart.Anchored = false end
if SkyPlatform then SkyPlatform:Destroy(); SkyPlatform = nil end
SetFullBright(false)
SetNoFog(false)
Lighting.GlobalShadows = true
Lighting.FogEnd = 5000
Lighting.FogStart = 1000
pcall(function() setfpscap(0) end)
end)Auto farm script.. op, no key, keyless, free, opensource
syzenhub leaked
1local BASE_URL = "https://raw.githubusercontent.com/deividcomsono/Obsidian/main/"
2local KEY_FILE = "SurviveZombieArena.txt"
3local VALID_KEY = "ThankYouForSupportingMe"
4
5local KeyLib = loadstring(game:HttpGet(BASE_URL .. "Library.lua"))()
6
7local loadingKey = KeyLib:CreateLoading({
8 Title = "SyzenHub",
9 Icon = 83889336114659,
10 TotalSteps = 5,
11})
12loadingKey:SetMessage("Initialising SyzenHub...")
13loadingKey:SetDescription("Please wait while we set things up.")
14task.wait(0.3)
15loadingKey:SetCurrentStep(1); loadingKey:SetDescription("Checking authentication...")
16task.wait(0.3)
17loadingKey:SetCurrentStep(2); loadingKey:SetDescription("Connecting to game services...")
18task.wait(0.3)
19loadingKey:SetCurrentStep(3); loadingKey:SetDescription("Loading features & modules...")
20task.wait(0.3)
21loadingKey:SetCurrentStep(4); loadingKey:SetDescription("Ready!")
22task.wait(0.4)
23loadingKey:Continue()
24
25local KeyWindow = KeyLib:CreateWindow({
26 Title = "SyzenHub",
27 Footer = "Survive Zombie Arena v1.3",
28 Icon = 83889336114659,
29 NotifySide = "Right",
30 ShowCustomCursor = true,
31 Center = true,
32 AutoShow = true,
33 Size = UDim2.new(0, 500, 0, 260),
34})
35
36local KeyTab = KeyWindow:AddTab("Key System", "key")
37local KeyBox = KeyTab:AddLeftGroupbox("Enter Key", "lock")
38local InfoBox = KeyTab:AddRightGroupbox("Information", "info")
39
40local keyAuthenticated = false
41local savedKey = nil
42
43pcall(function()
44 if readfile then
45 savedKey = readfile(KEY_FILE)
46 end
47end)
48
49local inputKey = savedKey or ""
50
51KeyBox:AddInput("KeyInput", {
52 Text = "Key",
53 Default = savedKey or "",
54 Placeholder = "Type key here...",
55 ClearTextOnFocus = false,
56 Callback = function(v) inputKey = v end,
57})
58
59KeyBox:AddButton({
60 Text = "Submit Key",
61 Func = function()
62 if VALID_KEY == VALID_KEY then
63 keyAuthenticated = true
64 pcall(function()
65 if writefile then writefile(KEY_FILE, inputKey) end
66 end)
67 KeyLib:Notify({ Title = "Success", Description = "Key accepted! Loading...", Time = 2 })
68 task.wait(1.5)
69 KeyLib:Unload()
70 else
71 KeyLib:Notify({ Title = "Error", Description = "Invalid key. Please try again.", Time = 3 })
72 end
73 end,
74})
75
76InfoBox:AddLabel({ Text = "How to get a key:", DoesWrap = true, Size = 14 })
77InfoBox:AddLabel({ Text = "1. Join our Discord server\n2. Go to #general\n3. Then type key", DoesWrap = true, Size = 12 })
78InfoBox:AddLabel("To get a key, join our Discord:")
79InfoBox:AddButton({
80 Text = "Copy Discord Link",
81 Func = function()
82 pcall(function() setclipboard("https://discord.gg/FEnRvn8wRk") end)
83 KeyLib:Notify({ Title = "Copied", Description = "Discord link copied!", Time = 2 })
84 end,
85})
86
87if savedKey == VALID_KEY then
88 keyAuthenticated = true
89 KeyLib:Unload()
90end
91
92task.wait(0.5)
93if not keyAuthenticated then
94 repeat task.wait(0.5) until keyAuthenticated
95end
96
97local Players = game:GetService("Players")
98local ReplicatedStorage = game:GetService("ReplicatedStorage")
99local RunService = game:GetService("RunService")
100local Workspace = game:GetService("Workspace")
101local Lighting = game:GetService("Lighting")
102local UserInputService = game:GetService("UserInputService")
103local VirtualUser = game:GetService("VirtualUser")
104
105local LocalPlayer = Players.LocalPlayer
106local Character = LocalPlayer.Character
107if not Character then
108 Character = LocalPlayer.CharacterAdded:Wait()
109end
110
111local Humanoid = Character:WaitForChild("Humanoid")
112local RootPart = Character:WaitForChild("HumanoidRootPart")
113local Terrain = Workspace:FindFirstChildOfClass("Terrain")
114
115local DefaultWalkSpeed = Humanoid.WalkSpeed
116local DefaultJumpPower = Humanoid.JumpPower or 50
117local DefaultJumpHeight = Humanoid.JumpHeight or 7.2
118
119local UpgradeRemotes = ReplicatedStorage:WaitForChild("UpgradeRemotes")
120local PurchaseHealthUpgrade = UpgradeRemotes:WaitForChild("PurchaseHealthUpgrade")
121local PurchaseWeaponUpgrade = UpgradeRemotes:WaitForChild("PurchaseWeaponUpgrade")
122local WaveRemotes = ReplicatedStorage:WaitForChild("WaveRemotes")
123local SkipVote = WaveRemotes:WaitForChild("SkipVote")
124local GearRemotes = ReplicatedStorage:WaitForChild("GearRemotes")
125local GearPurchase = GearRemotes:WaitForChild("GearPurchase")
126
127local ZombieDamageRemote = nil
128local function EnsureZombieRemote()
129 if ZombieDamageRemote then return true end
130 pcall(function()
131 local zr = ReplicatedStorage:WaitForChild("ZombieRemotes")
132 ZombieDamageRemote = zr:WaitForChild("ZombieDamage", 5)
133 end)
134 return ZombieDamageRemote ~= nil
135end
136EnsureZombieRemote()
137
138local function FireZombieDamage(zombieId, damage)
139 if not EnsureZombieRemote() then return end
140 local ok = pcall(function()
141 ZombieDamageRemote:FireServer(zombieId, damage)
142 end)
143 if not ok then
144 EnsureZombieRemote()
145 end
146end
147
148local Config = {
149
150 KillAuraEnabled = false,
151 KillAuraMode = "V1",
152 KillAuraRange = 5000,
153 KillAuraDamage = 999999999,
154 KillAuraV2Multiplier = 1,
155 AutoEquip = false,
156 AutoBuyWeapon = false,
157 AutoBuyHealth = false,
158 AutoBuyGear = false,
159 AutoSkipWave = false,
160
161 ZombieESP = false,
162 PlayerESP = false,
163 NoFog = false,
164 FullBright = false,
165
166 SpeedHack = false,
167 SpeedValue = 24,
168 JumpHack = false,
169 JumpValue = 100,
170 TPSafeGround = false,
171 TPSafeSky = false,
172 TPSafeZoneV2 = false,
173 Fly = false,
174 FlySpeed = 50,
175 Noclip = false,
176
177 AntiAFK = false,
178 FPSUncap = false,
179 FPSCap = 60,
180 FPSBooster = false,
181 DPIScale = 100,
182
183 SelectedGear = "AutoTurret",
184}
185
186local WeaponTier = {
187 Pistol = 1, ShotGun = 2, Rifle = 3,
188 Minigun = 4, Revolver = 5, DualPistols = 6,
189 SMG = 7, CombatShotgun = 8, BurstRifle = 9,
190 AK47 = 10, Sniper = 11, HeavyRifle = 12,
191 Flamethrower = 13, MP5 = 14, USPS = 15,
192 GoldenAK47 = 16, EmberSMG = 17, LavaRifle = 18,
193 CoreBreaker = 19, LavaBow = 20, InfernoMinigun = 21,
194 LavaGatling = 22, GumdropBlaster = 23, ArticStriker = 24,
195 GalacticWeaver = 25, WorldEnder = 26, TommyGun = 27,
196}
197
198local WeaponDamage = {
199 Pistol = 17, Revolver = 65, DualPistols = 35,
200 USPS = 50, ShotGun = 40, SMG = 12,
201 CombatShotgun = 55, MP5 = 20, Rifle = 60,
202 BurstRifle = 160, AK47 = 90, Sniper = 500,
203 TommyGun = 70, HeavyRifle = 155, Minigun = 13,
204 Flamethrower = 104, GrenadeLauncher = 600, GumdropBlaster = 750,
205 ArticStriker = 400, GoldenAK47 = 450, EmberSMG = 275,
206 LavaRifle = 523, CoreBreaker = 629, LavaBow = 2160,
207 InfernoMinigun = 364, LavaGatling = 880, GalacticWeaver = 800,
208 WorldEnder = 1440, RPG = 1000, Plasma = 1500,
209}
210
211local GunConfig = nil
212pcall(function()
213 local data = ReplicatedStorage:WaitForChild("Data")
214 GunConfig = require(data:WaitForChild("GunConfig"))
215end)
216
217local function GetToolDamage(tool)
218 if not tool then return 10 end
219 if GunConfig and GunConfig.Guns and GunConfig.Guns[tool.Name] then
220 return GunConfig.Guns[tool.Name].Damage
221 end
222 local attr = tool:GetAttribute("Damage")
223 if attr then return attr end
224 local val = tool:FindFirstChild("Damage")
225 if val and (val:IsA("NumberValue") or val:IsA("IntValue")) then
226 return val.Value
227 end
228 return WeaponDamage[tool.Name] or 10
229end
230
231local BestWeapon = nil
232local BestTier = -1
233
234local function ScanForBestWeapon(container)
235 if not container then return end
236 for _, item in ipairs(container:GetChildren()) do
237 if item:IsA("Tool") and item:FindFirstChild("Handle") then
238 local tier = WeaponTier[item.Name] or 0
239 if tier > BestTier then
240 BestTier = tier
241 BestWeapon = item
242 end
243 end
244 end
245end
246
247local function TryAutoEquip()
248 if not Config.AutoEquip then return end
249 BestTier = -1
250 BestWeapon = nil
251 ScanForBestWeapon(Character)
252 ScanForBestWeapon(LocalPlayer:FindFirstChild("Backpack"))
253 if BestWeapon and BestWeapon ~= Character:FindFirstChildOfClass("Tool") then
254 pcall(function()
255 Humanoid:EquipTool(BestWeapon)
256 end)
257 end
258end
259
260local function GetZombies()
261 local results = {}
262
263 local zc = _G.ZombieClient
264 if zc and zc.Zombies then
265 for id, data in pairs(zc.Zombies) do
266 if data and not data.IsDying then
267 local pos = data.CurrentPosition or data.TargetPosition
268 if pos then
269 table.insert(results, { id = id, pos = pos, data = data })
270 end
271 end
272 end
273 if #results > 0 then return results end
274 end
275
276 local folder = Workspace:FindFirstChild("Zombies_Local")
277 if folder then
278 for _, child in ipairs(folder:GetChildren()) do
279 if child:IsA("Model") and child.PrimaryPart then
280 local id = tonumber(child.Name:match("%d+$"))
281 or child:GetAttribute("ZombieId")
282 if id then
283 table.insert(results, { id = id, pos = child.PrimaryPart.Position, model = child })
284 end
285 end
286 end
287 if #results > 0 then return results end
288 end
289
290 for _, obj in ipairs(Workspace:GetDescendants()) do
291 if obj:IsA("Model") and obj.PrimaryPart then
292 local nameLow = obj.Name:lower()
293 if nameLow:find("zombie") then
294 local id = tonumber(obj.Name:match("%d+$"))
295 or obj:GetAttribute("ZombieId")
296 or obj:GetAttribute("Id")
297 if id then
298 local duplicate = false
299 for _, r in ipairs(results) do
300 if r.id == id then duplicate = true; break end
301 end
302 if not duplicate then
303 table.insert(results, { id = id, pos = obj.PrimaryPart.Position, model = obj })
304 end
305 end
306 end
307 end
308 end
309
310 return results
311end
312
313local KillCooldowns = {}
314local KILL_COOLDOWN = 0.15
315local KillAuraV2Active = false
316
317task.spawn(function()
318 while true do
319 task.wait(30)
320 local now = os.clock()
321 for id, t in pairs(KillCooldowns) do
322 if now - t > 10 then KillCooldowns[id] = nil end
323 end
324 end
325end)
326
327local function KillAuraV1()
328 if not Config.KillAuraEnabled or Config.KillAuraMode ~= "V1" then return end
329 if not EnsureZombieRemote() then return end
330 if not RootPart or not RootPart.Parent then
331 Character = LocalPlayer.Character
332 if Character then
333 RootPart = Character:FindFirstChild("HumanoidRootPart")
334 Humanoid = Character:FindFirstChild("Humanoid")
335 end
336 if not RootPart then return end
337 end
338 local myPos = RootPart.Position
339 local now = os.clock()
340 for _, zombie in ipairs(GetZombies()) do
341 if typeof(zombie.pos) == "Vector3" then
342 if (zombie.pos - myPos).Magnitude <= Config.KillAuraRange then
343 local id = zombie.id
344 if not KillCooldowns[id] or now - KillCooldowns[id] >= KILL_COOLDOWN then
345 KillCooldowns[id] = now
346 FireZombieDamage(id, Config.KillAuraDamage)
347 end
348 end
349 end
350 end
351end
352
353task.spawn(function()
354 while true do
355 task.wait(0.05)
356 if Config.KillAuraEnabled and Config.KillAuraMode == "V2" then
357 if not KillAuraV2Active then
358 Config.AutoEquip = true
359 TryAutoEquip()
360 KillAuraV2Active = true
361 end
362 if not EnsureZombieRemote() then continue end
363 if not Character or not Character.Parent or not Humanoid or not RootPart or not RootPart.Parent then
364 Character = LocalPlayer.Character
365 if Character then
366 Humanoid = Character:FindFirstChild("Humanoid")
367 RootPart = Character:FindFirstChild("HumanoidRootPart")
368 end
369 else
370 local tool = Character:FindFirstChildOfClass("Tool")
371 local damage = math.floor(GetToolDamage(tool) * Config.KillAuraV2Multiplier)
372 local now = os.clock()
373 for _, zombie in ipairs(GetZombies()) do
374 if typeof(zombie.pos) == "Vector3" then
375 local id = zombie.id
376 if not KillCooldowns[id] or now - KillCooldowns[id] >= KILL_COOLDOWN then
377 KillCooldowns[id] = now
378 FireZombieDamage(id, damage)
379 end
380 end
381 end
382 end
383 else
384 if KillAuraV2Active then KillAuraV2Active = false end
385 end
386 end
387end)
388
389local AutoBuyTimers = { Weapon = 0, Health = 0, Gear = 0 }
390local AutoBuyNotified = { Weapon = false, Health = false, Gear = false }
391
392local function Notify(title, desc, t)
393
394end
395
396local function AutoBuyTick()
397 local now = os.clock()
398
399 if Config.AutoBuyWeapon and now - AutoBuyTimers.Weapon > 0.5 then
400 AutoBuyTimers.Weapon = now
401 pcall(function() PurchaseWeaponUpgrade:FireServer() end)
402 if not AutoBuyNotified.Weapon then
403 AutoBuyNotified.Weapon = true
404 Notify("Auto Buy", "Weapon Upgrade is active", 2)
405 end
406 end
407 if not Config.AutoBuyWeapon then AutoBuyNotified.Weapon = false end
408
409 if Config.AutoBuyHealth and now - AutoBuyTimers.Health > 0.5 then
410 AutoBuyTimers.Health = now
411 pcall(function() PurchaseHealthUpgrade:FireServer() end)
412 if not AutoBuyNotified.Health then
413 AutoBuyNotified.Health = true
414 Notify("Auto Buy", "Health Upgrade is active", 2)
415 end
416 end
417 if not Config.AutoBuyHealth then AutoBuyNotified.Health = false end
418
419 if Config.AutoBuyGear and now - AutoBuyTimers.Gear > 0.3 then
420 AutoBuyTimers.Gear = now
421 pcall(function() GearPurchase:FireServer(Config.SelectedGear) end)
422 if not AutoBuyNotified.Gear then
423 AutoBuyNotified.Gear = true
424 Notify("Auto Buy", Config.SelectedGear .. " is active", 2)
425 end
426 end
427 if not Config.AutoBuyGear then AutoBuyNotified.Gear = false end
428end
429
430local SafeGroundCFrame = nil
431local SafeZoneV2CFrame = nil
432local SkyOrigPos = nil
433local SkyPlatform = nil
434
435local function UpdateSpeed()
436 if not Humanoid then return end
437 if Config.SpeedHack then
438 Humanoid.WalkSpeed = Config.SpeedValue
439 else
440 if Humanoid.WalkSpeed ~= DefaultWalkSpeed then
441 Humanoid.WalkSpeed = DefaultWalkSpeed
442 end
443 end
444 if Config.JumpHack then
445 if Humanoid.UseJumpPower then
446 Humanoid.JumpPower = Config.JumpValue
447 else
448 Humanoid.JumpHeight = Config.JumpValue / 7
449 end
450 else
451 if Humanoid.UseJumpPower then
452 if Humanoid.JumpPower ~= DefaultJumpPower then Humanoid.JumpPower = DefaultJumpPower end
453 else
454 if Humanoid.JumpHeight ~= DefaultJumpHeight then Humanoid.JumpHeight = DefaultJumpHeight end
455 end
456 end
457end
458
459local SafeGroundPos = Vector3.new(22.22, 4, -167.02)
460local function UpdateTPSafeGround()
461 if not RootPart then return end
462 if Config.TPSafeGround then
463 if not SafeGroundCFrame then
464 SafeGroundCFrame = RootPart.CFrame
465 RootPart.CFrame = CFrame.new(SafeGroundPos)
466 end
467 else
468 if SafeGroundCFrame then
469 RootPart.CFrame = SafeGroundCFrame
470 SafeGroundCFrame = nil
471 end
472 end
473end
474
475local SafeZoneV2Pos = Vector3.new(-340.99, 458.54, -321.69)
476local function UpdateTPSafeZoneV2()
477 if not RootPart then return end
478 if Config.TPSafeZoneV2 then
479 if not SafeZoneV2CFrame then
480 SafeZoneV2CFrame = RootPart.CFrame
481 RootPart.CFrame = CFrame.new(SafeZoneV2Pos)
482 end
483 else
484 if SafeZoneV2CFrame then
485 RootPart.CFrame = SafeZoneV2CFrame
486 SafeZoneV2CFrame = nil
487 end
488 end
489end
490
491local function UpdateTPSafeSky()
492 if not RootPart then return end
493 if Config.TPSafeSky then
494 if not SkyOrigPos then
495 SkyOrigPos = RootPart.Position
496 local skyY = SkyOrigPos.Y + 40
497 if not SkyPlatform then
498 SkyPlatform = Instance.new("Part")
499 SkyPlatform.Name = "SkyPlatform"
500 SkyPlatform.Size = Vector3.new(50, 2, 50)
501 SkyPlatform.Anchored = true
502 SkyPlatform.Transparency = 1
503 SkyPlatform.CanCollide = true
504 SkyPlatform.Position = Vector3.new(SkyOrigPos.X, skyY - SkyPlatform.Size.Y / 2, SkyOrigPos.Z)
505 SkyPlatform.Parent = Workspace
506 end
507 RootPart.CFrame = CFrame.new(SkyOrigPos.X, skyY + (Humanoid.HipHeight or RootPart.Size.Y / 2), SkyOrigPos.Z)
508 end
509 if SkyPlatform then
510 SkyPlatform.Position = Vector3.new(RootPart.Position.X, SkyPlatform.Position.Y, RootPart.Position.Z)
511 end
512 else
513 if SkyOrigPos then
514 RootPart.CFrame = CFrame.new(SkyOrigPos)
515 SkyOrigPos = nil
516 end
517 if SkyPlatform then SkyPlatform:Destroy(); SkyPlatform = nil end
518 end
519end
520
521local function UpdateNoclip()
522 if not Character or not Config.Noclip then return end
523 for _, part in ipairs(Character:GetDescendants()) do
524 if part:IsA("BasePart") then part.CanCollide = false end
525 end
526end
527
528local BodyGyro = nil
529local BodyVelocity = nil
530local MobileFlyGui = nil
531local MobileInput = { up = false, down = false }
532
533local function CreateMobileFlyButtons()
534 if MobileFlyGui then return end
535 local gui = Instance.new("ScreenGui")
536 gui.Name = "MobileFlyButtons"
537 gui.IgnoreGuiInset = true
538 gui.DisplayOrder = 10
539 gui.Parent = LocalPlayer:WaitForChild("PlayerGui")
540
541 local btnUp = Instance.new("TextButton")
542 btnUp.Size = UDim2.new(0, 80, 0, 80)
543 btnUp.Position = UDim2.new(1, -90, 0.5, -90)
544 btnUp.Text = "⬆ Fly Up"
545 btnUp.BackgroundColor3 = Color3.fromRGB(0, 170, 0)
546 btnUp.TextColor3 = Color3.new(1, 1, 1)
547 btnUp.BorderSizePixel = 0
548 btnUp.Parent = gui
549
550 local btnDown = Instance.new("TextButton")
551 btnDown.Size = UDim2.new(0, 80, 0, 80)
552 btnDown.Position = UDim2.new(1, -90, 0.5, 10)
553 btnDown.Text = "⬇ Fly Down"
554 btnDown.BackgroundColor3 = Color3.fromRGB(170, 0, 0)
555 btnDown.TextColor3 = Color3.new(1, 1, 1)
556 btnDown.BorderSizePixel = 0
557 btnDown.Parent = gui
558
559 btnUp.MouseButton1Down:Connect(function() MobileInput.up = true end)
560 btnUp.MouseButton1Up:Connect(function() MobileInput.up = false end)
561 btnDown.MouseButton1Down:Connect(function() MobileInput.down = true end)
562 btnDown.MouseButton1Up:Connect(function() MobileInput.down = false end)
563
564 MobileFlyGui = { gui = gui, input = MobileInput }
565end
566
567local function DestroyMobileFlyButtons()
568 if MobileFlyGui then
569 pcall(function() MobileFlyGui.gui:Destroy() end)
570 MobileFlyGui = nil
571 end
572end
573
574local function EnableFly()
575 if not RootPart then return end
576 Humanoid.PlatformStand = true
577 if not BodyGyro then
578 BodyGyro = Instance.new("BodyGyro")
579 BodyGyro.MaxTorque = Vector3.new(400000, 400000, 400000)
580 BodyGyro.P = 30000
581 BodyGyro.Parent = RootPart
582 end
583 if not BodyVelocity then
584 BodyVelocity = Instance.new("BodyVelocity")
585 BodyVelocity.MaxForce = Vector3.new(400000, 400000, 400000)
586 BodyVelocity.Velocity = Vector3.zero
587 BodyVelocity.Parent = RootPart
588 end
589 if UserInputService.TouchEnabled then
590 CreateMobileFlyButtons()
591 end
592end
593
594local function DisableFly()
595 if Humanoid then Humanoid.PlatformStand = false end
596 if BodyGyro then BodyGyro:Destroy(); BodyGyro = nil end
597 if BodyVelocity then BodyVelocity:Destroy(); BodyVelocity = nil end
598 DestroyMobileFlyButtons()
599end
600
601local function UpdateFlyVelocity()
602 if not BodyVelocity or not BodyGyro then return end
603 local cam = Workspace.CurrentCamera
604 if not cam then return end
605
606 local dir = Vector3.zero
607
608 if not UserInputService.TouchEnabled then
609
610 if UserInputService:IsKeyDown(Enum.KeyCode.W) then
611 dir = dir + cam.CFrame.LookVector
612 end
613 if UserInputService:IsKeyDown(Enum.KeyCode.S) then
614 dir = dir - cam.CFrame.LookVector
615 end
616 if UserInputService:IsKeyDown(Enum.KeyCode.D) then
617 dir = dir + cam.CFrame.RightVector
618 end
619 if UserInputService:IsKeyDown(Enum.KeyCode.A) then
620 dir = dir - cam.CFrame.RightVector
621 end
622 if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
623 dir = dir + Vector3.yAxis
624 end
625 if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
626 dir = dir - Vector3.yAxis
627 end
628 else
629
630 if Humanoid and Humanoid.MoveDirection.Magnitude > 0 then
631 local md = Humanoid.MoveDirection
632 dir = cam.CFrame.LookVector * md.Z + cam.CFrame.RightVector * md.X
633 end
634 if MobileFlyGui and MobileFlyGui.input.up then dir = dir + Vector3.yAxis end
635 if MobileFlyGui and MobileFlyGui.input.down then dir = dir - Vector3.yAxis end
636 end
637
638 if dir.Magnitude > 0 then
639 BodyVelocity.Velocity = dir.Unit * Config.FlySpeed
640 else
641 BodyVelocity.Velocity = Vector3.zero
642 end
643 BodyGyro.CFrame = cam.CFrame
644end
645
646local ESPObjects = {}
647
648local function ClearESP()
649 for _, gui in ipairs(ESPObjects) do
650 pcall(function() gui:Destroy() end)
651 end
652 ESPObjects = {}
653end
654
655local function RefreshESP()
656 ClearESP()
657 if Config.ZombieESP then
658 for _, zombie in ipairs(GetZombies()) do
659 if zombie.model and zombie.model.PrimaryPart then
660 local bb = Instance.new("BillboardGui")
661 bb.AlwaysOnTop = true
662 bb.Size = UDim2.new(0, 80, 0, 30)
663 bb.StudsOffset = Vector3.new(0, 2.5, 0)
664 bb.Parent = zombie.model.PrimaryPart
665 local lbl = Instance.new("TextLabel")
666 lbl.BackgroundTransparency = 1
667 lbl.Size = UDim2.new(1, 0, 1, 0)
668 lbl.TextColor3 = Color3.fromRGB(255, 60, 60)
669 lbl.TextStrokeTransparency = 0.5
670 lbl.Text = "Zombie"
671 lbl.Parent = bb
672 table.insert(ESPObjects, bb)
673 end
674 end
675 end
676 if Config.PlayerESP then
677 for _, plr in ipairs(Players:GetPlayers()) do
678 if plr ~= LocalPlayer and plr.Character then
679 local hrp = plr.Character:FindFirstChild("HumanoidRootPart")
680 if hrp then
681 local bb = Instance.new("BillboardGui")
682 bb.AlwaysOnTop = true
683 bb.Size = UDim2.new(0, 100, 0, 25)
684 bb.StudsOffset = Vector3.new(0, 3, 0)
685 bb.Parent = hrp
686 local lbl = Instance.new("TextLabel")
687 lbl.BackgroundTransparency = 1
688 lbl.Size = UDim2.new(1, 0, 1, 0)
689 lbl.TextColor3 = Color3.fromRGB(0, 255, 100)
690 lbl.TextStrokeTransparency = 0.5
691 lbl.Text = plr.Name
692 lbl.Parent = bb
693 table.insert(ESPObjects, bb)
694 end
695 end
696 end
697 end
698end
699
700local SavedLighting = {}
701
702local function SetFullBright(enabled)
703 if enabled then
704 if not SavedLighting.saved then
705 SavedLighting = {
706 Ambient = Lighting.Ambient,
707 Brightness = Lighting.Brightness,
708 OutdoorAmbient = Lighting.OutdoorAmbient,
709 ClockTime = Lighting.ClockTime,
710 GlobalShadows = Lighting.GlobalShadows,
711 saved = true,
712 }
713 end
714 Lighting.Ambient = Color3.fromRGB(255, 255, 255)
715 Lighting.Brightness = 3
716 Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255)
717 Lighting.ClockTime = 14
718 Lighting.GlobalShadows = false
719 if not Config.NoFog then
720 Lighting.FogEnd = 999999
721 Lighting.FogStart = 99999
722 end
723 else
724 if SavedLighting.saved then
725 Lighting.Ambient = SavedLighting.Ambient
726 Lighting.Brightness = SavedLighting.Brightness
727 Lighting.OutdoorAmbient = SavedLighting.OutdoorAmbient
728 Lighting.ClockTime = SavedLighting.ClockTime
729 Lighting.GlobalShadows = SavedLighting.GlobalShadows
730 SavedLighting.saved = false
731 end
732 if not Config.NoFog then
733 Lighting.FogEnd = 5000
734 Lighting.FogStart = 1000
735 end
736 end
737end
738
739local function SetNoFog(enabled)
740 if enabled then
741 Lighting.FogEnd = 999999
742 Lighting.FogStart = 99999
743 else
744 if not Config.FullBright then
745 Lighting.FogEnd = 5000
746 Lighting.FogStart = 1000
747 end
748 end
749end
750
751local function ApplyFPSSettings()
752 if Config.FPSUncap then
753 pcall(function() setfpscap(Config.FPSCap) end)
754 else
755 pcall(function() setfpscap(0) end)
756 end
757end
758
759local FPSBoostActive = false
760local FPSBoostSaved = {}
761local FPSBoostConn = nil
762
763local function EnableFPSBooster()
764 if FPSBoostActive then return end
765 FPSBoostActive = true
766
767 FPSBoostSaved.GlobalShadows = Lighting.GlobalShadows
768 FPSBoostSaved.Brightness = Lighting.Brightness
769 FPSBoostSaved.FogEnd = Lighting.FogEnd
770 pcall(function() FPSBoostSaved.TerrainDeco = Terrain.Decoration end)
771 pcall(function() FPSBoostSaved.WaterWaveSize = Terrain.WaterWaveSize end)
772 pcall(function() FPSBoostSaved.WaterWaveSpeed = Terrain.WaterWaveSpeed end)
773 pcall(function() FPSBoostSaved.WaterReflect = Terrain.WaterReflectance end)
774 pcall(function() FPSBoostSaved.WaterTransp = Terrain.WaterTransparency end)
775 pcall(function() FPSBoostSaved.QualityLevel = settings().rendering.QualityLevel end)
776
777 for _, obj in ipairs(Workspace:GetDescendants()) do
778 if obj:IsA("BasePart") then
779 pcall(function()
780 obj.Material = Enum.Material.SmoothPlastic
781 obj.Reflectance = 0
782 obj.CastShadow = false
783 end)
784 elseif obj:IsA("Decal") or obj:IsA("Texture") then
785 pcall(function() obj:Destroy() end)
786 end
787 end
788
789 for _, child in ipairs(Lighting:GetChildren()) do
790 if child:IsA("PostProcessEffect") then
791 pcall(function() child.Enabled = false end)
792 end
793 end
794
795 if Terrain then
796 pcall(function() Terrain.Decoration = false end)
797 pcall(function() Terrain.WaterWaveSize = 0 end)
798 pcall(function() Terrain.WaterWaveSpeed = 0 end)
799 pcall(function() Terrain.WaterReflectance = 0 end)
800 pcall(function() Terrain.WaterTransparency = 0 end)
801 end
802
803 local clouds = Workspace:FindFirstChild("Clouds")
804 if clouds then pcall(function() clouds:Destroy() end) end
805 for _, obj in ipairs(Workspace:GetDescendants()) do
806 if obj:IsA("ParticleEmitter") then
807 pcall(function() obj:Destroy() end)
808 end
809 end
810
811 pcall(function()
812 settings().physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Always
813 end)
814 pcall(function()
815 settings().rendering.QualityLevel = Enum.QualityLevel.Level1
816 end)
817
818 for _, obj in ipairs(Workspace:GetDescendants()) do
819 if obj:IsA("BasePart") then
820 pcall(function()
821 obj.Velocity = Vector3.zero
822 obj.RotVelocity = Vector3.zero
823 end)
824 end
825 end
826
827 Lighting.GlobalShadows = false
828 Lighting.Brightness = 3
829 Lighting.FogEnd = 9000000000
830
831 pcall(function()
832 if sethiddenproperty then
833 sethiddenproperty(Lighting, "Technology", Enum.Technology.Compatibility)
834 end
835 end)
836
837 FPSBoostConn = game.DescendantAdded:Connect(function(obj)
838 if not Config.FPSBooster then return end
839 if obj:IsA("BasePart") then
840 pcall(function()
841 obj.Material = Enum.Material.SmoothPlastic
842 obj.Reflectance = 0
843 obj.CastShadow = false
844 end)
845 elseif obj:IsA("Decal") then
846 pcall(function() obj:Destroy() end)
847 end
848 end)
849
850 Notify("FPS Booster", "Ultra FPS Boost enabled!", 2)
851end
852
853local function DisableFPSBooster()
854 if not FPSBoostActive then return end
855 FPSBoostActive = false
856
857 if FPSBoostConn then FPSBoostConn:Disconnect(); FPSBoostConn = nil end
858
859 pcall(function() Lighting.GlobalShadows = FPSBoostSaved.GlobalShadows end)
860 pcall(function() Lighting.Brightness = FPSBoostSaved.Brightness end)
861 pcall(function() Lighting.FogEnd = FPSBoostSaved.FogEnd end)
862
863 for _, child in ipairs(Lighting:GetChildren()) do
864 if child:IsA("PostProcessEffect") then
865 pcall(function() child.Enabled = true end)
866 end
867 end
868
869 if Terrain then
870 pcall(function() Terrain.Decoration = FPSBoostSaved.TerrainDeco end)
871 pcall(function() Terrain.WaterWaveSize = FPSBoostSaved.WaterWaveSize end)
872 pcall(function() Terrain.WaterWaveSpeed = FPSBoostSaved.WaterWaveSpeed end)
873 pcall(function() Terrain.WaterReflectance = FPSBoostSaved.WaterReflect end)
874 pcall(function() Terrain.WaterTransparency = FPSBoostSaved.WaterTransp end)
875 end
876
877 pcall(function()
878 settings().rendering.QualityLevel = FPSBoostSaved.QualityLevel
879 end)
880
881 Notify("FPS Booster", "Disabled - Settings restored", 2)
882end
883
884local AntiAFKIdledConn = nil
885local AntiAFKJumpTimer = 0
886local AntiAFKMoveTimer = 0
887local AntiAFKMoveDir = false
888
889local function SetupAntiAFK()
890 if AntiAFKIdledConn then AntiAFKIdledConn:Disconnect() end
891 AntiAFKIdledConn = LocalPlayer.Idled:Connect(function()
892 if Config.AntiAFK then
893 VirtualUser:CaptureController()
894 VirtualUser:ClickButton2(Vector2.new())
895 end
896 end)
897end
898SetupAntiAFK()
899
900local function AntiAFKTick()
901 if not Config.AntiAFK or Config.Fly then return end
902 if not Humanoid or Humanoid.Health <= 0 or not RootPart then return end
903 local now = os.clock()
904 if now - AntiAFKJumpTimer > 7 then
905 AntiAFKJumpTimer = now
906 pcall(function() Humanoid.Jump = true end)
907 end
908 if now - AntiAFKMoveTimer > 30 then
909 AntiAFKMoveTimer = now
910 AntiAFKMoveDir = not AntiAFKMoveDir
911 local dir = AntiAFKMoveDir and 1 or -1
912 pcall(function()
913 Humanoid:Move(Vector3.new(dir, 0, 0), true)
914 task.wait(0.1)
915 Humanoid:Move(Vector3.new(0, 0, 0), true)
916 end)
917 end
918end
919
920local BlackScreenGui = nil
921local function SetBlackScreen(enabled)
922 if enabled then
923 if not BlackScreenGui then
924 BlackScreenGui = Instance.new("ScreenGui", LocalPlayer.PlayerGui)
925 BlackScreenGui.Name = "BlackScreen"
926 BlackScreenGui.IgnoreGuiInset = true
927 BlackScreenGui.DisplayOrder = 2000000000
928 local frame = Instance.new("Frame", BlackScreenGui)
929 frame.BackgroundColor3 = Color3.new(0, 0, 0)
930 frame.Size = UDim2.new(1, 0, 1, 0)
931 frame.BorderSizePixel = 0
932 end
933 else
934 if BlackScreenGui then BlackScreenGui:Destroy(); BlackScreenGui = nil end
935 end
936end
937
938LocalPlayer.CharacterAdded:Connect(function(char)
939 Character = char
940 Humanoid = char:WaitForChild("Humanoid")
941 RootPart = char:WaitForChild("HumanoidRootPart")
942 DefaultWalkSpeed = Humanoid.WalkSpeed
943 DefaultJumpPower = Humanoid.JumpPower or 50
944 DefaultJumpHeight = Humanoid.JumpHeight or 7.2
945
946 Config.TPSafeGround = false; SafeGroundCFrame = nil
947 Config.TPSafeSky = false; SkyOrigPos = nil
948 Config.TPSafeZoneV2 = false; SafeZoneV2CFrame = nil
949 if SkyPlatform then SkyPlatform:Destroy(); SkyPlatform = nil end
950
951 AutoBuyNotified.Weapon = false
952 AutoBuyNotified.Health = false
953 AutoBuyNotified.Gear = false
954
955 DisableFly()
956 SetupAntiAFK()
957 if Config.FPSBooster then
958 task.wait(0.5)
959 EnableFPSBooster()
960 end
961end)
962
963local ESPTimer = 0
964local HeartbeatConn = RunService.Heartbeat:Connect(function()
965 KillAuraV1()
966 AutoBuyTick()
967 TryAutoEquip()
968 UpdateSpeed()
969 UpdateTPSafeGround()
970 UpdateTPSafeZoneV2()
971 UpdateTPSafeSky()
972 UpdateNoclip()
973 AntiAFKTick()
974
975 if Config.Fly then
976 EnableFly()
977 UpdateFlyVelocity()
978 else
979 DisableFly()
980 end
981
982 local now = os.clock()
983 if now - ESPTimer > 1 then
984 ESPTimer = now
985 if Config.ZombieESP or Config.PlayerESP then
986 RefreshESP()
987 else
988 ClearESP()
989 end
990 end
991end)
992
993local Library = loadstring(game:HttpGet(BASE_URL .. "Library.lua"))()
994local ThemeManager = loadstring(game:HttpGet(BASE_URL .. "addons/ThemeManager.lua"))()
995local SaveManager = loadstring(game:HttpGet(BASE_URL .. "addons/SaveManager.lua"))()
996loadstring(game:HttpGet("https://raw.githubusercontent.com/Black69Weeds/Scripts/main/Anticheat%20bypass.lua"))()
997
998Notify = function(title, desc, t)
999 Library:Notify({ Title = title, Description = desc, Time = t or 1.5 })
1000end
1001
1002Library.ForceCheckbox = false
1003Library.ShowToggleFrameInKeybinds = true
1004pcall(function() Library:SetDPIScale(Config.DPIScale) end)
1005
1006local loading2 = Library:CreateLoading({
1007 Title = "SyzenHub",
1008 Icon = 83889336114659,
1009 TotalSteps = 4,
1010})
1011loading2:SetMessage("Loading SyzenHub...")
1012loading2:SetDescription("Preparing your experience")
1013task.wait(0.3); loading2:SetCurrentStep(1); loading2:SetDescription("Loading modules...")
1014task.wait(0.3); loading2:SetCurrentStep(2); loading2:SetDescription("Applying settings...")
1015task.wait(0.3); loading2:SetCurrentStep(3); loading2:SetDescription("Almost ready!")
1016task.wait(0.3); loading2:SetCurrentStep(4); loading2:SetDescription("Welcome!")
1017task.wait(0.4); loading2:Continue()
1018
1019local Window = Library:CreateWindow({
1020 Title = "SyzenHub",
1021 Footer = "Survive Zombie Arena v1.3",
1022 Icon = 83889336114659,
1023 NotifySide = "Right",
1024 ShowCustomCursor = true,
1025 Center = true,
1026 AutoShow = true,
1027})
1028
1029local Tabs = {
1030 Main = Window:AddTab("Main", "zap", "Combat & automation"),
1031 Movement = Window:AddTab("Movement", "footprints","Speed, fly & teleports"),
1032 Visual = Window:AddTab("Visual", "eye", "ESP & world tweaks"),
1033 Config = Window:AddTab("Config", "settings", "Theme & save configs"),
1034}
1035
1036local CombatBox = Tabs.Main:AddLeftGroupbox("Kill Aura", "crosshair")
1037
1038CombatBox:AddToggle("KillAuraEnabled", {
1039 Text = "Kill Aura",
1040 Default = false,
1041 Tooltip = "Fire ZombieDamage remote on all zombies in range",
1042 Callback = function(v) Config.KillAuraEnabled = v end,
1043})
1044
1045CombatBox:AddDropdown("KillAuraMode", {
1046 Text = "Mode",
1047 Default = "V1",
1048 Values = { "V1", "V2" },
1049 Callback = function(v) Config.KillAuraMode = v end,
1050})
1051
1052CombatBox:AddSlider("KillAuraRange", {
1053 Text = "Range",
1054 Default = 5000,
1055 Min = 100,
1056 Max = 5000,
1057 Rounding = 0,
1058 Callback = function(v) Config.KillAuraRange = v end,
1059})
1060
1061CombatBox:AddDivider()
1062
1063CombatBox:AddSlider("KillAuraDamage", {
1064 Text = "Damage (V1)",
1065 Default = 999999999,
1066 Min = 1000,
1067 Max = 999999999,
1068 Rounding = 0,
1069 Callback = function(v) Config.KillAuraDamage = v end,
1070})
1071
1072CombatBox:AddSlider("KillAuraV2Multiplier", {
1073 Text = "Multiplier (V2)",
1074 Default = 1,
1075 Min = 1,
1076 Max = 100,
1077 Rounding = 1,
1078 Callback = function(v) Config.KillAuraV2Multiplier = v end,
1079})
1080
1081local AutoBox = Tabs.Main:AddRightGroupbox("Automation", "zap")
1082
1083AutoBox:AddToggle("AutoEquip", {
1084 Text = "Auto Equip",
1085 Default = false,
1086 Callback = function(v) Config.AutoEquip = v end,
1087})
1088
1089AutoBox:AddDivider()
1090
1091AutoBox:AddToggle("AutoBuyWeapon", {
1092 Text = "Auto Buy Weapon",
1093 Default = false,
1094 Callback = function(v)
1095 Config.AutoBuyWeapon = v
1096 if v then Notify("Auto Buy", "Weapon Upgrade enabled", 2) end
1097 end,
1098})
1099
1100AutoBox:AddToggle("AutoBuyHealth", {
1101 Text = "Auto Buy Health",
1102 Default = false,
1103 Callback = function(v)
1104 Config.AutoBuyHealth = v
1105 if v then Notify("Auto Buy", "Health Upgrade enabled", 2) end
1106 end,
1107})
1108
1109AutoBox:AddToggle("AutoBuyGear", {
1110 Text = "Auto Buy Gear",
1111 Default = false,
1112 Callback = function(v)
1113 Config.AutoBuyGear = v
1114 if v then Notify("Auto Buy", Config.SelectedGear .. " Gear enabled", 2) end
1115 end,
1116})
1117
1118AutoBox:AddDropdown("SelectedGear", {
1119 Text = "Gear Type",
1120 Default = "AutoTurret",
1121 Values = {
1122 "Landmine","LaserTurret","AutoTurret","Barricade","SteelBarricade",
1123 "FlamethrowerTurret","ShockwaveMine","HealingStation","MendingTower",
1124 "StimShot","Molotov","VanguardTurret","Cloak","Shuriken","BladeFury",
1125 "SoulHarvester","RaiseUndead","DeathNova","FragGrenade","Deadeye",
1126 "TargetMark","Drone","Spikes","Bunker",
1127 },
1128 Callback = function(v) Config.SelectedGear = v end,
1129})
1130
1131local MiscCombatBox = Tabs.Main:AddLeftGroupbox("Misc", "settings")
1132
1133MiscCombatBox:AddToggle("AutoSkipWave", {
1134 Text = "Auto Skip Wave",
1135 Default = false,
1136 Callback = function(v) Config.AutoSkipWave = v end,
1137})
1138
1139local SpeedBox = Tabs.Movement:AddLeftGroupbox("Speed & Jump", "footprints")
1140
1141SpeedBox:AddToggle("SpeedHack", {
1142 Text = "Speed Hack",
1143 Default = false,
1144 Callback = function(v) Config.SpeedHack = v end,
1145})
1146
1147SpeedBox:AddSlider("SpeedValue", {
1148 Text = "Walk Speed",
1149 Default = 24,
1150 Min = 16,
1151 Max = 200,
1152 Rounding = 0,
1153 Callback = function(v) Config.SpeedValue = v end,
1154})
1155
1156SpeedBox:AddToggle("JumpHack", {
1157 Text = "Jump Hack",
1158 Default = false,
1159 Callback = function(v) Config.JumpHack = v end,
1160})
1161
1162SpeedBox:AddSlider("JumpValue", {
1163 Text = "Jump Power",
1164 Default = 100,
1165 Min = 50,
1166 Max = 500,
1167 Rounding = 0,
1168 Callback = function(v) Config.JumpValue = v end,
1169})
1170
1171local FlyBox = Tabs.Movement:AddRightGroupbox("Fly & Noclip", "wind")
1172
1173FlyBox:AddToggle("Fly", {
1174 Text = "Fly",
1175 Default = false,
1176 Callback = function(v)
1177 Config.Fly = v
1178 if not v then DisableFly() end
1179 end,
1180})
1181
1182FlyBox:AddSlider("FlySpeed", {
1183 Text = "Fly Speed",
1184 Default = 50,
1185 Min = 10,
1186 Max = 200,
1187 Rounding = 0,
1188 Callback = function(v) Config.FlySpeed = v end,
1189})
1190
1191FlyBox:AddToggle("Noclip", {
1192 Text = "Noclip",
1193 Default = false,
1194 Callback = function(v) Config.Noclip = v end,
1195})
1196
1197local TPBox = Tabs.Movement:AddLeftGroupbox("Teleports", "map-pin")
1198
1199TPBox:AddToggle("TPSafeGround", {
1200 Text = "TP Safe Ground",
1201 Default = false,
1202 Callback = function(v) Config.TPSafeGround = v end,
1203})
1204
1205TPBox:AddToggle("TPSafeSky", {
1206 Text = "TP Safe Sky",
1207 Default = false,
1208 Callback = function(v)
1209 Config.TPSafeSky = v
1210 if not v then
1211 if SkyOrigPos and RootPart then RootPart.CFrame = CFrame.new(SkyOrigPos) end
1212 SkyOrigPos = nil
1213 if SkyPlatform then SkyPlatform:Destroy(); SkyPlatform = nil end
1214 end
1215 end,
1216})
1217
1218TPBox:AddToggle("TPSafeZoneV2", {
1219 Text = "TP Safe Zone V2",
1220 Default = false,
1221 Callback = function(v) Config.TPSafeZoneV2 = v end,
1222})
1223
1224local ESPBox = Tabs.Visual:AddLeftGroupbox("ESP", "eye")
1225
1226ESPBox:AddToggle("ZombieESP", {
1227 Text = "Zombie ESP",
1228 Default = false,
1229 Callback = function(v)
1230 Config.ZombieESP = v
1231 RefreshESP()
1232 end,
1233})
1234
1235ESPBox:AddToggle("PlayerESP", {
1236 Text = "Player ESP",
1237 Default = false,
1238 Callback = function(v)
1239 Config.PlayerESP = v
1240 RefreshESP()
1241 end,
1242})
1243
1244local WorldBox = Tabs.Visual:AddRightGroupbox("World", "sun")
1245
1246WorldBox:AddDivider()
1247WorldBox:AddLabel("Lighting & FPS")
1248
1249WorldBox:AddToggle("FPSUncap", {
1250 Text = "FPS Uncap",
1251 Default = false,
1252 Callback = function(v) Config.FPSUncap = v; ApplyFPSSettings() end,
1253})
1254
1255WorldBox:AddSlider("FPSCap", {
1256 Text = "FPS Cap",
1257 Default = 60,
1258 Min = 10,
1259 Max = 600,
1260 Rounding = 0,
1261 Callback = function(v)
1262 Config.FPSCap = v
1263 if Config.FPSUncap then ApplyFPSSettings() end
1264 end,
1265})
1266
1267local MiscBox = Tabs.Visual:AddLeftGroupbox("Misc", "settings")
1268
1269MiscBox:AddToggle("AntiAFK", {
1270 Text = "Anti AFK",
1271 Default = false,
1272 Callback = function(v)
1273 Config.AntiAFK = v
1274 if v then
1275 SetupAntiAFK()
1276 else
1277 if AntiAFKIdledConn then AntiAFKIdledConn:Disconnect() end
1278 end
1279 end,
1280})
1281
1282MiscBox:AddToggle("NoFog", {
1283 Text = "No Fog",
1284 Default = false,
1285 Callback = function(v) Config.NoFog = v; SetNoFog(v) end,
1286})
1287
1288MiscBox:AddToggle("FullBright", {
1289 Text = "Full Bright",
1290 Default = false,
1291 Callback = function(v) Config.FullBright = v; SetFullBright(v) end,
1292})
1293
1294MiscBox:AddToggle("FPSBooster", {
1295 Text = "FPS Booster",
1296 Default = false,
1297 Callback = function(v)
1298 Config.FPSBooster = v
1299 if v then EnableFPSBooster() else DisableFPSBooster() end
1300 end,
1301})
1302
1303ThemeManager:SetLibrary(Library)
1304pcall(function() ThemeManager:SetDefault("Fatality") end)
1305
1306SaveManager:SetLibrary(Library)
1307SaveManager:IgnoreThemeSettings()
1308SaveManager:SetIgnoreIndexes({ "KeyInput" })
1309SaveManager:SetFolder("SyzenHub")
1310SaveManager:BuildConfigSection(Tabs.Config)
1311SaveManager:ApplyToTab(Tabs.Config)
1312
1313ThemeManager:SetFolder("SyzenHub")
1314ThemeManager:BuildConfigSection(Tabs.Config)
1315ThemeManager:ApplyToTab(Tabs.Config)
1316
1317pcall(function() SaveManager:LoadAutoloadConfig() end)
1318
1319local SkipVoteTimer = 0
1320local SkipVoteHeartbeat = RunService.Heartbeat:Connect(function()
1321 if Config.AutoSkipWave and os.clock() - SkipVoteTimer > 5 then
1322 SkipVoteTimer = os.clock()
1323 pcall(function() SkipVote:FireServer(true) end)
1324 end
1325end)
1326
1327Library.OnUnload:Connect(function()
1328 HeartbeatConn:Disconnect()
1329 SkipVoteHeartbeat:Disconnect()
1330 if AntiAFKIdledConn then AntiAFKIdledConn:Disconnect() end
1331 if FPSBoostConn then FPSBoostConn:Disconnect() end
1332
1333 DisableFly()
1334 ClearESP()
1335 SetBlackScreen(false)
1336 DisableFPSBooster()
1337
1338 if Humanoid then
1339 Humanoid.WalkSpeed = DefaultWalkSpeed
1340 if Humanoid.UseJumpPower then
1341 Humanoid.JumpPower = DefaultJumpPower
1342 else
1343 Humanoid.JumpHeight = DefaultJumpHeight
1344 end
1345 end
1346 if RootPart then RootPart.Anchored = false end
1347 if SkyPlatform then SkyPlatform:Destroy(); SkyPlatform = nil end
1348
1349 SetFullBright(false)
1350 SetNoFog(false)
1351 Lighting.GlobalShadows = true
1352 Lighting.FogEnd = 5000
1353 Lighting.FogStart = 1000
1354
1355 pcall(function() setfpscap(0) end)
1356end)