Advertisement
Nova355killer

Phamtom FUcker

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