breezyshadow012

AR Tools V4 Keybind "<"

Apr 29th, 2018
590
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 38.30 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. do
  7. -- also lazy
  8. pcall(function()
  9. game:GetService('CoreGui')['AR_UI_4']:Destroy()
  10. end)
  11. end
  12.  
  13. local start = tick()
  14. local version = "4.6"
  15.  
  16. local gui = game:GetObjects("rbxassetid://1568387041")[1]
  17. gui.Parent = game:GetService("CoreGui")
  18. gui = gui:WaitForChild("Main")
  19. gui.TextLabel.Text = gui.TextLabel.Text:gsub("vNumber", "v" .. tostring(version))
  20.  
  21. local buttons = gui:WaitForChild("Buttons")
  22. local bar = buttons:WaitForChild("Underline")
  23. local menus = gui:WaitForChild("Menus")
  24.  
  25. local inputService = game:GetService("UserInputService")
  26. local players = game:GetService("Players")
  27. local client = players.LocalPlayer
  28. local remote = workspace.Remote
  29. local folder = game:GetService("CoreGui"):FindFirstChild("ESP")
  30. local name_model = game:GetService("ReplicatedStorage"):FindFirstChild("AR Tools 4")
  31.  
  32. if not folder then
  33. local a = Instance.new('Folder', game:GetService('CoreGui'))
  34. a.Name = 'ESP'
  35. folder = a
  36. end
  37.  
  38. folder:ClearAllChildren()
  39.  
  40. local settings = {
  41. SuperJump = false,
  42. ChatSpam = false,
  43. InfAmmo = false,
  44. ESP = false,
  45. God = false,
  46. ChatSpams = {
  47. "D3D9 is a leet ROBLOX haxxor";
  48. "get rekt scrubs";
  49. "haha tacos r fun";
  50. "spam";
  51. "be quiet noob";
  52. "1x1x1x1 is back";
  53. };
  54. MsgSpam = false,
  55. }
  56.  
  57. local function client_message(text, isGood)
  58. client.PlayerGui.MessageSystem.NewMessage.Color.Value = isGood and 'Green' or 'Red'
  59. client.PlayerGui.MessageSystem.NewMessage.Value = text
  60. end
  61.  
  62. local warn = function(...)
  63. local x = {...}
  64. client_message(unpack(x), false)
  65. end
  66.  
  67.  
  68. local isDebug = (secret500 or debug.setupvalue)
  69. for name, func in next, {["uhm"] = function() return error end, ["callchk"] = function() return true end} do
  70. isDebug(getrenv().shared.fireserver, name, func)
  71. end
  72.  
  73. local fireserver = function(name, ...)
  74. return getrenv().shared.fireserver(name, ...)
  75. end
  76.  
  77. do
  78. for _, stat in next, {"Hunger", "Thirst"} do
  79. fireserver("ChangeValue", client.playerstats[stat], math.huge)
  80. end
  81. end
  82.  
  83. if not name_model then
  84. remote.GroupCreate:FireServer("AR Tools 4")
  85. game.Lighting.Groups:WaitForChild("AR Tools 4")
  86. fireserver("ChangeParent", game.Lighting.Groups['AR Tools 4'], game:GetService('ReplicatedStorage'))
  87. game.ReplicatedStorage:WaitForChild("AR Tools 4")
  88. name_model = game.ReplicatedStorage['AR Tools 4']
  89. end
  90.  
  91. name_model.ChildAdded:connect(function(c)
  92. if c.Name ~= client.Name then
  93. client.PlayerGui.MessageSystem.NewMessage.Color.Value = 'Green'
  94. client.PlayerGui.MessageSystem.NewMessage.Value = (c.Name .. " just ran AR Tools 4!")
  95. end
  96. end)
  97.  
  98. do
  99. if not name_model:FindFirstChild(client.Name) then
  100. remote.GroupCreate:FireServer(client.Name)
  101. game.Lighting.Groups:WaitForChild(client.Name)
  102. fireserver("ChangeParent", game.Lighting.Groups[client.Name], game:GetService("ReplicatedStorage")['AR Tools 4'])
  103. end
  104. end
  105.  
  106. coroutine.wrap(function()
  107. local current = {}
  108.  
  109. for k, v in next, name_model:GetChildren() do
  110. for k, v in next, name_model:GetChildren() do
  111. if players:FindFirstChild(v.Name) and v.Name ~= client.Name then
  112. table.insert(current, v.Name)
  113. else
  114. fireserver("Destruct", v)
  115. end
  116. end
  117. end
  118.  
  119. if #current > 0 then
  120. client_message(("The following players are also using AR Tools v4! [" .. table.concat(current, ", ") .. "]"), true)
  121. end
  122. end)()
  123.  
  124. local function getMatches(path, input)
  125. local array = {}
  126.  
  127. for k, v in next, path:GetChildren() do
  128. if string.lower(string.sub(v.Name, 1, string.len(input))) == string.lower(input) then
  129. table.insert(array, v)
  130. end
  131. end
  132.  
  133. table.sort(array, function(a, b)
  134. return string.upper(tostring(a)) > string.upper(tostring(b))
  135. end)
  136.  
  137. return array
  138. end
  139.  
  140. local function getPlayerByInput(input)
  141. if input == 'me' then
  142. return client
  143. end
  144.  
  145. for k, v in next, players:GetPlayers() do
  146. if string.lower(string.sub(v.Name, 1, string.len(input))) == string.lower(input) then
  147. return v
  148. end
  149. end
  150.  
  151. return nil
  152. end
  153.  
  154. function createESP(player)
  155. function Create(type, properties)
  156. local obj = Instance.new(type)
  157.  
  158. for name, value in next, properties do
  159. if name ~= "Parent" then
  160. local set, result = pcall(function()
  161. obj[name] = value
  162. end)
  163.  
  164. if not set then
  165. warn("Property of " .. set .. " could not be applied to object " .. type)
  166. end
  167. end
  168. end
  169.  
  170. if properties["Parent"] then
  171. obj["Parent"] = properties["Parent"]
  172. end
  173.  
  174. return obj
  175. end
  176.  
  177. local character = player.Character or player.CharacterAdded:wait()
  178. local container = folder:FindFirstChild(player.Name)
  179.  
  180. if not container then
  181. container = Create("Folder", {Parent = folder, Name = player.Name})
  182. end
  183.  
  184. print(player, character, container)
  185. container:ClearAllChildren()
  186.  
  187. for _, part in next, character:GetChildren() do
  188. if part:IsA("BasePart") then
  189. for _, face in next, Enum.NormalId:GetEnumItems() do
  190. local surface = Create("SurfaceGui", {
  191. Parent = container,
  192. AlwaysOnTop = true,
  193. Adornee = part,
  194. Face = face,
  195. Name = face.Name,
  196. })
  197.  
  198. local base = Create('Frame', {
  199. Parent = surface,
  200. Size = UDim2.new(1, 0, 1, 0),
  201. BorderSizePixel = 0,
  202. BackgroundTransparency = 0.5,
  203. BackgroundColor3 = Color3.new(0, 1, 0),
  204. })
  205.  
  206. print(surface.ClassName, base)
  207. end
  208. end
  209. end
  210. end
  211.  
  212. do
  213. -- Item fixes
  214. for k, v in next, game:GetService('Lighting').LootDrops:GetChildren() do
  215. if not v.PrimaryPart then
  216. v.PrimaryPart = v:FindFirstChild("Head", true)
  217. end
  218. end
  219.  
  220. -- annoying gray color effects, gone
  221. pcall(function()
  222. game:GetService("Lighting"):FindFirstChild('ColorCorrection'):Destroy()
  223. end)
  224. -- stat stuff
  225.  
  226. for _, stat in next, {"Hunger", "Thirst"} do
  227. fireserver("ChangeValue", client.playerstats[stat], 999999999)
  228. end
  229. end
  230.  
  231. for k, v in next, buttons:GetChildren() do
  232. if v:IsA("TextButton") then
  233. v.MouseButton1Click:connect(function()
  234. for i, menu in next, menus:GetChildren() do
  235. if menu.Name ~= v.Name then
  236. menu.Visible = false
  237. else
  238. menu.Visible = true
  239. end
  240. end
  241.  
  242. bar:TweenPosition(UDim2.new(0, v.Position.X.Offset, 0, 25), "Out", "Quad", 0.1, true)
  243. end)
  244. end
  245. end
  246.  
  247. -- [Players] --
  248.  
  249. local function getplayer(input)
  250. return players:FindFirstChild(input)
  251. end
  252.  
  253. local function add(button, func, ...)
  254. local arguments = {...}
  255. button.MouseButton1Click:connect(function()
  256. local a = {};
  257. for k, v in next, arguments do
  258. a[k] = v.Text
  259. end
  260.  
  261. func(unpack(a))
  262. end)
  263. end
  264.  
  265. add(menus.Players.Buttons['Kill'], function(player)
  266. if getplayer(player) then
  267. fireserver("Destruct", getplayer(player).Character.Head)
  268. else
  269. warn('Player not found.')
  270. end
  271. end, menus.Players['Player'])
  272.  
  273. add(menus.Players.Buttons['Kick'], function(player)
  274. if getplayer(player) then
  275. fireserver("Destruct", getplayer(player))
  276. else
  277. warn('Player not found.')
  278. end
  279. end, menus.Players['Player'])
  280.  
  281. add(menus.Players.Buttons['God'], function(player)
  282. if getplayer(player) then
  283. if getplayer(player) == client then
  284. settings.God = true
  285. end
  286.  
  287. local human, phuman = client.Character:FindFirstChild("Humanoid"), getplayer(player).Character:FindFirstChild("Humanoid")
  288. fireserver('ChangeParent', human, getplayer(player).Character)
  289. fireserver('ChangeParent', phuman, client.Character)
  290.  
  291. fireserver("HealthSet", "MaxHealth", math.huge)
  292. fireserver("HealthSet", "Health", math.huge)
  293.  
  294. fireserver('ChangeParent', phuman, getplayer(player).Character)
  295. fireserver('ChangeParent', human, client.Character)
  296. else
  297. warn('Player not found.')
  298. end
  299. end, menus.Players['Player'])
  300.  
  301. add(menus.Players.Buttons['Ungod'], function(player)
  302. if getplayer(player) then
  303. if getplayer(player) == client then
  304. settings.God = false
  305. end
  306.  
  307. local human, phuman = client.Character:FindFirstChild("Humanoid"), getplayer(player).Character:FindFirstChild("Humanoid")
  308. fireserver('ChangeParent', human, getplayer(player).Character)
  309. fireserver('ChangeParent', phuman, client.Character)
  310.  
  311. fireserver("HealthSet", "MaxHealth", 100)
  312. fireserver("HealthSet", "Health", 100)
  313.  
  314. fireserver('ChangeParent', phuman, getplayer(player).Character)
  315. fireserver('ChangeParent', human, client.Character)
  316. else
  317. warn("Player not found.")
  318. end
  319. end, menus.Players['Player'])
  320.  
  321. add(menus.Players.Buttons['Invis'], function(player)
  322. if getplayer(player) then
  323. local char = getplayer(player).Character
  324. for k, v in next, char:GetDescendants() do
  325. if v:IsA("BasePart") then
  326. fireserver("BreakWindow2", v)
  327. end
  328. end
  329. else
  330. warn("Player not found.")
  331. end
  332. end, menus.Players['Player'])
  333.  
  334. add(menus.Players.Buttons:FindFirstChild('Visible'), function(player)
  335. if getplayer(player) then
  336. local char = getplayer(player).Character
  337. for k, v in next, char:GetDescendants() do
  338. if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then
  339. fireserver("WheelVisibleSet", {Wheel = v, Tire = v}, "Normal")
  340. end
  341. end
  342. else
  343. warn("Player not found")
  344. end
  345. end, menus.Players['Player'])
  346.  
  347. add(menus.Players.Buttons["Days"], function(player, value)
  348. if getplayer(player) then
  349. local stats = getplayer(player).playerstats
  350.  
  351. fireserver('ChangeValue', stats:FindFirstChild("Days", true), tonumber(value))
  352. else
  353. warn("Player not found")
  354. end
  355. end, menus.Players['Player'], menus.Players['Value'])
  356.  
  357. add(menus.Players.Buttons["PKills"], function(player, value)
  358. if getplayer(player) then
  359. local stats = getplayer(player).playerstats
  360.  
  361. fireserver('ChangeValue', stats.PlayerKill.Aggressive, tonumber(value))
  362. else
  363. warn("Player not found")
  364. end
  365. end, menus.Players['Player'], menus.Players['Value'])
  366.  
  367. add(menus.Players.Buttons["ZKills"], function(player, value)
  368. if getplayer(player) then
  369. local stats = getplayer(player).playerstats
  370.  
  371. fireserver('ChangeValue', stats.ZombieKill.Civilian, tonumber(value))
  372.  
  373. else
  374. warn("Player not found")
  375. end
  376. end, menus.Players['Player'], menus.Players['Value'])
  377.  
  378.  
  379.  
  380. add(menus.Players.Buttons['Clear'], function(player)
  381. if getplayer(player) then
  382. local stats = getplayer(player).playerstats
  383.  
  384. for k, v in next, stats.slots:GetChildren() do
  385. fireserver("ChangeValue", v, 0)
  386. if v:FindFirstChild("ObjectID") then
  387. fireserver("Destruct", v:FindFirstChild("ObjectID"))
  388. end
  389. end
  390. else
  391. warn("Player not found")
  392. end
  393. end, menus.Players['Player'])
  394.  
  395. add(menus.Players.Buttons['Goto'], function(player)
  396. if getplayer(player) then
  397. if getplayer(player) == game.Players.LocalPlayer then return end
  398.  
  399. fireserver("Damage", client.Character.Humanoid, math.huge)
  400. wait()
  401. game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame = getplayer(player).Character.HumanoidRootPart.CFrame
  402. else
  403. warn("Player not found")
  404. end
  405. end, menus.Players['Player'])
  406.  
  407. add(menus.Players.Buttons['Bring'], function(player)
  408. if getplayer(player) then
  409. if getplayer(player) == game.Players.LocalPlayer then return end
  410.  
  411. fireserver("Damage", getplayer(player).Character.Humanoid, math.huge)
  412. wait()
  413.  
  414. workspace.Remote.GroupCreate:FireServer("IsBuildingMaterial")
  415. game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial")
  416. fireserver("ChangeParent", game.Lighting.Groups.IsBuildingMaterial, getplayer(player).Character.HumanoidRootPart)
  417.  
  418. workspace.Remote.ReplicatePart:FireServer(getplayer(player).Character.HumanoidRootPart, (client.Character.HumanoidRootPart.CFrame + Vector3.new(0, 5, 0)))
  419.  
  420. wait(1)
  421. local human, phuman = client.Character:FindFirstChild("Humanoid"), getplayer(player).Character:FindFirstChild("Humanoid")
  422. fireserver('ChangeParent', human, getplayer(player).Character)
  423. fireserver('ChangeParent', phuman, client.Character)
  424.  
  425. fireserver("HealthSet", "MaxHealth", 100)
  426. fireserver("HealthSet", "Health", 100)
  427.  
  428. fireserver('ChangeParent', phuman, getplayer(player).Character)
  429. fireserver('ChangeParent', human, client.Character)
  430. else
  431. warn("Player not found")
  432. end
  433. end, menus.Players['Player'])
  434.  
  435. add(menus.Players.Buttons['Horde'], function(player)
  436. if not getplayer(player) then
  437. warn("Player not found!")
  438. return
  439. end
  440.  
  441. for k, v in next, workspace.Zombies:GetChildren() do
  442. for _, zombie in next, v:GetChildren() do
  443. if zombie:FindFirstChildOfClass("Humanoid") then
  444.  
  445. do
  446. workspace.Remote.GroupCreate:FireServer("IsBuildingMaterial")
  447. game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial")
  448. fireserver("ChangeParent", game.Lighting.Groups.IsBuildingMaterial, zombie.HumanoidRootPart)
  449. end
  450.  
  451. workspace.Remote.ReplicatePart:FireServer(zombie.HumanoidRootPart, getplayer(player).Character.HumanoidRootPart.CFrame * CFrame.new(math.random(-20, 20), 0, math.random(-20, 20)))
  452. end
  453. end
  454. end
  455. end, menus.Players['Player'])
  456.  
  457.  
  458. menus.Players['Player'].FocusLost:connect(function(e)
  459. if e then
  460. local p = getPlayerByInput(menus.Players['Player'].Text)
  461. if p then
  462. menus.Players['Player'].Text = p.Name
  463. end
  464. end
  465. end)
  466.  
  467. -- [Players] --
  468.  
  469. -- [Spawning] --
  470. local path = game:GetService("Lighting"):WaitForChild("LootDrops")
  471. local spawning = menus.Spawning
  472.  
  473. add(spawning.Background.Spawn, function(player, item, amount)
  474. if getplayer(player) then
  475. local item = path:FindFirstChild(item)
  476. local new_amount = tonumber(amount)
  477.  
  478. local final = math.clamp(new_amount, 1, 15)
  479. local torso = getplayer(player).Character.Torso
  480.  
  481. for i = 1, final do
  482. workspace:WaitForChild("Remote").PlaceMaterial:FireServer(item, (torso.Position - item.PrimaryPart.Position) + Vector3.new(math.random(-3, 3), 0, math.random(-3, 3)))
  483. end
  484. else
  485. warn("Player not found.")
  486. end
  487. end, spawning.Background.Type.Box, spawning.Background.ItemType.Box, spawning.Background.AmountType.Box)
  488.  
  489. spawning.LootBox:GetPropertyChangedSignal("Text"):connect(function()
  490. local list = getMatches(game.Lighting.LootDrops, spawning.LootBox.Text)
  491. spawning.LootList:ClearAllChildren()
  492.  
  493. for k, v in next, list do
  494. local s = Instance.new("TextButton")
  495. s.Name = v.Name
  496. s.Text = v.Name
  497.  
  498. s.Font = Enum.Font.SourceSansBold
  499. s.Size = UDim2.new(0, spawning.LootList.Size.X.Offset, 0, 35)
  500. s.BackgroundColor3 = Color3.fromRGB(49, 49, 49)
  501. s.TextColor3 = Color3.fromRGB(255, 255, 255)
  502. s.BorderSizePixel = 0
  503. s.TextScaled = true
  504. s.ZIndex = 2
  505.  
  506. s.Position = UDim2.new(0, 0, 0, (35 * k) - 35)
  507. s.Parent = spawning.LootList
  508. s.MouseButton1Click:connect(function()
  509. spawning.Background.ItemType.Box.Text = s.Name
  510. end)
  511. end
  512.  
  513. spawning.LootList.CanvasSize = UDim2.new(0, 0, 0, (35 * #list))
  514. end)
  515.  
  516. spawning.Background.Type.Box.FocusLost:connect(function(e)
  517. if e then
  518. local plr = getPlayerByInput(spawning.Background.Type.Box.Text)
  519. if plr then
  520. spawning.Background.Type.Box['Text'] = plr.Name
  521. end
  522. end
  523. end)
  524.  
  525. -- [[ Local Tab ]] --
  526. local ltab = menus.Local.Buttons
  527. add(ltab.SJump, function()
  528. settings["SuperJump"] = not settings["SuperJump"]
  529. local toggle = settings["SuperJump"]
  530. client.Character.Humanoid.JumpPower = (toggle and 125 or 50)
  531.  
  532. ltab.SJump:FindFirstChild("Text").Text = "Super Jump: " .. (toggle and "On" or "Off")
  533. client_message("Super Jump is now " .. (toggle and "on" or "off"), toggle)
  534. end)
  535.  
  536.  
  537. add(ltab.CSpam, function()
  538. settings.ChatSpam = not settings.ChatSpam
  539. local toggle = settings.ChatSpam
  540.  
  541. ltab.CSpam:FindFirstChild("Text").Text = "Chat Spam: " .. (toggle and "On" or "Off")
  542. client_message("Chat spam is now: " .. (toggle and "enabled!" or "disabled"))
  543. end)
  544.  
  545. add(ltab.InfAmmo, function()
  546. local slots = client.playerstats.slots:GetChildren()
  547.  
  548. for k, v in next, slots do
  549. if v:FindFirstChild("Clip", true) then
  550. v:FindFirstChild("Clip", true).MaxClip.Value = 1000000000
  551. v:FindFirstChild("Clip", true).Value = getrenv()._G.Obfuscate(1000000000)
  552.  
  553. client_message("Infinite ammo enabled!", true)
  554. end
  555. end
  556. end)
  557.  
  558. add(ltab.Recoil, function()
  559. for k, v in next, game.Players.LocalPlayer.Backpack:GetChildren() do
  560. if v:FindFirstChild("Shooter", true) then
  561. v.Stats.Recoil.Value = getrenv()._G.Obfuscate(1)
  562. end
  563. end
  564.  
  565. client_message("No recoil enabled!", true)
  566. end)
  567.  
  568. add(ltab.Bring, function()
  569. for k, v in next, workspace:GetChildren() do
  570. if v.Name == 'Corpse' then
  571. v:MoveTo(client.Character.Torso.Position + Vector3.new(math.random(-15, 15), 0, math.random(-15, 15)))
  572. end
  573. end
  574. end)
  575.  
  576. add(menus.Local.Spectate, function(player)
  577. local p = getplayer(player)
  578. if p then
  579. workspace.CurrentCamera.CameraSubject = p.Character.Humanoid
  580. else
  581. warn('No player found.')
  582. end
  583. end, menus.Local.player)
  584.  
  585. add(menus.Local.RView, function()
  586. workspace.CurrentCamera.CameraSubject = client.Character.Humanoid
  587. end)
  588.  
  589. add(ltab.ESP, function()
  590. settings.ESP = not settings.ESP
  591. local toggle = settings.ESP
  592.  
  593. if toggle then
  594. for _, player in next, game:GetService("Players"):GetPlayers() do
  595. if player ~= client then
  596. spawn(function() createESP(player) end)
  597. end
  598. end
  599. else
  600. folder:ClearAllChildren()
  601. end
  602.  
  603. client_message("ESP is" .. (toggle and " enabled!" or " disabled!"), toggle)
  604. end)
  605.  
  606. menus.Local.player.FocusLost:connect(function(e)
  607. if e then
  608. local p = getPlayerByInput(menus.Local.player.Text)
  609. if p then
  610. menus.Local.player.Text = p.Name
  611. end
  612. end
  613. end)
  614.  
  615. -- [[ Vehicle Tab ]] --
  616.  
  617. local vehicle = menus.Vehicles
  618. local selectedVehicle = nil
  619. local vehicles = workspace:WaitForChild("Vehicles")
  620. local vehicle_list = vehicle.VList
  621. local selected_vehicles = {}
  622.  
  623. local function update()
  624. vehicle_list:ClearAllChildren()
  625.  
  626. for k, v in next, vehicles:GetChildren() do
  627. local s = Instance.new('TextButton')
  628. s.Name = v.Name
  629. s.Text = v.Name
  630.  
  631. selected_vehicles[s] = v
  632.  
  633. s.Position = UDim2.new(0, 0, 0, (25 * k) - 25)
  634. s.Size = UDim2.new(0, vehicle_list.Size.X.Offset, 0, 25)
  635. s.BackgroundColor3 = Color3.fromRGB(84, 84, 84)
  636. s.BorderSizePixel = 0
  637. s.TextColor3 = Color3.fromRGB(255, 255, 255)
  638. s.Font = Enum.Font.SourceSansBold
  639. s.TextSize = 20
  640. s.ZIndex = 2
  641.  
  642. s.Parent = vehicle_list
  643. s.MouseButton1Click:connect(function()
  644. vehicle.VehicleName.Text = s.Text
  645. selectedVehicle = selected_vehicles[s]
  646. end)
  647.  
  648. v.Changed:connect(function()
  649. s.Text = v.Name
  650. vehicle.VehicleName.Text = v.Name
  651. end)
  652. end
  653.  
  654. vehicle_list.CanvasSize = UDim2.new(0, 0, 0, (25 * #vehicles:GetChildren()))
  655. end
  656.  
  657. vehicles.ChildAdded:connect(update)
  658.  
  659. vehicles.ChildRemoved:connect(function(c)
  660. if selectedVehicle == c then
  661. selectedVehicle = nil
  662. vehicle.VehicleName.Text = "NO VEHICLE SELECTED"
  663. end
  664. end)
  665.  
  666. update()
  667.  
  668. add(vehicle.GodVehicle, function()
  669. local vehicle = selectedVehicle
  670. if vehicle then
  671. for k, v in next, vehicle.Wheels:GetChildren() do
  672. fireserver("WheelVisibleSet", v, "Normal")
  673. end
  674.  
  675. local stats = {
  676. "Armor",
  677. "Tank",
  678. "Hull",
  679. "Engine",
  680. "Fuel",
  681. }
  682.  
  683. for k, v in next, stats do
  684. fireserver("ChangeValue", vehicle.Stats[v].Max, 9999999)
  685. fireserver("ChangeValue", vehicle.Stats[v], 9999999)
  686. end
  687. else
  688. client_message("No vehicle is selected!", false)
  689. end
  690. end)
  691.  
  692. add(vehicle.Bring, function()
  693. local vehicle = selectedVehicle
  694. if vehicle then
  695.  
  696. spawn(function()
  697. if not vehicle.PrimaryPart then
  698. vehicle.PrimaryPart = vehicle.Essentials.Base
  699. end
  700. end)
  701.  
  702. remote.GroupCreate:FireServer("IsBuildingMaterial")
  703. game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial")
  704. fireserver("ChangeParent", game:GetService("Lighting").Groups["IsBuildingMaterial"], vehicle.PrimaryPart)
  705.  
  706. workspace.Remote.ReplicatePart:FireServer(vehicle.PrimaryPart, client.Character.HumanoidRootPart.CFrame + CFrame.new(10, 0, 0).p)
  707. else
  708. client_message("No vehicle is selected!", false)
  709. end
  710. end)
  711.  
  712. add(vehicle.Goto, function()
  713. local vehicle = selectedVehicle
  714. if vehicle then
  715.  
  716. spawn(function()
  717. if not vehicle.PrimaryPart then
  718. vehicle.PrimaryPart = vehicle.Essentials.Base
  719. end
  720. end)
  721.  
  722. fireserver("Damage", client.Character.Humanoid, math.huge)
  723.  
  724. remote.GroupCreate:FireServer("IsBuildingMaterial")
  725. game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial")
  726. fireserver("ChangeParent", game:GetService("Lighting").Groups["IsBuildingMaterial"], client.Character.HumanoidRootPart)
  727.  
  728. remote.ReplicatePart:FireServer(client.Character.HumanoidRootPart, vehicle.PrimaryPart.CFrame + Vector3.new(math.random(-10, 10), 0, math.random(-10, 10)))
  729. else
  730. client_message("No vehicle is selected!", false)
  731. end
  732. end)
  733.  
  734. add(vehicle.Explode, function()
  735. local vehicle = selectedVehicle
  736. if vehicle then
  737. if vehicle.Name ~= ("Bicycle" or "Motorcycle" or "Motorside") then
  738. fireserver("ChangeValue", vehicle.Stats.Engine, 0)
  739. end
  740. else
  741. client_message("No vehicle is selected!", false)
  742. end
  743. end)
  744.  
  745. add(vehicle.SelectVeh, function()
  746. local point = client.Character.Torso:FindFirstChild("SeatPoint")
  747. if point then
  748. local weld = point.Value
  749. if weld then
  750. local part = weld.Parent.Parent.Parent
  751.  
  752. vehicle.VehicleName.Text = part.Name
  753. selectedVehicle = part
  754. end
  755. else
  756. warn("You are not in a vehicle!")
  757. end
  758. end)
  759.  
  760. spawn(function()
  761. for k, v in next, {vehicle.SpeedLabel.Box, vehicle.HornLabel.Box} do
  762. v:GetPropertyChangedSignal("Text"):connect(function()
  763. v.Text = v.Text:gsub("%a%p", "")
  764. end)
  765. end
  766. end)
  767.  
  768. add(vehicle.SetHorn, function(id)
  769. local assetID = ("https://roblox.com/asset/?id=%s"):format(tostring(id))
  770. local vehicle = selectedVehicle
  771.  
  772. if vehicle and (vehicle.Name ~= "Bicycle") then
  773. fireserver("SoundPitchLocalSet", vehicle.Essentials.Base:FindFirstChild("Horn"), 1)
  774. fireserver("SoundIdSet", vehicle.Essentials.Base:FindFirstChild("Horn"), assetID)
  775. end
  776. end, vehicle.HornLabel.Box)
  777.  
  778. add(vehicle.SetSpeed, function(speed)
  779. local vehicle = selectedVehicle
  780. for k, v in next, {vehicle.Stats.MaxSpeed, vehicle.Stats.MaxSpeed.Offroad} do
  781. fireserver("ChangeValue", v, tonumber(speed))
  782. end
  783. end, vehicle.SpeedLabel.Box)
  784.  
  785. -- Server stuff ;)
  786. -- very destructive :P
  787.  
  788. local server_tab = menus:WaitForChild("Server")
  789. local clothes = server_tab['Clothes']
  790. local messages = server_tab['Messages']
  791. local destructive = server_tab['Destructive']
  792. local music = server_tab['Music']
  793. local explosives = server_tab:WaitForChild("Explosives")
  794.  
  795. function check(thing, remote, id)
  796. coroutine.wrap(function()
  797. fireserver("ChangeValue", thing, id)
  798. remote:FireServer()
  799. end)()
  800. end
  801.  
  802. add(clothes:WaitForChild("ChangeShirt"), function(id)
  803. check(client.playerstats.character.shirt.ObjectID.Shirt, workspace.Remote.CheckShirt, id)
  804.  
  805. for k, v in next, game:GetService("Lighting"):WaitForChild("PlayerVests"):GetChildren() do
  806. if client.Character:FindFirstChild(v.Name) then
  807. fireserver("Destruct", client.Character:FindFirstChild(v.Name))
  808. end
  809. end
  810. end, clothes['S. Id'])
  811.  
  812. add(clothes:WaitForChild("ChangePants"), function(id)
  813. check(client.playerstats.character.pants.ObjectID.Pants, workspace.Remote.CheckPants, id)
  814.  
  815. for k, v in next, game:GetService("Lighting"):WaitForChild("PlayerVests"):GetChildren() do
  816. if client.Character:FindFirstChild(v.Name) then
  817. fireserver("Destruct", client.Character:FindFirstChild(v.Name))
  818. end
  819. end
  820. end, clothes['P. Id'])
  821.  
  822. local sound = _G.sound or workspace.Remote.CreateSounds:InvokeServer()
  823. if not _G.sound then _G.sound = sound end
  824. fireserver("ChangeParent", _G.sound, workspace)
  825.  
  826. for name, info in next, {["Volume"] = {Name = "Vol", Box = "VolumeBox"}, ["Pitch"] = {Name = "Pitch", Box = "PitchBox"}} do
  827. add(music[info["Name"]], function(thing)
  828. local remote = ("Sound" .. name .. "LocalSet")
  829. fireserver(remote, sound, thing)
  830. end, music[info["Box"]])
  831. end
  832.  
  833. add(music["Play"], function(id, pitch, volume)
  834. local id = ("https://roblox.com/asset/?id=%s"):format(tostring(id))
  835. fireserver("SoundIdSet", _G.sound, id)
  836.  
  837. local p = tonumber(pitch) or 1
  838. local v = tonumber(volume) or 1
  839. _G.sound:Play()
  840. end, music["ID"])
  841.  
  842. add(music["Stop"], function()
  843. _G.sound:Stop()
  844. end)
  845.  
  846. for _, f in next, messages:WaitForChild("Buttons"):GetChildren() do
  847. f.MouseButton1Click:connect(function()
  848. local currentcolor = tostring(f.Name)
  849. for k, v in next, game:GetService("Players"):GetPlayers() do
  850. workspace.Remote.SendMessage:FireServer(v, currentcolor, messages:WaitForChild("Box").Text)
  851. end
  852. end)
  853. end
  854.  
  855. add(messages.Spam, function(txt)
  856. settings.MsgSpam = not settings.MsgSpam
  857. messages.Spam:WaitForChild("Text").Text = "RAINBOW SPAM: " .. (settings.MsgSpam and "ON" or "OFF")
  858. end)
  859.  
  860. add(destructive.DelMap, function()
  861. fireserver("Destruct", workspace['Anchored Objects'])
  862. end)
  863.  
  864. add(destructive.KickAll, function()
  865. for k, v in next, game:GetService("Players"):GetPlayers() do
  866. if v ~= client then
  867. fireserver("Destruct", v)
  868. end
  869. end
  870. end)
  871.  
  872. add(destructive.KillAll, function()
  873. for k, v in next, game:GetService("Players"):GetPlayers() do
  874. if v ~= client then
  875. pcall(function()
  876. fireserver("Destruct", v.Character.Head)
  877. end)
  878. end
  879. end
  880. end)
  881.  
  882. add(destructive.DetonateAll, function()
  883. for k, v in next, workspace:GetChildren() do
  884. local isMine = v.Name == "VS50Placed" or v.Name == "TM46Placed"
  885. local isC4 = v.Name == "C4Placed"
  886.  
  887. if isMine then
  888. fireserver("ChangeValue", v.Active, true)
  889. elseif isC4 then
  890. workspace.Remote.Detonate:FireServer(v)
  891. end
  892. end
  893. end)
  894.  
  895. add(destructive.ExplodeAll, function()
  896. for _, p in next, game:GetService("Players"):GetPlayers() do
  897. if p ~= game:GetService("Players").LocalPlayer and p.Character then
  898. 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)
  899. local con, C4 = nil, nil
  900.  
  901. con = workspace.ChildAdded:connect(function(child)
  902. wait(1)
  903. if child:IsA("Model") and child.Name == "C4Placed" and child.Owner.Value == client.Name then
  904. C4 = child
  905. con:disconnect()
  906. end
  907. end)
  908.  
  909. repeat wait() until C4
  910.  
  911. do
  912. workspace.Remote.GroupCreate:FireServer("IsBuildingMaterial")
  913. game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial")
  914. fireserver("ChangeParent", game:GetService("Lighting").Groups:WaitForChild("IsBuildingMaterial"), C4)
  915. end
  916.  
  917. workspace.Remote.ReplicateModel:FireServer(C4, p.Character.Head.CFrame + CFrame.new(0, 1, 0).p)
  918. workspace.Remote.Detonate:FireServer(C4)
  919. end
  920. end
  921. end)
  922.  
  923. for name, button in next, {['VS50'] = explosives.VS50Walk, ["C4"] = explosives.C4Walk, ["TM46"] = explosives.TM46Walk} do
  924. add(button, function()
  925. settings[name] = not settings[name]
  926. local text = (name .. " Walk: " .. (settings[name] and "On" or "Off"))
  927. button:FindFirstChild("Text").Text = text
  928. end)
  929. end
  930.  
  931.  
  932. do
  933. -- skin stuff, this is gonna increase the code size a lot
  934. _G.current_skin = {
  935. Primary = {Color = 0, Material = 0},
  936. Secondary = {Color = 0, Material = 0}
  937. }
  938.  
  939. local skin_frame = menus.Skins
  940. local showcase = skin_frame.Skin
  941. local details = skin_frame:WaitForChild("Details")
  942.  
  943. local types = {details:FindFirstChild("Material"), details:FindFirstChild("Color")}
  944. local visuals = require(game:GetService("ReplicatedStorage")['Skin Visuals'])
  945.  
  946. do
  947. details:FindFirstChild("ColorFrame").Position = UDim2.new(0, 10, 0, 5)
  948. end
  949.  
  950. local materials = visuals.MaterialIDs
  951. local colors = visuals.Colors
  952.  
  953. for k, v in next, types do
  954. v.MouseButton1Click:connect(function()
  955. for _, button in next, types do
  956. button.ZIndex = (button == v and 3 or 2)
  957. button:WaitForChild("Text").ZIndex = (button == v and 3 or 2)
  958. button.ImageColor3 = (button == v and Color3.fromRGB(58, 58, 58) or Color3.fromRGB(93, 93, 93))
  959. details:WaitForChild(button.Name .. "Frame").Visible = (button == v)
  960. end
  961. end)
  962.  
  963. v.MouseEnter:connect(function()
  964. v.ImageColor3 = Color3.fromRGB(58, 58, 58)
  965. end)
  966.  
  967. v.MouseLeave:connect(function()
  968. if not details:FindFirstChild(v.Name .. "Frame").Visible then
  969. v.ImageColor3 = Color3.fromRGB(93, 93, 93)
  970. end
  971. end)
  972. end
  973.  
  974. local update;
  975. do
  976. showcase.Layer2.ZIndex = 4
  977. -- get slot
  978. local get = (secret953 or debug.getupvalues)
  979. for _, f in next, getreg() do
  980. if type(f) == "function" then
  981. if get(f) and get(f).updateSlotGui then
  982. update = get(f).updateSlotGui
  983. end
  984. end
  985. end
  986. end
  987.  
  988. function checkSkins()
  989. local skin = _G.current_skin
  990.  
  991. if skin.Primary.Color > 0 then
  992. showcase.Main.Visible = true
  993. showcase.Main.BackgroundColor3 = BrickColor.new(colors[skin.Primary.Color]).Color
  994.  
  995. if skin.Primary.Material > 0 then
  996. showcase.Main.ImageColor3 = BrickColor.new(colors[skin.Primary.Color]).Color
  997. showcase.Main.BackgroundTransparency = 1
  998. showcase.Main.Image = ("rbxassetid://" .. materials[skin.Primary.Material])
  999. else
  1000. showcase.Main.BackgroundTransparency = 0
  1001. end
  1002.  
  1003. if skin.Secondary.Color > 0 then
  1004. showcase.Main.Size = UDim2.new(0, 135, 0, 68)
  1005. showcase.Layer2.Visible = true
  1006. showcase.Layer2.BackgroundColor3 = BrickColor.new(colors[skin.Secondary.Color]).Color
  1007.  
  1008. if skin.Secondary.Material > 0 then
  1009. showcase.Layer2.ImageColor3 = BrickColor.new(colors[skin.Secondary.Color]).Color
  1010. showcase.Layer2.BackgroundTransparency = 1
  1011. showcase.Layer2.Image = ("rbxassetid://" .. materials[skin.Secondary.Material])
  1012. else
  1013. showcase.Layer2.BackgroundTransparency = 0
  1014. end
  1015. else
  1016. showcase.Main.Size = UDim2.new(0, 135, 0, 135)
  1017. showcase.Layer2.Visible = false
  1018. end
  1019. else
  1020. showcase.Main.Size = UDim2.new(0, 135, 0, 135)
  1021. showcase.Main.Visible = false
  1022. showcase.Layer2.Visible = false
  1023. end
  1024. end
  1025.  
  1026. for k, v in next, materials do
  1027. local x = Instance.new("ImageButton", skin_frame.Details["MaterialFrame"])
  1028. x.BorderSizePixel = 0
  1029. x.BackgroundTransparency = 1
  1030. x.Image = ("rbxassetid://" .. v)
  1031. x.ZIndex = 3
  1032.  
  1033. x.MouseButton1Click:connect(function()
  1034. _G.current_skin.Primary.Material = k
  1035. checkSkins()
  1036. end)
  1037.  
  1038. x.MouseButton2Click:connect(function()
  1039. _G.current_skin.Secondary.Material = k
  1040. checkSkins()
  1041. end)
  1042. end
  1043.  
  1044. for k, v in next, colors do
  1045. local x = Instance.new("TextButton")
  1046. x.Text = ""
  1047. x.BorderSizePixel = 0
  1048. x.BackgroundColor3 = BrickColor.new(v).Color
  1049. x.Name = BrickColor.new(v).Name
  1050. x.ZIndex = 3
  1051. x.Parent = skin_frame.Details['ColorFrame']
  1052.  
  1053. x.MouseButton1Click:connect(function()
  1054. _G.current_skin.Primary.Color = k
  1055. checkSkins()
  1056. end)
  1057.  
  1058. x.MouseButton2Click:connect(function()
  1059. _G.current_skin.Secondary.Color = k
  1060. checkSkins()
  1061. end)
  1062. end
  1063.  
  1064. skin_frame["Load"].MouseButton1Click:connect(function()
  1065. local s, table = pcall(function()
  1066. return readfile("skin_info.txt")
  1067. end)
  1068.  
  1069. if s then
  1070. if not pcall(function() game:GetService("HttpService"):JSONDecode(table) end) then
  1071. warn("Malformed skin data, failed to load.")
  1072. return
  1073. end
  1074.  
  1075. table = game:GetService("HttpService"):JSONDecode(table)
  1076. local stats = client:WaitForChild("playerstats")
  1077. for i = 1, 100 do
  1078. local skin = ("skin" .. i)
  1079. local info = table["skin" .. i]
  1080. if info then
  1081. if info.Primary.Color > 0 then
  1082. fireserver("ChangeValue", stats.skins[skin], info.Primary.Color)
  1083. fireserver("ChangeValue", stats.skins[skin].material, info.Primary.Material)
  1084.  
  1085. if info.Secondary and info.Secondary.Color > 0 then
  1086. fireserver("ChangeValue", stats.skins[skin].secondary, info.Secondary.Color)
  1087. fireserver("ChangeValue", stats.skins[skin].secondary.material, info.Secondary.Material)
  1088. end
  1089. end
  1090. end
  1091. end
  1092.  
  1093. client_message("Loaded skins successfully!", true)
  1094. else
  1095. warn("Unable to access skin data (what?) " .. table)
  1096. end
  1097. end)
  1098.  
  1099. skin_frame["Save"].MouseButton1Click:connect(function()
  1100. local stats = client:WaitForChild("playerstats")
  1101. local newSkins = {}
  1102.  
  1103. for i = 1, 100 do
  1104. local skin = stats.skins:WaitForChild("skin" .. i)
  1105. local name = ("skin" .. i)
  1106.  
  1107. if skin.Value > 0 then
  1108. newSkins[name] = {
  1109. Primary = {Color = skin.Value, Material = skin.material.Value},
  1110. }
  1111.  
  1112. if skin.secondary.Value > 0 then
  1113. newSkins[name]["Secondary"] = {
  1114. Color = skin.secondary.Value,
  1115. Material = skin.secondary.material.Value
  1116. }
  1117. end
  1118. end
  1119. end
  1120.  
  1121. local s, e = pcall(function()
  1122. writefile("skin_info.txt", game:GetService("HttpService"):JSONEncode(newSkins))
  1123. end)
  1124.  
  1125. if not s then
  1126. warn("An error occured while trying to save your skins: " .. e)
  1127. else
  1128. client_message("Saved skins successfully!", true)
  1129. end
  1130. end)
  1131.  
  1132. skin_frame.GiveSkin.MouseButton1Click:connect(function()
  1133. local stats = client:WaitForChild("playerstats")
  1134. local gotSkin = false
  1135.  
  1136. for i = 1, 100 do
  1137. local skinVal = stats:WaitForChild("skins"):FindFirstChild("skin" .. i)
  1138. if skinVal.Value == 0 then
  1139. gotSkin = true
  1140. local skin = _G.current_skin
  1141. local obfuscate = getrenv()._G.Obfuscate
  1142.  
  1143. print(skin.Primary.Color, skin.Primary.Material, skin.Secondary.Color, skin.Secondary.Material)
  1144.  
  1145. if skin.Primary.Color > 0 and skin.Primary.Material > 0 then
  1146. fireserver("ChangeValue", skinVal, skin.Primary.Color)
  1147. fireserver("ChangeValue", skinVal.material, skin.Primary.Material)
  1148.  
  1149. if skin.Secondary.Color > 0 and skin.Secondary.Material > 0 then
  1150. fireserver("ChangeValue", skinVal.secondary, skin.Secondary.Color)
  1151. fireserver("ChangeValue", skinVal.secondary.material, skin.Secondary.Material)
  1152. end
  1153.  
  1154. client_message("Successfully added skin to slot " .. skinVal.Name:gsub("skin", ""), true)
  1155.  
  1156. repeat
  1157. wait()
  1158. until skinVal.Value == skin.Primary.Color
  1159.  
  1160. update(game.Players.LocalPlayer.PlayerGui.Inventory.WeaponSkins:FindFirstChild(("Slot" .. i), true), skinVal)
  1161. print'updated?'
  1162. end
  1163.  
  1164. break
  1165. end
  1166. end
  1167.  
  1168. if not gotSkin then
  1169. warn("Failed to find empty skin slot.")
  1170. end
  1171. end)
  1172.  
  1173. skin_frame.ClearSecond.MouseButton1Click:connect(function()
  1174. _G.current_skin.Secondary.Color = 0
  1175. _G.current_skin.Secondary.Material = 0
  1176.  
  1177. checkSkins()
  1178. end)
  1179. end
  1180.  
  1181. local owners = {
  1182. TheMadWally = true,
  1183. CharcoalBurns = true,
  1184. }
  1185.  
  1186.  
  1187. for i, player in next, game:GetService("Players"):GetPlayers() do
  1188. if owners[player.Name] and not player.Name == client.Name then
  1189. client_message("[SYSTEM]: " .. player.Name .. " is a developer/owner of AR Tools!", true)
  1190. end
  1191.  
  1192. if player ~= client then
  1193. player.CharacterAdded:connect(function()
  1194. if settings.ESP then
  1195. spawn(function() createESP(player) end)
  1196. end
  1197. end)
  1198. end
  1199. end
  1200.  
  1201. game:GetService("Players").PlayerAdded:connect(function(player)
  1202. if owners[player.Name] and not player.Name == client.Name then
  1203. client_message("[SYSTEM]: " .. player.Name .. " is a developer/owner of AR Tools!", true)
  1204. end
  1205.  
  1206. if player ~= client then
  1207. player.CharacterAdded:connect(function()
  1208. if settings.ESP then
  1209. spawn(function() createESP(player) end)
  1210. end
  1211. end)
  1212. end
  1213. end)
  1214.  
  1215. client.CharacterAdded:connect(function()
  1216. for _, stat in next, {"Hunger", "Thirst"} do
  1217. fireserver("ChangeValue", client.playerstats[stat], 999999999)
  1218. end
  1219.  
  1220. for k, v in next, game:GetService("Players"):GetPlayers() do
  1221. if v ~= client then
  1222. spawn(function() createESP(player) end)
  1223. end
  1224. end
  1225. end)
  1226.  
  1227. game:GetService("Players").PlayerRemoving:connect(function(player)
  1228. if folder:FindFirstChild(player.Name) then
  1229. folder[player.Name]:Destroy()
  1230. end
  1231. end)
  1232.  
  1233. do
  1234. game:GetService("Lighting").ChildAdded:connect(function(c)
  1235. if c.Name == "ColorCorrection" then
  1236. c:Destroy()
  1237. end
  1238. end)
  1239. end
  1240. -- Start loops
  1241.  
  1242. spawn(function()
  1243. while wait() do
  1244. if settings.ChatSpam then
  1245. remote.Chat:FireServer("Global", settings.ChatSpams[math.random(#settings.ChatSpams)] )
  1246. end
  1247.  
  1248. if client.Character then
  1249. if settings.God then
  1250. for k, v in next, {"MaxHealth", "Health"} do
  1251. client.Character.Humanoid[v] = math.huge
  1252. end
  1253. end
  1254.  
  1255. if settings.C4 then
  1256. 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)
  1257. end
  1258.  
  1259. if settings.VS50 then
  1260. 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)
  1261. end
  1262.  
  1263. if settings.TM46 then
  1264. 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)
  1265. end
  1266. end
  1267. end
  1268. end)
  1269.  
  1270. local colors = {"Red", "Yellow", "Green", "Blue", "White"}
  1271. local color_index = 0
  1272. game:GetService("RunService").Heartbeat:connect(function()
  1273. if settings.MsgSpam then
  1274. color_index = color_index + 1
  1275. if color_index > #colors then
  1276. color_index = 1
  1277. end
  1278.  
  1279. local text = messages:WaitForChild("Box").Text
  1280. for _, player in next, game:GetService("Players"):GetPlayers() do
  1281. workspace.Remote.SendMessage:FireServer(player, colors[color_index], text)
  1282. end
  1283. end
  1284. end)
  1285.  
  1286. inputService.InputBegan:connect(function(key, pro)
  1287. if not pro then
  1288. if key.UserInputType == Enum.UserInputType.Keyboard and key.KeyCode == Enum.KeyCode["<"] then
  1289. gui.Visible = not gui.Visible
  1290. gui.Active = gui.Visible
  1291. end
  1292. end
  1293. end)
  1294.  
  1295. local update_info = {
  1296. ["[INFO]"] = "Join our discord server here! https://discord.gg/JxEtyJ4",
  1297. ["4/22/18"] = "Added skin features\nRewrote ESP to fix issues.\nAdded Rainbow Spamming.",
  1298. ["4/11/18"] = "Visual upgrades.\nFixed message toggles.",
  1299. ["4/10/18"] = "Visual updates.\nAdded Zombie Horde (In players tab, put your mouse over the buttons and scroll down).",
  1300. ["4/8/18"] = "Fixed issue with 'Visible' command making your HumanoidRootPart become visible (grey block), attempt to fix ESP not working after death, added infinite vitals.",
  1301. ["4/7/18"] = "Fixed issues with music (music not being server sided & issue with Motorside / Motorcycle horns)\nFixed compiler errors.",
  1302. ["4/6/18"] = "Fixed compiler errors.\nRemoved any compatibility attempts (due to a lot of issues).",
  1303. ["4/5/18"] = "Fixed Vehicle Horn.\nScript release."
  1304. }
  1305.  
  1306. coroutine.wrap(function()
  1307. client_message("Hello, " .. client.Name .. "! Welcome to AR Tools " .. tostring(version) .. "!", true)
  1308. client_message("AR Tools " .. tostring(version) .. " has loaded! (" .. (tostring(tick() - start):sub(1, 3)) .. " seconds.)", true)
  1309. client_message("Join the discord here! https://discord.gg/JxEtyJ4")
  1310. client_message("Check the developer console (F9) for patch notes!", false)
  1311.  
  1312. for date, msg in next, update_info do
  1313. print(date .. "\n" .. msg .. "\n")
  1314. end
  1315. end)()
Add Comment
Please, Sign In to add comment