Phenom Silent Aim v2
Key RequiredUniversal

Phenom Silent Aim v2

Universal Scriptgrgdgrgd 16.5K views 173 executesUpdated Mar 27, 2024
5.0/ 5(3 votes)
30100% Positive
Lua Script•248 lines (6593 chars)
local S, E = pcall(function()
    _G.Stepped:Disconnect()
    _G.InputBegan:Disconnect()
end)

if S then
    game.StarterGui:SetCore("SendNotification", {
        Title = "Silent Aim",
        Text = "Silent Aim was reset, Mode: TBot",
        Duration = 3
    })

    _G.Stepped = nil
    _G.InputBegan = nil
end

if game.PlaceId == 4923146720 then
    return game:GetService("StarterGui"):SetCore("SendNotification", {
        Title = "Error",
        Text = "TBot can't be used in Playground",
        Duration = 5,
        Button1 = "Ok"
    })
end

local Player = game.Players.LocalPlayer
local UIS = game:GetService("UserInputService")
local RS = game:GetService("RunService")

local IsInFooting = false

local HL = Instance.new("Highlight")
HL.Enabled = false
HL.Adornee = Player.Character
HL.FillColor = Color3.fromRGB(25, 255, 25)
HL.OutlineColor = Color3.fromRGB(0, 255, 0)
HL.Parent = game.CoreGui

local XYZ = {"X1", "Y1", "Z1", "X2", "Y2", "Z2"}
local Selected; for _, Garbage in next, getgc(true) do
    if type(Garbage) == "function" and getinfo(Garbage)["name"] == "selected1" then
        Selected = Garbage
    end
end
local Goals = {}; for _, Obj in next, workspace:GetDescendants() do
    if Obj.Name == "Goal" and Obj:isA("BasePart") then
        table.insert(Goals, Obj)
    end
end
local Shuffled = {}; for _, Garbage in next, getgc(true) do
    if type(Garbage) == "table" and rawget(Garbage, "1") and rawget(Garbage, "1") ~= true then
        for z,x in next, Garbage do
            Shuffled = Garbage
        end
    end
end

local Clicker = getupvalue(Selected, 3)

local GetKeyFromKeyTable = function()
    local Keys = getupvalue(Selected, 4)
    return Keys[1]
end

local RemoveKeyFromKeyTable = function()
    local Keys = getupvalue(Selected, 4)
    table.remove(Keys, 1)
    setupvalue(Selected, 4, Keys)
end

local GetRandomizedTable = function(TorsoPosition, ShootPosition)
    local UnrandomizedArgs = {
        X1 = TorsoPosition.X,
        Y1 = TorsoPosition.Y,
        Z1 = TorsoPosition.Z,
        X2 = ShootPosition.X,
        Y2 = ShootPosition.Y,
        Z2 = ShootPosition.Z
    }
    
    local RandomizedArgs = {
        UnrandomizedArgs[Shuffled["1"]],
        UnrandomizedArgs[Shuffled["2"]],
        UnrandomizedArgs[Shuffled["3"]],
        UnrandomizedArgs[Shuffled["4"]],
        UnrandomizedArgs[Shuffled["5"]],
        UnrandomizedArgs[Shuffled["6"]],
    }
    
    return RandomizedArgs
end

local GetCorrectPosition = function(Position)
    return Position - Player.Character.Torso.Position
end

local GetUnitPosition = function(Position)
    return Position.Unit
end

local GetGoal = function()
    local Distance, Goal = 9e9;
    
    for _, Obj in next, Goals do
        local Magnitude = (Player.Character.Torso.Position - Obj.Position).Magnitude
        
        if Distance > Magnitude then
            Distance = Magnitude
            Goal = Obj
        end
    end
    
    return Goal
end

local GetDistance = function()
    local Goal = GetGoal()
    
    return (Player.Character.Torso.Position - Goal.Position).Magnitude
end

local GetBasketball = function()
     return Player.Character:FindFirstChildOfClass("Folder") 
end

local IsDunkAnimPlaying = function()
    for _, Anim in next, Player.Character.Humanoid:GetPlayingAnimationTracks() do
        if Anim.Animation.Name == "Dunk1" then
            return true
        end
    end
    
    return false
end

local InFootingCheck = function()
    local Distance = GetDistance()
    local Basketball = GetBasketball()
    
    local Power; if Basketball ~= nil then
        Power = Basketball.PowerValue.Value
    else
        IsInFooting = false
        return
    end
    
    if Distance > 57 and Distance < 97 then
        IsInFooting = true
    else
        IsInFooting = false
    end
end

local GetArc = function()
    local Distance = GetDistance()
    local Basketball = GetBasketball()
    
    local Arc
    
    if Distance > 57 and Distance < 63 then
        Arc = 140
    elseif Distance > 63 and Distance < 69 then
        Arc = 135
    elseif Distance > 69 and Distance < 74 then
        Arc = 130
    elseif Distance > 74 and Distance < 79 then
        Arc = 125
    elseif Distance > 79 and Distance < 82 then
        Arc = 120
    elseif Distance > 82 and Distance < 84 then
        Arc = 115
    elseif Distance > 84 and Distance < 88 then
        Arc = 110
    elseif Distance > 88 and Distance < 91 then
        Arc = 100
    elseif Distance > 91 and Distance < 92 then
        Arc = 90
    elseif Distance > 92 and Distance < 93 then
        Arc = 85
    elseif Distance > 93 and Distance < 94 then
        Arc = 80
    elseif Distance > 94 and Distance < 95 then
        Arc = 75
    elseif Distance > 95 and Distance < 96 then
        Arc = 70
    elseif Distance > 96 and Distance < 97 then
        Arc = 67
    end
    
    if IsDunkAnimPlaying() == false and Arc ~= nil then
        Arc = Arc - 10
    end
    
    print(Arc, Distance)
    
    return Arc
end

local Shoot = function()
    local Goal = GetGoal()
    local Arc = GetArc()
    local CorrectPosition = GetCorrectPosition(Goal.Position + Vector3.new(0, Arc, 0) + Player.Character.Humanoid.MoveDirection)
    local Position = GetUnitPosition(CorrectPosition)
    local RandomizedArgs = GetRandomizedTable(Player.Character.Torso.Position, Position)
    local Basketball = GetBasketball()
    
    local Key = GetKeyFromKeyTable()
    
    if type(Key) ~= "string" then
        Key = "Shotta"
    end
    
    Clicker:FireServer(Basketball, 100, RandomizedArgs, Key)
    

    if Key ~= "Shotta" then
        RemoveKeyFromKeyTable()
    end
end
            
_G.InputBegan = UIS.InputBegan:Connect(function(Key, GPE)
    if not GPE and Key.KeyCode == Enum.KeyCode.X and Player.Character and Player.Character:FindFirstChild("Basketball") and IsInFooting then
        if Player.Character.Humanoid:GetState() ~= Enum.HumanoidStateType.Freefall then
            local Humanoid =  Player.Character.Humanoid
            Humanoid.JumpPower = 67
            Humanoid:LoadAnimation(Player.Character.Basketball.Dunk1):Play()
            Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
            task.wait(0.325)
        end
        
        Shoot()
        Player.Character.Humanoid.JumpPower = 50
    end
end)

_G.Stepped = RS.Stepped:Connect(function()
    InFootingCheck()
    
    if IsInFooting then
        HL.Enabled = true
    else
        HL.Enabled = false
    end
    
    if HL.Adornee.Parent == nil and Player.Character then
        HL.Adornee = Player.Character
    end
end)

Features & Information

X to shoot

Community Comments (1)

tevintj12345tevintj12345Mar 21, 2025(edited)

How do u work the script and is it only for people with aindroids bc i got a iphone

More Scripts for Universal Scripts