Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if not (getrenv and (secret500 or debug.setupvalue)) then
- error("Your exploit is not supported.")
- return
- end
- local start = tick()
- local gui = game:GetObjects("rbxassetid://1568387041")[1]
- gui.Parent = game:GetService("CoreGui")
- gui = gui:WaitForChild("Main")
- local buttons = gui:WaitForChild("Buttons")
- local bar = buttons:WaitForChild("Underline")
- local menus = gui:WaitForChild("Menus")
- local inputService = game:GetService("UserInputService")
- local players = game:GetService("Players")
- local client = players.LocalPlayer
- local remote = workspace.Remote
- local folder = client.PlayerGui:FindFirstChild("ESP")
- local name_model = game:GetService("ReplicatedStorage"):FindFirstChild("AR Tools 4")
- if not folder then
- local a = Instance.new('Folder', client.PlayerGui)
- a.Name = 'ESP'
- folder = a
- end
- folder:ClearAllChildren()
- local settings = {
- SuperJump = false,
- ChatSpam = false,
- InfAmmo = false,
- ESP = false,
- God = false,
- ChatSpams = {
- "D3D9 is a leet ROBLOX haxxor";
- "get rekt scrubs";
- "haha tacos r fun";
- "spam";
- "be quiet noob";
- "1x1x1x1 is back";
- };
- }
- local function client_message(text, isGood)
- client.PlayerGui.MessageSystem.NewMessage.Color.Value = isGood and 'Green' or 'Red'
- client.PlayerGui.MessageSystem.NewMessage.Value = text
- end
- local warn = function(...)
- local x = {...}
- client_message(unpack(x), false)
- end
- local isDebug = (secret500 or debug.setupvalue)
- for name, func in next, {["uhm"] = function() return error end, ["callchk"] = function() return true end} do
- isDebug(getrenv().shared.fireserver, name, func)
- end
- local fireserver = function(name, ...)
- return getrenv().shared.fireserver(name, ...)
- end
- if not name_model then
- remote.GroupCreate:FireServer("AR Tools 4")
- game.Lighting.Groups:WaitForChild("AR Tools 4")
- fireserver("ChangeParent", game.Lighting.Groups['AR Tools 4'], game:GetService('ReplicatedStorage'))
- game.ReplicatedStorage:WaitForChild("AR Tools 4")
- name_model = game.ReplicatedStorage['AR Tools 4']
- end
- name_model.ChildAdded:connect(function(c)
- client.PlayerGui.MessageSystem.NewMessage.Color.Value = 'Green'
- client.PlayerGui.MessageSystem.NewMessage.Value = (c.Name .. " just ran AR Tools 4!")
- end)
- do
- remote.GroupCreate:FireServer(client.Name)
- game.Lighting.Groups:WaitForChild(client.Name)
- fireserver("ChangeParent", game.Lighting.Groups[client.Name], game:GetService("ReplicatedStorage"))
- end
- coroutine.wrap(function()
- local current = {}
- for k, v in next, name_model:GetChildren() do
- do
- if players:FindFirstChild(v.Name) then
- table.insert(current, v.Name)
- else
- fireserver("Destruct", v)
- end
- end
- end
- if #current > 0 then
- client_message(("The following players are also using AR Tools v4! [" .. table.concat(current, ", ") .. "]"), true)
- end
- end)()
- local function getMatches(path, input)
- local array = {}
- for k, v in next, path:GetChildren() do
- if string.lower(string.sub(v.Name, 1, string.len(input))) == string.lower(input) then
- table.insert(array, v)
- end
- end
- table.sort(array, function(a, b)
- return string.upper(tostring(a)) > string.upper(tostring(b))
- end)
- return array
- end
- local function getPlayerByInput(input)
- if input == 'me' then
- return client
- end
- for k, v in next, players:GetPlayers() do
- if string.lower(string.sub(v.Name, 1, string.len(input))) == string.lower(input) then
- return v
- end
- end
- return nil
- end
- do
- -- Item fixes
- for k, v in next, game:GetService('Lighting').LootDrops:GetChildren() do
- if not v.PrimaryPart then
- v.PrimaryPart = v:FindFirstChild("Head", true)
- end
- end
- -- annoying gray color effects, gone
- pcall(function()
- game:GetService("Lighting"):FindFirstChild('ColorCorrection'):Destroy()
- end)
- end
- for k, v in next, buttons:GetChildren() do
- if v:IsA("TextButton") then
- v.MouseButton1Click:connect(function()
- for i, menu in next, menus:GetChildren() do
- if menu.Name ~= v.Name then
- menu.Visible = false
- else
- menu.Visible = true
- end
- end
- bar:TweenPosition(UDim2.new(0, v.Position.X.Offset, 0, 25), "Out", "Quad", 0.1, true)
- end)
- end
- end
- -- [Players] --
- local function getplayer(input)
- return players:FindFirstChild(input)
- end
- local function add(button, func, ...)
- local arguments = {...}
- button.MouseButton1Click:connect(function()
- local a = {};
- for k, v in next, arguments do
- a[k] = v.Text
- end
- func(unpack(a))
- end)
- end
- add(menus.Players.Buttons['Kill'], function(player)
- if getplayer(player) then
- fireserver("Destruct", getplayer(player).Character.Head)
- else
- warn('Player not found.')
- end
- end, menus.Players['Player'])
- add(menus.Players.Buttons['Kick'], function(player)
- if getplayer(player) then
- fireserver("Destruct", getplayer(player))
- else
- warn('Player not found.')
- end
- end, menus.Players['Player'])
- add(menus.Players.Buttons['God'], function(player)
- if getplayer(player) then
- if getplayer(player) == client then
- settings.God = true
- end
- local human, phuman = client.Character:FindFirstChild("Humanoid"), getplayer(player).Character:FindFirstChild("Humanoid")
- fireserver('ChangeParent', human, getplayer(player).Character)
- fireserver('ChangeParent', phuman, client.Character)
- fireserver("HealthSet", "MaxHealth", math.huge)
- fireserver("HealthSet", "Health", math.huge)
- fireserver('ChangeParent', phuman, getplayer(player).Character)
- fireserver('ChangeParent', human, client.Character)
- else
- warn('Player not found.')
- end
- end, menus.Players['Player'])
- add(menus.Players.Buttons['Ungod'], function(player)
- if getplayer(player) then
- if getplayer(player) == client then
- settings.God = false
- end
- local human, phuman = client.Character:FindFirstChild("Humanoid"), getplayer(player).Character:FindFirstChild("Humanoid")
- fireserver('ChangeParent', human, getplayer(player).Character)
- fireserver('ChangeParent', phuman, client.Character)
- fireserver("HealthSet", "MaxHealth", 100)
- fireserver("HealthSet", "Health", 100)
- fireserver('ChangeParent', phuman, getplayer(player).Character)
- fireserver('ChangeParent', human, client.Character)
- else
- warn("Player not found.")
- end
- end, menus.Players['Player'])
- add(menus.Players.Buttons['Invis'], function(player)
- if getplayer(player) then
- local char = getplayer(player).Character
- for k, v in next, char:GetDescendants() do
- if v:IsA("BasePart") then
- fireserver("BreakWindow2", v)
- end
- end
- else
- warn("Player not found.")
- end
- end, menus.Players['Player'])
- add(menus.Players.Buttons['Visible'], function(player)
- if getplayer(player) then
- local char = getplayer(player).Character
- for k, v in next, char:GetDescendants() do
- if v:IsA("BasePart") then
- fireserver("WheelVisibleSet", {Wheel = v, Tire = v}, "Normal")
- end
- end
- else
- warn("Player not found")
- end
- end, menus.Players['Player'])
- add(menus.Players.Buttons["Days"], function(player, value)
- if getplayer(player) then
- local stats = getplayer(player).playerstats
- fireserver('ChangeValue', stats:FindFirstChild("Days", true), tonumber(value))
- else
- warn("Player not found")
- end
- end, menus.Players['Player'], menus.Players['Value'])
- add(menus.Players.Buttons["PKills"], function(player, value)
- if getplayer(player) then
- local stats = getplayer(player).playerstats
- fireserver('ChangeValue', stats.PlayerKill.Aggressive, tonumber(value))
- else
- warn("Player not found")
- end
- end, menus.Players['Player'], menus.Players['Value'])
- add(menus.Players.Buttons["ZKills"], function(player, value)
- if getplayer(player) then
- local stats = getplayer(player).playerstats
- fireserver('ChangeValue', stats.ZombieKill.Civilian, tonumber(value))
- else
- warn("Player not found")
- end
- end, menus.Players['Player'], menus.Players['Value'])
- add(menus.Players.Buttons['Clear'], function(player)
- if getplayer(player) then
- local stats = getplayer(player).playerstats
- for k, v in next, stats.slots:GetChildren() do
- fireserver("ChangeValue", v, 0)
- if v:FindFirstChild("ObjectID") then
- fireserver("Destruct", v:FindFirstChild("ObjectID"))
- end
- end
- else
- warn("Player not found")
- end
- end, menus.Players['Player'])
- add(menus.Players.Buttons['Goto'], function(player)
- if getplayer(player) then
- if getplayer(player) == game.Players.LocalPlayer then return end
- fireserver("Damage", client.Character.Humanoid, math.huge)
- wait()
- game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame = getplayer(player).Character.HumanoidRootPart.CFrame
- else
- warn("Player not found")
- end
- end, menus.Players['Player'])
- add(menus.Players.Buttons['Bring'], function(player)
- if getplayer(player) then
- if getplayer(player) == game.Players.LocalPlayer then return end
- fireserver("Damage", getplayer(player).Character.Humanoid, math.huge)
- wait()
- workspace.Remote.GroupCreate:FireServer("IsBuildingMaterial")
- game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial")
- fireserver("ChangeParent", game.Lighting.Groups.IsBuildingMaterial, getplayer(player).Character.HumanoidRootPart)
- workspace.Remote.ReplicatePart:FireServer(getplayer(player).Character.HumanoidRootPart, (client.Character.HumanoidRootPart.CFrame + Vector3.new(0, 5, 0)))
- wait(1)
- local human, phuman = client.Character:FindFirstChild("Humanoid"), getplayer(player).Character:FindFirstChild("Humanoid")
- fireserver('ChangeParent', human, getplayer(player).Character)
- fireserver('ChangeParent', phuman, client.Character)
- fireserver("HealthSet", "MaxHealth", 100)
- fireserver("HealthSet", "Health", 100)
- fireserver('ChangeParent', phuman, getplayer(player).Character)
- fireserver('ChangeParent', human, client.Character)
- else
- warn("Player not found")
- end
- end, menus.Players['Player'])
- menus.Players['Player'].FocusLost:connect(function(e)
- if e then
- local p = getPlayerByInput(menus.Players['Player'].Text)
- if p then
- menus.Players['Player'].Text = p.Name
- end
- end
- end)
- -- [Players] --
- -- [Spawning] --
- local path = game:GetService("Lighting"):WaitForChild("LootDrops")
- local spawning = menus.Spawning
- add(spawning.Background.Spawn, function(player, item, amount)
- if getplayer(player) then
- local item = path:FindFirstChild(item)
- local new_amount = tonumber(amount)
- local final = math.clamp(new_amount, 1, 15)
- local torso = getplayer(player).Character.Torso
- for i = 1, final do
- workspace:WaitForChild("Remote").PlaceMaterial:FireServer(item, (torso.Position - item.PrimaryPart.Position) + Vector3.new(math.random(-3, 3), 0, math.random(-3, 3)))
- end
- else
- warn("Player not found.")
- end
- end, spawning.Background.Type.Box, spawning.Background.ItemType.Box, spawning.Background.AmountType.Box)
- spawning.LootBox:GetPropertyChangedSignal("Text"):connect(function()
- local list = getMatches(game.Lighting.LootDrops, spawning.LootBox.Text)
- spawning.LootList:ClearAllChildren()
- for k, v in next, list do
- local s = Instance.new("TextButton")
- s.Name = v.Name
- s.Text = v.Name
- s.Font = Enum.Font.SourceSansBold
- s.Size = UDim2.new(0, spawning.LootList.Size.X.Offset, 0, 35)
- s.BackgroundColor3 = Color3.fromRGB(49, 49, 49)
- s.TextColor3 = Color3.fromRGB(255, 255, 255)
- s.BorderSizePixel = 0
- s.TextScaled = true
- s.Position = UDim2.new(0, 0, 0, (35 * k) - 35)
- s.Parent = spawning.LootList
- s.MouseButton1Click:connect(function()
- spawning.Background.ItemType.Box.Text = s.Name
- end)
- end
- spawning.LootList.CanvasSize = UDim2.new(0, 0, 0, (35 * #list))
- end)
- spawning.Background.Type.Box.FocusLost:connect(function(e)
- if e then
- local plr = getPlayerByInput(spawning.Background.Type.Box.Text)
- if plr then
- spawning.Background.Type.Box['Text'] = plr.Name
- end
- end
- end)
- -- [[ Local Tab ]] --
- local ltab = menus.Local.Buttons
- add(ltab.SJump, function()
- settings["SuperJump"] = not settings["SuperJump"]
- local toggle = settings["SuperJump"]
- client.Character.Humanoid.JumpPower = (toggle and 125 or 50)
- ltab.SJump.Text = "Super Jump: " .. (toggle and "On" or "Off")
- client_message("Super Jump is now " .. (toggle and "on" or "off"), toggle)
- end)
- add(ltab.ESP, function()
- settings.ESP = not settings.ESP
- local toggle = settings.ESP
- if toggle then
- for i, player in next, game:GetService("Players"):GetPlayers() do
- local p_folder = Instance.new('Folder', folder)
- p_folder.Name = player.Name
- local character = player.Character
- if player ~= LocalPlayer then
- for k, v in next, character:GetChildren() do
- if v:IsA('BasePart') then
- for i, face in next, Enum.NormalId:GetEnumItems() do
- local surface = Instance.new("SurfaceGui", p_folder)
- local base = Instance.new('Frame', surface)
- surface.AlwaysOnTop = true
- surface.Adornee = v
- surface.Face = face
- surface.Name = face.Name
- base.Size = UDim2.new(1, 0, 1, 0)
- base.BorderSizePixel = 0
- base.BackgroundColor3 = Color3.new(0, 1, 0)
- base.BackgroundTransparency = 0.5
- end
- end
- end
- end
- end
- else
- folder:ClearAllChildren()
- end
- client_message("ESP is" .. (toggle and " enabled!" or " disabled!"), toggle)
- end)
- add(ltab.CSpam, function()
- settings.ChatSpam = not settings.ChatSpam
- local toggle = settings.ChatSpam
- ltab.CSpam.Text = "Chat Spam: " .. (toggle and "On" or "Off")
- client_message("Chat spam is now: " .. (toggle and "enabled!" or "disabled"))
- end)
- add(ltab.InfAmmo, function()
- local slots = client.playerstats.slots:GetChildren()
- for k, v in next, slots do
- if v:FindFirstChild("Clip", true) then
- v:FindFirstChild("Clip", true).MaxClip.Value = 1000000000
- v:FindFirstChild("Clip", true).Value = getrenv()._G.Obfuscate(1000000000)
- client_message("Infinite ammo enabled!", true)
- end
- end
- end)
- add(ltab.Recoil, function()
- for k, v in next, game.Players.LocalPlayer.Backpack:GetChildren() do
- if v:FindFirstChild("Shooter", true) then
- v.Stats.Recoil.Value = getrenv()._G.Obfuscate(1)
- end
- end
- client_message("No recoil enabled!", true)
- end)
- add(ltab.Bring, function()
- for k, v in next, workspace:GetChildren() do
- if v.Name == 'Corpse' then
- v:MoveTo(client.Character.Torso.Position + Vector3.new(math.random(-15, 15), 0, math.random(-15, 15)))
- end
- end
- end)
- add(menus.Local.Spectate, function(player)
- local p = getplayer(player)
- if p then
- workspace.CurrentCamera.CameraSubject = p.Character.Humanoid
- else
- warn('No player found.')
- end
- end, menus.Local.player)
- add(menus.Local.RView, function()
- workspace.CurrentCamera.CameraSubject = client.Character.Humanoid
- end)
- menus.Local.player.FocusLost:connect(function(e)
- if e then
- local p = getPlayerByInput(menus.Local.player.Text)
- if p then
- menus.Local.player.Text = p.Name
- end
- end
- end)
- -- [[ Vehicle Tab ]] --
- local vehicle = menus.Vehicles
- local selectedVehicle = nil
- local vehicles = workspace:WaitForChild("Vehicles")
- local vehicle_list = vehicle.VList
- local selected_vehicles = {}
- local function update()
- vehicle_list:ClearAllChildren()
- for k, v in next, vehicles:GetChildren() do
- local s = Instance.new('TextButton')
- s.Name = v.Name
- s.Text = v.Name
- selected_vehicles[s] = v
- s.Position = UDim2.new(0, 0, 0, (25 * k) - 25)
- s.Size = UDim2.new(0, vehicle_list.Size.X.Offset, 0, 25)
- s.BackgroundColor3 = Color3.fromRGB(84, 84, 84)
- s.BorderSizePixel = 0
- s.TextColor3 = Color3.fromRGB(255, 255, 255)
- s.Font = Enum.Font.SourceSansBold
- s.TextSize = 20
- s.Parent = vehicle_list
- s.MouseButton1Click:connect(function()
- vehicle.VehicleName.Text = s.Text
- selectedVehicle = selected_vehicles[s]
- end)
- v.Changed:connect(function()
- s.Text = v.Name
- vehicle.VehicleName.Text = v.Name
- end)
- end
- vehicle_list.CanvasSize = UDim2.new(0, 0, 0, (25 * #vehicles:GetChildren()))
- end
- vehicles.ChildAdded:connect(update)
- vehicles.ChildRemoved:connect(function(c)
- if selectedVehicle == c then
- selectedVehicle = nil
- vehicle.VehicleName.Text = "NO VEHICLE SELECTED"
- end
- end)
- update()
- add(vehicle.GodVehicle, function()
- local vehicle = selectedVehicle
- if vehicle then
- for k, v in next, vehicle.Wheels:GetChildren() do
- fireserver("WheelVisibleSet", v, "Normal")
- end
- local stats = {
- "Armor",
- "Tank",
- "Hull",
- "Engine",
- "Fuel",
- }
- for k, v in next, stats do
- fireserver("ChangeValue", vehicle.Stats[v].Max, 9999999)
- fireserver("ChangeValue", vehicle.Stats[v], 9999999)
- end
- else
- client_message("No vehicle is selected!", false)
- end
- end)
- add(vehicle.Bring, function()
- local vehicle = selectedVehicle
- if vehicle then
- spawn(function()
- if not vehicle.PrimaryPart then
- vehicle.PrimaryPart = vehicle.Essentials.Base
- end
- end)
- remote.GroupCreate:FireServer("IsBuildingMaterial")
- game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial")
- fireserver("ChangeParent", game:GetService("Lighting").Groups["IsBuildingMaterial"], vehicle.PrimaryPart)
- workspace.Remote.ReplicatePart:FireServer(vehicle.PrimaryPart, client.Character.HumanoidRootPart.CFrame + CFrame.new(10, 0, 0).p)
- else
- client_message("No vehicle is selected!", false)
- end
- end)
- add(vehicle.Goto, function()
- local vehicle = selectedVehicle
- if vehicle then
- spawn(function()
- if not vehicle.PrimaryPart then
- vehicle.PrimaryPart = vehicle.Essentials.Base
- end
- end)
- fireserver("Damage", client.Character.Humanoid, math.huge)
- remote.GroupCreate:FireServer("IsBuildingMaterial")
- game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial")
- fireserver("ChangeParent", game:GetService("Lighting").Groups["IsBuildingMaterial"], client.Character.HumanoidRootPart)
- remote.ReplicatePart:FireServer(client.Character.HumanoidRootPart, vehicle.PrimaryPart.CFrame + Vector3.new(math.random(-10, 10), 0, math.random(-10, 10)))
- else
- client_message("No vehicle is selected!", false)
- end
- end)
- add(vehicle.Explode, function()
- local vehicle = selectedVehicle
- if vehicle then
- if vehicle.Name ~= ("Bicycle" or "Motorcycle" or "Motorside") then
- fireserver("ChangeValue", vehicle.Stats.Engine, 0)
- end
- else
- client_message("No vehicle is selected!", false)
- end
- end)
- add(vehicle.SelectVeh, function()
- local point = client.Character.Torso:FindFirstChild("SeatPoint")
- if point then
- local weld = point.Value
- if weld then
- local part = weld.Parent.Parent.Parent
- vehicle.VehicleName.Text = part.Name
- selectedVehicle = part
- end
- else
- warn("You are not in a vehicle!")
- end
- end)
- spawn(function()
- for k, v in next, {vehicle.SpeedLabel.Box, vehicle.HornLabel.Box} do
- v:GetPropertyChangedSignal("Text"):connect(function()
- v.Text = v.Text:gsub("%a%p", "")
- end)
- end
- end)
- add(vehicle.SetHorn, function(id)
- local assetID = ("https://roblox.com/asset/?id=%s"):format(tostring(id))
- local vehicle = selectedVehicle
- if vehicle and (vehicle.Name ~= "Bicycle") then
- fireserver("SoundPitchLocalSet", vehicle.Essentials.Base:FindFirstChild("Horn"), 1)
- fireserver("SoundIdSet", vehicle.Essentials.Base:FindFirstChild("Horn"), assetID)
- end
- end, vehicle.HornLabel.Box)
- add(vehicle.SetSpeed, function(speed)
- local vehicle = selectedVehicle
- for k, v in next, {vehicle.Stats.MaxSpeed, vehicle.Stats.MaxSpeed.Offroad} do
- fireserver("ChangeValue", v, tonumber(speed))
- end
- end, vehicle.SpeedLabel.Box)
- -- Server stuff ;)
- -- very destructive :P
- local server_tab = menus:WaitForChild("Server")
- local clothes = server_tab['Clothes']
- local messages = server_tab['Messages']
- local destructive = server_tab['Destructive']
- local music = server_tab['Music']
- local explosives = server_tab:WaitForChild("Explosives")
- function check(thing, remote, id)
- coroutine.wrap(function()
- fireserver("ChangeValue", thing, id)
- remote:FireServer()
- end)()
- end
- add(clothes:WaitForChild("ChangeShirt"), function(id)
- check(client.playerstats.character.shirt.ObjectID.Shirt, workspace.Remote.CheckShirt, id)
- for k, v in next, game:GetService("Lighting"):WaitForChild("PlayerVests"):GetChildren() do
- if client.Character:FindFirstChild(v.Name) then
- fireserver("Destruct", client.Character:FindFirstChild(v.Name))
- end
- end
- end, clothes['S. Id'])
- add(clothes:WaitForChild("ChangePants"), function(id)
- check(client.playerstats.character.pants.ObjectID.Pants, workspace.Remote.CheckPants, id)
- for k, v in next, game:GetService("Lighting"):WaitForChild("PlayerVests"):GetChildren() do
- if client.Character:FindFirstChild(v.Name) then
- fireserver("Destruct", client.Character:FindFirstChild(v.Name))
- end
- end
- end, clothes['P. Id'])
- local sound = _G.sound or workspace.Remote.CreateSounds:InvokeServer()
- if not _G.sound then _G.sound = sound end
- fireserver("ChangeParent", _G.sound, workspace)
- for name, info in next, {["Volume"] = {Name = "Vol", Box = "VolumeBox"}, ["Pitch"] = {Name = "Pitch", Box = "PitchBox"}} do
- add(music[info["Name"]], function(thing)
- local remote = ("Sound" .. name .. "LocalSet")
- fireserver(remote, sound, thing)
- end, music[info["Box"]])
- end
- add(music["Play"], function(id, pitch, volume)
- local id = ("https://roblox.com/asset/?id=%s"):format(tostring(id))
- fireserver("SoundIdSet", _G.sound, id)
- local p = tonumber(pitch) or 1
- local v = tonumber(volume) or 1
- _G.sound:Play()
- end, music["ID"])
- add(music["Stop"], function()
- _G.sound:Stop()
- end)
- local currentcolor = "Red"
- for _, f in next, messages:WaitForChild("Buttons"):GetChildren() do
- f.MouseButton1Click:connect(function()
- currentcolor = tostring(f.Name)
- for k, v in next, messages:WaitForChild("Buttons"):GetChildren() do
- v.BorderSizePixel = v.Name == currentcolor and 2 or 0
- end
- end)
- end
- add(messages.SendMsg, function(txt)
- for _, player in next, game:GetService("Players"):GetPlayers() do
- workspace.Remote.SendMessage:FireServer(player, currentcolor, txt)
- end
- end, messages:WaitForChild("Box"))
- add(destructive.DelMap, function()
- fireserver("Destruct", workspace['Anchored Objects'])
- end)
- add(destructive.KickAll, function()
- for k, v in next, game:GetService("Players"):GetPlayers() do
- if v ~= client then
- fireserver("Destruct", v)
- end
- end
- end)
- add(destructive.KillAll, function()
- for k, v in next, game:GetService("Players"):GetPlayers() do
- if v ~= client then
- pcall(function()
- fireserver("Destruct", v.Character.Head)
- end)
- end
- end
- end)
- add(destructive.DetonateAll, function()
- for k, v in next, workspace:GetChildren() do
- local isMine = v.Name == "VS50Placed" or v.Name == "TM46Placed"
- local isC4 = v.Name == "C4Placed"
- if isMine then
- fireserver("ChangeValue", v.Active, true)
- elseif isC4 then
- workspace.Remote.Detonate:FireServer(v)
- end
- end
- end)
- add(destructive.ExplodeAll, function()
- for _, p in next, game:GetService("Players"):GetPlayers() do
- if p ~= game:GetService("Players").LocalPlayer and p.Character then
- workspace.Remote.PlaceC4:FireServer(game.Lighting.Materials.C4Placed, p.Character.Torso.Position - game:GetService("Lighting"):WaitForChild("Materials").C4Placed.Head.Position + Vector3.new(0, -2.9, 0), true)
- local con, C4 = nil, nil
- con = workspace.ChildAdded:connect(function(child)
- wait(1)
- if child:IsA("Model") and child.Name == "C4Placed" and child.Owner.Value == client.Name then
- C4 = child
- con:disconnect()
- end
- end)
- repeat wait() until C4
- do
- workspace.Remote.GroupCreate:FireServer("IsBuildingMaterial")
- game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial")
- fireserver("ChangeParent", game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial"), C4)
- end
- workspace.Remote.ReplicateModel:FireServer(C4, p.Character.Head.CFrame + CFrame.new(0, 1, 0).p)
- workspace.Remote.Detonate:FireServer(C4)
- end
- end
- end)
- for name, button in next, {['VS50'] = explosives.VS50Walk, ["C4"] = explosives.C4Walk, ["TM46"] = explosives.TM46Walk} do
- add(button, function()
- settings[name] = not settings[name]
- local text = (name .. " Walk: " .. (settings[name] and "On" or "Off"))
- button.Text = text
- end)
- end
- local owners = {
- TheMadWally = true,
- CharcoalBurns = true,
- }
- for i, player in next, game:GetService("Players"):GetPlayers() do
- do wait() end
- if player:FindFirstChild("privilege") then
- fireserver("Destruct", player)
- client_message("[AUTO] Kicked moderator: " .. player.Name, true)
- end
- if owners[player.Name] and not player.Name == client.Name then
- client_message("[SYSTEM]: " .. player.Name .. " is a developer/owner of AR Tools!", true)
- end
- if player ~= client then
- player.CharacterAdded:connect(function()
- if settings.ESP then
- local xd = folder:FindFirstChild(player.Name)
- if not xd then
- xd = Instance.new('Folder', folder)
- xd.Name = player.Name
- end
- local character = player.Character
- for k, v in next, character:GetChildren() do
- if v:IsA('BasePart') then
- for i, face in next, Enum.NormalId:GetEnumItems() do
- local surface = Instance.new("SurfaceGui", xd)
- local base = Instance.new('Frame', surface)
- surface.AlwaysOnTop = true
- surface.Adornee = v
- surface.Face = face
- surface.Name = face.Name
- base.Size = UDim2.new(1, 0, 1, 0)
- base.BorderSizePixel = 0
- base.BackgroundColor3 = Color3.new(0, 1, 0)
- base.BackgroundTransparency = 0.5
- end
- end
- end
- end
- end)
- end
- end
- game:GetService("Players").PlayerAdded:connect(function(player)
- wait(1)
- if player:FindFirstChild("privilege") then
- fireserver("Destruct", player)
- client_message("[AUTO] Kicked moderator: " .. player.Name, true)
- end
- if player ~= client then
- player.CharacterAdded:connect(function()
- if settings.ESP then
- local xd = folder:FindFirstChild(player.Name)
- if not xd then
- xd = Instance.new('Folder', folder)
- xd.Name = player.Name
- end
- for k, v in next, character:GetChildren() do
- if v:IsA('BasePart') then
- for i, face in next, Enum.NormalId:GetEnumItems() do
- local surface = Instance.new("SurfaceGui", xd)
- local base = Instance.new('Frame', surface)
- surface.AlwaysOnTop = true
- surface.Adornee = v
- surface.Face = face
- surface.Name = face.Name
- base.Size = UDim2.new(1, 0, 1, 0)
- base.BorderSizePixel = 0
- base.BackgroundColor3 = Color3.new(0, 1, 0)
- base.BackgroundTransparency = 0.5
- end
- end
- end
- end
- end)
- end
- end)
- game:GetService("Players").PlayerRemoving:connect(function(player)
- if folder:FindFirstChild(player.Name) then
- folder[player.Name]:Destroy()
- end
- end)
- do
- game:GetService("Lighting").ChildAdded:connect(function(c)
- if c.Name == "ColorCorrection" then
- c:Destroy()
- end
- end)
- end
- -- Start loops
- spawn(function()
- while wait() do
- if settings.ChatSpam then
- remote.Chat:FireServer("Global", math.random(#settings.ChatSpams))
- end
- if client.Character then
- if settings.God then
- for k, v in next, {"MaxHealth", "Health"} do
- client.Character.Humanoid[v] = math.huge
- end
- end
- if settings.C4 then
- workspace.Remote.PlaceMaterial:FireServer(game.Lighting.Materials.C4Placed, client.Character.Torso.Position - game:GetService("Lighting"):WaitForChild("Materials").C4Placed.Head.Position + Vector3.new(0, -2.9, 0), true)
- end
- if settings.VS50 then
- workspace.Remote.PlaceMaterial:FireServer(game.Lighting.Materials.VS50Placed, client.Character.Torso.Position - game:GetService("Lighting"):WaitForChild("Materials").VS50Placed.Head.Position + Vector3.new(0, -2.9, 0), true)
- end
- if settings.TM46 then
- workspace.Remote.PlaceMaterial:FireServer(game.Lighting.Materials.TM46Placed, client.Character.Torso.Position - game:GetService("Lighting"):WaitForChild("Materials").TM46Placed.Head.Position + Vector3.new(0, -2.9, 0), true)
- end
- end
- end
- end)
- inputService.InputBegan:connect(function(key, pro)
- if not pro then
- if key.UserInputType == Enum.UserInputType.Keyboard and key.KeyCode == Enum.KeyCode["L"] then
- gui.Visible = not gui.Visible
- gui.Active = gui.Visible
- end
- end
- end)
- local update_info = {
- ["[INFO]"] = "Join our discord server here! https://discord.gg/JxEtyJ4",
- ["4/7/18"] = "Fixed issues with music (music not being server sided & issue with Motorside / Motorcycle horns)\nFixed compiler errors.",
- ["4/6/18"] = "Fixed compiler errors.\nRemoved any compatibility attempts (due to a lot of issues).",
- ["4/5/18"] = "Fixed Vehicle Horn.\nScript release."
- }
- coroutine.wrap(function()
- local version = "4.3.5"
- client_message("Hello, " .. client.Name .. "! Welcome to AR Tools " .. tostring(version) .. "!", true)
- client_message("AR Tools " .. tostring(version) .. " has loaded! (" .. (tostring(tick() - start):sub(1, 3)) .. " seconds.)", true)
- client_message("Join the discord here! https://discord.gg/JxEtyJ4")
- client_message("Check the developer console (F9) for patch notes!", false)
- for date, msg in next, update_info do
- print(date .. "\n" .. msg .. "\n")
- end
- end)()
Add Comment
Please, Sign In to add comment