Meliodas0_0

pfhaxx v3

Jul 25th, 2019
69
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --[[ TODO:
  2. Increased Sniper Zoom
  3. Remove On Fire Animation
  4. Permanent Ballistic Tracker
  5.  
  6. Fastball Grenade
  7. Homing Missile Grenade
  8. ]]
  9.  
  10. if getgenv().phantom_fucker then return end
  11.  
  12. getgenv().phantom_fucker = true
  13.  
  14. ScriptName = "Phantom Fucker"
  15. local m = game:GetService("CoreGui"):FindFirstChild("Message")
  16. if m then m:Destroy() end
  17.  
  18. local ps = game:GetService("Players")
  19. local i = game:GetService("UserInputService")
  20. local r = game:GetService("RunService")
  21. local cg = game:GetService("CoreGui")
  22. local sg = game:GetService("StarterGui")
  23. local ts = game:GetService("TweenService")
  24. local rs = game:GetService("ReplicatedStorage")
  25. local sc = game:GetService("ScriptContext")
  26. local http = game:GetService("HttpService")
  27. local light = game:GetService("Lighting")
  28. local pathservice = game:GetService("PathfindingService")
  29. local p = ps.LocalPlayer
  30. local c = p.Character
  31. local mo = p:GetMouse()
  32. local b = p:FindFirstChild("Backpack") or p:WaitForChild("Backpack")
  33. local g = p:FindFirstChild("PlayerGui") or p:WaitForChild("PlayerGui")
  34. local ca = workspace.CurrentCamera
  35.  
  36. local hint = Instance.new("Hint", cg)
  37. hint.Text = "Initializing... Please wait... (This can take up to 30 seconds!)"
  38. wait(1)
  39.  
  40. local getupval = debug.getupvalue or getupval
  41. local getupvals = debug.getupvalues or getupvals
  42. local getreg = debug.getregistry or getreg
  43. local setupval = debug.setupvalue or setupval
  44. local getlocal = debug.getlocal or getlocal
  45. local getlocals = debug.getlocals or getlocals
  46. local setlocal = debug.setlocal or setlocal
  47. local getconst = debug.getconstant or getconst
  48. local getconsts = debug.getconstants or getconsts
  49. local setconst = debug.setconstant or setconst
  50. local setreadonly = make_writeable or setreadonly
  51.  
  52. if syn == nil then
  53. return p:Kick("Unfortunately the exploit you're using is not supported. :C")
  54. end
  55.  
  56. local m = getrawmetatable(game)
  57. setreadonly(m, false)
  58.  
  59. local client = { }
  60. local funcs = { }
  61. local scripts = { }
  62. local backups = { }
  63. local backupss = { }
  64. local main = { }
  65.  
  66. local espStuff = { }
  67. local chamStuff = { }
  68. local crosshairStuff = { }
  69. local fullbrightStuff = { }
  70. local tracerStuff = { }
  71. local gui = { }
  72. local loops = { }
  73.  
  74. local myVersion = "3.6.5"
  75. local messagesOfTheDay = nil
  76. local threadIdentity = syn.get_thread_identity()
  77.  
  78. local creator_accounts = { }
  79.  
  80. do -- funcs
  81. funcs = {
  82. data = http:JSONDecode(game:HttpGet("https://raw.githubusercontent.com/iamcal/emoji-data/master/emoji.json"))
  83. }
  84.  
  85. -- IDK who the original creator of this is but credit to that dude
  86. function funcs.parseEmoji(emoji)
  87. for _, v in next, funcs.data do
  88. if string.lower(emoji) == v["short_name"] then
  89. return utf8.char(tonumber(v["unified"], 16))
  90. end
  91. end
  92. end
  93.  
  94. function funcs.split(self, sep)
  95. local sep, fields = sep or ":", {}
  96. local pattern = string.format("([^%s]+)", sep)
  97. string.gsub(self, pattern, function(c) fields[#fields+1] = c end)
  98. return fields
  99. end
  100.  
  101. function funcs.detectEmoji(str)
  102. for i = 1, #str do
  103. if string.sub(str, i, i) == ":" then
  104. local substr = string.sub(str, i + 1, #str)
  105. local pos = string.find(substr, ":")
  106. if pos then
  107. return pos
  108. end
  109. end
  110. end
  111.  
  112. return nil
  113. end
  114.  
  115. function funcs.parseSemicolon(rawStr)
  116. local tbl = funcs.split(rawStr, " ")
  117. local newtbl = { }
  118.  
  119. for i, v in next, tbl do
  120. local pos = funcs.detectEmoji(v)
  121. if pos then
  122. v = string.sub(v, 2, pos)
  123. v = funcs.parseEmoji(v)
  124. end
  125. newtbl[i] = v
  126. end
  127.  
  128. return table.concat(newtbl, ' ')
  129. end
  130.  
  131. function funcs:LoopRunning(name)
  132. return loops[name].Running
  133. end
  134.  
  135. function funcs:CreateLoop(name, func, waitt, canBeDestroyed, ...)
  136. if loops[name] ~= nil then return end
  137.  
  138. loops[name] = { }
  139. loops[name].Running = false
  140. loops[name].Destroy = false
  141. loops[name].CanBeDestroyed = canBeDestroyed
  142. loops[name].Loop = coroutine.create(function(...)
  143. while true do
  144. if loops[name].Running then
  145. func(...)
  146. end
  147.  
  148. if loops[name].Destroy then
  149. break
  150. end
  151.  
  152. if type(wait) == "userdata" then
  153. waitt:wait()
  154. else
  155. wait(waitt)
  156. end
  157. end
  158. end)
  159. end
  160.  
  161. function funcs:RunLoop(name, func, waitt, canBeDestroyed, ...)
  162. if loops[name] == nil then
  163. if func ~= nil then
  164. self:CreateLoop(name, func, waitt, canBeDestroyed, ...)
  165. end
  166. end
  167.  
  168. loops[name].Running = true
  169. local succ, out = coroutine.resume(loops[name].Loop)
  170. if not succ then
  171. warn("Loop: " .. tostring(name) .. " ERROR: " .. tostring(out))
  172. end
  173. end
  174.  
  175. function funcs:StopLoop(name)
  176. if loops[name] == nil then return end
  177.  
  178. loops[name].Running = false
  179. end
  180.  
  181. function funcs:DestroyLoop(name)
  182. if loops[name] == nil then return end
  183.  
  184. self:StopLoop(name)
  185. loops[name].Destroy = true
  186.  
  187. loops[name] = nil
  188. end
  189.  
  190. function funcs:DestroyAllLoops()
  191. for i, v in next, loops do
  192. self:DestroyLoop(i)
  193. end
  194. end
  195.  
  196. function funcs:AddComma(str) -- stole from Mining Simulator :)
  197. local f, k = str, nil
  198. while true do
  199. f, k = string.gsub(f, "^(-?%d+)(%d%d%d)", "%1,%2")
  200. if k == 0 then
  201. break
  202. end
  203. end
  204. return f
  205. end
  206.  
  207. function funcs:deepcopy(orig) -- http://lua-users.org/wiki/CopyTable
  208. local orig_type = type(orig)
  209. local copy
  210. if orig_type == 'table' then
  211. copy = {}
  212. for orig_key, orig_value in next, orig, nil do
  213. copy[funcs:deepcopy(orig_key)] = funcs:deepcopy(orig_value)
  214. end
  215. setmetatable(copy, funcs:deepcopy(getmetatable(orig)))
  216. else -- number, string, boolean, etc
  217. copy = orig
  218. end
  219. return copy
  220. end
  221.  
  222. function funcs:GetSizeOfObj(obj)
  223. if obj:IsA("BasePart") then
  224. return obj.Size
  225. elseif obj:IsA("Model") then
  226. return obj:GetExtentsSize()
  227. end
  228. end
  229.  
  230. function funcs:GetTeamColor(plr)
  231. if p.Team == plr.Team then
  232. return Color3.new(0, 1, 0)
  233. end
  234.  
  235. return Color3.new(1, 0, 0)
  236. end
  237.  
  238. function funcs:GetClosestPlayer()
  239. local players = { }
  240. local current_closest_player = nil
  241. local selected_player = nil
  242.  
  243. for i, v in pairs(ps:GetPlayers()) do
  244. if v ~= p and v.Team ~= p.Team then
  245. local char = v.Character
  246. if c and char then
  247. local my_head, my_tor, my_hum = c:FindFirstChild("Head"), c:FindFirstChild("HumanoidRootPart"), c:FindFirstChild("Humanoid")
  248. local their_head, their_tor, their_hum = char:FindFirstChild("Head"), char:FindFirstChild("HumanoidRootPart"), char:FindFirstChild("Humanoid")
  249. if my_head and my_tor and my_hum and their_head and their_tor and their_hum then
  250. if my_hum.Health > 1 and their_hum.Health > 1 then
  251. --local ray = Ray.new(ca.CFrame.p, (their_head.Position - ca.CFrame.p).unit * 2048)
  252. --local part = workspace:FindPartOnRayWithIgnoreList(ray, {c, ca})
  253. --if part ~= nil then
  254. --if part:IsDescendantOf(char) then
  255. local dist = (mo.Hit.p - their_tor.Position).magnitude
  256. players[v] = dist
  257. --end
  258. --end
  259. end
  260. end
  261. end
  262. end
  263. end
  264.  
  265. for i, v in next, players do
  266. if current_closest_player ~= nil then
  267. if v <= current_closest_player then
  268. current_closest_player = v
  269. selected_player = i
  270. end
  271. else
  272. current_closest_player = v
  273. selected_player = i
  274. end
  275. end
  276.  
  277. return selected_player
  278. end
  279.  
  280. function funcs:TypeWriter(label, speed)
  281. local speed = speed or 2
  282. local text = label.Text
  283. label.Text = ""
  284. spawn(function()
  285. for i = 1, string.len(text) do
  286. if i % 2 == 0 then
  287. client.sound.play("ui_typeout", 0.2)
  288. end
  289. label.Text = string.sub(text, 1, speed * i)
  290. wait(0.016666666666666666)
  291. end
  292. end)
  293. end
  294.  
  295. function funcs:ModifyAllVarsInTable(t, var, val)
  296. for i, v in pairs(t) do
  297. if i == var then
  298. t[i] = val
  299. end
  300.  
  301. if type(v) == "table" then
  302. funcs:ModifyAllVarsInTable(t[i], var, val)
  303. end
  304. end
  305. end
  306.  
  307. function funcs:FindPlayer(txt)
  308. local Plr = { }
  309. for _, v in pairs(ps:GetPlayers()) do
  310. if string.lower(string.sub(v.Name, 1, string.len(txt))) == string.lower(txt) then
  311. table.insert(Plr, v)
  312. end
  313. end
  314.  
  315.  
  316. return Plr
  317. end
  318.  
  319. function funcs:CreateBackup(name, path, index, f)
  320. backupss[name] = { }
  321. backupss[name].func = f
  322. backupss[name].path = path
  323. backupss[name].index = index
  324.  
  325. return backupss[name].func
  326. end
  327.  
  328. function funcs:RestoreBackups()
  329. for i, v in next, backupss do
  330. v.path[v.index] = v.func
  331. end
  332. end
  333.  
  334. function funcs:AddScript(scr)
  335. scripts[scr] = {decompile(scr, "new"), src}
  336. return scripts[scr]
  337. end
  338.  
  339. function funcs:FindPattern(scr, pattern)
  340. return string.match(scripts[scr][1], pattern)
  341. end
  342.  
  343. function funcs:FindValInTable(index, t)
  344. for i, v in next, t do
  345. if i == index then
  346. return t[i]
  347. else
  348. if type(v) == "function" and not is_synapse_function(v) then
  349. local check = getupval(v, index)
  350. if check then
  351. return check
  352. end
  353. elseif type(v) == "table" and v ~= t then
  354. self:FindValInTable(index, v)
  355. end
  356. end
  357. end
  358. end
  359.  
  360. function funcs:FindVal(name, index)
  361. for i, v in next, getreg() do
  362. if type(v) == "function" and not is_synapse_function(v) then
  363. local check = getupval(v, index)
  364. if check then
  365. client[name] = check
  366. return
  367. end
  368. end
  369. end
  370.  
  371. for i, v in next, getgc() do
  372. if type(v) == "function" and not is_synapse_function(v) then
  373. local check = getupval(v, index)
  374. if check then
  375. client[name] = check
  376. return
  377. end
  378. end
  379. end
  380.  
  381. for i, v in next, scripts do
  382. for i2, v2 in next, getsenv(v[2]) do
  383. if i2 == index then
  384. client[name] = v2
  385. return
  386. else
  387. if type(v2) == "function" and not is_synapse_function(v2) then
  388. local check = getupval(v2, index)
  389. if check then
  390. client[name] = check
  391. return
  392. end
  393. elseif type(v2) == "table" then
  394. client[name] = self:FindValInTable(index, v2)
  395. end
  396. end
  397. end
  398. end
  399.  
  400. if client[name] == nil then
  401. client[name] = self:FindValInTable(index, client)
  402. end
  403. end
  404. end
  405.  
  406. do -- gui
  407. gui = {
  408. name = "Base",
  409. gui_objs = {
  410. main = nil,
  411. mainframes = { },
  412. }
  413. }
  414.  
  415. function gui:AddTextBox(mainframe, name, text)
  416. self.gui_objs.mainframes[mainframe].buttons[name] = { }
  417.  
  418. self.gui_objs.mainframes[mainframe].buttons[name].main = Instance.new("Frame")
  419. self.gui_objs.mainframes[mainframe].buttons[name].main.BackgroundTransparency = 1
  420. self.gui_objs.mainframes[mainframe].buttons[name].main.Name = name
  421. self.gui_objs.mainframes[mainframe].buttons[name].main.Position = UDim2.new(0, 0, 0, 5 + self.gui_objs.mainframes[mainframe].buttonsnum)
  422. self.gui_objs.mainframes[mainframe].buttons[name].main.Size = UDim2.new(1, 0, 0, 15)
  423. self.gui_objs.mainframes[mainframe].buttons[name].main.Parent = self.gui_objs.mainframes[mainframe].buttonsframe
  424.  
  425. self.gui_objs.mainframes[mainframe].buttons[name].textbox = Instance.new("TextBox")
  426. self.gui_objs.mainframes[mainframe].buttons[name].textbox.BackgroundColor3 = Color3.new(66 / 255, 66 / 255, 66 / 255)
  427. self.gui_objs.mainframes[mainframe].buttons[name].textbox.BackgroundTransparency = 0.3
  428. self.gui_objs.mainframes[mainframe].buttons[name].textbox.BorderSizePixel = 0
  429. self.gui_objs.mainframes[mainframe].buttons[name].textbox.Position = UDim2.new(0, 5, 0, 0)
  430. self.gui_objs.mainframes[mainframe].buttons[name].textbox.Size = UDim2.new(1, -10, 1, 0)
  431. self.gui_objs.mainframes[mainframe].buttons[name].textbox.Font = Enum.Font.SciFi
  432. self.gui_objs.mainframes[mainframe].buttons[name].textbox.Text = text
  433. self.gui_objs.mainframes[mainframe].buttons[name].textbox.TextScaled = true
  434. self.gui_objs.mainframes[mainframe].buttons[name].textbox.TextColor3 = Color3.new(1, 1, 1)
  435. self.gui_objs.mainframes[mainframe].buttons[name].textbox.TextXAlignment = Enum.TextXAlignment.Left
  436. self.gui_objs.mainframes[mainframe].buttons[name].textbox.Parent = self.gui_objs.mainframes[mainframe].buttons[name].main
  437.  
  438. self.gui_objs.mainframes[mainframe].main.Size = UDim2.new(0, 200, 0, 25 + self.gui_objs.mainframes[mainframe].buttonsnum)
  439.  
  440. self.gui_objs.mainframes[mainframe].buttonsnum = self.gui_objs.mainframes[mainframe].buttonsnum + 20
  441.  
  442. return self.gui_objs.mainframes[mainframe].buttons[name].textbox
  443. end
  444.  
  445. function gui:AddButton(mainframe, name, text, status)
  446. self.gui_objs.mainframes[mainframe].buttons[name] = { }
  447.  
  448. self.gui_objs.mainframes[mainframe].buttons[name].main = Instance.new("Frame")
  449. self.gui_objs.mainframes[mainframe].buttons[name].main.BackgroundTransparency = 1
  450. self.gui_objs.mainframes[mainframe].buttons[name].main.Name = name
  451. self.gui_objs.mainframes[mainframe].buttons[name].main.Position = UDim2.new(0, 0, 0, 5 + self.gui_objs.mainframes[mainframe].buttonsnum)
  452. self.gui_objs.mainframes[mainframe].buttons[name].main.Size = UDim2.new(1, 0, 0, 15)
  453. self.gui_objs.mainframes[mainframe].buttons[name].main.Parent = self.gui_objs.mainframes[mainframe].buttonsframe
  454.  
  455. self.gui_objs.mainframes[mainframe].buttons[name].textbutton = Instance.new("TextButton")
  456. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.BackgroundTransparency = 1
  457. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Position = UDim2.new(0, 5, 0, 0)
  458. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Size = UDim2.new(1, -5, 1, 0)
  459. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.ZIndex = 2
  460. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Font = Enum.Font.SciFi
  461. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Text = text
  462. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.TextColor3 = Color3.new(1, 1, 1)
  463. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.TextScaled = true
  464. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.TextXAlignment = Enum.TextXAlignment.Left
  465. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Parent = self.gui_objs.mainframes[mainframe].buttons[name].main
  466.  
  467. self.gui_objs.mainframes[mainframe].buttons[name].textlabel = Instance.new("TextLabel")
  468. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.BackgroundTransparency = 1
  469. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Position = UDim2.new(1, -25, 0, 0)
  470. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Size = UDim2.new(0, 25, 1, 0)
  471. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Font = Enum.Font.Code
  472. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Text = status and "ON" or "OFF"
  473. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.TextColor3 = status and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  474. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.TextScaled = true
  475. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.TextXAlignment = Enum.TextXAlignment.Right
  476. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Parent = self.gui_objs.mainframes[mainframe].buttons[name].main
  477.  
  478. self.gui_objs.mainframes[mainframe].main.Size = UDim2.new(0, 200, 0, 25 + self.gui_objs.mainframes[mainframe].buttonsnum)
  479.  
  480. self.gui_objs.mainframes[mainframe].buttonsnum = self.gui_objs.mainframes[mainframe].buttonsnum + 20
  481.  
  482. return self.gui_objs.mainframes[mainframe].buttons[name].textbutton, self.gui_objs.mainframes[mainframe].buttons[name].textlabel
  483. end
  484.  
  485. function gui:AddMainFrame(name)
  486. if self.gui_objs.mainframes.numX == nil then self.gui_objs.mainframes.numX = 0 end
  487. if self.gui_objs.mainframes.numY == nil then self.gui_objs.mainframes.numY = 0 end
  488.  
  489. self.gui_objs.mainframes[name] = { }
  490. self.gui_objs.mainframes[name].buttons = { }
  491.  
  492. self.gui_objs.mainframes[name].main = Instance.new("Frame")
  493. self.gui_objs.mainframes[name].main.BackgroundColor3 = Color3.new(0, 0, 0)
  494. self.gui_objs.mainframes[name].main.BackgroundTransparency = 0.3
  495. self.gui_objs.mainframes[name].main.BorderColor3 = Color3.new(0, 0, 139 / 255)
  496. self.gui_objs.mainframes[name].main.BorderSizePixel = 3
  497. self.gui_objs.mainframes[name].main.Name = name
  498. self.gui_objs.mainframes[name].main.Position = UDim2.new(0, 50 + self.gui_objs.mainframes.numX, 0, 50 + self.gui_objs.mainframes.numY)
  499. self.gui_objs.mainframes[name].main.Size = UDim2.new(0, 200, 0, 350)
  500. self.gui_objs.mainframes[name].main.Active = true
  501. self.gui_objs.mainframes[name].main.Draggable = true
  502.  
  503. self.gui_objs.mainframes[name].titleframe = Instance.new("Frame")
  504. self.gui_objs.mainframes[name].titleframe.BackgroundColor3 = Color3.new(0, 0, 0)
  505. self.gui_objs.mainframes[name].titleframe.BackgroundTransparency = 0.3
  506. self.gui_objs.mainframes[name].titleframe.BorderColor3 = Color3.new(0, 0, 139 / 255)
  507. self.gui_objs.mainframes[name].titleframe.BorderSizePixel = 3
  508. self.gui_objs.mainframes[name].titleframe.Name = "titleframe"
  509. self.gui_objs.mainframes[name].titleframe.Position = UDim2.new(0, 0, 0, -35)
  510. self.gui_objs.mainframes[name].titleframe.Size = UDim2.new(1, 0, 0, 25)
  511. self.gui_objs.mainframes[name].titleframe.Parent = self.gui_objs.mainframes[name].main
  512.  
  513. self.gui_objs.mainframes[name].title = Instance.new("TextLabel")
  514. self.gui_objs.mainframes[name].title.BackgroundTransparency = 1
  515. self.gui_objs.mainframes[name].title.Name = "title"
  516. self.gui_objs.mainframes[name].title.Size = UDim2.new(1, 0, 1, 0)
  517. self.gui_objs.mainframes[name].title.Font = Enum.Font.Code
  518. self.gui_objs.mainframes[name].title.Text = name
  519. self.gui_objs.mainframes[name].title.TextColor3 = Color3.new(1, 1, 1) -- 0, 0, 1
  520. self.gui_objs.mainframes[name].title.TextSize = 20
  521. self.gui_objs.mainframes[name].title.Parent = self.gui_objs.mainframes[name].titleframe
  522.  
  523. self.gui_objs.mainframes[name].buttonsframe = Instance.new("Frame")
  524. self.gui_objs.mainframes[name].buttonsframe.BackgroundTransparency = 1
  525. self.gui_objs.mainframes[name].buttonsframe.Name = "buttons"
  526. self.gui_objs.mainframes[name].buttonsframe.Size = UDim2.new(1, 0, 1, 0)
  527. self.gui_objs.mainframes[name].buttonsframe.Parent = self.gui_objs.mainframes[name].main
  528.  
  529. self.gui_objs.mainframes[name].infoframe = self.gui_objs.mainframes[name].titleframe:clone()
  530. self.gui_objs.mainframes[name].infoframe.title:Destroy()
  531. self.gui_objs.mainframes[name].infoframe.Name = "infoframe"
  532. self.gui_objs.mainframes[name].infoframe.Position = UDim2.new(0, 0, 1, 10)
  533. self.gui_objs.mainframes[name].infoframe.Parent = self.gui_objs.mainframes[name].main
  534.  
  535. self.gui_objs.mainframes[name].infotitle = self.gui_objs.mainframes[name].title:clone()
  536. self.gui_objs.mainframes[name].infotitle.Name = "infotitle"
  537. self.gui_objs.mainframes[name].infotitle.Text = "Press the \"P\" key to toggle the GUI\nMade by: @Racist Dolphin#8943"
  538. self.gui_objs.mainframes[name].infotitle.TextColor3 = Color3.new(1, 1, 1)
  539. self.gui_objs.mainframes[name].infotitle.TextScaled = true
  540. self.gui_objs.mainframes[name].infotitle.Parent = self.gui_objs.mainframes[name].infoframe
  541.  
  542. self.gui_objs.mainframes[name].buttonsnum = 0
  543. self.gui_objs.mainframes.numX = self.gui_objs.mainframes.numX + 250
  544.  
  545. if (50 + (self.gui_objs.mainframes.numX + 200)) >= ca.ViewportSize.X then
  546. self.gui_objs.mainframes.numX = 0
  547. self.gui_objs.mainframes.numY = self.gui_objs.mainframes.numY + 450
  548. end
  549.  
  550. self.gui_objs.mainframes[name].main.Parent = self.gui_objs.main
  551. end
  552.  
  553. function gui:Init()
  554. self.gui_objs.main = Instance.new("ScreenGui")
  555. self.gui_objs.main.Name = self.name
  556. self.gui_objs.main.Parent = cg
  557. getgenv().mainGui = self.gui_objs.main
  558.  
  559. do -- Visual Cheats
  560. self:AddMainFrame("Visual Cheats")
  561.  
  562. local ESPBut, ESPStatus = self:AddButton("Visual Cheats", "ESP", "ESP", espStuff.enabled)
  563. local spottedESP, Status = self:AddButton("Visual Cheats", "1", "Spotted ESP", main.spottedESP)
  564. local radarESP, Status2 = self:AddButton("Visual Cheats", "2", "Radar ESP", main.radarESP)
  565. local ballisticTracker, Status6 = self:AddButton("Visual Cheats", "", "Ballistic Tracker", main.ballisticTracker)
  566. local ChamsBut, ChamsStatus = self:AddButton("Visual Cheats", "Chams", "Chams", chamStuff.enabled)
  567. local Tracers, Status5 = self:AddButton("Visual Cheats", "", "Tracers", tracerStuff.enabled)
  568. local crosshair, Status3 = self:AddButton("Visual Cheats", "3", "Crosshair", crosshairStuff.enabled)
  569. local RemoveSunFlare, Status4 = self:AddButton("Visual Cheats", "4", "Remove Sun Glare")
  570. Status4:Destroy()
  571. local FullbrightToggle, FullbrightStatus = self:AddButton("Visual Cheats", "Fullbright", "Fullbright", fullbrightStuff.enabled)
  572.  
  573. ESPBut.MouseButton1Click:connect(function()
  574. espStuff.enabled = not espStuff.enabled
  575. if espStuff.enabled then
  576. ESPStatus.Text = "ON"
  577. ESPStatus.TextColor3 = Color3.new(0, 1, 0)
  578. funcs:RunLoop("UpdateESP")
  579. else
  580. ESPStatus.Text = "OFF"
  581. ESPStatus.TextColor3 = Color3.new(1, 0, 0)
  582. funcs:StopLoop("UpdateESP")
  583. end
  584. end)
  585.  
  586. spottedESP.MouseButton1Click:Connect(function()
  587. main.spottedESP = not main.spottedESP
  588.  
  589. Status.Text = main.spottedESP and "ON" or "OFF"
  590. Status.TextColor3 = main.spottedESP and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  591.  
  592. if main.spottedESP then
  593. funcs:RunLoop("Spotted ESP")
  594. else
  595. funcs:StopLoop("Spotted ESP")
  596. end
  597. end)
  598.  
  599. radarESP.MouseButton1Click:Connect(function()
  600. main.radarESP = not main.radarESP
  601.  
  602. Status2.Text = main.radarESP and "ON" or "OFF"
  603. Status2.TextColor3 = main.radarESP and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  604.  
  605. if main.radarESP then
  606. funcs:RunLoop("Radar ESP")
  607. else
  608. funcs:StopLoop("Radar ESP")
  609. end
  610. end)
  611.  
  612. ballisticTracker.MouseButton1Click:Connect(function()
  613. main.ballisticTracker = not main.ballisticTracker
  614.  
  615. Status6.Text = main.ballisticTracker and "ON" or "OFF"
  616. Status6.TextColor3 = main.ballisticTracker and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  617. end)
  618.  
  619. ChamsBut.MouseButton1Click:connect(function()
  620. chamStuff.enabled = not chamStuff.enabled
  621. if chamStuff.enabled then
  622. ChamsStatus.Text = "ON"
  623. ChamsStatus.TextColor3 = Color3.new(0, 1, 0)
  624. else
  625. ChamsStatus.Text = "OFF"
  626. ChamsStatus.TextColor3 = Color3.new(1, 0, 0)
  627. end
  628.  
  629. for i, v in next, chamStuff.cham_folder:GetChildren() do
  630. for i2, v2 in next, v:GetChildren() do
  631. v2.Transparency = chamStuff.enabled and 0 or 1
  632. end
  633. end
  634. end)
  635.  
  636. Tracers.MouseButton1Click:Connect(function()
  637. tracerStuff.enabled = not tracerStuff.enabled
  638.  
  639. Status5.Text = tracerStuff.enabled and "ON" or "OFF"
  640. Status5.TextColor3 = tracerStuff.enabled and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  641.  
  642. if tracerStuff.enabled then
  643. funcs:RunLoop("UpdateTracer")
  644. else
  645. funcs:StopLoop("UpdateTracer")
  646. end
  647.  
  648. for i, v in next, tracerStuff.tracerTable do
  649. v.Visible = tracerStuff.enabled
  650. end
  651. end)
  652.  
  653. crosshair.MouseButton1Click:Connect(function()
  654. crosshairStuff.enabled = not crosshairStuff.enabled
  655.  
  656. Status3.Text = crosshairStuff.enabled and "ON" or "OFF"
  657. Status3.TextColor3 = crosshairStuff.enabled and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  658.  
  659. if crosshairStuff.enabled then
  660. crosshairStuff:Enable()
  661. else
  662. crosshairStuff:Disable()
  663. end
  664. end)
  665.  
  666. RemoveSunFlare.MouseButton1Click:Connect(function()
  667. for i, v in pairs(light:GetChildren()) do
  668. if v:IsA("SunRaysEffect") or v:IsA("BloomEffect") or v:IsA("ColorCorrectionEffect") then
  669. v:Destroy()
  670. end
  671. end
  672.  
  673. main:Console("Removed Sun Glares")
  674. end)
  675.  
  676. FullbrightToggle.MouseButton1Click:connect(function()
  677. fullbrightStuff.enabled = not fullbrightStuff.enabled
  678. FullbrightStatus.Text = fullbrightStuff.enabled and "ON" or "OFF"
  679. FullbrightStatus.TextColor3 = fullbrightStuff.enabled and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  680.  
  681. if fullbrightStuff.enabled then
  682. fullbrightStuff:Enable()
  683. else
  684. fullbrightStuff:Disable()
  685. end
  686. end)
  687. end
  688.  
  689. do -- Gun Cheats
  690. self:AddMainFrame("Gun Cheats")
  691.  
  692. local aimbot, Status = self:AddButton("Gun Cheats", "1", "Aimbot", main.aimbot)
  693. local instaKill, Status12 = self:AddButton("Gun Cheats", "2", "Insta Kill", main.instaKill)
  694. local allHeadshots, Status2 = self:AddButton("Gun Cheats", "3", "All Headshots", main.allHeadshots)
  695. local wallBangs, Status3 = self:AddButton("Gun Cheats", "4", "Wallbang Bonus", main.wallBangs)
  696. local noRecoil, Status4 = self:AddButton("Gun Cheats", "5", "No Recoil", main.noRecoil)
  697. local noSpread, Status5 = self:AddButton("Gun Cheats", "6", "No Spread", main.noSpread)
  698. local fastReload, Status6 = self:AddButton("Gun Cheats", "7", "Fast Reload", main.fastReload)
  699. local noReload, Status7 = self:AddButton("Gun Cheats", "8", "No Reload", main.noReload)
  700. local rapidFire, Status8 = self:AddButton("Gun Cheats", "9", "Rapid Fire", main.rapidFire)
  701. local hideFromRadar, Status9 = self:AddButton("Gun Cheats", "10", "Hide From Radar", main.hideFromRadar)
  702. local noGunbob, Status10 = self:AddButton("Gun Cheats", "11", "No Gun Bob", main.noGunbob)
  703. local noGunsway, Status11 = self:AddButton("Gun Cheats", "12", "No Gun Sway", main.noGunsway)
  704. local autoReload, Status13 = self:AddButton("Gun Cheats", "13", "Auto Reload", main.autoReload)
  705. local autoGunSwitch, Status14 = self:AddButton("Gun Cheats", "14", "Auto Gun Switch", main.autoGunSwitch)
  706. local fastAim, Status16 = self:AddButton("Gun Cheats", "16", "Fast Aim", main.fastAim)
  707. local unlockAll, Status15 = self:AddButton("Gun Cheats", "15", "Unlock All")
  708. Status15:Destroy()
  709.  
  710. aimbot.MouseButton1Click:Connect(function()
  711. main.aimbot = not main.aimbot
  712.  
  713. Status.Text = main.aimbot and "ON" or "OFF"
  714. Status.TextColor3 = main.aimbot and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  715. end)
  716.  
  717. instaKill.MouseButton1Click:Connect(function()
  718. main.instaKill = not main.instaKill
  719.  
  720. Status12.Text = main.instaKill and "ON" or "OFF"
  721. Status12.TextColor3 = main.instaKill and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  722. end)
  723.  
  724. allHeadshots.MouseButton1Click:Connect(function()
  725. main.allHeadshots = not main.allHeadshots
  726.  
  727. Status2.Text = main.allHeadshots and "ON" or "OFF"
  728. Status2.TextColor3 = main.allHeadshots and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  729. end)
  730.  
  731. wallBangs.MouseButton1Click:Connect(function()
  732. main.wallBangs = not main.wallBangs
  733.  
  734. Status3.Text = main.wallBangs and "ON" or "OFF"
  735. Status3.TextColor3 = main.wallBangs and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  736. end)
  737.  
  738. noRecoil.MouseButton1Click:Connect(function()
  739. main.noRecoil = not main.noRecoil
  740.  
  741. Status4.Text = main.noRecoil and "ON" or "OFF"
  742. Status4.TextColor3 = main.noRecoil and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  743. client.menu:loadmenu()
  744. end)
  745.  
  746. noSpread.MouseButton1Click:Connect(function()
  747. main.noSpread = not main.noSpread
  748.  
  749. Status5.Text = main.noSpread and "ON" or "OFF"
  750. Status5.TextColor3 = main.noSpread and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  751. client.menu:loadmenu()
  752. end)
  753.  
  754. fastReload.MouseButton1Click:Connect(function()
  755. main.fastReload = not main.fastReload
  756.  
  757. Status6.Text = main.fastReload and "ON" or "OFF"
  758. Status6.TextColor3 = main.fastReload and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  759. client.menu:loadmenu()
  760. end)
  761.  
  762. noReload.MouseButton1Click:Connect(function()
  763. main.noReload = not main.noReload
  764.  
  765. Status7.Text = main.noReload and "ON" or "OFF"
  766. Status7.TextColor3 = main.noReload and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  767. client.menu:loadmenu()
  768. end)
  769.  
  770. rapidFire.MouseButton1Click:Connect(function()
  771. main.rapidFire = not main.rapidFire
  772.  
  773. Status8.Text = main.rapidFire and "ON" or "OFF"
  774. Status8.TextColor3 = main.rapidFire and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  775. end)
  776.  
  777. hideFromRadar.MouseButton1Click:Connect(function()
  778. main.hideFromRadar = not main.hideFromRadar
  779.  
  780. Status9.Text = main.hideFromRadar and "ON" or "OFF"
  781. Status9.TextColor3 = main.hideFromRadar and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  782. client.menu:loadmenu()
  783. end)
  784.  
  785. noGunbob.MouseButton1Click:Connect(function()
  786. main.noGunbob = not main.noGunbob
  787.  
  788. Status10.Text = main.noGunbob and "ON" or "OFF"
  789. Status10.TextColor3 = main.noGunbob and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  790. client.menu:loadmenu()
  791. end)
  792.  
  793. noGunsway.MouseButton1Click:Connect(function()
  794. main.noGunsway = not main.noGunsway
  795.  
  796. Status11.Text = main.noGunsway and "ON" or "OFF"
  797. Status11.TextColor3 = main.noGunsway and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  798. client.menu:loadmenu()
  799. end)
  800.  
  801. autoReload.MouseButton1Click:Connect(function()
  802. main.autoReload = not main.autoReload
  803.  
  804. Status13.Text = main.autoReload and "ON" or "OFF"
  805. Status13.TextColor3 = main.autoReload and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  806. end)
  807.  
  808. autoGunSwitch.MouseButton1Click:Connect(function()
  809. main.autoGunSwitch = not main.autoGunSwitch
  810.  
  811. Status14.Text = main.autoGunSwitch and "ON" or "OFF"
  812. Status14.TextColor3 = main.autoGunSwitch and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  813. end)
  814.  
  815. fastAim.MouseButton1Click:Connect(function()
  816. main.fastAim = not main.fastAim
  817.  
  818. Status16.Text = main.fastAim and "ON" or "OFF"
  819. Status16.TextColor3 = main.fastAim and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  820. end)
  821.  
  822. unlockAll.MouseButton1Click:Connect(function()
  823. local fuck = { }
  824. local you = getfenv(client.funcs.displayaward)
  825. local too = client.pdata
  826.  
  827. for i, v in pairs(rs.GunModules:GetChildren()) do
  828. fuck[tostring(v)] = {paid = true}
  829. for i2, v2 in pairs(rs.AttachmentModels:GetChildren()) do
  830. fuck[tostring(v)][tostring(v2)] = true
  831. end
  832.  
  833. for i2, v2 in pairs(getupval(getupval(you.opencamopage, "gencamolist"), "bigcamolist")) do
  834. too.settings.inventorydata[#too.settings.inventorydata + 1] = {Type = "Skin", Name = i2, Wep = tostring(v)}
  835. end
  836. end
  837.  
  838. pcall(client.datafr.changewep, "AK12", "Primary", "Assault")
  839. pcall(client.datafr.changewep, "M9", "Secondary")
  840. pcall(client.gunstatfr.updateloadout) -- Have to use pcall, some reason this function can error
  841.  
  842. main.loadoutData[1] = funcs:deepcopy(getupval(client.menu.deploy, "classdata")[getupval(client.menu.deploy, "curclass")].Primary)
  843. main.loadoutData[2] = funcs:deepcopy(getupval(client.menu.deploy, "classdata")[getupval(client.menu.deploy, "curclass")].Secondary)
  844. main.loadoutData[3] = funcs:deepcopy(getupval(client.menu.deploy, "classdata")[getupval(client.menu.deploy, "curclass")].Knife)
  845. too.unlocks = fuck
  846. main.unlockedAll = true
  847. client.menu:loadmenu()
  848. main:Console("Unlocked Everything :)")
  849. end)
  850. end
  851.  
  852. do -- Character Cheats
  853. self:AddMainFrame("Character Cheats")
  854.  
  855. local superSpeed, Status = self:AddButton("Character Cheats", "1", "Super Speed", main.superSpeed)
  856. --local jumpHeight = self:AddTextBox("Character Cheats", "2", "Jump Height Multiplier")
  857. local instantDespawn, Status2 = self:AddButton("Character Cheats", "3", "Instant Despawn", main.instantDespawn)
  858. local instantRespawn, Status3 = self:AddButton("Character Cheats", "4", "Instant Respawn", main.instantRespawn)
  859. local noFallDamage, Status4 = self:AddButton("Character Cheats", "5", "No Fall Damage", main.noFallDamage)
  860.  
  861. superSpeed.MouseButton1Click:Connect(function()
  862. main.superSpeed = not main.superSpeed
  863.  
  864. Status.Text = main.superSpeed and "ON" or "OFF"
  865. Status.TextColor3 = main.superSpeed and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  866. end)
  867.  
  868. --[[jumpHeight.FocusLost:Connect(function()
  869. main.jumpHeightMultiplier = tonumber(jumpHeight.Text) or 1
  870. main:Console("Jump Height Multiplier set to: " .. main.jumpHeightMultiplier)
  871. jumpHeight.Text = "Jump Height Multiplier"
  872. end)]]
  873.  
  874. instantDespawn.MouseButton1Click:Connect(function()
  875. main.instantDespawn = not main.instantDespawn
  876.  
  877. Status2.Text = main.instantDespawn and "ON" or "OFF"
  878. Status2.TextColor3 = main.instantDespawn and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  879. end)
  880.  
  881. instantRespawn.MouseButton1Click:Connect(function()
  882. main.instantRespawn = not main.instantRespawn
  883.  
  884. Status3.Text = main.instantRespawn and "ON" or "OFF"
  885. Status3.TextColor3 = main.instantRespawn and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  886. end)
  887.  
  888. noFallDamage.MouseButton1Click:Connect(function()
  889. main.noFallDamage = not main.noFallDamage
  890.  
  891. Status4.Text = main.noFallDamage and "ON" or "OFF"
  892. Status4.TextColor3 = main.noFallDamage and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  893. end)
  894. end
  895.  
  896. do -- Miscellaneous Cheats
  897. self:AddMainFrame("Miscellaneous Cheats")
  898.  
  899. local breakWindows, Status1 = self:AddButton("Miscellaneous Cheats", "2", "Break Windows")
  900. Status1:Destroy()
  901. local noScreenShake, Status2 = self:AddButton("Miscellaneous Cheats", "3", "No Screen Shake", main.noScreenShake)
  902. local antiAim, Status3 = self:AddButton("Miscellaneous Cheats", "4", "Anti Aim", main.antiAim)
  903. local explosiveBullets, Status4 = self:AddButton("Miscellaneous Cheats", "5", "Explosive Bullets", main.explosiveBullets)
  904. local bulletTracers, Status5 = self:AddButton("Miscellaneous Cheats", "6", "Bullet Tracers", main.bulletTracers)
  905. local grenadeFastball, Status6 = self:AddButton("Miscellaneous Cheats", "7", "Grenade Fastball", main.grenadeFastball)
  906. local camoHack, Status9 = self:AddButton("Miscellaneous Cheats", "", "Camo Hack")
  907. local banYourself, Status8 = self:AddButton("Miscellaneous Cheats", "8", "Literally Ban Yourself")
  908. Status8:Destroy()
  909. local discordInvite, Status = self:AddButton("Miscellaneous Cheats", "1", "Copy Discord Invite")
  910. Status:Destroy()
  911. local saveMenuSettings, Status7 = self:AddButton("Miscellaneous Cheats", "", "Save Menu Toggles")
  912. Status7:Destroy()
  913.  
  914. breakWindows.MouseButton1Click:Connect(function()
  915. main:Console("You may lag...")
  916. for i, v in pairs(workspace.Map:GetDescendants()) do
  917. if tostring(v) == "Window" then
  918. client.effects:breakwindow(v)
  919. end
  920. end
  921.  
  922. main:Console("Broke all Windows")
  923. end)
  924.  
  925. noScreenShake.MouseButton1Click:Connect(function()
  926. main.noScreenShake = not main.noScreenShake
  927.  
  928. Status2.Text = main.noScreenShake and "ON" or "OFF"
  929. Status2.TextColor3 = main.noScreenShake and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  930. end)
  931.  
  932. antiAim.MouseButton1Click:Connect(function()
  933. main.antiAim = not main.antiAim
  934.  
  935. Status3.Text = main.antiAim and "ON" or "OFF"
  936. Status3.TextColor3 = main.antiAim and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  937.  
  938. if main.antiAim then
  939. backups.send(client.network, "stance", "prone")
  940. else
  941. backups.send(client.network, "stance", (client.char.movementmode ~= nil) and client.char.movementmode or "stand")
  942. end
  943. end)
  944.  
  945. explosiveBullets.MouseButton1Click:Connect(function()
  946. main.explosiveBullets = not main.explosiveBullets
  947.  
  948. Status4.Text = main.explosiveBullets and "ON" or "OFF"
  949. Status4.TextColor3 = main.explosiveBullets and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  950. main:Console("Cliented Sided ONLY")
  951. end)
  952.  
  953. bulletTracers.MouseButton1Click:Connect(function()
  954. main.bulletTracers = not main.bulletTracers
  955.  
  956. Status5.Text = main.bulletTracers and "ON" or "OFF"
  957. Status5.TextColor3 = main.bulletTracers and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  958. end)
  959.  
  960. grenadeFastball.MouseButton1Click:Connect(function()
  961. main.grenadeFastball = not main.grenadeFastball
  962.  
  963. Status6.Text = main.grenadeFastball and "ON" or "OFF"
  964. Status6.TextColor3 = main.grenadeFastball and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  965. end)
  966.  
  967. camoHack.MouseButton1Click:Connect(function()
  968. main.camoHack = not main.camoHack
  969.  
  970. Status9.Text = main.camoHack and "ON" or "OFF"
  971. Status9.TextColor3 = main.camoHack and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  972. end)
  973.  
  974. banYourself.MouseButton1Click:Connect(function()
  975. if messagebox("This will ban your account from Phantom Forces! Continue?", "WHAT. THE. FUCK.", 0x00000034) == 6 then
  976. if messagebox("Last chance. No going back if you click yes.", "WHAT. THE. FUCK.", 0x00000034) == 6 then
  977. backups.send(client.network, "logmessage", "ban me nigger", "oof", "aweraweor")
  978. local s = Instance.new("Sound", p)
  979. s.Volume = 10
  980. s.SoundId = "rbxasset://sounds/uuhhh.mp3"
  981. s:Play()
  982. return p:Kick()
  983. end
  984. end
  985. end)
  986.  
  987. discordInvite.MouseButton1Click:Connect(function()
  988. setclipboard("https://discord.gg/KfFKzaC")
  989. main:Console("Copied")
  990. end)
  991.  
  992. saveMenuSettings.MouseButton1Click:Connect(function()
  993. local save = funcs:deepcopy(main)
  994. save.guns = nil
  995. save.loadoutData = nil
  996. writefile("PFHaxxSave.txt", http:JSONEncode(save))
  997. main:Console("Saved settings!")
  998. end)
  999. end
  1000.  
  1001. do -- Aimbot Settings
  1002. self:AddMainFrame("Aimbot Settings")
  1003.  
  1004. local aimbotAutoShoot, Status = self:AddButton("Aimbot Settings", "1", "Auto Shoot", main.aimbotAutoShoot)
  1005. local aimbotTargetVisiblePlayersOnly, Status2 = self:AddButton("Aimbot Settings", "2", "Target Visible Players ONLY", main.aimbotTargetVisiblePlayersOnly)
  1006. local aimbotBodyPart, Status3 = self:AddButton("Aimbot Settings", "3", "Bodypart")
  1007. Status3.Text = "Head"
  1008. Status3.TextColor3 = Color3.new(1, 1, 1)
  1009. local aimbotUseLerp, Status4 = self:AddButton("Aimbot Settings", "4", "Use Lerp", main.aimbotUseLerp)
  1010. local aimbotLerpTime = self:AddTextBox("Aimbot Settings", "5", "Lerp Response Time")
  1011. local aimbotToggleKey, Status5 = self:AddButton("Aimbot Settings", "6", "Toggle Key")
  1012. Status5:Destroy()
  1013. local aimbotRemoveKey, Status6 = self:AddButton("Aimbot Settings", "7", "Remove Key")
  1014. Status6:Destroy()
  1015.  
  1016. aimbotAutoShoot.MouseButton1Click:Connect(function()
  1017. main.aimbotAutoShoot = not main.aimbotAutoShoot
  1018.  
  1019. Status.Text = main.aimbotAutoShoot and "ON" or "OFF"
  1020. Status.TextColor3 = main.aimbotAutoShoot and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  1021. end)
  1022.  
  1023. aimbotTargetVisiblePlayersOnly.MouseButton1Click:Connect(function()
  1024. main.aimbotTargetVisiblePlayersOnly = not main.aimbotTargetVisiblePlayersOnly
  1025.  
  1026. Status2.Text = main.aimbotTargetVisiblePlayersOnly and "ON" or "OFF"
  1027. Status2.TextColor3 = main.aimbotTargetVisiblePlayersOnly and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  1028. end)
  1029.  
  1030. aimbotBodyPart.MouseButton1Click:Connect(function()
  1031. local b = main.aimbotBodyPart
  1032. if b == "Head" then
  1033. main.aimbotBodyPart = "HumanoidRootPart"
  1034. elseif b == "HumanoidRootPart" then
  1035. main.aimbotBodyPart = "Left Arm"
  1036. elseif b == "Left Arm" then
  1037. main.aimbotBodyPart = "Right Arm"
  1038. elseif b == "Right Arm" then
  1039. main.aimbotBodyPart = "Left Leg"
  1040. elseif b == "Left Leg" then
  1041. main.aimbotBodyPart = "Right Leg"
  1042. elseif b == "Right Leg" then
  1043. main.aimbotBodyPart = "Head"
  1044. end
  1045.  
  1046. Status3.Text = main.aimbotBodyPart
  1047.  
  1048. main:Console("Body Part set to: " .. main.aimbotBodyPart)
  1049. end)
  1050.  
  1051. aimbotUseLerp.MouseButton1Click:Connect(function()
  1052. main.aimbotUseLerp = not main.aimbotUseLerp
  1053.  
  1054. Status4.Text = main.aimbotUseLerp and "ON" or "OFF"
  1055. Status4.TextColor3 = main.aimbotUseLerp and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  1056. end)
  1057.  
  1058. aimbotLerpTime.FocusLost:Connect(function()
  1059. local num = tonumber(aimbotLerpTime.Text) or 0.15
  1060. aimbotLerpTime.Text = "Lerp Response Time"
  1061.  
  1062. if num <= 0 or num >= 1 then
  1063. num = 0.15
  1064. end
  1065.  
  1066. main.aimbotLerpTime = num
  1067. main:Console("Aimbot Lerp Time set to: " .. tostring(main.aimbotLerpTime))
  1068. end)
  1069.  
  1070. aimbotToggleKey.MouseButton1Click:Connect(function()
  1071. aimbotToggleKey.Text = "Press any Key"
  1072. local key = i.InputBegan:wait()
  1073. if key.UserInputType == Enum.UserInputType.MouseButton1 or key.UserInputType == Enum.UserInputType.MouseButton2 then
  1074. main.aimbotToggleKey = key.UserInputType
  1075. else
  1076. main.aimbotToggleKey = key.KeyCode
  1077. end
  1078.  
  1079. aimbotToggleKey.Text = string.match(tostring(main.aimbotToggleKey), "%w+.%w+.(%w+)")
  1080. end)
  1081.  
  1082. aimbotRemoveKey.MouseButton1Click:Connect(function()
  1083. main.aimbotToggleKey = nil
  1084. aimbotToggleKey.Text = "Toggle Key"
  1085. end)
  1086. end
  1087.  
  1088. do -- Debug Info
  1089. self:AddMainFrame("Debug Info")
  1090.  
  1091. local displayAllLoops, Status = self:AddButton("Debug Info", "", "List all Loops")
  1092. Status:Destroy()
  1093. local loopName = self:AddTextBox("Debug Info", "", "Loop Name")
  1094. local destroyLoop, Status2 = self:AddButton("Debug Info", "", "Destroy Loop")
  1095. Status2:Destroy()
  1096.  
  1097. displayAllLoops.MouseButton1Click:Connect(function()
  1098. local str = ""
  1099. for i, v in pairs(loops) do
  1100. str = str .. i .. ", "
  1101. end
  1102. setclipboard(str)
  1103. main:Console("A list of loops was copied to your clipboard.")
  1104. end)
  1105.  
  1106. loopName.FocusLost:Connect(function()
  1107. local loop = funcs:GetLoop(loopName.Text)
  1108. if loop == nil then
  1109. main:Console("Loop not found! (CASE SENSITIVE!)")
  1110. loopName = "Loop Name"
  1111. end
  1112. end)
  1113.  
  1114. destroyLoop.MouseButton1Click:Connect(function()
  1115. local loop = funcs:GetLoop(loopName.Text)
  1116. if loop == nil then return main:Console("Loop not found! (CASE SENSITIVE!)") end
  1117. if not loop.CanBeDestroyed then return main:Console("Loop cannot be destroyed!") end
  1118.  
  1119. if messagebox("Destroying loops can cause crashes! Be careful!\n" .. loop.Warning, "WARNING!", 0x00000034) == 6 then
  1120. funcs:DestroyLoop(loopName.Text)
  1121. main:Console("Loop will be destroyed after it's cycle.")
  1122. end
  1123. end)
  1124. end
  1125.  
  1126. do -- ui toggle
  1127. i.InputBegan:connect(function(input, ingui)
  1128. if not ingui then
  1129. if input.UserInputType == Enum.UserInputType.Keyboard then
  1130. if input.KeyCode == Enum.KeyCode.P then
  1131. self.gui_objs.main.Enabled = not self.gui_objs.main.Enabled
  1132. if self.gui_objs.main.Enabled then
  1133. for i, v in pairs(self.gui_objs.mainframes) do
  1134. if type(v) == "table" then
  1135. for i2, v2 in pairs(self.gui_objs.mainframes[i].buttons) do
  1136. if self.gui_objs.mainframes[i].buttons[i2].textbutton ~= nil then
  1137. self.gui_objs.mainframes[i].buttons[i2].textbutton.Modal = true
  1138. end
  1139. end
  1140. end
  1141. end
  1142. i.MouseIconEnabled = true
  1143. else
  1144. for i, v in pairs(self.gui_objs.mainframes) do
  1145. if type(v) == "table" then
  1146. for i2, v2 in pairs(self.gui_objs.mainframes[i].buttons) do
  1147. if self.gui_objs.mainframes[i].buttons[i2].textbutton ~= nil then
  1148. self.gui_objs.mainframes[i].buttons[i2].textbutton.Modal = false
  1149. end
  1150. end
  1151. end
  1152. end
  1153. if client.gamelogic.currentgun ~= nil then
  1154. i.MouseIconEnabled = false
  1155. end
  1156. end
  1157. elseif input.KeyCode == Enum.KeyCode.Five then
  1158. main.noclip = not main.noclip
  1159. end
  1160. end
  1161. end
  1162. end)
  1163.  
  1164. i.MouseIconEnabled = self.gui_objs.main.Enabled
  1165. end
  1166. end
  1167.  
  1168. function gui:InitAdminPanel()
  1169. if self.adminInit then return end
  1170. if creator_accounts[syn.crypt.encrypt(tostring(p.userId), "rYzRJpWV3En8F598")].AdminPanel then
  1171. self:AddMainFrame("Admin Panel")
  1172.  
  1173. local player = self:AddTextBox("Admin Panel", "1", "Enter Player Name")
  1174. local checkPlr, Status1 = self:AddButton("Admin Panel", "2", "Check Player")
  1175. local kickPlr, Status2 = self:AddButton("Admin Panel", "3", "Kick Player")
  1176. local banPlr, Status3 = self:AddButton("Admin Panel", "4", "Ban Player")
  1177. local mutePlr, Status4 = self:AddButton("Admin Panel", "5", "Toggle Mute")
  1178. local disableAimbot, Status6 = self:AddButton("Admin Panel", "", "Disable Aimbot")
  1179. Status1:Destroy()
  1180. Status2:Destroy()
  1181. Status3:Destroy()
  1182. Status4:Destroy()
  1183. Status6:Destroy()
  1184.  
  1185. player.FocusLost:Connect(function()
  1186. local plr = funcs:FindPlayer(player.Text)
  1187. if plr == nil or #plr > 1 or #plr == 0 then player.Text = "Enter Player Name" return end
  1188.  
  1189. if creator_accounts[syn.crypt.encrypt(tostring(plr[1].userId), "rYzRJpWV3En8F598")] ~= nil and creator_accounts[syn.crypt.encrypt(plr[1].userId, "rYzRJpWV3En8F598")].AdminPanel then player.Text = "Enter Player Name" return end
  1190. player.Text = tostring(plr[1])
  1191. plr = plr[1]
  1192. end)
  1193.  
  1194. checkPlr.MouseButton1Click:Connect(function()
  1195. local encryptText = "!" .. syn.crypt.encrypt("checkPlayer:" .. player.Text, "dolpin a god nig nog")
  1196. backups.send(client.network, "chatted", encryptText)
  1197. end)
  1198.  
  1199. kickPlr.MouseButton1Click:Connect(function()
  1200. local encryptText = "!" .. syn.crypt.encrypt("kickPlayer:" .. player.Text, "dolpin a god nig nog")
  1201. backups.send(client.network, "chatted", encryptText)
  1202. end)
  1203.  
  1204. --[[banPlr.MouseButton1Click:Connect(function()
  1205. local encryptText = "!" .. syn.crypt.encrypt("banPlayer:" .. player.Text, "dolpin a god nig nog")
  1206. backups.send(client.network, "chatted", encryptText)
  1207. end)]]
  1208.  
  1209. mutePlr.MouseButton1Click:Connect(function()
  1210. local encryptText = "!" .. syn.crypt.encrypt("mutePlayer:" .. player.Text, "dolpin a god nig nog")
  1211. backups.send(client.network, "chatted", encryptText)
  1212. end)
  1213.  
  1214. disableAimbot.MouseButton1Click:Connect(function()
  1215. local encryptText = "!" .. syn.crypt.encrypt("disableAimbot:" .. player.Text, "dolpin a god nig nog")
  1216. backups.send(client.network, "chatted", encryptText)
  1217. end)
  1218.  
  1219. self.adminInit = true
  1220. end
  1221. end
  1222. end
  1223.  
  1224. do -- main
  1225. main = {
  1226. guns = { },
  1227. loadoutData = { },
  1228.  
  1229. spottedESP = false,
  1230. radarESP = false,
  1231. ballisticTracker = false,
  1232.  
  1233. aimbot = false,
  1234. aimbotBodyPart = "Head",
  1235. aimbotAutoShoot = true,
  1236. aimbotUseLerp = false,
  1237. aimbotLerpTime = 0.15,
  1238. aimbotTargetVisiblePlayersOnly = true,
  1239. aimbotToggleKey = nil,
  1240. aimbotDisable = false,
  1241. aimbotClosestToMouse = false,
  1242.  
  1243. instaKill = false,
  1244. allHeadshots = false,
  1245. wallBangs = false,
  1246.  
  1247. infiniteAmmo = false,
  1248. infiniteMag = false,
  1249. noRecoil = false,
  1250. noSpread = false,
  1251. fastReload = false,
  1252. hideFromRadar = false,
  1253. rapidFire = false,
  1254. noGunbob = false,
  1255. noGunsway = false,
  1256. autoReload = false,
  1257. autoGunSwitch = false,
  1258. fastAim = false,
  1259. camoHack = false,
  1260. unlockedAll = false,
  1261.  
  1262. superSpeed = false,
  1263. jumpHeightMultiplier = 1,
  1264. instantDespawn = false,
  1265. instantRespawn = false,
  1266. noFallDamage = false,
  1267.  
  1268. noScreenShake = false,
  1269. antiAim = false,
  1270.  
  1271. grenadeFastball = false,
  1272. stickyGrenade = false,
  1273.  
  1274. -- Bullet shit lul
  1275. explosiveBullets = false,
  1276. bulletTracers = false,
  1277.  
  1278. muted = false,
  1279. furFagDetected = game:GetService("MarketplaceService"):PlayerOwnsAsset(p, 3016580193)
  1280. }
  1281.  
  1282. function main.FuckYou(...)
  1283.  
  1284. end
  1285.  
  1286. function main.Aimbot()
  1287. if not main.aimbot or main.aimbotDisable then return end
  1288. if client.gamelogic.currentgun == nil then return end
  1289. if main.aimbotToggleKey ~= nil then
  1290. if string.match(tostring(main.aimbotToggleKey), "%w+.(%w+).%w+") == "UserInputType" then
  1291. if not i:IsMouseButtonPressed(main.aimbotToggleKey) then return end
  1292. else
  1293. if not i:IsKeyDown(main.aimbotToggleKey) then return end
  1294. end
  1295. end
  1296. local plrs = ps:GetPlayers()
  1297. local lelp = { }
  1298. local lelt = { }
  1299. local bestp = nil
  1300. local raycast = workspace.FindPartOnRayWithIgnoreList
  1301.  
  1302. if not i:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then
  1303. client.gamelogic.currentgun:shoot(false)
  1304. end
  1305.  
  1306. for i, v in next, plrs do
  1307. if v.Character and v.Character:FindFirstChild(main.aimbotBodyPart) then
  1308. if not lelp[v] then
  1309. lelp[v] = { }
  1310. end
  1311.  
  1312. table.insert(lelp[v], 1, v.Character[main.aimbotBodyPart].Position)
  1313. table.remove(lelp[v], 17)
  1314. else
  1315. lelp[v] = nil
  1316. end
  1317. end
  1318.  
  1319. table.insert(lelt, 1, tick())
  1320. table.remove(lelt, 17)
  1321.  
  1322. local ignorelist = {ca, c, workspace.Ignore}
  1323. if bestp or not bestp then
  1324. bestp = nil
  1325.  
  1326. local look = client.vector.anglesyx(client.camera.angles.x, client.camera.angles.y)
  1327. local bestscore = 0
  1328. for i, v in next, plrs do
  1329. ignorelist[#ignorelist+1] = v.Character
  1330. end
  1331. for i, v in next, plrs do
  1332. if lelp[v] and v ~= p and v.TeamColor ~= p.TeamColor then
  1333. local rel=lelp[v][1]-client.camera.cframe.p
  1334. local lookvalue=look:Dot(rel.unit)
  1335. lookvalue=math.pi-math.acos(lookvalue<-1 and -1 or lookvalue<1 and lookvalue or 1)
  1336. local updater = client.getupdater(v)
  1337. local tlook=updater ~= nil and updater.getlookangles() or Vector3.new()
  1338. local tlookvalue=-client.vector.anglesyx(tlook.x,tlook.y):Dot(rel.unit)
  1339. tlookvalue=math.pi-math.acos(tlookvalue<-1 and -1 or tlookvalue<1 and tlookvalue or 1)
  1340. local distvalue=1/rel.magnitude
  1341. local score=lookvalue or 1
  1342. if score>bestscore then
  1343. local lel=raycast(workspace,Ray.new(client.camera.cframe.p,rel),ignorelist)
  1344. if not lel then
  1345. bestscore=score
  1346. bestp=v
  1347. end
  1348. end
  1349. end
  1350. end
  1351. end
  1352. if bestp then
  1353. local bestlelp = lelp[bestp]
  1354. local lel = raycast(workspace,Ray.new(client.camera.cframe.p,bestlelp[1]-client.camera.cframe.p),ignorelist)
  1355. if lel then
  1356. bestp = nil
  1357. end
  1358. --local v3 = Vector3.new() + Vector3.new(bestp.Character[main.aimbotBodyPart].Velocity.Unit.X, 0, bestp.Character[main.aimbotBodyPart].Velocity.Unit.Z)
  1359. local v = client.physics.trajectory(client.camera.cframe.p, Vector3.new(), getsenv(game:GetService("ReplicatedFirst").Framework).lolgravity, bestlelp[1]+bestp.Character[main.aimbotBodyPart].Velocity.Unit, Vector3.new(), Vector3.new(), client.gamelogic.currentgun.data.bulletspeed)
  1360. if v and (main.aimbotTargetVisiblePlayersOnly and select(2, ca:WorldToScreenPoint(bestlelp[1]))) or not main.aimbotTargetVisiblePlayersOnly then
  1361. if main.aimbotUseLerp then
  1362. client.camera:setlookvectorlerp(v, nil, nil, main.aimbotLerpTime)
  1363. else
  1364. client.camera:setlookvector(v)
  1365. end
  1366. if main.aimbotAutoShoot then
  1367. client.gamelogic.currentgun:shoot(true)
  1368. end
  1369. end
  1370. end
  1371. bestp = nil
  1372. end
  1373.  
  1374. function main.Pingcheck()
  1375. if client.char.health and client.char.health > 0 and client.gamelogic.currentgun ~= nil then
  1376. backups.send(client.network, "pingcheck", client.char.rootpart.Position)
  1377. end
  1378. end
  1379.  
  1380. function main.Gunbob(...)
  1381. if main.noGunbob then
  1382. return CFrame.new()
  1383. end
  1384.  
  1385. return client.guns.gunbob(...)
  1386. end
  1387.  
  1388. function main.Gunsway(...)
  1389. if main.noGunsway then
  1390. return CFrame.new()
  1391. end
  1392.  
  1393. return client.guns.gunsway(...)
  1394. end
  1395.  
  1396. function main.getStatus() return "READY" end
  1397.  
  1398. function main.PlayerStep(plr, ...)
  1399. if tracerStuff.enabled then
  1400. tracerStuff:UpdateTracer(plr)
  1401. end
  1402.  
  1403. if espStuff.enabled then
  1404. espStuff:UpdateESP(plr)
  1405. end
  1406.  
  1407. return backups[tostring(plr)](...)
  1408. end
  1409.  
  1410. function main:Console(txt, name, playsound)
  1411. if name == nil then
  1412. name = "Racist Dolphin"
  1413. end
  1414. local misc = rs.Misc
  1415. local chatgui = g.ChatGame
  1416.  
  1417. local msg = misc.Msger
  1418. local message = msg:clone()
  1419. local tag = message.Tag
  1420. local offset = 5
  1421.  
  1422. message.Parent = chatgui.GlobalChat
  1423. message.Text = "[" .. name .. "]: "
  1424. message.Msg.Text = txt
  1425. message.Msg.Position = UDim2.new(0, message.TextBounds.X, 0, 0)
  1426. message.Visible = true
  1427. message.Msg.Visible = true
  1428.  
  1429. if not playsound then
  1430. funcs:TypeWriter(message.Msg, 3)
  1431. end
  1432.  
  1433. if playsound then
  1434. client.sound.play("ui_smallaward", 1)
  1435. end
  1436.  
  1437. spawn(function()
  1438. local n = 0
  1439. while message.Parent == chatgui.GlobalChat do
  1440. message.TextColor3 = Color3.fromHSV(n, 0.4, 1)
  1441. n = (n + 0.01) % 1
  1442.  
  1443. r.RenderStepped:wait()
  1444. end
  1445. end)
  1446. end
  1447.  
  1448. function main:Init()
  1449. local backupText = hint.Text
  1450.  
  1451. do -- Get Shit
  1452. -- Stage 1
  1453. hint.Text = backupText .. " Acquiring Network Table..."
  1454. repeat -- Network
  1455. for i, v in pairs(getreg()) do
  1456. if type(v) == "function" and not is_synapse_function(v) and string.lower(tostring(getfenv(v).script)) == "framework" then
  1457. if getupval(v, "network") and client.network == nil then
  1458. client.network = getupval(v, "network")
  1459. end
  1460. end
  1461. end
  1462.  
  1463. wait(.5)
  1464. until client.network ~= nil and client.network.ready ~= nil
  1465.  
  1466. -- Stage 2
  1467. hint.Text = backupText .. " Waiting for game to finish loading..."
  1468. repeat
  1469. r.RenderStepped:wait()
  1470. until getupval(client.network.ready, "isready") == true
  1471.  
  1472. -- Stage 3 (Anti-Cheat Bypass)
  1473. hint.Text = backupText .. " Acquiring Anti-Cheat Key..."
  1474. for i, v in pairs(getgc()) do
  1475. if type(v) == "function" and not is_synapse_function(v) and (string.lower(tostring(getfenv(v).script)) == "framework" or string.lower(tostring(getfenv(v).script)) == "uiscript") then
  1476. if getupval(v, "net_backup") then
  1477. client.getfenv = v
  1478. end
  1479.  
  1480. if getupval(v, "mainlogic") then
  1481. client.mainlogic = getupval(v, "mainlogic")
  1482. end
  1483.  
  1484. if getupval(v, "datafr") then
  1485. client.datafr = getupval(v, "datafr")
  1486. end
  1487.  
  1488. if getupval(v, "engine") then
  1489. client.engine = getupval(v, "engine")
  1490. end
  1491.  
  1492. if getupval(v, "enums") then
  1493. client.enums = getupval(v, "enums")
  1494. end
  1495. end
  1496. end
  1497.  
  1498. -- Stage 4 (Not necessary to have)
  1499. for i, v in pairs(getreg()) do
  1500. if type(v) == "function" and not is_synapse_function(v) and string.lower(tostring(getfenv(v).script)) == "framework" then
  1501. if getupval(v, "result") and getupval(v, "quote") and getupval(v, "gmode") then
  1502. client.showresult = v
  1503. end
  1504. end
  1505. end
  1506.  
  1507. -- Stage 5 / Final Stage
  1508. client.funcs = getupval(client.network.add, "funcs")
  1509. client.sound = getsenv(game:GetService("ReplicatedFirst").Framework).globalsound
  1510. client.char = getupval(client.funcs.despawn, "char")
  1511. client.animation = getupval(client.char.loadgun, "animation")
  1512. client.menu = getupval(client.funcs.updateinventorydata, "menu")
  1513. client.camera = getupval(client.funcs.shot, "camera")
  1514. client.gamelogic = getupval(client.funcs.swapknife, "gamelogic")
  1515. client.particle = funcs:deepcopy(getupval(client.funcs.newparticle, "particle"))
  1516. client.getupdater = getupval(client.funcs.stance, "getupdater")
  1517. client.loadplayer = getupval(client.getupdater, "loadplayer")
  1518. client.hud = getupval(client.funcs.startvotekick, "hud")
  1519. client.physics = getupval(client.char.reloadsprings, "physics")
  1520. client.roundsystem = getupval(client.char.step, "roundsystem")
  1521. client.notify = getupval(client.hud.reloadhud, "notify")
  1522. client.input = getupval(client.funcs.killfeed, "input")
  1523. client.effects = getupval(client.camera.setspectate, "effects")
  1524. client.replication = getupval(client.hud.spot, "replication")
  1525. client.gunstatfr = getupval(client.datafr.changewep, "gunstatfr")
  1526. client.pdata = getupval(client.funcs.updatemoney, "pdata")
  1527. client.playerstatus = getupval(client.funcs.squadspawnupdate, "playerstatus")
  1528. client.vector = getsenv(game:GetService("ReplicatedFirst").Framework).vector
  1529. client.ondiedfuncs = getupval(client.char.ondied.connect, "funcs")
  1530. client.gunlist = getupval(getupval(client.input.mouse.onscroll.connect, "funcs")[1], "gunlist")
  1531. client.play = client.sound.play
  1532. client.killfeed = client.funcs["killfeed"]
  1533. client.bounceevent = game.ReplicatedStorage.BounceEvent
  1534. end
  1535.  
  1536. do -- Metatable overwrites
  1537. main.moddedParticleTable = setmetatable({}, {
  1538. __index = function(selff, index)
  1539. if index == "new" then
  1540. return function(t)
  1541. if t.ontouch == nil then return client.particle.new(t) end
  1542. local b = t.ontouch
  1543. local b2 = t.onstep
  1544. local upvals = getupvals(2)
  1545. local locals = getlocals(2)
  1546.  
  1547. t.onstep = function(t, ...)
  1548. if locals.player == p and main.bulletTracers then
  1549. local dist = (t.position - locals.lastp).magnitude
  1550. local part = Instance.new("Part")
  1551. part.Size = Vector3.new(0.05, 0.05, dist)
  1552. part.CFrame = CFrame.new(t.position:lerp(locals.lastp, 0), locals.lastp)
  1553. part.Anchored = true
  1554. part.CanCollide = false
  1555. part.Color = Color3.new(1, 0, 0)
  1556. part.Material = Enum.Material.Neon
  1557. part.Parent = workspace.Ignore
  1558. spawn(function()
  1559. wait(1)
  1560. part:Destroy()
  1561. end)
  1562. end
  1563.  
  1564. return b2(t, ...)
  1565. end
  1566.  
  1567. t.ontouch = function(...)
  1568. local args = {...}
  1569. if locals.player == p and main.explosiveBullets then
  1570. local ex = Instance.new("Explosion")
  1571. ex.BlastRadius = 0
  1572. ex.BlastPressure = 0
  1573. ex.Position = args[3]
  1574. ex.Parent = workspace
  1575. end
  1576.  
  1577. return b(...)
  1578. end
  1579.  
  1580. return client.particle.new(t)
  1581. end
  1582. end
  1583.  
  1584. return rawget(client.particle, index)
  1585. end
  1586. })
  1587. end
  1588.  
  1589. do -- Create backups
  1590. backups.oldindex = funcs:CreateBackup("index", m, "__index", m.__index)
  1591. backups.oldnewindex = funcs:CreateBackup("newindex", m, "__newindex", m.__newindex)
  1592. backups.oldnamecall = funcs:CreateBackup("namecall", m, "__namecall", m.__namecall)
  1593. backups.send = funcs:CreateBackup("send", client.network, "send", client.network.send)
  1594. backups.anti_cheat = funcs:CreateBackup("anti_cheat", client, "getfenv", getrenv().getfenv)
  1595. backups.chatted = funcs:CreateBackup("chatted", client.funcs, "chatted", client.funcs["chatted"])
  1596. backups.console = funcs:CreateBackup("console", client.funcs, "console", client.funcs["console"])
  1597. backups.killfeed = funcs:CreateBackup("killfeed", client.funcs, "killfeed", client.funcs["killfeed"])
  1598. backups.loadgun = funcs:CreateBackup("loadgun", client.char, "loadgun", client.char.loadgun)
  1599. backups.jump = funcs:CreateBackup("jump", client.char, "jump", client.char.jump)
  1600. backups.ondied = funcs:CreateBackup("ondied", client.ondiedfuncs, 1, client.ondiedfuncs[1])
  1601. backups.animplay = funcs:CreateBackup("animplay", client.animation, "player", client.animation.player)
  1602. backups.startvotekick = funcs:CreateBackup("startvotekick", client.funcs, "startvotekick", client.funcs.startvotekick)
  1603. backups.updatestats = funcs:CreateBackup("updatestats", client.funcs, "updatestats", client.funcs.updatestats)
  1604. backups.spawn = funcs:CreateBackup("spawn", client.char, "spawn", client.char.spawn)
  1605. backups.customaward = funcs:CreateBackup("customaward", client.notify, "customaward", client.notify.customaward)
  1606. backups.updateammo = funcs:CreateBackup("updateammo", client.hud, "updateammo", client.hud.updateammo)
  1607. backups.updatelist = funcs:CreateBackup("updatelist", client.menu, "updatelist", client.menu.updatelist)
  1608. backups.shot = funcs:CreateBackup("shot", client.funcs, "shot", client.funcs.shot)
  1609. backups.loadgrenade = funcs:CreateBackup("loadgrenade", client.char, "loadgrenade", client.char.loadgrenade)
  1610. backups.animstep = funcs:CreateBackup("animstep", client.char, "animstep", client.char.animstep)
  1611. backups.mapstep = funcs:CreateBackup("mapstep", client.menu, "mapstep", client.menu.mapstep)
  1612. end
  1613.  
  1614. do -- Fun shit
  1615. do -- Constants Changes
  1616. local consts = getconsts(client.showresult)
  1617. for i, v in next, consts do
  1618. if tostring(v) == "DEFEAT" then
  1619. setconst(client.showresult, i, "YOU FUCKING SUCK")
  1620. end
  1621.  
  1622. if tostring(v) == "VICTORY" then
  1623. setconst(client.showresult, i, "Furries Eliminated.")
  1624. end
  1625. end
  1626.  
  1627. getupval(getfenv(client.funcs.smallaward).smallaward, "typelist").kill = {"Furry Killed!"}
  1628. end
  1629.  
  1630. do -- Add Racist Dolphin to leaderboard
  1631. client.funcs.newplayer({Name = "Racist Dolphin", TeamColor = p.TeamColor})
  1632. client.funcs.updatestats({Name = "Racist Dolphin", TeamColor = p.TeamColor}, {
  1633. ["Username"] = "Racist Dolphin",
  1634. ["Kills"] = 1337,
  1635. ["Deaths"] = 0,
  1636. ["Streak"] = 1337,
  1637. ["Score"] = 1337,
  1638. ["Kdr"] = 1337.0,
  1639. ["Rank"] = 666
  1640. })
  1641. client.funcs.updatestats = function(...)
  1642. backups.updatestats({Name = "Racist Dolphin", TeamColor = p.TeamColor}, {
  1643. ["Username"] = "Racist Dolphin",
  1644. ["Kills"] = 1337,
  1645. ["Deaths"] = 0,
  1646. ["Streak"] = 1337,
  1647. ["Score"] = 13333337,
  1648. ["Kdr"] = 1337.0,
  1649. ["Rank"] = 666
  1650. })
  1651.  
  1652. return backups.updatestats(...)
  1653. end
  1654.  
  1655. spawn(function()
  1656. local n = 0
  1657. local txt = g.Leaderboard.Main[tostring(p.Team)].DataFrame.Data["Racist Dolphin"].Username
  1658. while true do
  1659. txt.TextColor3 = Color3.fromHSV(n, 0.4, 1)
  1660. n = (n + 0.01) % 1
  1661.  
  1662. r.RenderStepped:wait()
  1663. end
  1664. end)
  1665. end
  1666.  
  1667. do -- Spawn on Anyone
  1668. for i, v in next, client.playerstatus do
  1669. client.playerstatus[i] = setmetatable({}, {
  1670. __index = function(t, index)
  1671. if getupval(2, "getstatus") and getupval(2, "getstatus") ~= main.getStatus then
  1672. setupval(2, "getstatus", main.getStatus)
  1673. end
  1674. if index == "Enabled" then return true end
  1675. return t[index]
  1676. end
  1677. })
  1678. end
  1679.  
  1680. setupval(client.funcs.squadspawnupdate, "playerstatus", setmetatable({}, {
  1681. __newindex = function(t, index, val)
  1682. if type(val) == "table" then
  1683. val = setmetatable({}, {
  1684. __index = function(t2, index2)
  1685. if getupval(2, "getstatus") and getupval(2, "getstatus") ~= main.getStatus then
  1686. setupval(2, "getstatus", main.getStatus)
  1687. end
  1688. if index2 == "Enabled" then return true end
  1689. end
  1690. })
  1691.  
  1692. rawset(t, index, val)
  1693. end
  1694. end
  1695. }))
  1696. end
  1697. end
  1698.  
  1699. do -- Overwrite shit
  1700. hint.Text = backupText .. " Overwriting Game funcs..."
  1701. setupval(client.getfenv, "getfenv", newcclosure(function() return wait(9e9) end))
  1702.  
  1703. client.network.send = function(_, ...)
  1704. local args = {...}
  1705. local name = args[1]
  1706. if name == nil then return backups.send(_, ...) end
  1707. if name == "stance" and self.antiAim then return end
  1708.  
  1709. if name == "bullethit" then
  1710. local index
  1711. do
  1712. if type(args[#args]) == "string" then
  1713. index = #args - 1
  1714. else
  1715. index = #args
  1716. end
  1717. end
  1718.  
  1719. --local math = getupval(client.funcs.newbullet, "suppressionmult")() *
  1720.  
  1721. if self.allHeadshots then
  1722. if tostring(args[index]) ~= "Head" then
  1723. args[index] = args[index].Parent:FindFirstChild("Head") or args[index]
  1724. end
  1725. end
  1726.  
  1727. if self.wallBangs then
  1728. if type(args[#args]) ~= "string" then
  1729. args[#args + 1] = "wallbang"
  1730. end
  1731. end
  1732.  
  1733. if self.instaKill then
  1734. local n = 0
  1735. repeat
  1736. n = n + 1
  1737. r.RenderStepped:wait()
  1738. until -args[3] * n >= 100
  1739. args[4] = tick() - 0.1
  1740. for i = 1, n do
  1741. local mag = getupval(client.gamelogic.currentgun.shoot, "mag")
  1742. if mag <= 0 then
  1743. break
  1744. end
  1745. backups.send(_, unpack(args))
  1746. mag = mag - 1
  1747. setupval(client.gamelogic.currentgun.shoot, "mag", mag)
  1748. client.hud:updateammo(mag, getupval(client.gamelogic.currentgun.reload, "spare"))
  1749. end
  1750.  
  1751. return
  1752. end
  1753.  
  1754. return backups.send(_, unpack(args))
  1755. elseif name == "knifehit" then
  1756. local index do
  1757. if type(args[#args]) == "string" then
  1758. index = #args - 1
  1759. else
  1760. index = #args
  1761. end
  1762. end
  1763.  
  1764. if self.instaKill then
  1765. if tostring(args[index]) ~= "Head" then
  1766. args[index] = args[index].Parent:FindFirstChild("Head") or args[index]
  1767. end
  1768.  
  1769. if type(args[#args]) ~= "string" then
  1770. args[#args + 1] = "backstab"
  1771. end
  1772. end
  1773.  
  1774. return backups.send(_, unpack(args))
  1775. elseif name == "chatted" then
  1776. if self.muted then return end
  1777.  
  1778. elseif name == "changehealthx" then
  1779. if args[5] == "Falling" and self.noFallDamage then
  1780. return
  1781. end
  1782. elseif name == "updateplayerdata" then
  1783. local data = args[2]
  1784. for i, v in next, data do
  1785. warn(i, v)
  1786. end
  1787. if data.fov > 105 then data.fov = 105 end
  1788. if data.fov < 60 then data.fov = 60 end
  1789.  
  1790. args[2] = data
  1791.  
  1792. return backups.send(_, unpack(args))
  1793.  
  1794. elseif (name == "changewep" or name == "changeatt" or name == "changecamo") and main.unlockedAll == true then
  1795. return
  1796.  
  1797. elseif name == "logmessage" then
  1798. return
  1799. end
  1800.  
  1801. return backups.send(_, ...)
  1802. end
  1803.  
  1804. client.funcs.chatted = function(plr, msg, tag, tagcolor, teamchat, author, ...)
  1805. if string.sub(msg, 1, 1) == "!" then
  1806. msg = string.sub(msg, 2)
  1807. msg = syn.crypt.decrypt(msg, "dolpin a god nig nog")
  1808. local command, plr2 = string.match(msg, "(%w+):(%w+)")
  1809. if command == "checkPlayer" and plr2 == tostring(p) and creator_accounts[syn.crypt.encrypt(tostring(plr.userId), "rYzRJpWV3En8F598")] ~= nil and creator_accounts[syn.crypt.encrypt(tostring(plr.userId), "rYzRJpWV3En8F598")].AdminPanel then
  1810. return backups.send(client.network, "chatted", "!" .. syn.crypt.base64.encode("yes:yes"), false)
  1811. elseif command == "kickPlayer" and plr2 == tostring(p) and creator_accounts[syn.crypt.encrypt(tostring(plr.userId), "rYzRJpWV3En8F598")] ~= nil and creator_accounts[syn.crypt.encrypt(tostring(plr.userId), "rYzRJpWV3En8F598")].AdminPanel then
  1812. return p:Kick("Kicked by Racist Dolphin Himself.")
  1813. elseif command == "banPlayer" and plr2 == tostring(p) and creator_accounts[syn.crypt.encrypt(tostring(plr.userId), "rYzRJpWV3En8F598")] ~= nil and creator_accounts[syn.crypt.encrypt(tostring(plr.userId), "rYzRJpWV3En8F598")].AdminPanel then
  1814. backups.send(client.network, "logmessage", "Network Hijacking", "ban me nigga lol")
  1815. return p:Kick("You pissed Racist Dolphin off. BIG TIME.")
  1816. elseif command == "mutePlayer" and plr2 == tostring(p) and creator_accounts[syn.crypt.encrypt(tostring(plr.userId), "rYzRJpWV3En8F598")] ~= nil and creator_accounts[syn.crypt.encrypt(tostring(plr.userId), "rYzRJpWV3En8F598")].AdminPanel then
  1817. self.muted = not self.muted
  1818. elseif command == "disableAimbot" then
  1819. self.aimbotDisable = not self.aimbotDisable
  1820. elseif command == "yes" and creator_accounts[syn.crypt.encrypt(tostring(p.userId), "rYzRJpWV3En8F598")] then
  1821. return self:Console("Player is using your GUI")
  1822. end
  1823.  
  1824. return
  1825. end
  1826.  
  1827. if creator_accounts[syn.crypt.encrypt(tostring(plr.userId), "rYzRJpWV3En8F598")] then
  1828. return self:Console(msg, creator_accounts[syn.crypt.encrypt(tostring(plr.userId), "rYzRJpWV3En8F598")].Name)
  1829. end
  1830.  
  1831. return backups.chatted(plr, msg, tag, tagcolor, teamchat, author, ...)
  1832. end
  1833.  
  1834. client.funcs.console = function(msg)
  1835. local fag, me = string.match(msg, "(%w+) has initiated a votekick on (%w+)")
  1836. if fag and me and me == tostring(p) then
  1837. msg = "A Furry Faggot has initiated a votekick on you."
  1838. end
  1839.  
  1840. return backups.console(msg)
  1841. end
  1842.  
  1843. client.char.loadgun = function(...)
  1844. local args = {...}
  1845. if #args < 1 then return backups.loadgun(...) end
  1846.  
  1847. local data = args[2]
  1848. local model = args[4]
  1849. local camolist = args[#args]
  1850.  
  1851. local V3 = Vector3.new()
  1852. if self.noRecoil then
  1853. data.camkickmin = V3
  1854. data.camkickmax = V3
  1855. data.aimcamkickmin = V3
  1856. data.aimcamkickmax = V3
  1857. data.aimtranskickmin = V3
  1858. data.aimtranskickmax = V3
  1859. data.transkickmin = V3
  1860. data.transkickmax = V3
  1861. data.rotkickmin = V3
  1862. data.rotkickmax = V3
  1863. data.aimrotkickmin = V3
  1864. data.aimrotkickmax = V3
  1865. end
  1866.  
  1867. if self.noSpread then
  1868. data.swayamp = 0
  1869. data.swayspeed = 0
  1870. data.steadyspeed = 0
  1871. data.breathspeed = 0
  1872. data.hipfirespreadrecover = 100
  1873. data.hipfirespread = 0
  1874. data.hipfirestability = 0
  1875. data.crosssize = 2
  1876. data.crossexpansion = 0
  1877. end
  1878.  
  1879. if self.rapidFire then
  1880. data.firerate = 1500
  1881. data.variablefirerate = false
  1882. data.firemodes = {true, 3, 1}
  1883. data.requirechamber = false
  1884. if data.animations.onfire then
  1885. data.animations.onfire = nil
  1886. end
  1887. end
  1888.  
  1889. if self.fastReload then
  1890. for i, v in next, data.animations do
  1891. if string.find(string.lower(i), "reload") then
  1892. data.animations[i].timescale = 0.2
  1893. end
  1894. end
  1895. end
  1896.  
  1897. if self.hideFromRadar then
  1898. data.hideflash = true
  1899. data.hideminimap = true
  1900. data.hiderange = 0
  1901. end
  1902.  
  1903. if self.fastAim then
  1904. data.aimspeed = 1000
  1905. end
  1906.  
  1907. if self.camoHack then
  1908. camolist.Slot1 = { }
  1909. camolist.Slot1.BrickProperties = { }
  1910. camolist.Slot1.BrickProperties.Color = { }
  1911. camolist.Slot1.TextureProperties = { }
  1912. camolist.Slot1.Name = "Brimstone"
  1913. camolist.Slot1.BrickProperties.Material = Enum.Material.Neon
  1914. camolist.Slot1.BrickProperties.BrickColor = BrickColor.new("Really red")
  1915. camolist.Slot1.BrickProperties.Reflectance = 0
  1916. camolist.Slot1.BrickProperties.Color.r = 255
  1917. camolist.Slot1.BrickProperties.Color.g = 0
  1918. camolist.Slot1.BrickProperties.Color.b = 0
  1919. camolist.Slot1.TextureProperties.StudsPerTileU = 1
  1920. camolist.Slot1.TextureProperties.Transparency = 0
  1921. camolist.Slot1.TextureProperties.StudsPerTileV = 1
  1922. camolist.Slot1.TextureProperties.TextureId = 1143806679
  1923.  
  1924. camolist.Slot2 = { }
  1925. camolist.Slot2.BrickProperties = { }
  1926. camolist.Slot2.BrickProperties.Color = { }
  1927. camolist.Slot2.TextureProperties = { }
  1928. camolist.Slot2.Name = "Brimstone"
  1929. camolist.Slot2.BrickProperties.Material = Enum.Material.Neon
  1930. camolist.Slot2.BrickProperties.BrickColor = BrickColor.new("Really red")
  1931. camolist.Slot2.BrickProperties.Reflectance = 0
  1932. camolist.Slot2.BrickProperties.Color.r = 255
  1933. camolist.Slot2.BrickProperties.Color.g = 0
  1934. camolist.Slot2.BrickProperties.Color.b = 0
  1935. camolist.Slot2.TextureProperties.StudsPerTileU = 1
  1936. camolist.Slot2.TextureProperties.Transparency = 0
  1937. camolist.Slot2.TextureProperties.StudsPerTileV = 1
  1938. camolist.Slot2.TextureProperties.TextureId = 1143806679
  1939.  
  1940. spawn(function()
  1941. local n = 0
  1942. while client.gamelogic.currentgun ~= nil do
  1943. for i, v in pairs(model:GetChildren()) do
  1944. if v:IsA("BasePart") then
  1945. v.Color = Color3.fromHSV(n, 0.4, 1)
  1946. end
  1947. end
  1948. n = (n + 0.01) % 1
  1949.  
  1950. r.RenderStepped:wait()
  1951. end
  1952. end)
  1953. end
  1954.  
  1955. args[2] = data
  1956. return backups.loadgun(unpack(args))
  1957. end
  1958.  
  1959. client.char.jump = function(_, height, ...)
  1960. height = height * self.jumpHeightMultiplier
  1961.  
  1962. return backups.jump(_, height, ...)
  1963. end
  1964.  
  1965. client.char.spawn = function(x, xx, xxx, xxxx, p, s, k, ...)
  1966. if self.unlockedAll then
  1967. backups.spawn(x, xx, xxx, xxxx, self.loadoutData[1], self.loadoutData[2], self.loadoutData[3], ...)
  1968. if self.antiAim then
  1969. backups.send(client.network, "stance", "prone")
  1970. end
  1971. repeat r.RenderStepped:wait() until client.gamelogic.currentgun ~= nil
  1972.  
  1973. return client.gamelogic.loadmodules(p, s, k)
  1974. end
  1975.  
  1976. if self.antiAim then
  1977. backups.spawn(x, xx, xxx, xxxx, p, s, k, ...)
  1978. return backups.send(client.network, "stance", "prone")
  1979. end
  1980.  
  1981. return backups.spawn(x, xx, xxx, xxxx, p, s, k, ...)
  1982. end
  1983.  
  1984. client.ondiedfuncs[1] = function(...)
  1985. if not self.instantDespawn and not self.instantRespawn then return backups.ondied(...) end
  1986.  
  1987. if self.instantDespawn then
  1988. client.menu:loadmenu()
  1989. else
  1990. client.ondied(...)
  1991. end
  1992.  
  1993. if self.instantRespawn then
  1994. repeat
  1995. r.RenderStepped:wait()
  1996. until not client.menu:isdeployed()
  1997.  
  1998. client.menu.deploy()
  1999. end
  2000. end
  2001.  
  2002. client.animation.player = function(data, anim, ...)
  2003. if self.noReload and client.gamelogic.currentgun ~= nil then
  2004. if anim == client.gamelogic.currentgun.data.animations.tacticalreload or anim == client.gamelogic.currentgun.data.animations.reload then
  2005. return function() return true end
  2006. end
  2007. end
  2008.  
  2009. return backups.animplay(data, anim, ...)
  2010. end
  2011.  
  2012. client.funcs.startvotekick = function(plr, ...)
  2013. backups.startvotekick(plr, ...)
  2014. if plr == tostring(p) then
  2015. client.hud:vote("no")
  2016. else
  2017. client.hud:vote("yes")
  2018. end
  2019.  
  2020. return
  2021. end
  2022.  
  2023. client.notify.customaward = function(_, txt, ...)
  2024. --if string.find(txt, "Picked up . rounds from") then return end
  2025.  
  2026. return backups.customaward(_, txt, ...)
  2027. end
  2028.  
  2029. client.hud.updateammo = function(_, mag, ammo, ...)
  2030. if mag == "KNIFE" or mag == "GRENADE" then return backups.updateammo(_, mag, ammo, ...) end
  2031.  
  2032. if self.infiniteAmmo then
  2033. mag = utf8.char(8734)
  2034. end
  2035.  
  2036. if self.infiniteMag then
  2037. ammo = utf8.char(8734)
  2038. end
  2039.  
  2040. return backups.updateammo(_, mag, ammo, ...)
  2041. end
  2042.  
  2043. client.funcs.shot = function(plr, ...)
  2044. if self.noScreenShake then
  2045. return
  2046. end
  2047.  
  2048. return backups.shot(plr, ...)
  2049. end
  2050.  
  2051. client.char.loadgrenade = function(t, data, nade, ...)
  2052. if self.grenadeFastball then
  2053. data.throwspeed = 500
  2054. data.animations.throw.timescale = 0.01
  2055. data.animations.pull.timescale = 0.01
  2056. end
  2057.  
  2058. return backups.loadgrenade(t, data, nade, ...)
  2059. end
  2060.  
  2061. client.char.animstep = function(...)
  2062. local upvs = getupvals(backups.animstep)
  2063. upvs.thread:step()
  2064. if upvs.weapon and upvs.weapon.step then
  2065. upvs.weapon.step()
  2066. if (upvs.weapon.attachments and upvs.weapon.attachments.Other == "Ballistics Tracker" and upvs.aiming and upvs.aimspring.p > 0.95) or self.ballisticTracker then
  2067. upvs.tracker(upvs.weapon.data)
  2068. else
  2069. upvs.stoptracker()
  2070. end
  2071. end
  2072. end
  2073.  
  2074. client.menu.mapstep = function(...)
  2075. local upvs = getupvals(backups.mapstep)
  2076. if tick() > upvs.lastmapt + upvs.mapint then
  2077. setupval(backups.mapstep, "lastmapt", tick())
  2078. if upvs.settings.AllowSpawn.Value then
  2079. upvs.maptext.Text = upvs.settings.MapName.Value == "Luck" and "A Fucking Maze" or upvs.settings.MapName.Value == "Mirage" and "Get Your BFG Out Nigga" or upvs.settings.MapName.Value == "Warehouse" and "M60 TIME BOYZ" or upvs.settings.MapName.Value
  2080. upvs.gmodetext.Text = upvs.settings.GameMode.Value == "Capture the Flag" and "Capture the Fag" or upvs.settings.GameMode.Value == "King of the Hill" and "King of the Fags" or upvs.settings.GameMode.Value
  2081. upvs.mapImage.Image = upvs.assetid .. upvs.settings.MapThumb.Value
  2082. else
  2083. upvs.maptext.Text = "INTERMISSION"
  2084. upvs.gmodetext.Text = ""
  2085. upvs.mapImage.Image = upvs.assetid .. "1673246867"
  2086. end
  2087. end
  2088. end
  2089.  
  2090. function client.camera:setlookvectorlerp(direction, delx, dely, t)
  2091. local upvs = getupvals(client.camera.setlookvector)
  2092. upvs.didchange = true
  2093. local x, ay = client.vector.toanglesyx(direction)
  2094. x = x + (delx or 0)
  2095. ay = ay + (dely or 0)
  2096. local cy = upvs.camera.angles.y
  2097. x = x > upvs.camera.maxangle and upvs.camera.maxangle or x < upvs.camera.minangle and upvs.camera.minangle or x
  2098. local y = (ay + upvs.pi - cy) % upvs.tau - upvs.pi + cy
  2099. local newangles = upvs.v3(x, y, 0)
  2100. upvs.camera.delta = upvs.camera.delta:lerp((newangles - upvs.camera.angles) / upvs.ldt, t)
  2101. upvs.camera.angles = upvs.camera.angles:lerp(newangles, t)
  2102. end
  2103.  
  2104. --[[local upvs = getupvals(client.mainlogic[1].func)
  2105. client.mainlogic[1].func = function()
  2106. light:SetMinutesAfterMidnight(upvs.daytime.Value)
  2107. end]]
  2108.  
  2109. client.engine[5].func = client.char.animstep
  2110.  
  2111. client.enums.MINIMUM_BASE_FOV = 1
  2112. client.enums.MAXIMUM_BASE_FOV = 120
  2113.  
  2114. r:BindToRenderStep("Aimbot", 0, main.Aimbot)
  2115. --r:BindToRenderStep("pingcheck", 0, main.Pingcheck)
  2116. end
  2117.  
  2118. do -- Humanoid Shit
  2119. if c then
  2120. local h = c:FindFirstChild("Humanoid") or c:WaitForChild("Humanoid", 10)
  2121. if h then
  2122. local tik = tick()
  2123. repeat wait() until getconnections(h.Changed)[1] ~= nil or (tick() - tik) > 3
  2124. if (tick() - tik) < 3 then
  2125. getconnections(h.Changed)[1]:Disable()
  2126. end
  2127. end
  2128. end
  2129. end
  2130.  
  2131. do -- events
  2132. p.CharacterAdded:connect(function(char)
  2133. c = char
  2134. local h = c:WaitForChild("Humanoid")
  2135. if h then
  2136. repeat wait() until getconnections(h.Changed)[1] ~= nil
  2137. getconnections(h.Changed)[1]:Disable()
  2138. end
  2139. end)
  2140. end
  2141.  
  2142. hint.Text = backupText .. " Creating Loops..."
  2143. do -- loops
  2144. funcs:RunLoop("Humanoid_Shit", function()
  2145. if self.superSpeed then
  2146. client.char:setbasewalkspeed(40)
  2147. end
  2148.  
  2149. client.roundsystem.lock = false
  2150. end, r.Heartbeat, true, "Small Impact\nWill BREAK: Super Speed")
  2151.  
  2152. funcs:RunLoop("Gun Shit", function()
  2153. if client.gamelogic.currentgun == nil then return end
  2154. if client.gamelogic.currentgun.id == 3 then return end
  2155.  
  2156. if self.noGunbob then
  2157. local f = getupval(client.gamelogic.currentgun.step, "gunbob")
  2158. if f ~= main.Gunbob then
  2159. main.guns.gunbob = f
  2160. setupval(client.gamelogic.currentgun.step, "gunbob", main.Gunbob)
  2161. end
  2162. end
  2163.  
  2164. if self.noGunsway then
  2165. local f = getupval(client.gamelogic.currentgun.step, "gunsway")
  2166. if f ~= main.Gunsway then
  2167. main.guns.gunsway = f
  2168. setupval(client.gamelogic.currentgun.step, "gunsway", main.Gunsway)
  2169. end
  2170. end
  2171.  
  2172. if getupval(getupval(client.gamelogic.currentgun.step, "fireround"), "particle") ~= main.moddedParticleTable then
  2173. setupval(getupval(client.gamelogic.currentgun.step, "fireround"), "particle", main.moddedParticleTable)
  2174. end
  2175.  
  2176. if self.autoReload and getupval(client.gamelogic.currentgun.shoot, "mag") <= 0 and getupval(client.gamelogic.currentgun.reload, "spare") > 0 then
  2177. client.gamelogic.currentgun:reload()
  2178. end
  2179.  
  2180. if self.autoGunSwitch and getupval(client.gamelogic.currentgun.shoot, "mag") <= 0 and getupval(client.gamelogic.currentgun.reload, "spare") <= 0 then
  2181. local id = (client.gamelogic.currentgun.id == 2) and 1 or 2
  2182. if getupval(client.gunlist[id].shoot, "mag") > 0 or getupval(client.gunlist[id].reload, "spare") > 0 then
  2183. getupval(client.input.mouse.onscroll.connect, "funcs")[1](id == 1 and "one" or "two")
  2184. end
  2185. end
  2186. end, r.Heartbeat, true, "Small Impact\nWill BREAK: a lot of gun cheats")
  2187.  
  2188. funcs:CreateLoop("Version_Check", function()
  2189. local data = loadstring(game:HttpGet("https://pastebin.com/raw/HLvUvtLv", true))()
  2190. messagesOfTheDay = data.messages_of_the_day
  2191. creator_accounts = data.admin_table
  2192. gui:InitAdminPanel()
  2193. data = data["Phantom Forces"]
  2194.  
  2195. local curVersion = data.version
  2196. local newlink = data.newlink
  2197. if curVersion ~= myVersion then
  2198. main:Console("Script Updated! Reloading in a few seconds...")
  2199. client.sound.play("ui_smallaward", 10)
  2200. wait(3)
  2201. getgenv().phantom_fucker = false
  2202. function main:Console() end
  2203. funcs:DestroyAllLoops()
  2204. for i, v in next, espStuff.esp_table do
  2205. v["Name"]:Remove()
  2206. v["Dist"]:Remove()
  2207. v["Health"]:Remove()
  2208. end
  2209.  
  2210. for i, v in next, tracerStuff.tracerTable do
  2211. v:Remove()
  2212. end
  2213. chamStuff.cham_folder:Destroy()
  2214. r:UnbindFromRenderStep("Aimbot")
  2215. funcs:RestoreBackups()
  2216. getgenv().mainGui:Destroy()
  2217. loadstring(game:HttpGet(newlink, true))()
  2218. end
  2219. end, 300, false)
  2220.  
  2221. funcs:RunLoop("Messages of the Day", function()
  2222. if messagesOfTheDay == nil then return end
  2223.  
  2224. for i = 1, #messagesOfTheDay do
  2225. self:Console(tostring(messagesOfTheDay[i]))
  2226. wait(60)
  2227. end
  2228. end, r.RenderStepped, false)
  2229.  
  2230. funcs:CreateLoop("Spotted ESP", function()
  2231. local players = { }
  2232. for i, v in pairs(ps:GetPlayers()) do
  2233. if v.Team ~= p.Team then
  2234. client.funcs.spotplayer(v)
  2235. end
  2236. end
  2237. end, 5, true, "Small Impact\nWill BREAK: Spotted ESP")
  2238.  
  2239. funcs:CreateLoop("Radar ESP", function()
  2240. for i, v in pairs(ps:GetPlayers()) do
  2241. if v.Team ~= p.Team then
  2242. client.hud:fireradar(v)
  2243. end
  2244. end
  2245. end, 5, true, "Small Impact\nWill BREAK: Radar ESP")
  2246. end
  2247.  
  2248. do -- Load toggles
  2249. local loaded = pcall(readfile, "PFHaxxSave.txt")
  2250. loaded = loaded and readfile("PFHaxxSave.txt") or nil
  2251. if loaded == nil then return end
  2252. loaded = http:JSONDecode(loaded)
  2253.  
  2254. for i, v in pairs(loaded) do
  2255. if i ~= "guns" and i ~= "loadoutData" and i ~= "unlockedAll" and i ~= "muted" and i ~= "moddedParticleTable" and type(main[i]) ~= "function" then
  2256. main[i] = loaded[i]
  2257. if i == "spottedESP" and main[i] then
  2258. funcs:RunLoop("Spotted ESP")
  2259. elseif i == "radarESP" and main[i] then
  2260. funcs:RunLoop("Radar ESP")
  2261. end
  2262. end
  2263. end
  2264. end
  2265. end
  2266. end
  2267.  
  2268. do -- espStuff
  2269. espStuff = {
  2270. enabled = false,
  2271. esp_table = { }
  2272. }
  2273.  
  2274. function espStuff:CreateESP(plr)
  2275. local char = plr.Character or plr.CharacterAdded:wait()
  2276. local tor = char:FindFirstChild("HumanoidRootPart") or char:WaitForChild("HumanoidRootPart")
  2277. local head = char:FindFirstChild("Head") or char:WaitForChild("Head")
  2278. local color = funcs:GetTeamColor(plr)
  2279.  
  2280. local v2 = ca:WorldToScreenPoint(head.CFrame * CFrame.new(0, head.Size.Y, 0).p)
  2281. local Name = Drawing.new("Text")
  2282. Name.Text = tostring(plr)
  2283. Name.Color = color
  2284. Name.Size = 15
  2285. Name.Position = Vector2.new(v2.X, v2.Y)
  2286. Name.Visible = self.enabled
  2287.  
  2288. local Dist = Drawing.new("Text")
  2289. Dist.Text = ""
  2290. Dist.Color = color
  2291. Dist.Size = 15
  2292. Dist.Position = Vector2.new(v2.X, v2.Y + 15)
  2293. Dist.Visible = self.enabled
  2294.  
  2295. local Health = Drawing.new("Text")
  2296. Health.Text = ""
  2297. Health.Color = color
  2298. Health.Size = 15
  2299. Health.Position = Vector2.new(v2.X, v2.Y + 30)
  2300. Health.Visible = self.enabled
  2301.  
  2302. self.esp_table[tostring(plr)] = {["Name"] = Name, ["Dist"] = Dist, ["Health"] = Health}
  2303. end
  2304.  
  2305. function espStuff:RemoveESP(plr)
  2306. if self.esp_table[tostring(plr)] ~= nil then
  2307. for i, v in next, self.esp_table[tostring(plr)] do
  2308. v:Remove()
  2309. end
  2310.  
  2311. self.esp_table[tostring(plr)] = nil
  2312. end
  2313. end
  2314.  
  2315. function espStuff:UpdateESPColor(plr)
  2316. local color = funcs:GetTeamColor(plr)
  2317. if self.esp_table[tostring(plr)] ~= nil then
  2318. for i, v in next, self.esp_table[tostring(plr)] do
  2319. v.Color = color
  2320. end
  2321. end
  2322. end
  2323.  
  2324. function espStuff:UpdateESP(plr)
  2325. local char = plr.Character
  2326. local t = self.esp_table[tostring(plr)]
  2327.  
  2328. if char and c and t ~= nil then
  2329. local head = char:FindFirstChild("Head")
  2330. local tor = char:FindFirstChild("HumanoidRootPart")
  2331. local myTor = c:FindFirstChild("HumanoidRootPart")
  2332. if head then
  2333. local v2, vis = ca:WorldToScreenPoint(head.CFrame * CFrame.new(0, head.Size.Y, 0).p)
  2334. if vis and isrbxactive() and client.hud:isplayeralive(plr) then
  2335. t.Name.Position = Vector2.new(v2.X, v2.Y)
  2336. t.Dist.Position = Vector2.new(v2.X, v2.Y + 15)
  2337. t.Health.Position = Vector2.new(v2.X, v2.Y + 30)
  2338.  
  2339. t.Health.Text = "Health: " .. string.format("%.0f", tostring(getupval(client.hud.getplayerhealth, "gethealth")(plr)))
  2340.  
  2341. t.Name.Visible = true
  2342. t.Dist.Visible = true
  2343. t.Health.Visible = true
  2344. else
  2345. t.Name.Visible = false
  2346. t.Dist.Visible = false
  2347. t.Health.Visible = false
  2348. end
  2349.  
  2350. if tor and myTor then
  2351. local dist = (myTor.Position - tor.Position).magnitude
  2352. t.Dist.Text = "Dist: " .. string.format("%.0f", dist)
  2353. end
  2354. end
  2355. end
  2356. end
  2357.  
  2358. function espStuff:Init()
  2359. funcs:CreateLoop("UpdateESP", function()
  2360. for i, v in pairs(ps:GetPlayers()) do
  2361. self:UpdateESP(v)
  2362. end
  2363. end, r.RenderStepped, true, "Medium Impact\nWill BREAK: ESP")
  2364.  
  2365. for i, v in pairs(ps:GetPlayers()) do
  2366. if v ~= p then
  2367. spawn(function()
  2368. self:CreateESP(v)
  2369. end)
  2370.  
  2371. v.Changed:connect(function(prop)
  2372. self:UpdateESPColor(v)
  2373. end)
  2374. end
  2375. end
  2376.  
  2377. ps.PlayerAdded:connect(function(plr)
  2378. self:CreateESP(plr)
  2379. plr.Changed:connect(function(prop)
  2380. self:UpdateESPColor(plr)
  2381. end)
  2382. end)
  2383.  
  2384. ps.PlayerRemoving:connect(function(plr)
  2385. self:RemoveESP(plr)
  2386. end)
  2387. end
  2388. end
  2389.  
  2390. do -- chamStuff
  2391. chamStuff = {
  2392. enabled = false,
  2393. ally_chams = true,
  2394. cham_folder = Instance.new("Folder", cg)
  2395. }
  2396.  
  2397. function chamStuff:CreateCham(plr)
  2398. local player_folder = Instance.new("Folder", self.cham_folder)
  2399. player_folder.Name = tostring(plr)
  2400.  
  2401. local char = plr.Character or plr.CharacterAdded:wait()
  2402. local tor = char:WaitForChild("HumanoidRootPart")
  2403. local hum = char:WaitForChild("Humanoid")
  2404.  
  2405. for i, v in pairs(char:GetChildren()) do
  2406. if v:IsA("PVInstance") and tostring(v) ~= "HumanoidRootPart" then
  2407. local box = Instance.new("BoxHandleAdornment")
  2408. box.Size = funcs:GetSizeOfObj(v)
  2409. box.Name = tostring(v)
  2410. box.Adornee = v
  2411. box.AlwaysOnTop = true
  2412. box.ZIndex = 5
  2413. box.Transparency = self.enabled and 0.5 or 1
  2414. box.Color3 = funcs:GetTeamColor(plr)
  2415. box.Parent = player_folder
  2416. end
  2417. end
  2418. end
  2419.  
  2420. function chamStuff:RemoveCham(plr)
  2421. local find = self.cham_folder:FindFirstChild(tostring(plr))
  2422. if find then
  2423. find:Destroy()
  2424. end
  2425. end
  2426.  
  2427. function chamStuff:UpdateChamColor(plr)
  2428. local player_folder = self.cham_folder:FindFirstChild(tostring(plr))
  2429. if player_folder then
  2430. local color = funcs:GetTeamColor(plr)
  2431.  
  2432. for i, v in pairs(player_folder:GetChildren()) do
  2433. v.Color3 = color
  2434. end
  2435. end
  2436. end
  2437.  
  2438. function chamStuff:SetTrans(trans, player_folder)
  2439. for i, v in pairs(player_folder:GetChildren()) do
  2440. v.Transparency = trans
  2441. end
  2442. end
  2443.  
  2444. function chamStuff:UpdateCham(plr, ignorelist)
  2445. local player_folder = self.cham_folder:FindFirstChild(tostring(plr))
  2446.  
  2447. if player_folder then
  2448. if not client.hud:isplayeralive(plr) then return self:SetTrans(1, player_folder) end
  2449. if not self.enabled then return self:SetTrans(1, player_folder) end
  2450.  
  2451. local char = plr.Character
  2452.  
  2453. if not self.ally_chams and plr.Team == p.Team then
  2454. return self:SetTrans(1, player_folder)
  2455. end
  2456.  
  2457. if c and char then
  2458. local their_head = char:FindFirstChild("Head")
  2459. local their_tor = char:FindFirstChild("HumanoidRootPart")
  2460. local my_head = c:FindFirstChild("Head")
  2461. local my_tor = c:FindFirstChild("HumanoidRootPart")
  2462.  
  2463. for i, v in pairs(player_folder:GetChildren()) do
  2464. if char:FindFirstChild(tostring(v)) then
  2465. if v.Adornee ~= v then
  2466. v.Adornee = char[tostring(v)]
  2467. end
  2468. end
  2469. end
  2470.  
  2471. if their_head and their_tor and my_head and my_tor then
  2472. if (my_tor.Position - their_tor.Position).magnitude > 2048 then
  2473. return self:SetTrans(1, player_folder)
  2474. end
  2475.  
  2476. --raycast(workspace,Ray.new(client.camera.cframe.p,rel),ignorelist)
  2477.  
  2478. local p = workspace:FindPartOnRayWithIgnoreList(Ray.new(client.camera.cframe.p, (their_head.Position - client.camera.cframe.p)), ignorelist)
  2479.  
  2480. if p then
  2481. return self:SetTrans(0, player_folder)
  2482. else
  2483. return self:SetTrans(1, player_folder)
  2484. end
  2485. end
  2486. end
  2487.  
  2488. return self:SetTrans(0, player_folder)
  2489. end
  2490. end
  2491.  
  2492. function chamStuff:Init()
  2493. funcs:RunLoop("ChamUpdate", function()
  2494. local ignorelist = {c, ca, workspace.Ignore}
  2495. for i, v in pairs(ps:GetPlayers()) do
  2496. ignorelist[#ignorelist+1] = v.Character
  2497. end
  2498.  
  2499. for i, v in pairs(ps:GetPlayers()) do
  2500. self:UpdateCham(v, ignorelist)
  2501. end
  2502. end, r.RenderStepped, true, "HUGE Impact\nWill BREAK: Chams")
  2503.  
  2504. for i, v in pairs(ps:GetPlayers()) do
  2505. if v ~= p then
  2506. spawn(function()
  2507. self:CreateCham(v)
  2508. end)
  2509.  
  2510. v.Changed:connect(function(prop)
  2511. self:UpdateChamColor(v)
  2512. end)
  2513. end
  2514. end
  2515.  
  2516. ps.PlayerAdded:connect(function(plr)
  2517. self:CreateCham(plr)
  2518. plr.Changed:connect(function(prop)
  2519. self:UpdateChamColor(plr)
  2520. end)
  2521. end)
  2522.  
  2523. ps.PlayerRemoving:connect(function(plr)
  2524. self:RemoveCham(plr)
  2525. end)
  2526. end
  2527. end
  2528.  
  2529. do -- fullbrightStuff
  2530. fullbrightStuff = {
  2531. enabled = false,
  2532. backup = { },
  2533. }
  2534.  
  2535. function fullbrightStuff:Enable()
  2536. light.Ambient = Color3.new(1, 1, 1)
  2537. light.Brightness = 2
  2538. light.ColorShift_Bottom = Color3.new(1, 1, 1)
  2539. light.ColorShift_Top = Color3.new(1, 1, 1)
  2540. light.OutdoorAmbient = Color3.new(1, 1, 1)
  2541. light.FogEnd = 9999999
  2542. end
  2543.  
  2544. function fullbrightStuff:Disable()
  2545. for i, v in pairs(self.backup) do
  2546. light[i] = v
  2547. end
  2548. end
  2549.  
  2550. function fullbrightStuff:Init()
  2551. if self.initalized then return end
  2552. self.initalized = true
  2553. self.backup["Ambient"] = light.Ambient
  2554. self.backup["Brightness"] = light.Brightness
  2555. self.backup["ColorShift_Bottom"] = light.ColorShift_Bottom
  2556. self.backup["ColorShift_Top"] = light.ColorShift_Top
  2557. self.backup["OutdoorAmbient"] = light.OutdoorAmbient
  2558. self.backup["FogEnd"] = light.FogEnd
  2559.  
  2560. light:GetPropertyChangedSignal("Ambient"):connect(function()
  2561. if self.enabled then
  2562. light.Ambient = Color3.new(1, 1, 1)
  2563. end
  2564. end)
  2565.  
  2566. light:GetPropertyChangedSignal("Brightness"):connect(function()
  2567. if self.enabled then
  2568. light.Brightness = 2
  2569. end
  2570. end)
  2571.  
  2572. light:GetPropertyChangedSignal("ColorShift_Bottom"):connect(function()
  2573. if self.enabled then
  2574. light.ColorShift_Bottom = Color3.new(1, 1, 1)
  2575. end
  2576. end)
  2577.  
  2578. light:GetPropertyChangedSignal("ColorShift_Top"):connect(function()
  2579. if self.enabled then
  2580. light.ColorShift_Top = Color3.new(1, 1, 1)
  2581. end
  2582. end)
  2583.  
  2584. light:GetPropertyChangedSignal("OutdoorAmbient"):connect(function()
  2585. if self.enabled then
  2586. light.OutdoorAmbient = Color3.new(1, 1, 1)
  2587. end
  2588. end)
  2589.  
  2590. light:GetPropertyChangedSignal("FogEnd"):connect(function()
  2591. if self.enabled then
  2592. light.FogEnd = 9999999
  2593. end
  2594. end)
  2595. end
  2596. end
  2597.  
  2598. do -- corsshair stuff
  2599. crosshairStuff = {
  2600. enabled = false,
  2601. }
  2602.  
  2603. function crosshairStuff:Enable()
  2604. crosshairStuff.X.To = Vector2.new((ca.ViewportSize.X / 2) - 25, (ca.ViewportSize.Y / 2))
  2605. crosshairStuff.X.From = Vector2.new((ca.ViewportSize.X / 2) + 25, (ca.ViewportSize.Y / 2))
  2606. crosshairStuff.Y.To = Vector2.new((ca.ViewportSize.X / 2), (ca.ViewportSize.Y / 2) - 25)
  2607. crosshairStuff.Y.From = Vector2.new((ca.ViewportSize.X / 2), (ca.ViewportSize.Y / 2) + 25)
  2608. crosshairStuff.X.Visible = true
  2609. crosshairStuff.Y.Visible = true
  2610. end
  2611.  
  2612. function crosshairStuff:Disable()
  2613. crosshairStuff.X.Visible = false
  2614. crosshairStuff.Y.Visible = false
  2615. end
  2616.  
  2617. function crosshairStuff:Init()
  2618. crosshairStuff.X = Drawing.new("Line")
  2619. crosshairStuff.X.Visible = false
  2620. crosshairStuff.X.Thickness = 1
  2621. crosshairStuff.X.Color = Color3.new(1, 0, 0)
  2622.  
  2623. crosshairStuff.Y = Drawing.new("Line")
  2624. crosshairStuff.Y.Visible = false
  2625. crosshairStuff.Y.Thickness = 1
  2626. crosshairStuff.Y.Color = Color3.new(1, 0, 0)
  2627. end
  2628. end
  2629.  
  2630. do -- tracerStuff
  2631. tracerStuff = {
  2632. enabled = false,
  2633. allyTracers = false,
  2634. tracerTable = { },
  2635. initialized = false,
  2636. }
  2637.  
  2638. function tracerStuff:CreateTracer(plr)
  2639. local color = funcs:GetTeamColor(plr)
  2640.  
  2641. local tracer = Drawing.new("Line")
  2642. tracer.Thickness = 2
  2643. tracer.Color = color
  2644. tracer.Visible = self.enabled
  2645.  
  2646. self.tracerTable[tostring(plr)] = tracer
  2647. end
  2648.  
  2649. function tracerStuff:RemoveTracer(plr)
  2650. if self.tracerTable[tostring(plr)] ~= nil then
  2651. self.tracerTable[tostring(plr)]:Remove()
  2652. self.tracerTable[tostring(plr)] = nil
  2653. end
  2654. end
  2655.  
  2656. function tracerStuff:UpdateTracer(plr)
  2657. local char = plr.Character
  2658. local t = self.tracerTable[tostring(plr)]
  2659.  
  2660. if char and t then
  2661. if plr.Team == p.Team and not self.allyTracers then
  2662. t.Visible = false
  2663. return
  2664. end
  2665.  
  2666. local tor = char:FindFirstChild("HumanoidRootPart")
  2667. if tor then
  2668. local v2, vis = ca:WorldToViewportPoint(tor.CFrame.p - Vector3.new(0, 3, 0))
  2669. if vis and isrbxactive() and client.hud:isplayeralive(plr) then
  2670. t.Visible = true
  2671. t.From = Vector2.new(ca.ViewportSize.X / 2, ca.ViewportSize.Y)
  2672. t.To = Vector2.new(v2.X, v2.Y)
  2673. t.Color = funcs:GetTeamColor(plr)
  2674. else
  2675. t.Visible = false
  2676. end
  2677. end
  2678. end
  2679. end
  2680.  
  2681. function tracerStuff:Init()
  2682. funcs:CreateLoop("UpdateTracer", function()
  2683. for i, v in pairs(ps:GetPlayers()) do
  2684. self:UpdateTracer(v)
  2685. end
  2686. end, r.RenderStepped, true, "Medium Impact\nWill BREAK: Tracers")
  2687.  
  2688. for i, v in pairs(ps:GetPlayers()) do
  2689. self:CreateTracer(v)
  2690. end
  2691.  
  2692. ps.PlayerAdded:Connect(function(plr)
  2693. self:CreateTracer(plr)
  2694. end)
  2695.  
  2696. ps.PlayerRemoving:Connect(function(plr)
  2697. self:RemoveTracer(plr)
  2698. end)
  2699.  
  2700. self.initialized = true
  2701. end
  2702. end
  2703.  
  2704. hint.Text = "Initializing Main Service..."
  2705. main:Init()
  2706.  
  2707. getgenv().services = {}
  2708. table.insert(getgenv().services, espStuff)
  2709. table.insert(getgenv().services, chamStuff)
  2710. table.insert(getgenv().services, fullbrightStuff)
  2711. table.insert(getgenv().services, crosshairStuff)
  2712. table.insert(getgenv().services, tracerStuff)
  2713.  
  2714. for i = 1, #getgenv().services do
  2715. hint.Text = "Initializing Service: " .. tostring(i) .. "..."
  2716. getgenv().services[i]:Init()
  2717. end
  2718.  
  2719. gui:Init()
  2720.  
  2721. hint.Text = "Done. Enjoy. :)"
  2722. wait(3)
  2723. hint:Destroy()
  2724. hint = nil
  2725.  
  2726. _G.client = client
  2727. _G.main = main
  2728. main:Console("pfhaxx Loaded. Version: " .. myVersion .. " Created by: Racist Dolphin")
  2729. funcs:RunLoop("Version_Check")
RAW Paste Data