Advertisement
Guest User

wallys hub decompiled

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