19,556 views
Description
This is an open source driving empire script with no keys and also xeno supports it.
Features
- + + Anti-AFK
- + + Server Hop+ Speed Hack (Legit / HVH / Normal / CFrame modes)
- + + Fly Mode
- + + ESP System:
- + • Enable ESP
- + • Players (Neutral)
- + • Police (Security)
- + • Criminals
- + • Boxes 2D
- + • Tracers
- + • Skeletons
- + • Names & Distance
- + • Line Thickness
- + + Job Switcher:
- + • Police Job (Join/Leave)
- + • Criminal Job (Join/Leave)
- + • Current Role Status
- + + Vehicle Stats & Mods:
- + • Current Model
- + • Status (Driving / Outside)
- + • Parts Detected
- + • Current Speed (SPS)
- + • Vehicle RGB (Rainbow)
- + • Custom Physics Modifier
- + • Acceleration Power
- + • Brake Force
- + + Live Statistics:
- + • Local Player Attributes
- + • Live Criminal Stats
- + • Server Online Players (Police / Criminals / Citizens / Total)
- + + ATM Auto Farm
if _G.XenoLoaded then
return
end
_G.XenoLoaded = true
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local PathfindingService = game:GetService("PathfindingService")
local VirtualUser = game:GetService("VirtualUser")
local LocalPlayer = game.Players.LocalPlayer
-- Remotes
local remotes = ReplicatedStorage:WaitForChild("Remotes")
local bustStart = remotes:WaitForChild("AttemptATMBustStart")
local bustEnd = remotes:WaitForChild("AttemptATMBustComplete")
local RemoteStart = remotes:WaitForChild("RequestStartJobSession")
local RemoteEnd = remotes:WaitForChild("RequestEndJobSession")
local antiAfkConnection
local function ExecuteServerHop()
local HttpService = game:GetService("HttpService")
local TeleportService = game:GetService("TeleportService")
local PlaceID = game.PlaceId
-- KOLEJKOWANIE (Tylko tu, tuż przed teleportem)
local qot = syn and syn.queue_on_teleport or queue_on_teleport or (fluxus and fluxus.queue_on_teleport)
if qot then
qot([[
repeat task.wait() until game:IsLoaded()
loadstring(game:HttpGet("https://raw.githubusercontent.com/xxCichyxx/rbxscripts/refs/heads/main/DrivingEmpireXeno.lua"))()
]])
end
local success = false
local attempts = 0
while not success and attempts < 10 do
attempts = attempts + 1
local url = 'https://games.roblox.com/v1/games/' .. PlaceID .. '/servers/Public?sortOrder=Desc&limit=100'
local pcall_success, response = pcall(function()
return HttpService:JSONDecode(game:HttpGet(url))
end)
if pcall_success and response and response.data then
local candidates = {}
for _, server in pairs(response.data) do
if server.id ~= game.JobId and tonumber(server.playing) < tonumber(server.maxPlayers) then
table.insert(candidates, server)
end
end
table.sort(candidates, function(a, b) return a.playing < b.playing end)
if #candidates > 0 then
local range = math.min(5, #candidates)
local target = candidates[math.random(1, range)]
pcall(function()
TeleportService:TeleportToPlaceInstance(PlaceID, target.id, game.Players.LocalPlayer)
success = true
end)
end
end
if not success then task.wait(1.5) end
end
end
-- Ustawienia domyślne (Zmienne globalne)
_G.SpeedEnabled = false
_G.SpeedMode = "Legit"
_G.SpeedValue = 16
local Window = Rayfield:CreateWindow({
Name = "Driving Empire🏎️ Car Racing",
Icon = "car",
LoadingTitle = "Driving Empire🏎️",
LoadingSubtitle = "by XenoScriptsPL",
ConfigurationSaving = {
Enabled = true,
FolderName = "DrivingEmpireScripts",
FileName = "DrivingEmpireHub"
},
})
-- Zakładki
local TabPlayer = Window:CreateTab("Player", "user")
local TabVehicle = Window:CreateTab("Vehicle", "car-front")
local TabFarm = Window:CreateTab("Farms", "tractor")
local TabStats = Window:CreateTab("Statistics", "bar-chart-2")
local TabVisuals = Window:CreateTab("Visuals", "eye")
local TabJobs = Window:CreateTab("Jobs", "briefcase")
local TabTest = Window:CreateTab("Test", "user")
-- SEKCJA PLAYER
local function GetMyVehicle()
local folder = workspace:FindFirstChild("Vehicles")
if not folder then return nil end
for _, veh in pairs(folder:GetChildren()) do
local owner = veh:FindFirstChild("Owner")
if owner and owner.Value == LocalPlayer.Name then
return veh
end
end
return nil
end
local SelectedPlayerName = nil
local PlayerDropdown
local function getPlayerNames()
local names = {}
for _, player in pairs(Players:GetPlayers()) do
if player ~= LocalPlayer then -- Nie dodajemy siebie do listy
table.insert(names, player.Name)
end
end
return names
end
local TeleportSection = TabPlayer:CreateSection("General")
TabPlayer:CreateToggle({
Name = "Anti-AFK",
CurrentValue = false,
Flag = "AntiAfkToggle",
Callback = function(Value)
if Value then
-- Włączanie Anti-AFK
if antiAfkConnection then antiAfkConnection:Disconnect() end
antiAfkConnection = LocalPlayer.Idled:Connect(function()
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.new(), workspace.CurrentCamera.CFrame)
end)
Rayfield:Notify({Title = "Player Settings", Content = "Anti-AFK został aktywowany!", Duration = 3})
else
-- Wyłączanie Anti-AFK
if antiAfkConnection then
antiAfkConnection:Disconnect()
antiAfkConnection = nil
end
Rayfield:Notify({Title = "Player Settings", Content = "Anti-AFK został wyłączony.", Duration = 3})
end
end,
})
TabPlayer:CreateButton({
Name = "🚀 Server Hop",
Callback = function()
Rayfield:Notify({Title = "Server Hop", Content = "Szukanie serwera...", Duration = 3})
ExecuteServerHop()
end,
})
-- =============================================================================
-- KONFIGURACJA I ZMIENNE
-- =============================================================================
local BypassActive = false
local HookInstalled = false
local BlockCount = 0
local TargetRemotes = {
["StarwatchClientEventIngestor"] = true, ["_network"] = true,
["rsp"] = true, ["rps"] = true, ["rsi"] = true, ["rs"] = true, ["rsw"] = true,
["ptsstop"] = true, ["ptsstart"] = true, ["SdkTelemetryRemote"] = true,
["TeleportInfo"] = true, ["SendLogString"] = true, ["GetClientLogs"] = true,
["GetClientFPS"] = true, ["GetClientPing"] = true, ["GetClientMemoryUsage"] = true,
["GetClientPerformanceStats"] = true, ["GetClientReport"] = true,
["RepBL"] = true, ["UnauthorizedTeleport"] = true, ["ClientDetectedSoftlock"] = true,
["loadTime"] = true, ["InformLoadingEventFunnel"] = true, ["InformGeneralEventFunnel"] = true
}
local BypassLabel = TabPlayer:CreateLabel("Bypass: System Uzbrojony (Czekam na aktywację)")
-- =============================================================================
-- 1. INSTALACJA NATYCHMIASTOWA (EARLY HOOK)
-- =============================================================================
local function InstallEarlyHook()
if HookInstalled then return end
local success, err = pcall(function()
local oldNamecall
oldNamecall = hookmetamethod(game, "__namecall", function(self, ...)
local method = getnamecallmethod()
local args = {...}
if BypassActive and (method == "FireServer" or method == "InvokeServer") then
local remoteName = tostring(self)
-- [LOGIKA BLOKOWANIA]
local shouldBlock = false
-- A. Sprawdzanie czarnej listy nazw
if TargetRemotes[remoteName] then
shouldBlock = true
end
-- B. Sprawdzanie dynamicznych ID (Naprawiony wzorzec: 8 znaków hex + myślnik)
-- Zapobiega to blokowaniu "Attempt" i "Capture"
if not shouldBlock and string.match(remoteName, "^%x%x%x%x%x%x%x%x%-") then
shouldBlock = true
end
-- C. Blokada specyficzna: Location -> Boats
if not shouldBlock and remoteName == "Location" and args[1] == "Enter" and args[2] == "Boats" then
shouldBlock = true
end
-- [WYKONANIE BLOKADY]
if shouldBlock then
BlockCount = BlockCount + 1
return nil
end
end
return oldNamecall(self, ...)
end)
end)
if success then
HookInstalled = true
print("[BYPASS] Hook zainstalowany pomyślnie.")
else
warn("[BYPASS] Błąd krytyczny: " .. tostring(err))
end
end
InstallEarlyHook()
-- =============================================================================
-- 3. PĘTLA MONITORUJĄCA I SYNCHRONIZUJĄCA
-- =============================================================================
task.spawn(function()
while true do
if BypassActive then
local remotesFolder = game:GetService("ReplicatedStorage"):FindFirstChild("Remotes")
if remotesFolder then
BypassLabel:Set("Status: 🔒 AKTYWNY ("..BlockCount.." zablokowanych)")
local children = remotesFolder:GetChildren()
for _, remote in ipairs(children) do
local n = remote.Name
-- Automatyczne dodawanie nowych GUIDów do listy (z bezpiecznym wzorcem)
if string.match(n, "^%x%x%x%x%x%x%x%x%-") and not TargetRemotes[n] then
TargetRemotes[n] = true
end
end
else
BypassLabel:Set("Status: ⏳ Oczekiwanie na silnik gry...")
end
else
BypassLabel:Set("Status: 💤 Wyłączony")
end
task.wait(2)
end
end)
-- =============================================================================
-- 4. TOGGLE
-- =============================================================================
TabPlayer:CreateToggle({
Name = "Bypass Monitor Events Exe LvL 8",
CurrentValue = false,
Flag = "BypassToggle",
Callback = function(Value)
BypassActive = Value
if Value then
BlockCount = 0
Rayfield:Notify({
Title = "Bypass Aktywny",
Content = "Blokowanie logów, rsp/rps i łodzi aktywne.",
Duration = 3,
Image = 4483362458,
})
else
BypassLabel:Set("Status: 💤 Wyłączony")
end
end,
})
local TeleportSection = TabPlayer:CreateSection("Player Teleport")
-- Zmienna przechowująca wybranego gracza
local SelectedPlayerName = nil
-- 1. DROPDOWN (Wybór gracza)
local PlayerDropdown = TabPlayer:CreateDropdown({
Name = "Select Player",
Options = getPlayerNames(),
CurrentOption = "",
MultipleOptions = false,
Flag = "TargetPlayerDropdown",
Callback = function(Option)
SelectedPlayerName = Option[1]
end,
})
-- 2. PRZYCISK ODŚWIEŻANIA (Manualny)
TabPlayer:CreateButton({
Name = "Refresh Player List",
Callback = function()
if PlayerDropdown then
local names = getPlayerNames()
PlayerDropdown:Set(names)
Rayfield:Notify({
Title = "List Updated",
Content = "Found " .. #names .. " players in Workspace.",
Duration = 3
})
end
end,
})
TabPlayer:CreateButton({
Name = "Teleport To Player",
Callback = function()
if not SelectedPlayerName then return end
local targetPlayer = Players:FindFirstChild(SelectedPlayerName)
if not targetPlayer or not targetPlayer.Character then return end
-- ODCZYT WORLD PIVOT (Niezależnie od tego czy gracz jest w aucie czy nie)
-- GetPivot() zwraca CFrame całego modelu z Workspace
local targetPivot = targetPlayer.Character:GetPivot()
local destCFrame = targetPivot * CFrame.new(0, 8, 0) -- 8 studów nad cel
local myVeh = GetMyVehicle()
local isDriving = myVeh and myVeh:FindFirstChild("Driver") and myVeh.Driver.Value == LocalPlayer
if isDriving and myVeh then
-- --- TELEPORTACJA POJAZDU ---
local allParts = {}
for _, p in pairs(myVeh:GetDescendants()) do
if p:IsA("BasePart") then table.insert(allParts, p) end
end
-- Pivot pojazdu jako punkt odniesienia
local currentVehPivot = myVeh:GetPivot()
-- Zamrożenie
for _, p in pairs(allParts) do p.Anchored = true end
-- Przesunięcie całego modelu auta do pozycji docelowej
-- Używamy PivotTo, aby zachować strukturę auta
myVeh:PivotTo(destCFrame)
task.wait(0.2)
-- Odmrożenie i czyszczenie fizyki
for _, p in pairs(allParts) do
p.AssemblyLinearVelocity = Vector3.new(0,0,0)
p.AssemblyAngularVelocity = Vector3.new(0,0,0)
p.Anchored = false
end
else
-- --- TELEPORTACJA GRACZA ---
if LocalPlayer.Character then
LocalPlayer.Character:PivotTo(destCFrame)
end
end
end,
})
local PlayerSection = TabPlayer:CreateSection("Movement Settings")
TabPlayer:CreateToggle({
Name = "Speed",
CurrentValue = false,
Flag = "SpeedToggle",
Callback = function(Value)
_G.SpeedEnabled = Value
-- Reset WalkSpeed do normalnej wartości przy wyłączeniu
if not Value then
pcall(function() LocalPlayer.Character.Humanoid.WalkSpeed = 16 end)
end
end,
})
TabPlayer:CreateDropdown({
Name = "Speed Mode",
Options = {"Legit", "HVH", "Normal", "CFrame"},
CurrentOption = {"Legit"},
MultipleOptions = false,
Flag = "SpeedMode",
Callback = function(Options)
_G.SpeedMode = Options[1]
end,
})
TabPlayer:CreateSlider({
Name = "Custom Speed",
Range = {0, 300},
Increment = 1,
Suffix = " Studs",
CurrentValue = 16,
Flag = "SpeedValue",
Callback = function(Value)
_G.SpeedValue = Value
end,
})
-- FUNKCJA SPRAWDZAJĄCA RUCH
local function isMoving()
local character = LocalPlayer.Character
local camera = workspace.CurrentCamera
if not character or not character:FindFirstChild("HumanoidRootPart") then
return false, Vector3.new()
end
local moveDirection = camera.CFrame.LookVector
moveDirection = Vector3.new(moveDirection.X, 0, moveDirection.Z)
if moveDirection.Magnitude > 0 then
moveDirection = moveDirection.Unit
end
local movement = Vector3.new()
if UserInputService:IsKeyDown(Enum.KeyCode.W) then
movement = movement + moveDirection
end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then
movement = movement - moveDirection
end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then
movement = movement + Vector3.new(-moveDirection.Z, 0, moveDirection.X)
end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then
movement = movement + Vector3.new(moveDirection.Z, 0, -moveDirection.X)
end
if movement.Magnitude > 0 then
return true, movement.Unit
else
return false, Vector3.new()
end
end
-- GŁÓWNA PĘTLA LOGIKI
RunService.RenderStepped:Connect(function()
if _G.SpeedEnabled then
local character = LocalPlayer.Character
if character and character:FindFirstChild("Humanoid") and character:FindFirstChild("HumanoidRootPart") then
local moving, direction = isMoving()
local humanoid = character:FindFirstChildOfClass("Humanoid")
local hrp = character:FindFirstChild("HumanoidRootPart")
local wartoscspeed = _G.SpeedValue or 16
if moving then
if _G.SpeedMode == "Normal" then
humanoid.WalkSpeed = wartoscspeed
elseif _G.SpeedMode == "CFrame" then
hrp.CFrame = hrp.CFrame + (direction * (wartoscspeed / 50))
elseif _G.SpeedMode == "Legit" then
-- Movement bazujący na Velocity (trudniejszy do wykrycia przez proste anty-cheaty)
hrp.Velocity = Vector3.new(direction.X * wartoscspeed, hrp.Velocity.Y, direction.Z * wartoscspeed)
elseif _G.SpeedMode == "HVH" then
-- Bypassy i agresywny ruch (np. BunnyHop)
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
humanoid.Jump = true
hrp.Velocity = Vector3.new(direction.X * wartoscspeed, hrp.Velocity.Y, direction.Z * wartoscspeed)
else
hrp.Velocity = Vector3.new(direction.X * wartoscspeed, hrp.Velocity.Y, direction.Z * wartoscspeed)
end
end
else
-- Zatrzymanie Velocity jeśli nie naciskamy klawiszy (zapobiega ślizganiu się)
if _G.SpeedMode == "Legit" or _G.SpeedMode == "HVH" then
hrp.Velocity = Vector3.new(0, hrp.Velocity.Y, 0)
end
end
end
end
end)
----------- Fly Mode --------------------
-- ZMIENNE DLA FLY
local flyConnection
_G.FlySpeed = _G.FlySpeed or 50
_G.FlyEnabled = false
local FlySection = TabPlayer:CreateSection("Flight Settings")
TabPlayer:CreateToggle({
Name = "Flight",
CurrentValue = false,
Flag = "FlyToggle",
Callback = function(Value)
_G.FlyEnabled = Value
-- Resetowanie starego połączenia
if flyConnection then
flyConnection:Disconnect()
flyConnection = nil
end
if _G.FlyEnabled then
local char = LocalPlayer.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
local humanoid = char and char:FindFirstChildOfClass("Humanoid")
if not hrp or not humanoid then
_G.FlyEnabled = false
return
end
-- Tworzenie instancji lotu bezpośrednio w HumanoidRootPart
local vFly = hrp:FindFirstChild("IY_FlyVelocity") or Instance.new("BodyVelocity")
vFly.Name = "IY_FlyVelocity"
vFly.Parent = hrp
vFly.MaxForce = Vector3.new(9e9, 9e9, 9e9)
vFly.Velocity = Vector3.new(0, 0, 0)
local vGyro = hrp:FindFirstChild("IY_FlyGyro") or Instance.new("BodyGyro")
vGyro.Name = "IY_FlyGyro"
vGyro.Parent = hrp
vGyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9)
vGyro.CFrame = hrp.CFrame
humanoid.PlatformStand = true
-- Główna pętla lotu
flyConnection = RunService.RenderStepped:Connect(function()
if _G.FlyEnabled and char and hrp and humanoid then
local camera = workspace.CurrentCamera
local direction = Vector3.new(0,0,0)
-- Sterowanie
if UserInputService:IsKeyDown(Enum.KeyCode.W) then direction = direction + camera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then direction = direction - camera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then direction = direction + camera.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then direction = direction - camera.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.Space) then direction = direction + Vector3.new(0, 1, 0) end
if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then direction = direction - Vector3.new(0, 1, 0) end
vGyro.CFrame = camera.CFrame
if direction.Magnitude > 0 then
vFly.Velocity = direction.Unit * _G.FlySpeed
else
vFly.Velocity = Vector3.new(0, 0, 0)
end
else
-- Jeśli postać zginie lub Fly zostanie wyłączony w inny sposób
if flyConnection then flyConnection:Disconnect() flyConnection = nil end
end
end)
else
-- WYŁĄCZENIE I CZYSZCZENIE
if flyConnection then
flyConnection:Disconnect()
flyConnection = nil
end
pcall(function()
local char = LocalPlayer.Character
if char then
local hum = char:FindFirstChildOfClass("Humanoid")
if hum then hum.PlatformStand = false end
local hrp = char:FindFirstChild("HumanoidRootPart")
if hrp then
if hrp:FindFirstChild("IY_FlyVelocity") then hrp.IY_FlyVelocity:Destroy() end
if hrp:FindFirstChild("IY_FlyGyro") then hrp.IY_FlyGyro:Destroy() end
end
end
end)
end
end,
})
TabPlayer:CreateSlider({
Name = "Fly Speed",
Range = {0, 500},
Increment = 1,
Suffix = " Velocity",
CurrentValue = 50,
Flag = "FlySpeedValue",
Callback = function(Value)
_G.FlySpeed = Value
end,
})
------------------- ESP Mode ----------------------------
-- ==========================================
-- KONFIGURACJA I ZMIENNE ESP
-- ==========================================
_G.ESP_Enabled = false
_G.ESP_Targets = {
Players = true,
Police = true,
Criminals = true
}
_G.ESP_Settings = {
Boxes = false,
Tracers = false,
Skeletons = false,
Names = false,
Thickness = 1,
}
local ESP_Objects = {}
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera
-- FUNKCJA POBIERANIA KOLORU ROLI
local function GetJobColor(player)
local job = player:GetAttribute("JobId")
if job == "Security" then return Color3.fromRGB(0, 0, 255) -- Deep Blue
elseif job == "Criminal" then return Color3.fromRGB(255, 0, 0) -- Really Red
end
return Color3.fromRGB(0, 255, 0) -- Neutral Lime
end
-- FUNKCJA TWORZENIA OBIEKTÓW RYSUNKOWYCH
local function CreateESP(player)
if ESP_Objects[player] then return end
local objects = {
Box = Drawing.new("Square"),
Tracer = Drawing.new("Line"),
Name = Drawing.new("Text"),
Skeleton = {
Spine = Drawing.new("Line"),
LeftArm = Drawing.new("Line"),
RightArm = Drawing.new("Line"),
LeftLeg = Drawing.new("Line"),
RightLeg = Drawing.new("Line")
}
}
-- Ustawienia bazowe
objects.Box.Filled = false
objects.Name.Center = true
objects.Name.Outline = true
objects.Name.Size = 14
ESP_Objects[player] = objects
end
local function RemoveESP(player)
if ESP_Objects[player] then
local obj = ESP_Objects[player]
obj.Box:Remove()
obj.Tracer:Remove()
obj.Name:Remove()
for _, line in pairs(obj.Skeleton) do line:Remove() end
ESP_Objects[player] = nil
end
end
-- Inicjalizacja graczy
for _, p in pairs(Players:GetPlayers()) do if p ~= LocalPlayer then CreateESP(p) end end
Players.PlayerAdded:Connect(CreateESP)
Players.PlayerRemoving:Connect(RemoveESP)
-- ==========================================
-- INTERFEJS UŻYTKOWNIKA (TabVisuals)
-- ==========================================
local SectionMaster = TabVisuals:CreateSection("Master Control")
TabVisuals:CreateToggle({
Name = "Enable ESP",
CurrentValue = false,
Flag = "ESP_Master",
Callback = function(v) _G.ESP_Enabled = v end,
})
local SectionTargets = TabVisuals:CreateSection("Targets (Filters)")
TabVisuals:CreateToggle({
Name = "Players (Neutral)",
CurrentValue = true,
Flag = "Target_P",
Callback = function(v) _G.ESP_Targets.Players = v end,
})
TabVisuals:CreateToggle({
Name = "Police (Security)",
CurrentValue = true,
Flag = "Target_Pol",
Callback = function(v) _G.ESP_Targets.Police = v end,
})
TabVisuals:CreateToggle({
Name = "Criminals",
CurrentValue = true,
Flag = "Target_Crim",
Callback = function(v) _G.ESP_Targets.Criminals = v end,
})
local SectionStyles = TabVisuals:CreateSection("Visual Styles")
TabVisuals:CreateToggle({
Name = "Boxes 2D",
CurrentValue = false,
Flag = "ESP_Box",
Callback = function(v) _G.ESP_Settings.Boxes = v end,
})
TabVisuals:CreateToggle({
Name = "Tracers",
CurrentValue = false,
Flag = "ESP_Tracers",
Callback = function(v) _G.ESP_Settings.Tracers = v end,
})
TabVisuals:CreateToggle({
Name = "Skeletons",
CurrentValue = false,
Flag = "ESP_Skeleton",
Callback = function(v) _G.ESP_Settings.Skeletons = v end,
})
TabVisuals:CreateToggle({
Name = "Show Names & Distance",
CurrentValue = false,
Flag = "ESP_Names",
Callback = function(v) _G.ESP_Settings.Names = v end,
})
TabVisuals:CreateSlider({
Name = "Line Thickness",
Range = {1, 5},
Increment = 0.5,
Suffix = "px",
CurrentValue = 1,
Flag = "ESP_Thick",
Callback = function(v) _G.ESP_Settings.Thickness = v end,
})
-- ==========================================
-- GŁÓWNA LOGIKA RENDEROWANIA (Loop)
-- ==========================================
local function GetDynamicColor(player)
local job = player:GetAttribute("JobId")
-- Jeśli to Policja I toggle Police jest włączony -> Niebieski
if job == "Security" and _G.ESP_Targets.Police then
return Color3.fromRGB(0, 0, 255)
end
-- Jeśli to Kryminalista I toggle Criminals jest włączony -> Czerwony
if job == "Criminal" and _G.ESP_Targets.Criminals then
return Color3.fromRGB(255, 0, 0)
end
-- W każdym innym przypadku (neutralny gracz LUB wyłączony toggle roli) -> Lime
return Color3.fromRGB(0, 255, 0)
end
RunService.RenderStepped:Connect(function()
for player, obj in pairs(ESP_Objects) do
local char = player.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
local hum = char and char:FindFirstChildOfClass("Humanoid")
-- LOGIKA WIDOCZNOŚCI:
-- Jeśli ESP jest włączone I ogólny toggle Players jest włączony -> Pokazuj wszystkich
local isTarget = _G.ESP_Enabled and _G.ESP_Targets.Players
if isTarget and hrp and hum and hum.Health > 0 then
local pos, onScreen = Camera:WorldToViewportPoint(hrp.Position)
if onScreen then
-- Kolor zmieni się na niebieski/czerwony tylko jeśli toggle roli jest ON
local color = GetDynamicColor(player)
local dist = math.floor((Camera.CFrame.p - hrp.Position).magnitude)
local thickness = _G.ESP_Settings.Thickness
-- RENDER BOX 2D
if _G.ESP_Settings.Boxes then
local sizeX = 2000 / pos.Z
local sizeY = 3000 / pos.Z
obj.Box.Visible = true
obj.Box.Color = color
obj.Box.Thickness = thickness
obj.Box.Size = Vector2.new(sizeX, sizeY)
obj.Box.Position = Vector2.new(pos.X - sizeX / 2, pos.Y - sizeY / 2)
else obj.Box.Visible = false end
-- RENDER TRACERS
if _G.ESP_Settings.Tracers then
obj.Tracer.Visible = true
obj.Tracer.Color = color
obj.Tracer.Thickness = thickness
obj.Tracer.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y)
obj.Tracer.To = Vector2.new(pos.X, pos.Y)
else obj.Tracer.Visible = false end
-- RENDER NAMES
if _G.ESP_Settings.Names then
obj.Name.Visible = true
obj.Name.Color = Color3.new(1,1,1)
obj.Name.Position = Vector2.new(pos.X, pos.Y - (3000 / pos.Z) / 2 - 20)
obj.Name.Text = string.format("%s\n[%s studs]", player.Name, dist)
else obj.Name.Visible = false end
-- RENDER SKELETON (R15/R6 Basic)
if _G.ESP_Settings.Skeletons and char:FindFirstChild("Head") then
local headPos = Camera:WorldToViewportPoint(char.Head.Position)
obj.Skeleton.Spine.Visible = true
obj.Skeleton.Spine.From = Vector2.new(headPos.X, headPos.Y)
obj.Skeleton.Spine.To = Vector2.new(pos.X, pos.Y)
obj.Skeleton.Spine.Color = color
obj.Skeleton.Spine.Thickness = thickness
else
for _, l in pairs(obj.Skeleton) do l.Visible = false end
end
else
-- Poza ekranem
obj.Box.Visible = false
obj.Tracer.Visible = false
obj.Name.Visible = false
for _, l in pairs(obj.Skeleton) do l.Visible = false end
end
else
-- Wyłączone
obj.Box.Visible = false
obj.Tracer.Visible = false
obj.Name.Visible = false
for _, l in pairs(obj.Skeleton) do l.Visible = false end
end
end
end)
---------- Job Joiner ----------------------
local JobActions = TabJobs:CreateSection("Jobs Joiner")
-- PRZYCISK: POLICE JOB
TabJobs:CreateButton({
Name = "Police Job (Join/Leave)",
Callback = function()
local currentJob = LocalPlayer:GetAttribute("JobId")
if currentJob == "Security" then
-- Jeśli jesteśmy policjantem, to wychodzimy
local args = {"jobPad"}
RemoteEnd:FireServer(unpack(args))
else
-- Jeśli nie jesteśmy, to dołączamy (nawet jeśli jesteśmy w Criminalu, gra nas przełączy)
local args = {"Security", "jobPad"}
RemoteStart:FireServer(unpack(args))
end
end,
})
-- PRZYCISK: CRIMINAL JOB
TabJobs:CreateButton({
Name = "Criminal Job (Join/Leave)",
Callback = function()
local currentJob = LocalPlayer:GetAttribute("JobId")
if currentJob == "Criminal" then
-- Jeśli jesteśmy kryminalistą, to wychodzimy
local args = {"jobPad"}
RemoteEnd:FireServer(unpack(args))
else
-- Jeśli nie jesteśmy, to dołączamy
local args = {"Criminal", "jobPad"}
RemoteStart:FireServer(unpack(args))
end
end,
})
-- Dodatkowy wskaźnik statusu pod przyciskami
local StatusSection = TabJobs:CreateSection("Current Status")
local CurrentJobLabel = TabJobs:CreateLabel("Current Role: Unknown")
task.spawn(function()
while task.wait(1) do
local job = LocalPlayer:GetAttribute("JobId")
if job == "Security" then
CurrentJobLabel:Set("Current Role: Police Officer 👮")
elseif job == "Criminal" then
CurrentJobLabel:Set("Current Role: Criminal 😈")
else
CurrentJobLabel:Set("Current Role: Citizen 🚶")
end
end
end)
------------- Vehicle Info ------------------
local VehInfoSection = TabVehicle:CreateSection("Active Vehicle Statistics")
local ModelLabel = TabVehicle:CreateLabel("Current Model: None")
local SeatLabel = TabVehicle:CreateLabel("Status: On Foot")
local PartsLabel = TabVehicle:CreateLabel("Parts Detected: 0")
local SpeedLabel = TabVehicle:CreateLabel("Current Speed: 0 SPS")
local rainbowEnabled = false
local originalColors = {} -- Przechowywanie kolorów: [Part] = Color3
-- 4. Przełącznik ESP / Rainbow RGB
local RainbowToggle = TabVehicle:CreateToggle({
Name = "Vehicle RGB ESP",
CurrentValue = false,
Flag = "VehRGBToggle",
Callback = function(Value)
rainbowEnabled = Value
-- Jeśli wyłączamy, przywracamy kolory natychmiast
if not Value then
for part, color in pairs(originalColors) do
if part and part.Parent then
part.Color = color
end
end
table.clear(originalColors) -- Czyścimy bazę po przywróceniu
end
end,
})
-- Zmienne sterujące
local physicsEnabled = false -- Stan przełącznika
local accelPower = 0
local brakeForce = 0
-- 1. Przełącznik Główny
local MainToggle = TabVehicle:CreateToggle({
Name = "Toggle Custom Modifier",
CurrentValue = false,
Flag = "VehPhysicsToggle",
Callback = function(Value)
physicsEnabled = Value
end,
})
-- 2. Slider: Acceleration (W obie strony)
local AccelSlider = TabVehicle:CreateSlider({
Name = "Acceleration Power",
Range = {0, 100},
Increment = 1,
Suffix = " Boost",
CurrentValue = 0,
Flag = "VehAccelPower",
Callback = function(Value)
accelPower = Value
end,
})
-- 3. Slider: Brake Force (Kotwica)
local BrakeSlider = TabVehicle:CreateSlider({
Name = "Brake Force",
Range = {0, 150},
Increment = 1,
Suffix = " Grip",
CurrentValue = 0,
Flag = "VehBrakeForce",
Callback = function(Value)
brakeForce = Value
end,
})
task.spawn(function()
local hue = 0
while task.wait() do
if rainbowEnabled then
local myVeh = GetMyVehicle()
if myVeh then
-- Pobieramy absolutnie wszystko co jest w aucie
local allObjects = myVeh:GetDescendants()
hue = (hue + 1) % 360
local rainbowColor = Color3.fromHSV(hue / 360, 0.9, 1)
for _, obj in pairs(allObjects) do
-- Sprawdzamy czy obiekt to jakakolwiek część (MeshPart, Part, Wedge itd.)
if obj:IsA("BasePart") then
-- Zapisujemy kolor tylko raz (przy pierwszym wykryciu części)
if not originalColors[obj] then
originalColors[obj] = obj.Color
end
-- Nakładamy kolor
obj.Color = rainbowColor
end
end
end
else
-- Jeśli wyłączone, pętla czeka dłużej, żeby nie obciążać procesora
task.wait(0.3)
end
end
end)
-- GŁÓWNA PĘTLA
task.spawn(function()
while task.wait(0.1) do
local myVeh = GetMyVehicle()
if myVeh then
local seat = myVeh:FindFirstChild("VehicleSeat")
-- UI: Nazwa i Status
local carType = myVeh:FindFirstChild("CarType")
ModelLabel:Set("Current Model: " .. tostring(carType and carType.Value or myVeh.Name))
local driverObj = myVeh:FindFirstChild("Driver")
SeatLabel:Set((driverObj and driverObj.Value == LocalPlayer) and "Status: Driving 🏎️" or "Status: Outside 🚶")
-- UI: Liczenie części
local allParts = myVeh:GetDescendants()
local partCount = 0
for _, p in pairs(allParts) do
if p:IsA("BasePart") then partCount = partCount + 1 end
end
PartsLabel:Set("Parts Detected: " .. tostring(partCount))
if seat then
local velocity = seat.AssemblyLinearVelocity
local speed = velocity.Magnitude
SpeedLabel:Set("Current Speed: " .. math.floor(speed) .. " SPS")
-- LOGIKA FIZYKI (Tylko gdy Toggle jest włączony)
if physicsEnabled then
-- Odblokowanie MaxSpeed w siedzeniu
if seat.MaxSpeed < 9000 then seat.MaxSpeed = 9999 end
local throttle = seat.ThrottleFloat
if accelPower > 0 and math.abs(throttle) > 0 then
-- Sprawdzanie czy auto porusza się przodem czy tyłem
local isMovingForward = seat.CFrame.LookVector:Dot(velocity) > 0
if throttle > 0 then -- Naciskasz W (Gaz)
if isMovingForward or speed < 3 then
-- Boost do przodu
seat.AssemblyLinearVelocity = velocity + (seat.CFrame.LookVector * (accelPower / 5))
else
-- Kontra (Hamowanie silne)
seat.AssemblyLinearVelocity = velocity * (1 - (brakeForce / 200))
end
elseif throttle < 0 then -- Naciskasz S (Wsteczny)
if not isMovingForward or speed < 3 then
-- Boost do tyłu
seat.AssemblyLinearVelocity = velocity + (-seat.CFrame.LookVector * (accelPower / 5))
else
-- Kontra (Hamowanie silne)
seat.AssemblyLinearVelocity = velocity * (1 - (brakeForce / 200))
end
end
end
end
end
else
-- Reset gdy brak auta
ModelLabel:Set("Current Model: No Active Vehicle")
SeatLabel:Set("Status: On Foot")
PartsLabel:Set("Parts Detected: 0")
SpeedLabel:Set("Current Speed: 0 SPS")
end
end
end)
--------------- Stats Tab ----------------------------
local NeutralSection = TabStats:CreateSection("Local Player Attributes")
-- Tabela wszystkich atrybutów z Twoich zdjęć
local attributesToTrack = {
"CurrentChassisType",
"CustomizationEntryRefundsCompleted",
"CustomizationEntryRefundsProcessing",
"CustomizationImmediateRefundsComplete",
"CustomizationImmediateRefundsInProgress",
"DataManagerIsLoaded",
"Device",
"FrameworkLoaded",
"GachaRolls",
"GroupRole",
"JobId",
"MultiplierCashMultiplier",
"PanelsInitialized"
}
-- Tabela przechowująca labele, aby móc je aktualizować
local StatLabels = {}
-- Tworzenie labeli na starcie
for _, attrName in pairs(attributesToTrack) do
StatLabels[attrName] = TabStats:CreateLabel(attrName .. ": Loading...")
end
-- Główna pętla odczytująca dane (bez zbędnych funkcji pojazdów)
task.spawn(function()
local Player = game:GetService("Players").LocalPlayer
while task.wait(0.5) do
for _, attrName in pairs(attributesToTrack) do
local val = Player:GetAttribute(attrName)
if val ~= nil then
local displayValue = tostring(val)
-- Logika dla True / False (odpowiednik Twoich checkboxów)
if type(val) == "boolean" then
displayValue = val and "✅ True" or "❌ False"
end
-- Logika dla Cyfr (np. GachaRolls, Multiplier)
if type(val) == "number" then
displayValue = "🔢 " .. tostring(val)
end
-- Logika dla Tekstu (np. Device, JobId)
if type(val) == "string" then
displayValue = "📝 " .. val
end
StatLabels[attrName]:Set(attrName .. ": " .. displayValue)
else
StatLabels[attrName]:Set(attrName .. ": [N/A]")
end
end
end
end)
local CriminalSection = TabStats:CreateSection("Live Criminal Stats")
-- Tabela atrybutów, które pojawiają się dynamicznie w modelu postaci
local crimAttributes = {
"ComponentServerId",
"CrimesCommitted",
"CriminalExpireEpoch",
"CurrencyEarned"
}
local CrimLabels = {}
-- Tworzenie labeli (na początku puste)
for _, attrName in pairs(crimAttributes) do
CrimLabels[attrName] = TabStats:CreateLabel(attrName .. ": ---")
end
-- Pętla monitorująca WORKSPACE
task.spawn(function()
local Player = game:GetService("Players").LocalPlayer
while task.wait(0.5) do
-- Szukamy Twojej postaci w workspace po nazwie
local charInWorkspace = workspace:FindFirstChild(Player.Name)
if charInWorkspace then
-- Sprawdzamy czy postać ma atrybuty (pojawiają się tylko podczas akcji)
local hasAnyCrimeAttr = false
for _, attrName in pairs(crimAttributes) do
local val = charInWorkspace:GetAttribute(attrName)
if val ~= nil then
hasAnyCrimeAttr = true
local display = tostring(val)
-- Formatowanie ikon
if attrName == "CurrencyEarned" then display = "💰 $" .. display
elseif attrName == "CrimesCommitted" then display = "⚖️ " .. display
elseif attrName == "ComponentServerId" then display = "🆔 " .. display
end
CrimLabels[attrName]:Set(attrName .. ": " .. display)
else
-- Jeśli atrybutu nie ma w workspace, nie pokazujemy starych danych
CrimLabels[attrName]:Set(attrName .. ": [Inactive]")
end
end
else
-- Jeśli Twoja postać nie istnieje w workspace (np. śmierć/respawn)
for _, label in pairs(CrimLabels) do
label:Set("Character not found in Workspace")
end
end
end
end)
-- Sekcja Statystyk Serwera
local JobSection = TabStats:CreateSection("Server Online / Job Online Players")
-- Tworzenie labeli dla grup
local PoliceLabel = TabStats:CreateLabel("Police (Security): 0")
local CrimeLabel = TabStats:CreateLabel("Criminals: 0")
local CitizenLabel = TabStats:CreateLabel("Citizens: 0")
local TotalLabel = TabStats:CreateLabel("Total Players: 0")
-- Pętla monitorująca serwer
task.spawn(function()
local Players = game:GetService("Players")
while task.wait(1) do -- Odświeżanie co sekundę
local countPolice = 0
local countCrime = 0
local countCitizen = 0
local allPlayers = Players:GetPlayers()
for _, player in pairs(allPlayers) do
local job = player:GetAttribute("JobId")
if job == "Security" then
countPolice = countPolice + 1
elseif job == "Criminal" then
countCrime = countCrime + 1
elseif job == nil or job == "" or job == "Citizen" then
countCitizen = countCitizen + 1
end
end
-- Aktualizacja Labeli z ikonami
PoliceLabel:Set("🛡️ Police: " .. tostring(countPolice))
CrimeLabel:Set("🦹 Criminals: " .. tostring(countCrime))
CitizenLabel:Set("🏘️ Citizens: " .. tostring(countCitizen))
TotalLabel:Set("👥 Total Players: " .. tostring(#allPlayers))
end
end)
------------- Farmy -----------------
local ATMFlag = { Search = false }
local noclipConnection = nil
local spawnPos = Vector3.new(-315.4537353515625, 17.595108032226562, -1660.684326171875)
local platformPositions = {
Vector3.new(-978.8837890625, -166, 313.3407897949219),
Vector3.new(-484.3203430175781, -166, -1226.457275390625),
Vector3.new(220.6251220703125, -166, 137.8120880126953),
Vector3.new(-94.29008483886719, -166, 2340.5263671875),
Vector3.new(-866.1265258789062, -166, 3189.411865234375),
Vector3.new(-2068.16015625, -166, 4206.7861328125),
}
local sellPos1 = Vector3.new(-2520.495849609375, 15.116586685180664, 4035.560791015625)
local sellPos2 = Vector3.new(-2542.12646484375, 15.116586685180664, 4030.9150390625)
-- UI Labels
local ProgressLabel
local StatusLabel
-- =============================================================================
-- 3. FUNKCJE POMOCNICZE (SYSTEMOWE)
-- =============================================================================
local function setStatus(text)
if StatusLabel then StatusLabel:Set("Status: " .. text) end
end
local function setWeight(isHeavy)
local char = LocalPlayer.Character
if char then
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CustomPhysicalProperties = isHeavy and PhysicalProperties.new(100, 0.3, 0.5) or nil
end
end
end
end
local function SetNoclip(state)
if noclipConnection then noclipConnection:Disconnect() noclipConnection = nil end
if state then
noclipConnection = RunService.Stepped:Connect(function()
if LocalPlayer.Character then
for _, part in ipairs(LocalPlayer.Character:GetDescendants()) do
if part:IsA("BasePart") then part.CanCollide = false end
end
end
end)
end
end
local function createAllPlatforms()
for _, pos in ipairs(platformPositions) do
local platform = Instance.new("Part")
platform.Name = "DeltaCorePlatform"
platform.Parent = workspace
platform.Position = pos
platform.Size = Vector3.new(50000, 3, 50000)
platform.Color = Color3.fromRGB(170, 0, 255)
platform.Anchored = true
end
end
local function removeAllPlatforms()
for _, obj in ipairs(workspace:GetChildren()) do
if obj.Name == "DeltaCorePlatform" then obj:Destroy() end
end
end
local function tpTo(pos)
if not ATMFlag.Search and pos ~= spawnPos then return end
local char = LocalPlayer.Character
if char and char:FindFirstChild("HumanoidRootPart") then
char:PivotTo(CFrame.new(pos + Vector3.new(0, 3, 0)))
end
end
local function SimpleGoTo(destination, timeout)
local char = LocalPlayer.Character
local human = char and char:FindFirstChildOfClass("Humanoid")
local root = char and char:FindFirstChild("HumanoidRootPart")
if not root or not human then return end
local startT = tick()
timeout = timeout or 2 -- Max 10 sekund na dojście
-- Wyłączamy noclip na chwilę chodzenia, żeby postać nie zapadła się pod podłogę
-- (Opcjonalnie, jeśli gra tego wymaga)
while (root.Position - destination).Magnitude > 3 do
if not ATMFlag.Search or (tick() - startT) > timeout then break end
human:MoveTo(destination)
-- Jeśli utknie (prędkość bliska 0), niech podskoczy
if root.AssemblyLinearVelocity.Magnitude < 0.5 then
human.Jump = true
end
task.wait(0.1)
end
end
local function IsPoliceNearby(radius)
local root = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if not root then return false end
for _, p in ipairs(Players:GetPlayers()) do
if p ~= LocalPlayer and p:GetAttribute("JobId") == "Security" then
local otherRoot = p.Character and p.Character:FindFirstChild("HumanoidRootPart")
if otherRoot and (root.Position - otherRoot.Position).Magnitude <= radius then
return true
end
end
end
return false
end
-- =============================================================================
-- 4. LOGIKA FARMOWANIA
-- =============================================================================
local function GetAvailableATM()
local spawners = workspace.Game.Jobs.CriminalATMSpawners
for _, spawner in ipairs(spawners:GetChildren()) do
local atm = spawner:FindFirstChild("CriminalATM")
if atm and atm:GetAttribute("State") == "Normal" then
return spawner, atm
end
end
return nil, nil
end
local Config = {
task1 = 0.5, -- teleport do sellpos1
task2 = 2.0, -- przetwarzanie sellpos2
task3 = 0.15, -- wczytanie ATM (start)
task4 = 5.0, -- cooldown rabowania
task5 = 0.15, -- wczytanie ATM (odbiór)
task6 = 0.0, -- finalizacja rabunku
task7 = 5.0, -- czas ładowania na platformach
task8 = 0.0, -- przerwa chwilowa
}
local function notifyUpdate(taskName, value)
Rayfield:Notify({
Title = "Konfiguracja Zaktualizowana",
Content = "Ustawiono " .. taskName .. " na: " .. value .. "s",
Duration = 2,
Image = 4483362458,
})
end
local function CheckBagLimit()
if not ATMFlag.Search then return false end
local currentCrimes = LocalPlayer.Character and LocalPlayer.Character:GetAttribute("CrimesCommitted") or 0
local limit = Rayfield.Flags.BagSlider and Rayfield.Flags.BagSlider.CurrentValue or 25
if currentCrimes >= limit then
setStatus("Limit osiągnięty ("..currentCrimes..") - Sprzedaż...")
-- Pętla sprzedaży dopóki worki nie znikną
while currentCrimes >= limit and ATMFlag.Search do
SetNoclip(true) -- Upewniamy się, że noclip działa przy sprzedaży
tpTo(sellPos1)
task.wait(Config.task1)
setStatus("Idę do punktu sprzedaży...")
SimpleGoTo(sellPos2, 2)
task.wait(Config.task2) -- Czas na przetworzenie sprzedaży przez serwer
currentCrimes = LocalPlayer.Character and LocalPlayer.Character:GetAttribute("CrimesCommitted") or 0
end
setStatus("Sprzedano! Wracam do pracy.")
return true -- Zwraca true, jeśli sprzedaż się odbyła
end
return false
end
local function SmartBust(targetSpawner, atmModel)
if not ATMFlag.Search then return end
local safePos = platformPositions[math.random(1, #platformPositions)]
local root = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
-- KROK 1: Start
setStatus("Rozpoczynanie rabunku...")
if root then root.AssemblyLinearVelocity = Vector3.new(0,0,0) end
tpTo(targetSpawner.Position)
task.wait(Config.task3)
bustStart:InvokeServer(atmModel)
-- KROK 2: Ucieczka na bezpieczną platformę
setStatus("Czekanie w bezpiecznym miejscu...")
tpTo(safePos)
task.wait(Config.task4) -- Lekko wydłużone dla bezpieczeństwa
-- KROK 3: Odbiór
setStatus("Odbiór łupu...")
if root then root.AssemblyLinearVelocity = Vector3.new(0,0,0) end
tpTo(targetSpawner.Position)
task.wait(Config.task5)
bustEnd:InvokeServer(atmModel)
task.wait(Config.task6)
tpTo(safePos)
-- KLUCZOWE: Sprawdź limit natychmiast po rabunku!
CheckBagLimit()
end
-- =============================================================================
-- 5. GŁÓWNA PĘTLA (START_LOOP)
-- =============================================================================
local function StartLoop()
task.spawn(function()
while ATMFlag.Search do
-- 1. Sprawdź limit przed rozpoczęciem nowej rundy platform
CheckBagLimit()
-- 2. Przeszukiwanie platform
for _, platformPos in ipairs(platformPositions) do
if not ATMFlag.Search then break end
-- Sprawdź limit przed skokiem na KAŻDĄ kolejną platformę
-- (Zapobiega to lataniu z pełnymi workami po mapie)
if CheckBagLimit() then
-- Jeśli sprzedał, wróć na platformę startową ronde
tpTo(platformPos)
end
SetNoclip(true)
setWeight(true)
setStatus("Skanowanie platformy...")
tpTo(platformPos)
task.wait(Config.task7) -- Czas na załadowanie się ATM w streamingu
local spawner, atm = GetAvailableATM()
if spawner and atm then
SmartBust(spawner, atm)
setStatus("Przerwa techniczna (Cooldown)...")
task.wait(Config.task8)
end
end
task.wait(0.1)
end
end)
end
-- =============================================================================
-- 6. START / STOP (ZARZĄDZANIE KROKAMI)
-- =============================================================================
function StartATMFarm()
if ATMFlag.Search then return end
ATMFlag.Search = true
-- KROK 1: Drużyna
setStatus("Krok 1: Weryfikacja drużyny")
pcall(function() RemoteStart:FireServer("Criminal", "jobPad") end)
task.wait(0.5)
-- KROK 2: Platformy
setStatus("Krok 2: Tworzenie platform")
removeAllPlatforms()
createAllPlatforms()
task.wait(0.5)
-- KROK 3: Fizyka i Noclip
setStatus("Krok 3: Wczytywanie Funkcji")
SetNoclip(true)
setWeight(true)
task.wait(1)
-- Rozpoczęcie pętli
StartLoop()
end
function StopATMFarm()
if not ATMFlag.Search then return end
ATMFlag.Search = false
setStatus("Zatrzymywanie...")
tpTo(spawnPos)
task.wait(0.5)
pcall(function() RemoteEnd:FireServer("jobPad") end)
SetNoclip(false)
setWeight(false)
removeAllPlatforms()
setStatus("Farma wyłączona")
end
-- =============================================================================
-- 7. INTERFEJS UŻYTKOWNIKA (RAYFIELD)
-- =============================================================================
TabFarm:CreateToggle({
Name = "Uruchom ATM Farm",
CurrentValue = false,
Flag = "ATMFarmToggle",
Callback = function(Value)
if Value then StartATMFarm() else StopATMFarm() end
end,
})
TabFarm:CreateSlider({
Name = "Limit Worków",
Range = {6, 200},
Increment = 1,
Suffix = "Bags",
CurrentValue = 25,
Flag = "BagSlider",
Callback = function(Value) end,
})
StatusLabel = TabFarm:CreateLabel("Status: Oczekiwanie...")
ProgressLabel = TabFarm:CreateLabel("Postęp worków: 0 / 0")
TabFarm:CreateLabel("⚙️ KONFIGURACJA PRĘDKOŚCI Farmy (DELAYS)")
TabFarm:CreateInput({
Name = "Task 1: Teleport SellPos1",
PlaceholderText = "Obecnie: " .. Config.task1,
RemoveTextAfterFocusLost = false,
Callback = function(Text)
local val = tonumber(Text)
if val then Config.task1 = val notifyUpdate("Task 1", val) end
end,
})
-- Task 2
TabFarm:CreateInput({
Name = "Task 2: Przetwarzanie Sprzedaży",
PlaceholderText = "Obecnie: " .. Config.task2,
RemoveTextAfterFocusLost = false,
Callback = function(Text)
local val = tonumber(Text)
if val then Config.task2 = val notifyUpdate("Task 2", val) end
end,
})
-- TabFarm 3
TabFarm:CreateInput({
Name = "Task 3: Wczytanie ATM (Start)",
PlaceholderText = "Obecnie: " .. Config.task3,
RemoveTextAfterFocusLost = false,
Callback = function(Text)
local val = tonumber(Text)
if val then Config.task3 = val notifyUpdate("Task 3", val) end
end,
})
-- Task 4
TabFarm:CreateInput({
Name = "Task 4: Cooldown Rabunku",
PlaceholderText = "Obecnie: " .. Config.task4,
RemoveTextAfterFocusLost = false,
Callback = function(Text)
local val = tonumber(Text)
if val then Config.task4 = val notifyUpdate("Task 4", val) end
end,
})
-- Task 5
TabFarm:CreateInput({
Name = "Task 5: Wczytanie ATM (Odbiór)",
PlaceholderText = "Obecnie: " .. Config.task5,
RemoveTextAfterFocusLost = false,
Callback = function(Text)
local val = tonumber(Text)
if val then Config.task5 = val notifyUpdate("Task 5", val) end
end,
})
-- Task 6
TabFarm:CreateInput({
Name = "Task 6: Finalizacja Rabunku",
PlaceholderText = "Obecnie: " .. Config.task6,
RemoveTextAfterFocusLost = false,
Callback = function(Text)
local val = tonumber(Text)
if val then Config.task6 = val notifyUpdate("Task 6", val) end
end,
})
-- Task 7
TabFarm:CreateInput({
Name = "Task 7: Ładowanie Platform",
PlaceholderText = "Obecnie: " .. Config.task7,
RemoveTextAfterFocusLost = false,
Callback = function(Text)
local val = tonumber(Text)
if val then Config.task7 = val notifyUpdate("Task 7", val) end
end,
})
-- Task 8
TabFarm:CreateInput({
Name = "Task 8: Przerwa Chwilowa",
PlaceholderText = "Obecnie: " .. Config.task8,
RemoveTextAfterFocusLost = false,
Callback = function(Text)
local val = tonumber(Text)
if val then Config.task8 = val notifyUpdate("Task 8", val) end
end,
})
--- Przycisk Resetu ---
TabFarm:CreateButton({
Name = "♻️ RESETUJ WSZYSTKIE OPÓŹNIENIA",
Callback = function()
Config.task1 = 0.5
Config.task2 = 2.0
Config.task3 = 0.15
Config.task4 = 5.0
Config.task5 = 0.15
Config.task6 = 0.0
Config.task7 = 5.0
Config.task8 = 0.0
Rayfield:Notify({
Title = "Reset Konfiguracji",
Content = "Przywrócono wartości domyślne.",
Duration = 3,
Image = 4483362458,
})
end,
})
-- Pętla UI (Progress)
task.spawn(function()
while true do
pcall(function()
if ProgressLabel and LocalPlayer.Character then
local cur = LocalPlayer.Character:GetAttribute("CrimesCommitted") or 0
local lim = (Rayfield.Flags.BagSlider and Rayfield.Flags.BagSlider.CurrentValue) or 0
ProgressLabel:Set("Postęp worków: " .. cur .. " / " .. lim)
if cur >= lim and lim > 0 then
ProgressLabel:Set("Postęp worków: " .. cur .. " / " .. lim .. " (FULL! 💰)")
end
end
end)
task.wait(0.5)
end
end)
Rayfield:LoadConfiguration()
Script worked? 🚀 Boost it to #1 so others find it too.
Similar Scripts
1,768
25 days ago
Free
Driving Empire
Driving Empire script v1.4.6 keyless | Auto drive
3,654
2 months ago
Free
Driving Empire
Driving Empire v1.4.6 script by Index | Auto drive
4,514
6 months ago
Key System
Driving Empire
DRIVING EMPIRE AUTO ROB AUTO ARREST (PREMIUM) AUTO FISH AND MORE
8,291
9 months ago
Key System
Driving Empire
Driving empire script
17,135
10 months ago
Free
Driving Empire
Driving Empire auto jobs farm
4,486
11 months ago
Free
driving empire
Auto Destroy Script for Driving | Keyless
🚀
Log in to boost
Boosting rockets this script to #1 on the homepage. A free account takes 30 seconds.
Log in
🚀
Out of boosts!
Grab boosts and rocket your favorite scripts to the top — plus join the booster wall with the RGB ring.
⚡ Go Pro — 10 boosts/month + zero ads
🚀
Boost this script?
It jumps to #1 in Recent Scripts and your avatar joins the booster wall.
🚀
Boosted! You're awesome 💜
Comments (3)
Log in to add a comment.
j71718321776
2 months ago
How do out the script on tge side of my screen im on my phone
vergelalbabladimir229
6 months ago
I'd show you how to convert your script into a loadstring. First, go to Pastebin, then paste your script, scroll down, click "Create Paste," wait a few seconds, then click "Raw," followed by copying the URL from the Pastebin you created. Then open Delta Xeno, etc., and type
scott1015pcmr396
7 months ago
Wasn't capping, ts the best script.