local Rayfield = loadstring(game:HttpGet('https://[Log in to view URL]'))()
local Window = Rayfield:CreateWindow({
Name = "vvv™",
LoadingTitle = "vvv's hub",
LoadingSubtitle = "by vvlshln",
ConfigurationSaving = {
Enabled = false,
FolderName = nil, -- Create a custom folder for your hub/game
FileName = "vv = him"
},
Discord = {
Enabled = true,
Invite = "yccbVRS8J2", -- The Discord invite code, do not include discord.gg/. E.g. discord.gg/ABCD would be ABCD
RememberJoins = true -- Set this to false to make them join the discord every time they load it up
},
KeySystem = true, -- Set this to true to use our key system
KeySettings = {
Title = "vvv | key system",
Subtitle = "key system",
Note = "join server 4 key",
FileName = "vvv hub key", -- It is recommended to use something unique as other scripts using Rayfield may overwrite your key file
SaveKey = false, -- The user's key will be saved, but if you change the key, they will be unable to use your script
GrabKeyFromSite = true, -- If this is true, set Key below to the RAW site you would like Rayfield to get the key from
Key = {"https://[Log in to view URL]"} -- List of keys that will be accepted by the system, can be RAW file links (pastebin, github etc) or simple strings ("hello","key22")
}
})
local MainTab = Window:CreateTab("Camlock", 4483362458) -- Title, Image
local MainSection = MainTab:CreateSection("vvv cam lock")
Rayfield:Notify({
Title = "executed!",
Content = "working!!",
Duration = 6.5,
Image = 4483362458,
Actions = { -- Notification Buttons
Ignore = {
Name = "Okay!",
Callback = function()
print("The user tapped Okay!")
end
},
},
})
local Button = MainTab:CreateButton({
Name = "Cam lock",
Callback = function()
getgenv().OldAimPart = "HumanoidRootPart"
getgenv().AimPart = "HumanoidRootPart" -- For R15 Games: {UpperTorso, LowerTorso, HumanoidRootPart, Head} | For R6 Games: {Head, Torso, HumanoidRootPart}
getgenv().AimlockKey = "q"
getgenv().AimRadius = 100 -- How far away from someones character you want to lock on at
getgenv().ThirdPerson = true
getgenv().FirstPerson = true
getgenv().TeamCheck = false -- Check if Target is on your Team (True means it wont lock onto your teamates, false is vice versa) (Set it to false if there are no teams)
getgenv().PredictMovement = true -- Predicts if they are moving in fast velocity (like jumping) so the aimbot will go a bit faster to match their speed
getgenv().PredictionVelocity = 6.612
getgenv().CheckIfJumped = true
getgenv().Smoothness = false
getgenv().SmoothnessAmount = 0.2
local Players, Uis, RService, SGui = game:GetService"Players", game:GetService"UserInputService", game:GetService"RunService", game:GetService"StarterGui";
local Client, Mouse, Camera, CF, RNew, Vec3, Vec2 = Players.LocalPlayer, Players.LocalPlayer:GetMouse(), workspace.CurrentCamera, CFrame.new, Ray.new, Vector3.new, Vector2.new;
local Aimlock, MousePressed, CanNotify = true, false, false;
local AimlockTarget;
local OldPre;
getgenv().WorldToViewportPoint = function(P)
return Camera:WorldToViewportPoint(P)
end
getgenv().WorldToScreenPoint = function(P)
return Camera.WorldToScreenPoint(Camera, P)
end
getgenv().GetObscuringObjects = function(T)
if T and T:FindFirstChild(getgenv().AimPart) and Client and Client.Character:FindFirstChild("Head") then
local RayPos = workspace:FindPartOnRay(RNew(
T[getgenv().AimPart].Position, Client.Character.Head.Position)
)
if RayPos then return RayPos:IsDescendantOf(T) end
end
end
getgenv().GetNearestTarget = function()
-- Credits to whoever made this, i didnt make it, and my own mouse2plr function kinda sucks
local players = {}
local PLAYER_HOLD = {}
local DISTANCES = {}
for i, v in pairs(Players:GetPlayers()) do
if v ~= Client then
table.insert(players, v)
end
end
for i, v in pairs(players) do
if v.Character ~= nil then
local AIM = v.Character:FindFirstChild("Head")
if getgenv().TeamCheck == true and v.Team ~= Client.Team then
local DISTANCE = (v.Character:FindFirstChild("Head").Position - game.Workspace.CurrentCamera.CFrame.p).magnitude
local RAY = Ray.new(game.Workspace.CurrentCamera.CFrame.p, (Mouse.Hit.p - game.Workspace.CurrentCamera.CFrame.p).unit * DISTANCE)
local HIT,POS = game.Workspace:FindPartOnRay(RAY, game.Workspace)
local DIFF = math.floor((POS - AIM.Position).magnitude)
PLAYER_HOLD[v.Name .. i] = {}
PLAYER_HOLD[v.Name .. i].dist= DISTANCE
PLAYER_HOLD[v.Name .. i].plr = v
PLAYER_HOLD[v.Name .. i].diff = DIFF
table.insert(DISTANCES, DIFF)
elseif getgenv().TeamCheck == false and v.Team == Client.Team then
local DISTANCE = (v.Character:FindFirstChild("Head").Position - game.Workspace.CurrentCamera.CFrame.p).magnitude
local RAY = Ray.new(game.Workspace.CurrentCamera.CFrame.p, (Mouse.Hit.p - game.Workspace.CurrentCamera.CFrame.p).unit * DISTANCE)
local HIT,POS = game.Workspace:FindPartOnRay(RAY, game.Workspace)
local DIFF = math.floor((POS - AIM.Position).magnitude)
PLAYER_HOLD[v.Name .. i] = {}
PLAYER_HOLD[v.Name .. i].dist= DISTANCE
PLAYER_HOLD[v.Name .. i].plr = v
PLAYER_HOLD[v.Name .. i].diff = DIFF
table.insert(DISTANCES, DIFF)
end
end
end
if unpack(DISTANCES) == nil then
return nil
end
local L_DISTANCE = math.floor(math.min(unpack(DISTANCES)))
if L_DISTANCE > getgenv().AimRadius then
return nil
end
for i, v in pairs(PLAYER_HOLD) do
if v.diff == L_DISTANCE then
return v.plr
end
end
return nil
end
Mouse.KeyDown:Connect(function(a)
if not (Uis:GetFocusedTextBox()) then
if a == AimlockKey and AimlockTarget == nil then
pcall(function()
if MousePressed ~= true then MousePressed = true end
local Target;Target = GetNearestTarget()
if Target ~= nil then
AimlockTarget = Target
end
end)
elseif a == AimlockKey and AimlockTarget ~= nil then
if AimlockTarget ~= nil then AimlockTarget = nil end
if MousePressed ~= false then
MousePressed = false
end
end
end
end)
RService.RenderStepped:Connect(function()
if getgenv().ThirdPerson == true and getgenv().FirstPerson == true then
if (Camera.Focus.p - Camera.CoordinateFrame.p).Magnitude > 1 or (Camera.Focus.p - Camera.CoordinateFrame.p).Magnitude <= 1 then
CanNotify = true
else
CanNotify = false
end
elseif getgenv().ThirdPerson == true and getgenv().FirstPerson == false then
if (Camera.Focus.p - Camera.CoordinateFrame.p).Magnitude > 1 then
CanNotify = true
else
CanNotify = false
end
elseif getgenv().ThirdPerson == false and getgenv().FirstPerson == true then
if (Camera.Focus.p - Camera.CoordinateFrame.p).Magnitude <= 1 then
CanNotify = true
else
CanNotify = false
end
end
if Aimlock == true and MousePressed == true then
if AimlockTarget and AimlockTarget.Character and AimlockTarget.Character:FindFirstChild(getgenv().AimPart) then
if getgenv().FirstPerson == true then
if CanNotify == true then
if getgenv().PredictMovement == true then
if getgenv().Smoothness == true then
--// The part we're going to lerp/smoothen \\--
local Main = CF(Camera.CFrame.p, AimlockTarget.Character[getgenv().AimPart].Position + AimlockTarget.Character[getgenv().AimPart].Velocity/PredictionVelocity)
--// Making it work \\--
Camera.CFrame = Camera.CFrame:Lerp(Main, getgenv().SmoothnessAmount, Enum.EasingStyle.Elastic, Enum.EasingDirection.InOut)
else
Camera.CFrame = CF(Camera.CFrame.p, AimlockTarget.Character[getgenv().AimPart].Position + AimlockTarget.Character[getgenv().AimPart].Velocity/PredictionVelocity)
end
elseif getgenv().PredictMovement == false then
if getgenv().Smoothness == true then
--// The part we're going to lerp/smoothen \\--
local Main = CF(Camera.CFrame.p, AimlockTarget.Character[getgenv().AimPart].Position)
--// Making it work \\--
Camera.CFrame = Camera.CFrame:Lerp(Main, getgenv().SmoothnessAmount, Enum.EasingStyle.Elastic, Enum.EasingDirection.InOut)
else
Camera.CFrame = CF(Camera.CFrame.p, AimlockTarget.Character[getgenv().AimPart].Position)
end
end
end
end
end
end
if CheckIfJumped == true then
if AimlockTarget.Character.HuDDDDDDDDDDWmanoid.FloorMaterial == Enum.Material.Air then
getgenv().AimPart = "HumanoidRootPart"
else
getgenv().AimPart = getgenv().OldAimPart
end
end
end)
end,
})
local Slider = MainTab:CreateSlider({
Name = "Walkspeed",
Range = {0, 38},
Increment = 1,
Suffix = "speed",
CurrentValue = 16,
Flag = "Slider1", -- A flag is the identifier for the configuration file, make sure every element has a different flag if you're using configuration saving to ensure no overlaps
Callback = function(Value)
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = (Value)
end,
})
local oTab = Window:CreateTab("ESP", 4483362458) -- Title, Image
local Section = oTab:CreateSection("best esps")
local Button = oTab:CreateButton({
Name = "Pink esp",
Callback = function()
-- ESP Script for outlining players and making them visible through walls in Roblox game
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Camera = game.Workspace.CurrentCamera
-- Color for outlining (Pink)
local OutlineColor = Color3.fromRGB(255, 105, 180) -- Adjust RGB values as needed
-- Function to create an outline for a player
local function createPlayerOutline(player)
local character = player.Character
if not character then return end
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
if not humanoidRootPart then return end
local outline = Instance.new("BoxHandleAdornment")
outline.Name = "PlayerOutline"
outline.Size = humanoidRootPart.Size
outline.Adornee = humanoidRootPart
outline.AlwaysOnTop = true
outline.ZIndex = 5
outline.Transparency = 0.5
outline.Color3 = OutlineColor
outline.Parent = humanoidRootPart
end
-- Function to handle when a player is added
local function onPlayerAdded(player)
if player ~= LocalPlayer then
player.CharacterAdded:Connect(function(character)
createPlayerOutline(player)
end)
if player.Character then
createPlayerOutline(player)
end
end
end
-- Initial check for existing players
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
createPlayerOutline(player)
end
end
-- Listen for new players
Players.PlayerAdded:Connect(onPlayerAdded)
-- Update loop to ensure outlines stay visible and handle visibility through walls
game:GetService("RunService").RenderStepped:Connect(function()
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
local character = player.Character
if character then
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
if humanoidRootPart then
local outline = humanoidRootPart:FindFirstChild("PlayerOutline")
if outline then
-- Calculate player position relative to the camera
local position = Camera:WorldToViewportPoint(humanoidRootPart.Position)
if position.Z > 0 then
outline.Visible = true
outline.Size = Vector3.new(4, 6, 0.05) * (1 / position.Z)
outline.CFrame = CFrame.new(position.X, position.Y, 0)
else
outline.Visible = false
end
else
createPlayerOutline(player)
end
end
end
end
end
end)
end,
})
To embed this project on your website, copy the following code and paste it into your website's HTML: