Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- Assassin Silent Aim.lua
- Made by Rileyy#0808
- ]]
- --// Variables
- local Players = game:GetService('Players')
- local RunService = game:GetService('RunService')
- local UserInputService = game:GetService('UserInputService')
- local LocalPlayer = Players.LocalPlayer
- local Mouse = LocalPlayer:GetMouse()
- local CurrentCamera = workspace.CurrentCamera
- --// Tables
- local Client = {}
- local Drawings = {
- Drawing.new('Circle'),
- Drawing.new('Circle')
- }
- --// FOV
- Drawings[1].Color = Color3.fromRGB(248, 200, 220)
- Drawings[1].Thickness = 2
- Drawings[1].Visible = true
- Drawings[1].Radius = 150
- Drawings[2].Thickness = 4
- Drawings[2].Visible = true
- Drawings[2].Radius = 150
- Drawings[2].ZIndex = -1
- UserInputService.InputChanged:Connect(function(input)
- if input.UserInputType == Enum.UserInputType.MouseMovement then
- Drawings[1].Position = UserInputService:GetMouseLocation()
- Drawings[2].Position = UserInputService:GetMouseLocation()
- end
- end)
- --// Functions
- function IsVisible(position, model)
- local ray = Ray.new(CurrentCamera.CFrame.p, CFrame.new(CurrentCamera.CFrame.p, position).LookVector * 10000)
- local hit, position, normal = workspace:FindPartOnRayWithIgnoreList(ray, {LocalPlayer.Character, CurrentCamera})
- if not hit then
- return false
- end
- return hit:IsDescendantOf(model), hit, position, normal
- end
- --// Loops
- RunService.PostSimulation:Connect(function()
- local MousePosition = UserInputService:GetMouseLocation()
- Client.Target = nil
- Client.TargetDistance = Drawings[1].Radius
- for _, player in next, Players:GetChildren() do
- local character = workspace:FindFirstChild(player.Name)
- local Humanoid = character and character:FindFirstChildWhichIsA('Humanoid')
- local HumanoidRootPart = character and character:FindFirstChild('HumanoidRootPart')
- if not Humanoid or not HumanoidRootPart then
- continue
- end
- if Humanoid.Health <= 0 then
- continue
- end
- -- if not IsVisible(HumanoidRootPart.Position, player.Character) then
- -- continue
- -- end
- local ScreenPosition, ScreenVisible = CurrentCamera:WorldToViewportPoint(HumanoidRootPart.Position)
- local MouseDistance = (MousePosition - Vector2.new(ScreenPosition.X, ScreenPosition.Y)).magnitude
- if MouseDistance < Client.TargetDistance then
- Client.Target = character
- Client.TargetDistance = MouseDistance
- end
- end
- end)
- --// Hooks
- local index ; index = hookmetamethod(game, '__index', function(obj, idx)
- if idx:lower() == 'unitray' and Client.Target then
- local origin = index(obj, idx)
- return {
- Origin = origin.Origin,
- Direction = CFrame.new(origin.Origin, Client.Target.HumanoidRootPart.Position).LookVector
- }
- end
- return index(obj, idx)
- end)
- --// Notify :3
- game.StarterGui:SetCore('SendNotification', {
- Title = 'Loaded';
- Text = 'Made by Rileyy#0808';
- Duration = 3;
- })