Advertisement
Vzurxy

Untitled

Sep 8th, 2018
623
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.67 KB | None | 0 0
  1. --//v4
  2. -- Made by: Racist Dolphin#5199
  3.  
  4. ------------------------------------------------
  5. ------------------------------------------------
  6. ------------------------------------------------
  7. ------------------------------------------------
  8. ------------------------------------------------
  9. ------------------------------------------------
  10. ------------------------------------------------
  11. ------------------------------------------------
  12. ------------------------------------------------
  13. ------------------------------------------------
  14. ------------------------------------------------
  15. ------------------------------------------------
  16. ------------------------------------------------
  17. ------------------------------------------------
  18. ------------------------------------------------
  19. ------------------------------------------------
  20. ------------------------------------------------
  21. ------------------------------------------------
  22. ------------------------------------------------
  23. ------------------------------------------------
  24. ------------------------------------------------
  25. ------------------------------------------------
  26. ------------------------------------------------
  27. ------------------------------------------------
  28. ------------------------------------------------
  29. ------------------------------------------------
  30. ------------------------------------------------
  31. ------------------------------------------------
  32. ------------------------------------------------
  33. ------------------------------------------------
  34. ------------------------------------------------
  35. ------------------------------------------------
  36. ------------------------------------------------
  37. ------------------------------------------------
  38. ------------------------------------------------
  39. ------------------------------------------------
  40. ------------------------------------------------
  41. ------------------------------------------------
  42. ------------------------------------------------
  43. ------------------------------------------------
  44. ------------------------------------------------
  45. ------------------------------------------------
  46. ------------------------------------------------
  47. ------------------------------------------------
  48. ------------------------------------------------
  49. ------------------------------------------------
  50. ------------------------------------------------
  51. ------------------------------------------------
  52. ------------------------------------------------
  53. ------------------------------------------------
  54. ------------------------------------------------
  55. ------------------------------------------------
  56. ------------------------------------------------
  57. ------------------------------------------------
  58. ------------------------------------------------
  59. ------------------------------------------------
  60. ------------------------------------------------
  61. ------------------------------------------------
  62. ------------------------------------------------
  63. ------------------------------------------------
  64. ------------------------------------------------
  65. ------------------------------------------------
  66. ------------------------------------------------
  67. ------------------------------------------------
  68. ------------------------------------------------
  69. ------------------------------------------------
  70. ------------------------------------------------
  71. ------------------------------------------------
  72. ------------------------------------------------
  73. ------------------------------------------------
  74. ------------------------------------------------
  75. ------------------------------------------------
  76. ------------------------------------------------
  77. ------------------------------------------------
  78. ------------------------------------------------
  79. ------------------------------------------------
  80. ------------------------------------------------
  81. ------------------------------------------------
  82.  
  83. script.Name = "Project Bullshit V4"
  84.  
  85. local ps = game:GetService("Players")
  86. local i = game:GetService("UserInputService")
  87. local r = game:GetService("RunService")
  88. local cg = game:GetService("CoreGui")
  89. local sg = game:GetService("StarterGui")
  90. local ts = game:GetService("TweenService")
  91. local rs = game:GetService("ReplicatedStorage")
  92. local http = game:GetService("HttpService")
  93. local light = game:GetService("Lighting")
  94. local pathservice = game:GetService("PathfindingService")
  95. local p = ps.LocalPlayer
  96. local c = p.Character
  97. local mo = p:GetMouse()
  98. local b = p:FindFirstChild("Backpack") or p:WaitForChild("Backpack")
  99. local g = p:FindFirstChild("PlayerGui") or p:WaitForChild("PlayerGui")
  100. local ca = workspace.CurrentCamera
  101.  
  102. --[[local getupval = debug.getupvalue or getupvalue
  103. local getupvals = debug.getupvalues or getupvalues
  104. local getreg = debug.getregistry or getregistry
  105. local setupval = debug.setupvalue or setupvalue
  106. local getlocalval = debug.getlocal or getlocal
  107. local getlocalvals = debug.getlocals or getlocals
  108. local setlocalval = debug.setlocal or setlocal
  109. local getmetat = getrawmetatable or getmetatable
  110. local setreadonly1 = make_writeable or setreadonly
  111.  
  112. if getupval == nil or getupvals == nil or getreg == nil or setupval == nil or getmetat == nil or setreadonly1 == nil then
  113. return p:Kick("Unfortunately the exploit you're using is not supported. :C")
  114. end
  115.  
  116. local m = getmetat(game)
  117. setreadonly1(m, false)
  118.  
  119. local oldindex = m.__index
  120. local oldnamecall = m.__namecall]]
  121.  
  122. local functions = { }
  123. local main = { }
  124. local esp_stuff = { }
  125. local cham_stuff = { }
  126. local fullbright_stuff = { }
  127. local tracer_stuff = { }
  128. local gui = { }
  129. local loops = { }
  130.  
  131. local version = "4.0.0"
  132.  
  133. do -- functions
  134. function functions:LoopRunning(name)
  135. return loops[name].Running
  136. end
  137.  
  138. function functions:CreateLoop(name, func, ...)
  139. if loops[name] ~= nil then return end
  140.  
  141. loops[name] = { }
  142. loops[name].Running = false
  143. loops[name].Destroy = false
  144. loops[name].Loop = coroutine.create(function(...)
  145. while true do
  146. if loops[name].Running then
  147. func(...)
  148. end
  149.  
  150. if loops[name].Destroy then
  151. break
  152. end
  153. r.RenderStepped:wait()
  154. end
  155. end)
  156. end
  157.  
  158. function functions:RunLoop(name, func, ...)
  159. if loops[name] == nil then
  160. if func ~= nil then
  161. self:CreateLoop(name, func, ...)
  162. end
  163. end
  164.  
  165. loops[name].Running = true
  166. local succ, out = coroutine.resume(loops[name].Loop)
  167. if not succ then
  168. error(out)
  169. end
  170. end
  171.  
  172. function functions:StopLoop(name)
  173. if loops[name] == nil then return end
  174.  
  175. loops[name].Running = false
  176. end
  177.  
  178. function functions:DestroyLoop(name)
  179. if loops[name] == nil then return end
  180.  
  181. self:StopLoop(name)
  182. loops[name].Destroy = true
  183.  
  184. loops[name] = nil
  185. end
  186.  
  187. function functions:AddComma(str) -- stole from Mining Simulator :)
  188. local f, k = str, nil
  189. while true do
  190. f, k = string.gsub(f, "^(-?%d+)(%d%d%d)", "%1,%2")
  191. if k == 0 then
  192. break
  193. end
  194. end
  195. return f
  196. end
  197.  
  198. function functions:deepcopy(orig) -- http://lua-users.org/wiki/CopyTable
  199. local orig_type = type(orig)
  200. local copy
  201. if orig_type == 'table' then
  202. copy = {}
  203. for orig_key, orig_value in next, orig, nil do
  204. copy[functions:deepcopy(orig_key)] = functions:deepcopy(orig_value)
  205. end
  206. setmetatable(copy, functions:deepcopy(getmetatable(orig)))
  207. else -- number, string, boolean, etc
  208. copy = orig
  209. end
  210. return copy
  211. end
  212.  
  213. function functions:GetSizeOfObj(obj)
  214. if obj:IsA("BasePart") then
  215. return obj.Size
  216. elseif obj:IsA("Model") then
  217. return obj:GetExtentsSize()
  218. end
  219. end
  220.  
  221. function functions:GetTeamColor(plr)
  222. if p.Team == plr.Team then
  223. return Color3.new(0, 1, 0)
  224. end
  225.  
  226. return Color3.new(1, 0, 0)
  227. end
  228.  
  229. function functions:GetClosestPlayer()
  230. local players = { }
  231. local current_closest_player = nil
  232. local selected_player = nil
  233.  
  234. for i, v in pairs(ps:GetPlayers()) do
  235. if v ~= p and v.Team ~= p.Team then
  236. local char = v.Character
  237. if c and char then
  238. local my_head, my_tor, my_hum = c:FindFirstChild("Head"), c:FindFirstChild("HumanoidRootPart"), c:FindFirstChild("Humanoid")
  239. local their_head, their_tor, their_hum = char:FindFirstChild("Head"), char:FindFirstChild("HumanoidRootPart"), char:FindFirstChild("Humanoid")
  240. if my_head and my_tor and my_hum and their_head and their_tor and their_hum then
  241. if my_hum.Health > 1 and their_hum.Health > 1 then
  242. --local ray = Ray.new(ca.CFrame.p, (their_head.Position - ca.CFrame.p).unit * 2048)
  243. --local part = workspace:FindPartOnRayWithIgnoreList(ray, {c, ca})
  244. --if part ~= nil then
  245. --if part:IsDescendantOf(char) then
  246. local dist = (my_tor.Position - their_tor.Position).magnitude
  247. players[v] = dist
  248. --end
  249. --end
  250. end
  251. end
  252. end
  253. end
  254. end
  255.  
  256. for i, v in next, players do
  257. if current_closest_player ~= nil then
  258. if v <= current_closest_player then
  259. current_closest_player = v
  260. selected_player = i
  261. end
  262. else
  263. current_closest_player = v
  264. selected_player = i
  265. end
  266. end
  267.  
  268. return selected_player
  269. end
  270.  
  271. function functions:Console(txt)
  272. sg:SetCore("ChatMakeSystemMessage",
  273. {
  274. Text = "Racist Dolphin: " .. txt,
  275. Color = Color3.new(1, 1, 1),
  276. Font = Enum.Font.SourceSansBold,
  277. TextSize = 18
  278. }
  279. )
  280.  
  281. local msg = g.Chat:GetDescendants()
  282. repeat
  283. for i, v in next, msg do
  284. if v:IsA("TextLabel") or v:IsA("TextButton") then
  285. if v.Text == "Racist Dolphin: " .. txt then
  286. msg = v
  287. break
  288. end
  289. end
  290. end
  291. r.RenderStepped:wait()
  292. until type(msg) ~= "table"
  293.  
  294. spawn(function()
  295. local n = 0
  296. while msg.Text == "Racist Dolphin: " .. txt do
  297. msg.TextColor3 = Color3.fromHSV(n, 0.4, 1)
  298. n = (n + 0.01) % 1
  299.  
  300. r.RenderStepped:wait()
  301. end
  302.  
  303. msg.TextColor3 = Color3.new(1, 1, 1)
  304. end)
  305. end
  306. end
  307.  
  308. do -- gui
  309. gui = {
  310. name = "Base",
  311. gui_objs = {
  312. main = nil,
  313. mainframes = { },
  314. }
  315. }
  316.  
  317. function gui:AddButton(mainframe, name, text)
  318. self.gui_objs.mainframes[mainframe].buttons[name] = { }
  319.  
  320. self.gui_objs.mainframes[mainframe].buttons[name].main = Instance.new("Frame")
  321. self.gui_objs.mainframes[mainframe].buttons[name].main.BackgroundTransparency = 1
  322. self.gui_objs.mainframes[mainframe].buttons[name].main.Name = name
  323. self.gui_objs.mainframes[mainframe].buttons[name].main.Position = UDim2.new(0, 0, 0, 5 + self.gui_objs.mainframes[mainframe].buttonsnum)
  324. self.gui_objs.mainframes[mainframe].buttons[name].main.Size = UDim2.new(1, 0, 0, 15)
  325. self.gui_objs.mainframes[mainframe].buttons[name].main.Parent = self.gui_objs.mainframes[mainframe].buttonsframe
  326.  
  327. self.gui_objs.mainframes[mainframe].buttons[name].textbutton = Instance.new("TextButton")
  328. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.BackgroundTransparency = 1
  329. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Position = UDim2.new(0, 5, 0, 0)
  330. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Size = UDim2.new(1, -5, 1, 0)
  331. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.ZIndex = 2
  332. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Font = Enum.Font.SciFi
  333. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Text = text
  334. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.TextColor3 = Color3.new(1, 1, 1)
  335. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.TextScaled = true
  336. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.TextXAlignment = Enum.TextXAlignment.Left
  337. self.gui_objs.mainframes[mainframe].buttons[name].textbutton.Parent = self.gui_objs.mainframes[mainframe].buttons[name].main
  338.  
  339. self.gui_objs.mainframes[mainframe].buttons[name].textlabel = Instance.new("TextLabel")
  340. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.BackgroundTransparency = 1
  341. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Position = UDim2.new(1, -25, 0, 0)
  342. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Size = UDim2.new(0, 25, 1, 0)
  343. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Font = Enum.Font.Code
  344. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Text = "OFF"
  345. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.TextColor3 = Color3.new(1, 0, 0)
  346. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.TextScaled = true
  347. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.TextXAlignment = Enum.TextXAlignment.Right
  348. self.gui_objs.mainframes[mainframe].buttons[name].textlabel.Parent = self.gui_objs.mainframes[mainframe].buttons[name].main
  349.  
  350. self.gui_objs.mainframes[mainframe].buttonsnum = self.gui_objs.mainframes[mainframe].buttonsnum + 20
  351.  
  352. return self.gui_objs.mainframes[mainframe].buttons[name].textbutton, self.gui_objs.mainframes[mainframe].buttons[name].textlabel
  353. end
  354.  
  355. function gui:AddMainFrame(name)
  356. if self.gui_objs.mainframes.numX == nil then self.gui_objs.mainframes.numX = 0 end
  357. if self.gui_objs.mainframes.numY == nil then self.gui_objs.mainframes.numY = 0 end
  358.  
  359. self.gui_objs.mainframes[name] = { }
  360. self.gui_objs.mainframes[name].buttons = { }
  361.  
  362. self.gui_objs.mainframes[name].main = Instance.new("Frame")
  363. self.gui_objs.mainframes[name].main.BackgroundColor3 = Color3.new(0, 0, 0)
  364. self.gui_objs.mainframes[name].main.BackgroundTransparency = 0.3
  365. self.gui_objs.mainframes[name].main.BorderColor3 = Color3.new(0, 0, 139 / 255)
  366. self.gui_objs.mainframes[name].main.BorderSizePixel = 3
  367. self.gui_objs.mainframes[name].main.Name = name
  368. self.gui_objs.mainframes[name].main.Position = UDim2.new(0, 50 + self.gui_objs.mainframes.numX, 0, 50 + self.gui_objs.mainframes.numY)
  369. self.gui_objs.mainframes[name].main.Size = UDim2.new(0, 200, 0, 350)
  370. self.gui_objs.mainframes[name].main.Active = true
  371. self.gui_objs.mainframes[name].main.Draggable = true
  372.  
  373. self.gui_objs.mainframes[name].titleframe = Instance.new("Frame")
  374. self.gui_objs.mainframes[name].titleframe.BackgroundColor3 = Color3.new(0, 0, 0)
  375. self.gui_objs.mainframes[name].titleframe.BackgroundTransparency = 0.3
  376. self.gui_objs.mainframes[name].titleframe.BorderColor3 = Color3.new(0, 0, 139 / 255)
  377. self.gui_objs.mainframes[name].titleframe.BorderSizePixel = 3
  378. self.gui_objs.mainframes[name].titleframe.Name = "titleframe"
  379. self.gui_objs.mainframes[name].titleframe.Position = UDim2.new(0, 0, 0, -35)
  380. self.gui_objs.mainframes[name].titleframe.Size = UDim2.new(1, 0, 0, 25)
  381. self.gui_objs.mainframes[name].titleframe.Parent = self.gui_objs.mainframes[name].main
  382.  
  383. self.gui_objs.mainframes[name].title = Instance.new("TextLabel")
  384. self.gui_objs.mainframes[name].title.BackgroundTransparency = 1
  385. self.gui_objs.mainframes[name].title.Name = "title"
  386. self.gui_objs.mainframes[name].title.Size = UDim2.new(1, 0, 1, 0)
  387. self.gui_objs.mainframes[name].title.Font = Enum.Font.Code
  388. self.gui_objs.mainframes[name].title.Text = name
  389. self.gui_objs.mainframes[name].title.TextColor3 = Color3.new(1, 1, 1) -- 0, 0, 1
  390. self.gui_objs.mainframes[name].title.TextSize = 20
  391. self.gui_objs.mainframes[name].title.Parent = self.gui_objs.mainframes[name].titleframe
  392.  
  393. self.gui_objs.mainframes[name].buttonsframe = Instance.new("Frame")
  394. self.gui_objs.mainframes[name].buttonsframe.BackgroundTransparency = 1
  395. self.gui_objs.mainframes[name].buttonsframe.Name = "buttons"
  396. self.gui_objs.mainframes[name].buttonsframe.Size = UDim2.new(1, 0, 1, 0)
  397. self.gui_objs.mainframes[name].buttonsframe.Parent = self.gui_objs.mainframes[name].main
  398.  
  399. self.gui_objs.mainframes[name].infoframe = self.gui_objs.mainframes[name].titleframe:clone()
  400. self.gui_objs.mainframes[name].infoframe.title:Destroy()
  401. self.gui_objs.mainframes[name].infoframe.Name = "infoframe"
  402. self.gui_objs.mainframes[name].infoframe.Position = UDim2.new(0, 0, 1, 10)
  403. self.gui_objs.mainframes[name].infoframe.Parent = self.gui_objs.mainframes[name].main
  404.  
  405. self.gui_objs.mainframes[name].infotitle = self.gui_objs.mainframes[name].title:clone()
  406. self.gui_objs.mainframes[name].infotitle.Name = "infotitle"
  407. self.gui_objs.mainframes[name].infotitle.Text = "Press the \"P\" key to toggle the GUI\nMade by: @Racist Dolphin#0001"
  408. self.gui_objs.mainframes[name].infotitle.TextColor3 = Color3.new(1, 1, 1)
  409. self.gui_objs.mainframes[name].infotitle.TextScaled = true
  410. self.gui_objs.mainframes[name].infotitle.Parent = self.gui_objs.mainframes[name].infoframe
  411.  
  412. self.gui_objs.mainframes[name].buttonsnum = 0
  413. self.gui_objs.mainframes.numX = self.gui_objs.mainframes.numX + 250
  414.  
  415. if (50 + (self.gui_objs.mainframes.numX + 200)) >= ca.ViewportSize.X then
  416. self.gui_objs.mainframes.numX = 0
  417. self.gui_objs.mainframes.numY = self.gui_objs.mainframes.numY + 450
  418. end
  419.  
  420. self.gui_objs.mainframes[name].main.Parent = self.gui_objs.main
  421. end
  422.  
  423. function gui:Init()
  424. self.gui_objs.main = Instance.new("ScreenGui")
  425. self.gui_objs.main.Name = self.name
  426. self.gui_objs.main.Parent = cg
  427.  
  428. do -- Visual Cheats
  429. self:AddMainFrame("Visual Cheats")
  430.  
  431. local ESPBut, ESPStatus = self:AddButton("Visual Cheats", "ESP", "ESP")
  432. local ChamsBut, ChamsStatus = self:AddButton("Visual Cheats", "Chams", "Chams")
  433. local FullbrightToggle, FullbrightStatus = self:AddButton("Visual Cheats", "Fullbright", "Fullbright")
  434.  
  435. ESPBut.MouseButton1Click:connect(function()
  436. esp_stuff.enabled = not esp_stuff.enabled
  437. if esp_stuff.enabled then
  438. ESPStatus.Text = "ON"
  439. ESPStatus.TextColor3 = Color3.new(0, 1, 0)
  440. else
  441. ESPStatus.Text = "OFF"
  442. ESPStatus.TextColor3 = Color3.new(1, 0, 0)
  443. end
  444.  
  445. for i, v in next, esp_stuff.esp_folder:GetChildren() do
  446. v.Frame.Visible = esp_stuff.enabled
  447. end
  448. end)
  449.  
  450. ChamsBut.MouseButton1Click:connect(function()
  451. cham_stuff.enabled = not cham_stuff.enabled
  452. if cham_stuff.enabled then
  453. ChamsStatus.Text = "ON"
  454. ChamsStatus.TextColor3 = Color3.new(0, 1, 0)
  455. else
  456. ChamsStatus.Text = "OFF"
  457. ChamsStatus.TextColor3 = Color3.new(1, 0, 0)
  458. end
  459.  
  460. for i, v in next, cham_stuff.cham_folder:GetChildren() do
  461. for i2, v2 in next, v:GetChildren() do
  462. v2.Transparency = cham_stuff.enabled and 0 or 1
  463. end
  464. end
  465. end)
  466.  
  467. FullbrightToggle.MouseButton1Click:connect(function()
  468. fullbright_stuff.enabled = not fullbright_stuff.enabled
  469. FullbrightStatus.Text = fullbright_stuff.enabled and "ON" or "OFF"
  470. FullbrightStatus.TextColor3 = fullbright_stuff.enabled and Color3.new(0, 1, 0) or Color3.new(1, 0, 0)
  471.  
  472. if fullbright_stuff.enabled then
  473. fullbright_stuff:Enable()
  474. else
  475. fullbright_stuff:Disable()
  476. end
  477. end)
  478. end
  479.  
  480. do -- ui toggle
  481. i.InputBegan:connect(function(input, ingui)
  482. if not ingui then
  483. if input.UserInputType == Enum.UserInputType.Keyboard then
  484. if input.KeyCode == Enum.KeyCode.P then
  485. self.gui_objs.main.Enabled = not self.gui_objs.main.Enabled
  486. end
  487. end
  488. end
  489. end)
  490. end
  491. end
  492. end
  493.  
  494. do -- main
  495. function main:Init()
  496. do -- events
  497. p.CharacterAdded:connect(function(char)
  498. c = char
  499. end)
  500. end
  501.  
  502. do -- loops
  503. functions:RunLoop("Version_Check", function()
  504. local data = loadstring(game:HttpGet("https://pastebin.com/raw/HLvUvtLv", true))()
  505. messages_of_the_day = data.messages_of_the_day
  506. data = data["Project Bullshit"]
  507.  
  508. local current_version, reason = data.version, data.reason
  509.  
  510. if version ~= current_version then
  511. p:Kick("This script has updated, please re-connect. Current Version: " .. tostring(current_version) .. " your version: " .. version .. "\nReason: " .. reason)
  512. end
  513.  
  514. wait(300)
  515. end)
  516.  
  517. functions:RunLoop("Messages of the Day", function()
  518. if messages_of_the_day == nil then return end
  519.  
  520. for i = 1, #messages_of_the_day do
  521. functions:Console(tostring(messages_of_the_day[i]))
  522. wait(60)
  523. end
  524. end)
  525. end
  526. end
  527. end
  528.  
  529. do -- esp_stuff
  530. esp_stuff = {
  531. enabled = false,
  532. esp_folder = Instance.new("Folder", cg)
  533. }
  534.  
  535. function esp_stuff:CreateESP(plr)
  536. local char = plr.Character or plr.CharacterAdded:wait()
  537. local tor = char:FindFirstChild("HumanoidRootPart") or char:WaitForChild("HumanoidRootPart")
  538. local head = char:FindFirstChild("Head") or char:WaitForChild("Head")
  539. local color = functions:GetTeamColor(plr)
  540.  
  541. local bb = Instance.new("BillboardGui")
  542. bb.Adornee = head
  543. bb.ExtentsOffset = Vector3.new(0, 1, 0)
  544. bb.AlwaysOnTop = true
  545. bb.Size = UDim2.new(0, 5, 0, 5)
  546. bb.StudsOffset = Vector3.new(0, 3, 0)
  547. bb.Name = "ESP Crap_" .. plr.Name
  548.  
  549. local frame = Instance.new("Frame", bb)
  550. frame.ZIndex = 10
  551. frame.BackgroundTransparency = 1
  552. frame.Size = UDim2.new(1, 0, 1, 0)
  553.  
  554. local TxtName = Instance.new("TextLabel", frame)
  555. TxtName.Name = "Names"
  556. TxtName.ZIndex = 10
  557. TxtName.Text = plr.Name
  558. TxtName.BackgroundTransparency = 1
  559. TxtName.Position = UDim2.new(0, 0, 0, -45)
  560. TxtName.Size = UDim2.new(1, 0, 10, 0)
  561. TxtName.Font = "SourceSansBold"
  562. TxtName.TextSize = 12
  563. TxtName.TextStrokeTransparency = 0.5
  564. TxtName.TextColor3 = color
  565.  
  566. local TxtDist = Instance.new("TextLabel", frame)
  567. TxtDist.Name = "Dist"
  568. TxtDist.ZIndex = 10
  569. TxtDist.Text = ""
  570. TxtDist.BackgroundTransparency = 1
  571. TxtDist.Position = UDim2.new(0, 0, 0, -35)
  572. TxtDist.Size = UDim2.new(1, 0, 10, 0)
  573. TxtDist.Font = "SourceSansBold"
  574. TxtDist.TextSize = 12
  575. TxtDist.TextStrokeTransparency = 0.5
  576. TxtDist.TextColor3 = color
  577.  
  578. local TxtHealth = Instance.new("TextLabel", frame)
  579. TxtHealth.Name = "Health"
  580. TxtHealth.ZIndex = 10
  581. TxtHealth.Text = ""
  582. TxtHealth.BackgroundTransparency = 1
  583. TxtHealth.Position = UDim2.new(0, 0, 0, -25)
  584. TxtHealth.Size = UDim2.new(1, 0, 10, 0)
  585. TxtHealth.Font = "SourceSansBold"
  586. TxtHealth.TextSize = 12
  587. TxtHealth.TextStrokeTransparency = 0.5
  588. TxtHealth.TextColor3 = color
  589.  
  590. bb.Parent = self.esp_folder
  591. frame.Visible = self.enabled
  592. end
  593.  
  594. function esp_stuff:RemoveESP(plr)
  595. local find = self.esp_folder:FindFirstChild("ESP Crap_" .. plr.Name)
  596. if find then
  597. find:Destroy()
  598. end
  599. end
  600.  
  601. function esp_stuff:UpdateESPColor(plr)
  602. local find = self.esp_folder:FindFirstChild("ESP Crap_" .. plr.Name)
  603. if find then
  604. local color = functions:GetTeamColor(plr)
  605. find.Frame.Names.TextColor3 = color
  606. find.Frame.Dist.TextColor3 = color
  607. find.Frame.Health.TextColor3 = color
  608. end
  609. end
  610.  
  611. function esp_stuff:UpdateESP(plr)
  612. local find = self.esp_folder:FindFirstChild("ESP Crap_" .. plr.Name)
  613. if find then
  614. local char = plr.Character
  615. if c and char then
  616. local my_tor = c:FindFirstChild("HumanoidRootPart")
  617. local their_head = char:FindFirstChild("Head")
  618. local their_tor = char:FindFirstChild("HumanoidRootPart")
  619. local their_hum = char:FindFirstChildOfClass("Humanoid")
  620.  
  621. if my_tor and their_tor then
  622. local dist = (my_tor.Position - their_tor.Position).magnitude
  623. find.Frame.Dist.Text = "Distance: " .. string.format("%.0f", dist)
  624. else
  625. find.Frame.Dist.Text = "Distance: nil"
  626. end
  627.  
  628. if their_hum then
  629. find.Frame.Health.Text = "Health: " .. string.format("%.0f", their_hum.Health)
  630. else
  631. find.Frame.Health.Text = "Health: nil"
  632. end
  633.  
  634. if their_head then
  635. if find.Adornee ~= their_head then
  636. find.Adornee = their_head
  637. end
  638. end
  639. end
  640. end
  641. end
  642.  
  643. function esp_stuff:Init()
  644. functions:RunLoop("ESP_Update", function()
  645. if self.enabled then
  646. for i, v in pairs(ps:GetPlayers()) do
  647. self:UpdateESP(v)
  648. end
  649. end
  650. end)
  651.  
  652. for i, v in pairs(ps:GetPlayers()) do
  653. if v ~= p then
  654. self:CreateESP(v)
  655. v.Changed:connect(function(prop)
  656. self:UpdateESPColor(v)
  657. end)
  658. end
  659. end
  660.  
  661. ps.PlayerAdded:connect(function(plr)
  662. self:CreateESP(plr)
  663. plr.Changed:connect(function(prop)
  664. self:UpdateESPColor(plr)
  665. end)
  666. end)
  667.  
  668. ps.PlayerRemoving:connect(function(plr)
  669. self:RemoveESP(plr)
  670. end)
  671. end
  672. end
  673.  
  674. do -- cham_stuff
  675. cham_stuff = {
  676. enabled = false,
  677. cham_folder = Instance.new("Folder", cg)
  678. }
  679.  
  680. function cham_stuff:CreateCham(plr)
  681. local player_folder = Instance.new("Folder", self.cham_folder)
  682. player_folder.Name = plr.Name
  683.  
  684. local char = plr.Character or plr.CharacterAdded:wait()
  685. local tor = char:FindFirstChild("HumanoidRootPart") or char:WaitForChild("HumanoidRootPart")
  686. local hum = char:FindFirstChild("Humanoid") or char:WaitForChild("Humanoid")
  687.  
  688. for i, v in pairs(char:GetChildren()) do
  689. if v:IsA("PVInstance") and v.Name ~= "HumanoidRootPart" then
  690. local box = Instance.new("BoxHandleAdornment")
  691. box.Size = functions:GetSizeOfObj(v)
  692. box.Name = "Cham"
  693. box.Adornee = v
  694. box.AlwaysOnTop = true
  695. box.ZIndex = 5
  696. box.Transparency = self.enabled and 0 or 1
  697. box.Color3 = functions:GetTeamColor(plr)
  698. box.Parent = player_folder
  699. end
  700. end
  701.  
  702. plr.CharacterRemoving:connect(function()
  703. self:RemoveCham(plr)
  704. plr.CharacterAdded:wait()
  705. self:CreateCham(plr)
  706. end)
  707.  
  708. hum.Died:connect(function()
  709. self:RemoveCham(plr)
  710. plr.CharacterAdded:wait()
  711. self:CreateCham(plr)
  712. end)
  713. end
  714.  
  715. function cham_stuff:RemoveCham(plr)
  716. local find = self.cham_folder:FindFirstChild(plr.Name)
  717. if find then
  718. find:Destroy()
  719. end
  720. end
  721.  
  722. function cham_stuff:UpdateChamColor(plr)
  723. local player_folder = self.cham_folder:FindFirstChild(plr.Name)
  724. if player_folder then
  725. local color = functions:GetTeamColor(plr)
  726.  
  727. for i, v in pairs(player_folder:GetChildren()) do
  728. v.Color3 = color
  729. end
  730. end
  731. end
  732.  
  733. function cham_stuff:UpdateCham(plr)
  734. local player_folder = self.cham_folder:FindFirstChild(plr.Name)
  735.  
  736. local function SetTrans(trans)
  737. for i, v in pairs(player_folder:GetChildren()) do
  738. v.Transparency = trans
  739. end
  740. end
  741.  
  742. if player_folder then
  743. local char = plr.Character
  744. if c and char then
  745. local their_head = char:FindFirstChild("Head")
  746. local their_tor = char:FindFirstChild("HumanoidRootPart")
  747. local their_hum = char:FindFirstChild("Humanoid")
  748. local my_head = c:FindFirstChild("Head")
  749. local my_tor = c:FindFirstChild("HumanoidRootPart")
  750.  
  751. if their_hum then
  752. if their_hum.Health <= 0 then
  753. return SetTrans(1)
  754. end
  755. end
  756.  
  757. if their_head and their_tor and my_head and my_tor then
  758. if (my_tor.Position - their_tor.Position).magnitude > 2048 then
  759. return SetTrans(1)
  760. end
  761.  
  762. local ray = Ray.new(ca.CFrame.p, (their_tor.Position - ca.CFrame.p).unit * 2048)
  763. local part = workspace:FindPartOnRayWithIgnoreList(ray, {c})
  764. if part ~= nil then
  765. if part:IsDescendantOf(char) then
  766. return SetTrans(0.9)
  767. end
  768. end
  769. end
  770. end
  771.  
  772. return SetTrans(0)
  773. end
  774. end
  775.  
  776. function cham_stuff:Init()
  777. functions:RunLoop("Cham_Update", function()
  778. if self.enabled then
  779. for i, v in pairs(ps:GetPlayers()) do
  780. self:UpdateCham(v)
  781. end
  782. end
  783. end)
  784.  
  785. for i, v in pairs(ps:GetPlayers()) do
  786. if v ~= p then
  787. self:CreateCham(v)
  788.  
  789. v.Changed:connect(function(prop)
  790. self:UpdateChamColor(v)
  791. end)
  792. end
  793. end
  794.  
  795. ps.PlayerAdded:connect(function(plr)
  796. self:CreateCham(plr)
  797. plr.Changed:connect(function(prop)
  798. self:UpdateChamColor(plr)
  799. end)
  800. end)
  801.  
  802. ps.PlayerRemoving:connect(function(plr)
  803. self:RemoveCham(plr)
  804. end)
  805. end
  806. end
  807.  
  808. do -- fullbright_stuff
  809. fullbright_stuff = {
  810. enabled = false,
  811. backup = { },
  812. }
  813.  
  814. function fullbright_stuff:Enable()
  815. self.enabled = true
  816. light.Ambient = Color3.new(1, 1, 1)
  817. light.Brightness = 2
  818. light.ColorShift_Bottom = Color3.new(1, 1, 1)
  819. light.ColorShift_Top = Color3.new(1, 1, 1)
  820. light.OutdoorAmbient = Color3.new(1, 1, 1)
  821. end
  822.  
  823. function fullbright_stuff:Disable()
  824. self.enabled = false
  825. for i, v in pairs(self.backup) do
  826. light[i] = v
  827. end
  828. end
  829.  
  830. function fullbright_stuff:Init()
  831. self.backup["Ambient"] = light.Ambient
  832. self.backup["Brightness"] = light.Brightness
  833. self.backup["ColorShift_Bottom"] = light.ColorShift_Bottom
  834. self.backup["ColorShift_Top"] = light.ColorShift_Top
  835. self.backup["OutdoorAmbient"] = light.OutdoorAmbient
  836.  
  837. light:GetPropertyChangedSignal("Ambient"):connect(function()
  838. if self.enabled then
  839. light.Ambient = Color3.new(1, 1, 1)
  840. end
  841. end)
  842.  
  843. light:GetPropertyChangedSignal("Brightness"):connect(function()
  844. if self.enabled then
  845. light.Brightness = 2
  846. end
  847. end)
  848.  
  849. light:GetPropertyChangedSignal("ColorShift_Bottom"):connect(function()
  850. if self.enabled then
  851. light.ColorShift_Bottom = Color3.new(1, 1, 1)
  852. end
  853. end)
  854.  
  855. light:GetPropertyChangedSignal("ColorShift_Top"):connect(function()
  856. if self.enabled then
  857. light.ColorShift_Top = Color3.new(1, 1, 1)
  858. end
  859. end)
  860.  
  861. light:GetPropertyChangedSignal("OutdoorAmbient"):connect(function()
  862. if self.enabled then
  863. light.OutdoorAmbient = Color3.new(1, 1, 1)
  864. end
  865. end)
  866. end
  867. end
  868.  
  869.  
  870. main:Init()
  871. esp_stuff:Init()
  872. cham_stuff:Init()
  873. fullbright_stuff:Init()
  874. gui:Init()
  875.  
  876. functions:Console("Project Bullshit V4 Loaded!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement