Run it
Copy the script and paste it into your executor.
()
UserInputService = :()
hasTouchScreen = UserInputService.TouchEnabled
camera = .CurrentCamera
viewportSize = camera camera.ViewportSize .(, )
isSmallScreen = viewportSize.X <= viewportSize.Y <=
hasGyroscope = UserInputService.GyroscopeEnabled UserInputService.AccelerometerEnabled
noKeyboard = UserInputService.KeyboardEnabled
executorName = identifyexecutor ()
isMobileExecutor = executorName:():()
executorName:():()
executorName:():()
executorName:():()
isMobile = hasTouchScreen (noKeyboard isSmallScreen hasGyroscope isMobileExecutor)
hasTouchScreen isMobileExecutor
isMobile =
isMobile
isMobile = ()
executorName = identifyexecutor ()
()
( .. (isMobile ))
( .. executorName)
()
(url)
success, result
.HttpGet
success, result = (()
:(url)
)
success result
.request
success, result = (()
.({Url = url, Method = }).Body
)
success result
.request
success, result = (()
.({Url = url, Method = }).Body
)
success result
success, result = (()
({Url = url, Method = }).Body
)
success result
success, result = (()
({Url = url, Method = }).Body
)
success result
( .. url)
Rayfield
loadSuccess, loadError = (()
Rayfield = (())()
)
loadSuccess
()
(()
Rayfield = (())()
)
Rayfield
()
Players = :()
Workspace = :()
RunService = :()
ReplicatedStorage = :()
UserInputService = :()
LocalPlayer = Players.LocalPlayer
Config = {
ESP = {
Killer = ,
Survivor = ,
Generator = ,
Gate = ,
Hook = ,
Pallet = ,
Window = ,
Pumpkin = ,
ClosestHook = ,
ShowOnlyClosestHook = ,
ShowDistance = ,
MaxDistance =
},
AutoFeatures = {
AutoGenerator = ,
GeneratorMode = ,
AutoLeaveGenerator = ,
LeaveDistance = ,
LeaveKeybind = .KeyCode.Q,
AutoAttack = ,
AttackRange =
},
Teleportation = {
TeleportOffset = ,
SafeTeleport = ,
TeleportDelay =
},
Performance = {
UpdateRate = ,
UseDistanceCulling = ,
MaxESPObjects = isMobile ,
DisableParticles = ,
LowerGraphics = ,
DisableShadows = ,
ReduceRenderDistance =
},
Mobile = {
TouchControlsEnabled = isMobile,
ButtonSize = ,
ButtonTransparency = ,
AutoOptimize = ,
AggressiveOptimization =
}
}
Highlights = {}
BillboardGuis = {}
LastUpdate =
UpdateConnection =
LeaveGeneratorConnection =
AutoAttackConnection =
ClosestHookHighlight =
MobileUI =
FPSCounterEnabled =
FPSCounterUI =
(title, content, duration)
success = (()
Rayfield:({
Title = title,
Content = content,
Duration = duration ,
Image =
})
)
success
(.(, title, content))
(func, ...)
success, result = (func, ...)
success
result
(instance)
instance (instance) == instance.Parent ~=
()
LocalPlayer.Team LocalPlayer.Team.Name ==
()
LocalPlayer.Team LocalPlayer.Team.Name ==
()
isMobile
lighting = :()
= Workspace
(()
().Rendering.QualityLevel = .QualityLevel.Level01
lighting.GlobalShadows =
lighting.FogEnd =
lighting.Brightness =
_, effect (lighting:())
effect:()
effect.Enabled =
_, obj (:())
obj:()
obj.Enabled =
obj:()
obj.Enabled =
obj:()
obj.Enabled =
obj:() obj:() obj:()
obj.Enabled =
.StreamingEnabled =
.StreamingMinRadius =
.StreamingTargetRadius =
:()
.Terrain.Decoration =
:():()
)
()
isMobile
()
(()
= Workspace
().Rendering.QualityLevel = .QualityLevel.Level01
().Rendering.MeshPartDetailLevel = .MeshPartDetailLevel.Level01
().Rendering.EnableFRM =
_, obj (:())
obj:() obj:()
obj.Transparency =
obj:()
obj.Parent =
(()
_, sound (:())
sound:() sound.Name ~=
sound.Volume =
)
Config.Performance.UpdateRate =
Config.Performance.MaxESPObjects =
)
()
lighting = :()
= Workspace
Config.Performance.DisableParticles
(()
_, obj (:())
obj:() obj:() obj:()
obj.Enabled =
)
Config.Performance.LowerGraphics
(()
().Rendering.QualityLevel = .QualityLevel.Level01
)
Config.Performance.DisableShadows
(()
lighting.GlobalShadows =
lighting.FogEnd =
)
Config.Performance.ReduceRenderDistance
(()
.StreamingEnabled =
.StreamingMinRadius =
.StreamingTargetRadius =
)
()
lighting = :()
= Workspace
(()
_, obj (:())
obj:() obj:() obj:()
obj.Enabled =
().Rendering.QualityLevel = .QualityLevel.Automatic
lighting.GlobalShadows =
lighting.FogEnd =
_, effect (lighting:())
effect:()
effect.Enabled =
_, obj (:())
obj:() obj:()
obj.Transparency =
)
()
isMobile
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
leaveButton = .()
leaveButton.Name =
leaveButton.Size = .(, Config.Mobile.ButtonSize, , Config.Mobile.ButtonSize)
leaveButton.Position = .(, -, , -)
leaveButton.BackgroundColor3 = .(, , )
leaveButton.BackgroundTransparency = Config.Mobile.ButtonTransparency
leaveButton.Text =
leaveButton.TextColor3 = .(, , )
leaveButton.TextScaled =
leaveButton.Font = .Font.GothamBold
leaveButton.Parent = screenGui
leaveCorner = .()
leaveCorner.CornerRadius = .(, )
leaveCorner.Parent = leaveButton
leaveButton.MouseButton1Click:(()
()
)
tpButton = .()
tpButton.Name =
tpButton.Size = .(, Config.Mobile.ButtonSize, , Config.Mobile.ButtonSize)
tpButton.Position = .(, -, , )
tpButton.BackgroundColor3 = .(, , )
tpButton.BackgroundTransparency = Config.Mobile.ButtonTransparency
tpButton.Text =
tpButton.TextColor3 = .(, , )
tpButton.TextScaled =
tpButton.Font = .Font.GothamBold
tpButton.Parent = screenGui
tpCorner = .()
tpCorner.CornerRadius = .(, )
tpCorner.Parent = tpButton
tpButton.MouseButton1Click:(()
generators = ()
#generators >
(generators[].part.CFrame)
(, , )
)
success = (()
screenGui.Parent = LocalPlayer:()
)
success
(, , )
MobileUI = screenGui
()
FPSCounterUI
screenGui = .()
screenGui.Name =
screenGui.ResetOnSpawn =
screenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
frame = .()
frame.Name =
frame.Size = .(, , , )
frame.Position = .(, , , )
frame.BackgroundColor3 = .(, , )
frame.BackgroundTransparency =
frame.BorderSizePixel =
frame.Parent = screenGui
corner = .()
corner.CornerRadius = .(, )
corner.Parent = frame
fpsLabel = .()
fpsLabel.Name =
fpsLabel.Size = .(, , , )
fpsLabel.BackgroundTransparency =
fpsLabel.Text =
fpsLabel.TextColor3 = .(, , )
fpsLabel.TextStrokeTransparency =
fpsLabel.TextStrokeColor3 = .(, , )
fpsLabel.Font = .Font.GothamBold
fpsLabel.TextSize =
fpsLabel.Parent = frame
dragging =
dragInput, mousePos, framePos
frame.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
mousePos = input.Position
framePos = frame.Position
input.Changed:(()
input.UserInputState == .UserInputState.End
dragging =
)
)
frame.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch
dragInput = input
)
UserInputService.InputChanged:((input)
input == dragInput dragging
delta = input.Position - mousePos
frame.Position = .(
framePos.X.Scale,
framePos.X.Offset + delta.X,
framePos.Y.Scale,
framePos.Y.Offset + delta.Y
)
)
lastTime = ()
frameCount =
fps =
RunService.Heartbeat:(()
FPSCounterEnabled
frameCount = frameCount +
currentTime = ()
deltaTime = currentTime - lastTime
deltaTime >=
fps = .(frameCount / deltaTime)
frameCount =
lastTime = currentTime
fps >=
fpsLabel.TextColor3 = .(, , )
fps >=
fpsLabel.TextColor3 = .(, , )
fpsLabel.TextColor3 = .(, , )
fpsLabel.Text = .(, fps)
)
success = (()
screenGui.Parent = LocalPlayer:()
)
success
FPSCounterUI = screenGui
FPSCounterEnabled =
(, , )
()
FPSCounterUI
FPSCounterUI:()
FPSCounterUI =
FPSCounterEnabled =
()
LocalPlayer.Character
LocalPlayer.Character:()
()
hrp = ()
hrp ,
map = Workspace:()
map ,
nearestGen =
nearestDist = .huge
_, obj (map:())
obj:() obj.Name ==
genPart = obj:()
genPart
distance = (genPart.Position - hrp.Position).Magnitude
distance < nearestDist
nearestDist = distance
nearestGen = obj
nearestGen nearestDist <= Config.AutoFeatures.LeaveDistance
, nearestGen, nearestDist
, ,
()
hrp = ()
hrp
isNear, nearestGen, distance = ()
isNear
(, , )
genPart = nearestGen:()
genPart
direction = (hrp.Position - genPart.Position).Unit
escapeDistance = Config.AutoFeatures.LeaveDistance +
escapePosition = hrp.Position + (direction * escapeDistance)
escapeCFrame = .(escapePosition, escapePosition + hrp.CFrame.LookVector)
(escapeCFrame, .(, , ))
(, .(, escapeDistance), )
()
LeaveGeneratorConnection
isMobile
LeaveGeneratorConnection = UserInputService.InputBegan:((input, gameProcessed)
gameProcessed
input.KeyCode == Config.AutoFeatures.LeaveKeybind
()
)
(, .(, Config.AutoFeatures.LeaveKeybind.Name), )
(, , )
()
LeaveGeneratorConnection
LeaveGeneratorConnection:()
LeaveGeneratorConnection =
(, , )
()
() ,
hrp = ()
hrp ,
closestPlayer =
closestDist = .huge
_, player (Players:())
player ~= LocalPlayer player.Team player.Team.Name == player.Character
targetHRP = player.Character:()
targetHRP
dist = (targetHRP.Position - hrp.Position).Magnitude
dist < closestDist dist <= Config.AutoFeatures.AttackRange
closestDist = dist
closestPlayer = player
closestPlayer, closestDist
()
()
target, distance = ()
target
(()
remotes = ReplicatedStorage:()
remotes
attacks = remotes:()
attacks
basicAttack = attacks:()
basicAttack
basicAttack:()
)
()
AutoAttackConnection
()
(, , )
AutoAttackConnection = RunService.Heartbeat:(()
Config.AutoFeatures.AutoAttack
()
)
(, .(, Config.AutoFeatures.AttackRange), )
()
AutoAttackConnection
AutoAttackConnection:()
AutoAttackConnection =
(, , )
()
generators = {}
map = Workspace:()
map generators
_, obj (map:())
obj:() obj.Name ==
genPart = obj:()
genPart
.(generators, {
model = obj,
part = genPart,
position = genPart.Position
})
generators
()
hrp = ()
hrp {}
generators = ()
_, gen (generators)
gen.distance = (gen.position - hrp.Position).Magnitude
.(generators, (a, b)
a.distance < b.distance
)
generators
(targetCFrame, offset)
hrp = ()
hrp
(, , )
offset = offset .(, Config.Teleportation.TeleportOffset, )
Config.Teleportation.SafeTeleport
(()
_, part (LocalPlayer.Character:())
part:()
part.CanCollide =
)
hrp.CFrame = targetCFrame + offset
Config.Teleportation.SafeTeleport
.(, ()
(()
_, part (LocalPlayer.Character:())
part:() part.Name ~=
part.CanCollide =
)
)
(obj, color)
(obj)
obj:()
(()
h = .()
h.Name =
h.Adornee = obj
h.FillColor = color
h.OutlineColor = color
h.FillTransparency =
h.OutlineTransparency =
h.Parent = obj
Highlights[obj] = h
)
(obj)
Highlights[obj]
(()
(Highlights[obj])
Highlights[obj]:()
)
Highlights[obj] =
existingH = obj:()
existingH
existingH:()
(obj, text, color)
(obj)
LocalPlayer.Character LocalPlayer.Character:()
rootPart = obj:() obj:() (obj:() obj )
rootPart
playerRoot = LocalPlayer.Character.HumanoidRootPart
distance = (playerRoot.Position - rootPart.Position).Magnitude
Config.Performance.UseDistanceCulling distance > Config.ESP.MaxDistance
BillboardGuis[obj]
(()
(BillboardGuis[obj])
BillboardGuis[obj]:()
)
BillboardGuis[obj] =
BillboardGuis[obj] (BillboardGuis[obj])
textLabel = BillboardGuis[obj]:()
textLabel Config.ESP.ShowDistance
textLabel.Text = .(, text, distance)
textLabel
textLabel.Text = text
(()
billboard = .()
billboard.Size = .(, , , )
billboard.AlwaysOnTop =
billboard.StudsOffset = .(, , )
billboard.Adornee = rootPart
billboard.Parent = obj
textLabel = .()
textLabel.Size = .(, , , )
textLabel.BackgroundTransparency =
textLabel.TextColor3 = color
textLabel.TextStrokeColor3 = .(, , )
textLabel.TextStrokeTransparency =
textLabel.Font = .Font.GothamBold
textLabel.TextScaled =
textLabel.Text = Config.ESP.ShowDistance .(, text, distance) text
textLabel.Parent = billboard
BillboardGuis[obj] = billboard
)
(obj)
BillboardGuis[obj]
(()
(BillboardGuis[obj])
BillboardGuis[obj]:()
)
BillboardGuis[obj] =
()
obj, h (Highlights)
(obj)
obj, gui (BillboardGuis)
(obj)
Highlights = {}
BillboardGuis = {}
()
_, player (Players:())
player ~= LocalPlayer player.Character player.Team
teamName = player.Team.Name
teamName == Config.ESP.Killer
(player.Character, .(, , ))
(player.Character, player.Name .. , .(, , ))
teamName == Config.ESP.Survivor
(player.Character, .(, , ))
(player.Character, player.Name .. , .(, , ))
(player.Character)
(player.Character)
()
Config.ESP.Generator
(()
map = Workspace:()
map
_, obj (map:())
obj:() obj.Name ==
(obj, .(, , ))
(obj, , .(, , ))
)
()
Config.ESP.Gate
(()
map = Workspace:()
map
_, obj (map:())
obj:() obj.Name ==
(obj, .(, , ))
(obj, , .(, , ))
)
()
Config.ESP.Hook
(()
map = Workspace:()
map
Config.ESP.ShowOnlyClosestHook
hrp = ()
hrp
closestHook =
closestDist = .huge
_, obj (map:())
obj:() obj.Name ==
hookPart = obj:()
hookPart
dist = (hookPart.Position - hrp.Position).Magnitude
dist < closestDist
closestDist = dist
closestHook = obj
_, obj (map:())
obj:() obj.Name ==
(obj)
(obj)
closestHook
closestHook:()
_, part (closestHook.Model:())
part:()
(part, .(, , ))
(closestHook, , .(, , ))
_, obj (map:())
obj:() obj.Name ==
obj:()
_, part (obj.Model:())
part:()
(part, .(, , ))
(obj, , .(, , ))
)
()
Config.ESP.Pallet
(()
map = Workspace:()
map
_, obj (map:())
obj:() obj.Name ==
(obj, .(, , ))
(obj, , .(, , ))
)
()
Config.ESP.Window
(()
_, obj (Workspace:())
obj:() obj.Name ==
(obj, .(, , ))
(obj, , .(, , ))
)
()
Config.ESP.Pumpkin
(()
map = Workspace:()
map
pumpkins = map:()
pumpkins
_, obj (pumpkins:())
obj:() obj.Name:()
(obj, .(, , ))
(obj, , .(, , ))
)
()
currentTime = ()
currentTime - LastUpdate < Config.Performance.UpdateRate
LastUpdate = currentTime
espCount =
maxObjects = Config.Performance.MaxESPObjects
obj, h (Highlights)
(obj) (h)
Highlights[obj] =
espCount = espCount +
obj, gui (BillboardGuis)
(obj) (gui)
BillboardGuis[obj] =
espCount >= maxObjects
()
()
()
()
()
()
()
()
UpdateConnection
UpdateConnection = RunService.Heartbeat:(updateAllESP)
(, , )
()
UpdateConnection
UpdateConnection:()
UpdateConnection =
()
(, , )
Window = Rayfield:({
Name = ,
LoadingTitle = ,
LoadingSubtitle = .. (isMobile ),
ConfigurationSaving = {
Enabled = ,
FolderName = ,
FileName =
},
Discord = {
Enabled = ,
Invite = ,
RememberJoins =
},
KeySystem =
})
CreditsTab = Window:(, )
CreditsTab:()
CreditsTab:()
CreditsTab:()
CreditsTab:()
CreditsTab:()
CreditsTab:()
CreditsTab:()
CreditsTab:()
CreditsTab:({
Name = ,
Callback = ()
inviteLink =
success = (()
(inviteLink)
)
success
(, , )
(, , )
})
isMobile
CreditsTab:()
CreditsTab:()
CreditsTab:()
CreditsTab:()
CreditsTab:()
CreditsTab:( .. (isMobile ))
CreditsTab:( .. executorName)
CreditsTab:()
CreditsTab:()
CreditsTab:({
Title = ,
Content =
})
CreditsTab:({
Title = ,
Content =
})
ESPTab = Window:(, )
ESPTab:()
ESPTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.ESP.Killer = Value
Value
()
_, player (Players:())
player ~= LocalPlayer player.Character player.Team player.Team.Name ==
(player.Character)
(player.Character)
})
ESPTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.ESP.Survivor = Value
Value
()
_, player (Players:())
player ~= LocalPlayer player.Character player.Team player.Team.Name ==
(player.Character)
(player.Character)
})
ESPTab:()
ESPTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.ESP.Generator = Value
Value
()
map = Workspace:()
map
_, obj (map:())
obj:() obj.Name ==
(obj)
(obj)
})
ESPTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.ESP.Gate = Value
Value
()
})
ESPTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.ESP.Hook = Value
Value
()
map = Workspace:()
map
_, obj (map:())
obj:() obj.Name ==
(obj)
(obj)
})
ESPTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.ESP.ShowOnlyClosestHook = Value
map = Workspace:()
map
_, obj (map:())
obj:() obj.Name ==
(obj)
(obj)
Config.ESP.Hook
()
(, Value , )
})
ESPTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.ESP.Pallet = Value
Value
()
})
ESPTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.ESP.Window = Value
Value
()
})
ESPTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.ESP.Pumpkin = Value
Value
()
})
ESPTab:()
ESPTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.ESP.ShowDistance = Value
})
ESPTab:({
Name = ,
Range = {, },
Increment = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.ESP.MaxDistance = Value
})
ESPTab:({
Name = ,
Range = {, },
Increment = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Performance.UpdateRate = Value
})
ESPTab:({
Name = ,
Range = {, },
Increment = ,
CurrentValue = isMobile ,
Flag = ,
Callback = (Value)
Config.Performance.MaxESPObjects = Value
})
GameplayTab = Window:(, )
GameplayTab = Window:(, )
GameplayTab:()
GameplayTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.AutoFeatures.AutoGenerator = Value
Value
(, , )
(, , )
})
GameplayTab:({
Name = ,
Options = {, },
CurrentOption = ,
Flag = ,
Callback = (Option)
Option ==
Config.AutoFeatures.GeneratorMode =
Config.AutoFeatures.GeneratorMode =
})
GameplayTab:()
GameplayTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.AutoFeatures.AutoLeaveGenerator = Value
Value
()
()
})
isMobile
GameplayTab:({
Name = ,
Options = {, , , , , , , },
CurrentOption = ,
Flag = ,
Callback = (Option)
keyMap = {
[] = .KeyCode.Q,
[] = .KeyCode.E,
[] = .KeyCode.F,
[] = .KeyCode.G,
[] = .KeyCode.X,
[] = .KeyCode.Z,
[] = .KeyCode.V,
[] = .KeyCode.B
}
Config.AutoFeatures.LeaveKeybind = keyMap[Option]
Config.AutoFeatures.AutoLeaveGenerator
()
()
(, .. Option, )
})
GameplayTab:({
Name = ,
Range = {, },
Increment = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.AutoFeatures.LeaveDistance = Value
})
GameplayTab:({
Name = ,
Callback = ()
()
})
GameplayTab:()
GameplayTab:({
Name = ,
Callback = ()
map = Workspace:()
map
(, , )
completed =
(()
remotes = ReplicatedStorage:()
remotes
genRemotes = remotes:()
genRemotes
repairEvent = genRemotes:()
skillCheckEvent = genRemotes:()
repairEvent skillCheckEvent
_, obj (map:())
obj:() obj.Name ==
_, point (obj:())
point.Name:()
(()
i = ,
repairEvent:(point, )
skillCheckEvent:(, , obj, point)
completed = completed +
)
)
completed >
(, .(, completed), )
(, , )
})
GameplayTab:()
GameplayTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.AutoFeatures.AutoAttack = Value
Value
()
()
})
GameplayTab:({
Name = ,
Range = {, },
Increment = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.AutoFeatures.AttackRange = Value
})
GameplayTab:({
Name = ,
Callback = ()
(()
remotes = ReplicatedStorage:()
remotes
killerRemotes = remotes:()
killerRemotes
killerFolder = killerRemotes:()
killerFolder
activatePower = killerFolder:()
activatePower
activatePower:()
(, , )
)
})
GameplayTab:({
Name = ,
Callback = ()
(()
remotes = ReplicatedStorage:()
remotes
attacks = remotes:()
attacks
basicAttack = attacks:()
basicAttack
basicAttack:()
(, , )
)
})
TeleportTab = Window:(, )
TeleportTab = Window:(, )
TeleportTab:()
TeleportTab:({
Name = ,
Callback = ()
generators = ()
#generators ==
(, , )
closest = generators[]
(closest.part.CFrame)
(, .(, closest.distance), )
})
TeleportTab:({
Name = ,
Callback = ()
generators = ()
#generators ==
(, , )
farthest = generators[#generators]
(farthest.part.CFrame)
(, .(, farthest.distance), )
})
TeleportTab:({
Name = ,
Callback = ()
generators = ()
#generators ==
(, , )
(, .(, #generators), )
.(()
i, gen (generators)
()
(gen.part.CFrame)
( .. i, .(, i, #generators, gen.distance), )
.(Config.Teleportation.TeleportDelay)
(, , )
)
})
TeleportTab:({
Name = ,
Callback = ()
generators = ()
#generators ==
(, , )
()
()
i, gen (generators)
(.(,
i, gen.distance, (gen.position)))
()
(, .(, #generators), )
})
TeleportTab:()
TeleportTab:({
Name = ,
Callback = ()
hrp = ()
hrp
(, , )
map = Workspace:()
map
(, , )
nearestGate =
nearestDist = .huge
_, obj (map:())
obj:() obj.Name ==
gatePart = obj:()
gatePart
dist = (gatePart.Position - hrp.Position).Magnitude
dist < nearestDist
nearestGate = gatePart
nearestDist = dist
nearestGate
(nearestGate.CFrame)
(, .(, nearestDist), )
(, , )
})
TeleportTab:()
TeleportTab:({
Name = ,
Callback = ()
()
(, , )
hrp = ()
hrp
(, , )
map = Workspace:()
map
(, , )
gate =
_, obj (map:())
obj:() obj.Name ==
gate = obj
gate
(, , )
escapeZone = gate:() gate:()
escapeZone
(escapeZone.CFrame, .(, , ))
.()
(()
remotes = ReplicatedStorage:()
remotes
gateRemote = remotes:()
gateRemote
escapeEvent = gateRemote:()
escapeEvent
escapeEvent:()
)
(, , )
(, , )
})
TeleportTab:()
TeleportTab:({
Name = ,
Range = {, },
Increment = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Teleportation.TeleportOffset = Value
})
TeleportTab:({
Name = ,
Range = {, },
Increment = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Teleportation.TeleportDelay = Value
})
TeleportTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Teleportation.SafeTeleport = Value
})
SettingsTab = Window:(, )
SettingsTab = Window:(, )
SettingsTab:()
SettingsTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Performance.DisableParticles = Value
()
(, Value , )
})
SettingsTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Performance.LowerGraphics = Value
()
(, Value , )
})
SettingsTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Performance.DisableShadows = Value
()
(, Value , )
})
SettingsTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Performance.ReduceRenderDistance = Value
()
(, Value , )
})
SettingsTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Performance.UseDistanceCulling = Value
(, Value , )
})
SettingsTab:({
Name = ,
Callback = ()
Config.Performance.DisableParticles =
Config.Performance.LowerGraphics =
Config.Performance.DisableShadows =
Config.Performance.ReduceRenderDistance =
Config.Performance.UseDistanceCulling =
()
(, , )
})
SettingsTab:({
Name = ,
Callback = ()
Config.Performance.DisableParticles =
Config.Performance.LowerGraphics =
Config.Performance.DisableShadows =
Config.Performance.ReduceRenderDistance =
()
(, , )
})
isMobile
SettingsTab:()
SettingsTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Mobile.TouchControlsEnabled = Value
Value MobileUI
()
Value MobileUI
MobileUI:()
MobileUI =
})
SettingsTab:({
Name = ,
Range = {, },
Increment = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Mobile.ButtonSize = Value
MobileUI
MobileUI:()
()
})
SettingsTab:({
Name = ,
Range = {, },
Increment = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Mobile.ButtonTransparency = Value
MobileUI
_, button (MobileUI:())
button:()
button.BackgroundTransparency = Value
})
SettingsTab:()
SettingsTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Mobile.AutoOptimize = Value
Value
()
(, , )
()
(, , )
})
SettingsTab:({
Name = ,
CurrentValue = ,
Flag = ,
Callback = (Value)
Config.Mobile.AggressiveOptimization = Value
if Value then
applyAggressiveMobileOptimizations()
notify("ULTRA MODE", "Maximum FPS boost! (Lower graphics)", 4)
else
resetPerformanceSettings()
if Config.Mobile.AutoOptimize then
applyMobileOptimizations()
end
notify("ULTRA MODE", "Disabled - Graphics restored", 2)
end
end
})
SettingsTab:CreateButton({
Name = "🚀 Apply All Mobile Optimizations NOW",
Callback = function()
Config.Performance.DisableParticles = true
Config.Performance.LowerGraphics = true
Config.Performance.DisableShadows = true
Config.Performance.ReduceRenderDistance = true
Config.Performance.UseDistanceCulling = true
Config.Performance.UpdateRate = 1.0
Config.Performance.MaxESPObjects = 25
applyAggressiveMobileOptimizations()
notify("ALL OPTIMIZATIONS", "Maximum mobile performance applied! 🚀", 5)
end
})
SettingsTab:CreateButton({
Name = "Reset All Optimizations",
Callback = function()
Config.Performance.DisableParticles = false
Config.Performance.LowerGraphics = false
Config.Performance.DisableShadows = false
Config.Performance.ReduceRenderDistance = false
Config.Performance.UpdateRate = 0.5
Config.Performance.MaxESPObjects = 50
Config.Mobile.AutoOptimize = false
Config.Mobile.AggressiveOptimization = false
resetPerformanceSettings()
notify("Reset Complete", "All settings restored to default", 3)
end
})
end
SettingsTab:CreateSection("Display Options")
SettingsTab:CreateToggle({
Name = "Show FPS Counter",
CurrentValue = false,
Flag = "FPSCounter",
Callback = function(Value)
if Value then
createFPSCounter()
else
removeFPSCounter()
notify("FPS Counter", "Disabled", 2)
end
end
})
SettingsTab:CreateSection("Script Controls")
SettingsTab:CreateButton({
Name = "Clear All ESP",
Callback = function()
clearAllESP()
notify("Cleared", "All ESP cleared", 2)
end
})
SettingsTab:CreateButton({
Name = "Refresh ESP",
Callback = function()
clearAllESP()
updateAllESP()
notify("Refreshed", "ESP refreshed", 2)
end
})
SettingsTab:CreateButton({
Name = "Unload Script",
Callback = function()
stopESP()
clearAllESP()
stopAutoLeaveGenerator()
stopAutoAttack()
resetPerformanceSettings()
removeFPSCounter()
if MobileUI then
MobileUI:Destroy()
end
Rayfield:Destroy()
notify("Unloaded", "Script unloaded", 2)
end
})
task.spawn(function()
while task.wait(0.2) do
if Config.AutoFeatures.AutoGenerator then
safeCall(function()
local remotes = ReplicatedStorage:FindFirstChild("Remotes")
if not remotes then return end
local genRemotes = remotes:FindFirstChild("Generator")
if not genRemotes then return end
local repairEvent = genRemotes:FindFirstChild("RepairEvent")
local skillCheckEvent = genRemotes:FindFirstChild("SkillCheckResultEvent")
if not repairEvent or not skillCheckEvent then return end
local map = Workspace:FindFirstChild("Map")
if not map then return end
for _, obj in ipairs(map:GetDescendants()) do
if obj:IsA("Model") and obj.Name == "Generator" then
for _, point in ipairs(obj:GetChildren()) do
if point.Name:find("GeneratorPoint") then
pcall(function()
repairEvent:FireServer(point, true)
local result = Config.AutoFeatures.GeneratorMode == "great" and "success" or "neutral"
local value = Config.AutoFeatures.GeneratorMode == "great" and 1 or 0
skillCheckEvent:FireServer(result, value, obj, point)
end)
end
end
end
end
end)
end
end
end)
if isMobile then
task.wait(1)
createMobileControls()
if Config.Mobile.AutoOptimize then
task.wait(0.5)
applyMobileOptimizations()
notify("Mobile Mode", "Auto-optimizations applied for better FPS!", 4)
end
end
notify("Script Loaded!", "Violence District v2.2 by goldgoldgoldblazn", 4)
print("=== Violence District Golds Easy Hub v2.2 ===")
print("Developer: goldgoldgoldblazn")
print("Discord: https://discord.gg/CnNqEVFxh6")
print("Platform: " .. (isMobile and "Mobile" or "PC"))
print("Executor: " .. executorName)
print("")
print("v2.2 Changes:")
print("- ✅ Fixed Delta executor compatibility")
print("- ✅ Fixed KRNL execution issues")
print("- ✅ Added mobile/touch controls")
print("- ✅ Better HTTP request handling")
print("- ✅ iOS/Android support")
print("- ✅ Performance optimizations for mobile")
print("- ✅ Fixed notification errors")
print("- ✅ Disabled config saving to prevent errors")
print("=========================================")
Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: sirius.menu, raw.githubusercontent.com, discord.gg.
Violence District UPDATED!! — Gold’s Easy Hub Script v2.2 (Mobile Compatible) Now Supports: Delta, KRNL, Fluxus, Arceus X, and other mobile executors Fixed Issues: ✅ Improved Delta executor compatibility ✅ Added KRNL executor support ✅ Enhanced mobile/iOS/Android compatibility ✅ Added touch controls for mobile users ✅ Improved error handling ✅ Implemented fallback loading system My username is provided in credits or here. If you need or want to add me, here is my Discord Username: "goldgoldgoldblazn." And for support, feature suggestions, or bug reports, join my Discord server!! FEATURES: Features: ESP! FPS boost options! Auto attack! (Killer only) Escape to gate instantly! Many teleport features! Auto generator! Keyless Open source Mobile support Krnl support Verified Delta support. - Working Player ESP (Killer/Survivor detection via Teams) - Working Object ESP (Generators, Hooks, Pallets, Windows, Gates, Pumpkins) - Working Auto-Generator with correct remotes - Better and Customizable Teleportation System (Nearest/Farthest/All Generators) - Killer powers and actions (No Bypass involved fyi) - Performance options for users with bad PCs/Phones or if the script l
Stay safe
Never paste your .ROBLOSECURITY cookie anywhere, and use an alt account with scripts.

Universal