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