Advertisement
Draydop

BIG!Painball

Jun 12th, 2023
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.57 KB | None | 0 0
  1. local library = loadstring(game:GetObjects("rbxassetid://7657867786")[1].Source)()
  2. local Wait = library.subs.Wait
  3. local Lplr = game.Players.LocalPlayer.Name
  4. local UI = library:CreateWindow({Name = "Big Paintball",Themeable = {Info = "made by tupsutumppu#3145"}, DefaultTheme = "{\"__Designer.Colors.main\":\"FB00FF\",\"__Designer.Colors.section\":\"FB00FF\",\"__Designer.Background.ImageAssetID\":\"rbxassetid://6071575925\",\"__Designer.Background.ImageColor\":\"000000\",\"__Designer.Colors.tabText\":\"1BFF00\",\"__Designer.Colors.otherElementText\":\"FFFFFF\",\"__Designer.Colors.elementText\":\"B0B0B0\",\"__Designer.Background.UseBackgroundImage\":\"false\"}"})
  5. local plr = game.Players.LocalPlayer
  6. local RS = game:GetService("RunService")
  7. local camera = game.Workspace.CurrentCamera
  8. local plrs = game:GetService("Players")
  9. local C_FOV = 250
  10. local main = UI:CreateTab({Name = "Main"})
  11. local Settings = {BOXESPENABLED = false,BOXESPCOLOR = Color3.fromRGB(255,255,255),BOXESPTHICKNESS = 1,MOVEMENT = false,WalkSpeed = 70,JumpPower = 70, SILENTAIM = false, SHOWFOV = false,}
  12. local boxes = {}
  13. local esp = main:CreateSection({Name = "Box ESP",Side = "Right"})
  14. local movement = main:CreateSection({Name = "Movement",Side = "Right"})
  15. local silentaim = main:CreateSection({Name = "Silent Aim",Side = "Left"})
  16. local gunmods = main:CreateSection({Name = "Gun Mods",Side = "Left"})
  17.  
  18. --functions
  19. --Just dont look at these or you will get eye cancer...
  20. local function gunMods()
  21. local scripts = game:GetService("ReplicatedStorage").Framework.Modules["1 | Directory"].Guns
  22. for i,v in pairs(scripts:GetChildren()) do
  23. pcall(function()
  24. local script_i = tostring(i)
  25. require(v)[script_i].firerate = 0
  26. require(v)[script_i].velocity = 9999999
  27. require(v)[script_i].automatic = true
  28. require(v)[script_i].additionalSpeed = 10
  29. require(v)[script_i].damage = math.huge
  30. end)
  31. end
  32. local ch = {"Ammo", "ammo", "Damage", "damage", "Firerate", "firerate", "FireRate", "fireRate"}
  33. for i,v in pairs(getgc(true)) do
  34. pcall(function()
  35. for f = 1, 8 do
  36. if type(v) == "table" and rawget(v, ch[f]) then
  37. v.burstDelay = 0
  38. v.shotrate = 0.02
  39. end
  40. end
  41. end)
  42. end
  43. end
  44. local function newLine()
  45. local v = Drawing.new("Line")
  46. v.Color = Settings.BOXESPCOLOR
  47. v.From = Vector2.new(1,1)
  48. v.To = Vector2.new(0,0)
  49. v.Visible = true
  50. v.Thickness = Settings.BOXESPTHICKNESS
  51. return v
  52. end
  53. local function newBox(player)
  54. local box = {
  55. ["Player"] = player, newLine(), newLine(), newLine(), newLine()
  56. }
  57. table.insert(boxes,box)
  58. end
  59. local function shapeBox(box)
  60. local player = box["Player"]
  61. local TL = camera:WorldToViewportPoint(player.HumanoidRootPart.CFrame * CFrame.new(-3,3,0).p)
  62. local TR = camera:WorldToViewportPoint(player.HumanoidRootPart.CFrame * CFrame.new(3,3,0).p)
  63. local BL = camera:WorldToViewportPoint(player.HumanoidRootPart.CFrame * CFrame.new(-3,-3,0).p)
  64. local BR = camera:WorldToViewportPoint(player.HumanoidRootPart.CFrame * CFrame.new(3,-3,0).p)
  65. box[1].From = Vector2.new(TL.X, TL.Y)
  66. box[1].To = Vector2.new(BL.X, BL.Y)
  67. -- Top line
  68. box[2].To = Vector2.new(TR.X, TR.Y)
  69. box[2].From = Vector2.new(TL.X, TL.Y)
  70. -- Right line
  71. box[3].To = Vector2.new(BR.X, BR.Y)
  72. box[3].From = Vector2.new(TR.X, TR.Y)
  73. -- Bottom line
  74. box[4].To = Vector2.new(BR.X, BR.Y)
  75. box[4].From = Vector2.new(BL.X, BL.Y)
  76. end
  77. local function visBox(box, vis)
  78. for i,v in ipairs(box) do v.Visible = vis end
  79. end
  80. local function hasBox(player)
  81. for i, v in ipairs(boxes) do
  82. if v["Player"] == player then return true end
  83. end
  84. end
  85. local function clearBoxes()
  86. for i = #boxes, 1, -1 do
  87. local box = table.remove(boxes, i)
  88. visBox(box, false)
  89. for j = 2, #box do
  90. box[j]:Remove()
  91. end
  92. end
  93. end
  94. local function draw_Circle(val)
  95. if val then
  96. Circle = Drawing.new("Circle")
  97. Circle.Thickness = 2
  98. Circle.NumSides = 64
  99. Circle.Radius = C_FOV
  100. Circle.Filled = false
  101. Circle.Color = Color3.fromRGB(255,255,255)
  102. Circle.Visible = true
  103. Circle.Position = Vector2.new(game.Workspace.CurrentCamera.ViewportSize.X / 2, game.Workspace.CurrentCamera.ViewportSize.Y / 2)
  104. else
  105. Circle.Visible = false
  106. end
  107. end
  108. local function getClosestToCenter(FOV)
  109. local maxDist = FOV or math.huge
  110. local closestPlayer = nil
  111. local closestPlayerDist = math.huge
  112. local screenCenter = Vector2.new(game.Workspace.CurrentCamera.ViewportSize.X / 2, game.Workspace.CurrentCamera.ViewportSize.Y / 2)
  113. for _, player in pairs(game.Workspace:GetChildren()) do
  114. if player:IsA("Model") and player.Name ~= plrs.LocalPlayer.Name and plrs:FindFirstChild(player.Name) then
  115. local humanoid = player:FindFirstChild("Humanoid")
  116. local humanoidRootPart = player:FindFirstChild("HumanoidRootPart")
  117. local head = player:FindFirstChild("Head")
  118. if humanoid and humanoidRootPart and head then
  119. local pos, onScreen = camera:WorldToViewportPoint(head.Position)
  120. if onScreen then
  121. local distance = (screenCenter - Vector2.new(pos.X, pos.Y)).magnitude
  122. if distance <= maxDist and distance < closestPlayerDist then
  123. closestPlayer = player
  124. closestPlayerDist = distance
  125. end
  126. end
  127. end
  128. end
  129. end
  130. return closestPlayer
  131. end
  132. game:GetService("RunService").Heartbeat:Connect(function()
  133. if Settings.SILENTAIM then
  134. targetplayer = getClosestToCenter(C_FOV)
  135. else end
  136. end)
  137. local nameCallHook; nameCallHook = hookmetamethod(game, "__namecall", newcclosure(function(...)
  138. local args = {...}
  139. local method = getnamecallmethod()
  140. local call = getcallingscript()
  141. if string.lower(method) == "findpartonraywithwhitelist" and tostring(call) == "First Person Controller" then
  142. local toHit = targetplayer and targetplayer.Head and targetplayer.Head.Position or nil
  143. if Settings.SILENTAIM and toHit then
  144. local startFrom = toHit + Vector3.new(0,6,0)
  145. local endTo = toHit - startFrom
  146. args[2] = Ray.new(startFrom, endTo)
  147. return nameCallHook(unpack(args))
  148. else
  149. return nameCallHook(...)
  150. end
  151. end
  152. return nameCallHook(...)
  153. end))
  154. RS.RenderStepped:connect(function()
  155. for i, player in ipairs(game.Workspace:GetChildren()) do
  156. if player.Name ~= plr.Name and player:IsA("Model") then
  157. if not hasBox(player) then
  158. newBox(player)
  159. end
  160. end
  161. end
  162. for i, v in ipairs(boxes) do
  163. local player = v["Player"]
  164. if Settings.BOXESPENABLED and player:FindFirstChild("HumanoidRootPart") and player:FindFirstChild("Humanoid") then
  165. shapeBox(v)
  166. local _, withinScreenBounds = camera:WorldToScreenPoint(player.HumanoidRootPart.Position)
  167. if withinScreenBounds then
  168. visBox(v,true)
  169. else
  170. visBox(v,false)
  171. end
  172. else
  173. visBox(v, false)
  174. end
  175. end
  176. if Settings.MOVEMENT then
  177. game.Workspace[Lplr].Humanoid.WalkSpeed = Settings.WalkSpeed
  178. game.Workspace[Lplr].Humanoid.JumpPower = Settings.JumpPower
  179. end
  180. end)
  181. game.Workspace.ChildRemoved:Connect(function(a)
  182. if a:IsA("Model") and game.Players:FindFirstChild(a.Name) then
  183. clearBoxes()
  184. end
  185. end)
  186. --Buttons&etc
  187. silentaim:AddToggle({Name = "Enabled",Flag = "HI_THERE_WHAT_ARE_YOU_LOOKING_FOR",Callback = function(fff)if fff then Settings.SILENTAIM = true else Settings.SILENTAIM = false end end})
  188. silentaim:AddToggle({Name = "Show FOV Circle",Flag = "HI_THERE_WHAT_ARE_YOU_LOOKING_FOR2",Callback = function(sigmaballsjuhani)if sigmaballsjuhani then Settings.SHOWFOV = true draw_Circle(true) else Settings.SHOWFOV = false draw_Circle(false) end end})
  189. silentaim:AddColorPicker({Name = "FOV Color",Flag = "fcpicker",Callback = function(fcolor) wait() Circle.Color = fcolor end})
  190. silentaim:AddSlider({Name = "FOV Thickness",Flag = "fthickness",Value = 2,Min = 1,Max = 4,Callback = function(Value) Circle.Thickness = Value end})
  191. gunmods:AddButton({Name = "Enable Gun Mods",Callback = function() gunMods() end})
  192. esp:AddToggle({Name = "Enabled",Flag = "besp",Callback = function(ff)if ff then Settings.BOXESPENABLED = true else Settings.BOXESPENABLED = false end end})
  193. esp:AddColorPicker({Name = "Color",Flag = "cpicker",Callback = function(ecolor)Settings.BOXESPCOLOR = ecolor clearBoxes() end})
  194. esp:AddSlider({Name = "Thickness",Flag = "ethickness",Value = 1,Min = 1,Max = 4,Callback = function(Value) Settings.BOXESPTHICKNESS = Value clearBoxes() end})
  195. movement:AddToggle({Name = "Enable Movement Sliders",Flag = "m",Callback = function(wd) if wd then Settings.MOVEMENT = true else Settings.MOVEMENT = false end end})
  196. movement:AddSlider({Name = "WalkSpeed",Flag = "ws",Value = nil,Min = 0,Max = 150,Callback = function (ws) if Settings.MOVEMENT then Settings.WalkSpeed = ws end end})
  197. movement:AddSlider({Name = "JumpPower",Flag = "jp",Value = nil,Min = 0,Max = 200,Callback = function (jp) if Settings.MOVEMENT then Settings.JumpPower = jp end end})
  198. movement:AddSlider({Name = "Gravity",Flag = "gr",Value = 90,Min = 0,Max = 200,Callback = function (g) if Settings.MOVEMENT then game.Workspace.Gravity = g end end})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement