Main Script

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 39

--This watermark is used to delete the file if its cached, remove it to make the

file persist after commits.


repeat task.wait() until game:IsLoaded()
local GuiLibrary
local baseDirectory = (shared.VapePrivate and "vapeprivate/" or "vape/")
local vapeInjected = true
local oldRainbow = false
local errorPopupShown = false
local redownloadedAssets = false
local profilesLoaded = false
local teleportedServers = false
local gameCamera = workspace.CurrentCamera
local textService = game:GetService("TextService")
local playersService = game:GetService("Players")
local inputService = game:GetService("UserInputService")
local isfile = isfile or function(file)
local suc, res = pcall(function() return readfile(file) end)
return suc and res ~= nil
end
local setidentity = syn and syn.set_thread_identity or set_thread_identity or
setidentity or setthreadidentity or function() end
local getidentity = syn and syn.get_thread_identity or get_thread_identity or
getidentity or getthreadidentity or function() return 0 end
local vapeAssetTable = {
["vape/assets/AddItem.png"] = "rbxassetid://13350763121",
["vape/assets/AddRemoveIcon1.png"] = "rbxassetid://13350764147",
["vape/assets/ArrowIndicator.png"] = "rbxassetid://13350766521",
["vape/assets/BackIcon.png"] = "rbxassetid://13350767223",
["vape/assets/BindBackground.png"] = "rbxassetid://13350767577",
["vape/assets/BlatantIcon.png"] = "rbxassetid://13350767943",
["vape/assets/CircleListBlacklist.png"] = "rbxassetid://13350768647",
["vape/assets/CircleListWhitelist.png"] = "rbxassetid://13350769066",
["vape/assets/ColorSlider1.png"] = "rbxassetid://13350769439",
["vape/assets/ColorSlider2.png"] = "rbxassetid://13350769842",
["vape/assets/CombatIcon.png"] = "rbxassetid://13350770192",
["vape/assets/DownArrow.png"] = "rbxassetid://13350770749",
["vape/assets/ExitIcon1.png"] = "rbxassetid://13350771140",
["vape/assets/FriendsIcon.png"] = "rbxassetid://13350771464",
["vape/assets/HoverArrow.png"] = "rbxassetid://13350772201",
["vape/assets/HoverArrow2.png"] = "rbxassetid://13350772588",
["vape/assets/HoverArrow3.png"] = "rbxassetid://13350773014",
["vape/assets/HoverArrow4.png"] = "rbxassetid://13350773643",
["vape/assets/InfoNotification.png"] = "rbxassetid://13350774006",
["vape/assets/KeybindIcon.png"] = "rbxassetid://13350774323",
["vape/assets/LegitModeIcon.png"] = "rbxassetid://13436400428",
["vape/assets/MoreButton1.png"] = "rbxassetid://13350775005",
["vape/assets/MoreButton2.png"] = "rbxassetid://13350775731",
["vape/assets/MoreButton3.png"] = "rbxassetid://13350776241",
["vape/assets/NotificationBackground.png"] = "rbxassetid://13350776706",
["vape/assets/NotificationBar.png"] = "rbxassetid://13350777235",
["vape/assets/OnlineProfilesButton.png"] = "rbxassetid://13350777717",
["vape/assets/PencilIcon.png"] = "rbxassetid://13350778187",
["vape/assets/PinButton.png"] = "rbxassetid://13350778654",
["vape/assets/ProfilesIcon.png"] = "rbxassetid://13350779149",
["vape/assets/RadarIcon1.png"] = "rbxassetid://13350779545",
["vape/assets/RadarIcon2.png"] = "rbxassetid://13350779992",
["vape/assets/RainbowIcon1.png"] = "rbxassetid://13350780571",
["vape/assets/RainbowIcon2.png"] = "rbxassetid://13350780993",
["vape/assets/RightArrow.png"] = "rbxassetid://13350781908",
["vape/assets/SearchBarIcon.png"] = "rbxassetid://13350782420",
["vape/assets/SettingsWheel1.png"] = "rbxassetid://13350782848",
["vape/assets/SettingsWheel2.png"] = "rbxassetid://13350783258",
["vape/assets/SliderArrow1.png"] = "rbxassetid://13350783794",
["vape/assets/SliderArrowSeperator.png"] = "rbxassetid://13350784477",
["vape/assets/SliderButton1.png"] = "rbxassetid://13350785680",
["vape/assets/TargetIcon.png"] = "rbxassetid://13350786128",
["vape/assets/TargetIcon1.png"] = "rbxassetid://13350786776",
["vape/assets/TargetIcon2.png"] = "rbxassetid://13350787228",
["vape/assets/TargetIcon3.png"] = "rbxassetid://13350787729",
["vape/assets/TargetIcon4.png"] = "rbxassetid://13350788379",
["vape/assets/TargetInfoIcon1.png"] = "rbxassetid://13350788860",
["vape/assets/TargetInfoIcon2.png"] = "rbxassetid://13350789239",
["vape/assets/TextBoxBKG.png"] = "rbxassetid://13350789732",
["vape/assets/TextBoxBKG2.png"] = "rbxassetid://13350790229",
["vape/assets/TextGUIIcon1.png"] = "rbxassetid://13350790634",
["vape/assets/TextGUIIcon2.png"] = "rbxassetid://13350791175",
["vape/assets/TextGUIIcon3.png"] = "rbxassetid://13350791758",
["vape/assets/TextGUIIcon4.png"] = "rbxassetid://13350792279",
["vape/assets/ToggleArrow.png"] = "rbxassetid://13350792786",
["vape/assets/UpArrow.png"] = "rbxassetid://13350793386",
["vape/assets/UtilityIcon.png"] = "rbxassetid://13350793918",
["vape/assets/WarningNotification.png"] = "rbxassetid://13350794868",
["vape/assets/WindowBlur.png"] = "rbxassetid://13350795660",
["vape/assets/WorldIcon.png"] = "rbxassetid://13350796199",
["vape/assets/VapeIcon.png"] = "rbxassetid://13350808582",
["vape/assets/RenderIcon.png"] = "rbxassetid://13350832775",
["vape/assets/VapeLogo1.png"] = "rbxassetid://13350860863",
["vape/assets/VapeLogo3.png"] = "rbxassetid://13350872035",
["vape/assets/VapeLogo2.png"] = "rbxassetid://13350876307",
["vape/assets/VapeLogo4.png"] = "rbxassetid://13350877564"
}
local getcustomasset = getsynasset or getcustomasset or function(location) return
vapeAssetTable[location] or "" end
local customassetcheck = (getsynasset or getcustomasset) and true
local queueonteleport = syn and syn.queue_on_teleport or queue_on_teleport or
queueonteleport or function() end
local delfile = delfile or function(file) writefile(file, "") end

local function displayErrorPopup(text, funclist)


local oldidentity = getidentity()
setidentity(8)
local ErrorPrompt =
getrenv().require(game:GetService("CoreGui").RobloxGui.Modules.ErrorPrompt)
local prompt = ErrorPrompt.new("Default")
prompt._hideErrorCode = true
local gui = Instance.new("ScreenGui", game:GetService("CoreGui"))
prompt:setErrorTitle("Vape")
local funcs
if funclist then
funcs = {}
local num = 0
for i,v in pairs(funclist) do
num = num + 1
table.insert(funcs, {
Text = i,
Callback = function()
prompt:_close()
v()
end,
Primary = num == #funclist
})
end
end
prompt:updateButtons(funcs or {{
Text = "OK",
Callback = function()
prompt:_close()
end,
Primary = true
}}, 'Default')
prompt:setParent(gui)
prompt:_open(text)
setidentity(oldidentity)
end

local function vapeGithubRequest(scripturl)


if not isfile("vape/"..scripturl) then
local suc, res
task.delay(15, function()
if not res and not errorPopupShown then
errorPopupShown = true
displayErrorPopup("The connection to github is taking a
while, Please be patient.")
end
end)
suc, res = pcall(function() return
game:HttpGet("https://raw.githubusercontent.com/7GrandDadPGN/VapeV4ForRoblox/"..scr
ipturl, true) end)
if not suc or res == "404: Not Found" then
displayErrorPopup("Failed to connect to github :
vape/"..scripturl.." : "..res)
error(res)
end
if scripturl:find(".lua") then res = "--This watermark is used to
delete the file if its cached, remove it to make the file persist after commits.\
n"..res end
writefile(baseDirectory..scripturl, res)
end
return readfile(baseDirectory..scripturl)
end

local function downloadVapeAsset(path)


if customassetcheck then
if not isfile(path) then
task.spawn(function()
local textlabel = Instance.new("TextLabel")
textlabel.Size = UDim2.new(1, 0, 0, 36)
textlabel.Text = "Downloading "..path
textlabel.BackgroundTransparency = 1
textlabel.TextStrokeTransparency = 0
textlabel.TextSize = 30
textlabel.Font = Enum.Font.SourceSans
textlabel.TextColor3 = Color3.new(1, 1, 1)
textlabel.Position = UDim2.new(0, 0, 0, -36)
textlabel.Parent = GuiLibrary.MainGui
repeat task.wait() until isfile(path)
textlabel:Destroy()
end)
local suc, req = pcall(function() return
vapeGithubRequest(path:gsub("vape/assets", "assets")) end)
if suc and req then
writefile(path, req)
else
return ""
end
end
end
return getcustomasset(path)
end

assert(not shared.VapeExecuted, "Vape Already Injected")


shared.VapeExecuted = true

for i,v in pairs({baseDirectory:gsub("/", ""), "vape", "vape/Libraries",


"vape/CustomModules", "vape/Profiles", baseDirectory.."Profiles", "vape/assets"})
do
if not isfolder(v) then makefolder(v) end
end
task.spawn(function()
local success, assetver = pcall(function() return
vapeGithubRequest("assetsversion.txt") end)
if not isfile(baseDirectory.. "assetsversion.txt") then
writefile(baseDirectory.. "assetsversion.txt", "0") end
if success and assetver > readfile(baseDirectory.. "assetsversion.txt") then
redownloadedAssets = true
if isfolder(baseDirectory.. "assets") and not shared.VapeDeveloper then
if delfolder then
delfolder(baseDirectory.. "assets")
makefolder(baseDirectory.. "assets")
end
end
writefile(baseDirectory.. "assetsversion.txt", assetver)
end
end)
if not isfile(baseDirectory.. "CustomModules/cachechecked.txt") then
local isNotCached = false
for i,v in pairs({baseDirectory.. "Universal.lua", baseDirectory..
"/MainScript.lua", baseDirectory.. "/GuiLibrary.lua"}) do
if isfile(v) and not readfile(v):find("--This watermark is used to
delete the file if its cached, remove it to make the file persist after commits.")
then
isNotCached = true
end
end
if isfolder("vape/CustomModules") then
for i,v in pairs(listfiles(baseDirectory.. "CustomModules")) do
if isfile(v) and not readfile(v):find("--This watermark is used
to delete the file if its cached, remove it to make the file persist after
commits.") then
isNotCached = true
end
end
end
if isNotCached and not shared.VapeDeveloper then
displayErrorPopup("Vape has detected uncached files, If you have
CustomModules click no, else click yes.", {No = function() end, Yes = function()
for i,v in pairs({baseDirectory.. "/Universal.lua",
baseDirectory.. "/MainScript.lua", baseDirectory.. "/GuiLibrary.lua"}) do
if isfile(v) and not readfile(v):find("--This watermark is
used to delete the file if its cached, remove it to make the file persist after
commits.") then
delfile(v)
end
end
for i,v in pairs(listfiles(baseDirectory.. "CustomModules")) do
if isfile(v) and not readfile(v):find("--This watermark is
used to delete the file if its cached, remove it to make the file persist after
commits.") then
local last = v:split('\\')
last = last[#last]
local suc, publicrepo = pcall(function() return
game:HttpGet("https://raw.githubusercontent.com/7GrandDadPGN/VapeV4ForRoblox/
CustomModules/"..last) end)
if suc and publicrepo and publicrepo ~= "404: Not
Found" then
writefile(baseDirectory..
"CustomModules/"..last, "--This watermark is used to delete the file if its cached,
remove it to make the file persist after commits.\n"..publicrepo)
end
end
end
end})
end
writefile(baseDirectory.. "CustomModules/cachechecked.txt", "verified")
end

GuiLibrary = loadstring(vapeGithubRequest("GuiLibrary.lua"))()
shared.GuiLibrary = GuiLibrary

local saveSettingsLoop = coroutine.create(function()


if inputService.TouchEnabled then return end
repeat
GuiLibrary.SaveSettings()
task.wait(10)
until not vapeInjected or not GuiLibrary
end)

task.spawn(function()
local image = Instance.new("ImageLabel")
image.Image = downloadVapeAsset("vape/assets/CombatIcon.png")
image.Position = UDim2.new()
image.BackgroundTransparency = 1
image.Size = UDim2.fromOffset(100, 100)
image.ImageTransparency = 0.999
image.Parent = GuiLibrary.MainGui
image:GetPropertyChangedSignal("IsLoaded"):Connect(function()
image:Destroy()
image = nil
end)
task.spawn(function()
task.wait(15)
if image and image.ContentImageSize == Vector2.zero and (not
errorPopupShown) and (not redownloadedAssets) and (not
isfile("vape/assets/check3.txt")) then
errorPopupShown = true
displayErrorPopup("Assets failed to load, Try another executor
(executor : "..(identifyexecutor and identifyexecutor() or "Unknown")..")", {OK =
function()
writefile(baseDirectory.. "assets/check3.txt", "")
end})
end
end)
end)

local GUI = GuiLibrary.CreateMainWindow()


local Combat = GuiLibrary.CreateWindow({
Name = "Combat",
Icon = "vape/assets/CombatIcon.png",
IconSize = 15
})
local Blatant = GuiLibrary.CreateWindow({
Name = "Blatant",
Icon = "vape/assets/BlatantIcon.png",
IconSize = 16
})
local Render = GuiLibrary.CreateWindow({
Name = "Render",
Icon = "vape/assets/RenderIcon.png",
IconSize = 17
})
local Utility = GuiLibrary.CreateWindow({
Name = "Utility",
Icon = "vape/assets/UtilityIcon.png",
IconSize = 17
})
local World = GuiLibrary.CreateWindow({
Name = "World",
Icon = "vape/assets/WorldIcon.png",
IconSize = 16
})
local Exploit = GuiLibrary.CreateWindow({
Name = 'Exploit',
Icon = 'vape/assets/exploiticon.png',
IconSize = 18
})
local Friends = GuiLibrary.CreateWindow2({
Name = "Friends",
Icon = "vape/assets/FriendsIcon.png",
IconSize = 17
})
local Targets = GuiLibrary.CreateWindow2({
Name = "Targets",
Icon = "vape/assets/FriendsIcon.png",
IconSize = 17
})
local Profiles = GuiLibrary.CreateWindow2({
Name = "Profiles",
Icon = "vape/assets/ProfilesIcon.png",
IconSize = 19
})
GUI.CreateDivider()
GUI.CreateButton({
Name = "Combat",
Function = function(callback) Combat.SetVisible(callback) end,
Icon = "vape/assets/CombatIcon.png",
IconSize = 15
})
GUI.CreateButton({
Name = "Blatant",
Function = function(callback) Blatant.SetVisible(callback) end,
Icon = "vape/assets/BlatantIcon.png",
IconSize = 16
})
GUI.CreateButton({
Name = "Render",
Function = function(callback) Render.SetVisible(callback) end,
Icon = "vape/assets/RenderIcon.png",
IconSize = 17
})
GUI.CreateButton({
Name = "Utility",
Function = function(callback) Utility.SetVisible(callback) end,
Icon = "vape/assets/UtilityIcon.png",
IconSize = 17
})
GUI.CreateButton({
Name = "World",
Function = function(callback) World.SetVisible(callback) end,
Icon = "vape/assets/WorldIcon.png",
IconSize = 16
})
GUI.CreateButton({
Name = "Exploit",
Function = function(callback) Exploit.SetVisible(callback) end,
Icon = "vape/assets/exploiticon.png",
IconSize = 18
})
GUI.CreateDivider("MISC")
GUI.CreateButton({
Name = "Friends",
Function = function(callback) Friends.SetVisible(callback) end,
})
GUI.CreateButton({
Name = "Targets",
Function = function(callback) Targets.SetVisible(callback) end,
})
GUI.CreateButton({
Name = "Profiles",
Function = function(callback) Profiles.SetVisible(callback) end,
})

local FriendsTextListTable = {
Name = "FriendsList",
TempText = "Username [Alias]",
Color = Color3.fromRGB(5, 133, 104)
}
local FriendsTextList = Friends.CreateCircleTextList(FriendsTextListTable)
FriendsTextList.FriendRefresh = Instance.new("BindableEvent")
FriendsTextList.FriendColorRefresh = Instance.new("BindableEvent")
local TargetsTextList = Targets.CreateCircleTextList({
Name = "TargetsList",
TempText = "Username [Alias]",
Color = Color3.fromRGB(5, 133, 104)
})
local oldFriendRefresh = FriendsTextList.RefreshValues
FriendsTextList.RefreshValues = function(...)
FriendsTextList.FriendRefresh:Fire()
return oldFriendRefresh(...)
end
local oldTargetRefresh = TargetsTextList.RefreshValues
TargetsTextList.RefreshValues = function(...)
FriendsTextList.FriendRefresh:Fire()
return oldTargetRefresh(...)
end
Friends.CreateToggle({
Name = "Use Friends",
Function = function(callback)
FriendsTextList.FriendRefresh:Fire()
end,
Default = true
})
Friends.CreateToggle({
Name = "Use Alias",
Function = function(callback) end,
Default = true,
})
Friends.CreateToggle({
Name = "Spoof alias",
Function = function(callback) end,
})
local friendRecolorToggle = Friends.CreateToggle({
Name = "Recolor visuals",
Function = function(callback) FriendsTextList.FriendColorRefresh:Fire() end,
Default = true
})
local friendWindowFrame
Friends.CreateColorSlider({
Name = "Friends Color",
Function = function(h, s, v)
local cachedColor = Color3.fromHSV(h, s, v)
local addCircle = FriendsTextList.Object:FindFirstChild("AddButton",
true)
if addCircle then
addCircle.ImageColor3 = cachedColor
end
friendWindowFrame = friendWindowFrame or
FriendsTextList.ScrollingObject and
FriendsTextList.ScrollingObject:FindFirstChild("ScrollingFrame")
if friendWindowFrame then
for i,v in pairs(friendWindowFrame:GetChildren()) do
local friendCircle = v:FindFirstChild("FriendCircle")
local friendText = v:FindFirstChild("ItemText")
if friendCircle and friendText then
friendCircle.BackgroundColor3 = friendText.TextColor3
== Color3.fromRGB(160, 160, 160) and cachedColor or friendCircle.BackgroundColor3
end
end
end
FriendsTextListTable.Color = cachedColor
if friendRecolorToggle.Enabled then
FriendsTextList.FriendColorRefresh:Fire()
end
end
})
local ProfilesTextList = {RefreshValues = function() end}
ProfilesTextList = Profiles.CreateTextList({
Name = "ProfilesList",
TempText = "Type name",
NoSave = true,
AddFunction = function(profileName)
GuiLibrary.Profiles[profileName] = {Keybind = "", Selected = false}
local profiles = {}
for i,v in pairs(GuiLibrary.Profiles) do
table.insert(profiles, i)
end
table.sort(profiles, function(a, b) return b == "default" and true or
a:lower() < b:lower() end)
ProfilesTextList.RefreshValues(profiles)
end,
RemoveFunction = function(profileIndex, profileName)
if profileName ~= "default" and profileName ~=
GuiLibrary.CurrentProfile then
pcall(function()
delfile(baseDirectory.."Profiles/"..profileName..(shared.CustomSaveVape or
game.PlaceId)..".vapeprofile.txt") end)
GuiLibrary.Profiles[profileName] = nil
else
table.insert(ProfilesTextList.ObjectList, profileName)
ProfilesTextList.RefreshValues(ProfilesTextList.ObjectList)
end
end,
CustomFunction = function(profileObject, profileName)
if GuiLibrary.Profiles[profileName] == nil then
GuiLibrary.Profiles[profileName] = {Keybind = ""}
end
profileObject.MouseButton1Click:Connect(function()
GuiLibrary.SwitchProfile(profileName)
end)
local newsize = UDim2.new(0, 20, 0, 21)
local bindbkg = Instance.new("TextButton")
bindbkg.Text = ""
bindbkg.AutoButtonColor = false
bindbkg.Size = UDim2.new(0, 20, 0, 21)
bindbkg.Position = UDim2.new(1, -50, 0, 6)
bindbkg.BorderSizePixel = 0
bindbkg.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
bindbkg.BackgroundTransparency = 0.95
bindbkg.Visible = GuiLibrary.Profiles[profileName].Keybind ~= ""
bindbkg.Parent = profileObject
local bindimg = Instance.new("ImageLabel")
bindimg.Image = downloadVapeAsset("vape/assets/KeybindIcon.png")
bindimg.BackgroundTransparency = 1
bindimg.Size = UDim2.new(0, 12, 0, 12)
bindimg.Position = UDim2.new(0, 4, 0, 5)
bindimg.ImageTransparency = 0.2
bindimg.Active = false
bindimg.Visible = (GuiLibrary.Profiles[profileName].Keybind == "")
bindimg.Parent = bindbkg
local bindtext = Instance.new("TextLabel")
bindtext.Active = false
bindtext.BackgroundTransparency = 1
bindtext.TextSize = 16
bindtext.Parent = bindbkg
bindtext.Font = Enum.Font.SourceSans
bindtext.Size = UDim2.new(1, 0, 1, 0)
bindtext.TextColor3 = Color3.fromRGB(85, 85, 85)
bindtext.Visible = (GuiLibrary.Profiles[profileName].Keybind ~= "")
local bindtext2 = Instance.new("TextLabel")
bindtext2.Text = "PRESS A KEY TO BIND"
bindtext2.Size = UDim2.new(0, 150, 0, 33)
bindtext2.Font = Enum.Font.SourceSans
bindtext2.TextSize = 17
bindtext2.TextColor3 = Color3.fromRGB(201, 201, 201)
bindtext2.BackgroundColor3 = Color3.fromRGB(37, 37, 37)
bindtext2.BorderSizePixel = 0
bindtext2.Visible = false
bindtext2.Parent = profileObject
local bindround = Instance.new("UICorner")
bindround.CornerRadius = UDim.new(0, 4)
bindround.Parent = bindbkg
bindbkg.MouseButton1Click:Connect(function()
if not GuiLibrary.KeybindCaptured then
GuiLibrary.KeybindCaptured = true
task.spawn(function()
bindtext2.Visible = true
repeat task.wait() until GuiLibrary.PressedKeybindKey
~= ""
local key = (GuiLibrary.PressedKeybindKey ==
GuiLibrary.Profiles[profileName].Keybind and "" or GuiLibrary.PressedKeybindKey)
if key == "" then
GuiLibrary.Profiles[profileName].Keybind = key
newsize = UDim2.new(0, 20, 0, 21)
bindbkg.Size = newsize
bindbkg.Visible = true
bindbkg.Position = UDim2.new(1, -(30 +
newsize.X.Offset), 0, 6)
bindimg.Visible = true
bindtext.Visible = false
bindtext.Text = key
else
local textsize = textService:GetTextSize(key,
16, bindtext.Font, Vector2.new(99999, 99999))
newsize = UDim2.new(0, 13 + textsize.X, 0, 21)
GuiLibrary.Profiles[profileName].Keybind = key
bindbkg.Visible = true
bindbkg.Size = newsize
bindbkg.Position = UDim2.new(1, -(30 +
newsize.X.Offset), 0, 6)
bindimg.Visible = false
bindtext.Visible = true
bindtext.Text = key
end
GuiLibrary.PressedKeybindKey = ""
GuiLibrary.KeybindCaptured = false
bindtext2.Visible = false
end)
end
end)
bindbkg.MouseEnter:Connect(function()
bindimg.Image = downloadVapeAsset("vape/assets/PencilIcon.png")
bindimg.Visible = true
bindtext.Visible = false
bindbkg.Size = UDim2.new(0, 20, 0, 21)
bindbkg.Position = UDim2.new(1, -50, 0, 6)
end)
bindbkg.MouseLeave:Connect(function()
bindimg.Image = downloadVapeAsset("vape/assets/KeybindIcon.png")
if GuiLibrary.Profiles[profileName].Keybind ~= "" then
bindimg.Visible = false
bindtext.Visible = true
bindbkg.Size = newsize
bindbkg.Position = UDim2.new(1, -(30 + newsize.X.Offset),
0, 6)
end
end)
profileObject.MouseEnter:Connect(function()
bindbkg.Visible = true
end)
profileObject.MouseLeave:Connect(function()
bindbkg.Visible = GuiLibrary.Profiles[profileName] and
GuiLibrary.Profiles[profileName].Keybind ~= ""
end)
if GuiLibrary.Profiles[profileName].Keybind ~= "" then
bindtext.Text = GuiLibrary.Profiles[profileName].Keybind
local textsize =
textService:GetTextSize(GuiLibrary.Profiles[profileName].Keybind, 16,
bindtext.Font, Vector2.new(99999, 99999))
newsize = UDim2.new(0, 13 + textsize.X, 0, 21)
bindbkg.Size = newsize
bindbkg.Position = UDim2.new(1, -(30 + newsize.X.Offset), 0, 6)
end
if profileName == GuiLibrary.CurrentProfile then
profileObject.BackgroundColor3 =
Color3.fromHSV(GuiLibrary.ObjectsThatCanBeSaved["Gui ColorSliderColor"].Api.Hue,
GuiLibrary.ObjectsThatCanBeSaved["Gui ColorSliderColor"].Api.Sat,
GuiLibrary.ObjectsThatCanBeSaved["Gui ColorSliderColor"].Api.Value)
profileObject.ImageButton.BackgroundColor3 =
Color3.fromHSV(GuiLibrary.ObjectsThatCanBeSaved["Gui ColorSliderColor"].Api.Hue,
GuiLibrary.ObjectsThatCanBeSaved["Gui ColorSliderColor"].Api.Sat,
GuiLibrary.ObjectsThatCanBeSaved["Gui ColorSliderColor"].Api.Value)
profileObject.ItemText.TextColor3 = Color3.new(1, 1, 1)
profileObject.ItemText.TextStrokeTransparency = 0.75
bindbkg.BackgroundTransparency = 0.9
bindtext.TextColor3 = Color3.fromRGB(214, 214, 214)
end
end
})

local OnlineProfilesButton = Instance.new("TextButton")


OnlineProfilesButton.Name = "OnlineProfilesButton"
OnlineProfilesButton.LayoutOrder = 1
OnlineProfilesButton.AutoButtonColor = false
OnlineProfilesButton.Size = UDim2.new(0, 45, 0, 29)
OnlineProfilesButton.BackgroundColor3 = Color3.fromRGB(26, 25, 26)
OnlineProfilesButton.Active = false
OnlineProfilesButton.Text = ""
OnlineProfilesButton.ZIndex = 1
OnlineProfilesButton.Font = Enum.Font.SourceSans
OnlineProfilesButton.TextXAlignment = Enum.TextXAlignment.Left
OnlineProfilesButton.Position = UDim2.new(0, 166, 0, 6)
OnlineProfilesButton.Parent = ProfilesTextList.Object
local OnlineProfilesButtonBKG = Instance.new("UIStroke")
OnlineProfilesButtonBKG.Color = Color3.fromRGB(38, 37, 38)
OnlineProfilesButtonBKG.Thickness = 1
OnlineProfilesButtonBKG.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
OnlineProfilesButtonBKG.Parent = OnlineProfilesButton
local OnlineProfilesButtonImage = Instance.new("ImageLabel")
OnlineProfilesButtonImage.BackgroundTransparency = 1
OnlineProfilesButtonImage.Position = UDim2.new(0, 14, 0, 7)
OnlineProfilesButtonImage.Size = UDim2.new(0, 17, 0, 16)
OnlineProfilesButtonImage.Image =
downloadVapeAsset("vape/assets/OnlineProfilesButton.png")
OnlineProfilesButtonImage.ImageColor3 = Color3.fromRGB(121, 121, 121)
OnlineProfilesButtonImage.ZIndex = 1
OnlineProfilesButtonImage.Active = false
OnlineProfilesButtonImage.Parent = OnlineProfilesButton
local OnlineProfilesbuttonround1 = Instance.new("UICorner")
OnlineProfilesbuttonround1.CornerRadius = UDim.new(0, 5)
OnlineProfilesbuttonround1.Parent = OnlineProfilesButton
local OnlineProfilesbuttonTargetInfoMainInfoCorner = Instance.new("UICorner")
OnlineProfilesbuttonTargetInfoMainInfoCorner.CornerRadius = UDim.new(0, 5)
OnlineProfilesbuttonTargetInfoMainInfoCorner.Parent = OnlineProfilesButtonBKG
local OnlineProfilesFrame = Instance.new("Frame")
OnlineProfilesFrame.Size = UDim2.new(0, 660, 0, 445)
OnlineProfilesFrame.Position = UDim2.new(0.5, -330, 0.5, -223)
OnlineProfilesFrame.BackgroundColor3 = Color3.fromRGB(26, 25, 26)
OnlineProfilesFrame.Parent = GuiLibrary.MainGui.ScaledGui.OnlineProfiles
local OnlineProfilesExitButton = Instance.new("ImageButton")
OnlineProfilesExitButton.Name = "OnlineProfilesExitButton"
OnlineProfilesExitButton.ImageColor3 = Color3.fromRGB(121, 121, 121)
OnlineProfilesExitButton.Size = UDim2.new(0, 24, 0, 24)
OnlineProfilesExitButton.AutoButtonColor = false
OnlineProfilesExitButton.Image = downloadVapeAsset("vape/assets/ExitIcon1.png")
OnlineProfilesExitButton.Visible = true
OnlineProfilesExitButton.Position = UDim2.new(1, -31, 0, 8)
OnlineProfilesExitButton.BackgroundColor3 = Color3.fromRGB(26, 25, 26)
OnlineProfilesExitButton.Parent = OnlineProfilesFrame
local OnlineProfilesExitButtonround = Instance.new("UICorner")
OnlineProfilesExitButtonround.CornerRadius = UDim.new(0, 16)
OnlineProfilesExitButtonround.Parent = OnlineProfilesExitButton
OnlineProfilesExitButton.MouseEnter:Connect(function()
game:GetService("TweenService"):Create(OnlineProfilesExitButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut),
{BackgroundColor3 = Color3.fromRGB(60, 60, 60), ImageColor3 = Color3.fromRGB(255,
255, 255)}):Play()
end)
OnlineProfilesExitButton.MouseLeave:Connect(function()
game:GetService("TweenService"):Create(OnlineProfilesExitButton,
TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut),
{BackgroundColor3 = Color3.fromRGB(26, 25, 26), ImageColor3 = Color3.fromRGB(121,
121, 121)}):Play()
end)
local OnlineProfilesFrameShadow = Instance.new("ImageLabel")
OnlineProfilesFrameShadow.AnchorPoint = Vector2.new(0.5, 0.5)
OnlineProfilesFrameShadow.Position = UDim2.new(0.5, 0, 0.5, 0)
OnlineProfilesFrameShadow.Image = downloadVapeAsset("vape/assets/WindowBlur.png")
OnlineProfilesFrameShadow.BackgroundTransparency = 1
OnlineProfilesFrameShadow.ZIndex = -1
OnlineProfilesFrameShadow.Size = UDim2.new(1, 6, 1, 6)
OnlineProfilesFrameShadow.ImageColor3 = Color3.new()
OnlineProfilesFrameShadow.ScaleType = Enum.ScaleType.Slice
OnlineProfilesFrameShadow.SliceCenter = Rect.new(10, 10, 118, 118)
OnlineProfilesFrameShadow.Parent = OnlineProfilesFrame
local OnlineProfilesFrameIcon = Instance.new("ImageLabel")
OnlineProfilesFrameIcon.Size = UDim2.new(0, 19, 0, 16)
OnlineProfilesFrameIcon.Image = downloadVapeAsset("vape/assets/ProfilesIcon.png")
OnlineProfilesFrameIcon.Name = "WindowIcon"
OnlineProfilesFrameIcon.BackgroundTransparency = 1
OnlineProfilesFrameIcon.Position = UDim2.new(0, 10, 0, 13)
OnlineProfilesFrameIcon.ImageColor3 = Color3.fromRGB(200, 200, 200)
OnlineProfilesFrameIcon.Parent = OnlineProfilesFrame
local OnlineProfilesFrameText = Instance.new("TextLabel")
OnlineProfilesFrameText.Size = UDim2.new(0, 155, 0, 41)
OnlineProfilesFrameText.BackgroundTransparency = 1
OnlineProfilesFrameText.Name = "WindowTitle"
OnlineProfilesFrameText.Position = UDim2.new(0, 36, 0, 0)
OnlineProfilesFrameText.TextXAlignment = Enum.TextXAlignment.Left
OnlineProfilesFrameText.Font = Enum.Font.SourceSans
OnlineProfilesFrameText.TextSize = 17
OnlineProfilesFrameText.Text = "Public Profiles"
OnlineProfilesFrameText.TextColor3 = Color3.fromRGB(201, 201, 201)
OnlineProfilesFrameText.Parent = OnlineProfilesFrame
local OnlineProfilesFrameText2 = Instance.new("TextLabel")
OnlineProfilesFrameText2.TextSize = 15
OnlineProfilesFrameText2.TextColor3 = Color3.fromRGB(85, 84, 85)
OnlineProfilesFrameText2.Text = "YOUR PROFILES"
OnlineProfilesFrameText2.Font = Enum.Font.SourceSans
OnlineProfilesFrameText2.BackgroundTransparency = 1
OnlineProfilesFrameText2.TextXAlignment = Enum.TextXAlignment.Left
OnlineProfilesFrameText2.TextYAlignment = Enum.TextYAlignment.Top
OnlineProfilesFrameText2.Size = UDim2.new(1, 0, 0, 20)
OnlineProfilesFrameText2.Position = UDim2.new(0, 10, 0, 48)
OnlineProfilesFrameText2.Parent = OnlineProfilesFrame
local OnlineProfilesFrameText3 = Instance.new("TextLabel")
OnlineProfilesFrameText3.TextSize = 15
OnlineProfilesFrameText3.TextColor3 = Color3.fromRGB(85, 84, 85)
OnlineProfilesFrameText3.Text = "PUBLIC PROFILES"
OnlineProfilesFrameText3.Font = Enum.Font.SourceSans
OnlineProfilesFrameText3.BackgroundTransparency = 1
OnlineProfilesFrameText3.TextXAlignment = Enum.TextXAlignment.Left
OnlineProfilesFrameText3.TextYAlignment = Enum.TextYAlignment.Top
OnlineProfilesFrameText3.Size = UDim2.new(1, 0, 0, 20)
OnlineProfilesFrameText3.Position = UDim2.new(0, 231, 0, 48)
OnlineProfilesFrameText3.Parent = OnlineProfilesFrame
local OnlineProfilesBorder1 = Instance.new("Frame")
OnlineProfilesBorder1.BackgroundColor3 = Color3.fromRGB(40, 39, 40)
OnlineProfilesBorder1.BorderSizePixel = 0
OnlineProfilesBorder1.Size = UDim2.new(1, 0, 0, 1)
OnlineProfilesBorder1.Position = UDim2.new(0, 0, 0, 41)
OnlineProfilesBorder1.Parent = OnlineProfilesFrame
local OnlineProfilesBorder2 = Instance.new("Frame")
OnlineProfilesBorder2.BackgroundColor3 = Color3.fromRGB(40, 39, 40)
OnlineProfilesBorder2.BorderSizePixel = 0
OnlineProfilesBorder2.Size = UDim2.new(0, 1, 1, -41)
OnlineProfilesBorder2.Position = UDim2.new(0, 220, 0, 41)
OnlineProfilesBorder2.Parent = OnlineProfilesFrame
local OnlineProfilesList = Instance.new("ScrollingFrame")
OnlineProfilesList.BackgroundTransparency = 1
OnlineProfilesList.Size = UDim2.new(0, 408, 0, 319)
OnlineProfilesList.Position = UDim2.new(0, 230, 0, 122)
OnlineProfilesList.CanvasSize = UDim2.new(0, 408, 0, 319)
OnlineProfilesList.Parent = OnlineProfilesFrame
local OnlineProfilesListGrid = Instance.new("UIGridLayout")
OnlineProfilesListGrid.CellSize = UDim2.new(0, 134, 0, 144)
OnlineProfilesListGrid.CellPadding = UDim2.new(0, 4, 0, 4)
OnlineProfilesListGrid.Parent = OnlineProfilesList
local OnlineProfilesFrameCorner = Instance.new("UICorner")
OnlineProfilesFrameCorner.CornerRadius = UDim.new(0, 4)
OnlineProfilesFrameCorner.Parent = OnlineProfilesFrame
OnlineProfilesButton.MouseButton1Click:Connect(function()
GuiLibrary.MainGui.ScaledGui.OnlineProfiles.Visible = true
GuiLibrary.MainGui.ScaledGui.ClickGui.Visible = false
if not profilesLoaded then
local onlineprofiles = {}
local saveplaceid = tostring(shared.CustomSaveVape or game.PlaceId)
local success, result = pcall(function()
return
game:GetService("HttpService"):JSONDecode(game:HttpGet("https://raw.githubuserconte
nt.com/7GrandDadPGN/VapeProfiles/main/Profiles/"..saveplaceid.."/profilelist.txt",
true))
end)
for i,v in pairs(success and result or {}) do
onlineprofiles[i] = v
end
for i2,v2 in pairs(onlineprofiles) do
local profileurl =
"https://raw.githubusercontent.com/7GrandDadPGN/VapeProfiles/main/
Profiles/"..saveplaceid.."/"..v2.OnlineProfileName
local profilebox = Instance.new("Frame")
profilebox.BackgroundColor3 = Color3.fromRGB(31, 30, 31)
profilebox.Parent = OnlineProfilesList
local profiletext = Instance.new("TextLabel")
profiletext.TextSize = 15
profiletext.TextColor3 = Color3.fromRGB(137, 136, 137)
profiletext.Size = UDim2.new(0, 100, 0, 20)
profiletext.Position = UDim2.new(0, 18, 0, 25)
profiletext.Font = Enum.Font.SourceSans
profiletext.TextXAlignment = Enum.TextXAlignment.Left
profiletext.TextYAlignment = Enum.TextYAlignment.Top
profiletext.BackgroundTransparency = 1
profiletext.Text = i2
profiletext.Parent = profilebox
local profiledownload = Instance.new("TextButton")
profiledownload.BackgroundColor3 = Color3.fromRGB(31, 30, 31)
profiledownload.Size = UDim2.new(0, 69, 0, 31)
profiledownload.Font = Enum.Font.SourceSans
profiledownload.TextColor3 = Color3.fromRGB(200, 200, 200)
profiledownload.TextSize = 15
profiledownload.AutoButtonColor = false
profiledownload.Text = "DOWNLOAD"
profiledownload.Position = UDim2.new(0, 14, 0, 96)
profiledownload.Visible = false
profiledownload.Parent = profilebox
profiledownload.ZIndex = 2
local profiledownloadbkg = Instance.new("Frame")
profiledownloadbkg.Size = UDim2.new(0, 71, 0, 33)
profiledownloadbkg.BackgroundColor3 = Color3.fromRGB(42, 41, 42)
profiledownloadbkg.Position = UDim2.new(0, 13, 0, 95)
profiledownloadbkg.ZIndex = 1
profiledownloadbkg.Visible = false
profiledownloadbkg.Parent = profilebox
profilebox.MouseEnter:Connect(function()
profiletext.TextColor3 = Color3.fromRGB(200, 200, 200)
profiledownload.Visible = true
profiledownloadbkg.Visible = true
end)
profilebox.MouseLeave:Connect(function()
profiletext.TextColor3 = Color3.fromRGB(137, 136, 137)
profiledownload.Visible = false
profiledownloadbkg.Visible = false
end)
profiledownload.MouseEnter:Connect(function()
profiledownload.BackgroundColor3 = Color3.fromRGB(5, 134,
105)
end)
profiledownload.MouseLeave:Connect(function()
profiledownload.BackgroundColor3 = Color3.fromRGB(31, 30,
31)
end)
profiledownload.MouseButton1Click:Connect(function()

writefile(baseDirectory.."Profiles/"..v2.ProfileName..saveplaceid..".vapeprofile.tx
t", game:HttpGet(profileurl, true))
GuiLibrary.Profiles[v2.ProfileName] = {Keybind = "",
Selected = false}
local profiles = {}
for i,v in pairs(GuiLibrary.Profiles) do
table.insert(profiles, i)
end
table.sort(profiles, function(a, b) return b == "default"
and true or a:lower() < b:lower() end)
ProfilesTextList.RefreshValues(profiles)
end)
local profileround = Instance.new("UICorner")
profileround.CornerRadius = UDim.new(0, 4)
profileround.Parent = profilebox
local profileTargetInfoMainInfoCorner = Instance.new("UICorner")
profileTargetInfoMainInfoCorner.CornerRadius = UDim.new(0, 4)
profileTargetInfoMainInfoCorner.Parent = profiledownload
local profileTargetInfoHealthBackgroundCorner =
Instance.new("UICorner")
profileTargetInfoHealthBackgroundCorner.CornerRadius =
UDim.new(0, 4)
profileTargetInfoHealthBackgroundCorner.Parent =
profiledownloadbkg
end
profilesloaded = true
end
end)
OnlineProfilesExitButton.MouseButton1Click:Connect(function()
GuiLibrary.MainGui.ScaledGui.OnlineProfiles.Visible = false
GuiLibrary.MainGui.ScaledGui.ClickGui.Visible = true
end)
GUI.CreateDivider()
local TextGUI = GuiLibrary.CreateCustomWindow({
Name = "Text GUI",
Icon = "vape/assets/TextGUIIcon1.png",
IconSize = 21
})
local TextGUICircleObject = {CircleList = {}}
GUI.CreateCustomToggle({
Name = "Text GUI",
Icon = "vape/assets/TextGUIIcon3.png",
Function = function(callback) TextGUI.SetVisible(callback) end,
Priority = 2
})
local GUIColorSlider = {RainbowValue = false}
local TextGUIMode = {Value = "Normal"}
local TextGUISortMode = {Value = "Alphabetical"}
local TextGUIBackgroundToggle = {Enabled = false}
local TextGUIObjects = {Logo = {}, Labels = {}, ShadowLabels = {}, Backgrounds =
{}}
local TextGUIConnections = {}
local TextGUIFormatted = {}
local VapeLogoFrame = Instance.new("Frame")
VapeLogoFrame.BackgroundTransparency = 1
VapeLogoFrame.Size = UDim2.new(1, 0, 1, 0)
VapeLogoFrame.Parent = TextGUI.GetCustomChildren()
local VapeLogo = Instance.new("ImageLabel")
VapeLogo.Parent = VapeLogoFrame
VapeLogo.Name = "Logo"
VapeLogo.Size = UDim2.new(0, 100, 0, 27)
VapeLogo.Position = UDim2.new(1, -140, 0, 3)
VapeLogo.BackgroundColor3 = Color3.new()
VapeLogo.BorderSizePixel = 0
VapeLogo.BackgroundTransparency = 1
VapeLogo.Visible = true
VapeLogo.Image = downloadVapeAsset("vape/assets/VapeLogo3.png")
local VapeLogoV4 = Instance.new("ImageLabel")
VapeLogoV4.Parent = VapeLogo
VapeLogoV4.Size = UDim2.new(0, 41, 0, 24)
VapeLogoV4.Name = "Logo2"
VapeLogoV4.Position = UDim2.new(1, 0, 0, 1)
VapeLogoV4.BorderSizePixel = 0
VapeLogoV4.BackgroundColor3 = Color3.new()
VapeLogoV4.BackgroundTransparency = 1
VapeLogoV4.Image = downloadVapeAsset("vape/assets/VapeLogo4.png")
local VapeLogoShadow = VapeLogo:Clone()
VapeLogoShadow.ImageColor3 = Color3.new()
VapeLogoShadow.ImageTransparency = 0.5
VapeLogoShadow.ZIndex = 0
VapeLogoShadow.Position = UDim2.new(0, 1, 0, 1)
VapeLogoShadow.Visible = false
VapeLogoShadow.Parent = VapeLogo
VapeLogoShadow.Logo2.ImageColor3 = Color3.new()
VapeLogoShadow.Logo2.ZIndex = 0
VapeLogoShadow.Logo2.ImageTransparency = 0.5
local VapeLogoGradient = Instance.new("UIGradient")
VapeLogoGradient.Rotation = 90
VapeLogoGradient.Parent = VapeLogo
local VapeLogoGradient2 = Instance.new("UIGradient")
VapeLogoGradient2.Rotation = 90
VapeLogoGradient2.Parent = VapeLogoV4
local VapeText = Instance.new("TextLabel")
VapeText.Parent = VapeLogoFrame
VapeText.Size = UDim2.new(1, 0, 1, 0)
VapeText.Position = UDim2.new(1, -154, 0, 35)
VapeText.TextColor3 = Color3.new(1, 1, 1)
VapeText.RichText = true
VapeText.BackgroundTransparency = 1
VapeText.LineHeight = 1.2
VapeText.TextXAlignment = Enum.TextXAlignment.Left
VapeText.TextYAlignment = Enum.TextYAlignment.Top
VapeText.BorderSizePixel = 0
VapeText.BackgroundColor3 = Color3.new()
VapeText.Font = Enum.Font.SourceSans
VapeText.Text = ""
VapeText.TextSize = 19
local VapeTextExtra = Instance.new("TextLabel")
VapeTextExtra.Name = "ExtraText"
VapeTextExtra.Parent = VapeText
VapeTextExtra.LineHeight = 1.2
VapeTextExtra.Size = UDim2.new(1, 0, 1, 0)
VapeTextExtra.Position = UDim2.new(0, 1, 0, 1)
VapeTextExtra.BorderSizePixel = 0
VapeTextExtra.Visible = false
VapeTextExtra.ZIndex = 0
VapeTextExtra.Text = ""
VapeTextExtra.BackgroundTransparency = 1
VapeTextExtra.TextTransparency = 0.5
VapeTextExtra.TextXAlignment = Enum.TextXAlignment.Left
VapeTextExtra.TextYAlignment = Enum.TextYAlignment.Top
VapeTextExtra.TextColor3 = Color3.new()
VapeTextExtra.Font = Enum.Font.SourceSans
VapeTextExtra.TextSize = 19
local VapeCustomText = Instance.new("TextLabel")
VapeCustomText.TextSize = 30
VapeCustomText.Font = Enum.Font.GothamBold
VapeCustomText.Size = UDim2.new(1, 0, 1, 0)
VapeCustomText.BackgroundTransparency = 1
VapeCustomText.Position = UDim2.new(0, 0, 0, 35)
VapeCustomText.TextXAlignment = Enum.TextXAlignment.Left
VapeCustomText.TextYAlignment = Enum.TextYAlignment.Top
VapeCustomText.Text = ""
VapeCustomText.Parent = VapeLogoFrame
local VapeCustomTextShadow = VapeCustomText:Clone()
VapeCustomTextShadow.ZIndex = -1
VapeCustomTextShadow.Size = UDim2.new(1, 0, 1, 0)
VapeCustomTextShadow.TextTransparency = 0.5
VapeCustomTextShadow.TextColor3 = Color3.new()
VapeCustomTextShadow.Position = UDim2.new(0, 1, 0, 1)
VapeCustomTextShadow.Parent = VapeCustomText
VapeCustomText:GetPropertyChangedSignal("TextXAlignment"):Connect(function()
VapeCustomTextShadow.TextXAlignment = VapeCustomText.TextXAlignment
end)
local VapeBackground = Instance.new("Frame")
VapeBackground.BackgroundTransparency = 1
VapeBackground.BorderSizePixel = 0
VapeBackground.BackgroundColor3 = Color3.new()
VapeBackground.Size = UDim2.new(1, 0, 1, 0)
VapeBackground.Visible = false
VapeBackground.Parent = VapeLogoFrame
VapeBackground.ZIndex = 0
local VapeBackgroundList = Instance.new("UIListLayout")
VapeBackgroundList.FillDirection = Enum.FillDirection.Vertical
VapeBackgroundList.SortOrder = Enum.SortOrder.LayoutOrder
VapeBackgroundList.Padding = UDim.new(0, 0)
VapeBackgroundList.Parent = VapeBackground
local VapeBackgroundTable = {}
local VapeScale = Instance.new("UIScale")
VapeScale.Parent = VapeLogoFrame
--why do other platforms do rendering differently
local TextGUIOffsets = {
[Enum.Platform.Android] = {
6,
-10,
15,
12
},
[Enum.Platform.UWP] = {
1,
1,
23,
23
}
}
TextGUIOffsets[Enum.Platform.IOS] = TextGUIOffsets[Enum.Platform.Android]
local function TextGUIUpdate()
local scaledgui = vapeInjected and GuiLibrary.MainGui.ScaledGui
if scaledgui and scaledgui.Visible then
local formattedText = ""
local moduleList = {}

for i, v in pairs(GuiLibrary.ObjectsThatCanBeSaved) do
if v.Type == "OptionsButton" and v.Api.Enabled then
local blacklistedCheck =
table.find(TextGUICircleObject.CircleList.ObjectList, v.Api.Name)
blacklistedCheck = blacklistedCheck and
TextGUICircleObject.CircleList.ObjectList[blacklistedCheck]
if not blacklistedCheck then
local extraText = v.Api.GetExtraText()
table.insert(moduleList, {Text = v.Api.Name, ExtraText =
extraText ~= "" and " "..extraText or ""})
end
end
end

if TextGUISortMode.Value == "Alphabetical" then


table.sort(moduleList, function(a, b) return a.Text:lower() <
b.Text:lower() end)
else
table.sort(moduleList, function(a, b)
return textService:GetTextSize(a.Text..a.ExtraText,
VapeText.TextSize, VapeText.Font, Vector2.new(1000000, 1000000)).X >
textService:GetTextSize(b.Text..b.ExtraText, VapeText.TextSize, VapeText.Font,
Vector2.new(1000000, 1000000)).X
end)
end

local backgroundList = {}
local first = true
for i, v in pairs(moduleList) do
local newEntryText = v.Text..v.ExtraText
if first then
formattedText = "\n"..newEntryText
first = false
else
formattedText = formattedText..'\n'..newEntryText
end
table.insert(backgroundList, newEntryText)
end

TextGUIFormatted = moduleList
VapeTextExtra.Text = formattedText
VapeText.Size = UDim2.fromOffset(154, (formattedText ~= "" and
textService:GetTextSize(formattedText, VapeText.TextSize, VapeText.Font,
Vector2.new(1000000, 1000000)) or Vector2.zero).Y)

local offsets = {
5,
1,
23,
23
}
if TextGUI.GetCustomChildren().Parent then
if (TextGUI.GetCustomChildren().Parent.Position.X.Offset +
TextGUI.GetCustomChildren().Parent.Size.X.Offset / 2) >= (gameCamera.ViewportSize.X
/ 2) then
VapeText.TextXAlignment = Enum.TextXAlignment.Right
VapeTextExtra.TextXAlignment = Enum.TextXAlignment.Right
VapeTextExtra.Position = UDim2.fromOffset(offsets[1], offsets[2])
VapeLogo.Position = UDim2.new(1, -142, 0, 8)
VapeText.Position = UDim2.new(1, -158, 0, (VapeLogo.Visible and
(TextGUIBackgroundToggle.Enabled and 41 or 35) or 5) + 5 + (VapeCustomText.Visible
and 25 or 0) - offsets[3])
VapeCustomText.Position = UDim2.fromOffset(0, VapeLogo.Visible and
35 or 0)
VapeCustomText.TextXAlignment = Enum.TextXAlignment.Right
VapeBackgroundList.HorizontalAlignment =
Enum.HorizontalAlignment.Right
VapeBackground.Position = VapeText.Position + UDim2.fromOffset(-60,
-2 + offsets[4])
else
VapeText.TextXAlignment = Enum.TextXAlignment.Left
VapeTextExtra.TextXAlignment = Enum.TextXAlignment.Left
VapeTextExtra.Position = UDim2.fromOffset(offsets[1], offsets[2])
VapeLogo.Position = UDim2.fromOffset(2, 8)
VapeText.Position = UDim2.fromOffset(6, (VapeLogo.Visible and
(TextGUIBackgroundToggle.Enabled and 41 or 35) or 5) + 5 + (VapeCustomText.Visible
and 25 or 0) - offsets[3])
VapeCustomText.Position = UDim2.fromOffset(0,
VapeLogo.Visible and 35 or 0)
VapeCustomText.TextXAlignment = Enum.TextXAlignment.Left
VapeBackgroundList.HorizontalAlignment =
Enum.HorizontalAlignment.Left
VapeBackground.Position = VapeText.Position + UDim2.fromOffset(-4,
-2 + offsets[4])
end
end
if TextGUIMode.Value == "Drawing" then
for i,v in pairs(TextGUIObjects.Labels) do
v.Visible = false
v:Remove()
TextGUIObjects.Labels[i] = nil
end
for i,v in pairs(TextGUIObjects.ShadowLabels) do
v.Visible = false
v:Remove()
TextGUIObjects.ShadowLabels[i] = nil
end
for i,v in pairs(backgroundList) do
local textdraw = Drawing.new("Text")
textdraw.Text = v
textdraw.Size = 23 * VapeScale.Scale
textdraw.ZIndex = 2
textdraw.Position = VapeText.AbsolutePosition +
Vector2.new(VapeText.TextXAlignment == Enum.TextXAlignment.Right and
(VapeText.AbsoluteSize.X - textdraw.TextBounds.X), ((textdraw.Size - 3) * i) + 6)
textdraw.Visible = true
local textdraw2 = Drawing.new("Text")
textdraw2.Text = textdraw.Text
textdraw2.Size = 23 * VapeScale.Scale
textdraw2.Position = textdraw.Position + Vector2.new(1, 1)
textdraw2.Color = Color3.new()
textdraw2.Transparency = 0.5
textdraw2.Visible = VapeTextExtra.Visible
table.insert(TextGUIObjects.Labels, textdraw)
table.insert(TextGUIObjects.ShadowLabels, textdraw2)
end
end

for i,v in pairs(VapeBackground:GetChildren()) do


table.clear(VapeBackgroundTable)
if v:IsA("Frame") then v:Destroy() end
end
for i,v in pairs(backgroundList) do
local textsize = textService:GetTextSize(v, VapeText.TextSize,
VapeText.Font, Vector2.new(1000000, 1000000))
local backgroundFrame = Instance.new("Frame")
backgroundFrame.BorderSizePixel = 0
backgroundFrame.BackgroundTransparency = 0.44
backgroundFrame.BackgroundColor3 = Color3.new()
backgroundFrame.Visible = true
backgroundFrame.ZIndex = 0
backgroundFrame.LayoutOrder = i
backgroundFrame.Size = UDim2.fromOffset(textsize.X + 8, textsize.Y +
VapeScale.Scale + 2)
backgroundFrame.Parent = VapeBackground
local backgroundLineFrame = Instance.new("Frame")
backgroundLineFrame.Size = UDim2.new(0, 2, 1, 0)
backgroundLineFrame.Position = (VapeBackgroundList.HorizontalAlignment
== Enum.HorizontalAlignment.Left and UDim2.new() or UDim2.new(1, -2, 0, 0))
backgroundLineFrame.BorderSizePixel = 0
backgroundLineFrame.Name = "ColorFrame"
backgroundLineFrame.Parent = backgroundFrame
local backgroundLineExtra = Instance.new("Frame")
backgroundLineExtra.BorderSizePixel = 0
backgroundLineExtra.BackgroundTransparency = 0.95
backgroundLineExtra.BackgroundColor3 = Color3.new()
backgroundLineExtra.ZIndex = 0
backgroundLineExtra.Size = UDim2.new(1, 0, 0, 2)
backgroundLineExtra.Position = UDim2.new(0, 0, 1, -1)
backgroundLineExtra.Parent = backgroundFrame
table.insert(VapeBackgroundTable, backgroundFrame)
end

GuiLibrary.UpdateUI(GUIColorSlider.Hue, GUIColorSlider.Sat,
GUIColorSlider.Value)
end
end

TextGUI.GetCustomChildren().Parent:GetPropertyChangedSignal("Position"):Connect(Tex
tGUIUpdate)
GuiLibrary.UpdateHudEvent.Event:Connect(TextGUIUpdate)
VapeScale:GetPropertyChangedSignal("Scale"):Connect(function()
local childrenobj = TextGUI.GetCustomChildren()
local check = (childrenobj.Parent.Position.X.Offset +
childrenobj.Parent.Size.X.Offset / 2) >= (gameCamera.ViewportSize.X / 2)
childrenobj.Position = UDim2.new((check and -(VapeScale.Scale - 1) or 0),
(check and 0 or -6 * (VapeScale.Scale - 1)), 1, -6 * (VapeScale.Scale - 1))
TextGUIUpdate()
end)
TextGUIMode = TextGUI.CreateDropdown({
Name = "Mode",
List = {"Normal", "Drawing"},
Function = function(val)
VapeLogoFrame.Visible = val == "Normal"
for i,v in pairs(TextGUIConnections) do
v:Disconnect()
end
for i,v in pairs(TextGUIObjects) do
for i2,v2 in pairs(v) do
v2.Visible = false
v2:Remove()
v[i2] = nil
end
end
if val == "Drawing" then
local VapeLogoDrawing = Drawing.new("Image")
VapeLogoDrawing.Data = readfile("vape/assets/VapeLogo3.png")
VapeLogoDrawing.Size = VapeLogo.AbsoluteSize
VapeLogoDrawing.Position = VapeLogo.AbsolutePosition +
Vector2.new(0, 36)
VapeLogoDrawing.ZIndex = 2
VapeLogoDrawing.Visible = VapeLogo.Visible
local VapeLogoV4Drawing = Drawing.new("Image")
VapeLogoV4Drawing.Data = readfile("vape/assets/VapeLogo4.png")
VapeLogoV4Drawing.Size = VapeLogoV4.AbsoluteSize
VapeLogoV4Drawing.Position = VapeLogoV4.AbsolutePosition +
Vector2.new(0, 36)
VapeLogoV4Drawing.ZIndex = 2
VapeLogoV4Drawing.Visible = VapeLogo.Visible
local VapeLogoShadowDrawing = Drawing.new("Image")
VapeLogoShadowDrawing.Data =
readfile("vape/assets/VapeLogo3.png")
VapeLogoShadowDrawing.Size = VapeLogo.AbsoluteSize
VapeLogoShadowDrawing.Position = VapeLogo.AbsolutePosition +
Vector2.new(1, 37)
VapeLogoShadowDrawing.Transparency = 0.5
VapeLogoShadowDrawing.Visible = VapeLogo.Visible and
VapeLogoShadow.Visible
local VapeLogo4Drawing = Drawing.new("Image")
VapeLogo4Drawing.Data = readfile("vape/assets/VapeLogo4.png")
VapeLogo4Drawing.Size = VapeLogoV4.AbsoluteSize
VapeLogo4Drawing.Position = VapeLogoV4.AbsolutePosition +
Vector2.new(1, 37)
VapeLogo4Drawing.Transparency = 0.5
VapeLogo4Drawing.Visible = VapeLogo.Visible and
VapeLogoShadow.Visible
local VapeCustomDrawingText = Drawing.new("Text")
VapeCustomDrawingText.Size = 30
VapeCustomDrawingText.Text = VapeCustomText.Text
VapeCustomDrawingText.Color = VapeCustomText.TextColor3
VapeCustomDrawingText.ZIndex = 2
VapeCustomDrawingText.Position = VapeCustomText.AbsolutePosition
+ Vector2.new(VapeText.TextXAlignment == Enum.TextXAlignment.Right and
(VapeCustomText.AbsoluteSize.X - VapeCustomDrawingText.TextBounds.X), 32)
VapeCustomDrawingText.Visible = VapeCustomText.Visible
local VapeCustomDrawingShadow = Drawing.new("Text")
VapeCustomDrawingShadow.Size = 30
VapeCustomDrawingShadow.Text = VapeCustomText.Text
VapeCustomDrawingShadow.Transparency = 0.5
VapeCustomDrawingShadow.Color = Color3.new()
VapeCustomDrawingShadow.Position = VapeCustomDrawingText.Position
+ Vector2.new(1, 1)
VapeCustomDrawingShadow.Visible = VapeCustomText.Visible and
VapeTextExtra.Visible
pcall(function()
VapeLogoShadowDrawing.Color = Color3.new()
VapeLogo4Drawing.Color = Color3.new()
VapeLogoDrawing.Color =
VapeLogoGradient.Color.Keypoints[1].Value
end)
table.insert(TextGUIObjects.Logo, VapeLogoDrawing)
table.insert(TextGUIObjects.Logo, VapeLogoV4Drawing)
table.insert(TextGUIObjects.Logo, VapeLogoShadowDrawing)
table.insert(TextGUIObjects.Logo, VapeLogo4Drawing)
table.insert(TextGUIObjects.Logo, VapeCustomDrawingText)
table.insert(TextGUIObjects.Logo, VapeCustomDrawingShadow)
table.insert(TextGUIConnections,
VapeLogo:GetPropertyChangedSignal("AbsolutePosition"):Connect(function()
VapeLogoDrawing.Position = VapeLogo.AbsolutePosition +
Vector2.new(0, 36)
VapeLogoShadowDrawing.Position = VapeLogo.AbsolutePosition
+ Vector2.new(1, 37)
end))
table.insert(TextGUIConnections,
VapeLogo:GetPropertyChangedSignal("AbsoluteSize"):Connect(function()
VapeLogoDrawing.Size = VapeLogo.AbsoluteSize
VapeLogoShadowDrawing.Size = VapeLogo.AbsoluteSize
VapeCustomDrawingText.Size = 30 * VapeScale.Scale
VapeCustomDrawingShadow.Size = 30 * VapeScale.Scale
end))
table.insert(TextGUIConnections,
VapeLogoV4:GetPropertyChangedSignal("AbsolutePosition"):Connect(function()
VapeLogoV4Drawing.Position = VapeLogoV4.AbsolutePosition +
Vector2.new(0, 36)
VapeLogo4Drawing.Position = VapeLogoV4.AbsolutePosition +
Vector2.new(1, 37)
end))
table.insert(TextGUIConnections,
VapeLogoV4:GetPropertyChangedSignal("AbsoluteSize"):Connect(function()
VapeLogoV4Drawing.Size = VapeLogoV4.AbsoluteSize
VapeLogo4Drawing.Size = VapeLogoV4.AbsoluteSize
end))
table.insert(TextGUIConnections,
VapeCustomText:GetPropertyChangedSignal("AbsolutePosition"):Connect(function()
VapeCustomDrawingText.Position =
VapeCustomText.AbsolutePosition + Vector2.new(VapeText.TextXAlignment ==
Enum.TextXAlignment.Right and (VapeCustomText.AbsoluteSize.X -
VapeCustomDrawingText.TextBounds.X), 32)
VapeCustomDrawingShadow.Position =
VapeCustomDrawingText.Position + Vector2.new(1, 1)
end))
table.insert(TextGUIConnections,
VapeLogoShadow:GetPropertyChangedSignal("Visible"):Connect(function()
VapeLogoShadowDrawing.Visible = VapeLogoShadow.Visible
VapeLogo4Drawing.Visible = VapeLogoShadow.Visible
end))
table.insert(TextGUIConnections,
VapeTextExtra:GetPropertyChangedSignal("Visible"):Connect(function()
for i,textdraw in pairs(TextGUIObjects.ShadowLabels) do
textdraw.Visible = VapeTextExtra.Visible
end
VapeCustomDrawingShadow.Visible = VapeCustomText.Visible
and VapeTextExtra.Visible
end))
table.insert(TextGUIConnections,
VapeLogo:GetPropertyChangedSignal("Visible"):Connect(function()
VapeLogoDrawing.Visible = VapeLogo.Visible
VapeLogoV4Drawing.Visible = VapeLogo.Visible
VapeLogoShadowDrawing.Visible = VapeLogo.Visible and
VapeTextExtra.Visible
VapeLogo4Drawing.Visible = VapeLogo.Visible and
VapeTextExtra.Visible
end))
table.insert(TextGUIConnections,
VapeCustomText:GetPropertyChangedSignal("Visible"):Connect(function()
VapeCustomDrawingText.Visible = VapeCustomText.Visible
VapeCustomDrawingShadow.Visible = VapeCustomText.Visible
and VapeTextExtra.Visible
end))
table.insert(TextGUIConnections,
VapeCustomText:GetPropertyChangedSignal("Text"):Connect(function()
VapeCustomDrawingText.Text = VapeCustomText.Text
VapeCustomDrawingShadow.Text = VapeCustomText.Text
VapeCustomDrawingText.Position =
VapeCustomText.AbsolutePosition + Vector2.new(VapeText.TextXAlignment ==
Enum.TextXAlignment.Right and (VapeCustomText.AbsoluteSize.X -
VapeCustomDrawingText.TextBounds.X), 32)
VapeCustomDrawingShadow.Position =
VapeCustomDrawingText.Position + Vector2.new(1, 1)
end))
table.insert(TextGUIConnections,
VapeCustomText:GetPropertyChangedSignal("TextColor3"):Connect(function()
VapeCustomDrawingText.Color = VapeCustomText.TextColor3
end))
table.insert(TextGUIConnections,
VapeText:GetPropertyChangedSignal("AbsolutePosition"):Connect(function()
for i,textdraw in pairs(TextGUIObjects.Labels) do
textdraw.Position = VapeText.AbsolutePosition +
Vector2.new(VapeText.TextXAlignment == Enum.TextXAlignment.Right and
(VapeText.AbsoluteSize.X - textdraw.TextBounds.X), ((textdraw.Size - 3) * i) + 6)
end
for i,textdraw in pairs(TextGUIObjects.ShadowLabels) do
textdraw.Position = Vector2.new(1, 1) +
(VapeText.AbsolutePosition + Vector2.new(VapeText.TextXAlignment ==
Enum.TextXAlignment.Right and (VapeText.AbsoluteSize.X - textdraw.TextBounds.X),
((textdraw.Size - 3) * i) + 6))
end
end))
table.insert(TextGUIConnections,
VapeLogoGradient:GetPropertyChangedSignal("Color"):Connect(function()
pcall(function()
VapeLogoDrawing.Color =
VapeLogoGradient.Color.Keypoints[1].Value
end)
end))
end
end
})
TextGUISortMode = TextGUI.CreateDropdown({
Name = "Sort",
List = {"Alphabetical", "Length"},
Function = function(val)
GuiLibrary.UpdateHudEvent:Fire()
end
})
local TextGUIFonts = {"Arial"}
local TextGUIFonts2 = {"GothamBold"}
for i,v in pairs(Enum.Font:GetEnumItems()) do
if v.Name ~= "Arial" then
table.insert(TextGUIFonts, v.Name)
end
if v.Name ~= "GothamBold" then
table.insert(TextGUIFonts2, v.Name)
end
end
TextGUI.CreateDropdown({
Name = "Font",
List = TextGUIFonts,
Function = function(val)
VapeText.Font = Enum.Font[val]
VapeTextExtra.Font = Enum.Font[val]
GuiLibrary.UpdateHudEvent:Fire()
end
})
TextGUI.CreateDropdown({
Name = "CustomTextFont",
List = TextGUIFonts2,
Function = function(val)
VapeCustomText.Font = Enum.Font[val]
VapeCustomTextShadow.Font = Enum.Font[val]
GuiLibrary.UpdateHudEvent:Fire()
end
})
TextGUI.CreateSlider({
Name = "Scale",
Min = 1,
Max = 50,
Default = 10,
Function = function(val)
VapeScale.Scale = val / 10
end
})
TextGUI.CreateToggle({
Name = "Shadow",
Function = function(callback)
VapeTextExtra.Visible = callback
VapeLogoShadow.Visible = callback
end,
HoverText = "Renders shadowed text."
})
TextGUI.CreateToggle({
Name = "Watermark",
Function = function(callback)
VapeLogo.Visible = callback
GuiLibrary.UpdateHudEvent:Fire()
end,
HoverText = "Renders a vape watermark"
})
TextGUIBackgroundToggle = TextGUI.CreateToggle({
Name = "Render background",
Function = function(callback)
VapeBackground.Visible = callback
GuiLibrary.UpdateHudEvent:Fire()
end
})
TextGUI.CreateToggle({
Name = "Hide Modules",
Function = function(callback)
if TextGUICircleObject.Object then
TextGUICircleObject.Object.Visible = callback
end
end
})
TextGUICircleObject = TextGUI.CreateCircleWindow({
Name = "Blacklist",
Type = "Blacklist",
UpdateFunction = function()
GuiLibrary.UpdateHudEvent:Fire()
end
})
TextGUICircleObject.Object.Visible = false
local TextGUIGradient = TextGUI.CreateToggle({
Name = "Gradient Logo",
Function = function()
GuiLibrary.UpdateHudEvent:Fire()
end
})
TextGUI.CreateToggle({
Name = "Alternate Text",
Function = function()
GuiLibrary.UpdateHudEvent:Fire()
end
})
local CustomText = {Value = "", Object = nil}
TextGUI.CreateToggle({
Name = "Add custom text",
Function = function(callback)
VapeCustomText.Visible = callback
CustomText.Object.Visible = callback
GuiLibrary.UpdateHudEvent:Fire()
end,
HoverText = "Renders a custom label"
})
CustomText = TextGUI.CreateTextBox({
Name = "Custom text",
FocusLost = function(enter)
VapeCustomText.Text = CustomText.Value
VapeCustomTextShadow.Text = CustomText.Value
end
})
CustomText.Object.Visible = false

local function newHealthColor(percent)


if percent > 0.5 then
return Color3.fromRGB(5, 134, 105):lerp(Color3.fromRGB(255, 255, 0),
(0.5 - (percent - 0.5)) / 0.5)
end
return Color3.fromRGB(255, 255, 0):lerp(Color3.fromRGB(249, 57, 55), (0.5 -
percent) / 0.5)
end

local TargetInfo = GuiLibrary.CreateCustomWindow({


Name = "Target Info",
Icon = "vape/assets/TargetInfoIcon1.png",
IconSize = 16
})
local TargetInfoBackground = {Enabled = false}
local TargetInfoMainFrame = Instance.new("Frame")
TargetInfoMainFrame.BackgroundColor3 = Color3.fromRGB(26, 25, 26)
TargetInfoMainFrame.BorderSizePixel = 0
TargetInfoMainFrame.BackgroundTransparency = 1
TargetInfoMainFrame.Size = UDim2.new(0, 220, 0, 72)
TargetInfoMainFrame.Position = UDim2.new(0, 0, 0, 5)
TargetInfoMainFrame.Parent = TargetInfo.GetCustomChildren()
local TargetInfoMainInfo = Instance.new("Frame")
TargetInfoMainInfo.BackgroundColor3 = Color3.fromRGB(31, 30, 31)
TargetInfoMainInfo.Size = UDim2.new(0, 220, 0, 80)
TargetInfoMainInfo.BackgroundTransparency = 0.25
TargetInfoMainInfo.Position = UDim2.new(0, 0, 0, 0)
TargetInfoMainInfo.Name = "MainInfo"
TargetInfoMainInfo.Parent = TargetInfoMainFrame
local TargetInfoName = Instance.new("TextLabel")
TargetInfoName.TextSize = 14
TargetInfoName.Font = Enum.Font.Arial
TargetInfoName.TextColor3 = Color3.fromRGB(162, 162, 162)
TargetInfoName.Position = UDim2.new(0, 70, 0, 10)
TargetInfoName.TextStrokeTransparency = 1
TargetInfoName.BackgroundTransparency = 1
TargetInfoName.Size = UDim2.new(0, 80, 0, 20)
TargetInfoName.Text = "Target name"
TargetInfoName.ZIndex = 2
TargetInfoName.TextXAlignment = Enum.TextXAlignment.Left
TargetInfoName.TextYAlignment = Enum.TextYAlignment.Top
TargetInfoName.Parent = TargetInfoMainInfo
local TargetInfoNameShadow = TargetInfoName:Clone()
TargetInfoNameShadow.Size = UDim2.new(1, 0, 1, 0)
TargetInfoNameShadow.TextTransparency = 0.5
TargetInfoNameShadow.TextColor3 = Color3.new()
TargetInfoNameShadow.ZIndex = 1
TargetInfoNameShadow.Position = UDim2.new(0, 1, 0, 1)
TargetInfoName:GetPropertyChangedSignal("Text"):Connect(function()
TargetInfoNameShadow.Text = TargetInfoName.Text
end)
TargetInfoNameShadow.Parent = TargetInfoName
local TargetInfoHealthBackground = Instance.new("Frame")
TargetInfoHealthBackground.BackgroundColor3 = Color3.fromRGB(54, 54, 54)
TargetInfoHealthBackground.Size = UDim2.new(0, 140, 0, 4)
TargetInfoHealthBackground.Position = UDim2.new(0, 72, 0, 32)
TargetInfoHealthBackground.Parent = TargetInfoMainInfo
local TargetInfoHealthBackgroundShadow = Instance.new("ImageLabel")
TargetInfoHealthBackgroundShadow.AnchorPoint = Vector2.new(0.5, 0.5)
TargetInfoHealthBackgroundShadow.Position = UDim2.new(0.5, 0, 0.5, 0)
TargetInfoHealthBackgroundShadow.Image =
downloadVapeAsset("vape/assets/WindowBlur.png")
TargetInfoHealthBackgroundShadow.BackgroundTransparency = 1
TargetInfoHealthBackgroundShadow.ImageTransparency = 0.6
TargetInfoHealthBackgroundShadow.ZIndex = -1
TargetInfoHealthBackgroundShadow.Size = UDim2.new(1, 6, 1, 6)
TargetInfoHealthBackgroundShadow.ImageColor3 = Color3.new()
TargetInfoHealthBackgroundShadow.ScaleType = Enum.ScaleType.Slice
TargetInfoHealthBackgroundShadow.SliceCenter = Rect.new(10, 10, 118, 118)
TargetInfoHealthBackgroundShadow.Parent = TargetInfoHealthBackground
local TargetInfoHealth = Instance.new("Frame")
TargetInfoHealth.BackgroundColor3 = Color3.fromRGB(40, 137, 109)
TargetInfoHealth.Size = UDim2.new(1, 0, 1, 0)
TargetInfoHealth.ZIndex = 3
TargetInfoHealth.BorderSizePixel = 0
TargetInfoHealth.Parent = TargetInfoHealthBackground
local TargetInfoHealthExtra = Instance.new("Frame")
TargetInfoHealthExtra.BackgroundColor3 = Color3.fromRGB(255, 170, 0)
TargetInfoHealthExtra.Size = UDim2.new(0, 0, 1, 0)
TargetInfoHealthExtra.ZIndex = 4
TargetInfoHealthExtra.BorderSizePixel = 0
TargetInfoHealthExtra.AnchorPoint = Vector2.new(1, 0)
TargetInfoHealthExtra.Position = UDim2.new(1, 0, 0, 0)
TargetInfoHealthExtra.Parent = TargetInfoHealth
local TargetInfoImage = Instance.new("ImageLabel")
TargetInfoImage.Size = UDim2.new(0, 50, 0, 50)
TargetInfoImage.BackgroundTransparency = 1
TargetInfoImage.Image =
'rbxthumb://type=AvatarHeadShot&id='..playersService.LocalPlayer.UserId..'&w=420&h=
420'
TargetInfoImage.Position = UDim2.new(0, 10, 0, 16)
TargetInfoImage.Parent = TargetInfoMainInfo
local TargetInfoMainInfoCorner = Instance.new("UICorner")
TargetInfoMainInfoCorner.CornerRadius = UDim.new(0, 4)
TargetInfoMainInfoCorner.Parent = TargetInfoMainInfo
local TargetInfoHealthBackgroundCorner = Instance.new("UICorner")
TargetInfoHealthBackgroundCorner.CornerRadius = UDim.new(0, 2048)
TargetInfoHealthBackgroundCorner.Parent = TargetInfoHealthBackground
local TargetInfoHealthCorner = Instance.new("UICorner")
TargetInfoHealthCorner.CornerRadius = UDim.new(0, 2048)
TargetInfoHealthCorner.Parent = TargetInfoHealth
local TargetInfoHealthCorner2 = Instance.new("UICorner")
TargetInfoHealthCorner2.CornerRadius = UDim.new(0, 2048)
TargetInfoHealthCorner2.Parent = TargetInfoHealthExtra
local TargetInfoHealthExtraCorner = Instance.new("UICorner")
TargetInfoHealthExtraCorner.CornerRadius = UDim.new(0, 4)
TargetInfoHealthExtraCorner.Parent = TargetInfoImage
TargetInfo.CreateDropdown({
Name = "Font",
List = TextGUIFonts,
Function = function(val)
TargetInfoName.Font = Enum.Font[val]
TargetInfoNameShadow.Font = Enum.Font[val]
end
})

TargetInfoBackground = TargetInfo.CreateToggle({
Name = "Use Background",
Function = function(callback)
TargetInfoMainInfo.BackgroundTransparency = callback and 0.25 or 1
TargetInfoName.TextColor3 = callback and Color3.fromRGB(162, 162, 162)
or Color3.new(1, 1, 1)
TargetInfoName.Size = UDim2.new(0, 80, 0, callback and 16 or 18)
TargetInfoName.TextSize = callback and 14 or 15
TargetInfoHealthBackground.Size = UDim2.new(0, 138, 0, callback and 4
or 7)
end,
Default = true
})
local TargetInfoDisplayNames = TargetInfo.CreateToggle({
Name = "Use Display Names",
Function = function(callback) end,
Default = true
})
local TargetInfoHealthTween
TargetInfo.GetCustomChildren().Parent:GetPropertyChangedSignal("Size"):Connect(func
tion()
TargetInfoMainInfo.Position = UDim2.fromOffset(0,
TargetInfo.GetCustomChildren().Parent.Size ~= UDim2.fromOffset(220, 0) and -5 or
40)
end)
shared.VapeTargetInfo = {
UpdateInfo = function(tab, targetsize)
if TargetInfo.GetCustomChildren().Parent then
local hasTarget = false
for _, v in pairs(shared.VapeTargetInfo.Targets) do
hasTarget = true
TargetInfoImage.Image =
'rbxthumb://type=AvatarHeadShot&id='..v.Player.UserId..'&w=420&h=420'

TargetInfoHealth:TweenSize(UDim2.new(math.clamp(v.Humanoid.Health /
v.Humanoid.MaxHealth, 0, 1), 0, 1, 0), Enum.EasingDirection.Out,
Enum.EasingStyle.Quart, 0.25, true)
TargetInfoHealthExtra:TweenSize(UDim2.new(math.clamp((v.Humanoid.Health /
v.Humanoid.MaxHealth) - 1, 0, 1), 0, 1, 0), Enum.EasingDirection.Out,
Enum.EasingStyle.Quart, 0.25, true)
if TargetInfoHealthTween then
TargetInfoHealthTween:Cancel() end
TargetInfoHealthTween =
game:GetService("TweenService"):Create(TargetInfoHealth, TweenInfo.new(0.25,
Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {BackgroundColor3 =
newHealthColor(math.clamp(v.Humanoid.Health / v.Humanoid.MaxHealth, 0, 1))})
TargetInfoHealthTween:Play()
TargetInfoName.Text = (TargetInfoDisplayNames.Enabled and
v.Player.DisplayName or v.Player.Name)
break
end
TargetInfoMainInfo.Visible = hasTarget or
(TargetInfo.GetCustomChildren().Parent.Size ~= UDim2.new(0, 220, 0, 0))
end
end,
Targets = {},
Object = TargetInfo
}
task.spawn(function()
repeat
if shared.VapeTargetInfo then
shared.VapeTargetInfo.UpdateInfo()
end
task.wait()
until not vapeInjected
end)
GUI.CreateCustomToggle({
Name = "Target Info",
Icon = "vape/assets/TargetInfoIcon2.png",
Function = function(callback) TargetInfo.SetVisible(callback) end,
Priority = 1
})
local GeneralSettings = GUI.CreateDivider2("General Settings")
local ModuleSettings = GUI.CreateDivider2("Module Settings")
local GUISettings = GUI.CreateDivider2("GUI Settings")
local TeamsByColorToggle = {Enabled = false}
TeamsByColorToggle = ModuleSettings.CreateToggle({
Name = "Teams by color",
Function = function() if TeamsByColorToggle.Refresh then
TeamsByColorToggle.Refresh:Fire() end end,
Default = true,
HoverText = "Ignore players on your team designated by the game"
})
TeamsByColorToggle.Refresh = Instance.new("BindableEvent")
local MiddleClickInput
ModuleSettings.CreateToggle({
Name = "MiddleClick friends",
Function = function(callback)
if callback then
MiddleClickInput =
inputService.InputBegan:Connect(function(input1)
if input1.UserInputType == Enum.UserInputType.MouseButton3
then
local entityLibrary = shared.vapeentity
if entityLibrary then
local rayparams = RaycastParams.new()
rayparams.FilterType =
Enum.RaycastFilterType.Whitelist
local chars = {}
for i,v in pairs(entityLibrary.entityList) do
table.insert(chars, v.Character)
end
rayparams.FilterDescendantsInstances = chars
local mouseunit =
playersService.LocalPlayer:GetMouse().UnitRay
local ray = workspace:Raycast(mouseunit.Origin,
mouseunit.Direction * 10000, rayparams)
if ray then
for i,v in
pairs(entityLibrary.entityList) do
if
ray.Instance:IsDescendantOf(v.Character) then
local found =
table.find(FriendsTextList.ObjectList, v.Player.Name)
if not found then

table.insert(FriendsTextList.ObjectList, v.Player.Name)

table.insert(FriendsTextList.ObjectListEnabled, true)

FriendsTextList.RefreshValues(FriendsTextList.ObjectList)
else

table.remove(FriendsTextList.ObjectList, found)

table.remove(FriendsTextList.ObjectListEnabled, found)

FriendsTextList.RefreshValues(FriendsTextList.ObjectList)
end
break
end
end
end
end
end
end)
else
if MiddleClickInput then MiddleClickInput:Disconnect() end
end
end,
HoverText = "Click middle mouse button to add the player you are hovering
over as a friend"
})
ModuleSettings.CreateToggle({
Name = "Lobby Check",
Function = function() end,
Default = true,
HoverText = "Temporarily disables certain features in server lobbies."
})
GUIColorSlider = GUI.CreateColorSlider("GUI Theme", function(h, s, v)
GuiLibrary.UpdateUI(h, s, v)
end)
local BlatantModeToggle = GUI.CreateToggle({
Name = "Blatant mode",
Function = function() end,
HoverText = "Required for certain features."
})
local windowSortOrder = {
CombatButton = 1,
BlatantButton = 2,
RenderButton = 3,
UtilityButton = 4,
WorldButton = 5,
ExploitButton= 6,
FriendsButton = 7,
TargetsButton = 8,
ProfilesButton = 9
}
local windowSortOrder2 = {"Combat", "Blatant", "Render", "Utility", "World"}

local function getVapeSaturation(val)


local sat = 0.9
if val < 0.03 then
sat = 0.75 + (0.15 * math.clamp(val / 0.03, 0, 1))
end
if val > 0.59 then
sat = 0.9 - (0.4 * math.clamp((val - 0.59) / 0.07, 0, 1))
end
if val > 0.68 then
sat = 0.5 + (0.4 * math.clamp((val - 0.68) / 0.14, 0, 1))
end
if val > 0.89 then
sat = 0.9 - (0.15 * math.clamp((val - 0.89) / 0.1, 0, 1))
end
return sat
end

GuiLibrary.UpdateUI = function(h, s, val, bypass)


pcall(function()
local rainbowGUICheck = GUIColorSlider.RainbowValue
local mainRainbowSaturation = rainbowGUICheck and getVapeSaturation(h)
or s
local mainRainbowGradient = h + (rainbowGUICheck and -0.05 or 0)
mainRainbowGradient = mainRainbowGradient % 1

GuiLibrary.ObjectsThatCanBeSaved.GUIWindow.Object.Logo1.Logo2.ImageColor3 =
Color3.fromHSV(h, mainRainbowSaturation, rainbowGUICheck and 1 or val)
VapeText.TextColor3 = Color3.fromHSV(TextGUIGradient.Enabled and
mainRainbowGradient or h, mainRainbowSaturation, rainbowGUICheck and 1 or val)
VapeCustomText.TextColor3 = VapeText.TextColor3
VapeLogoGradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromHSV(h,
mainRainbowSaturation, rainbowGUICheck and 1 or val)),
ColorSequenceKeypoint.new(1, VapeText.TextColor3)
})
VapeLogoGradient2.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromHSV(h,
TextGUIGradient.Enabled and rainbowGUICheck and mainRainbowSaturation or 0, 1)),
ColorSequenceKeypoint.new(1,
Color3.fromHSV(TextGUIGradient.Enabled and mainRainbowGradient or h,
TextGUIGradient.Enabled and rainbowGUICheck and mainRainbowSaturation or 0, 1))
})
local newTextGUIText = "\n"
local backgroundTable = {}
for i, v in pairs(TextGUIFormatted) do
local rainbowcolor = h + (rainbowGUICheck and (-0.025 * (i +
(TextGUIGradient.Enabled and 2 or 0))) or 0)
rainbowcolor = rainbowcolor % 1
local newcolor = Color3.fromHSV(rainbowcolor, rainbowGUICheck and
getVapeSaturation(rainbowcolor) or mainRainbowSaturation, rainbowGUICheck and 1 or
val)
newTextGUIText = newTextGUIText..'<font
color="rgb('..math.floor(newcolor.R * 255)..","..math.floor(newcolor.G *
255)..","..math.floor(newcolor.B * 255)..')">'..v.Text..'</font><font
color="rgb(170, 170, 170)">'..v.ExtraText..'</font>\n'
backgroundTable[i] = newcolor
end

if TextGUIMode.Value == "Drawing" then


for i,v in pairs(TextGUIObjects.Labels) do
if backgroundTable[i] then
v.Color = backgroundTable[i]
end
end
end

if TextGUIBackgroundToggle.Enabled then
for i, v in pairs(VapeBackgroundTable) do
v.ColorFrame.BackgroundColor3 =
backgroundTable[v.LayoutOrder] or Color3.new()
end
end
VapeText.Text = newTextGUIText

if (not GuiLibrary.MainGui.ScaledGui.ClickGui.Visible) and (not


GuiLibrary.MainGui.ScaledGui.LegitGui.Visible) and (not bypass) then return end
GuiLibrary.MainGui.ScaledGui.ClickGui.SearchBar.LegitMode.ImageColor3 =
Color3.fromHSV(h, mainRainbowSaturation, rainbowGUICheck and 1 or val)
local buttonColorIndex = 0
for i, v in pairs(GuiLibrary.ObjectsThatCanBeSaved) do
if v.Type == "TargetFrame" then
if v.Object2.Visible then
v.Object.TextButton.Frame.BackgroundColor3 =
Color3.fromHSV(h, mainRainbowSaturation, rainbowGUICheck and 1 or val)
end
elseif v.Type == "TargetButton" then
if v.Api.Enabled then
v.Object.BackgroundColor3 = Color3.fromHSV(h,
mainRainbowSaturation, rainbowGUICheck and 1 or val)
end
elseif v.Type == "CircleListFrame" then
if v.Object2.Visible then
v.Object.TextButton.Frame.BackgroundColor3 =
Color3.fromHSV(h, mainRainbowSaturation, rainbowGUICheck and 1 or val)
end
elseif v.Type == "LegitModule" then
if v.Toggle.Visible and v.Api.Enabled then
v.Toggle.BackgroundColor3 = Color3.fromHSV(h,
mainRainbowSaturation, rainbowGUICheck and 1 or val)
end
elseif (v.Type == "Button" or v.Type == "ButtonMain") and
v.Api.Enabled then
buttonColorIndex = buttonColorIndex + 1
local rainbowcolor = h + (rainbowGUICheck and (-0.025 *
windowSortOrder[i]) or 0)
rainbowcolor = rainbowcolor % 1
local newcolor = Color3.fromHSV(rainbowcolor,
rainbowGUICheck and getVapeSaturation(rainbowcolor) or mainRainbowSaturation,
rainbowGUICheck and 1 or val)
v.Object.ButtonText.TextColor3 = newcolor
if v.Object:FindFirstChild("ButtonIcon") then
v.Object.ButtonIcon.ImageColor3 = newcolor
end
elseif v.Type == "OptionsButton" then
if v.Api.Enabled then
local newcolor = Color3.fromHSV(h,
mainRainbowSaturation, rainbowGUICheck and 1 or val)
if (not oldrainbow) then
local mainRainbowGradient =
table.find(windowSortOrder2, v.Object.Parent.Parent.Name)
mainRainbowGradient = mainRainbowGradient and
(mainRainbowGradient - 1) > 0 and
GuiLibrary.ObjectsThatCanBeSaved[windowSortOrder2[mainRainbowGradient -
1].."Window"].SortOrder or 0
local rainbowcolor = h + (rainbowGUICheck and
(-0.025 * (mainRainbowGradient + v.SortOrder)) or 0)
rainbowcolor = rainbowcolor % 1
newcolor = Color3.fromHSV(rainbowcolor,
rainbowGUICheck and getVapeSaturation(rainbowcolor) or mainRainbowSaturation,
rainbowGUICheck and 1 or val)
end
v.Object.BackgroundColor3 = newcolor
end
elseif v.Type == "ExtrasButton" then
if v.Api.Enabled then
local rainbowcolor = h + (rainbowGUICheck and (-0.025
* buttonColorIndex) or 0)
rainbowcolor = rainbowcolor % 1
local newcolor = Color3.fromHSV(rainbowcolor,
rainbowGUICheck and getVapeSaturation(rainbowcolor) or mainRainbowSaturation,
rainbowGUICheck and 1 or val)
v.Object.ImageColor3 = newcolor
end
elseif (v.Type == "Toggle" or v.Type == "ToggleMain") and
v.Api.Enabled then
v.Object.ToggleFrame1.BackgroundColor3 = Color3.fromHSV(h,
mainRainbowSaturation, rainbowGUICheck and 1 or val)
elseif v.Type == "Slider" or v.Type == "SliderMain" then
v.Object.Slider.FillSlider.BackgroundColor3 =
Color3.fromHSV(h, mainRainbowSaturation, rainbowGUICheck and 1 or val)
v.Object.Slider.FillSlider.ButtonSlider.ImageColor3 =
Color3.fromHSV(h, mainRainbowSaturation, rainbowGUICheck and 1 or val)
elseif v.Type == "TwoSlider" then
v.Object.Slider.FillSlider.BackgroundColor3 =
Color3.fromHSV(h, mainRainbowSaturation, rainbowGUICheck and 1 or val)
v.Object.Slider.ButtonSlider.ImageColor3 =
Color3.fromHSV(h, mainRainbowSaturation, rainbowGUICheck and 1 or val)
v.Object.Slider.ButtonSlider2.ImageColor3 =
Color3.fromHSV(h, mainRainbowSaturation, rainbowGUICheck and 1 or val)
end
end

local rainbowcolor = h + (rainbowGUICheck and (-0.025 *


buttonColorIndex) or 0)
rainbowcolor = rainbowcolor % 1

GuiLibrary.ObjectsThatCanBeSaved.GUIWindow.Object.Children.Extras.MainButton.ImageC
olor3 = (GUI.GetVisibleIcons() > 0 and Color3.fromHSV(rainbowcolor,
getVapeSaturation(rainbowcolor), 1) or Color3.fromRGB(199, 199, 199))

for i, v in
pairs(ProfilesTextList.ScrollingObject.ScrollingFrame:GetChildren()) do
if v:IsA("TextButton") and v.ItemText.Text ==
GuiLibrary.CurrentProfile then
v.BackgroundColor3 = Color3.fromHSV(h,
mainRainbowSaturation, rainbowGUICheck and 1 or val)
v.ImageButton.BackgroundColor3 = Color3.fromHSV(h,
mainRainbowSaturation, rainbowGUICheck and 1 or val)
v.ItemText.TextColor3 = Color3.new(1, 1, 1)
v.ItemText.TextStrokeTransparency = 0.75
end
end
end)
end

GUISettings.CreateToggle({
Name = "Blur Background",
Function = function(callback)
GuiLibrary.MainBlur.Size = (callback and 25 or 0)
--
game:GetService("RunService"):SetRobloxGuiFocused(GuiLibrary.MainGui.ScaledGui.Clic
kGui.Visible and callback)
end,
Default = true,
HoverText = "Blur the background of the GUI"
})
local welcomeMessage = GUISettings.CreateToggle({
Name = "GUI bind indicator",
Function = function() end,
Default = true,
HoverText = 'Displays a message indicating your GUI keybind upon injecting.\
nI.E "Press RIGHTSHIFT to open GUI"'
})
GUISettings.CreateToggle({
Name = "Old Rainbow",
Function = function(callback) oldrainbow = callback end,
HoverText = "Reverts to old rainbow"
})
GUISettings.CreateToggle({
Name = "Show Tooltips",
Function = function(callback) GuiLibrary.ToggleTooltips = callback end,
Default = true,
HoverText = "Toggles visibility of these"
})
local GUIRescaleToggle = GUISettings.CreateToggle({
Name = "Rescale",
Function = function(callback)
task.spawn(function()
GuiLibrary.MainRescale.Scale = (callback and
math.clamp(gameCamera.ViewportSize.X / 1920, 0.5, 1) or 0.99)
task.wait(0.01)
GuiLibrary.MainRescale.Scale = (callback and
math.clamp(gameCamera.ViewportSize.X / 1920, 0.5, 1) or 1)
end)
end,
Default = true,
HoverText = "Rescales the GUI"
})
gameCamera:GetPropertyChangedSignal("ViewportSize"):Connect(function()
if GUIRescaleToggle.Enabled then
GuiLibrary.MainRescale.Scale = math.clamp(gameCamera.ViewportSize.X /
1920, 0.5, 1)
end
end)
GUISettings.CreateToggle({
Name = "Notifications",
Function = function(callback)
GuiLibrary.Notifications = callback
end,
Default = true,
HoverText = "Shows notifications"
})
local ToggleNotifications
ToggleNotifications = GUISettings.CreateToggle({
Name = "Toggle Alert",
Function = function(callback) GuiLibrary.ToggleNotifications = callback end,
Default = true,
HoverText = "Notifies you if a module is enabled/disabled."
})
ToggleNotifications.Object.BackgroundTransparency = 0
ToggleNotifications.Object.BorderSizePixel = 0
ToggleNotifications.Object.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
GUISettings.CreateSlider({
Name = "Rainbow Speed",
Function = function(val)
GuiLibrary.RainbowSpeed = math.max((val / 10) - 0.4, 0)
end,
Min = 1,
Max = 100,
Default = 10
})

local GUIbind = GUI.CreateGUIBind()


local teleportConnection =
playersService.LocalPlayer.OnTeleport:Connect(function(State)
if (not teleportedServers) and (not shared.VapeIndependent) then
teleportedServers = true
local teleportScript = [[
shared.VapeSwitchServers = true
loadfile = loadfile or function(file)
return loadstring(readfile(file))
end
loadfile("vape/loader.lua")()
]]
if shared.VapeDeveloper then
teleportScript = 'shared.VapeDeveloper = true\n'..teleportScript
end
if shared.VapePrivate then
teleportScript = 'shared.VapePrivate = true\n'..teleportScript
end
if shared.VapeCustomProfile then
teleportScript = "shared.VapeCustomProfile =
'"..shared.VapeCustomProfile.."'\n"..teleportScript
end
GuiLibrary.SaveSettings()
queueonteleport(teleportScript)
end
end)

GuiLibrary.SelfDestruct = function()
task.spawn(function()
coroutine.close(saveSettingsLoop)
end)
if GuiLibrary.ColorStepped then GuiLibrary.ColorStepped:Disconnect() end

if vapeInjected then
GuiLibrary.SaveSettings()
end
vapeInjected = false
inputService.OverrideMouseIconBehavior = Enum.OverrideMouseIconBehavior.None

for i,v in pairs(GuiLibrary.ObjectsThatCanBeSaved) do


if (v.Type == "Button" or v.Type == "OptionsButton" or v.Type ==
"LegitModule") and v.Api.Enabled then
v.Api.ToggleButton(false)
end
end

for i,v in pairs(TextGUIConnections) do


v:Disconnect()
end
for i,v in pairs(TextGUIObjects) do
for i2,v2 in pairs(v) do
v2.Visible = false
v2:Destroy()
v[i2] = nil
end
end

GuiLibrary.SelfDestructEvent:Fire()
shared.VapeExecuted = nil
shared.VapePrivate = nil
shared.VapeFullyLoaded = nil
shared.VapeSwitchServers = nil
shared.GuiLibrary = nil
shared.VapeIndependent = nil
shared.VapeManualLoad = nil
shared.CustomSaveVape = nil
GuiLibrary.KeyInputHandler:Disconnect()
GuiLibrary.KeyInputHandler2:Disconnect()
if MiddleClickInput then
MiddleClickInput:Disconnect()
end
teleportConnection:Disconnect()
GuiLibrary.MainGui:Destroy()
--game:GetService("RunService"):SetRobloxGuiFocused(false)
end

GeneralSettings.CreateButton2({
Name = "RESET CURRENT PROFILE",
Function = function()
local vapePrivateCheck = shared.VapePrivate
GuiLibrary.SelfDestruct()
if delfile then
delfile(baseDirectory.."Profiles/"..(GuiLibrary.CurrentProfile ~=
"default" and GuiLibrary.CurrentProfile or "")..(shared.CustomSaveVape or
game.PlaceId)..".vapeprofile.txt")
else
writefile(baseDirectory.."Profiles/"..(GuiLibrary.CurrentProfile
~= "default" and GuiLibrary.CurrentProfile or "")..(shared.CustomSaveVape or
game.PlaceId)..".vapeprofile.txt", "")
end
shared.VapeSwitchServers = true
shared.VapeOpenGui = true
shared.VapePrivate = vapePrivateCheck
loadstring(vapeGithubRequest("NewMainScript.lua"))()
end
})
GUISettings.CreateButton2({
Name = "RESET GUI POSITIONS",
Function = function()
for i,v in pairs(GuiLibrary.ObjectsThatCanBeSaved) do
if (v.Type == "Window" or v.Type == "CustomWindow") then
v.Object.Position = (i == "GUIWindow" and UDim2.new(0, 6,
0, 6) or UDim2.new(0, 223, 0, 6))
end
end
end
})
GUISettings.CreateButton2({
Name = "SORT GUI",
Function = function()
local sorttable = {}
local movedown = false
local sortordertable = {
GUIWindow = 1,
CombatWindow = 2,
BlatantWindow = 3,
RenderWindow = 4,
UtilityWindow = 5,
WorldWindow = 6,
ExploitWindow = 7,
FriendsWindow = 8,
TargetsWindow = 9,
ProfilesWindow = 10,
["Text GUICustomWindow"] = 11,
TargetInfoCustomWindow = 12,
RadarCustomWindow = 13
}
local storedpos = {}
local num = 6
for i,v in pairs(GuiLibrary.ObjectsThatCanBeSaved) do
local obj = GuiLibrary.ObjectsThatCanBeSaved[i]
if obj then
if v.Type == "Window" and v.Object.Visible then
local sortordernum = (sortordertable[i] or
#sorttable)
sorttable[sortordernum] = v.Object
end
end
end
for i2,v2 in pairs(sorttable) do
if num > 1697 then
movedown = true
num = 6
end
v2.Position = UDim2.new(0, num, 0, (movedown and (storedpos[num]
and (storedpos[num] + 9) or 400) or 39))
if not storedpos[num] then
storedpos[num] = v2.AbsoluteSize.Y
if v2.Name == "MainWindow" then
storedpos[num] = 400
end
end
num = num + 223
end
end
})
GeneralSettings.CreateButton2({
Name = "UNINJECT",
Function = GuiLibrary.SelfDestruct
})

GeneralSettings.CreateButton2({
Name = "REINJECT",
Function = function(calling)
GuiLibrary.SelfDestruct();
loadfile("vape/MainScript.lua")()
end
})

local function loadVape()


if not shared.VapeIndependent then
loadstring(vapeGithubRequest("Universal.lua"))()
if isfile(baseDirectory.. "CustomModules/"..game.PlaceId..".lua") then
loadstring(readfile(baseDirectory..
"CustomModules/"..game.PlaceId..".lua"))()
else
if not shared.VapeDeveloper then
local suc, publicrepo = pcall(function() return
game:HttpGet("https://raw.githubusercontent.com/7GrandDadPGN/VapeV4ForRoblox/
CustomModules/"..game.PlaceId..".lua") end)
if suc and publicrepo and publicrepo ~= "404: Not Found"
then
writefile(baseDirectory..
"CustomModules/"..game.PlaceId..".lua", "--This watermark is used to delete the
file if its cached, remove it to make the file persist after commits.\
n"..publicrepo)
loadstring(readfile(baseDirectory..
"CustomModules/"..game.PlaceId..".lua"))()
end
end
end
else
repeat task.wait() until shared.VapeManualLoad
end
if #ProfilesTextList.ObjectList == 0 then
table.insert(ProfilesTextList.ObjectList, "default")
ProfilesTextList.RefreshValues(ProfilesTextList.ObjectList)
end
GuiLibrary.LoadSettings(shared.VapeCustomProfile)
local profiles = {}
for i,v in pairs(GuiLibrary.Profiles) do
table.insert(profiles, i)
end
table.sort(profiles, function(a, b) return b == "default" and true or
a:lower() < b:lower() end)
ProfilesTextList.RefreshValues(profiles)
GUIbind.Reload()
TextGUIUpdate()
GuiLibrary.UpdateUI(GUIColorSlider.Hue, GUIColorSlider.Sat,
GUIColorSlider.Value, true)
if not shared.VapeSwitchServers then
if BlatantModeToggle.Enabled then
pcall(function()
local frame = GuiLibrary.CreateNotification("Blatant
Enabled", "Vape is now in Blatant Mode.", 3, "assets/WarningNotification.png")
frame.Frame.Frame.ImageColor3 = Color3.fromRGB(236, 129,
44)
end)
end
GuiLibrary.LoadedAnimation(welcomeMessage.Enabled)
else
shared.VapeSwitchServers = nil
end
if shared.VapeOpenGui then
GuiLibrary.MainGui.ScaledGui.ClickGui.Visible = true
GuiLibrary.MainGui.ScaledGui.LegitGui.Visible = false
--
game:GetService("RunService"):SetRobloxGuiFocused(GuiLibrary.MainBlur.Size ~= 0)
shared.VapeOpenGui = nil
end

coroutine.resume(saveSettingsLoop)
shared.VapeFullyLoaded = true
end

if shared.VapeIndependent then
task.spawn(loadVape)
shared.VapeFullyLoaded = true
return GuiLibrary
else
loadVape()
end

You might also like