22.7K views
12.1K downloads
1 year ago
This new aimbot script is for PVP in Ro-Ghoul its very op and the settings are changeable in the script. This script is also open-sourced. To toggle the Aimbot click "H" and for movement prediction click "J", but you can change these in the script. Hope you enjoy!
Script Features:
This script was last modified 1 year ago
--BROUGHT TO YOU BY RSCRIPTS.NET--
_G.Configurations = {
-- KeyBinds --
ToggleKeyBind = Enum.KeyCode.H, --You can change this
PredictionKeyBind = Enum.KeyCode.J; --You can change this
-- Settings --
FOV = 250; --You can change this
-- Filters --
Filters = {
"Player1"
};
FilterType = "Whitelist";
-- Aimbot sensitivity --
Gyro = {
Power = 15000, -- Higher the number, the faster you will spin.
Dampening = 0, -- The lower it is, the more it will look "snappy"
};
}
-- // Constants \\ --
-- [ Services ] --
local Services = setmetatable({}, {__index = function(Self, Index)
local NewService = game:GetService(Index)
if NewService then
Self[Index] = NewService
end
return NewService
end})
-- [ Modules ] --
local Drawing = loadstring(game:HttpGet("https://raw.githubusercontent.com/iHavoc101/Genesis-Studios/main/Modules/DrawingAPI.lua", true))()
-- [ Game Settings ] --
local GameSettings = UserSettings():GetService("UserGameSettings")
-- [ LocalPlayer ] --
local LocalPlayer = Services.Players.LocalPlayer
local Camera = workspace.CurrentCamera
-- [ Interface ] --
local FOVCircle = Drawing.new("Circle", {
Thickness = 2.5,
Color = Color3.fromRGB(150, 150, 150),
NumSides = 20,
Radius = _G.Configurations.FOV
})
local Target = Drawing.new("Triangle", {
Thickness = 5,
Color = Color3.fromRGB(0, 200, 255)
})
-- // Variables \\ --
local SilentAimToggle = true
local PredictionMultiplier = 5
local ClosestTarget = nil
local BodyGyro = Instance.new("BodyGyro")
BodyGyro.P = _G.Configurations.Gyro.Power
BodyGyro.D = _G.Configurations.Gyro.Dampening
BodyGyro.MaxTorque = Vector3.new(0, math.huge, 0)
-- // Functions \\ --
local function ValidCharacter(Character)
return Character and (Character:FindFirstChildWhichIsA("Humanoid") and Character:FindFirstChildWhichIsA("Humanoid").Health ~= 0) or false
end
local function GetTarget(Distance, IgnoreList)
local MousePosition = Services.UserInputService:GetMouseLocation()
local Closest = nil
local Position = Vector2.new(0, 0)
local ShortestDistance = Distance or math.huge
for i,v in ipairs(Services.Players:GetPlayers()) do
if _G.Configurations.FilterType == "Whitelist" and table.find(_G.Configurations.Filters, v.Name) then
continue
elseif _G.Configurations.FilterType == "Blacklist" and table.find(_G.Configurations.Filters, v.Name) == nil then
continue
end
if v ~= LocalPlayer and ValidCharacter(v.Character) then
local ViewportPosition, OnScreen = Camera:WorldToViewportPoint(v.Character.PrimaryPart.Position)
local Magnitude = (Vector2.new(ViewportPosition.X, ViewportPosition.Y) - MousePosition).Magnitude
if OnScreen == false then
continue
end
if Magnitude < ShortestDistance and #Camera:GetPartsObscuringTarget({v.Character.PrimaryPart.Position}, {LocalPlayer.Character, v.Character}) <= 1 then
Closest = v
Position = ViewportPosition
ShortestDistance = Magnitude
end
end
end
return Closest, Position, ShortestDistance
end
-- // Events \\ --
Services.RunService.Heartbeat:Connect(function()
-- Aim --
local Closest, Position, Distance = GetTarget(_G.Configurations.FOV)
local MouseLocation = Services.UserInputService:GetMouseLocation()
ClosestTarget = Closest
if Closest then
BodyGyro.Parent = LocalPlayer.Character.PrimaryPart
local Velocity = Closest.Character.PrimaryPart:GetVelocityAtPosition(Closest.Character.PrimaryPart.Position)
local Prediction = (Velocity * Vector3.new(1, 0, 1)).Unit * PredictionMultiplier
if Velocity.Magnitude == 0 then
Prediction = Vector3.new(0, 0, 0)
end
if SilentAimToggle == true and Prediction.Magnitude >= 0 then
BodyGyro.CFrame = CFrame.new(LocalPlayer.Character.PrimaryPart.Position, Closest.Character.PrimaryPart.Position + Prediction)
else
BodyGyro.Parent = nil
end
Target.PointA = Vector2.new(Position.X - 25, Position.Y + 25)
Target.PointB = Vector2.new(Position.X + 25, Position.Y + 25)
Target.PointC = Vector2.new(Position.X, Position.Y - 25)
else
BodyGyro.Parent = nil
Target.PointA = Vector2.new(MouseLocation.X - 25, MouseLocation.Y + 25)
Target.PointB = Vector2.new(MouseLocation.X + 25, MouseLocation.Y + 25)
Target.PointC = Vector2.new(MouseLocation.X, MouseLocation.Y - 25)
end
-- Update --
BodyGyro.P = _G.Configurations.Gyro.Power
BodyGyro.D = _G.Configurations.Gyro.Dampening
-- Drawing --
FOVCircle.Position = MouseLocation
end)
-- // Binds \\ --
Services.RunService:BindToRenderStep("SetCameraRotation", Enum.RenderPriority.Camera.Value + 1, function()
if SilentAimToggle == true and ClosestTarget ~= nil then
GameSettings.RotationType = Enum.RotationType.MovementRelative
end
end)
Services.ContextActionService:BindAction("ToggleSilent", function(actionName, InputState, inputObject)
if InputState == Enum.UserInputState.End then
return
end
SilentAimToggle = not SilentAimToggle
Services.StarterGui:SetCore("SendNotification", {
Title = "Silent Aim";
Text = "Enabled: " .. tostring(SilentAimToggle);
Icon = SilentAimToggle and "rbxassetid://6031068430" or "rbxassetid://6031068429";
Duration = 5;
Button1 = "Dismiss"
})
end, false, _G.Configurations.ToggleKeyBind)
Services.ContextActionService:BindAction("TogglePrediction", function(actionName, InputState, inputObject)
if InputState == Enum.UserInputState.End then
return
end
PredictionMultiplier = PredictionMultiplier == 5 and 20 or 5
Services.StarterGui:SetCore("SendNotification", {
Title = "Prediction";
Text = "Enabled: " .. tostring(PredictionMultiplier == 20);
Icon = "rbxassetid://6034287516";
Duration = 5;
Button1 = "Dismiss"
})
end, false, _G.Configurations.PredictionKeyBind)
Similiar Scripts
Hungry for more? Check out these Roblox Scripts!
20.7K views
1 year ago

JRLs Ro Ghoul GUI
WEAPON STORAGE INF REDO FOCUS Ro Ghoul ALPHA
WEAPON STORAGE INF REDO FOCUS Ro Ghoul ALPHA
0 Comments
Log in here to comment