if not game:IsLoaded() then
game.Loaded:Wait()
end
repeat task.wait() until game.Players.LocalPlayer
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local TeleportService = game:GetService("TeleportService")
local VirtualUser = game:GetService("VirtualUser")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local Camera = workspace.CurrentCamera
--==================================================
-- WINDOW
--==================================================
local Window = Rayfield:CreateWindow({
Name = "BRP Helper v3",
LoadingTitle = "BRP Helper v3",
LoadingSubtitle = "Enhanced",
Theme = "Amethyst",
ConfigurationSaving = {
Enabled = false
},
Discord = {
Enabled = false,
Invite = "noinvitelink",
RememberJoins = false
},
KeySystem = false
})
local InfoTab = Window:CreateTab("Info", nil)
local SchutzTab = Window:CreateTab("Schutz", nil)
local MoveTab = Window:CreateTab("Bewegung", nil)
local AutoTab = Window:CreateTab("Auto & Helis", nil)
local SpielerTab = Window:CreateTab("Spieler", nil)
local VisualTab = Window:CreateTab("Visual", nil)
local ExtraTab = Window:CreateTab("Extra", nil)
local AdminTab = Window:CreateTab("Admin", nil)
--==================================================
-- VARIABLES
--==================================================
local godmode = false
local antiDown = false
local antiBleed = false
local hideDownUI = false
local antiSit = false
local antiVoid = false
local antiSurrender = false
local antiAfk = true
local speedOn = false
local currentSpeed = 16
local noclipOn = false
local infJump = false
local clickCarTP = false
local clickFootTP = false
local pushCars = false
local pushPower = 1000
local tweenTime = 1.2
local selectedPlayer = "Niemand"
local selectedVehicle = "RD-Christoph-Bodensee"
local currentTween = nil
local noclipConn = nil
local freecamConn = nil
local afkConn = nil
local fullbrightConn = nil
local freecamOn = false
local freecamSpeed = 60
local spectating = false
local freecamPosition = nil
local freecamRotation = Vector2.new(0, 0)
local freecamToggleLock = false
local fullbright = false
local espOn = false
local currentFOV = 70
local heliESP = false
local autoRejoin = false
local autoRespawn = false
local respawnPending = false
local rejoinPending = false
local spawnAtPlayer = true
local spawnHeight = 10
local vehicleList = {}
--==================================================
-- ESP FOLDER
--==================================================
local oldESP = workspace:FindFirstChild("BRPESP")
if oldESP then
oldESP:Destroy()
end
local espFolder = Instance.new("Folder")
espFolder.Name = "BRPESP"
espFolder.Parent = workspace
--==================================================
-- PUSH STATUS GUI
--==================================================
local oldPushStatus = PlayerGui:FindFirstChild("BRPPushStatus")
if oldPushStatus then
oldPushStatus:Destroy()
end
local pushStatusGui = Instance.new("ScreenGui")
pushStatusGui.Name = "BRPPushStatus"
pushStatusGui.ResetOnSpawn = false
pushStatusGui.IgnoreGuiInset = true
pushStatusGui.DisplayOrder = 5000
pushStatusGui.Parent = PlayerGui
local pushStatus = Instance.new("TextLabel")
pushStatus.AnchorPoint = Vector2.new(0.5, 0)
pushStatus.Position = UDim2.new(0.5, 0, 0, 15)
pushStatus.Size = UDim2.new(0, 290, 0, 42)
pushStatus.BackgroundTransparency = 0.2
pushStatus.Font = Enum.Font.GothamBold
pushStatus.TextSize = 18
pushStatus.TextColor3 = Color3.new(1, 1, 1)
pushStatus.Text = "AUTOS SCHIEBEN: AUS"
pushStatus.Visible = false
pushStatus.Parent = pushStatusGui
local pushCorner = Instance.new("UICorner")
pushCorner.CornerRadius = UDim.new(0, 10)
pushCorner.Parent = pushStatus
--==================================================
-- SPECTATE GUI
--==================================================
local oldSpec = PlayerGui:FindFirstChild("BRPSpecExit")
if oldSpec then
oldSpec:Destroy()
end
local specGui = Instance.new("ScreenGui")
specGui.Name = "BRPSpecExit"
specGui.ResetOnSpawn = false
specGui.IgnoreGuiInset = true
specGui.DisplayOrder = 3000
specGui.Enabled = false
specGui.Parent = PlayerGui
local specBtn = Instance.new("TextButton")
specBtn.AnchorPoint = Vector2.new(1, 1)
specBtn.Position = UDim2.new(1, -24, 1, -24)
specBtn.Size = UDim2.new(0, 170, 0, 46)
specBtn.BackgroundColor3 = Color3.fromRGB(150, 40, 55)
specBtn.Text = "Spectate aus"
specBtn.Font = Enum.Font.GothamBold
specBtn.TextColor3 = Color3.new(1, 1, 1)
specBtn.TextSize = 18
specBtn.Parent = specGui
Instance.new("UICorner", specBtn).CornerRadius = UDim.new(0, 12)
--==================================================
-- SELF MARKER
--==================================================
local marker = Instance.new("Part")
marker.Name = "BRPSelfMarker"
marker.Anchored = true
marker.CanCollide = false
marker.CanQuery = false
marker.Transparency = 1
marker.Size = Vector3.new(1, 1, 1)
marker.Parent = workspace
local bill = Instance.new("BillboardGui")
bill.Size = UDim2.new(0, 120, 0, 30)
bill.AlwaysOnTop = true
bill.StudsOffset = Vector3.new(0, 8, 0)
bill.Parent = marker
local markLab = Instance.new("TextLabel")
markLab.Size = UDim2.new(1, 0, 1, 0)
markLab.BackgroundTransparency = 1
markLab.Font = Enum.Font.GothamBold
markLab.TextSize = 16
markLab.TextColor3 = Color3.fromRGB(120, 220, 255)
markLab.Text = "DU"
markLab.Parent = bill
--==================================================
-- HELPERS
--==================================================
local function notify(title, content)
pcall(function()
Rayfield:Notify({
Title = title,
Content = content,
Duration = 3
})
end)
end
local function updatePushStatus()
if pushCars then
pushStatus.Text = "🚗 AUTOS SCHIEBEN: AN"
pushStatus.Visible = true
else
pushStatus.Text = "🚗 AUTOS SCHIEBEN: AUS"
pushStatus.Visible = false
end
end
local function getChar()
return LocalPlayer.Character
end
local function getHum()
local char = getChar()
return char and char:FindFirstChildOfClass("Humanoid")
end
local function getRoot()
local char = getChar()
return char and char:FindFirstChild("HumanoidRootPart")
end
local function getACS()
local char = getChar()
return char and char:FindFirstChild("ACS_Client")
end
local function copyText(text)
text = tostring(text)
if setclipboard then
pcall(function()
setclipboard(text)
end)
elseif toclipboard then
pcall(function()
toclipboard(text)
end)
end
notify("Kopiert", text)
end
local function hideBewusstlos(hide)
for _, name in ipairs({
"BewusstlosUI",
"BewusstlosUI_Script",
"dead",
"Damage"
}) do
local gui = PlayerGui:FindFirstChild(name)
if gui and gui:IsA("ScreenGui") then
gui.Enabled = not hide
end
end
end
local function toggleGui(name)
local gui = PlayerGui:FindFirstChild(name)
if not gui then
notify("UI", name .. " nicht gefunden")
return
end
if gui:IsA("ScreenGui") then
gui.Enabled = not gui.Enabled
notify("UI", name .. " = " .. tostring(gui.Enabled))
end
end
local function seatInfo()
local hum = getHum()
if not hum or not hum.SeatPart then
return "steht / geht"
end
if hum.SeatPart:IsA("VehicleSeat") then
return "Auto/Heli Sitz"
end
return "Stuhl / Sitz"
end
local function getVehicle()
local hum = getHum()
if not hum or not hum.SeatPart then
return nil
end
return hum.SeatPart:FindFirstAncestorOfClass("Model")
end
local function getMovePart(model)
if not model then
return nil
end
return model.PrimaryPart
or model:FindFirstChildWhichIsA("BasePart", true)
end
local function isVehicleModel(model)
if not model or not model:IsA("Model") then
return false
end
return model:FindFirstChildWhichIsA("VehicleSeat", true) ~= nil
or model:FindFirstChildWhichIsA("Seat", true) ~= nil
end
--==================================================
-- DOWN / REANIMATION
--==================================================
local function clearDown()
local char = getChar()
local hum = getHum()
if not char or not hum then
return
end
pcall(function()
hum.MaxHealth = 100
hum.Health = 100
hum.Sit = false
hum.PlatformStand = false
end)
local down = char:FindFirstChild("IsDown")
if down and down:IsA("BoolValue") then
down.Value = false
end
local rea = char:FindFirstChild("IsRea")
if rea and rea:IsA("BoolValue") then
rea.Value = false
end
local acs = getACS()
if acs then
pcall(function()
acs:SetAttribute("Injured", false)
acs:SetAttribute("Bleeding", false)
acs:SetAttribute("Collapsed", false)
acs:SetAttribute("Tourniquet", false)
acs:SetAttribute("Surrender", false)
acs:SetAttribute("Dragging", false)
end)
end
pcall(function()
LocalPlayer:SetAttribute("Med_Zustand", "wach")
end)
if hideDownUI then
hideBewusstlos(true)
end
end
--==================================================
-- RESPAWN
--==================================================
local function respawnPlayer()
local eventNames = {
"RespawnAntwort",
"RespawnEvent",
"Respawn"
}
for _, name in ipairs(eventNames) do
local event = ReplicatedStorage:FindFirstChild(name)
if event and event:IsA("RemoteEvent") then
local success = pcall(function()
event:FireServer()
end)
if success then
notify("Respawn", "Respawn angefordert")
return true
end
end
end
local success = pcall(function()
LocalPlayer:LoadCharacter()
end)
if success then
notify("Respawn", "Normaler Respawn ausgelöst")
return true
end
notify("Respawn", "Kein Respawn möglich")
return false
end
--==================================================
-- VEHICLE SCANNER
--==================================================
local function scanVehicleList()
local result = {}
local function addVehicle(model)
if model:IsA("Model")
and isVehicleModel(model)
and not table.find(result, model.Name) then
table.insert(result, model.Name)
end
end
local function scan(folder)
for _, obj in ipairs(folder:GetChildren()) do
if obj:IsA("Model") then
addVehicle(obj)
end
if obj:IsA("Folder") or obj:IsA("Model") then
scan(obj)
end
end
end
local vehicles = workspace:FindFirstChild("Vehicles")
if vehicles then
scan(vehicles)
end
local previews = ReplicatedStorage:FindFirstChild("PreviewModels")
if previews then
scan(previews)
end
table.sort(result)
return result
end
--==================================================
-- VEHICLE SPAWN
--==================================================
local function moveSpawnedVehicle(vehicle)
if not spawnAtPlayer then
return
end
local root = getRoot()
if not root or not vehicle then
return
end
pcall(function()
vehicle:PivotTo(
root.CFrame * CFrame.new(
0,
spawnHeight,
-8
)
)
end)
end
local function findNewestVehicle(name)
local vehicles = workspace:FindFirstChild("Vehicles")
if not vehicles then
return nil
end
local newest
for _, obj in ipairs(vehicles:GetChildren()) do
if obj:IsA("Model") and obj.Name == name then
newest = obj
end
end
return newest
end
local function spawnVehicle(vehicleName)
if not getRoot() then
notify("Spawn", "Kein Character gefunden")
return false
end
local event = ReplicatedStorage:FindFirstChild("CarSpawnerEvent")
if not event or not event:IsA("RemoteEvent") then
notify("Spawn", "CarSpawnerEvent nicht gefunden")
return false
end
local success = pcall(function()
event:FireServer(vehicleName)
end)
if not success then
notify("Spawn", "Fehler beim Spawn")
return false
end
notify("Spawn", "Spawn angefordert: " .. tostring(vehicleName))
if spawnAtPlayer then
task.spawn(function()
local deadline = os.clock() + 5
while os.clock() < deadline do
local vehicle = findNewestVehicle(vehicleName)
if vehicle then
moveSpawnedVehicle(vehicle)
break
end
task.wait(0.2)
end
end)
end
return true
end
--==================================================
-- VEHICLE TWEEN
--==================================================
local function tweenVehicle(goal)
local vehicle = getVehicle()
local part = getMovePart(vehicle)
if not vehicle or not part then
notify("Auto", "Du sitzt in keinem Fahrzeug")
return
end
if currentTween then
pcall(function()
currentTween:Cancel()
end)
end
currentTween = TweenService:Create(
part,
TweenInfo.new(
tweenTime,
Enum.EasingStyle.Quad,
Enum.EasingDirection.Out
),
{
CFrame = goal
}
)
currentTween:Play()
currentTween.Completed:Connect(function()
currentTween = nil
end)
notify("Auto", "Tween gestartet")
end
--==================================================
-- FREECAM
--==================================================
local function stopFreecam(silent)
if not freecamOn then
return
end
freecamOn = false
if freecamConn then
freecamConn:Disconnect()
freecamConn = nil
end
if not spectating then
Camera.CameraType = Enum.CameraType.Custom
local hum = getHum()
if hum then
Camera.CameraSubject = hum
end
end
if not silent then
notify("Freecam", "Aus")
end
end
local function startFreecam()
if freecamOn then
return
end
spectating = false
specGui.Enabled = false
local cf = Camera.CFrame
freecamPosition = cf.Position
local rx, ry = cf:ToOrientation()
freecamRotation = Vector2.new(
math.deg(ry),
math.deg(rx)
)
freecamOn = true
Camera.CameraType = Enum.CameraType.Scriptable
if freecamConn then
freecamConn:Disconnect()
end
freecamConn = RunService.RenderStepped:Connect(function(dt)
if not freecamOn then
return
end
Camera.CameraType = Enum.CameraType.Scriptable
local move = Vector3.zero
if UserInputService:IsKeyDown(Enum.KeyCode.W) then
move += Vector3.new(0, 0, -1)
end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then
move += Vector3.new(0, 0, 1)
end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then
move += Vector3.new(-1, 0, 0)
end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then
move += Vector3.new(1, 0, 0)
end
if UserInputService:IsKeyDown(Enum.KeyCode.E) then
move += Vector3.new(0, 1, 0)
end
if UserInputService:IsKeyDown(Enum.KeyCode.Q) then
move += Vector3.new(0, -1, 0)
end
local rotation =
CFrame.Angles(
0,
math.rad(freecamRotation.X),
0
)
*
CFrame.Angles(
math.rad(freecamRotation.Y),
0,
0
)
local speed = freecamSpeed
if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
speed *= 2
end
if move.Magnitude > 0 then
freecamPosition +=
rotation:VectorToWorldSpace(move.Unit)
* speed
* dt
end
Camera.CFrame =
CFrame.new(freecamPosition)
* rotation
end)
notify("Freecam", "AN")
end
local function toggleFreecam()
if freecamToggleLock then
return
end
freecamToggleLock = true
if freecamOn then
stopFreecam()
else
startFreecam()
end
task.delay(0.25, function()
freecamToggleLock = false
end)
end
--==================================================
-- SPECTATE
--==================================================
local function stopSpectate()
spectating = false
specGui.Enabled = false
if not freecamOn then
Camera.CameraType = Enum.CameraType.Custom
local hum = getHum()
if hum then
Camera.CameraSubject = hum
end
end
notify("Spectate", "Aus")
end
local function startSpectate(player)
if not player or not player.Character then
notify("Spectate", "Kein Character")
return
end
local hum = player.Character:FindFirstChildOfClass("Humanoid")
if not hum then
notify("Spectate", "Kein Humanoid")
return
end
if freecamOn then
stopFreecam(true)
end
spectating = true
specGui.Enabled = true
Camera.CameraType = Enum.CameraType.Custom
Camera.CameraSubject = hum
notify("Spectate", player.DisplayName)
end
specBtn.MouseButton1Click:Connect(stopSpectate)
--==================================================
-- INFO
--==================================================
local infoLabel = InfoTab:CreateParagraph({
Title = "Status",
Content = "Lädt..."
})
local function refreshInfo()
local root = getRoot()
local pos = "-"
if root then
pos = string.format(
"%d, %d, %d",
root.Position.X,
root.Position.Y,
root.Position.Z
)
end
local text = table.concat({
"Name: " .. LocalPlayer.DisplayName,
"Team: " .. tostring(LocalPlayer:GetAttribute("CurrentTeamName")),
"Rolle: " .. tostring(LocalPlayer:GetAttribute("OverheadRoleText")),
"Zustand: " .. tostring(LocalPlayer:GetAttribute("Med_Zustand")),
"SafeZone: " .. tostring(LocalPlayer:GetAttribute("InSafeZone")),
"Sitz: " .. seatInfo(),
"Position: " .. pos,
"Spieler: " .. #Players:GetPlayers(),
"Personalnummer: " .. tostring(LocalPlayer:GetAttribute("PersonalNumber")),
"Notrufkennung: " .. tostring(LocalPlayer:GetAttribute("BRP_Notrufkennung")),
"Blutgruppe: " .. tostring(LocalPlayer:GetAttribute("BloodGroup"))
}, "\n")
pcall(function()
infoLabel:Set(text)
end)
end
InfoTab:CreateButton({
Name = "Status aktualisieren",
Callback = refreshInfo
})
InfoTab:CreateButton({
Name = "Koordinaten kopieren",
Callback = function()
local root = getRoot()
if root then
copyText(string.format(
"%.1f, %.1f, %.1f",
root.Position.X,
root.Position.Y,
root.Position.Z
))
end
end
})
InfoTab:CreateButton({
Name = "Notrufnummer kopieren",
Callback = function()
copyText(LocalPlayer:GetAttribute("BRP_Notrufkennung"))
end
})
InfoTab:CreateButton({
Name = "Personalnummer kopieren",
Callback = function()
copyText(LocalPlayer:GetAttribute("PersonalNumber"))
end
})
--==================================================
-- SCHUTZ
--==================================================
SchutzTab:CreateToggle({
Name = "Anti AFK",
CurrentValue = true,
Callback = function(v)
antiAfk = v
if afkConn then
afkConn:Disconnect()
afkConn = nil
end
if v then
afkConn = LocalPlayer.Idled:Connect(function()
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.new())
end)
end
end
})
SchutzTab:CreateToggle({
Name = "Unsterblichkeit HP",
CurrentValue = false,
Callback = function(v)
godmode = v
if v then
clearDown()
end
end
})
SchutzTab:CreateToggle({
Name = "Anti Down",
CurrentValue = false,
Callback = function(v)
antiDown = v
if v then
clearDown()
end
end
})
SchutzTab:CreateToggle({
Name = "Anti Blutung",
CurrentValue = false,
Callback = function(v)
antiBleed = v
end
})
SchutzTab:CreateToggle({
Name = "Anti Surrender",
CurrentValue = false,
Callback = function(v)
antiSurrender = v
end
})
SchutzTab:CreateToggle({
Name = "Bewusstlos UI aus",
CurrentValue = false,
Callback = function(v)
hideDownUI = v
hideBewusstlos(v)
end
})
SchutzTab:CreateToggle({
Name = "Anti Sit",
CurrentValue = false,
Callback = function(v)
antiSit = v
end
})
SchutzTab:CreateToggle({
Name = "Anti Void",
CurrentValue = false,
Callback = function(v)
antiVoid = v
end
})
SchutzTab:CreateToggle({
Name = "Auto Respawn",
CurrentValue = false,
Callback = function(v)
autoRespawn = v
end
})
SchutzTab:CreateButton({
Name = "⭐ RESPAWN ⭐",
Callback = respawnPlayer
})
SchutzTab:CreateButton({
Name = "Jetzt reanimieren",
Callback = function()
clearDown()
notify("Schutz", "Reanimation ausgeführt")
end
})
--==================================================
-- BEWEGUNG
--==================================================
MoveTab:CreateToggle({
Name = "WalkSpeed",
CurrentValue = false,
Callback = function(v)
speedOn = v
local hum = getHum()
if hum then
hum.WalkSpeed = v and currentSpeed or 16
end
end
})
MoveTab:CreateSlider({
Name = "Speed",
Range = {12, 100},
Increment = 1,
CurrentValue = 16,
Callback = function(v)
currentSpeed = v
if speedOn then
local hum = getHum()
if hum then
hum.WalkSpeed = v
end
end
end
})
MoveTab:CreateToggle({
Name = "Infinite Jump",
CurrentValue = false,
Callback = function(v)
infJump = v
end
})
MoveTab:CreateToggle({
Name = "Noclip",
CurrentValue = false,
Callback = function(v)
noclipOn = v
if noclipConn then
noclipConn:Disconnect()
noclipConn = nil
end
if v then
noclipConn = RunService.Stepped:Connect(function()
local char = getChar()
if char then
for _, part in ipairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end
end)
end
end
})
MoveTab:CreateToggle({
Name = "Freecam",
CurrentValue = false,
Callback = function(v)
if v then
startFreecam()
else
stopFreecam()
end
end
})
MoveTab:CreateSlider({
Name = "Freecam Speed",
Range = {20, 200},
Increment = 5,
CurrentValue = 60,
Callback = function(v)
freecamSpeed = v
end
})
MoveTab:CreateToggle({
Name = "Click TP zu Fuß",
CurrentValue = false,
Callback = function(v)
clickFootTP = v
end
})
MoveTab:CreateKeybind({
Name = "Freecam Toggle",
CurrentKeybind = "P",
HoldToInteract = false,
Callback = function()
toggleFreecam()
end
})
--==================================================
-- VEHICLE UI
--==================================================
vehicleList = scanVehicleList()
if #vehicleList == 0 then
vehicleList = {"RD-Christoph-Bodensee"}
end
local vehicleDropdown = AutoTab:CreateDropdown({
Name = "Fahrzeug auswählen",
Options = vehicleList,
CurrentOption = {selectedVehicle},
MultipleOptions = false,
Callback = function(option)
if type(option) == "table" then
selectedVehicle = option[1]
else
selectedVehicle = option
end
end
})
AutoTab:CreateButton({
Name = "Fahrzeugliste aktualisieren",
Callback = function()
vehicleList = scanVehicleList()
if #vehicleList == 0 then
vehicleList = {"RD-Christoph-Bodensee"}
end
pcall(function()
vehicleDropdown:Refresh(vehicleList)
end)
notify(
"Fahrzeuge",
#vehicleList .. " Fahrzeuge gefunden"
)
end
})
AutoTab:CreateButton({
Name = "⭐ FAHRZEUG SPAWNEN ⭐",
Callback = function()
spawnVehicle(selectedVehicle)
end
})
AutoTab:CreateToggle({
Name = "Bei Spieler spawnen",
CurrentValue = true,
Callback = function(v)
spawnAtPlayer = v
end
})
AutoTab:CreateSlider({
Name = "Spawn Höhe",
Range = {0, 50},
Increment = 1,
CurrentValue = 10,
Callback = function(v)
spawnHeight = v
end
})
AutoTab:CreateButton({
Name = "5x Fahrzeug spawnen",
Callback = function()
for i = 1, 5 do
spawnVehicle(selectedVehicle)
task.wait(0.5)
end
end
})
AutoTab:CreateSlider({
Name = "Tween Dauer",
Range = {0.2, 5},
Increment = 0.1,
CurrentValue = 1.2,
Callback = function(v)
tweenTime = v
end
})
AutoTab:CreateButton({
Name = "Auto zu Spieler",
Callback = function()
local target = Players:FindFirstChild(selectedPlayer)
if target
and target.Character
and target.Character:FindFirstChild("HumanoidRootPart") then
tweenVehicle(
target.Character.HumanoidRootPart.CFrame
* CFrame.new(0, 4, 8)
)
else
notify("Auto", "Kein Ziel ausgewählt")
end
end
})
AutoTab:CreateToggle({
Name = "Click Tween Auto",
CurrentValue = false,
Callback = function(v)
clickCarTP = v
end
})
--==================================================
-- AUTOS SCHIEBEN
--==================================================
AutoTab:CreateToggle({
Name = "Autos schieben",
CurrentValue = false,
Callback = function(v)
pushCars = v
updatePushStatus()
end
})
AutoTab:CreateSlider({
Name = "Schiebe-Stärke",
Range = {20, 1000},
Increment = 10,
CurrentValue = 1000,
Callback = function(v)
pushPower = v
end
})
AutoTab:CreateToggle({
Name = "Helikopter ESP",
CurrentValue = false,
Callback = function(v)
heliESP = v
end
})
AutoTab:CreateButton({
Name = "Tween stoppen",
Callback = function()
if currentTween then
pcall(function()
currentTween:Cancel()
end)
currentTween = nil
end
end
})
local vehBox = AutoTab:CreateParagraph({
Title = "Nahe Fahrzeuge",
Content = "-"
})
AutoTab:CreateButton({
Name = "Nahe Fahrzeuge anzeigen",
Callback = function()
local root = getRoot()
if not root then
return
end
local lines = {}
local seen = {}
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("VehicleSeat") or obj:IsA("Seat") then
local model =
obj:FindFirstAncestorOfClass("Model")
if model
and not seen[model]
and isVehicleModel(model) then
seen[model] = true
local part = getMovePart(model)
if part then
local distance =
(part.Position - root.Position).Magnitude
if distance <= 120 then
table.insert(
lines,
model.Name
.. " - "
.. math.floor(distance)
.. "m"
)
end
end
end
end
end
table.sort(lines)
pcall(function()
vehBox:Set(
#lines > 0
and table.concat(lines, "\n")
or "Keine Fahrzeuge in 120m"
)
end)
end
})
--==================================================
-- SPIELER
--==================================================
local playerDropdown = SpielerTab:CreateDropdown({
Name = "Spieler",
Options = {"Niemand"},
CurrentOption = {"Niemand"},
MultipleOptions = false,
Callback = function(option)
if type(option) == "table" then
selectedPlayer = option[1]
else
selectedPlayer = option
end
end
})
local playerListBox = SpielerTab:CreateParagraph({
Title = "Spielerliste",
Content = "..."
})
local function refreshPlayers()
local list = {}
local lines = {}
local myRoot = getRoot()
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
table.insert(list, player.Name)
local distance = "-"
if myRoot
and player.Character
and player.Character:FindFirstChild("HumanoidRootPart") then
distance =
math.floor(
(
player.Character.HumanoidRootPart.Position
- myRoot.Position
).Magnitude
) .. "m"
end
local team =
tostring(
player:GetAttribute("CurrentTeamName") or "-"
)
local med =
tostring(
player:GetAttribute("Med_Zustand") or "-"
)
table.insert(
lines,
player.DisplayName
.. " | "
.. team
.. " | "
.. med
.. " | "
.. distance
)
end
end
if #list == 0 then
list = {"Niemand"}
end
pcall(function()
playerDropdown:Refresh(list)
end)
pcall(function()
playerListBox:Set(
#lines > 0
and table.concat(lines, "\n")
or "Keine anderen Spieler"
)
end)
if not Players:FindFirstChild(selectedPlayer) then
selectedPlayer = "Niemand"
end
end
SpielerTab:CreateButton({
Name = "Liste aktualisieren",
Callback = refreshPlayers
})
SpielerTab:CreateButton({
Name = "Spectate",
Callback = function()
local target = Players:FindFirstChild(selectedPlayer)
if target then
startSpectate(target)
else
notify("Spectate", "Kein Spieler ausgewählt")
end
end
})
SpielerTab:CreateButton({
Name = "Spectate aus",
Callback = stopSpectate
})
SpielerTab:CreateButton({
Name = "Spielerinfo kopieren",
Callback = function()
local target = Players:FindFirstChild(selectedPlayer)
if not target then
return
end
local info = string.format(
"Name: %s\nTeam: %s\nZustand: %s\nNotruf: %s\nPersonalnummer: %s",
target.DisplayName,
target:GetAttribute("CurrentTeamName") or "-",
target:GetAttribute("Med_Zustand") or "-",
target:GetAttribute("BRP_Notrufkennung") or "-",
target:GetAttribute("PersonalNumber") or "-"
)
copyText(info)
end
})
--==================================================
-- VISUAL
--==================================================
local function applyFullbright()
if not fullbright then
return
end
Lighting.Brightness = 2
Lighting.ClockTime = 14
Lighting.FogEnd = 100000
Lighting.GlobalShadows = false
Lighting.EnvironmentDiffuseScale = 1
Lighting.EnvironmentSpecularScale = 1
Lighting.Ambient = Color3.new(1, 1, 1)
Lighting.OutdoorAmbient = Color3.new(1, 1, 1)
end
local function startFullbright()
if fullbrightConn then
fullbrightConn:Disconnect()
end
applyFullbright()
fullbrightConn = RunService.Heartbeat:Connect(function()
if fullbright then
applyFullbright()
end
end)
end
local function stopFullbright()
if fullbrightConn then
fullbrightConn:Disconnect()
fullbrightConn = nil
end
Lighting.Brightness = 1
Lighting.ClockTime = 14
Lighting.FogEnd = 1000
Lighting.GlobalShadows = true
end
VisualTab:CreateToggle({
Name = "Fullbright",
CurrentValue = false,
Callback = function(v)
fullbright = v
if v then
startFullbright()
else
stopFullbright()
end
end
})
VisualTab:CreateSlider({
Name = "FOV",
Range = {50, 120},
Increment = 1,
CurrentValue = 70,
Callback = function(v)
currentFOV = v
Camera.FieldOfView = v
end
})
VisualTab:CreateSlider({
Name = "Nebel Ende",
Range = {100, 100000},
Increment = 100,
CurrentValue = 1000,
Callback = function(v)
if not fullbright then
Lighting.FogEnd = v
end
end
})
VisualTab:CreateSlider({
Name = "Helligkeit",
Range = {0, 5},
Increment = 0.1,
CurrentValue = 1,
Callback = function(v)
if not fullbright then
Lighting.Brightness = v
end
end
})
VisualTab:CreateToggle({
Name = "ESP",
CurrentValue = false,
Callback = function(v)
espOn = v
if not v then
espFolder:ClearAllChildren()
end
end
})
VisualTab:CreateButton({
Name = "StatusUI",
Callback = function()
toggleGui("StatusUI")
end
})
VisualTab:CreateButton({
Name = "Handy",
Callback = function()
toggleGui("Handy")
end
})
VisualTab:CreateButton({
Name = "Radio",
Callback = function()
toggleGui("Radio")
end
})
VisualTab:CreateButton({
Name = "Pager",
Callback = function()
toggleGui("PagerUI")
end
})
VisualTab:CreateButton({
Name = "Leitstellenpanel",
Callback = function()
toggleGui("LeitstellenpanelUI")
end
})
VisualTab:CreateButton({
Name = "Polizei GUI",
Callback = function()
toggleGui("polizei")
end
})
--==================================================
-- EXTRA
--==================================================
ExtraTab:CreateToggle({
Name = "Auto Rejoin",
CurrentValue = false,
Callback = function(v)
autoRejoin = v
end
})
ExtraTab:CreateButton({
Name = "Rejoin",
Callback = function()
pcall(function()
TeleportService:Teleport(
game.PlaceId,
LocalPlayer
)
end)
end
})
ExtraTab:CreateButton({
Name = "Server verlassen",
Callback = function()
pcall(function()
TeleportService:Teleport(
game.PlaceId,
LocalPlayer
)
end)
end
})
ExtraTab:CreateButton({
Name = "Listen aktualisieren",
Callback = function()
refreshPlayers()
refreshInfo()
end
})
ExtraTab:CreateButton({
Name = "Alle GUIs ausblenden",
Callback = function()
for _, gui in ipairs(PlayerGui:GetChildren()) do
if gui:IsA("ScreenGui") and gui ~= specGui then
gui.Enabled = false
end
end
end
})
ExtraTab:CreateButton({
Name = "Alle GUIs einblenden",
Callback = function()
for _, gui in ipairs(PlayerGui:GetChildren()) do
if gui:IsA("ScreenGui") then
gui.Enabled = true
end
end
specGui.Enabled = spectating
end
})
--==================================================
-- ADMIN
--==================================================
AdminTab:CreateParagraph({
Title = "Admin",
Content = "Nur für Funktionen verwenden, für die du im Spiel berechtigt bist."
})
AdminTab:CreateButton({
Name = "Wetter: Regen",
Callback = function()
local weatherFunc =
ReplicatedStorage:FindFirstChild("WeatherFunction")
if weatherFunc and weatherFunc:IsA("RemoteFunction") then
local success = pcall(function()
weatherFunc:InvokeServer("Rain")
end)
if success then
notify("Wetter", "Regen angefordert")
end
else
notify("Wetter", "WeatherFunction nicht gefunden")
end
end
})
AdminTab:CreateButton({
Name = "Spawn ausgewähltes Fahrzeug",
Callback = function()
spawnVehicle(selectedVehicle)
end
})
--==================================================
-- INPUT
--==================================================
UserInputService.InputBegan:Connect(function(input, processed)
if processed then
return
end
--==================================================
-- C = AUTOS SCHIEBEN
--==================================================
if input.KeyCode == Enum.KeyCode.C then
pushCars = not pushCars
updatePushStatus()
notify(
"Autos schieben",
pushCars
and "AN – C erneut zum Ausschalten"
or "AUS"
)
return
end
--==================================================
-- MITTLERE MAUSTASTE
--==================================================
if input.UserInputType == Enum.UserInputType.MouseButton3 then
local mouse = LocalPlayer:GetMouse()
if not mouse.Hit then
return
end
if clickCarTP and getVehicle() then
tweenVehicle(
CFrame.new(
mouse.Hit.Position
+ Vector3.new(0, 4, 0)
)
)
elseif clickFootTP then
local root = getRoot()
if root then
root.CFrame =
CFrame.new(
mouse.Hit.Position
+ Vector3.new(0, 3, 0)
)
end
end
end
end)
--==================================================
-- INFINITE JUMP
--==================================================
UserInputService.JumpRequest:Connect(function()
if not infJump then
return
end
local hum = getHum()
if hum then
hum:ChangeState(
Enum.HumanoidStateType.Jumping
)
end
end)
--==================================================
-- CHARACTER RESPAWN
--==================================================
LocalPlayer.CharacterAdded:Connect(function(character)
task.wait(1)
if hideDownUI then
hideBewusstlos(true)
end
if speedOn then
local hum =
character:FindFirstChildOfClass("Humanoid")
if hum then
hum.WalkSpeed = currentSpeed
end
end
if noclipOn then
if noclipConn then
noclipConn:Disconnect()
end
noclipConn =
RunService.Stepped:Connect(function()
for _, part in
ipairs(character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end)
end
end)
--==================================================
-- MAIN LOOP
--==================================================
RunService.Heartbeat:Connect(function()
local char = getChar()
local hum = getHum()
local root = getRoot()
-- Marker
if root then
marker.Position = root.Position
end
-- Spectate GUI
specGui.Enabled = spectating
-- Godmode
if godmode and hum then
pcall(function()
hum.MaxHealth = 100
hum.Health = 100
end)
end
-- Anti Down
if antiDown then
clearDown()
end
-- Anti Bleed / Surrender
if antiBleed or antiSurrender then
local acs = getACS()
if acs then
pcall(function()
if antiBleed then
acs:SetAttribute(
"Bleeding",
false
)
acs:SetAttribute(
"Collapsed",
false
)
acs:SetAttribute(
"Injured",
false
)
end
if antiSurrender then
acs:SetAttribute(
"Surrender",
false
)
end
end)
end
end
-- Anti Sit
if antiSit
and hum
and hum.Sit
and not hum.SeatPart then
hum.Sit = false
end
-- Anti Void
if antiVoid
and root
and root.Position.Y < -50 then
root.CFrame =
CFrame.new(0, 20, 0)
end
-- Speed
if speedOn
and hum
and not hum.SeatPart then
hum.WalkSpeed = currentSpeed
end
-- Down UI
if hideDownUI then
hideBewusstlos(true)
end
-- FOV
Camera.FieldOfView = currentFOV
--==================================================
-- AUTOS SCHIEBEN
--==================================================
if pushCars
and char
and root
and hum
and not hum.SeatPart then
local params = OverlapParams.new()
params.FilterType =
Enum.RaycastFilterType.Exclude
params.FilterDescendantsInstances = {
char
}
local hits =
workspace:GetPartBoundsInBox(
root.CFrame,
Vector3.new(10, 8, 10),
params
)
local seen = {}
local direction =
hum.MoveDirection.Magnitude > 0.05
and hum.MoveDirection
or root.CFrame.LookVector
for _, part in ipairs(hits) do
local model =
part:FindFirstAncestorOfClass("Model")
if model
and not seen[model]
and isVehicleModel(model) then
seen[model] = true
local movePart =
getMovePart(model)
if movePart then
pcall(function()
movePart.AssemblyLinearVelocity =
direction.Unit
* pushPower
movePart.AssemblyAngularVelocity =
Vector3.zero
end)
end
end
end
end
--==================================================
-- AUTO RESPAWN
--==================================================
if autoRespawn
and not respawnPending then
local currentCharacter =
LocalPlayer.Character
local currentHum =
currentCharacter
and currentCharacter:
FindFirstChildOfClass("Humanoid")
if currentHum
and currentHum.Health <= 0 then
respawnPending = true
task.delay(3, function()
if autoRespawn then
respawnPlayer()
end
task.delay(2, function()
respawnPending = false
end)
end)
end
end
end)
--==================================================
-- ESP / INFO LOOP
--==================================================
task.spawn(function()
while task.wait(1) do
refreshInfo()
refreshPlayers()
if espOn then
espFolder:ClearAllChildren()
local myRoot = getRoot()
if myRoot then
for _, player in
ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer
and player.Character
and player.Character:
FindFirstChild("HumanoidRootPart") then
local character =
player.Character
local root =
character.HumanoidRootPart
local highlight =
Instance.new("Highlight")
highlight.Adornee =
character
highlight.FillTransparency =
0.7
local team =
tostring(
player:GetAttribute(
"CurrentTeamName"
) or ""
)
if team:find("Polizei") then
highlight.FillColor =
Color3.fromRGB(
0,
100,
255
)
elseif team:find("Feuerwehr") then
highlight.FillColor =
Color3.fromRGB(
255,
100,
0
)
elseif team:find("Rettungsdienst") then
highlight.FillColor =
Color3.fromRGB(
255,
100,
0
)
else
highlight.FillColor =
Color3.fromRGB(
140,
90,
255
)
end
highlight.Parent =
espFolder
local billboard =
Instance.new("BillboardGui")
billboard.Size =
UDim2.new(
0,
180,
0,
46
)
billboard.AlwaysOnTop = true
billboard.StudsOffset =
Vector3.new(0, 3, 0)
billboard.Adornee = root
billboard.Parent = espFolder
local label =
Instance.new("TextLabel")
label.Size =
UDim2.new(1, 0, 1, 0)
label.BackgroundTransparency = 1
label.Font = Enum.Font.GothamBold
label.TextSize = 13
label.TextColor3 =
Color3.new(1, 1, 1)
label.Text =
player.DisplayName
.. "\n"
.. team
.. " "
.. math.floor(
(
root.Position
- myRoot.Position
).Magnitude
)
.. "m"
label.Parent = billboard
end
end
end
end
-- Auto Rejoin
if autoRejoin
and #Players:GetPlayers() < 2
and not rejoinPending then
rejoinPending = true
task.delay(5, function()
if autoRejoin then
pcall(function()
TeleportService:Teleport(
game.PlaceId,
LocalPlayer
)
end)
end
rejoinPending = false
end)
elseif #Players:GetPlayers() >= 2 then
rejoinPending = false
end
end
end)
--==================================================
-- ANTI AFK
--==================================================
if antiAfk then
afkConn =
LocalPlayer.Idled:Connect(function()
VirtualUser:CaptureController()
VirtualUser:ClickButton2(
Vector2.new()
)
end)
end
--==================================================
-- INITIALIZE
--==================================================
refreshPlayers()
refreshInfo()
updatePushStatus()
notify(
"BRP Helper v3",
"Geladen"
)
print("==============================")
print("BRP Helper v3")
print("Player: " .. LocalPlayer.Name)
print(
"Team: "
.. tostring(
LocalPlayer:GetAttribute(
"CurrentTeamName"
)
)
)
print(
"Fahrzeuge: "
.. tostring(#vehicleList)
)
print("==============================")