Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local library = loadstring(game:GetObjects("rbxassetid://7657867786")[1].Source)()
- local Wait = library.subs.Wait
- local Lplr = game.Players.LocalPlayer.Name
- 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\"}"})
- local plr = game.Players.LocalPlayer
- local RS = game:GetService("RunService")
- local camera = game.Workspace.CurrentCamera
- local plrs = game:GetService("Players")
- local C_FOV = 250
- local main = UI:CreateTab({Name = "Main"})
- local Settings = {BOXESPENABLED = false,BOXESPCOLOR = Color3.fromRGB(255,255,255),BOXESPTHICKNESS = 1,MOVEMENT = false,WalkSpeed = 70,JumpPower = 70, SILENTAIM = false, SHOWFOV = false,}
- local boxes = {}
- local esp = main:CreateSection({Name = "Box ESP",Side = "Right"})
- local movement = main:CreateSection({Name = "Movement",Side = "Right"})
- local silentaim = main:CreateSection({Name = "Silent Aim",Side = "Left"})
- local gunmods = main:CreateSection({Name = "Gun Mods",Side = "Left"})
- --functions
- --Just dont look at these or you will get eye cancer...
- local function gunMods()
- local scripts = game:GetService("ReplicatedStorage").Framework.Modules["1 | Directory"].Guns
- for i,v in pairs(scripts:GetChildren()) do
- pcall(function()
- local script_i = tostring(i)
- require(v)[script_i].firerate = 0
- require(v)[script_i].velocity = 9999999
- require(v)[script_i].automatic = true
- require(v)[script_i].additionalSpeed = 10
- require(v)[script_i].damage = math.huge
- end)
- end
- local ch = {"Ammo", "ammo", "Damage", "damage", "Firerate", "firerate", "FireRate", "fireRate"}
- for i,v in pairs(getgc(true)) do
- pcall(function()
- for f = 1, 8 do
- if type(v) == "table" and rawget(v, ch[f]) then
- v.burstDelay = 0
- v.shotrate = 0.02
- end
- end
- end)
- end
- end
- local function newLine()
- local v = Drawing.new("Line")
- v.Color = Settings.BOXESPCOLOR
- v.From = Vector2.new(1,1)
- v.To = Vector2.new(0,0)
- v.Visible = true
- v.Thickness = Settings.BOXESPTHICKNESS
- return v
- end
- local function newBox(player)
- local box = {
- ["Player"] = player, newLine(), newLine(), newLine(), newLine()
- }
- table.insert(boxes,box)
- end
- local function shapeBox(box)
- local player = box["Player"]
- local TL = camera:WorldToViewportPoint(player.HumanoidRootPart.CFrame * CFrame.new(-3,3,0).p)
- local TR = camera:WorldToViewportPoint(player.HumanoidRootPart.CFrame * CFrame.new(3,3,0).p)
- local BL = camera:WorldToViewportPoint(player.HumanoidRootPart.CFrame * CFrame.new(-3,-3,0).p)
- local BR = camera:WorldToViewportPoint(player.HumanoidRootPart.CFrame * CFrame.new(3,-3,0).p)
- box[1].From = Vector2.new(TL.X, TL.Y)
- box[1].To = Vector2.new(BL.X, BL.Y)
- -- Top line
- box[2].To = Vector2.new(TR.X, TR.Y)
- box[2].From = Vector2.new(TL.X, TL.Y)
- -- Right line
- box[3].To = Vector2.new(BR.X, BR.Y)
- box[3].From = Vector2.new(TR.X, TR.Y)
- -- Bottom line
- box[4].To = Vector2.new(BR.X, BR.Y)
- box[4].From = Vector2.new(BL.X, BL.Y)
- end
- local function visBox(box, vis)
- for i,v in ipairs(box) do v.Visible = vis end
- end
- local function hasBox(player)
- for i, v in ipairs(boxes) do
- if v["Player"] == player then return true end
- end
- end
- local function clearBoxes()
- for i = #boxes, 1, -1 do
- local box = table.remove(boxes, i)
- visBox(box, false)
- for j = 2, #box do
- box[j]:Remove()
- end
- end
- end
- local function draw_Circle(val)
- if val then
- Circle = Drawing.new("Circle")
- Circle.Thickness = 2
- Circle.NumSides = 64
- Circle.Radius = C_FOV
- Circle.Filled = false
- Circle.Color = Color3.fromRGB(255,255,255)
- Circle.Visible = true
- Circle.Position = Vector2.new(game.Workspace.CurrentCamera.ViewportSize.X / 2, game.Workspace.CurrentCamera.ViewportSize.Y / 2)
- else
- Circle.Visible = false
- end
- end
- local function getClosestToCenter(FOV)
- local maxDist = FOV or math.huge
- local closestPlayer = nil
- local closestPlayerDist = math.huge
- local screenCenter = Vector2.new(game.Workspace.CurrentCamera.ViewportSize.X / 2, game.Workspace.CurrentCamera.ViewportSize.Y / 2)
- for _, player in pairs(game.Workspace:GetChildren()) do
- if player:IsA("Model") and player.Name ~= plrs.LocalPlayer.Name and plrs:FindFirstChild(player.Name) then
- local humanoid = player:FindFirstChild("Humanoid")
- local humanoidRootPart = player:FindFirstChild("HumanoidRootPart")
- local head = player:FindFirstChild("Head")
- if humanoid and humanoidRootPart and head then
- local pos, onScreen = camera:WorldToViewportPoint(head.Position)
- if onScreen then
- local distance = (screenCenter - Vector2.new(pos.X, pos.Y)).magnitude
- if distance <= maxDist and distance < closestPlayerDist then
- closestPlayer = player
- closestPlayerDist = distance
- end
- end
- end
- end
- end
- return closestPlayer
- end
- game:GetService("RunService").Heartbeat:Connect(function()
- if Settings.SILENTAIM then
- targetplayer = getClosestToCenter(C_FOV)
- else end
- end)
- local nameCallHook; nameCallHook = hookmetamethod(game, "__namecall", newcclosure(function(...)
- local args = {...}
- local method = getnamecallmethod()
- local call = getcallingscript()
- if string.lower(method) == "findpartonraywithwhitelist" and tostring(call) == "First Person Controller" then
- local toHit = targetplayer and targetplayer.Head and targetplayer.Head.Position or nil
- if Settings.SILENTAIM and toHit then
- local startFrom = toHit + Vector3.new(0,6,0)
- local endTo = toHit - startFrom
- args[2] = Ray.new(startFrom, endTo)
- return nameCallHook(unpack(args))
- else
- return nameCallHook(...)
- end
- end
- return nameCallHook(...)
- end))
- RS.RenderStepped:connect(function()
- for i, player in ipairs(game.Workspace:GetChildren()) do
- if player.Name ~= plr.Name and player:IsA("Model") then
- if not hasBox(player) then
- newBox(player)
- end
- end
- end
- for i, v in ipairs(boxes) do
- local player = v["Player"]
- if Settings.BOXESPENABLED and player:FindFirstChild("HumanoidRootPart") and player:FindFirstChild("Humanoid") then
- shapeBox(v)
- local _, withinScreenBounds = camera:WorldToScreenPoint(player.HumanoidRootPart.Position)
- if withinScreenBounds then
- visBox(v,true)
- else
- visBox(v,false)
- end
- else
- visBox(v, false)
- end
- end
- if Settings.MOVEMENT then
- game.Workspace[Lplr].Humanoid.WalkSpeed = Settings.WalkSpeed
- game.Workspace[Lplr].Humanoid.JumpPower = Settings.JumpPower
- end
- end)
- game.Workspace.ChildRemoved:Connect(function(a)
- if a:IsA("Model") and game.Players:FindFirstChild(a.Name) then
- clearBoxes()
- end
- end)
- --Buttons&etc
- 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})
- 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})
- silentaim:AddColorPicker({Name = "FOV Color",Flag = "fcpicker",Callback = function(fcolor) wait() Circle.Color = fcolor end})
- silentaim:AddSlider({Name = "FOV Thickness",Flag = "fthickness",Value = 2,Min = 1,Max = 4,Callback = function(Value) Circle.Thickness = Value end})
- gunmods:AddButton({Name = "Enable Gun Mods",Callback = function() gunMods() end})
- esp:AddToggle({Name = "Enabled",Flag = "besp",Callback = function(ff)if ff then Settings.BOXESPENABLED = true else Settings.BOXESPENABLED = false end end})
- esp:AddColorPicker({Name = "Color",Flag = "cpicker",Callback = function(ecolor)Settings.BOXESPCOLOR = ecolor clearBoxes() end})
- esp:AddSlider({Name = "Thickness",Flag = "ethickness",Value = 1,Min = 1,Max = 4,Callback = function(Value) Settings.BOXESPTHICKNESS = Value clearBoxes() end})
- movement:AddToggle({Name = "Enable Movement Sliders",Flag = "m",Callback = function(wd) if wd then Settings.MOVEMENT = true else Settings.MOVEMENT = false end end})
- movement:AddSlider({Name = "WalkSpeed",Flag = "ws",Value = nil,Min = 0,Max = 150,Callback = function (ws) if Settings.MOVEMENT then Settings.WalkSpeed = ws end end})
- movement:AddSlider({Name = "JumpPower",Flag = "jp",Value = nil,Min = 0,Max = 200,Callback = function (jp) if Settings.MOVEMENT then Settings.JumpPower = jp end end})
- 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