Advertisement
RuineKiller

Phantom Forces GUI (Made by Racist Dolphin)

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