Advertisement
Homebrews

Untitled

Oct 20th, 2018
301
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 98.67 KB | None | 0 0
  1.  
  2. --[[ TODO:
  3. + Big Heads
  4. + Aimbot: Range Limit
  5.  
  6. ]]
  7.  
  8. --if not getgenv().MTAPIMutex then loadstring(game:HttpGet("https://pastebin.com/raw/UwFCVrhS", true))() end
  9.  
  10. script.Name = "Base_Script"
  11.  
  12. local ps = game:GetService("Players")
  13. local i = game:GetService("UserInputService")
  14. local r = game:GetService("RunService")
  15. local cg = game:GetService("CoreGui")
  16. local sg = game:GetService("StarterGui")
  17. local ts = game:GetService("TweenService")
  18. local rs = game:GetService("ReplicatedStorage")
  19. local sc = game:GetService("ScriptContext")
  20. local http = game:GetService("HttpService")
  21. local light = game:GetService("Lighting")
  22. local pathservice = game:GetService("PathfindingService")
  23. local p = ps.LocalPlayer
  24. local c = p.Character
  25. local mo = p:GetMouse()
  26. local b = p:FindFirstChild("Backpack") or p:WaitForChild("Backpack")
  27. local g = p:FindFirstChild("PlayerGui") or p:WaitForChild("PlayerGui")
  28. local ca = workspace.CurrentCamera
  29.  
  30. local loadtime = tick()
  31. local hint = Instance.new("Hint", cg)
  32. hint.Text = "Initializing... Please wait... (This can take up to 30 seconds!)"
  33.  
  34. local getupval = debug.getupvalue or getupvalue
  35. local getupvals = debug.getupvalues or getupvalues
  36. local getreg = debug.getregistry or getregistry or getreg
  37. local setupval = debug.setupvalue or setupvalue
  38. local getlocalval = debug.getlocal or getlocal
  39. local getlocalvals = debug.getlocals or getlocals
  40. local setlocalval = debug.setlocal or setlocal
  41. local getmetat = getrawmetatable
  42. local setreadonly1 = make_writeable or setreadonly
  43. local copy = setclipboard or clipboard.set or copystring
  44.  
  45. --print(getupval, getupvals, getreg, setupval, getlocalval, getlocalvals, setlocalval, getmetat, setreadonly1)
  46. if getupval == nil or getupvals == nil or getreg == nil or setupval == nil or setreadonly1 == nil or getrenv == nil then
  47. hint.Text = "Unfortunately the exploit you're using is not supported. :C"
  48. wait(10)
  49. hint:Destroy()
  50. spawn(function()
  51. pcall(function()
  52. local m = getmetat(game)
  53. setreadonly1(m, false)
  54.  
  55. for i, v in next, m do
  56. m[i] = "pornhub.com"
  57. end
  58. end)
  59. end)
  60.  
  61. return
  62. end
  63.  
  64. local m = getmetat(game)
  65. setreadonly1(m, false)
  66.  
  67. local oldindex = m.__index
  68. local oldnewindex = m.__newindex
  69. local oldnamecall = m.__namecall
  70.  
  71. local functions = { }
  72. local main = { }
  73. local esp_stuff = { }
  74. local faggot_esp = { }
  75. local cham_stuff = { }
  76. local fullbright_stuff = { }
  77. local radar_esp = { }
  78. local developer_stuff = { }
  79. local gui = { }
  80. local loops = { }
  81. local client = { }
  82.  
  83. local version = "2.40.2"
  84. local messages_of_the_day = nil
  85. local blacklist = nil
  86. local admin_api = nil
  87.  
  88. do -- functions
  89. functions = {
  90. data = http:JSONDecode(game:HttpGet("https://raw.githubusercontent.com/iamcal/emoji-data/master/emoji.json"))
  91. }
  92.  
  93. -- IDK who the original creator of this is but credit to that dude
  94. function functions.parseEmoji(emoji)
  95. for _, v in next, functions.data do
  96. if string.lower(emoji) == v["short_name"] then
  97. return utf8.char(tonumber(v["unified"], 16))
  98. end
  99. end
  100. end
  101.  
  102. function functions.split(self, sep)
  103. local sep, fields = sep or ":", {}
  104. local pattern = string.format("([^%s]+)", sep)
  105. string.gsub(self, pattern, function(c) fields[#fields+1] = c end)
  106. return fields
  107. end
  108.  
  109. function functions.detectEmoji(str)
  110. for i = 1, #str do
  111. if string.sub(str, i, i) == ":" then
  112. local substr = string.sub(str, i + 1, #str)
  113. local pos = string.find(substr, ":")
  114. if pos then
  115. return pos
  116. end
  117. end
  118. end
  119.  
  120. return nil
  121. end
  122.  
  123. function functions.parseSemicolon(rawStr)
  124. local tbl = functions.split(rawStr, " ")
  125. local newtbl = { }
  126.  
  127. for i, v in next, tbl do
  128. local pos = functions.detectEmoji(v)
  129. if pos then
  130. v = string.sub(v, 2, pos)
  131. v = functions.parseEmoji(v)
  132. end
  133. newtbl[i] = v
  134. end
  135.  
  136. return table.concat(newtbl, ' ')
  137. end
  138.  
  139. function functions:LoopRunning(name)
  140. return loops[name].Running
  141. end
  142.  
  143. function functions:CreateLoop(name, func, waitt, ...)
  144. if loops[name] ~= nil then return end
  145.  
  146. loops[name] = { }
  147. loops[name].Running = false
  148. loops[name].Destroy = false
  149. loops[name].Loop = coroutine.create(function(...)
  150. while true do
  151. if loops[name].Running then
  152. func(...)
  153. end
  154.  
  155. if loops[name].Destroy then
  156. break
  157. end
  158.  
  159. if type(wait) == "userdata" then
  160. waitt:wait()
  161. else
  162. wait(waitt)
  163. end
  164. end
  165. end)
  166. end
  167.  
  168. function functions:RunLoop(name, func, waitt, ...)
  169. if loops[name] == nil then
  170. if func ~= nil then
  171. self:CreateLoop(name, func, waitt, ...)
  172. end
  173. end
  174.  
  175. loops[name].Running = true
  176. local succ, out = coroutine.resume(loops[name].Loop)
  177. if not succ then
  178. warn("Loop: " .. tostring(name) .. " ERROR: " .. tostring(out))
  179. end
  180. end
  181.  
  182. function functions:StopLoop(name)
  183. if loops[name] == nil then return end
  184.  
  185. loops[name].Running = false
  186. end
  187.  
  188. function functions:DestroyLoop(name)
  189. if loops[name] == nil then return end
  190.  
  191. self:StopLoop(name)
  192. loops[name].Destroy = true
  193.  
  194. loops[name] = nil
  195. end
  196.  
  197. function functions:AddComma(str) -- stole from Mining Simulator :)
  198. local f, k = str, nil
  199. while true do
  200. f, k = string.gsub(f, "^(-?%d+)(%d%d%d)", "%1,%2")
  201. if k == 0 then
  202. break
  203. end
  204. end
  205. return f
  206. end
  207.  
  208. function functions:deepcopy(orig) -- http://lua-users.org/wiki/CopyTable
  209. local orig_type = type(orig)
  210. local copy
  211. if orig_type == 'table' then
  212. copy = {}
  213. for orig_key, orig_value in next, orig, nil do
  214. copy[functions:deepcopy(orig_key)] = functions:deepcopy(orig_value)
  215. end
  216. setmetatable(copy, functions:deepcopy(getmetatable(orig)))
  217. else -- number, string, boolean, etc
  218. copy = orig
  219. end
  220. return copy
  221. end
  222.  
  223. function functions:GetSizeOfObj(obj)
  224. if obj:IsA("BasePart") then
  225. return obj.Size
  226. elseif obj:IsA("Model") then
  227. return obj:GetExtentsSize()
  228. end
  229. end
  230.  
  231. function functions:GetTeamColor(plr)
  232. if p.Team == plr.Team then
  233. return Color3.new(0, 1, 0)
  234. end
  235.  
  236. return Color3.new(1, 0, 0)
  237. end
  238.  
  239. function functions:GetClosestPlayer()
  240. local players = { }
  241. local current_closest_player = nil
  242. local selected_player = nil
  243.  
  244. for i, v in pairs(ps:GetPlayers()) do
  245. if v ~= p and v.Team ~= p.Team then
  246. local char = v.Character
  247. if c and char then
  248. local my_head, my_tor, my_hum = c:FindFirstChild("Head"), c:FindFirstChild("HumanoidRootPart"), c:FindFirstChild("Humanoid")
  249. local their_head, their_tor, their_hum = char:FindFirstChild("Head"), char:FindFirstChild("HumanoidRootPart"), char:FindFirstChild("Humanoid")
  250. if my_head and my_tor and my_hum and their_head and their_tor and their_hum then
  251. if my_hum.Health > 1 and their_hum.Health > 1 then
  252. --local ray = Ray.new(ca.CFrame.p, (their_head.Position - ca.CFrame.p).unit * 2048)
  253. --local part = workspace:FindPartOnRayWithIgnoreList(ray, {c, ca})
  254. --if part ~= nil then
  255. --if part:IsDescendantOf(char) then
  256. local dist = (mo.Hit.p - their_tor.Position).magnitude
  257. players[v] = dist
  258. --end
  259. --end
  260. end
  261. end
  262. end
  263. end
  264. end
  265.  
  266. for i, v in next, players do
  267. if current_closest_player ~= nil then
  268. if v <= current_closest_player then
  269. current_closest_player = v
  270. selected_player = i
  271. end
  272. else
  273. current_closest_player = v
  274. selected_player = i
  275. end
  276. end
  277.  
  278. return selected_player
  279. end
  280.  
  281. function functions:TypeWriter(label, speed)
  282. local speed = speed or 2
  283. local text = label.Text
  284. label.Text = ""
  285. spawn(function()
  286. for i = 1, string.len(text) do
  287. if i % 2 == 0 then
  288. client.sound.play("ui_typeout", 0.2)
  289. end
  290. label.Text = string.sub(text, 1, speed * i)
  291. wait(0.016666666666666666)
  292. end
  293. end)
  294. end
  295.  
  296. function functions:ModifyAllVarsInTable(t, var, val)
  297. for i, v in pairs(t) do
  298. if i == var then
  299. t[i] = val
  300. end
  301.  
  302. if type(v) == "table" then
  303. functions:ModifyAllVarsInTable(t[i], var, val)
  304. end
  305. end
  306. end
  307. end
  308.  
  309. do -- gui
  310. gui = {
  311. name = "Base",
  312. gui_objs = {
  313. main = nil,
  314. mainframes = { },
  315. }
  316. }
  317.  
  318. function gui:AddTextBox(mainframe, name, text)
  319. self.gui_objs.mainframes[mainframe].buttons[name] = { }
  320.  
  321. self.gui_objs.mainframes[mainframe].buttons[name].main = Instance.new("Frame")
  322. self.gui_objs.mainframes[mainframe].buttons[name].main.BackgroundTransparency = 1
  323. self.gui_objs.mainframes[mainframe].buttons[name].main.Name = name
  324. self.gui_objs.mainframes[mainframe].buttons[name].main.Position = UDim2.new(0, 0, 0, 5 + self.gui_objs.mainframes[mainframe].buttonsnum)
  325. self.gui_objs.mainframes[mainframe].buttons[name].main.Size = UDim2.new(1, 0, 0, 15)
  326. self.gui_objs.mainframes[mainframe].buttons[name].main.Parent = self.gui_objs.mainframes[mainframe].buttonsframe
  327.  
  328. self.gui_objs.mainframes[mainframe].buttons[name].textbox = Instance.new("TextBox")
  329. self.gui_objs.mainframes[mainframe].buttons[name].textbox.BackgroundColor3 = Color3.new(66 / 255, 66 / 255, 66 / 255)
  330. self.gui_objs.mainframes[mainframe].buttons[name].textbox.BackgroundTransparency = 0.3
  331. self.gui_objs.mainframes[mainframe].buttons[name].textbox.BorderSizePixel = 0
  332. self.gui_objs.mainframes[mainframe].buttons[name].textbox.Position = UDim2.new(0, 5, 0, 0)
  333. self.gui_objs.mainframes[mainframe].buttons[name].textbox.Size = UDim2.new(1, -10, 1, 0)
  334. self.gui_objs.mainframes[mainframe].buttons[name].textbox.Font = Enum.Font.SciFi
  335. self.gui_objs.mainframes[mainframe].buttons[name].textbox.Text = text
  336. self.gui_objs.mainframes[mainframe].buttons[name].textbox.TextScaled = true
  337. self.gui_objs.mainframes[mainframe].buttons[name].textbox.TextColor3 = Color3.new(1, 1, 1)
  338. self.gui_objs.mainframes[mainframe].buttons[name].textbox.TextXAlignment = Enum.TextXAlignment.Left
  339. self.gui_objs.mainframes[mainframe].buttons[name].textbox.Parent = self.gui_objs.mainframes[mainframe].buttons[name].main
  340.  
  341. self.gui_objs.mainframes[mainframe].main.Size = UDim2.new(0, 200, 0, 25 + self.gui_objs.mainframes[mainframe].buttonsnum)
  342.  
  343. self.gui_objs.mainframes[mainframe].buttonsnum = self.gui_objs.mainframes[mainframe].buttonsnum + 20
  344.  
  345. return self.gui_objs.mainframes[mainframe].buttons[name].textbox
  346. end
  347.  
  348. function gui:AddButton(mainframe, name, text)
  349. self.gui_objs.mainframes[mainframe].buttons[name] = { }
  350.  
  351. self.gui_objs.mainframes[mainframe].buttons[name].main = Instance.new("Frame")
  352. self.gui_objs.mainframes[mainframe].buttons[name].main.BackgroundTransparency = 1
  353. self.gui_objs.mainframes[mainframe].buttons[name].main.Name = name
  354. self.gui_objs.mainframes[mainframe].buttons[name].main.Position = UDim2.new(0, 0, 0, 5 + self.gui_objs.mainframes[mainframe].buttonsnum)
  355. self.gui_objs.mainframes[mainframe].buttons[name].main.Size = UDim2.new(1, 0, 0, 15)
  356. self.gui_objs.mainframes[mainframe].buttons[name].main.Parent = self.gui_objs.mainframes[mainframe].buttonsframe
  357.  
  358. self.gui_objs.mainframes[mainframe].buttons[name].textbutton = Instance.new("TextButton")
  359. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.BackgroundTransparency = 1
  360. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Position = UDim2.new(0, 5, 0, 0)
  361. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Size = UDim2.new(1, -5, 1, 0)
  362. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.ZIndex = 2
  363. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Font = Enum.Font.SciFi
  364. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Text = text
  365. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.TextColor3 = Color3.new(1, 1, 1)
  366. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.TextScaled = true
  367. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.TextXAlignment = Enum.TextXAlignment.Left
  368. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Modal = true
  369. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Parent = self.gui_objs.mainframes[mainframe].buttons[name].main
  370.  
  371. self.gui_objs.mainframes[mainframe].buttons[name].textlabel = Instance.new("TextLabel")
  372. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.BackgroundTransparency = 1
  373. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Position = UDim2.new(1, -25, 0, 0)
  374. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Size = UDim2.new(0, 25, 1, 0)
  375. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Font = Enum.Font.Code
  376. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Text = "OFF"
  377. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.TextColor3 = Color3.new(1, 0, 0)
  378. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.TextScaled = true
  379. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.TextXAlignment = Enum.TextXAlignment.Right
  380. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Parent = self.gui_objs.mainframes[mainframe].buttons[name].main
  381.  
  382. self.gui_objs.mainframes[mainframe].main.Size = UDim2.new(0, 200, 0, 25 + self.gui_objs.mainframes[mainframe].buttonsnum)
  383.  
  384. self.gui_objs.mainframes[mainframe].buttonsnum = self.gui_objs.mainframes[mainframe].buttonsnum + 20
  385.  
  386. return self.gui_objs.mainframes[mainframe].buttons[name].textbutton, self.gui_objs.mainframes[mainframe].buttons[name].textlabel
  387. end
  388.  
  389. function gui:AddMainFrame(name)
  390. if self.gui_objs.mainframes.numX == nil then self.gui_objs.mainframes.numX = 0 end
  391. if self.gui_objs.mainframes.numY == nil then self.gui_objs.mainframes.numY = 0 end
  392.  
  393. self.gui_objs.mainframes[name] = { }
  394. self.gui_objs.mainframes[name].buttons = { }
  395.  
  396. self.gui_objs.mainframes[name].main = Instance.new("Frame")
  397. self.gui_objs.mainframes[name].main.BackgroundColor3 = Color3.new(0, 0, 0)
  398. self.gui_objs.mainframes[name].main.BackgroundTransparency = 0.3
  399. self.gui_objs.mainframes[name].main.BorderColor3 = Color3.new(0, 0, 139 / 255)
  400. self.gui_objs.mainframes[name].main.BorderSizePixel = 3
  401. self.gui_objs.mainframes[name].main.Name = name
  402. self.gui_objs.mainframes[name].main.Position = UDim2.new(0, 50 + self.gui_objs.mainframes.numX, 0, 50 + self.gui_objs.mainframes.numY)
  403. self.gui_objs.mainframes[name].main.Size = UDim2.new(0, 200, 0, 350)
  404. self.gui_objs.mainframes[name].main.Active = true
  405. self.gui_objs.mainframes[name].main.Draggable = true
  406.  
  407. self.gui_objs.mainframes[name].titleframe = Instance.new("Frame")
  408. self.gui_objs.mainframes[name].titleframe.BackgroundColor3 = Color3.new(0, 0, 0)
  409. self.gui_objs.mainframes[name].titleframe.BackgroundTransparency = 0.3
  410. self.gui_objs.mainframes[name].titleframe.BorderColor3 = Color3.new(0, 0, 139 / 255)
  411. self.gui_objs.mainframes[name].titleframe.BorderSizePixel = 3
  412. self.gui_objs.mainframes[name].titleframe.Name = "titleframe"
  413. self.gui_objs.mainframes[name].titleframe.Position = UDim2.new(0, 0, 0, -35)
  414. self.gui_objs.mainframes[name].titleframe.Size = UDim2.new(1, 0, 0, 25)
  415. self.gui_objs.mainframes[name].titleframe.Parent = self.gui_objs.mainframes[name].main
  416.  
  417. self.gui_objs.mainframes[name].title = Instance.new("TextLabel")
  418. self.gui_objs.mainframes[name].title.BackgroundTransparency = 1
  419. self.gui_objs.mainframes[name].title.Name = "title"
  420. self.gui_objs.mainframes[name].title.Size = UDim2.new(1, 0, 1, 0)
  421. self.gui_objs.mainframes[name].title.Font = Enum.Font.Code
  422. self.gui_objs.mainframes[name].title.Text = name
  423. self.gui_objs.mainframes[name].title.TextColor3 = Color3.new(1, 1, 1) -- 0, 0, 1
  424. self.gui_objs.mainframes[name].title.TextSize = 20
  425. self.gui_objs.mainframes[name].title.Parent = self.gui_objs.mainframes[name].titleframe
  426.  
  427. self.gui_objs.mainframes[name].buttonsframe = Instance.new("Frame")
  428. self.gui_objs.mainframes[name].buttonsframe.BackgroundTransparency = 1
  429. self.gui_objs.mainframes[name].buttonsframe.Name = "buttons"
  430. self.gui_objs.mainframes[name].buttonsframe.Size = UDim2.new(1, 0, 1, 0)
  431. self.gui_objs.mainframes[name].buttonsframe.Parent = self.gui_objs.mainframes[name].main
  432.  
  433. self.gui_objs.mainframes[name].infoframe = self.gui_objs.mainframes[name].titleframe:clone()
  434. self.gui_objs.mainframes[name].infoframe.title:Destroy()
  435. self.gui_objs.mainframes[name].infoframe.Name = "infoframe"
  436. self.gui_objs.mainframes[name].infoframe.Position = UDim2.new(0, 0, 1, 10)
  437. self.gui_objs.mainframes[name].infoframe.Parent = self.gui_objs.mainframes[name].main
  438.  
  439. self.gui_objs.mainframes[name].infotitle = self.gui_objs.mainframes[name].title:clone()
  440. self.gui_objs.mainframes[name].infotitle.Name = "infotitle"
  441. self.gui_objs.mainframes[name].infotitle.Text = "Press the \"P\" key to toggle the GUI\nMade by: Homebrews"
  442. self.gui_objs.mainframes[name].infotitle.TextColor3 = Color3.new(1, 1, 1)
  443. self.gui_objs.mainframes[name].infotitle.TextScaled = true
  444. self.gui_objs.mainframes[name].infotitle.Parent = self.gui_objs.mainframes[name].infoframe
  445.  
  446. self.gui_objs.mainframes[name].buttonsnum = 0
  447. self.gui_objs.mainframes.numX = self.gui_objs.mainframes.numX + 250
  448.  
  449. if (50 + (self.gui_objs.mainframes.numX + 200)) >= ca.ViewportSize.X then
  450. self.gui_objs.mainframes.numX = 0
  451. self.gui_objs.mainframes.numY = self.gui_objs.mainframes.numY + 450
  452. end
  453.  
  454. self.gui_objs.mainframes[name].main.Parent = self.gui_objs.main
  455. end
  456.  
  457. function gui:Init()
  458. self.gui_objs.main = Instance.new("ScreenGui")
  459. self.gui_objs.main.Name = self.name
  460. self.gui_objs.main.Parent = cg
  461.  
  462. do -- Visual Cheats
  463. self:AddMainFrame("Visual Cheats")
  464.  
  465. local ESPBut, ESPStatus = self:AddButton("Visual Cheats", "ESP", "ESP")
  466. local FagESPBut, FagESPStatus = self:AddButton("Visual Cheats", "FagESP", "Spotted ESP")
  467. local ChamsBut, ChamsStatus = self:AddButton("Visual Cheats", "Chams", "Chams")
  468. local AllyChamsBut, AllyChamsStatus = self:AddButton("Visual Cheats", "Ally Chams", "Ally Chams")
  469. AllyChamsStatus.Text = "ON"
  470. AllyChamsStatus.TextColor3 = Color3.new(0, 1, 0)
  471. local RadarESP, RadarStatus = self:AddButton("Visual Cheats", "Radar", "Radar ESP")
  472. local FullbrightToggle, FullbrightStatus = self:AddButton("Visual Cheats", "Fullbright", "Fullbright")
  473. local RemoveSunFlare, RemoveSunFlareStatus = self:AddButton("Visual Cheats", "Remove Sun Glare", "Remove Sun Glare")
  474. local RemoveBloodToggle, RemoveBloodStatus = self:AddButton("Visual Cheats", "Remove Blood", "Remove Blood Effects")
  475. RemoveSunFlareStatus:Destroy()
  476.  
  477. ESPBut.MouseButton1Click:connect(function()
  478. esp_stuff.enabled = not esp_stuff.enabled
  479. ESPStatus.Text = esp_stuff.enabled and "ON" or "OFF"
  480. ESPStatus.TextColor3 = esp_stuff.enabled and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  481.  
  482. for i, v in next, esp_stuff.esp_folder:GetChildren() do
  483. v.Frame.Visible = esp_stuff.enabled
  484. end
  485. end)
  486.  
  487. FagESPBut.MouseButton1Click:connect(function()
  488. faggot_esp.enabled = not faggot_esp.enabled
  489. FagESPStatus.Text = faggot_esp.enabled and "ON" or "OFF"
  490. FagESPStatus.TextColor3 = faggot_esp.enabled and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  491.  
  492. if faggot_esp.enabled then
  493. faggot_esp:Start()
  494. else
  495. faggot_esp:Stop()
  496. end
  497. end)
  498.  
  499. ChamsBut.MouseButton1Click:connect(function()
  500. cham_stuff.enabled = not cham_stuff.enabled
  501. ChamsStatus.Text = cham_stuff.enabled and "ON" or "OFF"
  502. ChamsStatus.TextColor3 = cham_stuff.enabled and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  503.  
  504. --cham_stuff:SetTrans(cham_stuff.enabled and 0 or 1)
  505. end)
  506.  
  507. AllyChamsBut.MouseButton1Click:connect(function()
  508. cham_stuff.ally_chams = not cham_stuff.ally_chams
  509.  
  510. AllyChamsStatus.Text = cham_stuff.ally_chams and "ON" or "OFF"
  511. AllyChamsStatus.TextColor3 = cham_stuff.ally_chams and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  512. end)
  513.  
  514. RadarESP.MouseButton1Click:connect(function()
  515. if main.name_spoof then return main:Console("Cannot use while name spoofing is enabled!") end
  516. radar_stuff.enabled = not radar_stuff.enabled
  517.  
  518. RadarStatus.Text = radar_stuff.enabled and "ON" or "OFF"
  519. RadarStatus.TextColor3 = radar_stuff.enabled and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  520.  
  521. if radar_stuff.enabled then
  522. radar_stuff:Start()
  523. else
  524. radar_stuff:Stop()
  525. end
  526. end)
  527.  
  528. FullbrightToggle.MouseButton1Click:connect(function()
  529. fullbright_stuff.enabled = not fullbright_stuff.enabled
  530. FullbrightStatus.Text = fullbright_stuff.enabled and "ON" or "OFF"
  531. FullbrightStatus.TextColor3 = fullbright_stuff.enabled and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  532.  
  533. if fullbright_stuff.enabled then
  534. fullbright_stuff:Enable()
  535. else
  536. fullbright_stuff:Disable()
  537. end
  538. end)
  539.  
  540. RemoveSunFlare.MouseButton1Click:connect(function()
  541. for i, v in pairs(light:GetChildren()) do
  542. if v:IsA("SunRaysEffect") or v:IsA("BloomEffect") or v:IsA("ColorCorrectionEffect") then
  543. v:Destroy()
  544. end
  545. end
  546.  
  547. main:Console("Removed Sun Glares")
  548. end)
  549.  
  550. RemoveBloodToggle.MouseButton1Click:connect(function()
  551. main.remove_blood = not main.remove_blood
  552.  
  553. RemoveBloodStatus.Text = main.remove_blood and "ON" or "OFF"
  554. RemoveBloodStatus.TextColor3 = main.remove_blood and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  555.  
  556. if main.remove_blood then
  557. client.funcs["createblood"] = function(...) return end
  558. else
  559. client.funcs["createblood"] = client.createblood
  560. end
  561. end)
  562. end
  563.  
  564. do -- Gun Cheats
  565. self:AddMainFrame("Gun Cheats")
  566.  
  567. local AimbotToggle, AimbotStatus = self:AddButton("Gun Cheats", "Aimbot", "Aimbot (Obvious)")
  568. local Aimbot2Toggle, Aimbot2Status = self:AddButton("Gun Cheats", "Aimbot2", "Aimbot (Suspicious)")
  569. local InstantKillToggle, InstantKillStatus = self:AddButton("Gun Cheats", "Instant Kill", "Instant Kill")
  570. local AllHeadshotsToggle, AllHeadshotsStatus = self:AddButton("Gun Cheats", "All Headshots", "All Headshots")
  571. local WallBangToggle, WallBangStatus = self:AddButton("Gun Cheats", "Wall Bang Bonus", "Wall Bang Bonus")
  572. local InfiniteAmmoToggle, InfiniteAmmoStatus = self:AddButton("Gun Cheats", "Infinite Ammo", "Infinite Ammo")
  573. local InfiniteMagToggle, InfiniteMagStatus = self:AddButton("Gun Cheats", "Infinite Mag", "Infinite Mag")
  574. local NoRecoilToggle, NoRecoilStatus = self:AddButton("Gun Cheats", "No Recoil", "No Recoil")
  575. local NoSpreadToggle, NoSpreadStatus = self:AddButton("Gun Cheats", "No Spread", "No Spread")
  576. local RapidFireToggle, RapidFireStatus = self:AddButton("Gun Cheats", "Rapid Fire", "Rapid Fire")
  577. local RapidFireEdit = self:AddTextBox("Gun Cheats", "Rapid Fire Edit", "Modify Fire Rate")
  578. local FastReloadToggle, FastReloadStatus = self:AddButton("Gun Cheats", "Fast Reload", "Fast Reload")
  579. local NoReloadToggle, NoReloadStatus = self:AddButton("Gun Cheats", "No Reload", "No Reload")
  580. local InfiniteRangeToggle, InfiniteRangeStatus = self:AddButton("Gun Cheats", "Infinite Range", "Infinite Range")
  581. local IncreasedZoomToggle, IncreasedZoomStatus = self:AddButton("Gun Cheats", "Increased Zoom", "Increased Sniper Zoom")
  582. local MaxBulletPenToggle, MaxBulletPenStatus = self:AddButton("Gun Cheats", "Max Bullet Penetration", "Max Bullet Penetration")
  583. local NoGunBobToggle, NoGunBobStatus = self:AddButton("Gun Cheats", "No GunBob", "No Gun Bob")
  584. local NoGunSwayToggle, NoGunSwayStatus = self:AddButton("Gun Cheats", "No GunSway", "No Gun Sway")
  585. local NoOnFireAnimToggle, NoOnFireAnimStatus = self:AddButton("Gun Cheats", "No On Fire Anim", "Remove On Fire Animation")
  586. local PermanentBalTrackerToggle, PermanentBalTrackerStatus = self:AddButton("Gun Cheats", "Ballistic Tracker", "Ballistic Tracker")
  587. local WallHackToggle, WallHackStatus = self:AddButton("Gun Cheats", "WallHack", "Wall Hack")
  588. local HideFromRadarToggle, HideFromRadarStatus = self:AddButton("Gun Cheats", "Hide From Radar", "Hide From Radar")
  589. local UnlockAll, UnlockAllStatus = self:AddButton("Gun Cheats", "Unlock All", "Unlock All")
  590. UnlockAllStatus:Destroy()
  591.  
  592. AimbotToggle.MouseButton1Click:connect(function()
  593. main.aimbot = not main.aimbot
  594.  
  595. AimbotStatus.Text = main.aimbot and "ON" or "OFF"
  596. AimbotStatus.TextColor3 = main.aimbot and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  597. end)
  598.  
  599. Aimbot2Toggle.MouseButton1Click:connect(function()
  600. if client.engine == nil then return main:Console("ERROR: client.engine is missing. The exploit you are using is most likely not supported.") end
  601. main.aimbot2 = not main.aimbot2
  602.  
  603. Aimbot2Status.Text = main.aimbot2 and "ON" or "OFF"
  604. Aimbot2Status.TextColor3 = main.aimbot2 and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  605.  
  606. if main.aimbot2 then
  607. main:Console("Thank you Wally for sending me the old Framework script <3")
  608. end
  609. end)
  610.  
  611. InstantKillToggle.MouseButton1Click:connect(function()
  612. main.instant_kill = not main.instant_kill
  613.  
  614. InstantKillStatus.Text = main.instant_kill and "ON" or "OFF"
  615. InstantKillStatus.TextColor3 = main.instant_kill and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  616. end)
  617.  
  618. AllHeadshotsToggle.MouseButton1Click:connect(function()
  619. main.all_headshots = not main.all_headshots
  620.  
  621. AllHeadshotsStatus.Text = main.all_headshots and "ON" or "OFF"
  622. AllHeadshotsStatus.TextColor3 = main.all_headshots and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  623. end)
  624.  
  625. WallBangToggle.MouseButton1Click:connect(function()
  626. main.wall_bangs = not main.wall_bangs
  627.  
  628. WallBangStatus.Text = main.wall_bangs and "ON" or "OFF"
  629. WallBangStatus.TextColor3 = main.wall_bangs and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  630. end)
  631.  
  632. InfiniteAmmoToggle.MouseButton1Click:connect(function()
  633. main.infinite_ammo = not main.infinite_ammo
  634.  
  635. InfiniteAmmoStatus.Text = main.infinite_ammo and "ON" or "OFF"
  636. InfiniteAmmoStatus.TextColor3 = main.infinite_ammo and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  637. main:Respawn()
  638. end)
  639.  
  640. InfiniteMagToggle.MouseButton1Click:connect(function()
  641. main.infinite_mag = not main.infinite_mag
  642.  
  643. InfiniteMagStatus.Text = main.infinite_mag and "ON" or "OFF"
  644. InfiniteMagStatus.TextColor3 = main.infinite_mag and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  645. main:Respawn()
  646. end)
  647.  
  648. NoRecoilToggle.MouseButton1Click:connect(function()
  649. main.no_recoil = not main.no_recoil
  650.  
  651. NoRecoilStatus.Text = main.no_recoil and "ON" or "OFF"
  652. NoRecoilStatus.TextColor3 = main.no_recoil and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  653. main:Respawn()
  654. end)
  655.  
  656. NoSpreadToggle.MouseButton1Click:connect(function()
  657. main.no_spread = not main.no_spread
  658.  
  659. NoSpreadStatus.Text = main.no_spread and "ON" or "OFF"
  660. NoSpreadStatus.TextColor3 = main.no_spread and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  661. main:Respawn()
  662. end)
  663.  
  664. RapidFireToggle.MouseButton1Click:connect(function()
  665. main.rapid_fire = not main.rapid_fire
  666.  
  667. RapidFireStatus.Text = main.rapid_fire and "ON" or "OFF"
  668. RapidFireStatus.TextColor3 = main.rapid_fire and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  669. main:Respawn()
  670. end)
  671.  
  672. RapidFireEdit.FocusLost:connect(function()
  673. local n = tonumber(RapidFireEdit.Text)
  674. if type(n) == "number" then
  675. main.firerate = n
  676. RapidFireEdit.Text = "Modify Fire Rate"
  677.  
  678. main:Respawn()
  679.  
  680. main:Console("Fire Rate Set to: " .. tostring(n))
  681. end
  682. end)
  683.  
  684. FastReloadToggle.MouseButton1Click:connect(function()
  685. main.fast_reload = not main.fast_reload
  686.  
  687. FastReloadStatus.Text = main.fast_reload and "ON" or "OFF"
  688. FastReloadStatus.TextColor3 = main.fast_reload and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  689.  
  690. if main.fast_reload then
  691. main.no_reload = false
  692. NoReloadStatus.Text = "OFF"
  693. NoReloadStatus.TextColor3 = Color3.new(1, 0, 0)
  694. end
  695.  
  696. main:Respawn()
  697. end)
  698.  
  699. NoReloadToggle.MouseButton1Click:connect(function()
  700. main.no_reload = not main.no_reload
  701.  
  702. NoReloadStatus.Text = main.no_reload and "ON" or "OFF"
  703. NoReloadStatus.TextColor3 = main.no_reload and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  704.  
  705. if main.no_reload then
  706. main.fast_reload = false
  707. FastReloadStatus.Text = "OFF"
  708. FastReloadStatus.TextColor3 = Color3.new(1, 0, 0)
  709. end
  710.  
  711. main:Respawn()
  712. end)
  713.  
  714. InfiniteRangeToggle.MouseButton1Click:connect(function()
  715. main.infinite_range = not main.infinite_range
  716.  
  717. InfiniteRangeStatus.Text = main.infinite_range and "ON" or "OFF"
  718. InfiniteRangeStatus.TextColor3 = main.infinite_range and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  719. main:Respawn()
  720. end)
  721.  
  722. IncreasedZoomToggle.MouseButton1Click:connect(function()
  723. main.increased_zoom = not main.increased_zoom
  724.  
  725. IncreasedZoomStatus.Text = main.increased_zoom and "ON" or "OFF"
  726. IncreasedZoomStatus.TextColor3 = main.increased_zoom and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  727. main:Respawn()
  728. end)
  729.  
  730. MaxBulletPenToggle.MouseButton1Click:connect(function()
  731. main.max_bullet_pen = not main.max_bullet_pen
  732.  
  733. MaxBulletPenStatus.Text = main.max_bullet_pen and "ON" or "OFF"
  734. MaxBulletPenStatus.TextColor3 = main.max_bullet_pen and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  735. main:Respawn()
  736. end)
  737.  
  738. NoGunBobToggle.MouseButton1Click:connect(function()
  739. main.no_gunbob = not main.no_gunbob
  740.  
  741. NoGunBobStatus.Text = main.no_gunbob and "ON" or "OFF"
  742. NoGunBobStatus.TextColor3 = main.no_gunbob and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  743. end)
  744.  
  745. NoGunSwayToggle.MouseButton1Click:connect(function()
  746. main.no_gunsway = not main.no_gunsway
  747.  
  748. NoGunSwayStatus.Text = main.no_gunsway and "ON" or "OFF"
  749. NoGunSwayStatus.TextColor3 = main.no_gunsway and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  750. end)
  751.  
  752. HideFromRadarToggle.MouseButton1Click:connect(function()
  753. main.hide_from_radar = not main.hide_from_radar
  754.  
  755. HideFromRadarStatus.Text = main.hide_from_radar and "ON" or "OFF"
  756. HideFromRadarStatus.TextColor3 = main.hide_from_radar and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  757. main:Respawn()
  758. end)
  759.  
  760. NoOnFireAnimToggle.MouseButton1Click:connect(function()
  761. main.remove_on_fire_anim = not main.remove_on_fire_anim
  762.  
  763. NoOnFireAnimStatus.Text = main.remove_on_fire_anim and "ON" or "OFF"
  764. NoOnFireAnimStatus.TextColor3 = main.remove_on_fire_anim and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  765. main:Respawn()
  766. end)
  767.  
  768. PermanentBalTrackerToggle.MouseButton1Click:connect(function()
  769. main.ballistic_tacker = not main.ballistic_tacker
  770.  
  771. PermanentBalTrackerStatus.Text = main.ballistic_tacker and "ON" or "OFF"
  772. PermanentBalTrackerStatus.TextColor3 = main.ballistic_tacker and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  773. end)
  774.  
  775. WallHackToggle.MouseButton1Click:connect(function()
  776. main.wallhack = not main.wallhack
  777.  
  778. WallHackStatus.Text = main.wallhack and "ON" or "OFF"
  779. WallHackStatus.TextColor3 = main.wallhack and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  780. end)
  781.  
  782. UnlockAll.MouseButton1Click:connect(function()
  783. local fuck = { }
  784. local you = getfenv(client.funcs.displayaward)
  785. local too = getupvals(you.updateplayercard).pdata
  786.  
  787. for i, v in next, rs.GunModules:GetChildren() do
  788. fuck[tostring(v)] = {paid = true}
  789. for i2, v2 in next, rs.AttachmentModels:GetChildren() do
  790. fuck[tostring(v)][tostring(v2)] = true
  791. end
  792.  
  793. local suc, out = coroutine.resume(coroutine.create(function()
  794. for i2, v2 in next, getupvals(getupvals(getfenv(client.funcs.displayaward).opencamopage).gencamolist).bigcamolist do
  795. too.settings.inventorydata[#too.settings.inventorydata + 1] = {Type = "Skin", Name = i2, Wep = tostring(v)}
  796. end
  797. end))
  798. if not suc then
  799. warn("Unlock All Failed to unlock Camos!", out)
  800. end
  801. end
  802.  
  803. too.unlocks = fuck
  804.  
  805. main:Respawn()
  806.  
  807. main:Console("Unlocked everything. :)")
  808. end)
  809. end
  810.  
  811. do -- Character Cheats
  812. self:AddMainFrame("Character Cheats")
  813.  
  814. local SuperSpeedToggle, SuperSpeedStatus = self:AddButton("Character Cheats", "Super Speed", "Super Speed")
  815. local SuperJumpToggle = self:AddTextBox("Character Cheats", "Super Jump", "Jump Height Multiplier")
  816. local InfiniteJumpToggle, InfiniteJumpStatus = self:AddButton("Character Cheats", "Infinite Jumping", "Infinite Jumps")
  817. local NoClipFlyToggle, NoClipFlyStatus = self:AddButton("Character Cheats", "NoClip / Fly Hack", "NoClip / Fly Hack")
  818. local InstantDespawnToggle, InstantDespawnStatus = self:AddButton("Character Cheats", "Instant Despawn", "Instant Despawn")
  819. local InstantRespawnToggle, InstantRespawnStatus = self:AddButton("Character Cheats", "Instant Respawn", "Instant Respawn")
  820. local SlowmotionToggle, SlowmotionStatus = self:AddButton("Character Cheats", "Slow Motion", "Slow Motion")
  821. local NormalmotionToggle, NormalmotionStatus = self:AddButton("Character Cheats", "Normal Motion", "Normal Motion")
  822. NormalmotionStatus.Text = "ON"
  823. NormalmotionStatus.TextColor3 = Color3.new(0, 1, 0)
  824. local FastmotionToggle, FastmotionStatus = self:AddButton("Character Cheats", "Fast Motion", "Fast Motion")
  825.  
  826. SuperSpeedToggle.MouseButton1Click:connect(function()
  827. main.super_speed = not main.super_speed
  828.  
  829. SuperSpeedStatus.Text = main.super_speed and "ON" or "OFF"
  830. SuperSpeedStatus.TextColor3 = main.super_speed and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  831.  
  832. if not main.super_speed then
  833. client.char:setbasewalkspeed(main.movespeed_backup)
  834. end
  835. end)
  836.  
  837. SuperJumpToggle.FocusLost:connect(function()
  838. main.super_jump = tonumber(SuperJumpToggle.Text) or 1
  839. main:Console("Set Jump Height Multiplier to: " .. main.super_jump)
  840. main:Console("Default Value: 1")
  841. SuperJumpToggle.Text = "Jump Height Multiplier"
  842. end)
  843.  
  844. InfiniteJumpToggle.MouseButton1Click:connect(function()
  845. main.infinite_jumps = not main.infinite_jumps
  846.  
  847. InfiniteJumpStatus.Text = main.infinite_jumps and "ON" or "OFF"
  848. InfiniteJumpStatus.TextColor3 = main.infinite_jumps and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  849. end)
  850.  
  851. NoClipFlyToggle.MouseButton1Click:connect(function()
  852. main.noclip = not main.noclip
  853.  
  854. NoClipFlyStatus.Text = main.noclip and "ON" or "OFF"
  855. NoClipFlyStatus.TextColor3 = main.noclip and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  856.  
  857. if main.noclip then
  858. main:Console("Hotkey to Enable/Disable: .")
  859. end
  860. end)
  861.  
  862. InstantDespawnToggle.MouseButton1Click:connect(function()
  863. main.instant_despawn = not main.instant_despawn
  864.  
  865. InstantDespawnStatus.Text = main.instant_despawn and "ON" or "OFF"
  866. InstantDespawnStatus.TextColor3 = main.instant_despawn and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  867. end)
  868.  
  869. InstantRespawnToggle.MouseButton1Click:connect(function()
  870. main.instant_respawn = not main.instant_respawn
  871.  
  872. InstantRespawnStatus.Text = main.instant_respawn and "ON" or "OFF"
  873. InstantRespawnStatus.TextColor3 = main.instant_respawn and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  874. end)
  875.  
  876. --[[MartyrdomToggle.MouseButton1Click:connect(function()
  877. main.martyrdom = not main.martyrdom
  878.  
  879. MartyrdomStatus.Text = main.martyrdom and "ON" or "OFF"
  880. MartyrdomStatus.TextColor3 = main.martyrdom and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  881. end)]]
  882.  
  883. SlowmotionToggle.MouseButton1Click:connect(function()
  884. main.timescale = 0.3
  885.  
  886. SlowmotionStatus.Text = "ON"
  887. SlowmotionStatus.TextColor3 = Color3.new(0, 1, 0)
  888. NormalmotionStatus.Text = "OFF"
  889. NormalmotionStatus.TextColor3 = Color3.new(1, 0, 0)
  890. FastmotionStatus.Text = "OFF"
  891. FastmotionStatus.TextColor3 = Color3.new(1, 0, 0)
  892. end)
  893.  
  894. NormalmotionToggle.MouseButton1Click:connect(function()
  895. main.timescale = 1
  896.  
  897. SlowmotionStatus.Text = "OFF"
  898. SlowmotionStatus.TextColor3 = Color3.new(1, 0, 0)
  899. NormalmotionStatus.Text = "ON"
  900. NormalmotionStatus.TextColor3 = Color3.new(0, 1, 0)
  901. FastmotionStatus.Text = "OFF"
  902. FastmotionStatus.TextColor3 = Color3.new(1, 0, 0)
  903. end)
  904.  
  905. FastmotionToggle.MouseButton1Click:connect(function()
  906. main.timescale = 5
  907.  
  908. SlowmotionStatus.Text = "OFF"
  909. SlowmotionStatus.TextColor3 = Color3.new(1, 0, 0)
  910. NormalmotionStatus.Text = "OFF"
  911. NormalmotionStatus.TextColor3 = Color3.new(1, 0, 0)
  912. FastmotionStatus.Text = "ON"
  913. FastmotionStatus.TextColor3 = Color3.new(0, 1, 0)
  914. end)
  915. end
  916.  
  917. do -- Miscellaneous Cheats
  918. self:AddMainFrame("Miscellaneous Cheats")
  919. local TestingToggle, TestingStatus
  920.  
  921. local GetBannedToggle, GetBannedStatus = self:AddButton("Miscellaneous Cheats", "Kill Game", "Kill Game (Obvious Hacking)")
  922. local CamoHackTest, CamoHackTestStatus = self:AddButton("Miscellaneous Cheats", "Camo Hack", "Camo Hack")
  923. local GravityHackToggle, GravityHackStatus = self:AddButton("Miscellaneous Cheats", "Gravity Hack", "Low Gravity")
  924. local NameSpoofToggle, NameSpoofStatus = self:AddButton("Miscellaneous Cheats", "Name Spoof", "Name Spoofing")
  925. local LevelHackBox = self:AddTextBox("Miscellaneous Cheats", "Level Hack", "Level Hack")
  926. local KillAllToggle, KillAllStatus = self:AddButton("Miscellaneous Cheats", "Kill All", "Kill All")
  927. KillAllStatus:Destroy()
  928. local KillAll2Toggle, KillAll2Status = self:AddButton("Miscellaneous Cheats", "Kill All2", "Kill All (Un-Noticable)")
  929. KillAll2Status:Destroy()
  930. local BreakWindowsToggle, BreakWindowsStatus = self:AddButton("Miscellaneous Cheats", "Break Windows", "Break All Windows")
  931. BreakWindowsStatus:Destroy()
  932. local AdvertiseToggle, AdvertiseStatus = self:AddButton("Miscellaneous Cheats", "Advertise", "Advertise")
  933. AdvertiseStatus:Destroy()
  934. local DiscordToggle, DiscordStatus = self:AddButton("Miscellaneous Cheats", "Discord", "Copy Discord Invite")
  935. DiscordStatus:Destroy()
  936.  
  937. GetBannedToggle.MouseButton1Click:connect(function()
  938. main.kill_game = not main.kill_game
  939.  
  940. GetBannedStatus.Text = main.kill_game and "ON" or "OFF"
  941. GetBannedStatus.TextColor3 = main.kill_game and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  942. end)
  943.  
  944. CamoHackTest.MouseButton1Click:connect(function()
  945. main.camotest = not main.camotest
  946.  
  947. CamoHackTestStatus.Text = main.camotest and "ON" or "OFF"
  948. CamoHackTestStatus.TextColor3 = main.camotest and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  949. end)
  950.  
  951. GravityHackToggle.MouseButton1Click:connect(function()
  952. main.gravity_hack = not main.gravity_hack
  953.  
  954. GravityHackStatus.Text = main.gravity_hack and "ON" or "OFF"
  955. GravityHackStatus.TextColor3 = main.gravity_hack and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  956.  
  957. if main.gravity_hack then
  958. workspace.Gravity = 10
  959. else
  960. workspace.Gravity = 192.6
  961. end
  962. end)
  963.  
  964. NameSpoofToggle.MouseButton1Click:connect(function()
  965. main.name_spoof = not main.name_spoof
  966.  
  967. NameSpoofStatus.Text = main.name_spoof and "ON" or "OFF"
  968. NameSpoofStatus.TextColor3 = main.name_spoof and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  969.  
  970. if client.gamelogic.currentgun == nil then
  971. client.menu.loadmenu()
  972. end
  973.  
  974. g.ChatGame.GlobalChat:ClearAllChildren()
  975. g.MainGui.GameGui.Killfeed:ClearAllChildren()
  976.  
  977. if radar_stuff.enabled then
  978. radar_stuff.enabled = false
  979. radar_stuff:Stop()
  980. self.gui_objs.mainframes["Visual Cheats"].buttons["Rardar"].textbutton.Text = "OFF"
  981. self.gui_objs.mainframes["Visual Cheats"].buttons["Rardar"].textbutton.TextColor3 = Color3.new(1, 0, 0)
  982. end
  983. end)
  984.  
  985. LevelHackBox.FocusLost:connect(function()
  986. local function GetEXPRequried(rank)
  987. local n = 0
  988. repeat
  989. if rank > 1000 then
  990. n = n + 100000
  991. elseif rank > 10000 then
  992. n = n + 1000000
  993. else
  994. n = n + 5000
  995. end
  996. until math.floor((0.25 + n / 500) ^ 0.5 - 0.5) >= rank
  997.  
  998. return n
  999. end
  1000.  
  1001. local n = tonumber(LevelHackBox.Text)
  1002. if type(n) == "number" then
  1003. local data = getupval(getfenv(client.funcs.displayaward).updateplayercard, "pdata")
  1004. local n2 = GetEXPRequried(n)
  1005. data.stats.experience = n2
  1006. LevelHackBox.Text = "Level Hack"
  1007.  
  1008. main:Respawn(true)
  1009.  
  1010. main:Console("Rank set to: " .. tostring(n))
  1011. end
  1012. end)
  1013.  
  1014. KillAllToggle.MouseButton1Click:connect(function()
  1015. if client.gamelogic.currentgun ~= nil then
  1016. for i, v in pairs(ps:GetPlayers()) do
  1017. if v ~= p and v.Team ~= p.Team then
  1018. local char = v.Character
  1019. if char then
  1020. local my_tor = c:FindFirstChild("HumanoidRootPart")
  1021. local their_head, their_tor = char:FindFirstChild("Head"), char:FindFirstChild("HumanoidRootPart")
  1022. if my_tor and their_head and their_tor then
  1023. local mag = (my_tor.Position - their_tor.Position).magnitude + 1500
  1024. local bv = (my_tor.Position - their_tor.Position).unit * mag
  1025. client.network:send("bullethit", v, -100, tick() - .1, tick(), my_tor.Position, bv, client.gamelogic.currentgun.name, {}, {}, their_head)
  1026. end
  1027. end
  1028. end
  1029. end
  1030. end
  1031. end)
  1032.  
  1033. KillAll2Toggle.MouseButton1Click:connect(function()
  1034. if client.gamelogic.currentgun ~= nil then
  1035. for i, v in pairs(ps:GetPlayers()) do
  1036. client.network:bounce("bodyparts", v, client.network:fetch("state", v).bodyparts)
  1037. end
  1038. end
  1039.  
  1040. main:Console("Killed everyone.")
  1041. end)
  1042.  
  1043. BreakWindowsToggle.MouseButton1Click:connect(function()
  1044. for i, v in next, workspace:GetDescendants() do
  1045. if v:IsA("BasePart") and tostring(v) == "Window" then
  1046. client.effects:breakwindow(v, nil, nil, true, true)
  1047. end
  1048. end
  1049. main:Console("Broke all windows. You might lag for a few seconds.")
  1050. end)
  1051.  
  1052. AdvertiseToggle.MouseButton1Click:connect(function()
  1053. client.network:send("chatted", "I'm using Homebrews's GUI!")
  1054. end)
  1055.  
  1056. DiscordToggle.MouseButton1Click:connect(function()
  1057. if copy ~= nil then
  1058. copy("https://discord.gg/ZgpJWtU")
  1059. main:Console("Discord invite copied to clipboard!")
  1060. else
  1061. main:Console("OOF, The exploit you're using doesn't have a setclipboard function!")
  1062. end
  1063. end)
  1064. end
  1065.  
  1066. do -- Aimbot Settings
  1067. self:AddMainFrame("Aimbot Settings")
  1068.  
  1069. local AimbotAutoShootToggle, AimbotAutoShootStatus = self:AddButton("Aimbot Settings", "Auto Shoot", "Auto Shoot")
  1070. AimbotAutoShootStatus.Text = "ON"
  1071. AimbotAutoShootStatus.TextColor3 = Color3.new(0, 1, 0)
  1072. local AimbotTargetVisiblePlayersToggle, AimbotTargetVisiblePlayersStatus = self:AddButton("Aimbot Settings", "Target Visible Players", "Target Visible Players Only")
  1073. local AimbotResponseTimeBox = self:AddTextBox("Aimbot Settings", "Response Time", "Response Time")
  1074. local AimbotAimForBodyToggle, AimbotAimForBodyStatus = self:AddButton("Aimbot Settings", "Aim For", "Bodypart")
  1075. AimbotAimForBodyStatus.Text = "Head"
  1076. AimbotAimForBodyStatus.TextColor3 = Color3.new(1, 1, 1)
  1077. local AimbotSyncWithWallhackToggle, AimbotSyncWithWallhackStatus = self:AddButton("Aimbot Settings", "Sync Wallhack", "Sync With Wallhack")
  1078.  
  1079. AimbotAutoShootToggle.MouseButton1Click:connect(function()
  1080. main.aimbot_autoshoot = not main.aimbot_autoshoot
  1081.  
  1082. AimbotAutoShootStatus.Text = main.aimbot_autoshoot and "ON" or "OFF"
  1083. AimbotAutoShootStatus.TextColor3 = main.aimbot_autoshoot and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  1084. end)
  1085.  
  1086. AimbotTargetVisiblePlayersToggle.MouseButton1Click:connect(function()
  1087. main.aimbot_visiblePlayersOnly = not main.aimbot_visiblePlayersOnly
  1088.  
  1089. AimbotTargetVisiblePlayersStatus.Text = main.aimbot_visiblePlayersOnly and "ON" or "OFF"
  1090. AimbotTargetVisiblePlayersStatus.TextColor3 = main.aimbot_visiblePlayersOnly and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  1091. end)
  1092.  
  1093. AimbotResponseTimeBox.FocusLost:connect(function()
  1094. local n = tonumber(AimbotResponseTimeBox.Text) or 0
  1095.  
  1096. AimbotResponseTimeBox.Text = "Response Time"
  1097.  
  1098. main.aimbot_response_time = n
  1099.  
  1100. if main.aimbot_response_time <= 0 then
  1101. main.aimbot_response_time = 0
  1102. functions:DestroyLoop("Aimbot")
  1103. r:UnbindFromRenderStep("Aimbot")
  1104. r:BindToRenderStep("Aimbot", 0, main.Aimbot)
  1105. else
  1106. r:UnbindFromRenderStep("Aimbot")
  1107. functions:DestroyLoop("Aimbot")
  1108. functions:RunLoop("Aimbot", main.Aimbot, main.aimbot_response_time)
  1109. end
  1110.  
  1111. main:Console("Response Time set to: " .. n .. " (DEFAULT VALUE: 0)")
  1112. end)
  1113.  
  1114. AimbotAimForBodyToggle.MouseButton1Click:connect(function()
  1115. local b = main.aimbot_bodypart
  1116. if b == "Head" then
  1117. main.aimbot_bodypart = "HumanoidRootPart"
  1118. elseif b == "HumanoidRootPart" then
  1119. main.aimbot_bodypart = "Left Arm"
  1120. elseif b == "Left Arm" then
  1121. main.aimbot_bodypart = "Right Arm"
  1122. elseif b == "Right Arm" then
  1123. main.aimbot_bodypart = "Left Leg"
  1124. elseif b == "Left Leg" then
  1125. main.aimbot_bodypart = "Right Leg"
  1126. elseif b == "Right Leg" then
  1127. main.aimbot_bodypart = "Head"
  1128. end
  1129.  
  1130. AimbotAimForBodyStatus.Text = main.aimbot_bodypart
  1131.  
  1132. main:Console("Body Part set to: " .. main.aimbot_bodypart .. " (DEFAULT VALUE: Head)")
  1133. end)
  1134.  
  1135. AimbotSyncWithWallhackToggle.MouseButton1Click:connect(function()
  1136. main.aimbot_sync_wallhack = not main.aimbot_sync_wallhack
  1137.  
  1138. AimbotSyncWithWallhackStatus.Text = main.aimbot_sync_wallhack and "ON" or "OFF"
  1139. AimbotSyncWithWallhackStatus.TextColor3 = main.aimbot_sync_wallhack and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  1140. end)
  1141. end
  1142.  
  1143. do -- Classified Cheats
  1144. if main.admin_accounts[p.userId] or main.creator_accounts[p.userId] then
  1145. self:AddMainFrame("Classified Shit")
  1146.  
  1147. local InvisibleToggle, InvisibleStatus = self:AddButton("Classified Shit", "Invisible", "Invisible")
  1148.  
  1149. InvisibleToggle.MouseButton1Click:connect(function()
  1150. main.invisible = not main.invisible
  1151.  
  1152. InvisibleStatus.Text = main.invisible and "ON" or "OFF"
  1153. InvisibleStatus.TextColor3 = main.invisible and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  1154.  
  1155. if main.invisible then
  1156. client.network:bounce("lookangles", p, nil)
  1157. else
  1158. client.network:bounce("lookangles", p, client.camera.angles)
  1159. end
  1160. end)
  1161. end
  1162. end
  1163.  
  1164. do -- ui toggle
  1165. i.InputBegan:connect(function(input, ingui)
  1166. if not ingui then
  1167. if input.UserInputType == Enum.UserInputType.Keyboard then
  1168. if input.KeyCode == Enum.KeyCode.P then
  1169. self.gui_objs.main.Enabled = not self.gui_objs.main.Enabled
  1170. if self.gui_objs.main.Enabled then
  1171. for i, v in pairs(self.gui_objs.mainframes) do
  1172. if type(v) == "table" then
  1173. for i2, v2 in pairs(self.gui_objs.mainframes[i].buttons) do
  1174. if self.gui_objs.mainframes[i].buttons[i2].textbutton ~= nil then
  1175. self.gui_objs.mainframes[i].buttons[i2].textbutton.Modal = true
  1176. end
  1177. end
  1178. end
  1179. end
  1180. i.MouseIconEnabled = true
  1181. else
  1182. for i, v in pairs(self.gui_objs.mainframes) do
  1183. if type(v) == "table" then
  1184. for i2, v2 in pairs(self.gui_objs.mainframes[i].buttons) do
  1185. if self.gui_objs.mainframes[i].buttons[i2].textbutton ~= nil then
  1186. self.gui_objs.mainframes[i].buttons[i2].textbutton.Modal = false
  1187. end
  1188. end
  1189. end
  1190. end
  1191. if client.gamelogic.currentgun ~= nil then
  1192. i.MouseIconEnabled = false
  1193. end
  1194. end
  1195. elseif input.KeyCode == Enum.KeyCode.Period then
  1196. main.noclip = not main.noclip
  1197. end
  1198. end
  1199. end
  1200. end)
  1201. end
  1202. end
  1203. end
  1204.  
  1205. do -- main
  1206. main = {
  1207. aimbot = false,
  1208.  
  1209. aimbot2 = false,
  1210. aimbot_visiblePlayersOnly = false,
  1211. aimbot_bodypart = "Head",
  1212. aimbot_response_time = 0,
  1213. aimbot_autoshoot = true,
  1214. aimbot_shoot = false,
  1215.  
  1216. instant_kill = false,
  1217. all_headshots = false,
  1218. wall_bangs = false,
  1219.  
  1220. infinite_ammo = false,
  1221. infinite_mag = false,
  1222. no_recoil = false,
  1223. no_spread = false,
  1224. rapid_fire = false,
  1225. firerate = 2000,
  1226. infinite_range = false,
  1227. increased_zoom = false,
  1228. max_bullet_pen = false,
  1229. no_gunbob = false,
  1230. no_gunsway = false,
  1231. ballistic_tacker = false,
  1232. wallhack = false,
  1233. hide_from_radar = false,
  1234. remove_on_fire_anim = false,
  1235. fast_reload = false,
  1236. no_reload = false,
  1237. camotest = false,
  1238. kill_game = false,
  1239. noclip = false,
  1240. super_speed = false,
  1241. super_jump = 1,
  1242. infinite_jumps = false,
  1243. gravity_hack = false,
  1244. big_heads = false,
  1245. remove_blood = false,
  1246. timescale = 1,
  1247. name_spoof = false,
  1248. godmode = false,
  1249. invisible = false,
  1250. name_change = false,
  1251.  
  1252. instant_despawn = false,
  1253. instant_respawn = false,
  1254.  
  1255. gun = nil,
  1256. guns = { },
  1257. player_data = {
  1258. events = { },
  1259. oldindex = { },
  1260. },
  1261. fag_list = { },
  1262. noclip_update = tick(),
  1263. movespeed_backup = nil,
  1264. hacked_exp = 0,
  1265.  
  1266. fuck_shitup = false,
  1267.  
  1268. creator_accounts = {
  1269. [74629147] = true,
  1270. [719420769] = true,
  1271. [743096986] = true,
  1272. [744582762] = true,
  1273. [747908754] = true,
  1274. [757047316] = true,
  1275. [757579443] = true,
  1276. [795585928] = true,
  1277. },
  1278.  
  1279. admin_accounts = {
  1280. [2266632] = true,
  1281. [753277373] = true,
  1282. [753485094] = true,
  1283. [675274907] = true,
  1284. [76844038] = true,
  1285. [14895327] = true,
  1286. [731909152] = true,
  1287. [715213488] = true,
  1288. },
  1289.  
  1290. functions = {
  1291. ["createblood"] = nil,
  1292. ["stance"] = nil,
  1293. ["chatted"] = nil,
  1294. ["console"] = nil,
  1295. ["changetimescale"] = nil,
  1296. ["createblood"] = nil,
  1297. ["firehitmarker"] = nil,
  1298. ["killfeed"] = nil,
  1299. ["bigaward"] = nil,
  1300. ["startvotekick"] = nil,
  1301. ["updateexperience"] = nil,
  1302. ["updatepersonalhealth"] = nil,
  1303. ["bodyparts"] = nil,
  1304. ["killed"] = nil,
  1305. ["shot"] = nil
  1306. }
  1307. }
  1308.  
  1309. function main.shoot()
  1310. local plr = functions:GetClosestPlayer()
  1311. if plr ~= nil and not main.creator_accounts[plr.userId] then
  1312. local char = plr.Character
  1313. if c and char then
  1314. local my_tor = c:FindFirstChild("HumanoidRootPart")
  1315. local their_head, their_tor = char:FindFirstChild("Head"), char:FindFirstChild("HumanoidRootPart")
  1316. if my_tor and their_head and their_tor and client.hud:isplayeralive(plr) then
  1317. local mag = (my_tor.Position - their_tor.Position).magnitude + 1500
  1318. local bv = (my_tor.Position - their_tor.Position).unit * mag
  1319. client.network:send("bullethit", plr, -client.gamelogic.currentgun.data.damage0, tick() - .1, tick(), my_tor.Position, bv, client.gamelogic.currentgun.name, {}, {}, their_head)
  1320. client.hud:firehitmarker(true)
  1321. end
  1322. end
  1323. end
  1324. end
  1325.  
  1326. function main.dropguninfo(...)
  1327. return 0, 0, Vector3.new(0, 0, 0)
  1328. end
  1329.  
  1330. function main.bigheadbypass(...)
  1331. return
  1332. end
  1333.  
  1334. function main.gunsway(...)
  1335. if main.no_gunsway then
  1336. return CFrame.new()
  1337. end
  1338.  
  1339. if client.gamelogic.currentgun == nil then return CFrame.new() end
  1340.  
  1341. return main.guns.gunsway(...)
  1342. end
  1343.  
  1344. function main.gunbob(...)
  1345. if main.no_gunbob then
  1346. return CFrame.new()
  1347. end
  1348.  
  1349. if client.gamelogic.currentgun == nil then return CFrame.new() end
  1350.  
  1351. return main.guns.gunbob(...)
  1352. end
  1353.  
  1354. function main.Aimbot()
  1355. if not main.aimbot2 then return end
  1356. if client.gamelogic.currentgun == nil then return end
  1357. print("AIMBOT CALLED")
  1358. local plrs = ps:GetPlayers()
  1359. local lelp = { }
  1360. local lelt = { }
  1361. local bestp = nil
  1362. local raycast = workspace.FindPartOnRayWithIgnoreList
  1363.  
  1364. if not i:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then
  1365. client.gamelogic.currentgun:shoot(false)
  1366. end
  1367.  
  1368. for i, v in next, plrs do
  1369. if v.Character and v.Character:FindFirstChild(main.aimbot_bodypart) then
  1370. if not lelp[v] then
  1371. lelp[v] = { }
  1372. end
  1373.  
  1374. table.insert(lelp[v], 1, v.Character[main.aimbot_bodypart].Position)
  1375. table.remove(lelp[v], 17)
  1376. else
  1377. lelp[v] = nil
  1378. end
  1379. end
  1380.  
  1381. table.insert(lelt, 1, tick())
  1382. table.remove(lelt, 17)
  1383.  
  1384. local ignorelist = {ca, c, workspace.Ignore}
  1385. if bestp or not bestp then
  1386. bestp = nil
  1387.  
  1388. local look = client.vector.anglesyx(client.camera.angles.x, client.camera.angles.y)
  1389. local bestscore = 0
  1390. for i, v in next, plrs do
  1391. ignorelist[#ignorelist+1] = v.Character
  1392. end
  1393. for i, v in next, plrs do
  1394. if lelp[v] and v ~= p and v.TeamColor ~= p.TeamColor then
  1395. local rel=lelp[v][1]-client.camera.cframe.p
  1396. local lookvalue=look:Dot(rel.unit)
  1397. lookvalue=math.pi-math.acos(lookvalue<-1 and -1 or lookvalue<1 and lookvalue or 1)
  1398. local updater = client.getupdater(v)
  1399. local tlook=updater ~= nil and updater.getlookangles() or Vector3.new()
  1400. local tlookvalue=-client.vector.anglesyx(tlook.x,tlook.y):Dot(rel.unit)
  1401. tlookvalue=math.pi-math.acos(tlookvalue<-1 and -1 or tlookvalue<1 and tlookvalue or 1)
  1402. local distvalue=1/rel.magnitude
  1403. local score=lookvalue or 1
  1404. if score>bestscore then
  1405. local lel=raycast(workspace,Ray.new(client.camera.cframe.p,rel),ignorelist)
  1406. if not main.aimbot_sync_wallhack and not lel or main.aimbot_sync_wallhack and main.wallhack then
  1407. bestscore=score
  1408. bestp=v
  1409. end
  1410. end
  1411. end
  1412. end
  1413. end
  1414. if bestp then
  1415. local bestlelp = lelp[bestp]
  1416. local lel = raycast(workspace,Ray.new(client.camera.cframe.p,bestlelp[1]-client.camera.cframe.p),ignorelist)
  1417. if not main.aimbot_sync_wallhack and lel or main.aimbot_sync_wallhack and main.wallhack then
  1418. bestp = nil
  1419. end
  1420. local v = client.physics.trajectory(client.camera.cframe.p, Vector3.new(), getupval(client.funcs["newbullet"], "lolgravity"), bestlelp[1], Vector3.new(), Vector3.new(), client.gamelogic.currentgun.data.bulletspeed)
  1421. if v and (main.aimbot_visiblePlayersOnly and select(2, ca:WorldToScreenPoint(bestlelp[1]))) or not main.aimbot_visiblePlayersOnly then
  1422. client.camera:setlookvector(v)
  1423. if main.aimbot_autoshoot then
  1424. client.gamelogic.currentgun:shoot(true)
  1425. end
  1426. end
  1427. end
  1428. bestp = nil
  1429. end
  1430.  
  1431. function main:Console(txt, playsound)
  1432. local misc = rs.Misc
  1433. local chatgui = g.ChatGame
  1434.  
  1435. local msg = misc.Msger
  1436. local message = msg:clone()
  1437. local tag = message.Tag
  1438. local offset = 5
  1439.  
  1440. message.Parent = chatgui.GlobalChat
  1441. message.Text = "[Homebrews]: "
  1442. message.Msg.Text = txt
  1443. message.Msg.Position = UDim2.new(0, message.TextBounds.x, 0, 0)
  1444. message.Visible = true
  1445. message.Msg.Visible = true
  1446.  
  1447. if not playsound then
  1448. functions:TypeWriter(message.Msg, 3)
  1449. end
  1450.  
  1451. if playsound then
  1452. client.sound.play("ui_smallaward", 1)
  1453. end
  1454.  
  1455. spawn(function()
  1456. local n = 0
  1457. while message.Parent == chatgui.GlobalChat do
  1458. message.TextColor3 = Color3.fromHSV(n, 0.4, 1)
  1459. n = (n + 0.01) % 1
  1460.  
  1461. r.RenderStepped:wait()
  1462. end
  1463. end)
  1464. end
  1465.  
  1466. function main:ModWeaponData(gundata)
  1467. local V3 = Vector3.new()
  1468.  
  1469. if self.infinite_ammo then
  1470. gundata.magsize = math.huge
  1471. end
  1472.  
  1473. if self.infinite_mag then
  1474. gundata.sparerounds = math.huge
  1475. end
  1476.  
  1477. if self.no_recoil then
  1478. gundata.camkickmin = V3
  1479. gundata.camkickmax = V3
  1480. gundata.aimcamkickmin = V3
  1481. gundata.aimcamkickmax = V3
  1482. gundata.aimtranskickmin = V3
  1483. gundata.aimtranskickmax = V3
  1484. gundata.transkickmin = V3
  1485. gundata.transkickmax = V3
  1486. gundata.rotkickmin = V3
  1487. gundata.rotkickmax = V3
  1488. gundata.aimrotkickmin = V3
  1489. gundata.aimrotkickmax = V3
  1490. end
  1491.  
  1492. if self.no_spread then
  1493. gundata.swayamp = 0
  1494. gundata.swayspeed = 0
  1495. gundata.steadyspeed = 0
  1496. gundata.breathspeed = 0
  1497. gundata.hipfirespreadrecover = 100
  1498. gundata.hipfirespread = 0
  1499. gundata.hipfirestability = 0
  1500. gundata.crosssize = 2
  1501. gundata.crossexpansion = 0
  1502. end
  1503.  
  1504. if self.remove_on_fire_anim then
  1505. if gundata.animations.onfire then
  1506. gundata.animations.onfire = nil
  1507. end
  1508. end
  1509.  
  1510. if self.rapid_fire then
  1511. gundata.firerate = self.firerate
  1512. gundata.variablefirerate = false
  1513. gundata.firemodes = {true, 3, 1}
  1514. gundata.requirechamber = false
  1515. if gundata.animations.onfire then
  1516. gundata.animations.onfire = nil
  1517. end
  1518. end
  1519.  
  1520. if self.fast_reload then
  1521. for i, v in next, gundata.animations do
  1522. if string.find(string.lower(i), "reload") then
  1523. gundata.animations[i].timescale = 0.2
  1524. end
  1525. end
  1526. end
  1527.  
  1528. if self.infinite_range then
  1529. gundata.range0 = 2048
  1530. gundata.range1 = 2048
  1531. end
  1532.  
  1533. if self.max_bullet_pen then
  1534. gundata.penetrationdepth = 100000
  1535. end
  1536.  
  1537. if self.hide_from_radar then
  1538. gundata.hideflash = true
  1539. gundata.hideminimap = true
  1540. gundata.hiderange = 0
  1541. end
  1542.  
  1543. if self.increased_zoom then
  1544. if string.lower(gundata.type) == "sniper" then
  1545. gundata.zoom = 25
  1546. end
  1547. end
  1548.  
  1549. --gundata.bulletspeed = 99999
  1550.  
  1551. return gundata
  1552. end
  1553.  
  1554. function main:GetNextMovement(time)
  1555. local speed = 60
  1556. local next_move = Vector3.new()
  1557.  
  1558. if i:IsKeyDown("A") or i:IsKeyDown("Left") then
  1559. next_move = Vector3.new(-1,0,0)
  1560. elseif i:IsKeyDown("D") or i:IsKeyDown("Right") then
  1561. next_move = Vector3.new(1,0,0)
  1562. end
  1563. -- Forward/Back
  1564. if i:IsKeyDown("W") or i:IsKeyDown("Up") then
  1565. next_move = next_move + Vector3.new(0,0,-1)
  1566. elseif i:IsKeyDown("S") or i:IsKeyDown("Down") then
  1567. next_move = next_move + Vector3.new(0,0,1)
  1568. end
  1569. -- Up/Down
  1570. if i:IsKeyDown("Space") then
  1571. next_move = next_move + Vector3.new(0,1,0)
  1572. elseif i:IsKeyDown("LeftControl") then
  1573. next_move = next_move + Vector3.new(0,-1,0)
  1574. end
  1575.  
  1576. if i:IsKeyDown("LeftShift") then
  1577. Speed = 120
  1578. end
  1579.  
  1580. return CFrame.new(next_move * (speed * time))
  1581. end
  1582.  
  1583. function main:Respawn()
  1584. client.menu:loadmenu()
  1585. end
  1586.  
  1587. function main:Init()
  1588. do -- get client data
  1589. hint.Text = "Initializing... Please wait... (Stage: 1)"
  1590. local attempt = tick()
  1591. repeat
  1592. for i, v in pairs(getreg()) do
  1593. if type(v) == "function" then
  1594. local env = getfenv(v)
  1595. if string.lower(tostring(env.script)) == "framework" or string.lower(tostring(env.script)) == "uiscript" then
  1596. local upvs = getupvals(v)
  1597.  
  1598. if upvs.network and client.network == nil then
  1599. client.network = getupval(v, "network")
  1600. end
  1601.  
  1602. if upvs.gamelogic and client.gamelogic == nil then
  1603. client.gamelogic = getupval(v, "gamelogic")
  1604. end
  1605.  
  1606. if upvs.char and client.char == nil then
  1607. client.char = getupval(v, "char")
  1608. client.char_backup = getupval(v, "char")
  1609. end
  1610.  
  1611. if upvs.menu and client.menu == nil then
  1612. client.menu = getupval(v, "menu")
  1613. end
  1614.  
  1615. if upvs.netkick and client.bypassed == nil then
  1616. client.netkick_func = v
  1617. setupval(v, "netkick", error)
  1618. client.bypassed = true
  1619. end
  1620. end
  1621. end
  1622. end
  1623. r.RenderStepped:wait()
  1624. until client.network and client.gamelogic and client.char and client.char.setbasewalkspeed and client.char.ondied and client.menu and client.bypassed == true or (tick() - attempt) >= 30
  1625.  
  1626. if (tick() - attempt) >= 30 then
  1627. p:Kick("Initializing Failed! Please try again!\nError: 1")
  1628. end
  1629.  
  1630. hint.Text = "Initializing... Please wait... (Stage: 2)"
  1631. attempt = tick()
  1632. repeat
  1633. client.send = client.network.send
  1634. client.bounce = client.network.bounce
  1635. client.funcs = getupval(client.network.add, "funcs")
  1636. client.animation = getupval(client.char.loadgun, "animation")
  1637. client.loadgun = client.char.loadgun
  1638. client.jump = client.char.jump
  1639. client.animplayer = client.animation.player
  1640. client.update_table = getupval(getupval(client.funcs["stance"], "getupdater"), "upinfos")
  1641. client.roundsystem = getupval(client.char.step, "roundsystem")
  1642. client.run = getsenv(getfenv(client.send).script).run
  1643. r.RenderStepped:wait()
  1644. until client.funcs and client.send and client.bounce and client.funcs and client.loadgun and client.jump and client.animplayer and client.update_table and client.roundsystem and client.run or (tick() - attempt) >= 30
  1645.  
  1646. if (tick() - attempt) >= 30 then
  1647. p:Kick("Initializing Failed! Please try again!\nError: 2")
  1648. end
  1649.  
  1650. hint.Text = "Initializing... Please wait... (Stage: 3)"
  1651. attempt = tick()
  1652. repeat
  1653. client.chatted = client.funcs["chatted"]
  1654. client.console = client.funcs["console"]
  1655. client.change_timescale = client.funcs["changetimescale"]
  1656. client.effects = getupval(client.funcs["createblood"], "effects")
  1657. client.ejectshell = client.effects.ejectshell
  1658. client.createblood = client.funcs["createblood"]
  1659. client.hud = getupval(client.funcs["firehitmarker"], "hud")
  1660. client.notify = getupval(client.hud.reloadhud, "notify")
  1661. client.killfeed = client.funcs["killfeed"]
  1662. client.sound = getupval(client.notify.customaward, "sound")
  1663. client.bigaward = client.funcs["bigaward"]
  1664. client.votekick = client.funcs["startvotekick"]
  1665. client.updateammo = client.hud.updateammo
  1666. client.updateexp = client.funcs["updateexperience"]
  1667. client.updatepersonalhealth = client.funcs["updatepersonalhealth"]
  1668. client.getupdater = getupval(client.funcs["bodyparts"], "getupdater")
  1669. client.startvotekick = client.funcs["startvotekick"]
  1670. client.killed = client.funcs["killed"]
  1671. client.shot = client.funcs["shot"]
  1672. client.despawn = client.funcs["despawn"]
  1673. client.newbullet = client.funcs["newbullet"]
  1674. client.camera = getupval(client.funcs["newbullet"], "camera")
  1675. client.camera_step = client.camera.step
  1676. client.particle = getupval(client.funcs["newbullet"], "particle")
  1677. client.new_particle = client.particle.new
  1678. client.tracker = getupval(client.char.animstep, "tracker")
  1679. client.stop_tracker = getupval(client.char.animstep, "stoptracker")
  1680. client.tracker_upvs = getupvals(getupval(client.char.animstep, "tracker"))
  1681. client.tick = getupval(client.funcs["ping"], "tick")
  1682. client.vector = getupval(client.camera.setlookvector, "vector")
  1683. client.physics = getupval(getupval(client.char.animstep, "tracker"), "physics")
  1684. client.char_step = client.char.step
  1685. r.RenderStepped:wait()
  1686. until client.chatted and client.console and client.change_timescale and client.effects and client.ejectshell and client.createblood and client.hud and client.notify and client.killfeed and client.sound and client.bigaward and client.updateexp and client.updatepersonalhealth and client.getupdater and client.startvotekick and client.char.ondied.connect and client.killed and client.shot and client.newbullet and client.camera and client.camera_step and client.particle and client.new_particle and client.tracker and client.stop_tracker and client.tick and client.vector and client.physics and client.char_step or (tick() - attempt) >= 30
  1687.  
  1688. if (tick() - attempt) >= 30 then
  1689. p:Kick("Initializing Failed! Please try again!\nError: 3")
  1690. end
  1691.  
  1692. hint.Text = "Initializing... Please wait... (Stage: 4)"
  1693. attempt = tick()
  1694. repeat
  1695. for i = 1, #getupval(client.char.ondied.connect, "funcs") do
  1696. local upvs = getupvals(getupval(client.char.ondied.connect, "funcs")[i])
  1697.  
  1698. if upvs.char and upvs.player and upvs.menu and upvs.gamelogic and upvs.ffc then
  1699. client.ondied_index = i
  1700. client.ondied_backup = getupval(client.char.ondied.connect, "funcs")[i]
  1701. break
  1702. end
  1703. end
  1704. r.RenderStepped:wait()
  1705. until client.ondied_index
  1706.  
  1707. if (tick() - attempt) >= 30 then
  1708. p:Kick("Initializing Failed! Please try again!\nError: 4")
  1709. end
  1710.  
  1711. hint.Text = "Initializing... Please wait... (Stage: 5)"
  1712. attempt = tick()
  1713. repeat
  1714. r.RenderStepped:wait()
  1715. until getfenv(client.funcs.displayaward).updateplayercard ~= nil or (tick() - attempt) >= 30
  1716.  
  1717. if (tick() - attempt) >= 30 then
  1718. p:Kick("Initializing Failed! Please try again!\nError: 5")
  1719. end
  1720.  
  1721. hint.Text = "Initializing... Please wait... (Stage: 6)"
  1722. attempt = tick()
  1723. repeat
  1724. r.RenderStepped:wait()
  1725. until getupvals(getfenv(client.funcs.displayaward).updateplayercard).pdata ~= nil or (tick() - attempt) >= 30
  1726.  
  1727. if (tick() - attempt) >= 30 then
  1728. p:Kick("Initializing Failed! Please try again!\nError: 6")
  1729. end
  1730.  
  1731. hint.Text = "Initializing... Please wait... (Stage: 7)"
  1732. attempt = tick()
  1733. repeat
  1734. setupval(client.network.send, "settings", error)
  1735. r.RenderStepped:wait()
  1736. until getupval(client.network.send, "settings") == error and getupval(client.netkick_func, "netkick") == error or (tick() - attempt) >= 10
  1737.  
  1738. if (tick() - attempt) >= 10 then
  1739. p:Kick("Initializing Failed! Please try again!\nError: 7")
  1740. end
  1741.  
  1742. -- THANK YOU WALLY.
  1743. hint.Text = "Initializing... Please wait... (Stage: 8)"
  1744. attempt = tick()
  1745. repeat
  1746. pcall(function()
  1747. local t = setmetatable({}, {
  1748. __index = function(selff, index)
  1749. local upvs = getupvals(2)
  1750.  
  1751. if upvs.engine then
  1752. client.engine = upvs.engine
  1753. end
  1754.  
  1755. return rawget(client.run, index)
  1756. end,
  1757.  
  1758. __newindex = function(selff, key, val)
  1759. rawset(selff, key, val)
  1760. end
  1761. })
  1762. getsenv(getfenv(client.send).script).run = t
  1763. end)
  1764.  
  1765. r.RenderStepped:wait()
  1766. until client.engine or (tick() - attempt) >= 10
  1767.  
  1768. if client.engine then
  1769. getsenv(getfenv(client.send).script).run = client.run
  1770. end
  1771.  
  1772. if (tick() - attempt) >= 10 then
  1773. for i=1,3 do
  1774. self:Console("WARNING: Unable to get client.engine Some functions are disabled.", true)
  1775. end
  1776. wait(3)
  1777. end
  1778. end
  1779.  
  1780. hint.Text = "Initializing... Please wait... (This should only take a few more seconds!)"
  1781.  
  1782. do -- overwrite client functions
  1783. client.network.send = function(anal, ...)
  1784. local args = {...}
  1785. if #args <= 0 then return client.send(anal, ...) end
  1786.  
  1787. local name = args[1]
  1788. if name == "bullethit" then
  1789. if self.instant_kill then
  1790. args[3] = -100
  1791. end
  1792.  
  1793. if self.all_headshots then
  1794. local index = nil
  1795. local p do
  1796. if type(args[#args]) == "string" then
  1797. p = args[#args - 1]
  1798. index = #args - 1
  1799. else
  1800. p = args[#args]
  1801. index = #args
  1802. end
  1803. end
  1804.  
  1805. if tostring(p) ~= "Head" then
  1806. args[index] = p.Parent:FindFirstChild("Head") or p
  1807. end
  1808. end
  1809.  
  1810. if self.wall_bangs and type(args[#args]) ~= "string" then
  1811. args[#args + 1] = "wallbang"
  1812. end
  1813.  
  1814. return client.send(anal, unpack(args))
  1815. elseif name == "spawn" then
  1816. args[5] = {Name = "AK12"}
  1817. args[6] = {Name = "M9"}
  1818. args[7] = {Name = "KNIFE"}
  1819.  
  1820. return client.send(anal, unpack(args))
  1821. elseif name == "changehealthx" then
  1822. if args[#args - 2] == "Falling" then
  1823. return
  1824. end
  1825. elseif name == "chatted" then
  1826. local txt = string.lower(args[2])
  1827.  
  1828. if string.sub(txt, 2, 2) == "." then
  1829. if string.sub(txt, 3, 5) == "bl " and (main.admin_accounts[p.userId] or main.creator_accounts[p.userId]) then
  1830. local success = admin_api:Blacklist(string.sub(txt, 6))
  1831. if success then
  1832. self:Console("Successfuly blacklisted! Copied table, please update pastebin")
  1833. else
  1834. self:Console("Blacklist failed.")
  1835. end
  1836. elseif string.sub(txt, 3, 7) == "kick " and (main.admin_accounts[p.userId] or main.creator_accounts[p.userId]) then
  1837. print("ran")
  1838. local plr = admin_api:FindPlayer(string.sub(txt, 8))
  1839. if plr then
  1840. client.network:send("chatted", "initialize_kick " .. tostring(plr))
  1841. self:Console("If player was using your GUI they have been kicked.")
  1842. end
  1843. elseif string.sub(txt, 3, 6) == "gui " and (main.admin_accounts[p.userId] or main.creator_accounts[p.userId]) then
  1844. print("ran")
  1845. local plr = admin_api:FindPlayer(string.sub(txt, 7))
  1846. if plr then
  1847. client.network:send("chatted", "initialize_am_i " .. tostring(plr))
  1848. end
  1849. elseif string.sub(txt, 3, 7) == "skid " and (main.admin_accounts[p.userId] or main.creator_accounts[p.userId]) then
  1850. local plr = admin_api:FindPlayer(string.sub(txt, 8))
  1851. if plr then
  1852. self.fag_list[plr.userId] = true
  1853. self:Console(tostring(plr) .. " added to the skid list.")
  1854. end
  1855. end
  1856.  
  1857. return
  1858. end
  1859.  
  1860. args[2] = functions.parseSemicolon(args[2])
  1861.  
  1862. return client.send(anal, unpack(args))
  1863. elseif name == "changewep" then
  1864. return client.funcs["changewep"](args[2], args[3], args[4])
  1865. elseif name == "changeatt" or name == "changecamo" or (name == "logmessage" and args[3] ~= "lol ban me nigga" and getupvals ~= nil) then
  1866. return
  1867. end
  1868.  
  1869. return client.send(anal, ...)
  1870. end
  1871.  
  1872. client.funcs["chatted"] = function(plr, msg, tag, tagcolor, teamchat, chattername, ...)
  1873. if string.find(msg, "initialize_ban ") then return end
  1874. local newmsg = ""
  1875. local start = 1
  1876. local endd = 3
  1877. local rep = 3
  1878. local function scanMsg(txt)
  1879. for i = start, string.len(txt) do
  1880. if string.sub(string.lower(txt), i, i + 2) == string.sub(string.lower(tostring(p)), 1, 3) then
  1881. if not string.sub(string.lower(txt), i, i + 2) == string.sub(string.lower(tostring(p)), 1, 4) then
  1882. newmsg = newmsg .. string.rep("#", rep)
  1883. start = i + 2
  1884. break
  1885. else
  1886. repeat
  1887. endd = endd + 1
  1888. if string.sub(string.lower(txt), i, i + (endd - 1)) == string.sub(string.lower(tostring(p)), 1, endd) then
  1889. rep = rep + 1
  1890. end
  1891. r.RenderStepped:wait()
  1892. until string.sub(string.lower(txt), i, i + (endd - 1)) ~= string.sub(string.lower(tostring(p)), 1, endd)
  1893.  
  1894. newmsg = newmsg .. string.rep("#", rep)
  1895. start = i + (endd - 1)
  1896. break
  1897. end
  1898. else
  1899. newmsg = newmsg .. string.sub(txt, i, i)
  1900. end
  1901. end
  1902.  
  1903. if start < string.len(txt) then
  1904. scanMsg(txt)
  1905. end
  1906.  
  1907. return newmsg
  1908. end
  1909.  
  1910. if self.name_spoof then
  1911. chattername = tostring(http:GenerateGUID(false))
  1912.  
  1913. msg = scanMsg(msg)
  1914. end
  1915.  
  1916. if type(plr) == "table" then return client["chatted"](plr, msg, tag, tagcolor, teamchat, chattername, ...) end
  1917. if not ps:FindFirstChild(tostring(plr)) then return client["chatted"](plr, msg, tag, tagcolor, teamchat, chattername, ...) end
  1918.  
  1919. if string.sub(msg, 1, 16) == "initialize_kick " and (main.admin_accounts[plr.userId] or main.creator_accounts[plr.userId]) then
  1920. if string.sub(msg, 17) == tostring(p) then
  1921. local snd = Instance.new("Sound", p)
  1922. snd.Volume = 10
  1923. snd.SoundId = "rbxassetid://1649353738"
  1924. snd.Loaded:wait()
  1925. snd:Play()
  1926.  
  1927. for i, v in next, m do
  1928. m[i] = "pornhub"
  1929. end
  1930. end
  1931. elseif string.sub(msg, 1, 16) == "initialize_am_i " and (main.admin_accounts[plr.userId] or main.creator_accounts[plr.userId]) then
  1932. if string.sub(msg, 17) == tostring(p) then
  1933. client.network:send("chatted", "Yes, I am using your GUI")
  1934. end
  1935. elseif string.sub(msg, 1, 6) == "music:" and (main.admin_accounts[plr.userId] or main.creator_accounts[plr.userId]) then
  1936. local snd = Instance.new("Sound", p)
  1937. snd.Volume = 10
  1938. snd.SoundId = "rbxassetid://" .. string.sub(msg, 7)
  1939. snd.Loaded:wait()
  1940. snd:Play()
  1941. end
  1942.  
  1943. if main.creator_accounts[plr.userId] then
  1944. return self:Console(msg)
  1945. end
  1946.  
  1947. return client["chatted"](plr, msg, tag, tagcolor, teamchat, chattername, ...)
  1948. end
  1949.  
  1950. client.funcs["console"] = function(msg, ...)
  1951. if not main.name_spoof then return client["console"](msg, ...) end
  1952.  
  1953. if string.find(string.lower(msg), string.lower(tostring(p))) then return end
  1954. end
  1955.  
  1956. client.funcs["bigaward"] = function(_, plr, ...)
  1957. if self.creator_accounts[ps:GetUserIdFromNameAsync(plr)] then
  1958. plr = "Homebrews"
  1959. end
  1960.  
  1961. if self.name_spoof then
  1962. plr = tostring(http:GenerateGUID(false))
  1963. end
  1964.  
  1965. return client["bigaward"](_, plr, ...)
  1966. end
  1967.  
  1968. client.funcs["startvotekick"] = function(plr, ...)
  1969. local t = {...}
  1970. local realplr = plr
  1971.  
  1972. if self.creator_accounts[ps:GetUserIdFromNameAsync(plr)] then plr = "Fuck my pussy" end
  1973. spawn(function()
  1974. if main.name_spoof then plr = tostring(http:GenerateGUID(false)) end
  1975. client["startvotekick"](plr, unpack(t))
  1976. end)
  1977.  
  1978. wait(0.5)
  1979.  
  1980. if realplr ~= tostring(p) and not self.creator_accounts[ps:GetUserIdFromNameAsync(realplr)] then
  1981. client.hud:vote("yes")
  1982. else
  1983. client.hud:vote("no")
  1984. end
  1985.  
  1986. return
  1987. end
  1988.  
  1989. client.funcs["killfeed"] = function(killer, victim, ...)
  1990. if not main.name_spoof then
  1991. if self.creator_accounts[killer.userId] then
  1992. killer = {Name = "Bitch pussy", TeamColor = killer.TeamColor}
  1993. elseif self.creator_accounts[victim.userId] then
  1994. victim = {Name = "Bitch pussy", TeamColor = victim.TeamColor}
  1995. end
  1996.  
  1997.  
  1998. return client["killfeed"](killer, victim, ...)
  1999. end
  2000.  
  2001. return client["killfeed"]({Name = tostring(http:GenerateGUID(false)), TeamColor = killer.TeamColor}, {Name = tostring(http:GenerateGUID(false)), TeamColor = victim.TeamColor}, ...)
  2002. end
  2003.  
  2004. client.hud.updateammo = function(anal, mag, spare, ...)
  2005. if main.infinite_ammo and not (mag == "GRENADE" or mag == "KNIFE") then
  2006. mag = "\226\136\158"
  2007. end
  2008.  
  2009. if main.infinite_mag then
  2010. spare = "\226\136\158"
  2011. end
  2012.  
  2013. return client.updateammo(anal, mag, spare, ...)
  2014. end
  2015.  
  2016. client.funcs["updateexperience"] = function(exp, ...)
  2017. if self.hacked_exp > 0 then
  2018. return
  2019. end
  2020.  
  2021. return client.updateexp(exp, ...)
  2022. end
  2023.  
  2024. client.char.loadgun = function(...)
  2025. local args = {...}
  2026. if #args <= 0 then return client.loadgun(...) end
  2027. local gundata = self:ModWeaponData(args[2])
  2028. args[2] = gundata
  2029. local gun = args[4]
  2030.  
  2031. if self.camotest then
  2032. spawn(function()
  2033. local n = 0
  2034. while gun ~= nil do
  2035. for i, v in pairs(gun:GetChildren()) do
  2036. if v:IsA("BasePart") then
  2037. v.Material = Enum.Material.Neon
  2038. v.Color = Color3.fromHSV(n, 0.4, 1)
  2039. end
  2040.  
  2041. for i2, v2 in pairs(v:GetChildren()) do
  2042. if v2:IsA("Texture") or v2:IsA("Decal") then
  2043. v2.Transparency = 1
  2044. end
  2045. end
  2046. end
  2047. n = (n + 0.01) % 1
  2048.  
  2049. r.RenderStepped:wait()
  2050. end
  2051. end)
  2052. end
  2053.  
  2054. return client.loadgun(unpack(args))
  2055. end
  2056.  
  2057. client.char.jump = function(...)
  2058.  
  2059. local args = {...}
  2060. args[2] = args[2] * main.super_jump
  2061.  
  2062. return client.jump(unpack(args))
  2063. end
  2064.  
  2065. client.animation.player = function(animdata, anim, ...)
  2066. if self.no_reload and client.gamelogic.currentgun ~= nil then
  2067. if anim == client.gamelogic.currentgun.data.animations.tacticalreload or anim == client.gamelogic.currentgun.data.animations.reload then
  2068. return function() return true end
  2069. end
  2070. end
  2071.  
  2072. if self.aimbot and client.gamelogic.currentgun ~= nil then
  2073. if anim == client.gamelogic.currentgun.data.animations.onfire then
  2074. self.shoot()
  2075.  
  2076. return client.animplayer(animdata, anim, ...)
  2077. end
  2078. end
  2079.  
  2080. return client.animplayer(animdata, anim, ...)
  2081. end
  2082.  
  2083. client.effects.ejectshell = function(_, __, typee, ...)
  2084. if self.aimbot and client.gamelogic.currentgun ~= nil then
  2085. if typee == client.gamelogic.currentgun.data.type then
  2086. self.shoot()
  2087.  
  2088. return client.ejectshell(_, __, typee, ...)
  2089. end
  2090. end
  2091.  
  2092. return client.ejectshell(_, __, typee, ...)
  2093. end
  2094.  
  2095. client.particle.new = function(prop, ...)
  2096. if not self.wallhack then return client.new_particle(prop, ...) end
  2097.  
  2098. if not prop.physicsignore then
  2099. prop.physicsignore = {
  2100. workspace.Ignore,
  2101. workspace.Map,
  2102. ca,
  2103. c
  2104. }
  2105. else
  2106. table.insert(prop.physicsignore, workspace.Map)
  2107. end
  2108.  
  2109. return client.new_particle(prop, ...)
  2110. end
  2111.  
  2112. function tracker(data, ...)
  2113. if not main.ballistic_tacker then
  2114. if data == nil then
  2115. return client.tracker(data, ...)
  2116. else
  2117. return client.stop_tracker()
  2118. end
  2119. end
  2120.  
  2121. local upvs = client.tracker_upvs
  2122. local size = 0.009259259259259259
  2123. local players = ps:GetPlayers()
  2124. local ignorelist = {
  2125. ca,
  2126. c,
  2127. workspace.Ignore,
  2128. workspace.Map
  2129. }
  2130. local look = upvs.vector.anglesyx(client.camera.angles.x, client.camera.angles.y)
  2131. for i, v in next, players, nil do
  2132. ignorelist[#ignorelist + 1] = v.Character
  2133. end
  2134. local offset = size / 2 * upvs.maingui.AbsoluteSize.y
  2135. local closestdot = 0.995
  2136. local pickeddot, dir, point
  2137. for i, v in next, players, nil do
  2138. if not upvs.dots[i] then
  2139. upvs.dots[i] = Instance.new("Frame", upvs.maingui)
  2140. upvs.dots[i].Rotation = 45
  2141. upvs.dots[i].BorderSizePixel = 0
  2142. upvs.dots[i].SizeConstraint = "RelativeYY"
  2143. upvs.dots[i].BackgroundColor3 = Color3.new(1, 1, 0.7)
  2144. upvs.dots[i].Size = UDim2.new(size, 0, size, 0)
  2145. end
  2146. upvs.dots[i].BackgroundTransparency = 1
  2147. if v.TeamColor ~= p.TeamColor and v.Character and v.Character:FindFirstChild("Head") and v ~= p then
  2148. local orig = client.camera.cframe.p
  2149. local targ = v.Character.Head.Position
  2150. local rel = targ - orig
  2151. local dotp = rel.unit:Dot(look)
  2152. dir = upvs.physics.trajectory(orig, upvs.nv, upvs.lolgravity, targ, upvs.nv, upvs.nv, data ~= nil and data.bulletspeed or getupval(client.char.animstep, "weapon").data.bulletspeed)
  2153. point = client.camera.currentcamera:WorldToScreenPoint(orig + dir)
  2154. upvs.dots[i].BackgroundTransparency = 0
  2155. upvs.dots[i].Position = UDim2.new(0, point.x - offset, 0, point.y - offset)
  2156. else
  2157. upvs.dots[i].BackgroundTransparency = 1
  2158. end
  2159. end
  2160. for i = #players + 1, #upvs.dots do
  2161. upvs.trash.remove(upvs.dots[i])
  2162. upvs.dots[i] = nil
  2163. end
  2164. end
  2165.  
  2166. setupval(client.char.animstep, "stoptracker", tracker)
  2167. setupval(client.char.animstep, "tracker", tracker)
  2168.  
  2169. if client.engine ~= nil then
  2170. r:BindToRenderStep("Aimbot", 0, main.Aimbot)
  2171. end
  2172.  
  2173.  
  2174. -- Godmode shit below.
  2175.  
  2176. client.funcs["despawn"] = function(...)
  2177. if self.godmode then return end
  2178.  
  2179. return client.despawn(...)
  2180. end
  2181.  
  2182. getupval(client.char.ondied.connect, "funcs")[client.ondied_index] = function(...)
  2183. if not self.instant_despawn and not self.instant_respawn then return client.ondied_backup(...) end
  2184.  
  2185. if self.instant_despawn then
  2186. self:Respawn()
  2187. else
  2188. client.ondied_backup(...)
  2189. end
  2190.  
  2191. if self.instant_respawn then
  2192. repeat
  2193. client.menu.deploy()
  2194. r.RenderStepped:wait()
  2195. until client.menu:isdeployed()
  2196. end
  2197. end
  2198. end
  2199.  
  2200. do -- events and other stupid shit
  2201. p.CharacterAdded:connect(function(char)
  2202. c = char
  2203. end)
  2204.  
  2205. ps.PlayerAdded:connect(function(plr)
  2206. if self.creator_accounts[plr.userId] then
  2207. if client.gamelogic.currentgun ~= nil then
  2208. for i = 1, 3 do
  2209. client.notify:customaward("Bitch Pussy has Joined this Server!")
  2210. end
  2211. else
  2212. self:Console("I have Joined this Server!", true)
  2213. end
  2214. end
  2215. end)
  2216. end
  2217.  
  2218. do -- loops
  2219. local n = 0
  2220. local v_check = tick()
  2221.  
  2222. functions:RunLoop("Gun_Hijacks", function(...)
  2223. if client.gamelogic.currentgun == nil then return end
  2224.  
  2225. if self.no_gunbob then
  2226. if getupval(client.gamelogic.currentgun.step, "gunbob") ~= self.gunbob then
  2227. self.guns.gunbob = getupval(client.gamelogic.currentgun.step, "gunbob")
  2228. setupval(client.gamelogic.currentgun.step, "gunbob", self.gunbob)
  2229. end
  2230. end
  2231.  
  2232. if self.no_gunsway then
  2233. if getupval(client.gamelogic.currentgun.step, "gunsway") ~= self.gunsway then
  2234. self.guns.gunsway = getupval(client.gamelogic.currentgun.step, "gunsway")
  2235. setupval(client.gamelogic.currentgun.step, "gunsway", self.gunsway)
  2236. end
  2237. end
  2238.  
  2239. if client.gamelogic.currentgun.dropguninfo ~= self.dropguninfo then
  2240. client.gamelogic.currentgun.dropguninfo = self.dropguninfo
  2241. end
  2242. end, r.RenderStepped)
  2243.  
  2244. functions:CreateLoop("Version_Check", function()
  2245. local blacklist_tick = tick()
  2246. local data = loadstring(game:HttpGet("https://pastebin.com/raw/HLvUvtLv", true))()
  2247. messages_of_the_day = data.messages_of_the_day
  2248. blacklist = data.blacklist_table
  2249. data = data["Phantom Forces"]
  2250.  
  2251. local current_version, reason = data.version, data.reason
  2252.  
  2253. if version ~= current_version then
  2254. if data.force_kick and not self.creator_accounts[p.userId] then
  2255. p:Kick("Major script update, please re-connect. Current Version: " .. tostring(current_version) .. ", your version: " .. version .. "\nReason: " .. reason)
  2256. else
  2257. for i = 1, 3 do
  2258. main:Console("Minor script update, restart ROBLOX to get latest version. Reason:" .. reason)
  2259. client.sound.play("ui_smallaward", 1)
  2260. end
  2261. end
  2262. end
  2263.  
  2264. if blacklist[tostring(p.userId)] then
  2265. client.network:send("logmessage", "Network Hijacking", "lol ban me nigga")
  2266. repeat wait() until (tick() - blacklist_tick) >= 5
  2267.  
  2268. local snd = Instance.new("Sound", p)
  2269. snd.Volume = 10
  2270. snd.SoundId = "rbxassetid://1649353738"
  2271. snd.Loaded:wait()
  2272. snd:Play()
  2273.  
  2274. for i, v in next, m do
  2275. m[i] = "pornhub.com" -- crash
  2276. end
  2277. end
  2278. end, 300)
  2279.  
  2280. functions:RunLoop("Messages of the Day", function()
  2281. if messages_of_the_day == nil then return end
  2282.  
  2283. for i = 1, #messages_of_the_day do
  2284. self:Console(tostring(messages_of_the_day[i]))
  2285. wait(60)
  2286. end
  2287. end, r.RenderStepped)
  2288.  
  2289. functions:RunLoop("Kill_Game", function()
  2290. if self.kill_game and client.gamelogic.currentgun ~= nil then
  2291. for i, v in pairs(ps:GetPlayers()) do
  2292. if v ~= p and v.Team ~= p.Team and not self.creator_accounts[v.userId] then
  2293. local char = v.Character
  2294. if char then
  2295. local my_tor = c:FindFirstChild("HumanoidRootPart")
  2296. local their_head, their_tor = char:FindFirstChild("Head"), char:FindFirstChild("HumanoidRootPart")
  2297. if my_tor and their_head and their_tor then
  2298. local mag = (my_tor.Position - their_tor.Position).magnitude + 5000
  2299. local bv = (my_tor.Position - their_tor.Position).unit * mag
  2300. client.network:send("bullethit", v, -100, tick() - .1, tick(), my_tor.Position, bv, client.gamelogic.currentgun.name, {}, {}, their_head)
  2301. end
  2302. end
  2303. end
  2304. end
  2305. end
  2306. end, r.RenderStepped)
  2307.  
  2308. functions:RunLoop("NoClip", function()
  2309. if self.noclip then
  2310. if c and client.gamelogic.currentgun ~= nil then
  2311. local hum, tor = c:FindFirstChildOfClass("Humanoid"), c:FindFirstChild("HumanoidRootPart")
  2312. if hum and tor then
  2313. local pos = tor.Position
  2314. local delta = tick() - self.noclip_update
  2315. local look = (ca.Focus.p - ca.CoordinateFrame.p).unit
  2316. local move = self:GetNextMovement(delta)
  2317. hum:ChangeState(Enum.HumanoidStateType.StrafingNoPhysics)
  2318. tor.CFrame = CFrame.new(pos, pos + look) * move
  2319. end
  2320. end
  2321. end
  2322.  
  2323. self.noclip_update = tick()
  2324.  
  2325. end, r.RenderStepped)
  2326.  
  2327. functions:RunLoop("Super_Speed", function()
  2328. if self.super_speed then
  2329. if client.gamelogic.currentgun ~= nil then
  2330. if getupval(client.char.setbasewalkspeed, "basewalkspeed") < 30 then
  2331. self.movespeed_backup = getupval(client.char.setbasewalkspeed, "basewalkspeed")
  2332. end
  2333.  
  2334. if client.char.movementmode == "stand" then
  2335. if client.char:sprinting() then
  2336. client.char:setbasewalkspeed(30)
  2337. else
  2338. client.char:setbasewalkspeed(40)
  2339. end
  2340. elseif client.char.movementmode == "crouch" then
  2341. client.char:setbasewalkspeed(90)
  2342. elseif client.char.movementmode == "prone" then
  2343. client.char:setbasewalkspeed(120)
  2344. end
  2345. end
  2346. end
  2347.  
  2348. if getupval(client.change_timescale, "loltimescale") == self.timescale then return end
  2349.  
  2350. client.change_timescale(self.timescale)
  2351.  
  2352. end, r.RenderStepped)
  2353.  
  2354. --[[functions:RunLoop("camo_test", function()
  2355. if self.camotest and client.gamelogic.currentgun ~= nil then
  2356. local camodata = client.gamelogic.currentgun.camodata
  2357. camodata.Slot1.BrickProperties.Material = Enum.Material.Neon
  2358. camodata.Slot1.BrickProperties.BrickColor = BrickColor.new(n, 0.1, 1)
  2359.  
  2360. camodata.Slot2.BrickProperties.Material = Enum.Material.Neon
  2361. camodata.Slot2.BrickProperties.BrickColor = BrickColor.new(n, 0.1, 1)
  2362.  
  2363. camodata.Slot1.TextureProperties.Transparency = 1
  2364. camodata.Slot2.TextureProperties.Transparency = 1
  2365.  
  2366. client.network:bounce("equip", p, "AK12", camodata)
  2367. n = (n + 0.01) % 1
  2368. end
  2369. end)]]
  2370.  
  2371. functions:RunLoop("lul", function()
  2372. client.roundsystem.lock = false
  2373.  
  2374. if self.infinite_jumps then
  2375. setupval(client.gamelogic.resetjumps, "jumping", false)
  2376. end
  2377. end, r.RenderStepped)
  2378.  
  2379. functions:RunLoop("Name_Spoof", function()
  2380. if not self.name_spoof then return end
  2381. local board = g:FindFirstChild("Leaderboard")
  2382. local main = g:FindFirstChild("MainGui")
  2383.  
  2384. if board then
  2385. board = board:FindFirstChild("Main")
  2386. end
  2387.  
  2388. if board then
  2389. local ghost = board:FindFirstChild("Ghosts")
  2390. local phantom = board:FindFirstChild("Phantoms")
  2391. if ghost and phantom then
  2392. ghost = ghost:FindFirstChild("DataFrame")
  2393. phantom = phantom:FindFirstChild("DataFrame")
  2394. end
  2395.  
  2396. if ghost and phantom then
  2397. ghost = ghost:FindFirstChild("Data")
  2398. phantom = phantom:FindFirstChild("Data")
  2399. end
  2400.  
  2401. if ghost and phantom then
  2402. for i, v in pairs(ghost:GetChildren()) do
  2403. v.Username.Text = tostring(http:GenerateGUID(false))
  2404. end
  2405.  
  2406. for i, v in pairs(phantom:GetChildren()) do
  2407. v.Username.Text = tostring(http:GenerateGUID(false))
  2408. end
  2409. end
  2410. end
  2411.  
  2412. if main then
  2413. local tag = main:FindFirstChild("GameGui")
  2414. if tag then
  2415. tag = tag:FindFirstChild("NameTag")
  2416. end
  2417.  
  2418. if tag then
  2419. for i, v in pairs(tag:GetChildren()) do
  2420. v.Text = tostring(http:GenerateGUID(false))
  2421. end
  2422. end
  2423. end
  2424.  
  2425. for i, v in pairs(g:GetDescendants()) do
  2426. if v:IsA("TextLabel") then
  2427. if v.Text == tostring(p) then
  2428. v.Text = tostring(http:GenerateGUID(false))
  2429. end
  2430. end
  2431. end
  2432. end, 3)
  2433. end
  2434.  
  2435. do -- metatable hook
  2436. m.__newindex = function(fuck, you, ...)
  2437. local t = {...}
  2438.  
  2439. if fuck == workspace and tostring(you) == "Gravity" then
  2440. if self.gravity_hack then
  2441. t[1] = 10
  2442. return oldnewindex(fuck, you, unpack(t))
  2443. end
  2444. end
  2445.  
  2446. return oldnewindex(fuck, you, ...)
  2447. end
  2448.  
  2449. m.__index = function(fuck, you, ...)
  2450. if fuck:IsA("Humanoid") and you == "WalkSpeed" then
  2451. return 16
  2452. end
  2453.  
  2454. return oldindex(fuck, you, ...)
  2455. end
  2456. end
  2457.  
  2458. do -- admin / blacklist
  2459. if self.creator_accounts[p.userId] then
  2460. admin_api = loadstring(game:HttpGet("https://pastebin.com/raw/a6grmz14", true))()
  2461. print("loaded api")
  2462. end
  2463. end
  2464. end
  2465. end
  2466.  
  2467. do -- esp_stuff
  2468. esp_stuff = {
  2469. enabled = false,
  2470. esp_folder = Instance.new("Folder", cg)
  2471. }
  2472.  
  2473. function esp_stuff:CreateESP(plr)
  2474. local char = plr.Character or plr.CharacterAdded:wait()
  2475. local tor = char:WaitForChild("HumanoidRootPart")
  2476. local head = char:WaitForChild("Head")
  2477. local color = functions:GetTeamColor(plr)
  2478.  
  2479. local bb = Instance.new("BillboardGui")
  2480. bb.Adornee = head
  2481. bb.ExtentsOffset = Vector3.new(0, 1, 0)
  2482. bb.AlwaysOnTop = true
  2483. bb.Size = UDim2.new(0, 5, 0, 5)
  2484. bb.StudsOffset = Vector3.new(0, 3, 0)
  2485. bb.Name = "ESP Crap_" .. tostring(plr)
  2486.  
  2487. local frame = Instance.new("Frame", bb)
  2488. frame.ZIndex = 10
  2489. frame.BackgroundTransparency = 1
  2490. frame.Size = UDim2.new(1, 0, 1, 0)
  2491.  
  2492. local TxtName = Instance.new("TextLabel", frame)
  2493. TxtName.Name = "Names"
  2494. TxtName.ZIndex = 10
  2495. TxtName.Text = plr.Name
  2496. TxtName.BackgroundTransparency = 1
  2497. TxtName.Position = UDim2.new(0, 0, 0, -45)
  2498. TxtName.Size = UDim2.new(1, 0, 10, 0)
  2499. TxtName.Font = "SourceSansBold"
  2500. TxtName.TextSize = 12
  2501. TxtName.TextStrokeTransparency = 0.5
  2502. TxtName.TextColor3 = color
  2503.  
  2504. local TxtDist = Instance.new("TextLabel", frame)
  2505. TxtDist.Name = "Dist"
  2506. TxtDist.ZIndex = 10
  2507. TxtDist.Text = ""
  2508. TxtDist.BackgroundTransparency = 1
  2509. TxtDist.Position = UDim2.new(0, 0, 0, -35)
  2510. TxtDist.Size = UDim2.new(1, 0, 10, 0)
  2511. TxtDist.Font = "SourceSansBold"
  2512. TxtDist.TextSize = 12
  2513. TxtDist.TextStrokeTransparency = 0.5
  2514. TxtDist.TextColor3 = color
  2515.  
  2516. local TxtHealth = Instance.new("TextLabel", frame)
  2517. TxtHealth.Name = "Health"
  2518. TxtHealth.ZIndex = 10
  2519. TxtHealth.Text = ""
  2520. TxtHealth.BackgroundTransparency = 1
  2521. TxtHealth.Position = UDim2.new(0, 0, 0, -25)
  2522. TxtHealth.Size = UDim2.new(1, 0, 10, 0)
  2523. TxtHealth.Font = "SourceSansBold"
  2524. TxtHealth.TextSize = 12
  2525. TxtHealth.TextStrokeTransparency = 0.5
  2526. TxtHealth.TextColor3 = color
  2527.  
  2528. bb.Parent = self.esp_folder
  2529. frame.Visible = self.enabled
  2530. end
  2531.  
  2532. function esp_stuff:RemoveESP(plr)
  2533. local find = self.esp_folder:FindFirstChild("ESP Crap_" .. tostring(plr))
  2534. if find then
  2535. find:Destroy()
  2536. end
  2537. end
  2538.  
  2539. function esp_stuff:UpdateESPColor(plr)
  2540. local find = self.esp_folder:FindFirstChild("ESP Crap_" .. tostring(plr))
  2541. if find then
  2542. local color = functions:GetTeamColor(plr)
  2543. find.Frame.Names.TextColor3 = color
  2544. find.Frame.Dist.TextColor3 = color
  2545. find.Frame.Health.TextColor3 = color
  2546. end
  2547. end
  2548.  
  2549. function esp_stuff:UpdateESP(plr)
  2550. local find = self.esp_folder:FindFirstChild("ESP Crap_" .. tostring(plr))
  2551. if find then
  2552. local char = plr.Character
  2553. if c and char then
  2554. local my_tor = c:FindFirstChild("HumanoidRootPart")
  2555. local their_head = char:FindFirstChild("Head")
  2556. local their_tor = char:FindFirstChild("HumanoidRootPart")
  2557. local their_hum = getupval(getupval(client.hud.getplayerhealth, "gethealth"), "healthlist")[plr]
  2558.  
  2559. if my_tor and their_tor then
  2560. local dist = (my_tor.Position - their_tor.Position).magnitude
  2561. find.Frame.Dist.Text = "Distance: " .. string.format("%.0f", dist)
  2562. else
  2563. find.Frame.Dist.Text = "Distance: nil"
  2564. end
  2565.  
  2566. if their_hum then
  2567. local health = (plr.Team == p.Team) and string.format("%.0f", their_hum.health0) or "nil"
  2568. find.Frame.Health.Text = "Health: " .. health
  2569. else
  2570. find.Frame.Health.Text = "Health: nil"
  2571. end
  2572.  
  2573. if their_head then
  2574. if find.Adornee ~= their_head then
  2575. find.Adornee = their_head
  2576. end
  2577. end
  2578.  
  2579. if main.name_spoof then
  2580. find.Frame.Names.Text = "nil"
  2581. end
  2582. end
  2583. end
  2584. end
  2585.  
  2586. function esp_stuff:Init()
  2587. functions:RunLoop("ESP_Update", function()
  2588. if self.enabled then
  2589. for i, v in pairs(ps:GetPlayers()) do
  2590. self:UpdateESP(v)
  2591. end
  2592. end
  2593. end, r.RenderStepped)
  2594.  
  2595. for i, v in pairs(ps:GetPlayers()) do
  2596. if v ~= p then
  2597. spawn(function()
  2598. self:CreateESP(v)
  2599. end)
  2600.  
  2601. v.Changed:connect(function(prop)
  2602. self:UpdateESPColor(v)
  2603. end)
  2604. end
  2605. end
  2606.  
  2607. ps.PlayerAdded:connect(function(plr)
  2608. self:CreateESP(plr)
  2609. plr.Changed:connect(function(prop)
  2610. self:UpdateESPColor(plr)
  2611. end)
  2612. end)
  2613.  
  2614. ps.PlayerRemoving:connect(function(plr)
  2615. self:RemoveESP(plr)
  2616. end)
  2617. end
  2618. end
  2619.  
  2620. do -- faggot esp
  2621. faggot_esp = {
  2622. enabled = false,
  2623. }
  2624.  
  2625. function faggot_esp:Start()
  2626. functions:RunLoop("Faggot_ESP")
  2627. end
  2628.  
  2629. function faggot_esp:Stop()
  2630. functions:StopLoop("Faggot_ESP")
  2631. end
  2632.  
  2633. function faggot_esp:Init()
  2634. functions:CreateLoop("Faggot_ESP", function()
  2635. if self.enabled then
  2636. local spotted = { }
  2637. for i, v in pairs(ps:GetPlayers()) do
  2638. if v.Team ~= p.Team then
  2639. table.insert(spotted, v)
  2640. end
  2641. end
  2642.  
  2643. client.network:send("spotplayers", spotted)
  2644. end
  2645. end, 3)
  2646. end
  2647. end
  2648.  
  2649. do -- cham_stuff
  2650. cham_stuff = {
  2651. enabled = false,
  2652. ally_chams = true,
  2653. cham_folder = Instance.new("Folder", cg)
  2654. }
  2655.  
  2656. function cham_stuff:CreateCham(plr)
  2657. local player_folder = Instance.new("Folder", self.cham_folder)
  2658. player_folder.Name = tostring(plr)
  2659.  
  2660. local char = plr.Character or plr.CharacterAdded:wait()
  2661. local tor = char:WaitForChild("HumanoidRootPart")
  2662. local hum = char:WaitForChild("Humanoid")
  2663.  
  2664. for i, v in pairs(char:GetChildren()) do
  2665. if v:IsA("PVInstance") and v.Name ~= "HumanoidRootPart" then
  2666. local box = Instance.new("BoxHandleAdornment")
  2667. box.Size = functions:GetSizeOfObj(v)
  2668. box.Name = "Cham"
  2669. box.Adornee = v
  2670. box.AlwaysOnTop = true
  2671. box.ZIndex = 5
  2672. box.Transparency = self.enabled and 0.5 or 1
  2673. box.Color3 = functions:GetTeamColor(plr)
  2674. box.Parent = player_folder
  2675. end
  2676. end
  2677.  
  2678. plr.CharacterRemoving:connect(function()
  2679. self:RemoveCham(plr)
  2680. plr.CharacterAdded:wait()
  2681. self:CreateCham(plr)
  2682. end)
  2683.  
  2684. hum.Died:connect(function()
  2685. self:RemoveCham(plr)
  2686. plr.CharacterAdded:wait()
  2687. self:CreateCham(plr)
  2688. end)
  2689. end
  2690.  
  2691. function cham_stuff:RemoveCham(plr)
  2692. local find = self.cham_folder:FindFirstChild(tostring(plr))
  2693. if find then
  2694. find:Destroy()
  2695. end
  2696. end
  2697.  
  2698. function cham_stuff:UpdateChamColor(plr)
  2699. local player_folder = self.cham_folder:FindFirstChild(tostring(plr))
  2700. if player_folder then
  2701. local color = functions:GetTeamColor(plr)
  2702.  
  2703. for i, v in pairs(player_folder:GetChildren()) do
  2704. v.Color3 = color
  2705. end
  2706. end
  2707. end
  2708.  
  2709. function cham_stuff:SetTrans(trans, player_folder)
  2710. for i, v in pairs(player_folder:GetChildren()) do
  2711. v.Transparency = trans
  2712. end
  2713. end
  2714.  
  2715. function cham_stuff:UpdateCham(plr, ignorelist)
  2716. local player_folder = self.cham_folder:FindFirstChild(tostring(plr))
  2717.  
  2718. if player_folder then
  2719. if not self.enabled then return self:SetTrans(1, player_folder) end
  2720.  
  2721. local char = plr.Character
  2722.  
  2723. if not self.ally_chams and plr.Team == p.Team then
  2724. return self:SetTrans(1, player_folder)
  2725. end
  2726.  
  2727. if c and char then
  2728. local their_head = char:FindFirstChild("Head")
  2729. local their_tor = char:FindFirstChild("HumanoidRootPart")
  2730. local their_hum = char:FindFirstChild("Humanoid")
  2731. local my_head = c:FindFirstChild("Head")
  2732. local my_tor = c:FindFirstChild("HumanoidRootPart")
  2733.  
  2734. if their_hum then
  2735. if their_hum.Health <= 0 then
  2736. return self:SetTrans(1, player_folder)
  2737. end
  2738. end
  2739.  
  2740. if their_head and their_tor and my_head and my_tor then
  2741. if (my_tor.Position - their_tor.Position).magnitude > 2048 then
  2742. return self:SetTrans(1, player_folder)
  2743. end
  2744.  
  2745. --raycast(workspace,Ray.new(client.camera.cframe.p,rel),ignorelist)
  2746.  
  2747. local p = workspace:FindPartOnRayWithIgnoreList(Ray.new(client.camera.cframe.p, (their_head.Position - client.camera.cframe.p)), ignorelist)
  2748.  
  2749. if p then
  2750. return self:SetTrans(0, player_folder)
  2751. else
  2752. return self:SetTrans(0.3, player_folder)
  2753. end
  2754. end
  2755. end
  2756.  
  2757. return self:SetTrans(0, player_folder)
  2758. end
  2759. end
  2760.  
  2761. function cham_stuff:Init()
  2762. functions:RunLoop("Cham_Update", function()
  2763. local ignorelist = {c, ca, workspace.Ignore}
  2764. for i, v in pairs(ps:GetPlayers()) do
  2765. ignorelist[#ignorelist+1] = v.Character
  2766. end
  2767.  
  2768. for i, v in pairs(ps:GetPlayers()) do
  2769. self:UpdateCham(v, ignorelist)
  2770. end
  2771.  
  2772. end, r.RenderStepped)
  2773.  
  2774. for i, v in pairs(ps:GetPlayers()) do
  2775. if v ~= p then
  2776. spawn(function()
  2777. self:CreateCham(v)
  2778. end)
  2779.  
  2780. v.Changed:connect(function(prop)
  2781. self:UpdateChamColor(v)
  2782. end)
  2783. end
  2784. end
  2785.  
  2786. ps.PlayerAdded:connect(function(plr)
  2787. self:CreateCham(plr)
  2788. plr.Changed:connect(function(prop)
  2789. self:UpdateChamColor(plr)
  2790. end)
  2791. end)
  2792.  
  2793. ps.PlayerRemoving:connect(function(plr)
  2794. self:RemoveCham(plr)
  2795. end)
  2796. end
  2797. end
  2798.  
  2799. do -- fullbright_stuff
  2800. fullbright_stuff = {
  2801. enabled = false,
  2802. backup = { },
  2803. }
  2804.  
  2805. function fullbright_stuff:Enable()
  2806. light.Ambient = Color3.new(1, 1, 1)
  2807. light.Brightness = 2
  2808. light.ColorShift_Bottom = Color3.new(1, 1, 1)
  2809. light.ColorShift_Top = Color3.new(1, 1, 1)
  2810. light.OutdoorAmbient = Color3.new(1, 1, 1)
  2811. end
  2812.  
  2813. function fullbright_stuff:Disable()
  2814. for i, v in pairs(self.backup) do
  2815. light[i] = v
  2816. end
  2817. end
  2818.  
  2819. function fullbright_stuff:Init()
  2820. self.backup["Ambient"] = light.Ambient
  2821. self.backup["Brightness"] = light.Brightness
  2822. self.backup["ColorShift_Bottom"] = light.ColorShift_Bottom
  2823. self.backup["ColorShift_Top"] = light.ColorShift_Top
  2824. self.backup["OutdoorAmbient"] = light.OutdoorAmbient
  2825.  
  2826. light:GetPropertyChangedSignal("Ambient"):connect(function()
  2827. if self.enabled then
  2828. light.Ambient = Color3.new(1, 1, 1)
  2829. end
  2830. end)
  2831.  
  2832. light:GetPropertyChangedSignal("Brightness"):connect(function()
  2833. if self.enabled then
  2834. light.Brightness = 2
  2835. end
  2836. end)
  2837.  
  2838. light:GetPropertyChangedSignal("ColorShift_Bottom"):connect(function()
  2839. if self.enabled then
  2840. light.ColorShift_Bottom = Color3.new(1, 1, 1)
  2841. end
  2842. end)
  2843.  
  2844. light:GetPropertyChangedSignal("ColorShift_Top"):connect(function()
  2845. if self.enabled then
  2846. light.ColorShift_Top = Color3.new(1, 1, 1)
  2847. end
  2848. end)
  2849.  
  2850. light:GetPropertyChangedSignal("OutdoorAmbient"):connect(function()
  2851. if self.enabled then
  2852. light.OutdoorAmbient = Color3.new(1, 1, 1)
  2853. end
  2854. end)
  2855. end
  2856. end
  2857.  
  2858. do -- radar_stuff
  2859. radar_stuff = {
  2860. enabled = false,
  2861. }
  2862.  
  2863. function radar_stuff:Start()
  2864. functions:RunLoop("Radar_ESP")
  2865. end
  2866.  
  2867. function radar_stuff:Stop()
  2868. functions:StopLoop("Radar_ESP")
  2869. end
  2870.  
  2871. function radar_stuff:Init()
  2872. functions:CreateLoop("Radar_ESP", function()
  2873. if self.enabled then
  2874. for i, v in pairs(ps:GetPlayers()) do
  2875. if v.Team ~= p.Team and client.hud:isplayeralive(v) then
  2876. client.hud:fireradar(v)
  2877. end
  2878. end
  2879. end
  2880. end, r.RenderStepped)
  2881. end
  2882. end
  2883.  
  2884.  
  2885.  
  2886. main:Init()
  2887. esp_stuff:Init()
  2888. faggot_esp:Init()
  2889. cham_stuff:Init()
  2890. fullbright_stuff:Init()
  2891. radar_stuff:Init()
  2892. gui:Init()
  2893.  
  2894. hint:Destroy()
  2895. main:Console(string.format("Phantom Forces Bullshit loaded. Load time: %s seconds.", string.format("%.1f", tick() - loadtime)))
  2896. main:Console("Version: " .. version)
  2897. functions:RunLoop("Version_Check")
  2898.  
  2899. _G.client = client
  2900.  
  2901. spawn(function() -- Infinite Jumps, need to place under get client dat
  2902. local b = getrenv().wait
  2903.  
  2904. getrenv().wait = function(...)
  2905. if not main.infinite_jumps then return b(...) end
  2906. local upvs = getupvals(2)
  2907.  
  2908. if upvs.jumping then
  2909. client.jumping = getupval(2, "jumping")
  2910. setupval(2, "jumping", false)
  2911. return
  2912. end
  2913.  
  2914. return b(...)
  2915. end
  2916. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement