local repo = 'https://[Log in to view URL]'
local Library = loadstring(game:HttpGet(repo .. 'Library.lua'))()
local ThemeManager = loadstring(game:HttpGet(repo .. 'addons/ThemeManager.lua'))()
local SaveManager = loadstring(game:HttpGet(repo .. 'addons/SaveManager.lua'))()
local Window = Library:CreateWindow({
Title = ' vanilla.lol',
Center = true,
AutoShow = true,
TabPadding = 8,
MenuFadeTime = 0.2
})
local Tabs = {
Welcome = Window:AddTab('Welcome'),
Main = Window:AddTab('Combat'),
Visuals = Window:AddTab('Visuals'),
Misc = Window:AddTab('Misc'),
Players = Window:AddTab('Player'),
Client = Window:AddTab('Client'),
['UI Settings'] = Window:AddTab('Settings'),
}
local WelcomeGroupBox = Tabs.Welcome:AddLeftGroupbox('Welcome to vanilla.lol')
WelcomeGroupBox:AddLabel('This the is BEST script ever! (imo)')
WelcomeGroupBox:AddLabel('Thats all pls like my script i made,')
WelcomeGroupBox:AddLabel('My tt is @prizm_nothere FOLLOW ME.')
WelcomeGroupBox:AddLabel('HUGE shoutout to my friend billy')
WelcomeGroupBox:AddLabel('that supported me throught out')
WelcomeGroupBox:AddLabel('this journy of creating this script.')
local LeftGroupBox = Tabs.Client:AddLeftGroupbox('Speed & Jump')
LeftGroupBox:AddToggle('TpwalkToggle', {
Text = 'Tpwalk',
Default = false,
Tooltip = 'Tpwalk toggle / Cframe toggle - master switch',
Callback = function(Value)
if not Value then
-- force disable everything when main off
Toggles.TrailToggle:SetValue(false)
Toggles.CircleToggle:SetValue(false)
end
end
})
LeftGroupBox:AddLabel('Keybind'):AddKeyPicker('KeyPickerTpSpeed', {
Default = 'Q',
SyncToggleState = false,
Mode = 'Toggle',
Text = 'tpwalk key',
NoUI = false,
ChangedCallback = function(New)
print('[cb] Keybind changed', New)
end
})
LeftGroupBox:AddSlider('TpSpeedSlider1', {
Text = 'Tpwalk power',
Default = 5,
Min = 1,
Max = 100,
Rounding = 0,
Compact = false,
Tooltip = 'Control the power of the Tpwalk (higher = faster)'
})
LeftGroupBox:AddToggle('TrailToggle', {
Text = 'TpWalk trail',
Default = false,
Tooltip = 'Toggle a trail of the player for tpwalk.',
Callback = function(Value) end
})
LeftGroupBox:AddToggle('CircleToggle', {
Text = 'Trail circle',
Default = false,
Tooltip = 'Toggle a circle that spawns under u every time u touch the ground with tpwalk.',
Callback = function(Value) end
})
-- ────────────────────────────────────────────────────────────────
-- Tpwalk + Trail + Circle logic (only active when TpwalkToggle on)
-- ────────────────────────────────────────────────────────────────
local tpwalkConnection
local lastPos = Vector3.new()
local trailParts = {}
local RunService = game:GetService("RunService")
RunService.Heartbeat:Connect(function()
if not Toggles.TpwalkToggle.Value then return end
local char = LocalPlayer.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return end
local hrp = char.HumanoidRootPart
local moveDir = hrp.CFrame.LookVector * -1 -- opposite direction trail
local speed = Options.TpSpeedSlider1.Value * 14 -- 5 ≈ 70 studs, scales well
-- Tpwalk (CFrame)
if Options.KeyPickerTpSpeed:GetState() then
hrp.CFrame = hrp.CFrame + (moveDir * speed * 0.016)
end
-- Trail (pink blossom, full coverage, no edges)
if Toggles.TrailToggle.Value then
local part = Instance.new("Part")
part.Size = char:GetExtentsSize() * 1.05 -- slightly bigger to cover every pixel
part.CFrame = hrp.CFrame
part.Anchored = true
part.CanCollide = false
part.Transparency = 0.4
part.Color = Color3.fromRGB(255, 105, 180) -- hot pink blossom
part.Material = Enum.Material.Neon
part.Parent = Workspace
table.insert(trailParts, part)
task.delay(0.6, function()
if part then part:Destroy() end
end)
end
-- Ground touch circle (pink-white gradient, stationary)
if Toggles.CircleToggle.Value then
local ray = Ray.new(hrp.Position + Vector3.new(0, 2, 0), Vector3.new(0, -10, 0))
local hit, pos = Workspace:FindPartOnRay(ray, char)
if hit and (pos - lastPos).Magnitude > 1 then
lastPos = pos
local circle = Instance.new("Part")
circle.Shape = Enum.PartType.Cylinder
circle.Size = Vector3.new(0.2, 2, 2) -- thin, 2 studs wide
circle.CFrame = CFrame.new(pos) * CFrame.Angles(math.rad(90), 0, 0)
circle.Anchored = true
circle.CanCollide = false
circle.Transparency = 0.3
circle.Color = Color3.fromRGB(255, 182, 193) -- soft pink
circle.Material = Enum.Material.Neon
circle.Parent = Workspace
local gradient = Instance.new("SurfaceAppearance")
gradient.Color = ColorSequence.new{
ColorSequenceKeypoint.new(0, Color3.new(1,1,1)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 105, 180))
}
gradient.Parent = circle
task.spawn(function()
for i = 1, 20 do
circle.Size = circle.Size + Vector3.new(0, 4, 4) -- grow
circle.Transparency = circle.Transparency + 0.04 -- fade
task.wait(0.05)
end
circle:Destroy()
end)
end
end
end)
local TabBox = Tabs.Main:AddLeftTabbox()
local Tab1 = TabBox:AddTab('Legit')
local Tab2 = TabBox:AddTab('Silent')
local Tab3 = TabBox:AddTab('Ragebot')
Tab1:AddToggle('AimbotToggle', {
Text = 'Aimbot',
Default = false,
Tooltip = 'Enable aimbot',
Callback = function(Value) end
})
Tab1:AddLabel('Keybind'):AddKeyPicker('KeyPicker1', {
Default = 'MB2',
SyncToggleState = false,
Mode = 'Hold',
Text = 'Aimbot key',
NoUI = false,
ChangedCallback = function(New)
print('[cb] Keybind changed', New)
end
})
Tab1:AddToggle('FovToggle', {
Text = 'Fov',
Default = false,
Tooltip = 'Enable the Fov',
Callback = function(Value) end
})
Tab1:AddSlider('FovSlider', {
Text = 'Fov size',
Default = 120,
Min = 10,
Max = 1000,
Rounding = 0,
Compact = false,
Tooltip = 'Control how big the Fov is'
})
Tab1:AddSlider('FovSlider2', {
Text = 'Fov width',
Default = 3,
Min = 1,
Max = 20,
Rounding = 0,
Compact = false,
Tooltip = 'Control the width of the Fov'
})
Tab1:AddLabel('Fov Color'):AddColorPicker('ColorPickerFov', {
Default = Color3.new(0, 1, 0),
Title = 'Fov color',
Transparency = 0,
Tooltip = 'Pick the desired color of the Fov'
})
local RightGroupBox = Tabs.Main:AddRightGroupbox('Checks')
RightGroupBox:AddToggle('WallCheckToggle', {
Text = 'Wall check',
Default = false,
Tooltip = 'Checks if behind wall',
Callback = function(Value) end
})
RightGroupBox:AddToggle('AliveCheckToggle', {
Text = 'Alive check',
Default = false,
Tooltip = 'Checks if target is dead/alive',
Callback = function(Value) end
})
RightGroupBox:AddLabel('Femboys <3')
RightGroupBox:AddLabel(':3')
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local LocalPlayer = Players.LocalPlayer
local Camera = Workspace.CurrentCamera
local PlayersGroupBox = Tabs.Players:AddLeftGroupbox('Players')
local PlayerSettingsGroupBox = Tabs.Players:AddRightGroupbox('Settings')
local selectedPlayer = nil
local spectating = false
PlayersGroupBox:AddDropdown('MyPlayerDropdown', {
SpecialType = 'Player',
Text = 'Players dropdown',
Tooltip = 'Select the player',
Callback = function(Value)
selectedPlayer = Players:FindFirstChild(Value)
end
})
PlayerSettingsGroupBox:AddButton({
Text = 'Teleport',
Func = function()
if selectedPlayer and selectedPlayer.Character and selectedPlayer.Character:FindFirstChild("Head") and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
LocalPlayer.Character.HumanoidRootPart.CFrame = selectedPlayer.Character.Head.CFrame + Vector3.new(0, 10, 0)
end
end,
DoubleClick = false,
Tooltip = 'Teleport to the player'
})
PlayerSettingsGroupBox:AddButton({
Text = 'Spectate',
Func = function()
if not selectedPlayer or not selectedPlayer.Character then return end
spectating = not spectating
if spectating then
Camera.CameraSubject = selectedPlayer.Character:FindFirstChild("Humanoid")
else
if LocalPlayer.Character then
Camera.CameraSubject = LocalPlayer.Character:FindFirstChild("Humanoid")
end
end
end,
DoubleClick = false,
Tooltip = 'Spectate the player'
})
local HealthSlider = PlayerSettingsGroupBox:AddSlider('MySlider', {
Text = 'Health',
Default = 0,
Min = 0,
Max = 100,
Rounding = 1,
Compact = false,
Callback = function(Value) end,
Tooltip = 'See the players health'
})
RunService.Heartbeat:Connect(function()
if selectedPlayer and selectedPlayer.Character and selectedPlayer.Character:FindFirstChild("Humanoid") then
local health = selectedPlayer.Character.Humanoid.Health
HealthSlider:SetValue(math.clamp(math.floor(health), 0, 100))
else
HealthSlider:SetValue(0)
end
end)
PlayerSettingsGroupBox:AddLabel('Id honestly crack a femboy,')
PlayerSettingsGroupBox:AddLabel('but im a royal bf.')
Library:SetWatermarkVisibility(true)
Library:Notify("Hello World!", 5)
task.spawn(function()
local currentFPS = 60
local currentPing = 0
RunService.RenderStepped:Connect(function(delta)
if delta > 0 then
currentFPS = math.floor(1 / delta)
end
end)
while task.wait(0.5) do
currentPing = math.floor(Players.LocalPlayer:GetNetworkPing() * 1000)
local username = LocalPlayer.Name
Library:SetWatermark('vanilla.lol | ' .. currentFPS .. ' fps | ' .. currentPing .. ' ms | client: ' .. username)
end
end)
Library.KeybindFrame.Visible = true
Library:OnUnload(function()
print('Unloaded!')
Library.Unloaded = true
end)
local MenuGroup = Tabs['UI Settings']:AddLeftGroupbox('Menu')
MenuGroup:AddButton('Unload', function() Library:Unload() end)
MenuGroup:AddLabel('Menu bind'):AddKeyPicker('MenuKeybind', { Default = 'End', NoUI = true, Text = 'Menu keybind' })
Library.ToggleKeybind = Options.MenuKeybind
ThemeManager:SetLibrary(Library)
SaveManager:SetLibrary(Library)
SaveManager:IgnoreThemeSettings()
SaveManager:SetIgnoreIndexes({ 'MenuKeybind' })
ThemeManager:SetFolder('MyScriptHub')
SaveManager:SetFolder('MyScriptHub/specific-game')
SaveManager:BuildConfigSection(Tabs['UI Settings'])
ThemeManager:ApplyToTab(Tabs['UI Settings'])
SaveManager:LoadAutoloadConfig()
To embed this project on your website, copy the following code and paste it into your website's HTML: