Новичок
- Статус
- Оффлайн
- Регистрация
- 10 Дек 2019
- Сообщения
- 1
- Реакции
- 0
if getrenv().traphook then
return
end
getrenv().traphook = true
local plrs = game:GetService("Players")
local plr = plrs.LocalPlayer
local repstor = game:GetService("ReplicatedStorage")
local runserv = game:GetService("RunService")
local uis = game:GetService("UserInputService")
local cam = workspace.CurrentCamera
local client = getsenv(plr.PlayerGui.Client)
local espFolder = Instance.new("Folder",game.CoreGui)
local rage = false
local shootCooldown = false
local antiAim = "OFF"
local visual = false
local plrChams = false
local bulletTracer = false
local thirdPerson = false
local hoop = nil
local target = nil
local speedBackup = client.speedupdate
local mt = getrawmetatable(game)
setreadonly(mt,false)
local nc = mt.__namecall
mt.__namecall = newcclosure(
function(self,...)
local args = {...}
local namecall = getnamecallmethod()
if namecall == "FindPartOnRayWithIgnoreList" then
if target and plr.Character and rage then
args[1] = Ray.new(workspace.CurrentCamera.CFrame.p, (target.CFrame.p - workspace.CurrentCamera.CFrame.p).unit * 500)
end
end
if namecall == "FireServer" and tostring(self) == "ControlTurn" then
if plr.Character and rage and antiAim then
args[1] = -0.96247750520706
end
end
return nc(self,unpack(args))
end
)
function simulateShot(target)
local hitList = {
cam,
plr.Character,
game.Workspace.Debris,
game.Workspace.Ray_Ignore,
game.Workspace.Map:WaitForChild("Clips"),
game.Workspace.Map:WaitForChild("SpawnPoints")
}
local gun = client.gun
local gunPen,gunRange,gunDMG
if gun:FindFirstChild("Penetration") then
gunPen = gun.Penetration.Value * 0.01
end
if gun:FindFirstChild("Range") then
gunRange = gun.Range.Value
end
if gun:FindFirstChild("DMG") then
gunDMG = gun.DMG.Value
end
local direction = CFrame.new(cam.CFrame.p, target.Character.Head.Position).lookVector.unit * gunRange * 0.0694
local rayCasted = Ray.new(cam.CFrame.p, direction)
local hitPart, hitPos = workspace:FindPartOnRayWithIgnoreList(rayCasted, hitList, false, true)
local partPenetrated = 0
local limit = 0
local partHit, posHit, normHit
local partModifier = 1
local damageModifier = 1
repeat
partHit, posHit, normHit = workspace:FindPartOnRayWithIgnoreList(rayCasted, hitList, false, true)
if partHit and partHit.Parent then
partModifier = 1
if partHit.Material == Enum.Material.DiamondPlate then
partModifier = 3
elseif partHit.Material == Enum.Material.CorrodedMetal or partHit.Material == Enum.Material.Metal or partHit.Material == Enum.Material.Concrete or partHit.Material == Enum.Material.Brick then
partModifier = 2
elseif partHit.Name == "Grate" or partHit.Material == Enum.Material.Wood or partHit.Material == Enum.Material.WoodPlanks or partHit and partHit.Parent and partHit.Parent:FindFirstChild("Humanoid") then
partModifier = 0.1
elseif partHit.Transparency == 1 or partHit.CanCollide == false or partHit.Name == "Glass" or partHit.Name == "Cardboard" or partHit:IsDescendantOf(game.Workspace.Ray_Ignore) or partHit:IsDescendantOf(game.Workspace.Debris) or partHit and partHit.Parent and partHit.Parent.Name == "Hitboxes" then
partModifier = 0
elseif partHit.Name == "nowallbang" then
partModifier = 100
elseif partHit:FindFirstChild("PartModifier") then
partModifier = partHit.PartModifier.Value
end
local fakeHit, fakePos = workspace:FindPartOnRayWithWhitelist(Ray.new(posHit + direction * 1, direction * -2), {partHit}, true)
local penDistance = (fakePos - posHit).magnitude
penDistance = penDistance * partModifier
limit = math.min(gunPen, limit + penDistance)
local wallbang = false
if partPenetrated >= 1 then
wallbang = true
end
if partHit and partHit.Parent and partHit.Parent.Name == "Hitboxes" or partHit and partHit.Parent.className == "Accessory" or partHit and partHit.Parent.className == "Hat" or partHit.Name == "HumanoidRootPart" and partHit.Parent.Name ~= "Door" or partHit.Name == "Head" and partHit.Parent:FindFirstChild("Hostage") == nil then
else
if partHit and partHit:IsDescendantOf(target.Character) and partHit.Transparency < 1 or partHit.Name == "HeadHB" then
return partHit, posHit, damageModifier, wallbang
end
end
damageModifier = 1 - limit / gunPen
if partModifier > 0 then
partPenetrated = partPenetrated + 1
end
if partHit and partHit.Parent and partHit.Parent.Name == "Hitboxes" or partHit and partHit.Parent and partHit.Parent.Parent and partHit.Parent.Parent:FindFirstChild("Humanoid2") or partHit and partHit.Parent and partHit.Parent:FindFirstChild("Humanoid2") or partHit and partHit.Parent and partHit.Parent:FindFirstChild("Humanoid") and (1 > partHit.Transparency or partHit.Name == "HeadHB") and partHit.Parent:IsA("Model") then
table.insert(hitList, partHit.Parent)
else
table.insert(hitList, partHit)
end
end
until partHit == nil or partHit.Parent == target.Character or limit >= gunPen or 0 >= damageModifier or partPenetrated >= 4
end
function AA(angle)
if plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
plr.Character.HumanoidRootPart.CFrame = CFrame.new(plr.Character.HumanoidRootPart.Position, plr.Character.HumanoidRootPart.Position + Vector3.new(cam.CFrame.lookVector.X, 0, cam.CFrame.lookVector.Z)) * CFrame.Angles(0, math.rad(angle), 0)
end
end
function chamPlr(plr)
if plr.Character then
for i,v in next,plr.Character:GetChildren() do
if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then
local chamThing = Instance.new("BoxHandleAdornment",espFolder)
chamThing.Size = v.Size
chamThing.Transparency = 0.5
chamThing.ZIndex = 0
chamThing.AlwaysOnTop = true
chamThing.Visible = true
chamThing.Adornee = v
chamThing.Color3 = Color3.fromRGB(255, 85, 0)
plr.Character.HumanoidRootPart.AncestryChanged:connect(function()
chamThing:Destroy()
end)
end
end
end
end
function traceBullet(pos)
local tracer = Instance.new("Part",game.Workspace.Debris)
tracer.BrickColor = Color3.fromRGB(255, 85, 0)
tracer.Material = Enum.Material.ForceField
tracer.Anchored = true
tracer.CanCollide = false
local distance = (plr.Character.Head.CFrame.p - pos).magnitude
tracer.Size = Vector3.new(0.1, 0.1, distance)
tracer.CFrame = CFrame.new(plr.Character.Head.CFrame.p, pos) * CFrame.new(0, 0, -distance / 2)
game:GetService("Debris"):AddItem(tracer, 0.5)
end
function TPf()
if thirdPerson then
plr.CameraMaxZoomDistance = 10
plr.CameraMinZoomDistance = 10
if cam:FindFirstChild("Arms") then
for i,v in next,cam.Arms:GetDescendants() do
if v:IsA("BasePart") then
v.Transparency = 1
end
end
end
else
plr.CameraMaxZoomDistance = 0
plr.CameraMinZoomDistance = 0
end
end
function coolDown()
shootCooldown = true
if game.ReplicatedStorage.Weapons:FindFirstChild(tostring(client.gun)) then
wait(game.ReplicatedStorage.Weapons:FindFirstChild(tostring(client.gun)).FireRate.Value)
shootCooldown = false
end
end
function fireBullet()
if not shootCooldown then
client.firebullet()
coolDown()
end
end
runserv.RenderStepped:connect(function()
if rage and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
for i,v in next,plrs:GetPlayers() do
if v and v ~= plr and v.Character and v.Character:FindFirstChild("HumanoidRootPart") and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") and v.Team ~= plr.Team then
local partHit, posHit, damageModifier, wallbang = simulateShot(v)
if partHit and (damageModifier * client.gun.DMG.Value) > 5 then
target = partHit
fireBullet()
else
target = nil
end
end
end
if plr.Character and plr.Character.Humanoid then
if antiAim == "Backward" then
plr.Character.Humanoid.AutoRotate = false
AA(180)
else
plr.Character.Humanoid.AutoRotate = true
end
end
end
if thirdPerson then
TPf()
end
end)
for i,v in next,plrs:GetPlayers() do
v.CharacterAdded:connect(function(char)
wait(1)
if plrChams and visual and plr.Team ~= v.Team and v.Character and v ~= plr then
chamPlr(v)
end
end)
end
plrs.ChildAdded:connect(function(v)
v.CharacterAdded:connect(function(char)
wait(1)
if plrChams and visual and plr.Team ~= v.Team and v.Character and v ~= plr then
chamPlr(v)
end
end)
end)
local name2 = Drawing.new("Text")
name2.Text = "traphook v0.1"
name2.Color = Color3.fromRGB(255,0,255)
name2.Transparency = 1
name2.Size = 18
name2.Visible = true
name2.Font = 3
name2.Outline = true
name2.OutlineColor = Color3.fromRGB(0,0,0)
name2.Position = Vector2.new(10,40)
local gui = {}
local builder = {}
function builder:Create(name, settings)
settings = settings or {}
settings["Name"] = name
settings["Type"] = "Section"
gui[#gui + 1] = settings
end
function builder:AddSlider(name, callback, settings)
settings = settings or {}
settings["Name"] = name
settings["Type"] = "Slider"
settings["Callback"] = callback
gui[#gui + 1] = settings
end
function builder:AddToggle(name, callback, settings)
settings = settings or {}
settings["Name"] = name
settings["Type"] = "Switch"
settings["Callback"] = callback
gui[#gui + 1] = settings
end
function builder:AddList(name, callback, settings)
settings = settings or {}
settings["Name"] = name
settings["Type"] = "Select"
settings["Callback"] = callback
gui[#gui + 1] = settings
end
function builder:build()
spawn(function()
local toggles = gui
local switches = 0
local selected = 1
local enabled = true
local inputservice = game:GetService("UserInputService")
local actionservice = game:GetService("ContextActionService")
local select = Drawing.new('Square')
select.Visible = true
select.Thickness = 0
select.Filled = true
select.Size = Vector2.new(0,0)
select.Color = Color3.fromRGB(255,255,255)
select.Transparency = 0.05
actionservice:BindActionAtPriority('NoKeys', function()
return Enum.ContextActionResult.Sink
end, false, Enum.ContextActionPriority.High.Value, Enum.KeyCode.Up, Enum.KeyCode.Down, Enum.KeyCode.Left, Enum.KeyCode.Right)
for i,d in pairs(toggles) do
if d["Type"] == "Section" then
local name = Drawing.new("Text")
name.Text = d["Name"]
name.Color = d["Color"] or Color3.fromRGB(255,255,0)
name.Transparency = 1
name.Size = 18
name.Visible = true
name.Font = 3
name.Outline = true
name.OutlineColor = Color3.fromRGB(0,0,0)
toggles["Text"] = name
end
if d["Type"] == "Switch" then
switches = switches + 1
local name = Drawing.new("Text")
name.Text = d["Name"]
name.Color = Color3.fromRGB(255,255,255)
name.Transparency = 1
name.Size = 18
name.Visible = true
name.Font = 3
name.Outline = true
name.OutlineColor = Color3.fromRGB(0,0,0)
local name2 = Drawing.new("Text")
name2.Text = 'OFF'
name2.Color = Color3.fromRGB(255,255,255)
name2.Transparency = 1
name2.Size = 18
name2.Visible = true
name2.Font = 3
name2.Outline = true
name2.OutlineColor = Color3.fromRGB(0,0,0)
toggles["Text"] = name
toggles["Text2"] = name2
toggles["ID"] = switches
toggles["State"] = false
toggles["Handle"] = function(input)
toggles["State"] = not toggles["State"]
name2.Color = (toggles["State"] and Color3.fromRGB(0,170,255) or Color3.fromRGB(255,255,255))
name2.Text = (toggles["State"] and "ON" or "OFF")
if toggles["Callback"] then
toggles["Callback"](toggles["State"])
end
end
end
if d["Type"] == "Select" then
switches = switches + 1
local name = Drawing.new("Text")
name.Text = d["Name"]
name.Color = Color3.fromRGB(255,255,255)
name.Transparency = 1
name.Size = 18
name.Visible = true
name.Font = 3
name.Outline = true
name.OutlineColor = Color3.fromRGB(0,0,0)
local name2 = Drawing.new("Text")
name2.Text = d["Name"]
name2.Color = Color3.fromRGB(255,255,255)
name2.Transparency = 1
name2.Size = 18
name2.Visible = true
name2.Font = 3
name2.Outline = true
name2.OutlineColor = Color3.fromRGB(0,0,0)
toggles["Text"] = name
toggles["Text2"] = name2
toggles["ID"] = switches
toggles["Value"] = 1
toggles["Choices"] = toggles["Choices"] or {"Nothing"}
name2.Text = tostring(toggles["Choices"][1])
toggles["Handle"] = function(input)
toggles["State"] = not toggles["State"]
toggles["Value"] = (input == 1 and (((toggles["Value"] < #toggles["Choices"]) and (toggles["Value"] + 1)) or 1) or (input == 0 and ((toggles["Value"] > 1 and (toggles["Value"] - 1)) or #toggles["Choices"])))
name2.Text = tostring(toggles["Choices"][toggles["Value"]])
if toggles["Callback"] then
toggles["Callback"](tostring(toggles["Choices"][toggles["Value"]]))
end
end
end
if d["Type"] == "Slider" then
switches = switches + 1
local name = Drawing.new("Text")
name.Text = d["Name"]
name.Color = Color3.fromRGB(255,255,255)
name.Transparency = 1
name.Size = 18
name.Visible = true
name.Font = 3
name.Outline = true
name.OutlineColor = Color3.fromRGB(0,0,0)
local name2 = Drawing.new("Text")
name2.Text = d["Name"]
name2.Color = Color3.fromRGB(255,255,255)
name2.Transparency = 1
name2.Size = 18
name2.Visible = true
name2.Font = 3
name2.Outline = true
name2.OutlineColor = Color3.fromRGB(0,0,0)
toggles["Text"] = name
toggles["Text2"] = name2
toggles["ID"] = switches
toggles["Value"] = toggles["Default"] or 0
toggles["Min"] = toggles["Min"] or 0
toggles["Max"] = toggles["Max"] or 100
toggles["Step"] = toggles["Step"] or 1
name2.Text = tostring(toggles["Value"])
toggles["Handle"] = function(input)
toggles["State"] = not toggles["State"]
toggles["Value"] = ((input == 1 and (((toggles["Value"] + toggles["Step"]) <= toggles["Max"]) and toggles["Value"] + toggles["Step"] or toggles["Max"])) or ((((toggles["Value"] - toggles["Step"]) >= toggles["Min"]) and toggles["Value"] - toggles["Step"]) or toggles["Min"]))
name2.Text = tostring(toggles["Value"])
if toggles["Callback"] then
toggles["Callback"](toggles["Value"])
end
end
end
end
inputservice.InputBegan:Connect(function(input)
if enabled then
if input.KeyCode == Enum.KeyCode.Up then
selected = (selected == 1 and switches or selected - 1)
end
if input.KeyCode == Enum.KeyCode.Down then
selected = (selected == switches and 1 or selected + 1)
end
if input.KeyCode == Enum.KeyCode.Left then
for i,d in pairs(toggles) do
if d["ID"] == selected then
d["Handle"](0)
end
end
end
if input.KeyCode == Enum.KeyCode.Right then
for i,d in pairs(toggles) do
if d["ID"] == selected then
d["Handle"](1)
end
end
end
end
if input.KeyCode == Enum.KeyCode.Insert then
enabled = not enabled
if enabled then
actionservice:BindActionAtPriority("NoKeys", function()
return Enum.ContextActionResult.Sink
end, false, Enum.ContextActionPriority.High.Value, Enum.KeyCode.Up, Enum.KeyCode.Down, Enum.KeyCode.Left, Enum.KeyCode.Right)
else
actionservice:UnbindAction("NoKeys")
end
end
end)
local s,e = pcall(function()
repeat
local screensize = workspace.CurrentCamera.ViewportSize
select.Visible = enabled
local offset = 5
for i,d in pairs(toggles) do
d["Text"].Visible = true
if d["Type"] == "Section" then
d["Text"].Position = Vector2.new(300, 5 + offset)
offset = offset + d["Text"].TextBounds.Y
end
if d["Type"] == "Switch" then
d["Text"].Position = Vector2.new(300, 5 + offset)
d["Text2"].Position = Vector2.new(120+ d["Text"].Position.X, 5 + offset)
offset = offset + d["Text"].TextBounds.Y
if switches > 0 and d["ID"] == selected then
select.Size = d["Text"].TextBounds + Vector2.new(6,0)
select.Position = Vector2.new(d["Text"].Position.X - 3, d["Text"].Position.Y)
end
end
if d["Type"] == "Slider" then
d["Text"].Position = Vector2.new(300, 5 + offset)
d["Text2"].Position = Vector2.new(120+ d["Text"].Position.X, 5 + offset)
offset = offset + d["Text"].TextBounds.Y
if switches > 0 and d["ID"] == selected then
select.Size = d["Text"].TextBounds + Vector2.new(6,0)
select.Position = Vector2.new(d["Text"].Position.X - 3, d["Text"].Position.Y)
end
end
if d["Type"] == "Select" then
d["Text"].Position = Vector2.new(300, 5 + offset)
d["Text2"].Position = Vector2.new(120+ d["Text"].Position.X, 5 + offset)
offset = offset + d["Text"].TextBounds.Y
if switches > 0 and d["ID"] == selected then
select.Size = d["Text"].TextBounds + Vector2.new(6,0)
select.Position = Vector2.new(d["Text"].Position.X - 3, d["Text"].Position.Y)
end
end
end
wait()
until false
end)
if s == false then
warn(e)
end
select:Remove()
end)
end
return builder
local rageTab = lib:Create("Rage")
local rageToggle = lib:AddToggle("Rage bot",function(state)
rage = state
end)
local AA = lib:AddList("AntiAim",function(choice)
antiAim = choice
end,{Choices = {"OFF","Backward"}})
local visTab = lib:Create("Visuals")
local visToggle = lib:AddToggle("Visual",function(state)
visual = state
end)
local chams = lib:AddToggle("Chams",function(state)
plrChams = state
for i,v in next,plrs:GetPlayers() do
if v.Team ~= plr.Team and v.Character and v.Character.HumanoidRootPart and v.Character.Humanoid.Health > 0 and plrChams then
chamPlr(v)
end
end
end)
local BT = lib:AddToggle("Bullet Tracer",function(state)
bulletTracer = state
end)
local TP = lib:AddToggle("ThirdPerson",function(state)
thirdPerson = state
end)
local sellout1 = lib:Create("Credits")
local sellout2 = lib:Create("Little Hacker")
lib:build()
return
end
getrenv().traphook = true
local plrs = game:GetService("Players")
local plr = plrs.LocalPlayer
local repstor = game:GetService("ReplicatedStorage")
local runserv = game:GetService("RunService")
local uis = game:GetService("UserInputService")
local cam = workspace.CurrentCamera
local client = getsenv(plr.PlayerGui.Client)
local espFolder = Instance.new("Folder",game.CoreGui)
local rage = false
local shootCooldown = false
local antiAim = "OFF"
local visual = false
local plrChams = false
local bulletTracer = false
local thirdPerson = false
local hoop = nil
local target = nil
local speedBackup = client.speedupdate
local mt = getrawmetatable(game)
setreadonly(mt,false)
local nc = mt.__namecall
mt.__namecall = newcclosure(
function(self,...)
local args = {...}
local namecall = getnamecallmethod()
if namecall == "FindPartOnRayWithIgnoreList" then
if target and plr.Character and rage then
args[1] = Ray.new(workspace.CurrentCamera.CFrame.p, (target.CFrame.p - workspace.CurrentCamera.CFrame.p).unit * 500)
end
end
if namecall == "FireServer" and tostring(self) == "ControlTurn" then
if plr.Character and rage and antiAim then
args[1] = -0.96247750520706
end
end
return nc(self,unpack(args))
end
)
function simulateShot(target)
local hitList = {
cam,
plr.Character,
game.Workspace.Debris,
game.Workspace.Ray_Ignore,
game.Workspace.Map:WaitForChild("Clips"),
game.Workspace.Map:WaitForChild("SpawnPoints")
}
local gun = client.gun
local gunPen,gunRange,gunDMG
if gun:FindFirstChild("Penetration") then
gunPen = gun.Penetration.Value * 0.01
end
if gun:FindFirstChild("Range") then
gunRange = gun.Range.Value
end
if gun:FindFirstChild("DMG") then
gunDMG = gun.DMG.Value
end
local direction = CFrame.new(cam.CFrame.p, target.Character.Head.Position).lookVector.unit * gunRange * 0.0694
local rayCasted = Ray.new(cam.CFrame.p, direction)
local hitPart, hitPos = workspace:FindPartOnRayWithIgnoreList(rayCasted, hitList, false, true)
local partPenetrated = 0
local limit = 0
local partHit, posHit, normHit
local partModifier = 1
local damageModifier = 1
repeat
partHit, posHit, normHit = workspace:FindPartOnRayWithIgnoreList(rayCasted, hitList, false, true)
if partHit and partHit.Parent then
partModifier = 1
if partHit.Material == Enum.Material.DiamondPlate then
partModifier = 3
elseif partHit.Material == Enum.Material.CorrodedMetal or partHit.Material == Enum.Material.Metal or partHit.Material == Enum.Material.Concrete or partHit.Material == Enum.Material.Brick then
partModifier = 2
elseif partHit.Name == "Grate" or partHit.Material == Enum.Material.Wood or partHit.Material == Enum.Material.WoodPlanks or partHit and partHit.Parent and partHit.Parent:FindFirstChild("Humanoid") then
partModifier = 0.1
elseif partHit.Transparency == 1 or partHit.CanCollide == false or partHit.Name == "Glass" or partHit.Name == "Cardboard" or partHit:IsDescendantOf(game.Workspace.Ray_Ignore) or partHit:IsDescendantOf(game.Workspace.Debris) or partHit and partHit.Parent and partHit.Parent.Name == "Hitboxes" then
partModifier = 0
elseif partHit.Name == "nowallbang" then
partModifier = 100
elseif partHit:FindFirstChild("PartModifier") then
partModifier = partHit.PartModifier.Value
end
local fakeHit, fakePos = workspace:FindPartOnRayWithWhitelist(Ray.new(posHit + direction * 1, direction * -2), {partHit}, true)
local penDistance = (fakePos - posHit).magnitude
penDistance = penDistance * partModifier
limit = math.min(gunPen, limit + penDistance)
local wallbang = false
if partPenetrated >= 1 then
wallbang = true
end
if partHit and partHit.Parent and partHit.Parent.Name == "Hitboxes" or partHit and partHit.Parent.className == "Accessory" or partHit and partHit.Parent.className == "Hat" or partHit.Name == "HumanoidRootPart" and partHit.Parent.Name ~= "Door" or partHit.Name == "Head" and partHit.Parent:FindFirstChild("Hostage") == nil then
else
if partHit and partHit:IsDescendantOf(target.Character) and partHit.Transparency < 1 or partHit.Name == "HeadHB" then
return partHit, posHit, damageModifier, wallbang
end
end
damageModifier = 1 - limit / gunPen
if partModifier > 0 then
partPenetrated = partPenetrated + 1
end
if partHit and partHit.Parent and partHit.Parent.Name == "Hitboxes" or partHit and partHit.Parent and partHit.Parent.Parent and partHit.Parent.Parent:FindFirstChild("Humanoid2") or partHit and partHit.Parent and partHit.Parent:FindFirstChild("Humanoid2") or partHit and partHit.Parent and partHit.Parent:FindFirstChild("Humanoid") and (1 > partHit.Transparency or partHit.Name == "HeadHB") and partHit.Parent:IsA("Model") then
table.insert(hitList, partHit.Parent)
else
table.insert(hitList, partHit)
end
end
until partHit == nil or partHit.Parent == target.Character or limit >= gunPen or 0 >= damageModifier or partPenetrated >= 4
end
function AA(angle)
if plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
plr.Character.HumanoidRootPart.CFrame = CFrame.new(plr.Character.HumanoidRootPart.Position, plr.Character.HumanoidRootPart.Position + Vector3.new(cam.CFrame.lookVector.X, 0, cam.CFrame.lookVector.Z)) * CFrame.Angles(0, math.rad(angle), 0)
end
end
function chamPlr(plr)
if plr.Character then
for i,v in next,plr.Character:GetChildren() do
if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then
local chamThing = Instance.new("BoxHandleAdornment",espFolder)
chamThing.Size = v.Size
chamThing.Transparency = 0.5
chamThing.ZIndex = 0
chamThing.AlwaysOnTop = true
chamThing.Visible = true
chamThing.Adornee = v
chamThing.Color3 = Color3.fromRGB(255, 85, 0)
plr.Character.HumanoidRootPart.AncestryChanged:connect(function()
chamThing:Destroy()
end)
end
end
end
end
function traceBullet(pos)
local tracer = Instance.new("Part",game.Workspace.Debris)
tracer.BrickColor = Color3.fromRGB(255, 85, 0)
tracer.Material = Enum.Material.ForceField
tracer.Anchored = true
tracer.CanCollide = false
local distance = (plr.Character.Head.CFrame.p - pos).magnitude
tracer.Size = Vector3.new(0.1, 0.1, distance)
tracer.CFrame = CFrame.new(plr.Character.Head.CFrame.p, pos) * CFrame.new(0, 0, -distance / 2)
game:GetService("Debris"):AddItem(tracer, 0.5)
end
function TPf()
if thirdPerson then
plr.CameraMaxZoomDistance = 10
plr.CameraMinZoomDistance = 10
if cam:FindFirstChild("Arms") then
for i,v in next,cam.Arms:GetDescendants() do
if v:IsA("BasePart") then
v.Transparency = 1
end
end
end
else
plr.CameraMaxZoomDistance = 0
plr.CameraMinZoomDistance = 0
end
end
function coolDown()
shootCooldown = true
if game.ReplicatedStorage.Weapons:FindFirstChild(tostring(client.gun)) then
wait(game.ReplicatedStorage.Weapons:FindFirstChild(tostring(client.gun)).FireRate.Value)
shootCooldown = false
end
end
function fireBullet()
if not shootCooldown then
client.firebullet()
coolDown()
end
end
runserv.RenderStepped:connect(function()
if rage and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
for i,v in next,plrs:GetPlayers() do
if v and v ~= plr and v.Character and v.Character:FindFirstChild("HumanoidRootPart") and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") and v.Team ~= plr.Team then
local partHit, posHit, damageModifier, wallbang = simulateShot(v)
if partHit and (damageModifier * client.gun.DMG.Value) > 5 then
target = partHit
fireBullet()
else
target = nil
end
end
end
if plr.Character and plr.Character.Humanoid then
if antiAim == "Backward" then
plr.Character.Humanoid.AutoRotate = false
AA(180)
else
plr.Character.Humanoid.AutoRotate = true
end
end
end
if thirdPerson then
TPf()
end
end)
for i,v in next,plrs:GetPlayers() do
v.CharacterAdded:connect(function(char)
wait(1)
if plrChams and visual and plr.Team ~= v.Team and v.Character and v ~= plr then
chamPlr(v)
end
end)
end
plrs.ChildAdded:connect(function(v)
v.CharacterAdded:connect(function(char)
wait(1)
if plrChams and visual and plr.Team ~= v.Team and v.Character and v ~= plr then
chamPlr(v)
end
end)
end)
local name2 = Drawing.new("Text")
name2.Text = "traphook v0.1"
name2.Color = Color3.fromRGB(255,0,255)
name2.Transparency = 1
name2.Size = 18
name2.Visible = true
name2.Font = 3
name2.Outline = true
name2.OutlineColor = Color3.fromRGB(0,0,0)
name2.Position = Vector2.new(10,40)
local gui = {}
local builder = {}
function builder:Create(name, settings)
settings = settings or {}
settings["Name"] = name
settings["Type"] = "Section"
gui[#gui + 1] = settings
end
function builder:AddSlider(name, callback, settings)
settings = settings or {}
settings["Name"] = name
settings["Type"] = "Slider"
settings["Callback"] = callback
gui[#gui + 1] = settings
end
function builder:AddToggle(name, callback, settings)
settings = settings or {}
settings["Name"] = name
settings["Type"] = "Switch"
settings["Callback"] = callback
gui[#gui + 1] = settings
end
function builder:AddList(name, callback, settings)
settings = settings or {}
settings["Name"] = name
settings["Type"] = "Select"
settings["Callback"] = callback
gui[#gui + 1] = settings
end
function builder:build()
spawn(function()
local toggles = gui
local switches = 0
local selected = 1
local enabled = true
local inputservice = game:GetService("UserInputService")
local actionservice = game:GetService("ContextActionService")
local select = Drawing.new('Square')
select.Visible = true
select.Thickness = 0
select.Filled = true
select.Size = Vector2.new(0,0)
select.Color = Color3.fromRGB(255,255,255)
select.Transparency = 0.05
actionservice:BindActionAtPriority('NoKeys', function()
return Enum.ContextActionResult.Sink
end, false, Enum.ContextActionPriority.High.Value, Enum.KeyCode.Up, Enum.KeyCode.Down, Enum.KeyCode.Left, Enum.KeyCode.Right)
for i,d in pairs(toggles) do
if d["Type"] == "Section" then
local name = Drawing.new("Text")
name.Text = d["Name"]
name.Color = d["Color"] or Color3.fromRGB(255,255,0)
name.Transparency = 1
name.Size = 18
name.Visible = true
name.Font = 3
name.Outline = true
name.OutlineColor = Color3.fromRGB(0,0,0)
toggles["Text"] = name
end
if d["Type"] == "Switch" then
switches = switches + 1
local name = Drawing.new("Text")
name.Text = d["Name"]
name.Color = Color3.fromRGB(255,255,255)
name.Transparency = 1
name.Size = 18
name.Visible = true
name.Font = 3
name.Outline = true
name.OutlineColor = Color3.fromRGB(0,0,0)
local name2 = Drawing.new("Text")
name2.Text = 'OFF'
name2.Color = Color3.fromRGB(255,255,255)
name2.Transparency = 1
name2.Size = 18
name2.Visible = true
name2.Font = 3
name2.Outline = true
name2.OutlineColor = Color3.fromRGB(0,0,0)
toggles["Text"] = name
toggles["Text2"] = name2
toggles["ID"] = switches
toggles["State"] = false
toggles["Handle"] = function(input)
toggles["State"] = not toggles["State"]
name2.Color = (toggles["State"] and Color3.fromRGB(0,170,255) or Color3.fromRGB(255,255,255))
name2.Text = (toggles["State"] and "ON" or "OFF")
if toggles["Callback"] then
toggles["Callback"](toggles["State"])
end
end
end
if d["Type"] == "Select" then
switches = switches + 1
local name = Drawing.new("Text")
name.Text = d["Name"]
name.Color = Color3.fromRGB(255,255,255)
name.Transparency = 1
name.Size = 18
name.Visible = true
name.Font = 3
name.Outline = true
name.OutlineColor = Color3.fromRGB(0,0,0)
local name2 = Drawing.new("Text")
name2.Text = d["Name"]
name2.Color = Color3.fromRGB(255,255,255)
name2.Transparency = 1
name2.Size = 18
name2.Visible = true
name2.Font = 3
name2.Outline = true
name2.OutlineColor = Color3.fromRGB(0,0,0)
toggles["Text"] = name
toggles["Text2"] = name2
toggles["ID"] = switches
toggles["Value"] = 1
toggles["Choices"] = toggles["Choices"] or {"Nothing"}
name2.Text = tostring(toggles["Choices"][1])
toggles["Handle"] = function(input)
toggles["State"] = not toggles["State"]
toggles["Value"] = (input == 1 and (((toggles["Value"] < #toggles["Choices"]) and (toggles["Value"] + 1)) or 1) or (input == 0 and ((toggles["Value"] > 1 and (toggles["Value"] - 1)) or #toggles["Choices"])))
name2.Text = tostring(toggles["Choices"][toggles["Value"]])
if toggles["Callback"] then
toggles["Callback"](tostring(toggles["Choices"][toggles["Value"]]))
end
end
end
if d["Type"] == "Slider" then
switches = switches + 1
local name = Drawing.new("Text")
name.Text = d["Name"]
name.Color = Color3.fromRGB(255,255,255)
name.Transparency = 1
name.Size = 18
name.Visible = true
name.Font = 3
name.Outline = true
name.OutlineColor = Color3.fromRGB(0,0,0)
local name2 = Drawing.new("Text")
name2.Text = d["Name"]
name2.Color = Color3.fromRGB(255,255,255)
name2.Transparency = 1
name2.Size = 18
name2.Visible = true
name2.Font = 3
name2.Outline = true
name2.OutlineColor = Color3.fromRGB(0,0,0)
toggles["Text"] = name
toggles["Text2"] = name2
toggles["ID"] = switches
toggles["Value"] = toggles["Default"] or 0
toggles["Min"] = toggles["Min"] or 0
toggles["Max"] = toggles["Max"] or 100
toggles["Step"] = toggles["Step"] or 1
name2.Text = tostring(toggles["Value"])
toggles["Handle"] = function(input)
toggles["State"] = not toggles["State"]
toggles["Value"] = ((input == 1 and (((toggles["Value"] + toggles["Step"]) <= toggles["Max"]) and toggles["Value"] + toggles["Step"] or toggles["Max"])) or ((((toggles["Value"] - toggles["Step"]) >= toggles["Min"]) and toggles["Value"] - toggles["Step"]) or toggles["Min"]))
name2.Text = tostring(toggles["Value"])
if toggles["Callback"] then
toggles["Callback"](toggles["Value"])
end
end
end
end
inputservice.InputBegan:Connect(function(input)
if enabled then
if input.KeyCode == Enum.KeyCode.Up then
selected = (selected == 1 and switches or selected - 1)
end
if input.KeyCode == Enum.KeyCode.Down then
selected = (selected == switches and 1 or selected + 1)
end
if input.KeyCode == Enum.KeyCode.Left then
for i,d in pairs(toggles) do
if d["ID"] == selected then
d["Handle"](0)
end
end
end
if input.KeyCode == Enum.KeyCode.Right then
for i,d in pairs(toggles) do
if d["ID"] == selected then
d["Handle"](1)
end
end
end
end
if input.KeyCode == Enum.KeyCode.Insert then
enabled = not enabled
if enabled then
actionservice:BindActionAtPriority("NoKeys", function()
return Enum.ContextActionResult.Sink
end, false, Enum.ContextActionPriority.High.Value, Enum.KeyCode.Up, Enum.KeyCode.Down, Enum.KeyCode.Left, Enum.KeyCode.Right)
else
actionservice:UnbindAction("NoKeys")
end
end
end)
local s,e = pcall(function()
repeat
local screensize = workspace.CurrentCamera.ViewportSize
select.Visible = enabled
local offset = 5
for i,d in pairs(toggles) do
d["Text"].Visible = true
if d["Type"] == "Section" then
d["Text"].Position = Vector2.new(300, 5 + offset)
offset = offset + d["Text"].TextBounds.Y
end
if d["Type"] == "Switch" then
d["Text"].Position = Vector2.new(300, 5 + offset)
d["Text2"].Position = Vector2.new(120+ d["Text"].Position.X, 5 + offset)
offset = offset + d["Text"].TextBounds.Y
if switches > 0 and d["ID"] == selected then
select.Size = d["Text"].TextBounds + Vector2.new(6,0)
select.Position = Vector2.new(d["Text"].Position.X - 3, d["Text"].Position.Y)
end
end
if d["Type"] == "Slider" then
d["Text"].Position = Vector2.new(300, 5 + offset)
d["Text2"].Position = Vector2.new(120+ d["Text"].Position.X, 5 + offset)
offset = offset + d["Text"].TextBounds.Y
if switches > 0 and d["ID"] == selected then
select.Size = d["Text"].TextBounds + Vector2.new(6,0)
select.Position = Vector2.new(d["Text"].Position.X - 3, d["Text"].Position.Y)
end
end
if d["Type"] == "Select" then
d["Text"].Position = Vector2.new(300, 5 + offset)
d["Text2"].Position = Vector2.new(120+ d["Text"].Position.X, 5 + offset)
offset = offset + d["Text"].TextBounds.Y
if switches > 0 and d["ID"] == selected then
select.Size = d["Text"].TextBounds + Vector2.new(6,0)
select.Position = Vector2.new(d["Text"].Position.X - 3, d["Text"].Position.Y)
end
end
end
wait()
until false
end)
if s == false then
warn(e)
end
select:Remove()
end)
end
return builder
local rageTab = lib:Create("Rage")
local rageToggle = lib:AddToggle("Rage bot",function(state)
rage = state
end)
local AA = lib:AddList("AntiAim",function(choice)
antiAim = choice
end,{Choices = {"OFF","Backward"}})
local visTab = lib:Create("Visuals")
local visToggle = lib:AddToggle("Visual",function(state)
visual = state
end)
local chams = lib:AddToggle("Chams",function(state)
plrChams = state
for i,v in next,plrs:GetPlayers() do
if v.Team ~= plr.Team and v.Character and v.Character.HumanoidRootPart and v.Character.Humanoid.Health > 0 and plrChams then
chamPlr(v)
end
end
end)
local BT = lib:AddToggle("Bullet Tracer",function(state)
bulletTracer = state
end)
local TP = lib:AddToggle("ThirdPerson",function(state)
thirdPerson = state
end)
local sellout1 = lib:Create("Credits")
local sellout2 = lib:Create("Little Hacker")
lib:build()