Elxl

Untitled

Jun 25th, 2020
611
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.13 KB | None | 0 0
  1. -- // Valiant ENV
  2. loadstring(game:HttpGetAsync("https://raw.githubusercontent.com/Stefanuk12/ROBLOX/master/Universal/ValiantENV.lua"))()
  3.  
  4. -- // Vars
  5. local RenderStepped = RunService.RenderStepped
  6. local Heartbeat = RunService.Heartbeat
  7. local LocalPlayer = Players.LocalPlayer
  8. local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded.Wait(LocalPlayer.CharacterAdded)
  9. local Humanoid = Character.WaitForChild(Character, "Humanoid")
  10. local CurrentCamera = Workspace.CurrentCamera
  11. local Mouse = LocalPlayer.GetMouse(LocalPlayer)
  12.  
  13. -- // Base MT Vars + Funs
  14. local mt = getrawmetatable(game)
  15. local backupnamecall = mt.__namecall
  16. local backupnewindex = mt.__newindex
  17. local backupindex = mt.__index
  18. --setreadonly(mt, false)
  19.  
  20. -- // Silent Aim Vars
  21. getgenv().ValiantAimHacks = {
  22. SilentAimEnabled = true,
  23. AimbotEnabled = false,
  24. ShowFOV = false,
  25. VisibleCheck = true,
  26. TeamCheck = true,
  27. FOV = 60,
  28. HitChance = 100,
  29. Selected = LocalPlayer,
  30. BlacklistedTeams = {
  31. {
  32. Team = LocalPlayer.Team,
  33. TeamColor = LocalPlayer.TeamColor,
  34. },
  35. },
  36. BlacklistedPlayers = {game:GetService("Players").LocalPlayer},
  37. }
  38.  
  39. -- // Show FOV
  40. local circle = Drawing.new("Circle")
  41. function ValiantAimHacks.updateCircle()
  42. if circle then
  43. circle.Transparency = 1
  44. circle.Visible = ValiantAimHacks["ShowFOV"]
  45. circle.Thickness = 2
  46. circle.Color = Color3.fromRGB(231, 84, 128)
  47. circle.NumSides = 12
  48. circle.Radius = (ValiantAimHacks["FOV"] * 6) / 2
  49. circle.Filled = false
  50. circle.Position = Vector2.new(Mouse.X, Mouse.Y + (GuiService.GetGuiInset(GuiService).Y))
  51. return circle
  52. end
  53. end
  54.  
  55. -- // Custom Functions
  56. setreadonly(math, false); math.chance = function(percentage) local percentage = math.floor(percentage); local chance = math.floor(Random.new().NextNumber(Random.new(), 0, 1) * 100)/100; return chance <= percentage/100 end; setreadonly(math, true);
  57. setreadonly(table, false); table.loopforeach = function(tbl, func) for index, value in pairs(tbl) do if type(value) == 'table' then table.loopforeach(value, func); elseif type(value) == 'function' then table.loopforeach(debug.getupvalues(value)); else func(index, value); end; end; end; setreadonly(table, true);
  58.  
  59. -- // Silent Aim Function
  60. function ValiantAimHacks.getClosestPlayerToCursor()
  61. local ClosestPlayer = nil
  62. local Chance = math.chance(ValiantAimHacks["HitChance"])
  63. local ShortestDistance = math.huge
  64. if not Chance then ValiantAimHacks["Selected"] = (Chance and LocalPlayer or LocalPlayer) return (Chance and LocalPlayer or LocalPlayer) end
  65. function isPartVisible(Part, PartDescendant)
  66. local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded.Wait(LocalPlayer.CharacterAdded)
  67. local Origin = CurrentCamera.CFrame.p
  68. local _, OnScreen = CurrentCamera.WorldToViewportPoint(CurrentCamera, Part.Position)
  69. if OnScreen then
  70. local newRay = Ray.new(Origin, Part.Position - Origin)
  71. local PartHit, _ = Workspace.FindPartOnRayWithIgnoreList(Workspace, newRay, {Character, CurrentCamera})
  72. local Visible = (not PartHit or PartHit.IsDescendantOf(PartHit, PartDescendant))
  73. return Visible
  74. end
  75. return false
  76. end
  77. function checkTeam(localPlayer, targetPlayer)
  78. if targetPlayer.Team ~= localPlayer.Team then
  79. for _,v in pairs(ValiantAimHacks.BlacklistedTeams) do
  80. if targetPlayer.Team ~= v.Team and targetPlayer.TeamColor ~= v.TeamColor then
  81. return true
  82. end
  83. end
  84. end
  85. return false
  86. end
  87. function checkPlayer(targetPlayer)
  88. for i,v in pairs(ValiantAimHacks.BlacklistedPlayers) do
  89. if v ~= targetPlayer then
  90. return true
  91. end
  92. end
  93. return false
  94. end
  95. for _,plr in pairs(Players.GetPlayers(Players)) do
  96. if checkPlayer(plr) and plr.Character and plr.Character.FindFirstChildWhichIsA(plr.Character, "Humanoid") and plr.Character.FindFirstChildWhichIsA(plr.Character, "Humanoid").Health > 0 then
  97. if (ValiantAimHacks["TeamCheck"] and not checkTeam(LocalPlayer, plr)) then break end
  98. local PartPos, OnScreen = CurrentCamera.WorldToViewportPoint(CurrentCamera, plr.Character.PrimaryPart.Position)
  99. local Magnitude = (Vector2.new(PartPos.X, PartPos.Y) - Vector2.new(Mouse.X, Mouse.Y)).magnitude
  100. if (Magnitude < (ValiantAimHacks["FOV"] * 6 - 8)) and (Magnitude < ShortestDistance) then
  101. if ValiantAimHacks["VisibleCheck"] and isPartVisible(plr.Character.PrimaryPart, plr.Character) then
  102. ClosestPlayer = plr
  103. ShortestDistance = Magnitude
  104. elseif not ValiantAimHacks["VisibleCheck"] then
  105. ClosestPlayer = plr
  106. ShortestDistance = Magnitude
  107. end
  108. end
  109. end
  110. end
  111. ValiantAimHacks["Selected"] = (Chance and ClosestPlayer or LocalPlayer)
  112. return (Chance and ClosestPlayer or LocalPlayer)
  113. end
  114.  
  115. function ValiantAimHacks.findDirectionNormalMaterial(Origin, Destination, UnitMultiplier)
  116. if typeof(Origin) == "Vector3" and typeof(Destination) == "Vector3" then
  117. if not UnitMultiplier then UnitMultiplier = 1 end
  118. local Direction = (Destination - Origin).Unit * UnitMultiplier
  119. local RaycastResult = Workspace.Raycast(Workspace, Origin, Direction)
  120. if RaycastResult ~= nil then
  121. local Normal = RaycastResult.Normal
  122. local Material = RaycastResult.Material
  123. return Direction, Normal, Material
  124. end
  125. end
  126. return nil
  127. end
  128.  
  129. function ValiantAimHacks.checkSilentAim()
  130. if ValiantAimHacks.SilentAimEnabled and ValiantAimHacks["Selected"] ~= LocalPlayer then
  131. return true
  132. end
  133. return false
  134. end
  135.  
  136. -- // Heartbeat Function
  137. local HBFuncs = function()
  138. ValiantAimHacks.updateCircle()
  139. ValiantAimHacks.getClosestPlayerToCursor()
  140. end
  141. Heartbeat.Connect(Heartbeat, HBFuncs)
  142. --setreadonly(mt, true)
  143. return ValiantAimHacks
Add Comment
Please, Sign In to add comment