Advertisement
eruaaaaaaa

Untitled

Sep 5th, 2022 (edited)
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.91 KB | None | 0 0
  1. local TriggerBot = {}
  2. TriggerBot.__index = TriggerBot
  3.  
  4. local Instance = Instance
  5. local game = game
  6. local math = math
  7. local setmetatable = setmetatable
  8. local workspace = workspace
  9. local CFrame = CFrame
  10. local Vector3 = Vector3
  11. local Vector2 = Vector2
  12. local Random = Random
  13. local RaycastParams = RaycastParams
  14. local pairs = pairs
  15. local task = task
  16. local string = string
  17. local table = table
  18. local require = require
  19. local Enum = Enum
  20. local getrawmetatable = getrawmetatable
  21. local replaceclosure = replaceclosure
  22. local setreadonly = setreadonly
  23. local checkcaller = checkcaller
  24. local getclock = os.clock
  25. local mouse1click = mouse1click
  26. local mouse1press = mouse1press
  27. local mouse1release = mouse1release
  28. local mousemoverel = mousemoverel
  29. local hookfunction = hookfunction
  30. local newcclosure = newcclosure
  31.  
  32. --//Instance methods
  33. local Raycast = workspace.Raycast
  34. local GetPropertyChangedSignal = game.GetPropertyChangedSignal
  35. local Connect = game.ChildAdded.Connect
  36. local Destroy = game.Destroy
  37. local GetService = game.GetService
  38. local FindFirstChildOfClass = game.FindFirstChildOfClass
  39. local FindFirstChild = game.FindFirstChild
  40. local WaitForChild = game.WaitForChild
  41. local GetChildren = game.GetChildren
  42. local GetDescendants = game.GetDescendants
  43. local IsA = game.IsA
  44. local IsDescendantOf = game.IsDescendantOf
  45.  
  46. --//Services
  47. local Players = GetService(game, "Players")
  48. local UserInputService = GetService(game, "UserInputService")
  49. local RunService = GetService(game, "RunService")
  50. local GuiService = GetService(game, "GuiService")
  51.  
  52. --//Temporary instances
  53. local tempcam = Instance.new("Camera")
  54. local temphum = Instance.new("Humanoid")
  55. local tempconn = Connect(game.AncestryChanged, function() end)
  56. --//Other instance methods
  57. local WorldToViewportPoint = tempcam.WorldToViewportPoint
  58. local WorldToScreenPoint = tempcam.WorldToScreenPoint
  59. local GetPlayers = Players.GetPlayers
  60. local GetMouseLocation = UserInputService.GetMouseLocation
  61. local ViewportPointToRay = tempcam.ViewportPointToRay
  62. local Disconnect = tempconn.Disconnect
  63. local MoveTo = temphum.MoveTo
  64. local Lerp2D = Vector2.new().Lerp
  65.  
  66. --//Cleanup
  67. Destroy(temphum)
  68. Destroy(tempcam)
  69. Disconnect(tempconn)
  70.  
  71. TriggerBot.DefaultSettings = {
  72. TransparencyThreshold = .5;
  73. ToggleKey = Enum.KeyCode.LeftBracket;
  74. DefaultIgnore = {}
  75. }
  76.  
  77. function TriggerBot:GetBlockingPart(origin, position)
  78. self.Params.FilterDescendantsInstances = self.DefaultIgnore
  79.  
  80. local dir = position - origin
  81. local ignore = self.Params.FilterDescendantsInstances
  82.  
  83. while true do
  84. self.Params.FilterDescendantsInstances = ignore
  85. local result = Raycast(workspace, origin, dir, self.Params)
  86.  
  87. if result then
  88. if result.Instance.ClassName ~= "Terrain" and result.Instance.Transparency >= self.TransparencyThreshold then
  89. table.insert(ignore, result.Instance)
  90. continue
  91. end
  92.  
  93. self.Params.FilterDescendantsInstances = self.DefaultIgnore
  94. return result.Instance
  95. end
  96.  
  97. self.Params.FilterDescendantsInstances = self.DefaultIgnore
  98. return nil
  99. end
  100. end
  101.  
  102. function TriggerBot:GetTargetFromViewportPoint(point, distance)
  103. local camera = workspace.CurrentCamera
  104.  
  105. if camera then
  106. local ray = ViewportPointToRay(camera, point.X, point.Y)
  107. return self:GetBlockingPart(ray.Origin, ray.Origin + ray.Direction * distance)
  108. end
  109. end
  110.  
  111. function TriggerBot:Initialize()
  112. self.Enabled = true
  113. self.TriggerPaused = false
  114.  
  115. if not self.Heartbeat then
  116. Connect(RunService.Heartbeat, function()
  117. local lcharac = Players.LocalPlayer.Character
  118. local lhead = lcharac and lcharac:FindFirstChild("Head")
  119.  
  120. local mtarget = self:GetTargetFromViewportPoint(GetMouseLocation(UserInputService), 5000)
  121. local blocking_parts = lhead and mtarget and self:GetBlockingPart(lhead.Position, mtarget.Position)
  122.  
  123. if mtarget and blocking_parts and blocking_parts:IsDescendantOf(mtarget.Parent) and mtarget.Parent:FindFirstChildOfClass("Humanoid") and mtarget.Parent:FindFirstChildOfClass("Humanoid").Health > 0 and mtarget.Parent:FindFirstChild("Head") and mtarget.Parent:FindFirstChild("Head").Transparency < .8 and self.Enabled then
  124. local character = mtarget.Parent
  125. local player = Players:GetPlayerFromCharacter(character)
  126. if (player.TeamColor == Players.LocalPlayer.TeamColor) ~= true then
  127. if not self.TriggerPaused then
  128. local rando = Random.new():NextNumber(.18, .3)
  129. self.TriggerPaused = true
  130. task.wait(rando)
  131. local mtarget = self:GetTargetFromViewportPoint(GetMouseLocation(UserInputService), 5000)
  132. if mtarget and mtarget.Parent:FindFirstChildOfClass("Humanoid") and mtarget.Parent:FindFirstChildOfClass("Humanoid").Health > 0 and mtarget.Parent:FindFirstChild("Head") and mtarget.Parent:FindFirstChild("Head").Transparency < .8 and self.Enabled then
  133. mouse1press()
  134. task.wait()
  135. mouse1release()
  136. end
  137. self.TriggerPaused = false
  138. end
  139. end
  140. end
  141. end)
  142. end
  143.  
  144. Connect(UserInputService.InputBegan, function(input, gpe)
  145. if not gpe and input.KeyCode == self.ToggleKey then
  146. self.Enabled = not self.Enabled
  147. end
  148. end)
  149. end
  150.  
  151. function TriggerBot.new(presets)
  152. presets = presets or {}
  153.  
  154. local WallCheckParams = RaycastParams.new()
  155. WallCheckParams.FilterType = Enum.RaycastFilterType.Blacklist
  156. WallCheckParams.IgnoreWater = true
  157. WallCheckParams.FilterDescendantsInstances = {}
  158.  
  159. presets["Params"] = WallCheckParams
  160. return setmetatable(presets, TriggerBot)
  161. end
  162.  
  163. return TriggerBot
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement