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