SimulatedAce

Untitled

Apr 7th, 2018
582
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.21 KB | None | 0 0
  1. if not (getrenv and (secret500 or debug.setupvalue)) then
  2. error("Your exploit is not supported.")
  3. return
  4. end
  5.  
  6. local start = tick()
  7.  
  8. local gui = game:GetObjects("rbxassetid://1568387041")[1]
  9. gui.Parent = game:GetService("CoreGui")
  10. gui = gui:WaitForChild("Main")
  11.  
  12. local buttons = gui:WaitForChild("Buttons")
  13. local bar = buttons:WaitForChild("Underline")
  14. local menus = gui:WaitForChild("Menus")
  15.  
  16. local inputService = game:GetService("UserInputService")
  17. local players = game:GetService("Players")
  18. local client = players.LocalPlayer
  19. local remote = workspace.Remote
  20. local folder = client.PlayerGui:FindFirstChild("ESP")
  21. local name_model = game:GetService("ReplicatedStorage"):FindFirstChild("AR Tools 4")
  22.  
  23. if not folder then
  24. local a = Instance.new('Folder', client.PlayerGui)
  25. a.Name = 'ESP'
  26. folder = a
  27. end
  28.  
  29. folder:ClearAllChildren()
  30.  
  31. local settings = {
  32. SuperJump = false,
  33. ChatSpam = false,
  34. InfAmmo = false,
  35. ESP = false,
  36. God = false,
  37. ChatSpams = {
  38. "D3D9 is a leet ROBLOX haxxor";
  39. "get rekt scrubs";
  40. "haha tacos r fun";
  41. "spam";
  42. "be quiet noob";
  43. "1x1x1x1 is back";
  44. };
  45. }
  46.  
  47. local function client_message(text, isGood)
  48. client.PlayerGui.MessageSystem.NewMessage.Color.Value = isGood and 'Green' or 'Red'
  49. client.PlayerGui.MessageSystem.NewMessage.Value = text
  50. end
  51.  
  52. local warn = function(...)
  53. local x = {...}
  54. client_message(unpack(x), false)
  55. end
  56.  
  57.  
  58. local isDebug = (secret500 or debug.setupvalue)
  59. for name, func in next, {["uhm"] = function() return error end, ["callchk"] = function() return true end} do
  60. isDebug(getrenv().shared.fireserver, name, func)
  61. end
  62.  
  63. local fireserver = function(name, ...)
  64. return getrenv().shared.fireserver(name, ...)
  65. end
  66.  
  67. if not name_model then
  68. remote.GroupCreate:FireServer("AR Tools 4")
  69. game.Lighting.Groups:WaitForChild("AR Tools 4")
  70. fireserver("ChangeParent", game.Lighting.Groups['AR Tools 4'], game:GetService('ReplicatedStorage'))
  71. game.ReplicatedStorage:WaitForChild("AR Tools 4")
  72. name_model = game.ReplicatedStorage['AR Tools 4']
  73. end
  74.  
  75. name_model.ChildAdded:connect(function(c)
  76. client.PlayerGui.MessageSystem.NewMessage.Color.Value = 'Green'
  77. client.PlayerGui.MessageSystem.NewMessage.Value = (c.Name .. " just ran AR Tools 4!")
  78. end)
  79.  
  80. do
  81. remote.GroupCreate:FireServer(client.Name)
  82. game.Lighting.Groups:WaitForChild(client.Name)
  83. fireserver("ChangeParent", game.Lighting.Groups[client.Name], game:GetService("ReplicatedStorage"))
  84. end
  85.  
  86. coroutine.wrap(function()
  87. local current = {}
  88.  
  89. for k, v in next, name_model:GetChildren() do
  90. do
  91. if players:FindFirstChild(v.Name) then
  92. table.insert(current, v.Name)
  93. else
  94. fireserver("Destruct", v)
  95. end
  96. end
  97. end
  98.  
  99. if #current > 0 then
  100. client_message(("The following players are also using AR Tools v4! [" .. table.concat(current, ", ") .. "]"), true)
  101. end
  102. end)()
  103.  
  104. local function getMatches(path, input)
  105. local array = {}
  106.  
  107. for k, v in next, path:GetChildren() do
  108. if string.lower(string.sub(v.Name, 1, string.len(input))) == string.lower(input) then
  109. table.insert(array, v)
  110. end
  111. end
  112.  
  113. table.sort(array, function(a, b)
  114. return string.upper(tostring(a)) > string.upper(tostring(b))
  115. end)
  116.  
  117. return array
  118. end
  119.  
  120. local function getPlayerByInput(input)
  121. if input == 'me' then
  122. return client
  123. end
  124.  
  125. for k, v in next, players:GetPlayers() do
  126. if string.lower(string.sub(v.Name, 1, string.len(input))) == string.lower(input) then
  127. return v
  128. end
  129. end
  130.  
  131. return nil
  132. end
  133.  
  134. do
  135. -- Item fixes
  136. for k, v in next, game:GetService('Lighting').LootDrops:GetChildren() do
  137. if not v.PrimaryPart then
  138. v.PrimaryPart = v:FindFirstChild("Head", true)
  139. end
  140. end
  141.  
  142. -- annoying gray color effects, gone
  143. pcall(function()
  144. game:GetService("Lighting"):FindFirstChild('ColorCorrection'):Destroy()
  145. end)
  146. end
  147.  
  148. for k, v in next, buttons:GetChildren() do
  149. if v:IsA("TextButton") then
  150. v.MouseButton1Click:connect(function()
  151. for i, menu in next, menus:GetChildren() do
  152. if menu.Name ~= v.Name then
  153. menu.Visible = false
  154. else
  155. menu.Visible = true
  156. end
  157. end
  158.  
  159. bar:TweenPosition(UDim2.new(0, v.Position.X.Offset, 0, 25), "Out", "Quad", 0.1, true)
  160. end)
  161. end
  162. end
  163.  
  164. -- [Players] --
  165.  
  166. local function getplayer(input)
  167. return players:FindFirstChild(input)
  168. end
  169.  
  170. local function add(button, func, ...)
  171. local arguments = {...}
  172. button.MouseButton1Click:connect(function()
  173. local a = {};
  174. for k, v in next, arguments do
  175. a[k] = v.Text
  176. end
  177.  
  178. func(unpack(a))
  179. end)
  180. end
  181.  
  182. add(menus.Players.Buttons['Kill'], function(player)
  183. if getplayer(player) then
  184. fireserver("Destruct", getplayer(player).Character.Head)
  185. else
  186. warn('Player not found.')
  187. end
  188. end, menus.Players['Player'])
  189.  
  190. add(menus.Players.Buttons['Kick'], function(player)
  191. if getplayer(player) then
  192. fireserver("Destruct", getplayer(player))
  193. else
  194. warn('Player not found.')
  195. end
  196. end, menus.Players['Player'])
  197.  
  198. add(menus.Players.Buttons['God'], function(player)
  199. if getplayer(player) then
  200. if getplayer(player) == client then
  201. settings.God = true
  202. end
  203.  
  204. local human, phuman = client.Character:FindFirstChild("Humanoid"), getplayer(player).Character:FindFirstChild("Humanoid")
  205. fireserver('ChangeParent', human, getplayer(player).Character)
  206. fireserver('ChangeParent', phuman, client.Character)
  207.  
  208. fireserver("HealthSet", "MaxHealth", math.huge)
  209. fireserver("HealthSet", "Health", math.huge)
  210.  
  211. fireserver('ChangeParent', phuman, getplayer(player).Character)
  212. fireserver('ChangeParent', human, client.Character)
  213. else
  214. warn('Player not found.')
  215. end
  216. end, menus.Players['Player'])
  217.  
  218. add(menus.Players.Buttons['Ungod'], function(player)
  219. if getplayer(player) then
  220. if getplayer(player) == client then
  221. settings.God = false
  222. end
  223.  
  224. local human, phuman = client.Character:FindFirstChild("Humanoid"), getplayer(player).Character:FindFirstChild("Humanoid")
  225. fireserver('ChangeParent', human, getplayer(player).Character)
  226. fireserver('ChangeParent', phuman, client.Character)
  227.  
  228. fireserver("HealthSet", "MaxHealth", 100)
  229. fireserver("HealthSet", "Health", 100)
  230.  
  231. fireserver('ChangeParent', phuman, getplayer(player).Character)
  232. fireserver('ChangeParent', human, client.Character)
  233. else
  234. warn("Player not found.")
  235. end
  236. end, menus.Players['Player'])
  237.  
  238. add(menus.Players.Buttons['Invis'], function(player)
  239. if getplayer(player) then
  240. local char = getplayer(player).Character
  241. for k, v in next, char:GetDescendants() do
  242. if v:IsA("BasePart") then
  243. fireserver("BreakWindow2", v)
  244. end
  245. end
  246. else
  247. warn("Player not found.")
  248. end
  249. end, menus.Players['Player'])
  250.  
  251. add(menus.Players.Buttons['Visible'], function(player)
  252. if getplayer(player) then
  253. local char = getplayer(player).Character
  254. for k, v in next, char:GetDescendants() do
  255. if v:IsA("BasePart") then
  256. fireserver("WheelVisibleSet", {Wheel = v, Tire = v}, "Normal")
  257. end
  258. end
  259. else
  260. warn("Player not found")
  261. end
  262. end, menus.Players['Player'])
  263.  
  264. add(menus.Players.Buttons["Days"], function(player, value)
  265. if getplayer(player) then
  266. local stats = getplayer(player).playerstats
  267.  
  268. fireserver('ChangeValue', stats:FindFirstChild("Days", true), tonumber(value))
  269. else
  270. warn("Player not found")
  271. end
  272. end, menus.Players['Player'], menus.Players['Value'])
  273.  
  274. add(menus.Players.Buttons["PKills"], function(player, value)
  275. if getplayer(player) then
  276. local stats = getplayer(player).playerstats
  277.  
  278. fireserver('ChangeValue', stats.PlayerKill.Aggressive, tonumber(value))
  279. else
  280. warn("Player not found")
  281. end
  282. end, menus.Players['Player'], menus.Players['Value'])
  283.  
  284. add(menus.Players.Buttons["ZKills"], function(player, value)
  285. if getplayer(player) then
  286. local stats = getplayer(player).playerstats
  287.  
  288. fireserver('ChangeValue', stats.ZombieKill.Civilian, tonumber(value))
  289.  
  290. else
  291. warn("Player not found")
  292. end
  293. end, menus.Players['Player'], menus.Players['Value'])
  294.  
  295.  
  296.  
  297. add(menus.Players.Buttons['Clear'], function(player)
  298. if getplayer(player) then
  299. local stats = getplayer(player).playerstats
  300.  
  301. for k, v in next, stats.slots:GetChildren() do
  302. fireserver("ChangeValue", v, 0)
  303. if v:FindFirstChild("ObjectID") then
  304. fireserver("Destruct", v:FindFirstChild("ObjectID"))
  305. end
  306. end
  307. else
  308. warn("Player not found")
  309. end
  310. end, menus.Players['Player'])
  311.  
  312. add(menus.Players.Buttons['Goto'], function(player)
  313. if getplayer(player) then
  314. if getplayer(player) == game.Players.LocalPlayer then return end
  315.  
  316. fireserver("Damage", client.Character.Humanoid, math.huge)
  317. wait()
  318. game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame = getplayer(player).Character.HumanoidRootPart.CFrame
  319. else
  320. warn("Player not found")
  321. end
  322. end, menus.Players['Player'])
  323.  
  324. add(menus.Players.Buttons['Bring'], function(player)
  325. if getplayer(player) then
  326. if getplayer(player) == game.Players.LocalPlayer then return end
  327.  
  328. fireserver("Damage", getplayer(player).Character.Humanoid, math.huge)
  329. wait()
  330.  
  331. workspace.Remote.GroupCreate:FireServer("IsBuildingMaterial")
  332. game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial")
  333. fireserver("ChangeParent", game.Lighting.Groups.IsBuildingMaterial, getplayer(player).Character.HumanoidRootPart)
  334.  
  335. workspace.Remote.ReplicatePart:FireServer(getplayer(player).Character.HumanoidRootPart, (client.Character.HumanoidRootPart.CFrame + Vector3.new(0, 5, 0)))
  336.  
  337. wait(1)
  338. local human, phuman = client.Character:FindFirstChild("Humanoid"), getplayer(player).Character:FindFirstChild("Humanoid")
  339. fireserver('ChangeParent', human, getplayer(player).Character)
  340. fireserver('ChangeParent', phuman, client.Character)
  341.  
  342. fireserver("HealthSet", "MaxHealth", 100)
  343. fireserver("HealthSet", "Health", 100)
  344.  
  345. fireserver('ChangeParent', phuman, getplayer(player).Character)
  346. fireserver('ChangeParent', human, client.Character)
  347. else
  348. warn("Player not found")
  349. end
  350. end, menus.Players['Player'])
  351.  
  352.  
  353. menus.Players['Player'].FocusLost:connect(function(e)
  354. if e then
  355. local p = getPlayerByInput(menus.Players['Player'].Text)
  356. if p then
  357. menus.Players['Player'].Text = p.Name
  358. end
  359. end
  360. end)
  361.  
  362. -- [Players] --
  363.  
  364. -- [Spawning] --
  365. local path = game:GetService("Lighting"):WaitForChild("LootDrops")
  366. local spawning = menus.Spawning
  367.  
  368. add(spawning.Background.Spawn, function(player, item, amount)
  369. if getplayer(player) then
  370. local item = path:FindFirstChild(item)
  371. local new_amount = tonumber(amount)
  372.  
  373. local final = math.clamp(new_amount, 1, 15)
  374. local torso = getplayer(player).Character.Torso
  375.  
  376. for i = 1, final do
  377. workspace:WaitForChild("Remote").PlaceMaterial:FireServer(item, (torso.Position - item.PrimaryPart.Position) + Vector3.new(math.random(-3, 3), 0, math.random(-3, 3)))
  378. end
  379. else
  380. warn("Player not found.")
  381. end
  382. end, spawning.Background.Type.Box, spawning.Background.ItemType.Box, spawning.Background.AmountType.Box)
  383.  
  384. spawning.LootBox:GetPropertyChangedSignal("Text"):connect(function()
  385. local list = getMatches(game.Lighting.LootDrops, spawning.LootBox.Text)
  386. spawning.LootList:ClearAllChildren()
  387.  
  388. for k, v in next, list do
  389. local s = Instance.new("TextButton")
  390. s.Name = v.Name
  391. s.Text = v.Name
  392.  
  393. s.Font = Enum.Font.SourceSansBold
  394. s.Size = UDim2.new(0, spawning.LootList.Size.X.Offset, 0, 35)
  395. s.BackgroundColor3 = Color3.fromRGB(49, 49, 49)
  396. s.TextColor3 = Color3.fromRGB(255, 255, 255)
  397. s.BorderSizePixel = 0
  398. s.TextScaled = true
  399.  
  400. s.Position = UDim2.new(0, 0, 0, (35 * k) - 35)
  401. s.Parent = spawning.LootList
  402. s.MouseButton1Click:connect(function()
  403. spawning.Background.ItemType.Box.Text = s.Name
  404. end)
  405. end
  406.  
  407. spawning.LootList.CanvasSize = UDim2.new(0, 0, 0, (35 * #list))
  408. end)
  409.  
  410. spawning.Background.Type.Box.FocusLost:connect(function(e)
  411. if e then
  412. local plr = getPlayerByInput(spawning.Background.Type.Box.Text)
  413. if plr then
  414. spawning.Background.Type.Box['Text'] = plr.Name
  415. end
  416. end
  417. end)
  418.  
  419. -- [[ Local Tab ]] --
  420. local ltab = menus.Local.Buttons
  421. add(ltab.SJump, function()
  422. settings["SuperJump"] = not settings["SuperJump"]
  423. local toggle = settings["SuperJump"]
  424. client.Character.Humanoid.JumpPower = (toggle and 125 or 50)
  425.  
  426. ltab.SJump.Text = "Super Jump: " .. (toggle and "On" or "Off")
  427. client_message("Super Jump is now " .. (toggle and "on" or "off"), toggle)
  428. end)
  429.  
  430. add(ltab.ESP, function()
  431. settings.ESP = not settings.ESP
  432. local toggle = settings.ESP
  433.  
  434. if toggle then
  435. for i, player in next, game:GetService("Players"):GetPlayers() do
  436. local p_folder = Instance.new('Folder', folder)
  437. p_folder.Name = player.Name
  438. local character = player.Character
  439.  
  440. if player ~= LocalPlayer then
  441. for k, v in next, character:GetChildren() do
  442. if v:IsA('BasePart') then
  443. for i, face in next, Enum.NormalId:GetEnumItems() do
  444. local surface = Instance.new("SurfaceGui", p_folder)
  445. local base = Instance.new('Frame', surface)
  446.  
  447. surface.AlwaysOnTop = true
  448. surface.Adornee = v
  449. surface.Face = face
  450. surface.Name = face.Name
  451.  
  452. base.Size = UDim2.new(1, 0, 1, 0)
  453. base.BorderSizePixel = 0
  454. base.BackgroundColor3 = Color3.new(0, 1, 0)
  455. base.BackgroundTransparency = 0.5
  456. end
  457. end
  458. end
  459. end
  460. end
  461. else
  462. folder:ClearAllChildren()
  463. end
  464.  
  465. client_message("ESP is" .. (toggle and " enabled!" or " disabled!"), toggle)
  466. end)
  467.  
  468.  
  469. add(ltab.CSpam, function()
  470. settings.ChatSpam = not settings.ChatSpam
  471. local toggle = settings.ChatSpam
  472.  
  473. ltab.CSpam.Text = "Chat Spam: " .. (toggle and "On" or "Off")
  474. client_message("Chat spam is now: " .. (toggle and "enabled!" or "disabled"))
  475. end)
  476.  
  477. add(ltab.InfAmmo, function()
  478. local slots = client.playerstats.slots:GetChildren()
  479.  
  480. for k, v in next, slots do
  481. if v:FindFirstChild("Clip", true) then
  482. v:FindFirstChild("Clip", true).MaxClip.Value = 1000000000
  483. v:FindFirstChild("Clip", true).Value = getrenv()._G.Obfuscate(1000000000)
  484.  
  485. client_message("Infinite ammo enabled!", true)
  486. end
  487. end
  488. end)
  489.  
  490. add(ltab.Recoil, function()
  491. for k, v in next, game.Players.LocalPlayer.Backpack:GetChildren() do
  492. if v:FindFirstChild("Shooter", true) then
  493. v.Stats.Recoil.Value = getrenv()._G.Obfuscate(1)
  494. end
  495. end
  496.  
  497. client_message("No recoil enabled!", true)
  498. end)
  499.  
  500. add(ltab.Bring, function()
  501. for k, v in next, workspace:GetChildren() do
  502. if v.Name == 'Corpse' then
  503. v:MoveTo(client.Character.Torso.Position + Vector3.new(math.random(-15, 15), 0, math.random(-15, 15)))
  504. end
  505. end
  506. end)
  507.  
  508. add(menus.Local.Spectate, function(player)
  509. local p = getplayer(player)
  510. if p then
  511. workspace.CurrentCamera.CameraSubject = p.Character.Humanoid
  512. else
  513. warn('No player found.')
  514. end
  515. end, menus.Local.player)
  516.  
  517. add(menus.Local.RView, function()
  518. workspace.CurrentCamera.CameraSubject = client.Character.Humanoid
  519. end)
  520.  
  521. menus.Local.player.FocusLost:connect(function(e)
  522. if e then
  523. local p = getPlayerByInput(menus.Local.player.Text)
  524. if p then
  525. menus.Local.player.Text = p.Name
  526. end
  527. end
  528. end)
  529.  
  530. -- [[ Vehicle Tab ]] --
  531.  
  532. local vehicle = menus.Vehicles
  533. local selectedVehicle = nil
  534. local vehicles = workspace:WaitForChild("Vehicles")
  535. local vehicle_list = vehicle.VList
  536. local selected_vehicles = {}
  537.  
  538. local function update()
  539. vehicle_list:ClearAllChildren()
  540.  
  541. for k, v in next, vehicles:GetChildren() do
  542. local s = Instance.new('TextButton')
  543. s.Name = v.Name
  544. s.Text = v.Name
  545.  
  546. selected_vehicles[s] = v
  547.  
  548. s.Position = UDim2.new(0, 0, 0, (25 * k) - 25)
  549. s.Size = UDim2.new(0, vehicle_list.Size.X.Offset, 0, 25)
  550. s.BackgroundColor3 = Color3.fromRGB(84, 84, 84)
  551. s.BorderSizePixel = 0
  552. s.TextColor3 = Color3.fromRGB(255, 255, 255)
  553. s.Font = Enum.Font.SourceSansBold
  554. s.TextSize = 20
  555.  
  556. s.Parent = vehicle_list
  557. s.MouseButton1Click:connect(function()
  558. vehicle.VehicleName.Text = s.Text
  559. selectedVehicle = selected_vehicles[s]
  560. end)
  561.  
  562. v.Changed:connect(function()
  563. s.Text = v.Name
  564. vehicle.VehicleName.Text = v.Name
  565. end)
  566. end
  567.  
  568. vehicle_list.CanvasSize = UDim2.new(0, 0, 0, (25 * #vehicles:GetChildren()))
  569. end
  570.  
  571. vehicles.ChildAdded:connect(update)
  572.  
  573. vehicles.ChildRemoved:connect(function(c)
  574. if selectedVehicle == c then
  575. selectedVehicle = nil
  576. vehicle.VehicleName.Text = "NO VEHICLE SELECTED"
  577. end
  578. end)
  579.  
  580. update()
  581.  
  582. add(vehicle.GodVehicle, function()
  583. local vehicle = selectedVehicle
  584. if vehicle then
  585. for k, v in next, vehicle.Wheels:GetChildren() do
  586. fireserver("WheelVisibleSet", v, "Normal")
  587. end
  588.  
  589. local stats = {
  590. "Armor",
  591. "Tank",
  592. "Hull",
  593. "Engine",
  594. "Fuel",
  595. }
  596.  
  597. for k, v in next, stats do
  598. fireserver("ChangeValue", vehicle.Stats[v].Max, 9999999)
  599. fireserver("ChangeValue", vehicle.Stats[v], 9999999)
  600. end
  601. else
  602. client_message("No vehicle is selected!", false)
  603. end
  604. end)
  605.  
  606. add(vehicle.Bring, function()
  607. local vehicle = selectedVehicle
  608. if vehicle then
  609.  
  610. spawn(function()
  611. if not vehicle.PrimaryPart then
  612. vehicle.PrimaryPart = vehicle.Essentials.Base
  613. end
  614. end)
  615.  
  616. remote.GroupCreate:FireServer("IsBuildingMaterial")
  617. game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial")
  618. fireserver("ChangeParent", game:GetService("Lighting").Groups["IsBuildingMaterial"], vehicle.PrimaryPart)
  619.  
  620. workspace.Remote.ReplicatePart:FireServer(vehicle.PrimaryPart, client.Character.HumanoidRootPart.CFrame + CFrame.new(10, 0, 0).p)
  621. else
  622. client_message("No vehicle is selected!", false)
  623. end
  624. end)
  625.  
  626. add(vehicle.Goto, function()
  627. local vehicle = selectedVehicle
  628. if vehicle then
  629.  
  630. spawn(function()
  631. if not vehicle.PrimaryPart then
  632. vehicle.PrimaryPart = vehicle.Essentials.Base
  633. end
  634. end)
  635.  
  636. fireserver("Damage", client.Character.Humanoid, math.huge)
  637.  
  638. remote.GroupCreate:FireServer("IsBuildingMaterial")
  639. game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial")
  640. fireserver("ChangeParent", game:GetService("Lighting").Groups["IsBuildingMaterial"], client.Character.HumanoidRootPart)
  641.  
  642. remote.ReplicatePart:FireServer(client.Character.HumanoidRootPart, vehicle.PrimaryPart.CFrame + Vector3.new(math.random(-10, 10), 0, math.random(-10, 10)))
  643. else
  644. client_message("No vehicle is selected!", false)
  645. end
  646. end)
  647.  
  648. add(vehicle.Explode, function()
  649. local vehicle = selectedVehicle
  650. if vehicle then
  651. if vehicle.Name ~= ("Bicycle" or "Motorcycle" or "Motorside") then
  652. fireserver("ChangeValue", vehicle.Stats.Engine, 0)
  653. end
  654. else
  655. client_message("No vehicle is selected!", false)
  656. end
  657. end)
  658.  
  659. add(vehicle.SelectVeh, function()
  660. local point = client.Character.Torso:FindFirstChild("SeatPoint")
  661. if point then
  662. local weld = point.Value
  663. if weld then
  664. local part = weld.Parent.Parent.Parent
  665.  
  666. vehicle.VehicleName.Text = part.Name
  667. selectedVehicle = part
  668. end
  669. else
  670. warn("You are not in a vehicle!")
  671. end
  672. end)
  673.  
  674. spawn(function()
  675. for k, v in next, {vehicle.SpeedLabel.Box, vehicle.HornLabel.Box} do
  676. v:GetPropertyChangedSignal("Text"):connect(function()
  677. v.Text = v.Text:gsub("%a%p", "")
  678. end)
  679. end
  680. end)
  681.  
  682. add(vehicle.SetHorn, function(id)
  683. local assetID = ("https://roblox.com/asset/?id=%s"):format(tostring(id))
  684. local vehicle = selectedVehicle
  685.  
  686. if vehicle and (vehicle.Name ~= "Bicycle") then
  687. fireserver("SoundPitchLocalSet", vehicle.Essentials.Base:FindFirstChild("Horn"), 1)
  688. fireserver("SoundIdSet", vehicle.Essentials.Base:FindFirstChild("Horn"), assetID)
  689. end
  690. end, vehicle.HornLabel.Box)
  691.  
  692. add(vehicle.SetSpeed, function(speed)
  693. local vehicle = selectedVehicle
  694. for k, v in next, {vehicle.Stats.MaxSpeed, vehicle.Stats.MaxSpeed.Offroad} do
  695. fireserver("ChangeValue", v, tonumber(speed))
  696. end
  697. end, vehicle.SpeedLabel.Box)
  698.  
  699. -- Server stuff ;)
  700. -- very destructive :P
  701.  
  702. local server_tab = menus:WaitForChild("Server")
  703. local clothes = server_tab['Clothes']
  704. local messages = server_tab['Messages']
  705. local destructive = server_tab['Destructive']
  706. local music = server_tab['Music']
  707. local explosives = server_tab:WaitForChild("Explosives")
  708.  
  709. function check(thing, remote, id)
  710. coroutine.wrap(function()
  711. fireserver("ChangeValue", thing, id)
  712. remote:FireServer()
  713. end)()
  714. end
  715.  
  716. add(clothes:WaitForChild("ChangeShirt"), function(id)
  717. check(client.playerstats.character.shirt.ObjectID.Shirt, workspace.Remote.CheckShirt, id)
  718.  
  719. for k, v in next, game:GetService("Lighting"):WaitForChild("PlayerVests"):GetChildren() do
  720. if client.Character:FindFirstChild(v.Name) then
  721. fireserver("Destruct", client.Character:FindFirstChild(v.Name))
  722. end
  723. end
  724. end, clothes['S. Id'])
  725.  
  726. add(clothes:WaitForChild("ChangePants"), function(id)
  727. check(client.playerstats.character.pants.ObjectID.Pants, workspace.Remote.CheckPants, id)
  728.  
  729. for k, v in next, game:GetService("Lighting"):WaitForChild("PlayerVests"):GetChildren() do
  730. if client.Character:FindFirstChild(v.Name) then
  731. fireserver("Destruct", client.Character:FindFirstChild(v.Name))
  732. end
  733. end
  734. end, clothes['P. Id'])
  735.  
  736. local sound = _G.sound or workspace.Remote.CreateSounds:InvokeServer()
  737. if not _G.sound then _G.sound = sound end
  738. fireserver("ChangeParent", _G.sound, workspace)
  739.  
  740. for name, info in next, {["Volume"] = {Name = "Vol", Box = "VolumeBox"}, ["Pitch"] = {Name = "Pitch", Box = "PitchBox"}} do
  741. add(music[info["Name"]], function(thing)
  742. local remote = ("Sound" .. name .. "LocalSet")
  743. fireserver(remote, sound, thing)
  744. end, music[info["Box"]])
  745. end
  746.  
  747. add(music["Play"], function(id, pitch, volume)
  748. local id = ("https://roblox.com/asset/?id=%s"):format(tostring(id))
  749. fireserver("SoundIdSet", _G.sound, id)
  750.  
  751. local p = tonumber(pitch) or 1
  752. local v = tonumber(volume) or 1
  753. _G.sound:Play()
  754. end, music["ID"])
  755.  
  756. add(music["Stop"], function()
  757. _G.sound:Stop()
  758. end)
  759.  
  760. local currentcolor = "Red"
  761. for _, f in next, messages:WaitForChild("Buttons"):GetChildren() do
  762. f.MouseButton1Click:connect(function()
  763. currentcolor = tostring(f.Name)
  764. for k, v in next, messages:WaitForChild("Buttons"):GetChildren() do
  765. v.BorderSizePixel = v.Name == currentcolor and 2 or 0
  766. end
  767. end)
  768. end
  769.  
  770. add(messages.SendMsg, function(txt)
  771. for _, player in next, game:GetService("Players"):GetPlayers() do
  772. workspace.Remote.SendMessage:FireServer(player, currentcolor, txt)
  773. end
  774. end, messages:WaitForChild("Box"))
  775.  
  776. add(destructive.DelMap, function()
  777. fireserver("Destruct", workspace['Anchored Objects'])
  778. end)
  779.  
  780. add(destructive.KickAll, function()
  781. for k, v in next, game:GetService("Players"):GetPlayers() do
  782. if v ~= client then
  783. fireserver("Destruct", v)
  784. end
  785. end
  786. end)
  787.  
  788. add(destructive.KillAll, function()
  789. for k, v in next, game:GetService("Players"):GetPlayers() do
  790. if v ~= client then
  791. pcall(function()
  792. fireserver("Destruct", v.Character.Head)
  793. end)
  794. end
  795. end
  796. end)
  797.  
  798. add(destructive.DetonateAll, function()
  799. for k, v in next, workspace:GetChildren() do
  800. local isMine = v.Name == "VS50Placed" or v.Name == "TM46Placed"
  801. local isC4 = v.Name == "C4Placed"
  802.  
  803. if isMine then
  804. fireserver("ChangeValue", v.Active, true)
  805. elseif isC4 then
  806. workspace.Remote.Detonate:FireServer(v)
  807. end
  808. end
  809. end)
  810.  
  811. add(destructive.ExplodeAll, function()
  812. for _, p in next, game:GetService("Players"):GetPlayers() do
  813. if p ~= game:GetService("Players").LocalPlayer and p.Character then
  814. 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)
  815. local con, C4 = nil, nil
  816.  
  817. con = workspace.ChildAdded:connect(function(child)
  818. wait(1)
  819. if child:IsA("Model") and child.Name == "C4Placed" and child.Owner.Value == client.Name then
  820. C4 = child
  821. con:disconnect()
  822. end
  823. end)
  824.  
  825. repeat wait() until C4
  826.  
  827. do
  828. workspace.Remote.GroupCreate:FireServer("IsBuildingMaterial")
  829. game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial")
  830. fireserver("ChangeParent", game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial"), C4)
  831. end
  832.  
  833. workspace.Remote.ReplicateModel:FireServer(C4, p.Character.Head.CFrame + CFrame.new(0, 1, 0).p)
  834. workspace.Remote.Detonate:FireServer(C4)
  835. end
  836. end
  837. end)
  838.  
  839. for name, button in next, {['VS50'] = explosives.VS50Walk, ["C4"] = explosives.C4Walk, ["TM46"] = explosives.TM46Walk} do
  840. add(button, function()
  841. settings[name] = not settings[name]
  842. local text = (name .. " Walk: " .. (settings[name] and "On" or "Off"))
  843. button.Text = text
  844. end)
  845. end
  846.  
  847. local owners = {
  848. TheMadWally = true,
  849. CharcoalBurns = true,
  850. }
  851.  
  852. for i, player in next, game:GetService("Players"):GetPlayers() do
  853. do wait() end
  854. if player:FindFirstChild("privilege") then
  855. fireserver("Destruct", player)
  856. client_message("[AUTO] Kicked moderator: " .. player.Name, true)
  857. end
  858.  
  859. if owners[player.Name] and not player.Name == client.Name then
  860. client_message("[SYSTEM]: " .. player.Name .. " is a developer/owner of AR Tools!", true)
  861. end
  862.  
  863. if player ~= client then
  864. player.CharacterAdded:connect(function()
  865. if settings.ESP then
  866. local xd = folder:FindFirstChild(player.Name)
  867.  
  868. if not xd then
  869. xd = Instance.new('Folder', folder)
  870. xd.Name = player.Name
  871. end
  872.  
  873. local character = player.Character
  874.  
  875. for k, v in next, character:GetChildren() do
  876. if v:IsA('BasePart') then
  877. for i, face in next, Enum.NormalId:GetEnumItems() do
  878. local surface = Instance.new("SurfaceGui", xd)
  879. local base = Instance.new('Frame', surface)
  880.  
  881. surface.AlwaysOnTop = true
  882. surface.Adornee = v
  883. surface.Face = face
  884. surface.Name = face.Name
  885.  
  886. base.Size = UDim2.new(1, 0, 1, 0)
  887. base.BorderSizePixel = 0
  888. base.BackgroundColor3 = Color3.new(0, 1, 0)
  889. base.BackgroundTransparency = 0.5
  890. end
  891. end
  892. end
  893. end
  894. end)
  895. end
  896. end
  897.  
  898. game:GetService("Players").PlayerAdded:connect(function(player)
  899. wait(1)
  900. if player:FindFirstChild("privilege") then
  901. fireserver("Destruct", player)
  902. client_message("[AUTO] Kicked moderator: " .. player.Name, true)
  903. end
  904.  
  905. if player ~= client then
  906. player.CharacterAdded:connect(function()
  907. if settings.ESP then
  908. local xd = folder:FindFirstChild(player.Name)
  909.  
  910. if not xd then
  911. xd = Instance.new('Folder', folder)
  912. xd.Name = player.Name
  913. end
  914.  
  915. for k, v in next, character:GetChildren() do
  916. if v:IsA('BasePart') then
  917. for i, face in next, Enum.NormalId:GetEnumItems() do
  918. local surface = Instance.new("SurfaceGui", xd)
  919. local base = Instance.new('Frame', surface)
  920.  
  921. surface.AlwaysOnTop = true
  922. surface.Adornee = v
  923. surface.Face = face
  924. surface.Name = face.Name
  925.  
  926. base.Size = UDim2.new(1, 0, 1, 0)
  927. base.BorderSizePixel = 0
  928. base.BackgroundColor3 = Color3.new(0, 1, 0)
  929. base.BackgroundTransparency = 0.5
  930. end
  931. end
  932. end
  933. end
  934. end)
  935. end
  936. end)
  937.  
  938. game:GetService("Players").PlayerRemoving:connect(function(player)
  939. if folder:FindFirstChild(player.Name) then
  940. folder[player.Name]:Destroy()
  941. end
  942. end)
  943.  
  944. do
  945. game:GetService("Lighting").ChildAdded:connect(function(c)
  946. if c.Name == "ColorCorrection" then
  947. c:Destroy()
  948. end
  949. end)
  950. end
  951. -- Start loops
  952.  
  953. spawn(function()
  954. while wait() do
  955. if settings.ChatSpam then
  956. remote.Chat:FireServer("Global", math.random(#settings.ChatSpams))
  957. end
  958.  
  959. if client.Character then
  960. if settings.God then
  961. for k, v in next, {"MaxHealth", "Health"} do
  962. client.Character.Humanoid[v] = math.huge
  963. end
  964. end
  965.  
  966. if settings.C4 then
  967. 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)
  968. end
  969.  
  970. if settings.VS50 then
  971. 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)
  972. end
  973.  
  974. if settings.TM46 then
  975. 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)
  976. end
  977. end
  978. end
  979. end)
  980.  
  981. inputService.InputBegan:connect(function(key, pro)
  982. if not pro then
  983. if key.UserInputType == Enum.UserInputType.Keyboard and key.KeyCode == Enum.KeyCode["L"] then
  984. gui.Visible = not gui.Visible
  985. gui.Active = gui.Visible
  986. end
  987. end
  988. end)
  989.  
  990. local update_info = {
  991. ["[INFO]"] = "Join our discord server here! https://discord.gg/JxEtyJ4",
  992. ["4/7/18"] = "Fixed issues with music (music not being server sided & issue with Motorside / Motorcycle horns)\nFixed compiler errors.",
  993. ["4/6/18"] = "Fixed compiler errors.\nRemoved any compatibility attempts (due to a lot of issues).",
  994. ["4/5/18"] = "Fixed Vehicle Horn.\nScript release."
  995. }
  996.  
  997. coroutine.wrap(function()
  998. local version = "4.3.5"
  999.  
  1000. client_message("Hello, " .. client.Name .. "! Welcome to AR Tools " .. tostring(version) .. "!", true)
  1001. client_message("AR Tools " .. tostring(version) .. " has loaded! (" .. (tostring(tick() - start):sub(1, 3)) .. " seconds.)", true)
  1002. client_message("Join the discord here! https://discord.gg/JxEtyJ4")
  1003. client_message("Check the developer console (F9) for patch notes!", false)
  1004.  
  1005. for date, msg in next, update_info do
  1006. print(date .. "\n" .. msg .. "\n")
  1007. end
  1008. end)()
Add Comment
Please, Sign In to add comment