local CoreGui = game:GetService("CoreGui")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "PlayerCrasherGUI"
screenGui.Parent = CoreGui
local GUI_WIDTH = 250
local GUI_HEIGHT = 180
local frame = Instance.new("Frame")
frame.Parent = screenGui
frame.Size = UDim2.new(0, GUI_WIDTH, 0, GUI_HEIGHT)
frame.BackgroundColor3 = Color3.new(0.3, 0.3, 0.3)
frame.BackgroundTransparency = 0.35
frame.BorderSizePixel = 0
frame.Position = UDim2.new(0.5, -GUI_WIDTH/2, 0.5, -GUI_HEIGHT/2)
frame.Active = true
frame.Draggable = true
local corner = Instance.new("UICorner")
corner.Parent = frame
corner.CornerRadius = UDim.new(0.2, 0)
local borderFrame = Instance.new("Frame")
borderFrame.Size = frame.Size
borderFrame.Position = frame.Position
borderFrame.BackgroundTransparency = 1
borderFrame.AnchorPoint = frame.AnchorPoint
borderFrame.ZIndex = frame.ZIndex - 1
borderFrame.Parent = screenGui
local borderCorner = frame.UICorner:Clone()
borderCorner.Parent = borderFrame
local borderStroke = Instance.new("UIStroke")
borderStroke.Thickness = 3
borderStroke.LineJoinMode = Enum.LineJoinMode.Round
borderStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Contextual
borderStroke.Parent = borderFrame
frame:GetPropertyChangedSignal("Position"):Connect(function()
borderFrame.Position = frame.Position
end)
frame:GetPropertyChangedSignal("Size"):Connect(function()
borderFrame.Size = frame.Size
end)
local titleLabel = Instance.new("TextLabel")
titleLabel.Parent = frame
titleLabel.Size = UDim2.new(0.9, 0, 0.15, 0)
titleLabel.Position = UDim2.new(0.05, 0, 0.05, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Player Crasher"
titleLabel.TextColor3 = Color3.new(1, 1, 1)
titleLabel.TextScaled = true
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextStrokeTransparency = 0.7
local textBox = Instance.new("TextBox")
textBox.Parent = frame
textBox.Size = UDim2.new(0.9, 0, 0.2, 0)
textBox.Position = UDim2.new(0.05, 0, 0.25, 0)
textBox.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
textBox.BackgroundTransparency = 0.35
textBox.Text = ""
textBox.PlaceholderText = "Enter nicknames (comma separated)"
textBox.TextColor3 = Color3.new(1, 1, 1)
textBox.TextScaled = true
textBox.BorderSizePixel = 0
textBox.Font = Enum.Font.Gotham
local textBoxCorner = Instance.new("UICorner")
textBoxCorner.Parent = textBox
textBoxCorner.CornerRadius = UDim.new(0.2, 0)
local crashButton = Instance.new("TextButton")
crashButton.Parent = frame
crashButton.Size = UDim2.new(0.9, 0, 0.25, 0)
crashButton.Position = UDim2.new(0.05, 0, 0.5, 0)
crashButton.BackgroundColor3 = Color3.new(0.3, 0.3, 0.3)
crashButton.BackgroundTransparency = 0.35
crashButton.Text = "Start Crash | Off"
crashButton.TextColor3 = Color3.new(1, 1, 1)
crashButton.TextScaled = true
crashButton.BorderSizePixel = 0
crashButton.Font = Enum.Font.GothamBold
local crashButtonCorner = Instance.new("UICorner")
crashButtonCorner.Parent = crashButton
crashButtonCorner.CornerRadius = UDim.new(0.2, 0)
local statusLabel = Instance.new("TextLabel")
statusLabel.Parent = frame
statusLabel.Size = UDim2.new(0.9, 0, 0.15, 0)
statusLabel.Position = UDim2.new(0.05, 0, 0.8, 0)
statusLabel.BackgroundTransparency = 1
statusLabel.Text = "Status: Ready"
statusLabel.TextColor3 = Color3.new(1, 1, 1)
statusLabel.TextScaled = true
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextStrokeTransparency = 0.7
local isCrashing = false
local crashConnection = nil
local targetPlayers = {}
local function splitPlayersString(input)
local players = {}
for playerName in string.gmatch(input, "([^,]+)") do
playerName = string.gsub(playerName, "^%s*(.-)%s*$", "%1") -- Убираем пробелы по краям
if playerName ~= "" then
table.insert(players, playerName)
end
end
return players
end
local function getPlayer(name)
if name == "" then return nil end
local lowerName = string.lower(name)
for _, p in pairs(Players:GetPlayers()) do
if string.lower(p.Name) == lowerName then
return p
end
end
for _, p in pairs(Players:GetPlayers()) do
if string.lower(p.DisplayName) == lowerName then
return p
end
end
for _, p in pairs(Players:GetPlayers()) do
if string.find(string.lower(p.Name), lowerName, 1, true) then
return p
end
end
for _, p in pairs(Players:GetPlayers()) do
if string.find(string.lower(p.DisplayName), lowerName, 1, true) then
return p
end
end
return nil
end
local function getMultiplePlayers(namesString)
local playerNames = splitPlayersString(namesString)
local foundPlayers = {}
for _, name in ipairs(playerNames) do
local player = getPlayer(name)
if player then
table.insert(foundPlayers, player)
end
end
return foundPlayers
end
local function executeCrash()
if #targetPlayers == 0 then
statusLabel.Text = "Status: No players found"
return
end
local backpack = Players.LocalPlayer.Backpack
local assault = backpack:FindFirstChild("Assault")
local gunScript = assault and assault:FindFirstChild("GunScript_Local")
if not gunScript then
statusLabel.Text = "Status: Weapon not found"
return
end
local muzzleEffect = gunScript:FindFirstChild("MuzzleEffect")
local hitEffect = gunScript:FindFirstChild("HitEffect")
local remote = ReplicatedStorage.RE:FindFirstChild("1Gu1n")
if not remote then
statusLabel.Text = "Status: Remote not found"
return
end
local activePlayers = 0
for _, player in ipairs(targetPlayers) do
if player and player.Character then
local humanoidRootPart = player.Character:FindFirstChild("HumanoidRootPart")
if humanoidRootPart then
local args = {
[1] = humanoidRootPart,
[2] = humanoidRootPart,
[3] = Vector3.new(99999998430674940, 99999998430674940, 99999998430674940),
[4] = Vector3.new(-5.401659965515137, 3.7849464416503906, 14.209653854370117),
[5] = muzzleEffect,
[6] = hitEffect,
[7] = 0,
[8] = 0,
[9] = {
[1] = false
},
[10] = {
[1] = 25,
[2] = Vector3.new(100, 100, 100),
[3] = BrickColor.new(29),
[4] = 0.25,
[5] = Enum.Material.SmoothPlastic,
[6] = 0.25
},
[11] = true,
[12] = false
}
remote:FireServer(unpack(args))
activePlayers = activePlayers + 1
end
end
end
if activePlayers > 0 then
statusLabel.Text = "Status: Crashing " .. activePlayers .. " players"
else
statusLabel.Text = "Status: No valid players"
end
end
local function toggleCrash()
isCrashing = not isCrashing
if isCrashing then
local playersInput = textBox.Text
if playersInput == "" then
statusLabel.Text = "Status: Enter nicknames first!"
isCrashing = false
return
end
targetPlayers = getMultiplePlayers(playersInput)
if #targetPlayers == 0 then
statusLabel.Text = "Status: No players found"
isCrashing = false
return
end
crashButton.Text = "Start Crash | ON"
crashButton.BackgroundColor3 = Color3.fromRGB(255, 75, 75)
local playerNames = {}
for _, player in ipairs(targetPlayers) do
table.insert(playerNames, player.Name)
end
statusLabel.Text = "Status: Found: " .. table.concat(playerNames, ", ")
crashConnection = RunService.Heartbeat:Connect(function()
executeCrash()
end)
else
crashButton.Text = "Start Crash | Off"
crashButton.BackgroundColor3 = Color3.fromRGB(0.3, 0.3, 0.3)
statusLabel.Text = "Status: Stopped"
if crashConnection then
crashConnection:Disconnect()
crashConnection = nil
end
end
end
local function updatePlayerSuggestions()
local input = textBox.Text
if input == "" then
statusLabel.Text = "Status: Ready"
targetPlayers = {}
return
end
local foundPlayers = getMultiplePlayers(input)
if #foundPlayers > 0 then
local playerNames = {}
for _, player in ipairs(foundPlayers) do
table.insert(playerNames, player.Name)
end
statusLabel.Text = "Status: Found: " .. table.concat(playerNames, ", ")
targetPlayers = foundPlayers
else
statusLabel.Text = "Status: Players not found"
targetPlayers = {}
end
end
textBox.FocusLost:Connect(function(enterPressed)
if enterPressed then
updatePlayerSuggestions()
end
end)
textBox:GetPropertyChangedSignal("Text"):Connect(function()
updatePlayerSuggestions()
end)
crashButton.MouseButton1Click:Connect(toggleCrash)
Players.PlayerAdded:Connect(updatePlayerSuggestions)
Players.PlayerRemoving:Connect(updatePlayerSuggestions)
game:GetService("Players").LocalPlayer.CharacterRemoving:Connect(function()
if crashConnection then
crashConnection:Disconnect()
crashConnection = nil
end
isCrashing = false
crashButton.Text = "Start Crash | Off"
crashButton.BackgroundColor3 = Color3.fromRGB(0.3, 0.3, 0.3)
statusLabel.Text = "Status: Character removed"
end)
local args = {
[1] = "Assault",
[2] = "StockAssault"
}
game:GetService("ReplicatedStorage").Remotes.GunEquip:InvokeServer(unpack(args))
updatePlayerSuggestions()