if getgenv().loaded then
return
end
getgenv().loaded = true
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("SendNotification", {
Title = "Scorpio.Hub loading",
Text = "wait 8 seconds",
Duration = 8, -- seconds the notification stays on screen
})
if LPH_OBFUSCATED == nil then
local assert = assert
local type = type
local setfenv = setfenv
LPH_ENCNUM = function(toEncrypt, ...)
assert(type(toEncrypt) == "number" and #{...} == 0, "LPH_ENCNUM only accepts a single constant double or integer as an argument.")
return toEncrypt
end
LPH_NUMENC = LPH_ENCNUM
LPH_ENCSTR = function(toEncrypt, ...)
assert(type(toEncrypt) == "string" and #{...} == 0, "LPH_ENCSTR only accepts a single constant string as an argument.")
return toEncrypt
end
LPH_STRENC = LPH_ENCSTR
LPH_ENCFUNC = function(toEncrypt, encKey, decKey, ...)
assert(type(toEncrypt) == "function" and type(encKey) == "string" and #{...} == 0, "LPH_ENCFUNC accepts a constant function, constant string, and string variable as arguments.")
return toEncrypt
end
LPH_FUNCENC = LPH_ENCFUNC
LPH_JIT = function(f, ...)
assert(type(f) == "function" and #{...} == 0, "LPH_JIT only accepts a single constant function as an argument.")
return f
end
LPH_JIT_MAX = LPH_JIT
LPH_NO_VIRTUALIZE = function(f, ...)
assert(type(f) == "function" and #{...} == 0, "LPH_NO_VIRTUALIZE only accepts a single constant function as an argument.")
return f
end
LPH_NO_UPVALUES = function(f, ...)
assert(type(setfenv) == "function", "LPH_NO_UPVALUES can only be used on Lua versions with getfenv & setfenv")
assert(type(f) == "function" and #{...} == 0, "LPH_NO_UPVALUES only accepts a single constant function as an argument.")
local env = getrenv()
return setfenv(
LPH_NO_VIRTUALIZE(function(...)
return func(...)
end),
setmetatable(
{
func = f
},
{
__index = env,
__newindex = env
}
)
)
end
LPH_CRASH = function(...)
assert(#{...} == 0, "LPH_CRASH does not accept any arguments.")
game:Shutdown()
while true do end
end
LRM_IsUserPremium = true
LRM_LinkedDiscordID = "0"
LRM_ScriptName = "Scorpio.Hub"
LRM_TotalExecutions = 0
LRM_SecondsLeft = math.huge
LRM_UserNote = "Premium";
end;
local Game_Name = (game.PlaceId == 4991214437 and "Town") or (game.PlaceId == 18642421777 and "The Bronx") or (game.PlaceId == 16472538603 and "The Bronx") or (game.PlaceId == 13643807539 and "South Bronx") or (game.PlaceId == 93612682780562 and "South Bronx") or (game.PlaceId == 14413475235 and "South Bronx") or (game.PlaceId == 104715542330896 and "BlockSpin") or (game.PlaceId == 71600459831333 and "Street Life") or "Universal"
if not getexecutorname then
getexecutorname = identifyexecutor
end
if not getexecutorname then
getexecutorname = identifyexecutor
end
local Solara = string.match(getexecutorname(), "Solara") == "Solara" or string.match(getexecutorname(), "Xeno") == "Xeno" or getexecutorname() == string.match(getexecutorname(), "Zorara") == "Zorara";
local cloneref = cloneref or function(...) return ... end
local Services = setmetatable({}, {
__index = LPH_NO_VIRTUALIZE(function(self, service, key)
if Solara and (service == "VirtualInputManager") and (Game_Name == "The Bronx") then
return {SendKeyEvent = function() end}
end
return cloneref(game:GetService(service))
end)
})
if Game_Name == "South Bronx" and not Solara then
local _getallthreads = LPH_JIT_MAX(function()
local threads = {}
for i, v in getreg() do
if type(v) == 'thread' then
table.insert(threads, v)
end
end
return threads
end)
local _gettenv = LPH_JIT_MAX(function(Thread)
return getfenv(debug.info(Thread, 1, 'f'))
end)
if gettenv then
_gettenv = gettenv
end
local Filter_Nil_Instances = LPH_JIT_MAX(function(Name)
local Found = nil
for _, Object in getnilinstances() do
if tostring(Object):find(Name) then
Found = Object
end
end
return Found
end)
local Filter_Table = LPH_JIT_MAX(function(Table, Name)
local Found, Index = nil, nil
for _, Object in Table do
if tostring(_):lower():find(tostring(Name):lower()) then
Found = Object
Index = _
end
end
return Found, Index
end)
local Search_Threads = LPH_JIT_MAX(function(Table, Variable)
local Threads = {}
for NO, _thread in pairs(Table) do
local T_ENV = _gettenv(_thread)
if T_ENV[Variable] then
table.insert(Threads, _thread)
end
end
return Threads
end)
local Get_AntiCheat_Threads = LPH_JIT_MAX(function()
local Threads = _getallthreads()
local WeHaveAHacker = Search_Threads(Threads, 'WeHaveAHacker')
if WeHaveAHacker[1] then
return WeHaveAHacker
end
end)
local AntiCheat_Threads = {}
local AntiCheat_Encoded = {
[1] = "iFPjbrlufvSzsYurCCdWeFbPeNBWzxywGWLNpzgQVVvkLaoDJjImgWFETWVzc2FnZVR5cGU=",
[2] = "AjimhYxuTcBxLtetPTqLQKsdsjDiWNpsPSoXToFfvftufSnLTemZUVKTWVzc2FnZVUlZm8=",
[3] = "VFevcWxuZHlvFWejJERNXupJDNxvjnIBPHBNZgSMHNOeQURICksIFETWVzc2FnZVR5cGU=",
[4] = "RJLHPqjgyYwiGKfgSdISiCpvzGmdJKBkWUMMZHxtipCmivjZdXzDWsTWVzc2FnZUlDHbIdA=="
}
local Anti_Cheat_Script = Filter_Nil_Instances('?')
if not Anti_Cheat_Script then
repeat task.wait()
Anti_Cheat_Script = Filter_Nil_Instances('?')
until Anti_Cheat_Script~=nil
end
local AntiCheat_Function, Function_Index = Filter_Table(getsenv(Anti_Cheat_Script), "HPv")
if not AntiCheat_Function then
repeat task.wait()
Anti_Cheat_Script = Filter_Nil_Instances('?')
AntiCheat_Function, Function_Index = Filter_Table(getsenv(Anti_Cheat_Script), "HPv")
until AntiCheat_Function~=nil
end
local Killable_Threads = {[1] = true, [3] = true, [4] = true}
local XVNP_L = LPH_JIT_MAX(function(...)
local Random_Message = AntiCheat_Encoded[math.random(1, #AntiCheat_Encoded)]
return AntiCheat_Function(Random_Message)
end)
Services.RunService.RenderStepped:Connect(LPH_JIT_MAX(function()
AntiCheat_Threads = Get_AntiCheat_Threads()
if AntiCheat_Threads then
for i = 1, #AntiCheat_Threads do
local Thread = AntiCheat_Threads[i]
if Thread and Killable_Threads[i] == true then
task.cancel(Thread)
end
end
end
XVNP_L()
end))
task.wait(5)
end
local script_key;
if LPH_OBFUSCATED then
script_key = getfenv().script_key
end
if script_key then
writefile("BronxLol_Key.txt", script_key)
end
do
Players = Services.Players;
ReplicatedStorage = Services.ReplicatedStorage;
UserInputService = Services.UserInputService;
Workspace = Services.Workspace;
RunService = Services.RunService;
ProximityPromptService = Services.ProximityPromptService;
MarketplaceService = Services.MarketplaceService;
StarterGui = Services.StarterGui
VirtualInputManager = Services.VirtualInputManager;
Lighting = Services.Lighting
mathrandom = math.random;
mathabs = math.abs;
Mobile = UserInputService.TouchEnabled
Cars = {}
Camera = Workspace.CurrentCamera
LocalPlayer = Players.LocalPlayer
Mouse = LocalPlayer:GetMouse()
Move_Mouse_Function = mousemoverel
end;
local FireServer, InvokeServer, UnreliableFireServer = Instance.new("RemoteEvent").FireServer, Instance.new("RemoteFunction").InvokeServer, Instance.new("UnreliableRemoteEvent").FireServer
if isfunctionhooked then
if isfunctionhooked(FireServer) or isfunctionhooked(UnreliableFireServer) or isfunctionhooked(InvokeServer) and LPH_OBFUSCATED then
return Services.LocalPlayer:Kick("moon.lua | Security : You are running another script, please disable it and execute again")
end
end
local SafePosition = CFrame.new(-437, 33, 6653)
local Config = {
["TheBronx"] = {
["Selected_Item"] = "...";
["TeleportationList"] = {
["Deli Market 🥪"] = CFrame.new(-927.72607421875, 253.73307800293, -691.36871337891);
["Capital One Bank 🏦"] = CFrame.new(-224.070892, 283.80954, -1200.51355, 0.898020029, -8.45030157e-10, -0.439954549, 1.71171859e-08, 1, 3.30182885e-08, 0.439954549, -3.718187e-08, 0.898020029);
["Ice Box 🧊"] = CFrame.new(-211.92926, 284.031494, -1170.44751, -0.211394921, -4.74827537e-08, -0.97740072, 4.93989027e-08, 1, -5.92647709e-08, 0.97740072, -6.08107911e-08, -0.211394921);
["🏘 section 8 house"] = CFrame.new(-741.548218, 262.955658, -956.177856, -0.999924719, -3.33829719e-09, 0.0122713735, -3.3374834e-09, 1, 8.67962299e-11, -0.0122713735, 4.58341871e-11, -0.999924719);
["Hotel 🏨"] = CFrame.new(-1012, 266, -933);
["Drip Store 👓"] = CFrame.new(67462.6953125, 10489.0322265625, 546.6762084960938);
["Gun Shop 🔫"] = CFrame.new(-1003.56274, 253.814941, -802.115479, -0.980083287, 1.00547819e-08, 0.198586762, 7.72241027e-09, 1, -1.25193429e-08, -0.198586762, -1.07364304e-08, -0.980083287);
["Car Dealer 🚗"] = CFrame.new(-410.52230834961, 253.25646972656, -1245.5539550781);
["💲clean money💵"] = CFrame.new(-979.4635620117188, 253.65318298339844, -689.3339233398438);
["Studio 🎙"] = CFrame.new(93408.453125, 14484.7158203125, 570.139404296875);
["Basketball Court 🏀"] = CFrame.new(-928.66687, 253.970642, -411.840332, 0.459722698, -4.89149912e-08, -0.888062537, 1.72902119e-08, 1, -4.61299585e-08, 0.888062537, 5.85219917e-09, 0.459722698);
["Robbable Ice Box 🧊"] = CFrame.new(-209.68360900878906, 283.4959411621094, -1265.5286865234375);
["Exotic Dealer / Grass House 🍃"] = CFrame.new(-1521.943115234375, 272.5462646484375, -984.3020629882812);
["Safe 🔒"] = CFrame.new(-410.395508, 257.2146, -268.762207, -0.99397856, -3.30172973e-08, -0.109574534, -2.67952363e-08, 1, -5.82563118e-08, 0.109574534, -5.49694477e-08, -0.99397856);
["Roof Top / Bank Tools 🛠"] = CFrame.new(-405.766541, 334.314209, -559.063049, 0.990661561, -9.09075197e-08, 0.13634412, 1.00807341e-07, 1, -6.57046044e-08, -0.13634412, 7.88355123e-08, 0.990661561);
["Gun Shop 2 🔫"] = CFrame.new(66202, 123615.7109375, 5749.81591796875);
["Construction Job 🔨"] = CFrame.new(-1731.8306884766, 370.81228637695, -1176.8387451172);
["👨🏾🍳 popeyes"] = CFrame.new(-86.8043365, 283.632904, -767.680481, 0.0349430069, 3.07534176e-09, 0.999389291, -8.80638069e-08, 1, 1.87372795e-12, -0.999389291, -8.8010097e-08, 0.0349430069),
["🏡 trailer park"] = CFrame.new(-1521.95935, 253.342743, 2264.8584, 0.0229746699, -4.32685623e-11, -0.999736071, -4.64380934e-09, 1, -1.49998139e-10, 0.999736071, 4.64602978e-09, 0.0229746699),
["👨 yard sale"] = CFrame.new(-1379.59961, 254.075073, 2768.17456, -0.161961749, -7.58592744e-09, -0.986797035, -3.6793375e-09, 1, -7.08353953e-09, 0.986797035, 2.48349696e-09, -0.161961749),
["🎒Backpack "] = CFrame.new(-694.231689, 253.780945, -687.136841, -0.871292949, -1.55957949e-08, 0.490763307, -1.33098546e-08, 1, 8.14855827e-09, -0.490763307, 5.67793146e-10, -0.871292949),
["👑 trap house"] = CFrame.new(-792.78064, 256.794495, 1414.72986, 1, 3.85794046e-08, 1.98475264e-12, -3.85794046e-08, 1, 1.80319546e-08, -1.98405702e-12, -1.80319546e-08, 1),
["🥤 fruit"] = CFrame.new(-70.5023575, 287.06366, -320.634094, 0.999999821, -4.35785275e-09, -0.000581864733, 4.40470993e-09, 1, 8.05283591e-08, 0.000581864733, -8.05309028e-08, 0.999999821),
["👮🏾♂️police landout"] = CFrame.new(-1440.86902, 255.12619, -3141.50269, 1, 2.93179286e-10, -1.22108007e-14, -2.93179286e-10, 1, -5.42506351e-09, 1.220921e-14, 5.42506351e-09, 1),
["👮🏾♂️ police talking room"] = CFrame.new(-1369.65198, 257.850769, -3193.54297, 0.999995232, 3.48691671e-08, 0.00309534976, -3.50066287e-08, 1, 4.43553745e-08, -0.00309534976, -4.44635191e-08, 0.999995232),
["👮🏾♂️police meeting"] = CFrame.new(-1366.70178, 256.821899, -3152.30518, 1, 5.55209141e-08, 1.72658505e-13, -5.55209141e-08, 1, 7.07464309e-08, -1.68730603e-13, -7.07464309e-08, 1),
["🚪kicking doors"] = CFrame.new(-607.173645, 253.886749, -679.163391, -0.0964333862, -2.14529798e-08, 0.995339453, -3.46045361e-08, 1, 1.82007724e-08, -0.995339453, -3.26880993e-08, -0.0964333862),
["🔫Gunshop 3"] = CFrame.new(-1010.32635, 317.889374, -907.931946, -0.719649017, -6.88095314e-09, 0.694338024, -3.86566157e-08, 1, -3.01556895e-08, -0.694338024, -4.85422724e-08, -0.719649017),
["🩹Margreens"] = CFrame.new(-384.37, 254.45, -373.76),
["🍗 Chicken Wings"] = CFrame.new(-957.91418457031, 253.53065490723, -815.94421386719),
["🏥 Hospital"] = CFrame.new(-1590.33069, 254.272217, 19.9477577, -0.148689881, -1.89369107e-08, -0.988883853, -1.55521995e-08, 1, -1.68113328e-08, 0.988883853, 1.2879644e-08, -0.148689881),
["🔥 Pawn Shop"] = CFrame.new(-1049.6430664063, 253.53065490723, -814.26971435547),
["🏠 Penthouse"] = CFrame.new(-195.424164, 397.138306, -573.941162, 1, 1.33502738e-08, 1.90762137e-14, -1.33502738e-08, 1, 2.10393516e-08, -1.87953325e-14, -2.10393516e-08, 1),
["👮🏾♂️ prison"] = CFrame.new(-1123.79626, 257.877808, -3336.99561, 0.991099596, -6.00827263e-08, -0.133122638, 7.45554232e-08, 1, 1.0373234e-07, 0.133122638, -1.12734092e-07, 0.991099596),
["🥤 soda drink"] = CFrame.new(-1291.38245, 253.300858, -2998.16333, -0.928815365, -7.42738671e-09, -0.370542884, -8.67058336e-09, 1, 1.68937098e-09, 0.370542884, 4.78193662e-09, -0.928815365),
["🛍 DOLLAR CENTRAL"] = CFrame.new(-388.171509, 253.820496, -1065.17139, -0.966062784, 7.08192331e-08, -0.258307457, 7.32862731e-08, 1, 7.77916898e-11, 0.258307457, -1.88552391e-08, -0.966062784),
["🔫 Studio Guns🔫"] = CFrame.new(-612.873413, 253.373779, -1146.95239, -0.999343038, 8.73653434e-08, -0.0362425484, 8.42543528e-08, 1, 8.73653434e-08, 0.0362425484, 8.42543528e-08, -0.999343038),
["⚗factory🧪 "] = CFrame.new(-171.367737, 284.625214, -262.169586, 0.926331043, 1.02568464e-07, -0.376710504, -8.25912139e-08, 1, 6.91821924e-08, 0.376710504, -3.29726326e-08, 0.926331043),
["💻bronx laundromat💳 "] = CFrame.new(-616.240662, 253.715866, -1221.80261, -0.68032074, 1.08248898e-07, -0.732914507, 6.7664196e-08, 1, 8.48878514e-08, 0.732914507, 8.15889312e-09, -0.68032074),
["🏫River park🚸"] = CFrame.new(-1488.58362, 253.860413, -528.957153, -0.219471648, 1.05735602e-07, -0.975618899, -1.44289221e-08, 1, 1.11623855e-07, 0.975618899, 3.85754007e-08, -0.219471648),
["🏠Penthouse 2🏠"] = CFrame.new(-618.133972, 356.534882, -688.35498, 0.419588119, -4.88266352e-08, 0.907714605, 3.28240795e-08, 1, 3.86179124e-08, -0.907714605, 1.35912792e-08, 0.419588119),
};
["Modifications"] = newproxy(true);
["_Modifications"] = {
["DisableJamming"] = false;
["ModifySpreadValue"] = false;
["ModifyRecoilValue"] = false;
["Automatic"] = false;
["ModifyFireRate"] = false;
["ModifyReloadSpeed"] = false;
["ModifyEquipSpeed"] = false;
["InfiniteAmmo"] = false;
["InfiniteClips"] = false;
["InfiniteDamage"] = false;
["FireRateSpeed"] = 50;
["SpreadPercentage"] = 50;
["RecoilPercentage"] = 50;
["ReloadSpeed"] = 50;
["EquipSpeed"] = 50;
};
["PlayerModifications"] = {
["InfiniteSleep"] = false;
["InfiniteStamina"] = false;
["InfiniteHunger"] = false;
["InstantInteract"] = false;
["InstantRevive"] = false;
["AutoPickupCash"] = false;
["AutoPickupBags"] = false;
["DisableCameraBobbing"] = false;
["DisableCameras"] = false;
["BypassLockedCars"] = false;
["DisableBloodEffects"] = false;
["NoJumpCooldown"] = false;
["NoRentPay"] = false;
["NoFallDamage"] = false;
["NoKnockback"] = false;
["InfiniteHealth"] = false;
["RespawnWhereYouDied"] = false;
};
["InfiniteHealth"] = false;
["StoreDupedItem"] = false;
["Selected_Location"] = "...";
["ClickTeleportActive"] = false;
["PlayerUtilities"] = {
["SelectedPlayer"] = "...";
["BringingPlayer"] = false;
["SpectatePlayer"] = false;
["AutoKill"] = false;
["AutoRagdoll"] = false;
["BugPlayer"] = false;
};
["VehicleModifications"] = {
["SpeedEnabled"] = false;
["SpeedValue"] = 10/1000;
["BreakEnabled"] = false;
["BreakValue"] = 50/1000;
["InstantStop"] = false;
["InstantStopBind"] = Enum.KeyCode.V;
};
["Farms"] = {
["CollectDroppedMoney"] = false;
["CollectDroppedLoot"] = false;
["OnlyCollectGuns"] = false;
["AFKCheck"] = false;
["FarmConstructionJob"] = false;
["FarmBank"] = false;
["FarmHouses"] = false;
["FarmStudio"] = false;
["FarmTrash"] = false;
["AutoSellTrash"] = false;
};
["KillAura"] = false;
["KillAuraRange"] = 300;
["KillAuraWhitelist"] = {};
["AutoDrop"] = false;
["MoneyAmount"] = false;
["Fly"] = {
["Enabled"] = false;
["Type"] = "CFrame";
["Speed"] = 50;
};
};
["BlockSpin"] = {
["LocalPlayer"] = {
["InfiniteStamina"] = false;
};
["AutoFarming"] = {
["FarmMops"] = false;
["MopType"] = "Default";
};
};
["Road_To_Riches"] = {
["_Modifications"] = {
["ExplosiveBullets"] = false;
["InfiniteAmmo"] = false;
["InfiniteDamage"] = false;
["InstantReload"] = false;
["InstantEquip"] = false;
["Automatic"] = false;
["RapidFire"] = false;
["NoSpread"] = false;
["NoRecoil"] = false;
};
["Locations"] = {
["ATM 🏧"] = CFrame.new(360, 2563, 1946);
["Gun Dealer 🔫"] = CFrame.new(231, 2545, 1065);
["Gold Shop 🪙"] = CFrame.new(-78.1158218383789, 2563.1123046875, 944.74365234375);
["Barber 💈"] = CFrame.new(1217.6531982421875, 2557.93896484375, 981.182861328125);
["Monderella 🍕"] = CFrame.new(428.89581298828125, 2563.31005859375, 1275.4918212890625);
["Deli 🥪"] = CFrame.new(-70.2744369506836, 2562.807861328125, 719.9676513671875);
["Library 📖"] = CFrame.new(53.477169036865234, 2562.908203125, 1960.6444091796875);
["Laboratory 🔬"] = CFrame.new(564, 2563, 1957);
["Hot Dog Stand 🌭"] = CFrame.new(295.57403564453125, 2562.7646484375, 1996.2435302734375);
["Gym 💪" ] = CFrame.new(-37.920719146728516, 2563.05029296875, 442.32647705078125);
["Banks Burgers 🍔"] = CFrame.new(794.2547607421875, 2562.93701171875, 311.8097229003906);
["Laundromat"] = CFrame.new(-979.4635620117188, 253.65318298339844, -689.3339233398438);
["Cocaine Factory 🏭"] = CFrame.new(1227, 2529, 1987);
["Cooking Pots 🧪"] = CFrame.new(131, 2540, 1004);
["Scrap Metal ⚒️"] = CFrame.new(1049, 2563, 1052);
};
["PackFarm"] = {
["Enabled"] = false;
["AllowedPacks"] = {};
["AllowedJunkies"] = {};
};
["InfiniteClips"] = false;
["InfiniteStamina"] = false;
["InfiniteEnergy"] = false;
["Modifications"] = newproxy(true);
["InstantInteract"] = false;
["ESP"] = {
["Pots"] = false;
["AllowedPots"] = {}
};
};
["South_Bronx"] = {
["LocalPlayer_Config"] = {
["InstantInteract"] = false;
["DeleteOnKey"] = false;
["DeleteKey"] = nil;
["NoClip"] = false;
["HideName"] = false;
["InfiniteStamina"] = false;
["Speed"] = false;
["SpeedValue"] = 0.75;
};
["TeleportMethod"] = "Damage";
["FarmingUtilities"] = {
["CardFarm"] = false;
["BoxFarm"] = false;
["ChipFarm"] = false;
["MarshmallowFarm"] = false;
["MarshmallowIncrement"] = 5;
};
["OwnedBike"] = "Unknown";
["Guns"] = {};
["Selected_Item"] = "...";
["Item_Amount"] = 1;
["Locations"] = {
["Main Gun Store 🔫"] = CFrame.new(219, 6, -158);
["Black Market 💹"] = CFrame.new(671, 6, 251);
["DealerShip 🚗"] = CFrame.new(738, 6, 439);
["DealerShip Apartments 🌇"] = CFrame.new(717, 5, 548);
["Clothes Store 👕"] = CFrame.new(-197, 6, -74);
["Box Job Apartments 📦"] = CFrame.new(-527, 6, 142);
["Bank 💳"] = CFrame.new(-47, 6, -340);
["Fake ID Seller 🎫"] = CFrame.new(219, 6, -331);
["DOA Turf 🔴"] = CFrame.new(-335, 6, -415);
["OGZ Turf 🟣"] = CFrame.new(125, 6, -466);
["YGZ Turf 🟢"] = CFrame.new(3, 6, 223);
["Studio"] = CFrame.new(93408.453125, 14484.7158203125, 570.139404296875);
["Shoe Store 👟"] = CFrame.new(525, 7, -184);
["Second Gun Store 🔫"] = CFrame.new(-459, 6, 328);
["Exclusive Gun Store 🔫"] = CFrame.new(1131, 4, 173);
};
["Selected_Location"] = "...";
["Modifications"] = newproxy(true);
["_Modifications"] = {
["DisableJamming"] = false;
["ModifySpreadValue"] = false;
["ModifyRecoilValue"] = false;
["Automatic"] = false;
["ModifyFireRate"] = false;
["InstantKill"] = false;
["ModifyReloadSpeed"] = false;
["ModifyEquipSpeed"] = false;
["InfiniteAmmo"] = false;
["InfiniteClips"] = false;
["FireRateSpeed"] = 50;
["SpreadPercentage"] = 50;
["RecoilPercentage"] = 50;
["ReloadSpeed"] = 50;
["EquipSpeed"] = 50;
};
["PlayerUtilities"] = {
["SelectedPlayer"] = "...";
["BringingPlayer"] = false;
["SpectatePlayer"] = false;
};
["VehicleModifications"] = {
["SpeedEnabled"] = false;
["SpeedValue"] = 10/1000;
["BreakEnabled"] = false;
["BreakValue"] = 50/1000;
["InstantStop"] = false;
["InstantStopBind"] = Enum.KeyCode.V;
};
["KillAura"] = false;
["KillAuraRange"] = 100;
["KillAuraWhitelist"] = {};
};
["Game"] = {
["Ray_Systems"] = (Game_Name == "Road To Riches" and {"Raycast"} or Game_Name == "BlockSpin" and {"Raycast"} or Game_Name == "Town" and {"Raycast"} or Game_Name == "Universal" and {"Raycast","FindPartOnRay","FindPartOnRayWithWhitelist"} or Game_Name == "The Bronx" and {"FindPartOnRay"} or Game_Name == "South Bronx" and {"Raycast"} or Game_Name == "Street Life" and {"Raycast"} or Game_Name == "Criminality" and {"Raycast"}) or {};
["Wall_Bang_Possible"] = ((Game_Name == "Universal" or Game_Name == "Criminality" or Game_Name == "South Bronx" or Game_Name == "The Bronx" or Game_Name == "Street Life"));
};
["Aimlock"] = {
["Enabled"] = false;
["Aiming"] = false;
["TargetPart"] = "Head";
["MaxDistance"] = 300;
["Mode"] = "Toggle";
["Type"] = "Mouse";
["Keybind"] = nil;
["WallCheck"] = false;
["Priority"] = {};
["Whitelisted"] = {};
["DrawFieldOfView"] = false;
["UseFieldOfView"] = false;
["Radius"] = 100;
["FieldOfViewColor"] = Color3.new(1,1,1);
["FieldOfViewTransparency"] = 0.25;
["Sides"] = 100;
["Smoothness"] = 1;
["Snapline"] = false;
["SnaplineColor"] = Color3.new(1,1,1);
["SnaplineThickness"] = 1;
};
["Silent"] = {
["Enabled"] = false;
["Targetting"] = false;
["TargetPart"] = {"Head"};
["Mode"] = "nil";
["MaxDistance"] = 300;
["Keybind"] = nil;
["WallCheck"] = false;
["WallBang"] = false;
["Priority"] = {};
["Whitelisted"] = {};
["DrawFieldOfView"] = false;
["UseFieldOfView"] = false;
["Radius"] = 100;
["FieldOfViewColor"] = Color3.new(1,1,1);
["FieldOfViewTransparency"] = 0.25;
["Sides"] = 100;
["HitChance"] = 100;
["Snapline"] = false;
["SnaplineColor"] = Color3.new(1,1,1);
["Damage"] = 100;
["SnaplineThickness"] = 1;
};
["WorldVisuals"] = {
["SaturationEnabled"] = false;
["Saturation_Value"] = 1;
["FogColorEnabled"] = false;
["FogColor"] = Color3.new(1,1,1);
["AmbientEnabled"] = false;
["AmbientColor"] = Color3.new(1,1,1);
["FieldOfViewEnabled"] = false;
["FieldOfViewValue"] = 70;
["Fullbright"] = false;
};
["MiscSettings"] = {
["Hitbox_Expander"] = {
["Enabled"] = false;
["Multiplier"] = 15;
["Color"] = Color3.new(1,1,1);
["Transparency"] = 0;
["Type"] = "Block";
["Material"] = "ForceField";
["Whitelist"] = {};
["Part"] = "HumanoidRootPart";
};
["ModifySpeed"] = {
["Enabled"] = false;
["Value"] = 16;
};
["ModifyJump"] = {
["Enabled"] = false;
["Infinity"] = false;
["Value"] = 50;
};
["Fly"] = {
["Enabled"] = false;
["Type"] = "CFrame";
["Speed"] = 50;
};
["SpinBot"] = {
["Enabled"] = false;
["Speed"] = 35;
};
["No-Clip"] = false;
};
["Guns"] = {};
ESP = {
Enabled = false,
TeamCheck = false,
MaxDistance = 500,
FontSize = 12,
Font = Enum.Font.Code,
FadeOut = {
OnDistance = false,
OnDeath = true,
OnLeave = false,
},
Options = {
Teamcheck = true, TeamcheckRGB = Color3.fromRGB(0, 255, 0),
Friendcheck = true, FriendcheckRGB = Color3.fromRGB(0, 255, 0),
Highlight = false, HighlightRGB = Color3.fromRGB(255, 0, 0),
},
Drawing = {
Chams = {
Enabled = false,
Thermal = true,
FillRGB = Color3.fromRGB(119, 120, 255),
Fill_Transparency = 80,
OutlineRGB = Color3.fromRGB(0,0,0),
Outline_Transparency = 80,
VisibleCheck = false,
},
Names = {
Enabled = false,
Transparency = 0,
RGB = Color3.fromRGB(255, 255, 255),
},
Flags = {
Enabled = false,
},
Distances = {
Enabled = false,
Position = "Bottom",
Transparency = 0,
RGB = Color3.fromRGB(255, 255, 255),
},
Weapons = {
Enabled = false, WeaponTextRGB = Color3.fromRGB(119, 120, 255),
Outlined = false,
Gradient = false,
Transparency = 0,
GradientRGB1 = Color3.fromRGB(255, 255, 255), GradientRGB2 = Color3.fromRGB(119, 120, 255),
},
Inventory = {
Enabled = false, RGB = Color3.fromRGB(255, 255, 255),
Transparency = 0,
},
Healthbar = {
Enabled = false,
HealthText = false, Lerp = true, HealthTextRGB = Color3.fromRGB(0, 255, 0),
Width = 2.5,
Transparency = 0,
HealthTextTransparency = 0,
Gradient = true, GradientRGB1 = Color3.fromRGB(255, 0, 0), GradientRGB2 = Color3.fromRGB(0,255,0)
},
Boxes = {
Animate = true,
RotationSpeed = 300,
Gradient = false, GradientRGB1 = Color3.fromRGB(119, 120, 255), GradientRGB2 = Color3.fromRGB(0, 0, 0),
GradientFill = true, GradientFillRGB1 = Color3.fromRGB(119, 120, 255), GradientFillRGB2 = Color3.fromRGB(0, 0, 0),
Filled = {
Enabled = false,
Transparency = 0.75,
RGB = Color3.fromRGB(0, 0, 0),
},
Full = {
Enabled = true,
Transparency = 0,
RGB = Color3.fromRGB(255, 255, 255),
},
Bounding = {
Enabled = false,
Transparency = 0,
RGB = Color3.fromRGB(255, 255, 255),
},
Corner = {
Enabled = false,
Transparency = 0,
RGB = Color3.fromRGB(255, 255, 255),
},
};
};
Connections = {
RunService = Services.RunService;
};
Fonts = {};
};
};
--[[if not Solara and Game_Name == "The Bronx" then
local DTC;
repeat task.wait(.25) LPH_NO_VIRTUALIZE(function()
for Index, Value in next, getgc(true) do
if type(Value) == "table" then
local Detected = rawget(Value, "Detected");
if type(Detected) == "function" then
DTC = Detected
end;
end;
end;
end)()
until DTC ~= nil
end]]
getgenv().library = {
directory = "Scorpio.Hub",
folders = {
"/fonts",
"/configs",
"/assets"
},
priority = {},
whitelist = {},
flags = {},
config_flags = {},
connections = {},
notifications = {notifs = {}},
current_open;
}
local Images = {"ESP.png", "World.png", "Wrench.png", "Settings.png", "Node.png", "cursor.png", "Bullet.png", "Snapline.png", "Pistol.png", "folder.png", "UZI.png", "FieldOfView2.png", "Lock.png", "Aimlock.png", "Cash.png", "Wheatt.png", "Pickkaxe.png", "unlocked.png"}
for _, path in next, library.folders do
makefolder(library.directory .. path)
end
for Index, Value in Images do
local Location = library.directory.."/assets/"..Value
if not isfile(Location) then
local ImageDiddyAhhBlud = game:HttpGet("https://[Log in to view URL]"..Value)
repeat wait() until ImageDiddyAhhBlud ~= nil
writefile(Location, ImageDiddyAhhBlud)
end
end
GetImage = LPH_NO_VIRTUALIZE(function(Name)
local Location = library.directory.."/assets/"..Name
if isfile(Location) then
return getcustomasset(Location)
end
end)
local Collide_Data = {}
local DefaultPlayerSettings = {}
if not Services.Players.LocalPlayer.Character then
Services.Players.LocalPlayer.CharacterAdded:Wait()
task.wait(1)
end
for Index, Value in Services.Players.LocalPlayer.Character:GetDescendants() do
pcall(LPH_NO_VIRTUALIZE(function()
if Value.CanCollide == true then
Collide_Data[Value.Name] = true
end
end))
end
if not Solara then
if Game_Name == "BlockSpin" then
LPH_JIT_MAX(function()
local Repr = loadstring(game:HttpGet("https://[Log in to view URL]"))()
local Required = {
"hookfunction",
"getthreadcontext",
"getconnections",
"setthreadcontext",
"isexecutorclosure",
"hookmetamethod",
"getrenv",
}
for _, v in next, Required do
if not getgenv()[v] then
game:GetService("Players").LocalPlayer:Kick(`Your executor does not support [{v}], which is REQUIRED to use the BlockSpin script.`)
end
end
local OldDebugTraceback, OldDebugInfo, OldFenv = debug.traceback, debug.info, getfenv
local BlacklistedRemoteArgumentNeedles = {
"invalid_entry",
"replicate_bil",
}
local BlacklistedCallerNeedles = {
"Obfuscated",
}
if not shared.Hooking then
shared.Hooking = {}
end
if not shared.Hooking.IncludeInStackFunctions then
shared.Hooking.IncludeInStackFunctions = {}
end
shared.SafeHook = function(Original, Replacement)
shared.Hooking.IncludeInStackFunctions[Original] = true
return hookfunction(Original, Replacement)
end
local CoreGui = game:GetService("CoreGui")
local RobloxGuis = {
"RobloxGui",
"TeleportGui",
"RobloxPromptGui",
"RobloxLoadingGui",
"PlayerList",
"RobloxNetworkPauseNotification",
"PurchasePrompt",
"HeadsetDisconnectedDialog",
"ThemeProvider",
"DevConsoleMaster",
}
local function FilterTable(InputTable)
local OldContext = getthreadcontext()
setthreadcontext(7)
local Filtered = {}
local GameInstance = game
for Index, Value in ipairs(InputTable) do
if typeof(Value) ~= "Instance" then
table.insert(Filtered, Value)
else
if Value == CoreGui or Value == GameInstance then
-- Insert only the default Roblox GUIs
for _, GuiName in pairs(RobloxGuis) do
local GuiInstance = CoreGui:FindFirstChild(GuiName)
if GuiInstance then
table.insert(Filtered, GuiInstance)
end
end
if Value == GameInstance then
for _, Child in pairs(GameInstance:GetChildren()) do
if Child ~= CoreGui then
table.insert(Filtered, Child)
end
end
end
else
if not CoreGui:IsAncestorOf(Value) then
table.insert(Filtered, Value)
else
-- Only include if it's a descendant of one of the default GUIs
for _, DefaultGuiName in pairs(RobloxGuis) do
local DefaultGuiInstance = CoreGui:FindFirstChild(DefaultGuiName)
if DefaultGuiInstance then
if Value == DefaultGuiInstance or DefaultGuiInstance:IsAncestorOf(Value) then
table.insert(Filtered, Value)
break
end
end
end
end
end
end
end
setthreadcontext(OldContext)
return Filtered
end
local BlacklistedAssets = {}
local ContentProvider = game:GetService("ContentProvider")
local function logDebugMessage(...)
local Strings = {}
for _, v in next, { ... } do
table.insert(Strings, tostring(v))
end
local Message = table.concat(Strings, ", ")
warn(`{Message}\n`)
end
local function ValidTraceback(s)
local dotPos = string.find(s, "%.")
local colonPos = string.find(s, ":")
if not dotPos then
return false
end
if not colonPos then
return true
end
return dotPos < colonPos
end
local function TracebackLines(str)
local pos = 1
return function()
if not pos then
return nil
end
local p1, p2 = string.find(str, "\r?\n", pos)
local line
if p1 then
line = str:sub(pos, p1 - 1)
pos = p2 + 1
else
line = str:sub(pos)
pos = nil
end
return line
end
end
OldDebugTraceback = shared.SafeHook(getrenv().debug.traceback, function()
if checkcaller() then
return OldDebugTraceback()
end
local Traceback = OldDebugTraceback()
local NewTraceback = {}
for Line in TracebackLines(Traceback) do
if not ValidTraceback(Line) then
continue
end
table.insert(NewTraceback, Line)
end
return table.concat(NewTraceback, "\n")
end)
OldDebugInfo = shared.SafeHook(getrenv().debug.info, function(...)
local ToInspect, LevelOrInfo, _ThreadInfo = ...
if
checkcaller()
or typeof(ToInspect) == "function"
or typeof(ToInspect) == "thread"
or not pcall(function(LevelOrInfo) -- Validate arguments
OldDebugInfo(function() end, LevelOrInfo)
end, LevelOrInfo)
then
return OldDebugInfo(...)
end
local ReconstructedConstructedStack = {}
for Level = 2, 19997 do
local Function, Source, Line, Name, NumberOfArgs, Varargs = OldDebugInfo(Level, "fslna")
if not Function or not Source or not Line or not Name then
break
end
if isexecutorclosure(Function) and not shared.Hooking.IncludeInStackFunctions[Function] then
continue
end
table.insert(ReconstructedConstructedStack, {
f = Function,
s = Source,
l = Line,
n = Name,
a = { NumberOfArgs, Varargs },
})
end
local InfoLevel = ReconstructedConstructedStack[ToInspect]
if not InfoLevel then
-- Max level is 19997 so this guarantees that it will return nothing
return OldDebugInfo(3e4, LevelOrInfo)
end
local ReturnResult = {}
for idx, info in string.split(LevelOrInfo, "") do
local Value = InfoLevel[info]
if typeof(Value) == "table" then
for _, v in Value do
table.insert(ReturnResult, v)
end
continue
end
table.insert(ReturnResult, Value)
end
return table.unpack(ReturnResult, 1, #ReturnResult)
end)
OldFenv = shared.SafeHook(getrenv().getfenv, function(...)
if checkcaller() then
return OldFenv(...)
end
local ToInspect = ...
if ToInspect == 0 then
return getrenv()
elseif ToInspect == nil then
return OldFenv(...)
end
local Success, ResultingEnv = pcall(function()
if typeof(ToInspect) == "number" then
return OldFenv(ToInspect + 3)
end
return OldFenv(ToInspect)
end)
if not Success then
return OldFenv(...)
end
if typeof(ToInspect) == "function" then
if typeof(ResultingEnv["getgenv"]) == "function" and isexecutorclosure(ResultingEnv["getgenv"]) then
return getrenv()
end
return ResultingEnv
end
local ReconstructedConstructedStack = {}
for Level = 2, 19997 do
local StackInfoSuccess, Data = pcall(function()
return {
Environement = OldFenv(Level + 3),
Function = OldDebugInfo(Level + 3, "f"),
}
end)
if not StackInfoSuccess or not Data then
break
end
local Environement = Data.Environement
-- local Function = Data.Function
if typeof(Environement["getgenv"]) == "function" and isexecutorclosure(Environement["getgenv"]) then
Environement = getrenv()
end
table.insert(ReconstructedConstructedStack, Environement)
end
local InfoLevel = ReconstructedConstructedStack[ToInspect]
if not InfoLevel then
-- Max level is 19997 so this guarantees that it will return error
return OldFenv(3e4)
end
return InfoLevel
end)
-- Disable all blacklisted connections
local BlacklistedSignals = {
game:GetService("LogService").MessageOut,
game:GetService("ScriptContext").Error,
}
local DummySignals = {}
for _, Signal in next, BlacklistedSignals do
for _, Connection in next, getconnections(Signal) do
-- dawg why does volcano return a thread for Connection.Function
if
(Connection.Function
and type(Connection.Function) == "function"
and isexecutorclosure(Connection.Function)) or
Connection.Function == nil -- CoreScript connections return nil for Function
then
continue
else
Connection:Disable()
end
end
end
local OldIndex
OldIndex = hookmetamethod(game, "__index", function(Self, Key)
if checkcaller() then
return OldIndex(Self, Key)
end
local Result = OldIndex(Self, Key)
for _, BlacklistedSignal in next, BlacklistedSignals do
if Result == BlacklistedSignal then
if not DummySignals[BlacklistedSignal] then
DummySignals[BlacklistedSignal] = Instance.new("BindableEvent").Event
end
return DummySignals[BlacklistedSignal]
end
end
return Result
end)
local OldNewIndex
OldNewIndex = hookmetamethod(game, "__newindex", function(Self, Key, Value)
local AssetIndexes = {
["MeshID"] = true,
["TextureID"] = true,
["MeshId"] = true,
["TextureId"] = true,
["Image"] = true,
["SoundId"] = true,
["AnimationId"] = true,
}
if AssetIndexes[Key] then
local AssetId = Value
if typeof(AssetId) == "string" then
AssetId = tonumber(AssetId:match("%d+"))
end
if AssetId and not BlacklistedAssets[AssetId] then
-- Check if the asset is already loaded so we don't accidentally blacklist a legitimate asset
local AssetLoaded = false
if
ContentProvider:GetAssetFetchStatus("rbxassetid://" .. AssetId)
== Enum.AssetFetchStatus.Success
then
AssetLoaded = true
end
if checkcaller() then
if not AssetLoaded then
BlacklistedAssets[AssetId] = true
end
else
if BlacklistedAssets[AssetId] then
-- The game is doing a sanity check where it intentionally loads a blacklisted asset
-- to see if the executor is blocking it. We need to remove it from the blacklist
-- so it doesn't get blocked.
BlacklistedAssets[AssetId] = nil
end
end
end
end
if Key == "CanCollide" and (not checkcaller()) then
local Name = debug.info(3, "n")
if Name and Name:match("Obfuscated") then
return coroutine.yield()
end
end
return OldNewIndex(Self, Key, Value)
end)
-- Now that we will proxy and record all assets the executor uses, we can load the hook.
local OldPreloadAsync
OldPreloadAsync = shared.SafeHook(
ContentProvider.PreloadAsync,
function(Self, Assets, OriginalCallback)
if Self ~= ContentProvider or type(Assets) ~= "table" or type(OriginalCallback) ~= "function" then --note: callback can be nil but in that case it's useless anyways
return OldPreloadAsync(Self, Assets, OriginalCallback)
end
--check for any errors that I might've missed (such as table being {[2] = "something"} which causes "Unable to cast to Array")
local err
task.spawn(
function() --TIL calling a C yield function inside a C yield function is a bad idea ("cannot resume non-suspended coroutine")
local s, e = pcall(OldPreloadAsync, Self, Assets)
if not s and e then
err = e
end
end
)
if err then
return OldPreloadAsync(Self, Assets) --don't pass the callback, just in case
end
Assets = FilterTable(Assets)
return OldPreloadAsync(Self, Assets, OriginalCallback)
end
)
end)()
local Sprint_Module = require(game:GetService("ReplicatedStorage").Modules.Game.Sprint)
local Function_Table_UpValue = debug.getupvalue(Sprint_Module.loaded, 11)
local _getfenv; _getfenv = hookfunction(getrenv().getfenv, LPH_NO_VIRTUALIZE(function(level)
if debug.traceback():find("validity_check") then
return setmetatable({}, {
__index = function(...)
return nil
end
});
end;
return _getfenv(level);
end));
getgenv().Send_Remote = Function_Table_UpValue.send;
getgenv().AntiCheatBypass = true;
end
if Game_Name == "Universal" or Game_Name == "Road To Riches" or Game_Name == "Street Life" or Game_Name == "The Bronx" or Game_Name == "Town" and not Solara then
local DTC;
LPH_NO_VIRTUALIZE(function()
for Index, Value in next, getgc(true) do
if type(Value) == "table" then
local Detected = rawget(Value, "Detected");
local Kill = rawget(Value, "Kill");
if type(Detected) == "function" and not DTC then
DTC = Detected
hookfunction(Detected, function(...)
return true
end);
end;
if rawget(Value, "Variables") and rawget(Value, "Process") and typeof(Kill) == "function" then
hookfunction(Kill, function(...)
end)
end;
end;
end;
end)()
local Old; Old = hookfunction(getrenv().debug.info, LPH_NO_UPVALUES(function(...)
local LevelOrFunc, Info = ...
if DTC and LevelOrFunc == DTC then
return coroutine.yield(coroutine.running())
end
return Old(...)
end));
getgenv().AntiCheatBypass = true
end
if Game_Name == "South Bronx" and not Solara then
for Index, Value in getconnections(Services.ScriptContext.Error) do
pcall(function()
Value:Disable()
end)
pcall(function()
Value:Disconnect()
end)
end
for Index, Value in Services.ReplicatedStorage.Workspace.Homeless:GetChildren() do
Value.Parent = Services.Workspace.Folders.HomelessPeople
end
for Index, Value in Services.Workspace.Folders.HomelessPeople:GetChildren() do
Value:GetPropertyChangedSignal('Parent'):Connect(LPH_NO_VIRTUALIZE(function()
task.wait()
Value.Parent = Services.Workspace.Folders.HomelessPeople
end))
end
for Index, Value in Services.ReplicatedStorage.Workspace.NPCs:GetChildren() do
Value.Parent = Services.Workspace.Folders.NPCs
end
for Index, Value in Services.Workspace.Folders.NPCs:GetChildren() do
Value:GetPropertyChangedSignal('Parent'):Connect(LPH_NO_VIRTUALIZE(function()
task.wait()
Value.Parent = Services.Workspace.Folders.NPCs
end))
end
local task_wait_hook; task_wait_hook = hookfunction(task.wait, LPH_NO_UPVALUES(function(...)
local args = {...}
local traceback = debug.traceback()
if args[1] == 2.5 and traceback:find("Loop") and traceback:find("NPCs") then
return false
end
return task_wait_hook (...)
end))
for Index, Value in getconnections(Services.Players.LocalPlayer.Idled) do
if Value["Disable"] then
Value["Disable"](Value)
end
if Value["Disconnect"] then
Value["Disconnect"](Value)
end
end
local get_nil_instance = LPH_JIT_MAX(function(name, class)
local found = nil
for _, instance in getnilinstances() do
local instanceName = instance.Name
if class then
if not instance:IsA(class) then continue end
if instanceName:find(name) then
found = instance
end
else
if instanceName:find(name) then
found = instance
end
end
end
return found
end)
repeat task.wait() until get_nil_instance("Gun", "ModuleScript")
local gun_module = getsenv(get_nil_instance("Gun", "ModuleScript"))
local old; old = hookfunction(gun_module.x, LPH_NO_UPVALUES(function()
return nil
end))
--[[local Old; Old = hookmetamethod(game, "__index", LPH_NO_VIRTUALIZE(function(...)
local Self, Index = ...
if checkcaller() then
return Old(...)
end
if Index ~= "CanCollide" then
return Old(...)
end
if typeof(Self) == "Instance" and Self.Name and Collide_Data[Self.Name] then
return Collide_Data[Self.Name]
end
if typeof(Self) == "Instance" and Self.Name and Self.Name == "Table" then
return true
end
return Old(...)
end))]]
getgenv().AntiCheatBypass = true
end
repeat Services.RunService.RenderStepped:Wait() until getgenv().AntiCheatBypass == true
end
local OldLightingSettings = {}
OldLightingSettings["Brightness"] = Lighting.Brightness
OldLightingSettings["ClockTime"] = Lighting.ClockTime
OldLightingSettings["FogEnd"] = Lighting.FogEnd
OldLightingSettings["GlobalShadows"] = Lighting.GlobalShadows
OldLightingSettings["OutdoorAmbient"] = Lighting.OutdoorAmbient
do
LPH_JIT_MAX(function()
local getnamecallmethod, hookmetamethod, hookfunction = (getnamecallmethod ~= nil) and clonefunction(getnamecallmethod) or function(...) end, (hookmetamethod ~= nil) and clonefunction(hookmetamethod) or function(...) end, (hookfunction ~= nil) and clonefunction(hookfunction) or function(...) end
_fireproximityprompt = fireproximityprompt
if Solara or not fireproximityprompt or string.find(identifyexecutor(), "MacSploit") then
getgenv().fireproximityprompt = LPH_NO_VIRTUALIZE(function(self, vuln)
local prompt_settings = {["HoldDuration"] = self.HoldDuration; ["RequiresLineOfSight"] = self.RequiresLineOfSight};
if not vuln then
self.HoldDuration = 0; self.RequiresLineOfSight = false;
self:InputHoldBegin()
if not (self.HoldDuration == 0) then
task.wait(self.HoldDuration)
end
self:InputHoldEnd()
for Index, Value in prompt_settings do
self[Index] = Value
end
else
self.HoldDuration = 0; self.RequiresLineOfSight = false;
_fireproximityprompt(self)
end
end)
end
local Tint = Instance.new("ColorCorrectionEffect", Lighting)
local OldSaturation = Lighting.ColorCorrection.Saturation
local OldFogColor = Lighting.FogColor
local Set_Fog, Set_Fov, Set_FullBright = false, false, false
RunService.PreRender:Connect(LPH_NO_VIRTUALIZE(function()
if Config.WorldVisuals.SaturationEnabled then
Lighting.ColorCorrection.Saturation = Config.WorldVisuals.Saturation_Value
else
Lighting.ColorCorrection.Saturation = OldSaturation
end
if Config.WorldVisuals.Fullbright then
Set_FullBright = false
Lighting.Brightness = 2
Lighting.ClockTime = 14
Lighting.FogEnd = 100000
Lighting.GlobalShadows = false
Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128)
else
if not Set_FullBright then
Set_FullBright = true
Lighting.Brightness = OldLightingSettings.Brightness
Lighting.FogEnd = OldLightingSettings.FogEnd
Lighting.GlobalShadows = OldLightingSettings.GlobalShadows
Lighting.OutdoorAmbient = OldLightingSettings.OutdoorAmbient
end
end
if Config.WorldVisuals.AmbientEnabled then
Tint.TintColor = Config.WorldVisuals.AmbientColor
else
Tint.TintColor = Color3.new(1,1,1)
end
if Config.WorldVisuals.FogColorEnabled then
Set_Fog = false
Lighting.FogColor = Config.WorldVisuals.FogColor
else
if not Set_Fog then
Set_Fog = true
Lighting.FogColor = OldFogColor
end
end
if Config.WorldVisuals.FieldOfViewEnabled then
Set_Fov = false
Camera.FieldOfView = Config.WorldVisuals.FieldOfViewValue
else
if not Set_Fov then
Set_Fov = true
Camera.FieldOfView = 70
end
end
end))
local Stamina_Table = {};
if Game_Name == "South Bronx" and not Solara then
for Index, Value in getgc(true) do
if typeof(Value) == "table" and rawget(Value, "Stamina") then
Stamina_Table = Value
end
end
end;
local Set_Speed, Set_JumpPower, Set_Spectate = false, false, false
if Game_Name == "The Bronx" then
RunService:BindToRenderStep("MiscSettings", 1000 , LPH_NO_VIRTUALIZE(function(Delta)
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("Humanoid") or not LocalPlayer.Character:FindFirstChild("Head") then return end
if not (Game_Name == "South Bronx") and not (Game_Name == "Road To Riches") then
if Config.MiscSettings.ModifySpeed.Enabled then
Set_Speed = false
local Direction = Vector3.zero
if UserInputService:IsKeyDown(Enum.KeyCode.W) then Direction += Camera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then Direction -= Camera.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then Direction -= Camera.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then Direction += Camera.CFrame.RightVector end
if Direction.Magnitude > 0 then
LocalPlayer.Character.Humanoid:ChangeState(0)
LocalPlayer.Character.HumanoidRootPart.CFrame += Direction.Unit * Config.MiscSettings.ModifySpeed.Value * Delta
if LocalPlayer.Character.Humanoid:GetState() == Enum.HumanoidStateType.FallingDown then LocalPlayer.Character.Humanoid:ChangeState(2) end
end
else
if not Set_Speed then
Set_Speed = true;
LocalPlayer.Character.Humanoid:ChangeState(2)
LocalPlayer.Character:FindFirstChild("Humanoid").WalkSpeed = UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) and 16 or 7
end
end
if Config.MiscSettings.ModifyJump.Enabled then
Set_JumpPower = false
LocalPlayer.Character:FindFirstChild("Humanoid").JumpHeight = Config.MiscSettings.ModifyJump.Value
else
if not Set_JumpPower then
Set_JumpPower = true;
LocalPlayer.Character:FindFirstChild("Humanoid").JumpHeight = 7
end
end
end
if Config.TheBronx.PlayerUtilities.SpectatePlayer then
Set_Spectate = false
local Subject = Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer) and Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character and Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid")
if not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid") then
Subject = LocalPlayer.Character.Humanoid
end
Camera.CameraSubject = Subject
else
if not Set_Spectate then
Set_Spectate = true
Camera.CameraSubject = LocalPlayer.Character.Humanoid
end
end
end))
else
RunService:BindToRenderStep("MiscSettings", 1000 , LPH_NO_VIRTUALIZE(function()
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("Humanoid") or not LocalPlayer.Character:FindFirstChild("Head") then return end
if not (Game_Name == "South Bronx") and not (Game_Name == "Road To Riches") then
if Config.MiscSettings.ModifySpeed.Enabled then
Set_Speed = false
LocalPlayer.Character:FindFirstChild("Humanoid").WalkSpeed = Config.MiscSettings.ModifySpeed.Value
else
if not Set_Speed then
Set_Speed = true;
LocalPlayer.Character:FindFirstChild("Humanoid").WalkSpeed = 16
end
end
if Config.MiscSettings.ModifyJump.Enabled then
Set_JumpPower = false
LocalPlayer.Character:FindFirstChild("Humanoid").JumpPower = Config.MiscSettings.ModifyJump.Value
else
if not Set_JumpPower then
Set_JumpPower = true;
LocalPlayer.Character:FindFirstChild("Humanoid").JumpPower = 50
end
end
end
if Config.South_Bronx.PlayerUtilities.SpectatePlayer then
Set_Spectate = false
local Subject = Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer) and Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character and Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid")
if not Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid") then
Subject = LocalPlayer.Character.Humanoid
end
Camera.CameraSubject = Subject
else
if not Set_Spectate then
Set_Spectate = true
Camera.CameraSubject = LocalPlayer.Character.Humanoid
end
end
if Game_Name == "South Bronx" then
if LocalPlayer.Character.Head:FindFirstChild("RankTag") then
--if not getgenv().Window then return end
LocalPlayer.Character.Head:FindFirstChild("RankTag").MainFrame.NameLabel.Visible = not Config.South_Bronx.LocalPlayer_Config.HideName
end
end
if Game_Name == "South Bronx" and Solara then
return
end
if Game_Name == "South Bronx" and Config.South_Bronx.LocalPlayer_Config.InfiniteStamina and not Solara then
Stamina_Table.Stamina = 100
end
end))
end
WorldToScreenPoint = Camera.WorldToScreenPoint;
GetMouseLocation = UserInputService.GetMouseLocation;
FindFirstChild = Workspace.FindFirstChild;
GetPlayers = Players.GetPlayers;
GetChildren = Workspace.GetChildren;
GetPartsObscuringTarget = Camera.GetPartsObscuringTarget;
GetDescendants = Workspace.GetDescendants;
IsA = Workspace.IsA;
FindFirstChildOfClass = Workspace.FindFirstChildOfClass
DistanceCheck = LPH_NO_VIRTUALIZE(function(Player, Distance)
if not Player then
return false
end
if Player.Character and FindFirstChild(Player.Character,"HumanoidRootPart") then
local Magnitude = (Camera.CFrame.Position - FindFirstChild(Player.Character,"HumanoidRootPart").Position).Magnitude;
return Distance > Magnitude
end;
return false
end);
WallCheck = LPH_NO_VIRTUALIZE(function(Character)
local Origin = Camera.CFrame.Position;
local Position = FindFirstChild(Character, "Head").Position;
local Parameters = RaycastParams.new();
Parameters.FilterDescendantsInstances = { LocalPlayer.Character, Camera, Character };
Parameters.FilterType = Enum.RaycastFilterType.Blacklist;
Parameters.IgnoreWater = true;
return not Workspace:Raycast(Origin, Position - Origin, Parameters)
end)
GetClosestPlayerToMouseAimbot = LPH_NO_VIRTUALIZE(function()
if not Config.Aimlock.Enabled then return end
if not Config.Aimlock.Aiming then return end
local PriorityPlayers = {}
local Plrs = Players:GetPlayers()
if library.priority[1] then
for Index, Value in Plrs do
if Value == LocalPlayer then continue end;
if not table.find(library.priority, Value.Name) then continue end;
if table.find(library.whitelist, Value.Name) then continue end;
if (Value.Character and Value.Character:FindFirstChild(Config.Aimlock.TargetPart) and Value.Character:FindFirstChild("Humanoid") and Value.Character:FindFirstChild("Humanoid").Health > (Game_Name == "South Bronx" and 4 or 0)) then
if FindFirstChildOfClass(Value.Character, "ForceField") then continue end
if FindFirstChild(Value.Character, "Torso") and FindFirstChild(Value.Character, "Torso").Material == Enum.Material.ForceField then continue end
if Value.Character.Parent == nil then continue end
local TargetPart = Value.Character:FindFirstChild(Config.Aimlock.TargetPart)
local MouseLocation = Vector2.new(Mouse.X, Mouse.Y)
local TargetPartPosition, OnScreen = Camera:WorldToScreenPoint(TargetPart.Position)
local Radius = Config.Aimlock.UseFieldOfView and Config.Aimlock.Radius or 9e9
local Magnitude = (Vector2.new(TargetPartPosition.X,TargetPartPosition.Y) - MouseLocation).Magnitude
if not DistanceCheck(Value, Config.Aimlock.MaxDistance) then continue end
if Radius > Magnitude and OnScreen and Value then
if (Config.Aimlock.WallCheck and not WallCheck(Value.Character)) then continue end
table.insert(PriorityPlayers, {Player = Value, Distance = Magnitude})
end
end;
end;
table.sort(PriorityPlayers, function(Player , PlayerTwo)
return Player.Distance<PlayerTwo.Distance
end)
if PriorityPlayers[1] then
return PriorityPlayers[1].Player
end;
end;
local ValidPlayers = {};
for Index, Value in Plrs do
if Value == LocalPlayer then continue end;
if table.find(library.whitelist, Value.Name) then continue end;
if (Value.Character and Value.Character:FindFirstChild(Config.Aimlock.TargetPart) and Value.Character:FindFirstChild("Humanoid") and Value.Character:FindFirstChild("Humanoid").Health > (Game_Name == "South Bronx" and 4 or 0)) then
if FindFirstChildOfClass(Value.Character, "ForceField") then continue end
if FindFirstChild(Value.Character, "Torso") and FindFirstChild(Value.Character, "Torso").Material == Enum.Material.ForceField then continue end
if Value.Character.Parent == nil then continue end
local TargetPart = Value.Character:FindFirstChild(Config.Aimlock.TargetPart)
local MouseLocation = Vector2.new(Mouse.X, Mouse.Y)
local TargetPartPosition, OnScreen = Camera:WorldToScreenPoint(TargetPart.Position)
local Radius = Config.Aimlock.UseFieldOfView and Config.Aimlock.Radius or 9e9
local Magnitude = (Vector2.new(TargetPartPosition.X,TargetPartPosition.Y) - MouseLocation).Magnitude
if not DistanceCheck(Value, Config.Aimlock.MaxDistance) then continue end
if Radius > Magnitude and OnScreen and Value then
if (Config.Aimlock.WallCheck and not WallCheck(Value.Character)) then continue end
table.insert(ValidPlayers, {Player = Value, Distance = Magnitude})
end;
end;
end;
table.sort(ValidPlayers, function(Player , PlayerTwo)
return Player.Distance<PlayerTwo.Distance
end);
if ValidPlayers[1] then
return ValidPlayers[1].Player
end;
return nil
end);
GetClosestPlayerToPlayer = LPH_NO_VIRTUALIZE(function(Player)
local _Players = {}
if not Player.Character or not Player.Character:FindFirstChild("HumanoidRootPart") or not Player.Character:FindFirstChild("Humanoid") then return end
for Index, Value in Players:GetPlayers() do
if Player == LocalPlayer and Value == LocalPlayer then continue end
if not Value.Character or not Value.Character:FindFirstChild("HumanoidRootPart") or not Value.Character:FindFirstChild("Humanoid") then continue end
if Value.Character:FindFirstChild("Humanoid").Health == 0 then continue end
if (Player.Character.HumanoidRootPart.Position - Value.Character.HumanoidRootPart.Position).Magnitude > 15 then continue end
table.insert(_Players, {Plr = Value, Range = (Player.Character.HumanoidRootPart.Position - Value.Character.HumanoidRootPart.Position).Magnitude})
end
table.sort(_Players, function(...)
return select(1, ...).Range < select(2, ...).Range
end)
return _Players[1] and _Players[1].Plr or nil
end);
GetClosestPlayerToMouseSilent = LPH_NO_VIRTUALIZE(function()
if not Config.Silent.Enabled then return end
if not Config.Silent.Targetting then return end
local PriorityPlayers = {}
local Plrs = GetPlayers(Players)
if library.priority[1] then
for Index, Value in Plrs do
if Value == LocalPlayer then continue end;
if not table.find(library.priority, Value.Name) then continue end;
if table.find(library.whitelist, Value.Name) then continue end;
if (Value.Character and FindFirstChild(Value.Character, "HumanoidRootPart") and FindFirstChild(Value.Character,"Humanoid") and FindFirstChild(Value.Character,"Humanoid").Health > (Game_Name == "South Bronx" and 4 or 0)) then
if FindFirstChildOfClass(Value.Character, "ForceField") then continue end
if FindFirstChild(Value.Character, "Torso") and FindFirstChild(Value.Character, "Torso").Material == Enum.Material.ForceField then continue end
if Value.Character.Parent == nil then continue end
local TargetPart = FindFirstChild(Value.Character, "HumanoidRootPart");
local MouseLocation = Vector2.new(Mouse.X, Mouse.Y)
local TargetPartPosition, OnScreen = WorldToScreenPoint(Camera, TargetPart.Position);
local Radius = Config.Silent.UseFieldOfView and Config.Silent.Radius or 9e9;
local Magnitude = (Vector2.new(TargetPartPosition.X,TargetPartPosition.Y) - MouseLocation).Magnitude;
if not DistanceCheck(Value, Config.Silent.MaxDistance) then continue end
if Radius > Magnitude and OnScreen and Value then
if not Config.Silent.WallBang and (Config.Silent.WallCheck and (not WallCheck(Value.Character))) then continue end;
table.insert(PriorityPlayers, {Player = Value, Distance = Magnitude});
end;
end;
end;
table.sort(PriorityPlayers, function(Player , PlayerTwo)
return Player.Distance<PlayerTwo.Distance
end);
if PriorityPlayers[1] then
return PriorityPlayers[1].Player
end;
end;
local ValidPlayers = {};
for Index, Value in Plrs do
if Value == LocalPlayer then continue end;
if table.find(library.whitelist, Value.Name) then continue end;
if (Value.Character and FindFirstChild(Value.Character, "HumanoidRootPart") and FindFirstChild(Value.Character,"Humanoid") and FindFirstChild(Value.Character,"Humanoid").Health > (Game_Name == "South Bronx" and 4 or 0)) then
if FindFirstChildOfClass(Value.Character, "ForceField") then continue end
if FindFirstChild(Value.Character, "Torso") and FindFirstChild(Value.Character, "Torso").Material == Enum.Material.ForceField then continue end
if Value.Character.Parent == nil then continue end
local TargetPart = FindFirstChild(Value.Character, "HumanoidRootPart")
local MouseLocation = Vector2.new(Mouse.X, Mouse.Y)
local TargetPartPosition, OnScreen = WorldToScreenPoint(Camera, TargetPart.Position)
local Radius = Config.Silent.UseFieldOfView and Config.Silent.Radius or 9e9
local Magnitude = (Vector2.new(TargetPartPosition.X,TargetPartPosition.Y) - MouseLocation).Magnitude
if not DistanceCheck(Value, Config.Silent.MaxDistance) then continue end
if Radius > Magnitude and OnScreen and Value then
if not Config.Silent.WallBang and (Config.Silent.WallCheck and not WallCheck(Value.Character)) then continue end
table.insert(ValidPlayers, {Player = Value, Distance = Magnitude})
end
end;
end;
table.sort(ValidPlayers, function(Player , PlayerTwo)
return Player.Distance<PlayerTwo.Distance
end);
if ValidPlayers[1] then
return ValidPlayers[1].Player
end;
return nil
end);
SilentTarget = GetClosestPlayerToMouseSilent()
TargetTable = {GetClosestPlayerToMouseAimbot();}
local __namecall; __namecall = Solara and nil or not Solara and hookmetamethod(Workspace, "__namecall", LPH_NO_VIRTUALIZE(function(...)
local Arguments = {...};
local Method = getnamecallmethod();
if checkcaller() then
return __namecall(...)
end;
if not SilentTarget then
return __namecall(...)
end;
if not Config.Silent.Enabled then
return __namecall(...)
end;
if Game_Name == "Town" then
if tostring(getcallingscript()) ~= "GunScript" then
return __namecall(...)
end
end
if not (mathrandom(0, 100) <= Config.Silent.HitChance) then
return __namecall(...)
end
if Game_Name == "The Bronx" then
local Script = getcallingscript()
if not (Script.Name == "GunScript_Local" or Script.Name == "BulletVisualizerServerScript" or Script.Name == "BulletVisualizerClientScript") then
return __namecall(...)
end
end
local RandomPart = Config.Silent.TargetPart[1] and Config.Silent.TargetPart[math.random(1, #Config.Silent.TargetPart)] or "Head"
if Method == "Raycast" and table.find(Config.Game.Ray_Systems, "Raycast") then
local Script = getcallingscript()
if Game_Name == "BlockSpin" then
if Script and not (Script.Name == "Gun") then
return __namecall(...)
end
end
if Game_Name == "South Bronx" then
if Script and Script.Name == "RealismClient" then
return __namecall(...)
end
end
if Config.Silent.Enabled then
if Config.Silent.Targetting then
local Target = SilentTarget
if Target and Target.Character and FindFirstChild(Target.Character, RandomPart) and FindFirstChild(Target.Character,"Humanoid") and FindFirstChild(Target.Character,"Humanoid").Health ~= 0 then
local TargetPart = FindFirstChild(Target.Character, RandomPart);
local Origin = Arguments[2];
local Direction = (TargetPart.Position - Origin).Unit * 1000;
Arguments[3] = Direction;
end;
if Config.Silent.WallBang and Game_Name ~= "BlockSpin" then
local FilterDescendantsInstances = {};
if Target.Character then
for Index, Value in pairs(GetDescendants(Target.Character)) do
if IsA(Value, "Part") or IsA(Value, "BasePart") or IsA(Value, "MeshPart") then
table.insert(FilterDescendantsInstances, Value)
end
end;
end;
local RaycastParams = RaycastParams.new();
RaycastParams.FilterType = Enum.RaycastFilterType.Include
RaycastParams.IgnoreWater = false
RaycastParams.RespectCanCollide = false
RaycastParams.FilterDescendantsInstances = FilterDescendantsInstances
Arguments[4] = RaycastParams
end;
if not Config.Silent.WallBang and Game_Name == "South Bronx" then
local RaycastParams = RaycastParams.new()
RaycastParams.FilterType = Enum.RaycastFilterType.Blacklist
RaycastParams.FilterDescendantsInstances = {LocalPlayer.Character}
Arguments[4] = RaycastParams
end;
return __namecall(unpack(Arguments))
end;
end;
end;
if string.find(string.lower(Method), "findpartonray") and (table.find(Config.Game.Ray_Systems, "FindPartOnRay") or table.find(Config.Game.Ray_Systems, "FindPartOnRayWithWhitelist")) then
if Config.Silent.Enabled then
if Config.Silent.Targetting and mathrandom(0, 100) <= Config.Silent.HitChance then
local Target = SilentTarget;
if Target and Target.Character and FindFirstChild(Target.Character, RandomPart) and FindFirstChild(Target.Character,"Humanoid") and FindFirstChild(Target.Character,"Humanoid").Health ~= 0 then
local TargetPart = FindFirstChild(Target.Character, RandomPart);
local Origin = Arguments[2].Origin;
local Direction = (TargetPart.Position - Origin).Unit * 9e17;
Arguments[2] = Ray.new(Origin, Direction)
if Config.Silent.WallBang then
return TargetPart, TargetPart.Position, Vector3.new(0,0,0)
end
return __namecall(unpack(Arguments))
end;
end;
end;
end;
return __namecall(...)
end));
local function Draw(ClassName, Properties)
local Drawing = Drawing.new(ClassName);
for Property, Value in Properties do
Drawing[Property] = Value;
end;
return Drawing
end;
local AimbotFieldOfViewOutline = Draw("Circle", {Visible = false, Color = Color3.new(0, 0, 0), Radius = 100, NumSides = 100, Thickness = 4});
local AimbotFieldOfView = Draw("Circle", {Visible = false, Color = Color3.new(1, 1, 1), Radius = 100, NumSides = 100, Thickness = 2});
local AimbotFieldOfViewFill = Draw("Circle", {Visible = false, Color = Color3.new(1, 1, 1), Radius = 100, NumSides = 100, Thickness = 2, Filled = true});
local AimbotSnaplineOutline = Draw("Line", {Visible = false, Color = Color3.new(0, 0, 0), Thickness = 3});
local AimbotSnapline = Draw("Line", {Visible = false, Color = Color3.new(1, 1, 1), Thickness = 1});
local SilentFieldOfViewOutline = Draw("Circle", {Visible = false, Color = Color3.new(0, 0, 0), Radius = 100, NumSides = 100, Thickness = 4});
local SilentFieldOfView = Draw("Circle", {Visible = false, Color = Color3.new(1, 1, 1), Radius = 100, NumSides = 100, Thickness = 2});
local SilentFieldOfViewFill = Draw("Circle", {Visible = false, Color = Color3.new(1, 1, 1), Radius = 100, NumSides = 100, Thickness = 2, Filled = true});
local SilentSnaplineOutline = Draw("Line", {Visible = false, Color = Color3.new(0, 0, 0), Thickness = 3});
local SilentSnapline = Draw("Line", {Visible = false, Color = Color3.new(1, 1, 1), Thickness = 1});
RunService:BindToRenderStep("Functions",math.huge,LPH_NO_VIRTUALIZE(function()
if Config.Silent.Mode == "Always" then
Config.Silent.Targetting = true;
end;
local MouseLocation = UserInputService:GetMouseLocation()
if (not LocalPlayer) or (not LocalPlayer.Character) or (not LocalPlayer.Character:FindFirstChild("Humanoid")) then
return
end;
if not TargetTable[1] then
TargetTable[1] = GetClosestPlayerToMouseAimbot();
end;
if (TargetTable[1] and TargetTable[1].Character and TargetTable[1].Character:FindFirstChild("Humanoid") and TargetTable[1].Character:FindFirstChild("Humanoid").Health == 0) then
TargetTable[1] = nil
end
local Target = TargetTable[1]
if (Config.Aimlock.Enabled and Config.Aimlock.Aiming and Config.Aimlock.Type == "Mouse") and (Target and Target.Character and Target.Character:FindFirstChild(Config.Aimlock.TargetPart)) then
local TargetPosition = Target.Character:FindFirstChild(Config.Aimlock.TargetPart).Position;
local Result, OnScreen = Camera:WorldToScreenPoint(TargetPosition);
if OnScreen then
Move_Mouse_Function(Vector2.new(Result.X - Mouse.X, Result.Y - Mouse.Y).X / (Config.Aimlock.Smoothness+1) , Vector2.new(Result.X - Mouse.X, Result.Y - Mouse.Y).Y / (Config.Aimlock.Smoothness + 1));
end
elseif (Config.Aimlock.Enabled and Config.Aimlock.Aiming and Config.Aimlock.Type == "Camera") and (Target and Target.Character and Target.Character:FindFirstChild(Config.Aimlock.TargetPart)) then
local Smoothness = Config.Aimlock.Smoothness * 10;
Camera.CFrame = Camera.CFrame:Lerp(CFrame.new(Camera.CFrame.p, Target.Character:FindFirstChild(Config.Aimlock.TargetPart).Position), (100 - Smoothness) / 100);
end;
SilentTarget = GetClosestPlayerToMouseSilent()
local AimlockTarget = TargetTable[1]
AimbotFieldOfView.Visible = Config.Aimlock.Enabled and Config.Aimlock.DrawFieldOfView and Config.Aimlock.UseFieldOfView
AimbotFieldOfView.Radius = Config.Aimlock.Radius
AimbotFieldOfView.Color = Config.Aimlock.FieldOfViewColor
AimbotFieldOfView.NumSides = Config.Aimlock.Sides
AimbotFieldOfView.Position = MouseLocation
AimbotFieldOfView.NumSides = Config.Aimlock.Sides
AimbotFieldOfViewOutline.NumSides = Config.Aimlock.Sides
AimbotFieldOfViewOutline.Radius = AimbotFieldOfView.Radius
AimbotFieldOfViewOutline.Position = AimbotFieldOfView.Position
AimbotFieldOfViewOutline.Visible = AimbotFieldOfView.Visible
AimbotFieldOfViewFill.Visible = AimbotFieldOfView.Visible
AimbotFieldOfViewFill.NumSides = AimbotFieldOfView.NumSides
AimbotFieldOfViewFill.Color = AimbotFieldOfView.Color
AimbotFieldOfViewFill.Radius = AimbotFieldOfView.Radius
AimbotFieldOfViewFill.Position = AimbotFieldOfView.Position
AimbotFieldOfViewFill.Transparency = Config.Aimlock.FieldOfViewTransparency
SilentFieldOfView.Visible = Config.Silent.Enabled and Config.Silent.UseFieldOfView and Config.Silent.DrawFieldOfView
SilentFieldOfView.Radius = Config.Silent.Radius
SilentFieldOfView.NumSides = Config.Silent.Sides
SilentFieldOfView.Color = Config.Silent.FieldOfViewColor
SilentFieldOfView.NumSides = Config.Silent.Sides
SilentFieldOfView.Position = MouseLocation
SilentFieldOfViewFill.Visible = SilentFieldOfView.Visible
SilentFieldOfViewFill.NumSides = SilentFieldOfView.NumSides
SilentFieldOfViewFill.Color = SilentFieldOfView.Color
SilentFieldOfViewFill.Radius = SilentFieldOfView.Radius
SilentFieldOfViewFill.Position = SilentFieldOfView.Position
SilentFieldOfViewFill.Transparency = Config.Silent.FieldOfViewTransparency
SilentFieldOfViewOutline.NumSides = Config.Silent.Sides
SilentFieldOfViewOutline.Position = SilentFieldOfView.Position
SilentFieldOfViewOutline.Visible = SilentFieldOfView.Visible
SilentFieldOfViewOutline.Radius = SilentFieldOfView.Radius
SilentSnapline.Visible = (Config.Silent.Enabled == true) and (Config.Silent.Targetting == true) and Config.Silent.Snapline and (SilentTarget ~= nil)
SilentSnapline.Color = Config.Silent.SnaplineColor
SilentSnapline.Thickness = Config.Silent.SnaplineThickness;
SilentSnaplineOutline.Thickness = Config.Silent.SnaplineThickness + 2
SilentSnaplineOutline.Visible = SilentSnapline.Visible
AimbotSnapline.Color = Config.Aimlock.SnaplineColor
AimbotSnapline.Visible = (Config.Aimlock.Enabled == true) and (Config.Aimlock.Aiming == true) and Config.Aimlock.Snapline and (AimlockTarget ~= nil)
AimbotSnapline.Thickness = Config.Aimlock.SnaplineThickness;
AimbotSnaplineOutline.Thickness = Config.Aimlock.SnaplineThickness + 2
AimbotSnaplineOutline.Visible = AimbotSnapline.Visible
if (not SilentTarget or not SilentTarget.Character or not SilentTarget.Character:FindFirstChild("Head")) then
SilentSnapline.Visible = false
end;
if (not AimlockTarget or not AimlockTarget.Character or not AimlockTarget.Character:FindFirstChild(Config.Aimlock.TargetPart)) then
AimbotSnapline.Visible = false
end;
local _Part = "Head"
if SilentTarget and SilentTarget.Character and SilentTarget.Character:FindFirstChild(_Part) then
local SilentPosition, OnScreen = Camera:WorldToViewportPoint(SilentTarget.Character:FindFirstChild(_Part).Position)
SilentSnapline.Visible = (Config.Silent.Snapline and SilentTarget and OnScreen)
SilentSnapline.Visible = SilentSnapline.Visible
if (SilentSnapline.Visible and OnScreen) then
SilentSnapline.From = MouseLocation
SilentSnaplineOutline.From = SilentSnapline.From
SilentSnapline.To = Vector2.new(SilentPosition.X, SilentPosition.Y)
SilentSnaplineOutline.To = SilentSnapline.To
end;
end;
if AimlockTarget and AimlockTarget.Character and AimlockTarget.Character:FindFirstChild(Config.Aimlock.TargetPart) then
local AimlockPosition, OnScreen = Camera:WorldToViewportPoint(AimlockTarget.Character:FindFirstChild(Config.Aimlock.TargetPart).Position)
AimbotSnapline.Visible = (Config.Aimlock.Snapline and AimlockTarget and OnScreen)
AimbotSnaplineOutline.Visible = AimbotSnapline.Visible
if (AimbotSnapline.Visible and OnScreen) then
AimbotSnapline.From = MouseLocation
AimbotSnaplineOutline.From = AimbotSnapline.From
AimbotSnapline.To = Vector2.new(AimlockPosition.X, AimlockPosition.Y)
AimbotSnaplineOutline.To = AimbotSnapline.To
end;
end;
end));
if not LocalPlayer.Character then
LocalPlayer.CharacterAdded:Wait()
end
local ConnectHitboxToPlayer = function(Player)
task.spawn(LPH_NO_VIRTUALIZE(function()
while (Player ~= nil) and task.wait(0.25) do
if not Player.Character then continue end
if Player.Character then
if not Player.Character:FindFirstChild("HumanoidRootPart") or not Player.Character:FindFirstChild("Humanoid") then
continue
end
if not Player.Character:FindFirstChild("Head") or not Player.Character:FindFirstChild("Humanoid") then
continue
end
local HumanoidRootPart, Head, Humanoid = Player.Character:FindFirstChild("HumanoidRootPart"), Player.Character:FindFirstChild("Head"), Player.Character:FindFirstChild("Humanoid")
if Humanoid.Sit and not DefaultPlayerSettings[Player.Name] then continue end
if not DefaultPlayerSettings[Player.Name] then
DefaultPlayerSettings[Player.Name] = {}
DefaultPlayerSettings[Player.Name].HeadSettings = {}
DefaultPlayerSettings[Player.Name].RootSettings = {}
DefaultPlayerSettings[Player.Name].HeadSettings.Size = Head.Size
DefaultPlayerSettings[Player.Name].HeadSettings.Color = Head.Color
DefaultPlayerSettings[Player.Name].HeadSettings.Massless = Head.Massless
DefaultPlayerSettings[Player.Name].HeadSettings.CanCollide = Head.CanCollide
DefaultPlayerSettings[Player.Name].HeadSettings.Material = Head.Material
DefaultPlayerSettings[Player.Name].HeadSettings.Transparency = Head.Transparency
DefaultPlayerSettings[Player.Name].RootSettings.Size = HumanoidRootPart.Size
DefaultPlayerSettings[Player.Name].RootSettings.Color = HumanoidRootPart.Color
DefaultPlayerSettings[Player.Name].RootSettings.Massless = HumanoidRootPart.Massless
DefaultPlayerSettings[Player.Name].RootSettings.CanCollide = HumanoidRootPart.CanCollide
DefaultPlayerSettings[Player.Name].RootSettings.Material = HumanoidRootPart.Material
DefaultPlayerSettings[Player.Name].RootSettings.Transparency = HumanoidRootPart.Transparency
DefaultPlayerSettings[Player.Name].RootSettings.Shape = HumanoidRootPart.Shape
end
if not Config.MiscSettings.Hitbox_Expander.Enabled or Humanoid.Sit or Humanoid.Health == 0 or table.find(library.whitelist, Player.Name) then
for Index, Value in DefaultPlayerSettings[Player.Name].RootSettings do
HumanoidRootPart[Index] = Value
end
for Index, Value in DefaultPlayerSettings[Player.Name].HeadSettings do
Head[Index] = Value
end
if Head:FindFirstChild("MeshPart") then
Head.Mesh.MeshId = "rbxassetid://8635368421"
end
continue
end
if Config.MiscSettings.Hitbox_Expander.Part == "Head" and Config.MiscSettings.Hitbox_Expander.Enabled then
for Index, Value in DefaultPlayerSettings[Player.Name].RootSettings do
HumanoidRootPart[Index] = Value
end
end
if Config.MiscSettings.Hitbox_Expander.Part == "HumanoidRootPart" and Config.MiscSettings.Hitbox_Expander.Enabled then
for Index, Value in DefaultPlayerSettings[Player.Name].HeadSettings do
Head[Index] = Value
end
if Head:FindFirstChild("MeshPart") then
Head.Mesh.MeshId = "rbxassetid://8635368421"
end
end
if Config.MiscSettings.Hitbox_Expander.Part == "Head" then
if Config.MiscSettings.Hitbox_Expander.Enabled and Humanoid.Health ~= 0 then
Head.Size = Vector3.new(Config.MiscSettings.Hitbox_Expander.Multiplier, Config.MiscSettings.Hitbox_Expander.Multiplier, Config.MiscSettings.Hitbox_Expander.Multiplier)
Head.Transparency = Config.MiscSettings.Hitbox_Expander.Transparency
Head.Material = Enum.Material[Config.MiscSettings.Hitbox_Expander.Material]
Head.Color = Config.MiscSettings.Hitbox_Expander.Color
Head.CanCollide = not DefaultPlayerSettings[Player.Name].HeadSettings.CanCollide
Head.Massless = not DefaultPlayerSettings[Player.Name].HeadSettings.Massless
if Head:FindFirstChild("MeshPart") then
Head.Mesh.MeshId = ""
end
end
else
if Config.MiscSettings.Hitbox_Expander.Enabled and Humanoid.Health ~= 0 then
HumanoidRootPart.Size = Vector3.new(Config.MiscSettings.Hitbox_Expander.Multiplier, Config.MiscSettings.Hitbox_Expander.Multiplier, Config.MiscSettings.Hitbox_Expander.Multiplier)
HumanoidRootPart.Transparency = Config.MiscSettings.Hitbox_Expander.Transparency
HumanoidRootPart.Material = Enum.Material[Config.MiscSettings.Hitbox_Expander.Material]
HumanoidRootPart.Shape = Enum.PartType[Config.MiscSettings.Hitbox_Expander.Type]
HumanoidRootPart.Color = Config.MiscSettings.Hitbox_Expander.Color
HumanoidRootPart.CanCollide = not DefaultPlayerSettings[Player.Name].RootSettings.CanCollide
end
end
end
end
end))
end
for Index, Value in Players:GetPlayers() do
if Value == LocalPlayer then continue end;
if Game_Name == "South Bronx" then continue end
if Game_Name == "Criminality" then continue end
if Game_Name == "Universal" then continue end
if Game_Name == "BlockSpin" then continue end
ConnectHitboxToPlayer(Value)
end
Players.PlayerAdded:Connect(function(Value)
if Game_Name == "South Bronx" then return end
if Game_Name == "Criminality" then return end
if Game_Name == "Universal" then return end
if Game_Name == "BlockSpin" then return end
ConnectHitboxToPlayer(Value)
end)
--local StaminaRegen, MaxStamina = LocalPlayer:GetAttribute("StaminaRegen"), LocalPlayer:GetAttribute("MaxStamina")
if Game_Name == "BlockSpin" then
--[[local Set_Stamina = false;
RunService.PreRender:Connect(LPH_NO_VIRTUALIZE(function()
if Config.BlockSpin.LocalPlayer.InfiniteStamina then
Set_Stamina = false
LocalPlayer:SetAttribute("StaminaRegen", math.huge)
LocalPlayer:SetAttribute("MaxStamina", math.huge)
else
if not Set_Stamina then
Set_Stamina = true
LocalPlayer:SetAttribute("StaminaRegen", StaminaRegen)
LocalPlayer:SetAttribute("MaxStamina", MaxStamina)
end
end
end))]]
local _Send; _Send = hookfunction(Send_Remote, LPH_NO_VIRTUALIZE(function(...)
local Arguments = {...}
if Arguments[1] == "throw_hit" then
if not Config.Silent.Enabled then
return _Send(...)
end
if checkcaller() or not SilentTarget or not (mathrandom(0, 100) <= Config.Silent.HitChance) then
return _Send(...)
end
local RandomPart = Config.Silent.TargetPart[1] and Config.Silent.TargetPart[math.random(1, #Config.Silent.TargetPart)] or "Head"
local TargetPart = SilentTarget.Character:FindFirstChild(RandomPart)
if not SilentTarget.Character or not TargetPart then
return _Send(...)
end
Arguments[3] = TargetPart
Arguments[4] = TargetPart.CFrame
end
return _Send(unpack(Arguments))
end))
local PressKey = function(KeyCode, Duration)
task.spawn(function()
VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
VirtualInputManager:SendKeyEvent(true, KeyCode, false, game)
task.wait(Duration)
VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
end)
end
local Get_Puddle = LPH_NO_VIRTUALIZE(function()
local CurrentPuddle, MaxDistance, BestPath = nil, math.huge, nil
for _, v in ipairs(Workspace.Map.Tiles.BurgerPlaceTile.BurgerPlace.Interior.Puddles:GetChildren()) do
if v:IsA("BasePart") and v.Parent and (v.Name == "SmallPuddle" or v.Name == "LargePuddle") and v.Size.X >= 1 and v.Size.Z >= 1 and (v.Position - Vector3.new(150, 253, -250)).Magnitude > 3 then
local hrp = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if not hrp then continue end
local Path = Services.PathfindingService:CreatePath({
AgentRadius = 1,
AgentHeight = 4,
AgentCanJump = false,
AgentCanClimb = true,
})
local targetPos = v.Position + Vector3.new(0, 2, 0)
Path:ComputeAsync(hrp.Position, targetPos)
if Path.Status ~= Enum.PathStatus.NoPath then
local dist = (hrp.Position - v.Position).Magnitude
if dist < MaxDistance then
CurrentPuddle = v
MaxDistance = dist
BestPath = Path
end
end
end
end
return CurrentPuddle, BestPath
end)
local Mop_FarmThread
Start_MopFarm = function()
Mop_FarmThread = task.spawn(LPH_JIT_MAX(function()
while task.wait(1) do
if not Config.BlockSpin.AutoFarming.FarmMops then continue end
local character = LocalPlayer.Character
local humanoid = character and character:FindFirstChild("Humanoid")
local hrp = character and character:FindFirstChild("HumanoidRootPart")
if not humanoid or humanoid.Health <= 0 or not hrp then continue end
local puddle, path = Get_Puddle()
if not puddle or not puddle:IsDescendantOf(game) or puddle.Size.X < 1 or puddle.Size.Z < 1 or not path or path.Status == Enum.PathStatus.NoPath then
continue
end
VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.LeftShift, false, game)
local waypoints = path:GetWaypoints()
if not puddle or not puddle:IsDescendantOf(game) or puddle.Size.X < 1 or puddle.Size.Z < 1 or not path or path.Status == Enum.PathStatus.NoPath then
continue
end
local default_time = puddle.Name == "SmallPuddle" and 5 or puddle.Name == "LargePuddle" and 10
default_time =
(Config.BlockSpin.AutoFarming.MopType == "Default" and default_time) or
(Config.BlockSpin.AutoFarming.MopType == "Silver" and default_time * 0.8) or
(Config.BlockSpin.AutoFarming.MopType == "Gold" and default_time * 0.7) or
(Config.BlockSpin.AutoFarming.MopType == "Diamond" and default_time * 0.6) or
default_time
for index, waypoint in ipairs(waypoints) do
humanoid:MoveTo(waypoint.Position)
humanoid.MoveToFinished:Wait()
if not puddle:IsDescendantOf(game) or puddle.Size.X < 1 or puddle.Size.Z < 1 then
break
end
if index == #waypoints then
VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.LeftShift, false, game)
PressKey(Enum.KeyCode.W, 0.1)
task.wait(default_time + 0.25)
end
end
end
end))
end
Stop_MopFarm = LPH_NO_VIRTUALIZE(function()
if not Mop_FarmThread then return end
if coroutine.status(Mop_FarmThread) == "suspended" then
task.cancel(Mop_FarmThread)
end
end)
LocalPlayer.CharacterAdded:Connect(LPH_NO_VIRTUALIZE(function()
if Mop_FarmThread then
Stop_MopFarm()
end
end))
end
if Game_Name == "South Bronx" then
if not Solara then
CurrentGunHeld = nil;
local OldWeaponValues = {}
local GetAllTools = LPH_NO_VIRTUALIZE(function()
local Result = {}
for _, Value in next, {LocalPlayer.Backpack, LocalPlayer.Character ~= nil and LocalPlayer.Character} do
if type(Value) == "userdata" then
for _, _Value in next, Value:GetChildren() do
if _Value:IsA("Tool") and _Value:FindFirstChild("Setting") then
Result[#Result + 1] = _Value
end
end
end
end
return Result
end)
local ReloadFunction = nil
for Index, Value in getgc(true) do
if not (type(Value) == "function") then continue end
local Function_Info = debug.getinfo(Value)
if tostring(Function_Info.name) == "Reload" then
ReloadFunction = Value
end
end
local RefreshReloadFunction = LPH_NO_VIRTUALIZE(function()
for Index, Value in getgc() do
if typeof(Value) == 'function' then
local Function_Info = debug.getinfo(Value)
if tostring(Function_Info.name) == "Reload" then
ReloadFunction = Value
end
end
end
end)
local GetSettings = LPH_NO_VIRTUALIZE(function(Weapon)
local Settings = {}
for i,v in debug.getupvalue(ReloadFunction, 3) do
if i ~= Weapon then continue end
Settings = v
break
end
return Settings
end)
local GetPercentage = LPH_NO_VIRTUALIZE(function(DefaultValue, NewValue)
NewValue = math.max(0, math.min(100, NewValue))
local newRecoil = DefaultValue * (NewValue / 100)
return newRecoil
end)
local ModWeapon = LPH_JIT_MAX(function(Weapon)
if type(Weapon) ~= "userdata" then return end
if not Weapon:IsA("Tool") then return end
if not Weapon:FindFirstChild("Setting") then return end
local Module = GetSettings(Weapon)
local ModuleSettings = rawget(Module, "Module")
local OldConfig = OldWeaponValues[Weapon.Name]
task.spawn(function()
local Success, Error = pcall(LPH_NO_VIRTUALIZE(function()
task.wait(0.05)
if Module == nil or ModuleSettings == nil then
RefreshReloadFunction()
if ReloadFunction == nil then
return
end
Module = GetSettings(Weapon)
ModuleSettings = rawget(Module, "Module")
end
if ModuleSettings == nil or Module == nil then
return
end
setreadonly(Module, false)
setreadonly(ModuleSettings, false)
if SetInfiniteAmmo == nil then
SetInfiniteAmmo = true
end
if SetInfiniteClips == nil then
SetInfiniteClips = true
end
--[[if Config.South_Bronx._Modifications.InfiniteAmmo then
Module.Mag = Config.South_Bronx._Modifications.InfiniteAmmo and math.huge or OldConfig.Ammo
SetInfiniteAmmo = false
end
if Config.South_Bronx._Modifications.InfiniteAmmo == false and SetInfiniteAmmo == false then
Module.Mag = OldConfig.MaxAmmo / 2
SetInfiniteAmmo = true
end]]
--[[if Config.South_Bronx._Modifications.InfiniteClips then
Module.Ammo = Config.South_Bronx._Modifications.InfiniteClips and 999999 or OldConfig.MaxAmmo
SetInfiniteClips = false
end]]
if Config.South_Bronx._Modifications.InfiniteClips == false and SetInfiniteClips == false then
Module.Ammo = OldConfig.MaxAmmo
SetInfiniteClips = true
end
if ModuleSettings.LimitedAmmoEnabled then
ModuleSettings.LimitedAmmoEnabled = Config.South_Bronx._Modifications.InfiniteAmmo and false or OldConfig.LimitedAmmoEnabled
end
task.spawn(function()
while Weapon ~= nil and LocalPlayer.Character ~= nil and Weapon.Parent == LocalPlayer.Character and Module ~= nil and ModuleSettings ~= nil and ModuleSettings.FireRate ~= nil and task.wait(.1) do
if Config.South_Bronx._Modifications.DisableJamming then
rawset(Module, "Jam", false)
rawset(Module, "Canshoot", true)
end
if Config.South_Bronx._Modifications.InfiniteAmmo then
Module.Mag = OldConfig.AmmoPerMag
end
end
end)
ModuleSettings.FireRate = Config.South_Bronx._Modifications.ModifyFireRate and GetPercentage(OldConfig.FireRate, Config.South_Bronx._Modifications.FireRateSpeed) or OldConfig.FireRate
ModuleSettings.ReloadTime = Config.South_Bronx._Modifications.ModifyReloadSpeed and GetPercentage(OldConfig.ReloadTime, Config.South_Bronx._Modifications.ReloadSpeed) or OldConfig.ReloadTime
ModuleSettings.TacticalReloadTime = Config.South_Bronx._Modifications.ModifyReloadSpeed and GetPercentage(OldConfig.TacticalReloadTime, Config.South_Bronx._Modifications.ReloadSpeed) or OldConfig.TacticalReloadTime
ModuleSettings.EquippingTime = Config.South_Bronx._Modifications.ModifyEquipSpeed and GetPercentage(OldConfig.EquippingTime, Config.South_Bronx._Modifications.EquipSpeed) or OldConfig.EquippingTime
ModuleSettings.SpreadX = Config.South_Bronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.SpreadX, Config.South_Bronx._Modifications.SpreadPercentage) or OldConfig.SpreadX
ModuleSettings.SpreadY = Config.South_Bronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.SpreadY, Config.South_Bronx._Modifications.SpreadPercentage) or OldConfig.SpreadY
ModuleSettings.Recoil = Config.South_Bronx._Modifications.ModifyRecoilValue and GetPercentage(OldConfig.Recoil, Config.South_Bronx._Modifications.RecoilPercentage) or OldConfig.Recoil
ModuleSettings.ShotgunEnabled = Config.South_Bronx._Modifications.InstantKill and true or OldConfig.ShotgunEnabled
ModuleSettings.Auto = Config.South_Bronx._Modifications.Automatic or OldConfig.Auto
ModuleSettings.JamChance = Config.South_Bronx._Modifications.DisableJamming and 0 or OldConfig.JamChance
end))
if not Success and Error ~= nil then
warn("[GUN MOD ERROR] :", Error)
end
end)
end)
local ModWeapons = LPH_NO_VIRTUALIZE(function()
for _, Weapon in next, GetAllTools() do
if Weapon:IsA("Tool") then
ModWeapon(Weapon)
end
end
end)
local SetValues = LPH_NO_VIRTUALIZE(function()
for _, Weapon in next, GetAllTools() do
if Weapon:IsA("Tool") then
local Module = Weapon:FindFirstChildOfClass("ModuleScript")
if Module and Module.Name == "Setting" then
Module = require(Module)
end
if type(Module) == "table" and not OldWeaponValues[Weapon.Name] then
OldWeaponValues[Weapon.Name] = {}
local OldConfig = OldWeaponValues[Weapon.Name]
for Index, Value in next, Module do
OldConfig[Index] = Value
end
end
end
end
end)
if not LocalPlayer.Character then LocalPlayer.CharacterAdded:Wait() end
LocalPlayer.Character.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Weapon)
if not Weapon:IsA("Tool") then return end
if Weapon:FindFirstChild("Setting") then
CurrentGunHeld = Weapon
end
SetValues(); ModWeapon(Weapon);
end))
LocalPlayer.Backpack.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Weapon)
if not Weapon:IsA("Tool") then return end
if Weapon:FindFirstChild("Setting") then
CurrentGunHeld = Weapon
end
SetValues(); ModWeapon(Weapon);
end))
LocalPlayer.CharacterAdded:Connect(function(Character)
Character.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Weapon)
if not Weapon:IsA("Tool") then return end
if Weapon:FindFirstChild("Setting") then
CurrentGunHeld = Weapon
end
SetValues(); ModWeapon(Weapon);
end))
LocalPlayer.Backpack.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Weapon)
if not Weapon:IsA("Tool") then return end
if Weapon:FindFirstChild("Setting") then
CurrentGunHeld = Weapon
end
SetValues(); ModWeapon(Weapon);
end))
end)
local ConfigMetatable = getmetatable(Config.South_Bronx.Modifications)
ConfigMetatable.__index = LPH_NO_VIRTUALIZE(function(...)
return Config.South_Bronx._Modifications[select(2, ...)]
end)
ConfigMetatable.__newindex = LPH_NO_VIRTUALIZE(function(...)
local Index, Value = select(2, ...)
Config.South_Bronx._Modifications[Index] = Value; ModWeapons()
end)
--[[local OldGunSettingsHook ; OldGunSettingsHook = hookmetamethod(game, "__namecall", LPH_NO_VIRTUALIZE(function(Self, ...)
if CurrentGunHeld == nil then
return OldGunSettingsHook(Self, ...)
end
if getnamecallmethod() == "FireServer" or getnamecallmethod() == "InvokeServer" and CurrentGunHeld then
local Arguments = {...}
for Index, Value in Arguments do
if typeof(Value) == "table" and rawget(Value , "Ammo") then
Value = OldWeaponValues[CurrentGunHeld.Name]
return OldGunSettingsHook(Self, unpack(Arguments))
end
end
end
return OldGunSettingsHook(Self, ...)
end))
local OldMagAndAmmo; OldMagAndAmmo = hookmetamethod(game, "__namecall", LPH_NO_VIRTUALIZE(function(Self, ...)
if CurrentGunHeld == nil then
return OldMagAndAmmo(Self, ...)
end
if getnamecallmethod() == "FireServer" or getnamecallmethod() == "InvokeServer" and tostring(Self) == "ChangeMagAndAmmo" and (Config.South_Bronx._Modifications.InfiniteAmmo or Config.South_Bronx._Modifications.InfiniteClips) then
local Arguments = {...}
if Config.South_Bronx._Modifications.InfiniteAmmo then
Arguments[2] = OldWeaponValues[CurrentGunHeld.Name].AmmoPerMag
end
return OldMagAndAmmo(Self, unpack(Arguments))
end
return OldMagAndAmmo(Self, ...)
end))]]
end
--[[if not Solara then
local DeleteChatPlayer = LPH_NO_VIRTUALIZE(function(Player)
if Player.Character then
local Head = Player.Character:FindFirstChild("Head")
if Head then
if Head:FindFirstChild("chatpart") then
Head:FindFirstChild("chatpart"):Destroy()
end
end
end
Player.CharacterAdded:Connect(function(Character)
Character:WaitForChild("Head")
Character.Head:WaitForChild("chatpart"):Destroy()
end)
end)
for Index, Value in Players:GetPlayers() do
if Value == LocalPlayer then continue end
DeleteChatPlayer(Value)
end
Players.PlayerAdded:Connect(DeleteChatPlayer)
end]]
--[[local FireFunc, FireFuncs = LPH_NO_VIRTUALIZE(function(...)
return ...
end), {}
local RefreshFireFunc = LPH_NO_VIRTUALIZE(function()
for Index, Value in getgc() do
if typeof(Value) == "function" then
local Info = debug.getinfo(Value)
if Info.source == string.format("=Players.%s.PlayerScripts.Main.Modules.GunScript_Local", LocalPlayer.Name) and not table.find(FireFuncs, Value) then
FireFunc = Value
table.insert(FireFuncs, FireFunc)
end
end
end
end)
RefreshFireFunc()
LocalPlayer.CharacterAdded:Connect(LPH_NO_VIRTUALIZE(function()
task.wait(5)
RefreshFireFunc()
end))
ShootPlayer = LPH_NO_VIRTUALIZE(function(Player)
if not LocalPlayer.Character then
return
end
if not LocalPlayer.Character:FindFirstChildOfClass("Tool") then
return
end
local Tool = LocalPlayer.Character:FindFirstChildOfClass("Tool"); local Handle = Tool:FindFirstChild("Handle")
if not Tool:FindFirstChild("Settings") then
return
end
if not Players:FindFirstChild(Player) then
return
end
local Player = Players:FindFirstChild(Player)
if not Player.Character or not Player.Character:FindFirstChild("Head") or not Player.Character:FindFirstChild("Humanoid") or Player.Character:FindFirstChild("Humanoid"):GetState() == Enum.HumanoidStateType.Dead then
return
end
if not FireFunc then
RefreshFireFunc()
end
print("Fired")
FireFunc(Tool, Handle, Player.Character:FindFirstChild("Head").Position)
end)
task.spawn(LPH_NO_VIRTUALIZE(function()
while task.wait(0.1) do
if not Config.South_Bronx.KillAura then continue end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChildOfClass("Tool") or not LocalPlayer.Character:FindFirstChildOfClass("Tool"):FindFirstChild("Setting") then continue end
for Index, Value in Players:GetPlayers() do
if table.find(Config.South_Bronx.KillAuraWhitelist, tostring(Value)) then continue end
if Value == LocalPlayer then continue end
if not Value.Character or not Value.Character:FindFirstChildOfClass("Humanoid") or not Value.Character:FindFirstChild("HumanoidRootPart") then continue end
if Value.Character:FindFirstChildOfClass("Humanoid").Health == 0 then continue end
if Value.Character:FindFirstChildOfClass("ForceField") then continue end
if not DistanceCheck(Value, Config.South_Bronx.KillAuraRange) then continue end
ShootPlayer(Value.Name)
end
end
end))]]
task.spawn(LPH_NO_VIRTUALIZE(function()
while true do
local Delta = RunService.Heartbeat:Wait()
if not Config.South_Bronx.LocalPlayer_Config.Speed then continue end
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
local Humanoid = LocalPlayer.Character:FindFirstChild("Humanoid")
if Humanoid.MoveDirection.Magnitude > 0 then
local SpeedFactor = (Humanoid.WalkSpeed >= 10) and 1 or 0.54
LocalPlayer.Character:TranslateBy(
Humanoid.MoveDirection * Config.South_Bronx.LocalPlayer_Config.SpeedValue
* Delta * 10 * SpeedFactor
)
end
end
end
end))
task.spawn(LPH_NO_VIRTUALIZE(function()
while task.wait() do
if not Config.South_Bronx.PlayerUtilities.BringingPlayer then continue end
if tostring(Config.South_Bronx.PlayerUtilities.SelectedPlayer) == tostring(LocalPlayer) then continue end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") or not Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart") then continue end
Players:FindFirstChild(Config.South_Bronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart").CFrame = LocalPlayer.Character:FindFirstChild("HumanoidRootPart").CFrame + Vector3.new(2, 0, 0)
end
end))
task.spawn(LPH_NO_VIRTUALIZE(function()
while true do
task.wait(0)
if Config.South_Bronx.VehicleModifications.SpeedEnabled and UserInputService:IsKeyDown(Enum.KeyCode.W) then
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
if LocalPlayer.Character and typeof(LocalPlayer.Character) == "Instance" then
local Humanoid = LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid")
if Humanoid and typeof(Humanoid) == "Instance" then
local SeatPart = Humanoid.SeatPart
if SeatPart and typeof(SeatPart) == "Instance" and SeatPart:IsA("VehicleSeat") then
SeatPart.AssemblyLinearVelocity *= Vector3.new(1 + Config.South_Bronx.VehicleModifications.SpeedValue, 1, 1 + Config.South_Bronx.VehicleModifications.SpeedValue)
end
end
end
end
end
end
end))
task.spawn(LPH_NO_VIRTUALIZE(function()
while true do
task.wait(0)
if Config.South_Bronx.VehicleModifications.BreakEnabled and UserInputService:IsKeyDown(Enum.KeyCode.S) then
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
if LocalPlayer.Character and typeof(LocalPlayer.Character) == "Instance" then
local Humanoid = LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid")
if Humanoid and typeof(Humanoid) == "Instance" then
local SeatPart = Humanoid.SeatPart
if SeatPart and typeof(SeatPart) == "Instance" and SeatPart:IsA("VehicleSeat") then
SeatPart.AssemblyLinearVelocity *= Vector3.new(1 - Config.South_Bronx.VehicleModifications.BreakValue, 1, 1 - Config.South_Bronx.VehicleModifications.BreakValue)
end
end
end
end
end
end
end))
UserInputService.InputBegan:Connect(function(Input, GameProcessedEvent)
if Input.KeyCode == Config.South_Bronx.VehicleModifications.InstantStopBind and Config.South_Bronx.VehicleModifications.InstantStop and (not GameProcessedEvent) then
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
if LocalPlayer.Character and typeof(LocalPlayer.Character) == "Instance" then
local Humanoid = LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid")
if Humanoid and typeof(Humanoid) == "Instance" then
local SeatPart = Humanoid.SeatPart
if SeatPart and typeof(SeatPart) == "Instance" and SeatPart:IsA("VehicleSeat") then
SeatPart.AssemblyLinearVelocity *= Vector3.new(0, 0, 0)
SeatPart.AssemblyAngularVelocity *= Vector3.new(0, 0, 0)
end
end
end
end
end
if Config.South_Bronx.LocalPlayer_Config.DeleteKey ~= nil and Input.UserInputType == Enum.UserInputType.MouseButton1 and UserInputService:IsKeyDown(Config.South_Bronx.LocalPlayer_Config.DeleteKey) and Config.South_Bronx.LocalPlayer_Config.DeleteOnKey and (not GameProcessedEvent) then
if Mouse and Mouse.Target then
Mouse.Target:Destroy()
end
end
end)
ProximityPromptService.PromptButtonHoldBegan:Connect(LPH_NO_VIRTUALIZE(function(Prompt, Player)
if Prompt and Player == LocalPlayer and fireproximityprompt then
if Config.South_Bronx.LocalPlayer_Config.InstantInteract then
fireproximityprompt(Prompt)
end
end
end))
getgenv().Find_Bike = LPH_NO_VIRTUALIZE(function()
for Index, Value in Workspace:GetChildren() do
if Value:FindFirstChild("Owner") and string.match(tostring(Value), LocalPlayer.Name.."'s Car") and Value:FindFirstChild("Body") and Value:FindFirstChild("Body"):FindFirstChild("Passenger") then
return Value
end
end
return nil
end)
local FindSeatInPlayersCar = LPH_NO_VIRTUALIZE(function(Car)
for _Index, _Value in Car.Body:GetChildren() do
if _Value:IsA("Seat") then
if _Value.Occupant ~= nil then
continue
else
return _Value
end
end
end
return
end)
getgenv().SitInPlayersVehicle = LPH_NO_VIRTUALIZE(function(Player)
if not Player.Character or Player.Character.Humanoid.SeatPart == nil then
return
end
local SeatPart = Player.Character.Humanoid.SeatPart
local Parent = SeatPart.Parent
while Parent do
if string.match(tostring(Parent), "'s Car") then
Seat = FindSeatInPlayersCar(Parent)
LocalPlayer.Character.HumanoidRootPart.CFrame = Seat.CFrame
Seat:Sit(LocalPlayer.Character.Humanoid)
break
end
Parent = Parent.Parent
if Parent == game then
break
end
end
return Seat
end)
local Teleport_Status;
local GetDistance = LPH_NO_VIRTUALIZE(function(position1, position2)
return (position1 - position2).Magnitude
end)
local GetTweenSpeed = LPH_NO_VIRTUALIZE(function(distance)
local baseTime = 4.5
local timeToTween = baseTime * (distance / 50)
return timeToTween
end)
HideUI = LPH_NO_VIRTUALIZE(function(Title, Timing)
getgenv().HideScreenGUI = Instance.new("ScreenGui")
getgenv().HideScreenGUI.Name = getexecutorname()
getgenv().HideScreenGUI.Parent = gethui and gethui() or Services.CoreGui
local frame = Instance.new("Frame")
frame.Name = "BlackFrame"
frame.Size = UDim2.new(2, 0, 2, 0)
frame.Position = UDim2.new(0, -155, 0, -155)
frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
frame.BackgroundTransparency = 0
frame.Parent = getgenv().HideScreenGUI
local textLabel = Instance.new("TextLabel")
textLabel.Name = "\nhideuibronxlol"
textLabel.Size = UDim2.new(0, 400, 0, 100)
textLabel.Font = Enum.Font.SourceSansBold
textLabel.RichText = true
textLabel.Text = '<font color="rgb(0,163,224)">bronx.</font>lol\n' .. Title
textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
textLabel.BackgroundTransparency = 1
textLabel.TextSize = 36
textLabel.TextStrokeTransparency = 0.8
textLabel.TextXAlignment = Enum.TextXAlignment.Center
textLabel.TextYAlignment = Enum.TextYAlignment.Center
textLabel.TextWrapped = true
textLabel.AnchorPoint = Vector2.new(0.5, 0.5)
textLabel.Position = UDim2.new(0.5, 0, 0.5, 0)
textLabel.Parent = getgenv().HideScreenGUI
if Timing then
task.spawn(function()
local startTime = tick()
local endTime = startTime + Timing
while tick() < endTime do
local timeLeft = endTime - tick()
textLabel.Text = string.format(
'<font color="rgb(0,163,224)">bronx.</font>lol\n%s\nplease wait : <font color="rgb(0,163,224)">%.2f</font> seconds',
Title, math.max(timeLeft, 0)
)
task.wait()
end
end)
end
return textLabel
end)
DeleteSecretUI = LPH_NO_VIRTUALIZE(function(Title)
if getgenv().HideScreenGUI then
getgenv().HideScreenGUI:Destroy()
getgenv().HideScreenGUI = nil
end
pcall(function()
for i,v in gethui():GetChildren() do
if v.Name == getexecutorname() then
v:Destroy()
end
end
end)
end)
local tp_debounce = false
local GetCuttingBoard, GetBowl, GetPot, CheckHobo, GetHouse = LPH_NO_VIRTUALIZE(function()
for Index, Value in Workspace.Map.Locations["The Laboratory"]["Cutting Boards"]:GetChildren() do
local Prompt = Value:FindFirstChildWhichIsA("ProximityPrompt", true)
if Prompt and Prompt.Enabled then
return Value
end
end
end), LPH_NO_VIRTUALIZE(function()
for Index, Value in Workspace.Map.Locations["The Laboratory"].Bowls:GetChildren() do
local Prompt = Value:FindFirstChildWhichIsA("ProximityPrompt", true)
if Prompt and Prompt.Enabled then
return Value
end
end
end), LPH_NO_VIRTUALIZE(function()
for Index, Value in Workspace.Map.Locations["The Laboratory"].Extra:GetChildren() do
if Value.Name == "Table" then
Value.CanCollide = false
end
end
for Index, Value in Workspace.Map.Locations["The Laboratory"].Pots:GetChildren() do
local Prompt = Value:FindFirstChildWhichIsA("ProximityPrompt", true)
if Prompt and Prompt.Enabled then
return Value
end
end
end), LPH_NO_VIRTUALIZE(function(Name)
if Workspace.Folders.HomelessPeople:FindFirstChild(Name) then
local Prompt = Workspace.Folders.HomelessPeople:FindFirstChild(Name):FindFirstChildWhichIsA("ProximityPrompt", true)
if Prompt and Prompt.Enabled and Workspace.Folders.HomelessPeople:FindFirstChild(Name).LeftLowerLeg.Rotation.X == 90 then
return true
end
end
return false
end), LPH_NO_VIRTUALIZE(function()
for Index, Value in Workspace.Map.APTS:GetChildren() do
if Value:FindFirstChild("Board") then
local Name = Value:FindFirstChild("Board").name.SurfaceGui.TextLabel.Text
if Name == LocalPlayer.Name then
return Workspace.Map.Houses:FindFirstChild(Value.Name)
end
end
end
return nil
end)
local Get_Hobo = LPH_NO_VIRTUALIZE(function()
for i,v in Workspace.Folders.HomelessPeople:GetChildren() do
if CheckHobo(v.Name) then
return v
end
end
return nil
end)
getgenv().Teleport = LPH_NO_VIRTUALIZE(function(CFrame)
if Config.South_Bronx.TeleportMethod == 'Dirt Bike' then
local Bike = Find_Bike()
if Bike == nil then
ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("Dealershipinteraction"):FireServer("Spawn", "DirtBike")
local BikeForce = false
task.spawn(function()
task.wait(3) ; BikeForce = true
end)
repeat task.wait() until Find_Bike() ~= nil or BikeForce == true
Bike = Find_Bike()
task.wait()
if Bike == nil then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = "Your bike was not found!",
lifetime = 5
})
return "Failed"
end
end
if Bike and Bike.DriveSeat and Bike.DriveSeat.Occupant ~= nil and Bike.DriveSeat.Occupant ~= LocalPlayer.Character.Humanoid then
ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("Dealershipinteraction"):FireServer("Spawn", "DirtBike")
local BikeForce = false
task.spawn(function()
task.wait(3) ; BikeForce = true
end)
repeat task.wait() until Find_Bike() ~= nil or BikeForce == true
Bike = Find_Bike()
task.wait()
if Bike == nil then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = "Your bike was not found!",
lifetime = 5
})
return "Failed"
end
end
LocalPlayer.Character.HumanoidRootPart.CFrame = Bike.PrimaryPart.CFrame
Bike.DriveSeat:Sit(LocalPlayer.Character.Humanoid)
task.wait(1.5)
for Index = 1, 50 do
Bike:SetPrimaryPartCFrame(CFrame + Vector3.new(0, 1.5, 0))
end
task.wait(1)
for Index = 1, 10 do
Bike:SetPrimaryPartCFrame(CFrame + Vector3.new(0, 1.5, 0))
end
for Index, Value in Bike:GetDescendants() do
pcall(function()
Value.Velocity = Vector3.new(0, 0, 0)
end)
pcall(function()
Value.RotVelocity = Vector3.new(0, 0, 0)
end)
end
task.wait(.25)
ReplicatedStorage.RemoteEvents.ClientEffects:FireServer("JumpRequest")
return "Success"
elseif Config.South_Bronx.TeleportMethod == 'Tween' then
local DistanceFromPos = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position , CFrame.Position)
local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromPos), Enum.EasingStyle.Linear), {CFrame = CFrame})
Tween:Play() ; Tween.Completed:Wait() ;
return (LocalPlayer.Character.HumanoidRootPart.Position - CFrame.Position).Magnitude > 20 and "Success" or "Failed"
elseif Config.South_Bronx.TeleportMethod == 'Damage' then
if tp_debounce then repeat wait(.1) until not tp_debounce end
tp_debounce = true
HideUI("teleporting.\nplease wait.")
pcall(function()
local E1 = LocalPlayer.PlayerGui.Misc.Blood.ImageLabel.Changed:Connect(function()
LocalPlayer.PlayerGui.Misc.Blood.ImageLabel.Visible = false
end)
local E3 = LocalPlayer.PlayerGui.Misc.Blood.Impact.Changed:Connect(function()
LocalPlayer.PlayerGui.Misc.Blood.Impact.Visible = false
end)
local E5 = Lighting.ChildAdded:Connect(function(a)
if tostring(a) == "KN_Blur" then
a.Enabled = false
end
end)
local Hobo = Get_Hobo()
if not Hobo then
repeat wait(1) Hobo = Get_Hobo()
until Hobo ~= nil
end
repeat
task.wait()
if Hobo then
LocalPlayer.Character.HumanoidRootPart.CFrame = Hobo.HumanoidRootPart.CFrame
fireproximityprompt(Hobo:FindFirstChildWhichIsA('ProximityPrompt', true))
if not CheckHobo(Hobo.Name) then
Hobo = Get_Hobo()
end
end
until LocalPlayer.Character.Humanoid.Health <= 15
local number = 1
repeat task.wait()
LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame + Vector3.new(0, 1, 0)
number+=1
if number > 50 then
LocalPlayer.Character.HumanoidRootPart.Anchored = true
end
until LocalPlayer.Character.Humanoid:GetState() ~= Enum.HumanoidStateType.Physics
task.delay(4, function()
E1:Disconnect()
E3:Disconnect()
E5:Disconnect()
end)
task.wait(1)
LocalPlayer.Character.HumanoidRootPart.Anchored = false
end)
DeleteSecretUI()
tp_debounce = false
return (LocalPlayer.Character.HumanoidRootPart.Position - CFrame.Position).Magnitude < 20 and "Success" or "Failed"
end
end)
local ATMPositions = {
ATM1 = CFrame.new(-30, 4, -300);
ATM2 = CFrame.new(539, 4, -353);
ATM3 = CFrame.new(497, 4, 403);
ATM4 = CFrame.new(236, 4, -158);
ATM5 = CFrame.new(525, -8, -92);
ATM6 = CFrame.new(-450, 4, 370);
ATM7 = CFrame.new(-266, 4, -209);
ATM8 = CFrame.new(-11, 4, 231);
ATM9 = CFrame.new(717, 4, 410);
ATM10 = CFrame.new(-532, 3, -21);
ATM11 = CFrame.new(-646, 4, 155);
ATM12 = CFrame.new(698, 3, -241);
ATM13 = CFrame.new(-315, 4, 142);
ATM14 = CFrame.new(-378, 4, -365);
ATM15 = CFrame.new(360, 4, -364);
ATM16 = CFrame.new(870, 3, -346);
ATM17 = CFrame.new(904, 3, -99);
ATM18 = CFrame.new(1095, 3, 178);
ATM19 = CFrame.new(1054, 4, 585);
ATM20 = CFrame.new(895, 4, 142);
ATM21 = CFrame.new(1021, 3, -229);
};
local PressKeyTween = LPH_NO_VIRTUALIZE(function(KeyCode, Tween)
task.spawn(function()
VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
VirtualInputManager:SendKeyEvent(true, KeyCode, false, game)
Tween.Completed:Wait()
VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
end)
end)
local PressKey = function(KeyCode, Duration)
task.spawn(LPH_NO_VIRTUALIZE(function()
Services.VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
Services.VirtualInputManager:SendKeyEvent(true, KeyCode, false, game)
task.wait(Duration)
Services.VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
end))
end
local boxfarm_thread
Start_BoxFarm = function()
boxfarm_thread = task.spawn(LPH_NO_VIRTUALIZE(function()
while task.wait() do
if not LocalPlayer.Character then continue end
if not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then continue end
if not Config.South_Bronx.FarmingUtilities.BoxFarm then continue end
if not LocalPlayer.Backpack:FindFirstChild("Crate") and not LocalPlayer.Character:FindFirstChild("Crate") then
local DistanceFromBox = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position, Vector3.new(-549, 3, -82))
local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromBox), Enum.EasingStyle.Linear), {CFrame = CFrame.new(-549.1292724609375, 3.5371456146240234, -82.9239501953125)})
PressKeyTween(Enum.KeyCode.W, Tween) ; PressKeyTween(Enum.KeyCode.LeftShift, Tween)
Tween:Play() ; Tween.Completed:Wait() ; Tween = nil
fireproximityprompt(Workspace.PlaceHere.Attachment.ProximityPrompt)
task.wait(1)
repeat task.wait() until LocalPlayer.Backpack:FindFirstChild("Crate")
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack.Crate)
task.wait(1)
end
if not LocalPlayer.Character:FindFirstChild("Crate") then
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Crate"))
task.wait(1)
end
if not LocalPlayer.Backpack:FindFirstChild("Crate") and not LocalPlayer.Character:FindFirstChild("Crate") then
continue
end
local DistanceFromTruck = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position, Vector3.new(-401.04364013671875, 3.3621325492858887, -72.07713317871094))
local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromTruck), Enum.EasingStyle.Linear), {CFrame = CFrame.new(-401.04364013671875, 3.3621325492858887, -72.07713317871094)})
PressKeyTween(Enum.KeyCode.W, Tween) ; PressKeyTween(Enum.KeyCode.LeftShift, Tween)
Tween:Play() ; Tween.Completed:Wait() ; Tween = nil
fireproximityprompt(Workspace.cratetruck2.Model.ClickBox.Attachment.ProximityPrompt)
task.wait(0.9)
end
end))
end
Stop_BoxFarm = LPH_NO_VIRTUALIZE(function()
if not boxfarm_thread then return end
if coroutine.status(boxfarm_thread) == "suspended" then
task.cancel(boxfarm_thread)
end
end)
task.spawn(LPH_JIT_MAX(function()
while task.wait(.1) do
if not Config.South_Bronx.FarmingUtilities.CardFarm then continue end
if not LocalPlayer.Character and not LocalPlayer.Character:FindFirstChild("Humanoid") then continue end
LocalPlayer.Character:FindFirstChild("Humanoid").Sit = false ; LocalPlayer.Character:FindFirstChild("Humanoid").Jump = true
for Index, Value in Workspace.Map.Locations["Community Bank"]:GetDescendants() do
pcall(function()
Value.CanCollide = false
end)
end
end
end))
task.spawn(LPH_JIT_MAX(function()
while task.wait(.1) do
if not Config.South_Bronx.FarmingUtilities.MarshmallowFarm then continue end
if not LocalPlayer.Character and not LocalPlayer.Character:FindFirstChild("Humanoid") then continue end
LocalPlayer.Character:FindFirstChild("Humanoid").Sit = false ; LocalPlayer.Character:FindFirstChild("Humanoid").Jump = true
end
end))
playerHasCard = false
task.spawn(LPH_JIT_MAX(function()
while task.wait(.1) do
if not Config.South_Bronx.FarmingUtilities.CardFarm then continue end
pcall(function()
Workspace.Map.Decor:FindFirstChild("rail thing"):Destroy()
end)
if not Workspace.Map.Decor:FindFirstChild("rail thing") then
break
end
end
end))
local MarshmallowFarm_Thread
Start_MarshmallowFarm = function()
MarshmallowFarm_Thread = task.spawn(LPH_JIT_MAX(function()
while wait() do
if not Config.South_Bronx.FarmingUtilities.MarshmallowFarm then continue end
local Owns_Bike = Config.South_Bronx.OwnedBike == "No"
local Marshmellow_Increment = Config.South_Bronx.FarmingUtilities.MarshmallowIncrement
local Items = {"Gelatin", "Sugar Block Bag", "Water"}
Teleport(CFrame.new(510, 4, 602), Owns_Bike)
for _ = 1, Marshmellow_Increment do
for Index, Value in Items do
ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("StorePurchase"):FireServer(Value)
task.wait()
end
end
task.wait(3)
local House = GetHouse();
if not House then
repeat task.wait() House = GetHouse() until House ~= nil
end
local Pot = House.Interior["Cooking Pot"]
Teleport(Pot.CFrame, Owns_Bike)
task.wait(1)
LocalPlayer.Character.Humanoid:MoveTo(Pot.Position)
LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
for _ = 1, Marshmellow_Increment do
if not LocalPlayer.Character:FindFirstChild("Water") then
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Water"))
end
task.wait(1)
fireproximityprompt(Pot.Attachment.ProximityPrompt)
task.wait(2.5)
repeat task.wait() until Pot.Timer.TextLabel.Text == "0"
if not LocalPlayer.Character:FindFirstChild("Sugar Block Bag") then
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Sugar Block Bag"))
end
task.wait(1)
fireproximityprompt(Pot.Attachment.ProximityPrompt)
task.wait(2.5)
LocalPlayer.Character.Humanoid:UnequipTools()
if not LocalPlayer.Character:FindFirstChild("Gelatin") then
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Gelatin"))
end
fireproximityprompt(Pot.Attachment.ProximityPrompt)
task.wait(3)
repeat task.wait() until Pot.Timer.TextLabel.Text == "0"
if not LocalPlayer.Character:FindFirstChild("Empty Bag") then
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Empty Bag"))
end
task.wait(1)
fireproximityprompt(Pot.Attachment.ProximityPrompt)
task.wait(1)
LocalPlayer.Character.Humanoid:UnequipTools()
end
Teleport(CFrame.new(510, 4, 602), Owns_Bike)
repeat task.wait() until Workspace.NPCs:FindFirstChild('Lamont Bell')
task.wait(1)
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(511, 4, 598))
LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
for Index, Value in LocalPlayer.Backpack:GetChildren() do
if Value:IsA("Tool") and Value.Name:find("Marshmallow") then
LocalPlayer.Character.Humanoid:EquipTool(Value)
fireproximityprompt(Workspace.NPCs["Lamont Bell"].UpperTorso.ProximityPrompt)
task.wait(0.25)
end
end
task.wait(3)
end
end))
end
Stop_MarshmallowFarm = LPH_NO_VIRTUALIZE(function()
if not MarshmallowFarm_Thread then return end
if coroutine.status(MarshmallowFarm_Thread) == "suspended" then
task.cancel(MarshmallowFarm_Thread)
end
end)
local ChipFarm_Thread
Start_ChipFarm = function()
ChipFarm_Thread = task.spawn(LPH_JIT_MAX(function()
while task.wait(1) do
if not Config.South_Bronx.FarmingUtilities.ChipFarm then continue end
local Owns_Bike = Config.South_Bronx.OwnedBike == "No"
if not LocalPlayer.Backpack:FindFirstChild("Flour") or not LocalPlayer.Backpack:FindFirstChild("Potato") then
Teleport_Status = Teleport(CFrame.new(-773, 4, -157), Owns_Bike)
if not LocalPlayer.Backpack:FindFirstChild("Flour") then
repeat task.wait(2)
ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("StorePurchase"):FireServer("Flour")
until LocalPlayer.Backpack:FindFirstChild("Flour")
end
if not LocalPlayer.Backpack:FindFirstChild("Potato") then
repeat task.wait(2)
ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("StorePurchase"):FireServer("Potato")
until LocalPlayer.Backpack:FindFirstChild("Potato")
end
end
repeat task.wait() until LocalPlayer.Backpack:FindFirstChild("Potato") and LocalPlayer.Backpack:FindFirstChild("Flour")
task.wait(3)
Teleport_Status = Teleport(CFrame.new(-479, 4, -437), Owns_Bike)
repeat task.wait() until Teleport_Status == "Success"
task.wait(3)
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-479, 4, -437))
LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
fireproximityprompt(Workspace.Map.Locations["The Laboratory"].Prompts.Clipboard.ProximityPrompt)
task.wait(2)
local CookingBoard = GetCuttingBoard()
LocalPlayer.Character.Humanoid:MoveTo(CookingBoard.Part.Position)
LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
if not LocalPlayer.Character:FindFirstChild("Potato") then
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Potato"))
end
task.wait(2)
fireproximityprompt(CookingBoard:FindFirstChildWhichIsA("ProximityPrompt", true))
task.wait(3)
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-463, 4, -473))
LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
fireproximityprompt(Workspace.Map.Locations["The Laboratory"].Prompts["Plastic Bag"].Attachment.ProximityPrompt)
task.wait(1.5)
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-466, 4, -474))
LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-466, 4, -522))
LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
local Bowl = GetBowl()
LocalPlayer.Character.Humanoid:MoveTo(Bowl.CamPart.Position)
LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
if not LocalPlayer.Character:FindFirstChild("Flour") then
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Flour"))
end
task.wait(1)
fireproximityprompt(Bowl.ProximityPrompt)
task.wait(5)
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-466, 4, -518))
LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-467, 4, -470))
LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
local Pot = GetPot()
LocalPlayer.Character.Humanoid:MoveTo(Pot.Position)
LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
fireproximityprompt(Pot.ProximityPrompt)
task.wait(5)
repeat task.wait(1) until Pot.Timer.TextLabel.Text == "0"
fireproximityprompt(Pot.ProximityPrompt)
PressKey(Enum.KeyCode.W, .25) task.wait(.25)
PressKey(Enum.KeyCode.S, .25) task.wait(.25)
PressKey(Enum.KeyCode.A, .25) task.wait(.25)
PressKey(Enum.KeyCode.D, .25) task.wait(.25)
repeat task.wait() until LocalPlayer.Backpack:FindFirstChild("Potato Chips")
Teleport_Status = Teleport(Workspace.NPCs:FindFirstChild("Poor Guy").Head.CFrame)
repeat task.wait() until Teleport_Status == "Success"
task.wait(3)
LocalPlayer.Character.Humanoid:MoveTo(Workspace.NPCs:FindFirstChild("Poor Guy").Head.Position)
LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
fireproximityprompt(Workspace.NPCs["Poor Guy"].UpperTorso.ProximityPrompt)
task.wait(1)
task.wait(12.5)
local Hobo = Get_Hobo()
if not Hobo then
repeat wait(1)
Hobo = Get_Hobo()
until Hobo ~= nil
end
Teleport_Status = Teleport(Hobo.Head.CFrame)
repeat task.wait() until Teleport_Status == "Success" and tp_debounce == false
task.wait(5)
PressKey(Enum.KeyCode.W, .25) task.wait(.25)
PressKey(Enum.KeyCode.S, .25) task.wait(.25)
PressKey(Enum.KeyCode.A, .25) task.wait(.25)
PressKey(Enum.KeyCode.D, .25) task.wait(.25)
task.wait(1.25)
if not LocalPlayer.Character:FindFirstChild("Hot Chips") then
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Hot Chips"))
end
LocalPlayer.Character.Humanoid:MoveTo(Hobo:FindFirstChild("RightLowerLeg", true).Position)
LocalPlayer.Character.Humanoid.MoveToFinished:Wait()
task.wait(4)
local prompt = Hobo:FindFirstChildWhichIsA("ProximityPrompt", true)
fireproximityprompt(prompt)
task.wait(5)
end
end))
end
Stop_ChipFarm = LPH_NO_VIRTUALIZE(function()
if not ChipFarm_Thread then return end
if coroutine.status(ChipFarm_Thread) == "suspended" then
task.cancel(ChipFarm_Thread)
end
end)
local CardFarm_Thread
Start_CardFarm = function()
CardFarm_Thread = task.spawn(LPH_JIT_MAX(function()
while task.wait(1) do
if not Config.South_Bronx.FarmingUtilities.CardFarm then continue end
if not LocalPlayer.Character then continue end
if Config.South_Bronx.TeleportMethod ~= "Tween" then
if playerHasCard == false then
if not LocalPlayer.Backpack:FindFirstChild("Fake ID") and not LocalPlayer.Character:FindFirstChild("Fake ID") and not LocalPlayer.Backpack:FindFirstChild("Card") and not LocalPlayer.Character:FindFirstChild("Card") then
local Teleport_Status = Teleport(CFrame.new(219, 4, -332))
repeat RunService.RenderStepped:Wait() until Workspace.NPCs:FindFirstChild("FakeIDSeller")
repeat RunService.RenderStepped:Wait() fireproximityprompt(Workspace.NPCs.FakeIDSeller.UpperTorso.Attachment:FindFirstChild("ProximityPrompt")) until LocalPlayer.Backpack:FindFirstChild("Fake ID") or LocalPlayer.Character:FindFirstChild("Fake ID")
repeat RunService.RenderStepped:Wait() until Teleport_Status == "Success"
task.wait(1.5)
repeat RunService.RenderStepped:Wait() if LocalPlayer.Backpack:FindFirstChild("Fake ID") then
pcall(function()
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Fake ID"))
end)
end
until LocalPlayer.Character:FindFirstChild("Fake ID")
end
if not LocalPlayer.Backpack:FindFirstChild("Card") and not LocalPlayer.Character:FindFirstChild("Card") then
local Teleport_Status = Teleport(CFrame.new(-49, 4, -323))
repeat RunService.RenderStepped:Wait() until Workspace.NPCs:FindFirstChild("Bank Teller")
repeat RunService.RenderStepped:Wait() until Teleport_Status == "Success"
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-49, 4, -321))
task.wait(2.1)
local Application_Successful = false
local Old ; Old = LocalPlayer.PlayerGui.Main.Message.Warning:GetPropertyChangedSignal("Text"):Connect(function()
if not LocalPlayer.PlayerGui.Main.Message.Warning.Text:find("application") then return end
if LocalPlayer.PlayerGui.Main.Message.Warning.Text == "Your application was successful. Please allow 30 seconds for the bank to prepare your card." then
Application_Successful = true
playerHasCard = true
else
Application_Successful = false
playerHasCard = false
end
end)
repeat RunService.RenderStepped:Wait() if LocalPlayer.Backpack:FindFirstChild("Fake ID") then
pcall(function()
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Fake ID"))
end)
end
until LocalPlayer.Character:FindFirstChild("Fake ID")
repeat RunService.RenderStepped:Wait() until Workspace.NPCs:FindFirstChild("Bank Teller")
repeat fireproximityprompt(Workspace.NPCs:FindFirstChild("Bank Teller").UpperTorso.Attachment:FindFirstChild("ProximityPrompt")) task.wait() until not LocalPlayer.Character:FindFirstChild("Fake ID")
task.wait(1)
LocalPlayer.PlayerGui.Main.Message.Warning:GetPropertyChangedSignal("Text"):Wait()
task.spawn(function()
task.wait(3)
Old:Disconnect()
end)
task.wait(.5)
if Application_Successful == false then
continue
end
task.wait(1.5)
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-43, 4, -332))
task.wait(1.5)
repeat RunService.RenderStepped:Wait() fireproximityprompt(Workspace.Blank.Attachment.ProximityPrompt) until LocalPlayer.Backpack:FindFirstChild("Card")
playerHasCard = false
end
else
local Teleport_Status = Teleport(CFrame.new(-49, 4, -323))
repeat RunService.RenderStepped:Wait() until Workspace.NPCs:FindFirstChild("Bank Teller")
repeat RunService.RenderStepped:Wait() until Teleport_Status == "Success"
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-49, 4, -321))
task.wait(2.1)
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-43, 4, -332))
task.wait(1.5)
repeat RunService.RenderStepped:Wait() fireproximityprompt(Workspace.Blank.Attachment.ProximityPrompt) until LocalPlayer.Backpack:FindFirstChild("Card")
playerHasCard = false
end
if not LocalPlayer.Backpack:FindFirstChild("Card") and not LocalPlayer.Character:FindFirstChild("Card") then
continue
end
local ATM;
for Index, Value in Workspace.Map.ATMS:GetChildren() do
if Value.ATMScreen.Transparency == 0 then
ATM = Value
break
end
end
if ATM == nil then
repeat RunService.RenderStepped:Wait()
for Index, Value in Workspace.Map.ATMS:GetChildren() do
if Value.ATMScreen.Transparency == 0 then
ATM = Value
break
end
end
until ATM ~= nil
end
task.wait(1)
local Teleport_Status = Teleport(ATMPositions[tostring(ATM)])
repeat RunService.RenderStepped:Wait() until Teleport_Status == "Success"
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Card"))
--PressKey(Enum.KeyCode.LeftShift, .25) task.wait(.25)
PressKey(Enum.KeyCode.W, .25) task.wait(.25)
PressKey(Enum.KeyCode.S, .25) task.wait(.25)
PressKey(Enum.KeyCode.A, .25) task.wait(.25)
PressKey(Enum.KeyCode.D, .25) task.wait(.25)
task.wait(1.25)
LocalPlayer.Character.Humanoid:MoveTo(ATM.CFrame.Position)
task.wait(2.5)
--PressKey(Enum.KeyCode.LeftShift, .25) task.wait(.25)
PressKey(Enum.KeyCode.W, .25) task.wait(.25)
PressKey(Enum.KeyCode.S, .25) task.wait(.25)
PressKey(Enum.KeyCode.A, .25) task.wait(.25)
PressKey(Enum.KeyCode.D, .25) task.wait(.25)
task.wait(1.25)
fireproximityprompt(ATM.Attachment.ProximityPrompt)
LocalPlayer.Character.Humanoid:MoveTo(ATM.CFrame.Position)
if ATM.ATMScreen.Transparency == 1 then
continue
end
repeat RunService.RenderStepped:Wait() until LocalPlayer.PlayerGui:FindFirstChild("ATM")
Services.VirtualUser:CaptureController()
LocalPlayer.PlayerGui.ATM.Frame.Swipe.Position = UDim2.new(-3.0742092, 0, -0.270338974, 0)
task.wait(0.5)
LocalPlayer.PlayerGui.ATM.Frame.Swipe.Size = UDim2.new(1001 + Random.new():NextNumber(0.1, 1), 0, 1001 + Random.new():NextNumber(0.1, 1), 0)
task.wait(0.5)
repeat RunService.RenderStepped:Wait()
if LocalPlayer.PlayerGui:FindFirstChild("ATM") then
Services.VirtualUser:CaptureController() ;
Services.VirtualUser:ClickButton1(Vector2.new(LocalPlayer.PlayerGui.ATM.Frame.Swipe.AbsolutePosition))
end
until not LocalPlayer.PlayerGui:FindFirstChild("ATM")
task.wait(3)
else
if playerHasCard == false then
if not LocalPlayer.Backpack:FindFirstChild("Fake ID") and not LocalPlayer.Character:FindFirstChild("Fake ID") and not LocalPlayer.Backpack:FindFirstChild("Card") and not LocalPlayer.Character:FindFirstChild("Card") then
local DistanceFromFakeIDSeller = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position, Vector3.new(219.42543029785156, 3.7371325492858887, -332.2640686035156))
local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromFakeIDSeller), Enum.EasingStyle.Linear), {CFrame = CFrame.new(219.42543029785156, 3.7371325492858887, -332.2640686035156)})
PressKeyTween(Enum.KeyCode.W, Tween) ; PressKeyTween(Enum.KeyCode.LeftShift, Tween)
Tween:Play() ; Tween.Completed:Wait() ; Tween = nil
repeat RunService.RenderStepped:Wait() fireproximityprompt(Workspace.NPCs.FakeIDSeller.UpperTorso.Attachment:FindFirstChild("ProximityPrompt")) until LocalPlayer.Backpack:FindFirstChild("Fake ID") or LocalPlayer.Character:FindFirstChild("Fake ID")
repeat RunService.RenderStepped:Wait() if LocalPlayer.Backpack:FindFirstChild("Fake ID") then
pcall(function()
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Fake ID"))
end)
end
until LocalPlayer.Character:FindFirstChild("Fake ID")
end
if not LocalPlayer.Backpack:FindFirstChild("Card") and not LocalPlayer.Character:FindFirstChild("Card") then
local DistanceFromFakeBankClerk = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position, Vector3.new(-49.03115463256836, 3.7371387481689453, -323.28619384765625))
local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromFakeBankClerk), Enum.EasingStyle.Linear), {CFrame = CFrame.new(-49.03115463256836, 3.7371387481689453, -323.28619384765625)})
PressKeyTween(Enum.KeyCode.W, Tween) ; PressKeyTween(Enum.KeyCode.LeftShift, Tween)
Tween:Play() ; Tween.Completed:Wait() ; Tween = nil
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-49, 4, -321))
task.wait(2.1)
local Application_Successful = false
local Old ; Old = LocalPlayer.PlayerGui.Main.Message.Warning:GetPropertyChangedSignal("Text"):Connect(function()
if not LocalPlayer.PlayerGui.Main.Message.Warning.Text:find("application") then return end
if LocalPlayer.PlayerGui.Main.Message.Warning.Text == "Your application was successful. Please allow 30 seconds for the bank to prepare your card." then
Application_Successful = true
playerHasCard = true
else
Application_Successful = false
playerHasCard = false
end
end)
repeat RunService.RenderStepped:Wait() if LocalPlayer.Backpack:FindFirstChild("Fake ID") then
pcall(function()
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Fake ID"))
end)
end
until LocalPlayer.Character:FindFirstChild("Fake ID")
repeat RunService.RenderStepped:Wait() until Workspace.NPCs:FindFirstChild("Bank Teller")
repeat fireproximityprompt(Workspace.NPCs:FindFirstChild("Bank Teller").UpperTorso.Attachment:FindFirstChild("ProximityPrompt")) task.wait() until not LocalPlayer.Character:FindFirstChild("Fake ID")
task.wait(1)
LocalPlayer.PlayerGui.Main.Message.Warning:GetPropertyChangedSignal("Text"):Wait()
task.spawn(function()
task.wait(3)
Old:Disconnect()
end)
task.wait(.5)
if Application_Successful == false then
continue
end
task.wait(1.5)
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-43, 4, -332))
task.wait(1.5)
repeat RunService.RenderStepped:Wait() fireproximityprompt(Workspace.Blank.Attachment.ProximityPrompt) until LocalPlayer.Backpack:FindFirstChild("Card")
playerHasCard = false
end
else
local DistanceFromFakeBankClerk = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position, Vector3.new(-49.03115463256836, 3.7371387481689453, -323.28619384765625))
local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromFakeBankClerk), Enum.EasingStyle.Linear), {CFrame = CFrame.new(-49.03115463256836, 3.7371387481689453, -323.28619384765625)})
PressKeyTween(Enum.KeyCode.W, Tween) ; PressKeyTween(Enum.KeyCode.LeftShift, Tween)
Tween:Play() ; Tween.Completed:Wait() ; Tween = nil
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-49, 4, -321))
task.wait(2.1)
LocalPlayer.Character.Humanoid:MoveTo(Vector3.new(-43, 4, -332))
task.wait(1.5)
repeat RunService.RenderStepped:Wait() fireproximityprompt(Workspace.Blank.Attachment.ProximityPrompt) until LocalPlayer.Backpack:FindFirstChild("Card")
playerHasCard = false
end
if not LocalPlayer.Backpack:FindFirstChild("Card") and not LocalPlayer.Character:FindFirstChild("Card") then
continue
end
task.wait(3)
local ATM;
local function GetClosestATM()
local ATMClosestTable = {}
for Index, Value in Workspace.Map.ATMS:GetChildren() do
if Value.ATMScreen.Transparency == 0 then
table.insert(ATMClosestTable, {ATM = Value, Range = (LocalPlayer.Character.HumanoidRootPart.Position - Value.Position).Magnitude})
end
end
table.sort(ATMClosestTable, function(...)
return select(1, ...).Range < select(2, ...).Range
end)
return ATMClosestTable[1] ~= nil and ATMClosestTable[1].ATM or nil
end
repeat RunService.RenderStepped:Wait() until GetClosestATM() ~= nil
ATM = GetClosestATM()
task.wait(1)
local DistanceFromATM = GetDistance(LocalPlayer.Character.HumanoidRootPart.Position, ATMPositions[tostring(ATM)].Position)
local Tween = Services.TweenService:Create(LocalPlayer.Character.HumanoidRootPart, TweenInfo.new(GetTweenSpeed(DistanceFromATM), Enum.EasingStyle.Linear), {CFrame = ATMPositions[tostring(ATM)]})
PressKeyTween(Enum.KeyCode.W, Tween) ; PressKeyTween(Enum.KeyCode.LeftShift, Tween)
Tween:Play() ; Tween.Completed:Wait() ; Tween = nil
LocalPlayer.Character.Humanoid:MoveTo(ATM.CFrame.Position)
task.wait(4)
fireproximityprompt(ATM.Attachment.ProximityPrompt)
if ATM.ATMScreen.Transparency == 1 then
continue
end
if LocalPlayer.Backpack:FindFirstChild("Card") then
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("Card"))
task.wait(1)
end
repeat RunService.RenderStepped:Wait() until LocalPlayer.PlayerGui:FindFirstChild("ATM")
Services.VirtualUser:CaptureController()
LocalPlayer.PlayerGui.ATM.Frame.Swipe.Position = UDim2.new(-3.0742092, 0, -0.270338974, 0)
task.wait(0.5)
LocalPlayer.PlayerGui.ATM.Frame.Swipe.Size = UDim2.new(1001 + Random.new():NextNumber(0.1, 1), 0, 1001 + Random.new():NextNumber(0.1, 1), 0)
task.wait(0.5)
repeat RunService.RenderStepped:Wait()
if LocalPlayer.PlayerGui:FindFirstChild("ATM") then
Services.VirtualUser:CaptureController() ;
Services.VirtualUser:ClickButton1(Vector2.new(LocalPlayer.PlayerGui.ATM.Frame.Swipe.AbsolutePosition))
end
until not LocalPlayer.PlayerGui:FindFirstChild("ATM")
task.wait(3)
end
end
end))
end
Stop_CardFarm = LPH_NO_VIRTUALIZE(function()
if not CardFarm_Thread then return end
if coroutine.status(CardFarm_Thread) == "suspended" then
task.cancel(CardFarm_Thread)
end
end)
local Humanoid = LocalPlayer.Character:WaitForChild("Humanoid")
Humanoid.Died:Connect(function()
tp_debounce = false
if Config.South_Bronx.FarmingUtilities.CardFarm then
Stop_CardFarm()
end
if Config.South_Bronx.FarmingUtilities.BoxFarm then
Stop_BoxFarm()
end
if Config.South_Bronx.FarmingUtilities.ChipFarm then
Stop_ChipFarm()
end
if Config.South_Bronx.FarmingUtilities.MarshmallowFarm then
Stop_MarshmallowFarm()
end
end)
LocalPlayer.CharacterAdded:Connect(function(Character)
Humanoid = Character:WaitForChild("Humanoid")
tp_debounce = false
if Config.South_Bronx.FarmingUtilities.CardFarm then
Stop_CardFarm()
task.wait(10)
Start_CardFarm()
end
if Config.South_Bronx.FarmingUtilities.BoxFarm then
Stop_BoxFarm()
task.wait(10)
Start_BoxFarm()
end
if Config.South_Bronx.FarmingUtilities.ChipFarm then
Stop_ChipFarm()
task.wait(10)
Start_ChipFarm()
end
if Config.South_Bronx.FarmingUtilities.MarshmallowFarm then
Stop_MarshmallowFarm()
task.wait(10)
Start_MarshmallowFarm()
end
Humanoid.Died:Connect(function()
if Config.South_Bronx.FarmingUtilities.CardFarm then
Stop_CardFarm()
end
if Config.South_Bronx.FarmingUtilities.BoxFarm then
Stop_BoxFarm()
end
if Config.South_Bronx.FarmingUtilities.ChipFarm then
Stop_ChipFarm()
end
if Config.South_Bronx.FarmingUtilities.MarshmallowFarm then
Stop_MarshmallowFarm()
end
end)
end)
if Workspace:FindFirstChild("PromptPurchases") then
GunPosition = {}
for Index, Value in ReplicatedStorage.Workspace.PromptPurchases:GetChildren() do
if Value:IsA("Model") and not Workspace:FindFirstChild("PromptPurchases"):FindFirstChild(Value.Name) then
Value.Parent = Workspace:FindFirstChild("PromptPurchases")
end
end
for Index, Value in Workspace.PromptPurchases:GetChildren() do
if not Value:FindFirstChild("Price") then continue end
if not Value:FindFirstChild("proxprompt") then continue end
if not Value:FindFirstChild("proxprompt"):FindFirstChildOfClass("ProximityPrompt") then continue end
local GunWithPrice = string.format("%s - $%s", tostring(Value), tostring(Value.Price.Value))
if not table.find(Config.South_Bronx.Guns, GunWithPrice) then
table.insert(Config.South_Bronx.Guns, GunWithPrice)
GunPosition[Value.Name] = Value.proxprompt.CFrame
end
end
table.sort(Config.South_Bronx.Guns)
end
end
if Game_Name == "The Bronx" then
RequireSupport = type(select(2, pcall(require, Services.ReplicatedStorage.BlacklistedMarketTools))) == "table"
end
if Game_Name == "The Bronx" and RequireSupport then
local OldWeaponValues = {}
local GetAllTools = LPH_NO_VIRTUALIZE(function(LocalToolsOnly)
local Result = {}
for _, Value in next, {not LocalToolsOnly and Lighting, LocalPlayer.Backpack, LocalPlayer.Character ~= nil and LocalPlayer.Character} do
if type(Value) == "userdata" then
for _, _Value in next, Value:GetChildren() do
--if _Value.Name == "TP9EliteTan" then continue end
Result[#Result + 1] = _Value
end
end
end
return Result
end)
local GetPercentage = LPH_NO_VIRTUALIZE(function(DefaultValue, NewValue)
NewValue = math.max(0, math.min(100, NewValue))
local newRecoil = DefaultValue * (NewValue / 100)
return newRecoil
end)
local ModWeapon = LPH_JIT_MAX(function(Weapon)
local Module = Weapon:FindFirstChildOfClass("ModuleScript")
local OldConfig = OldWeaponValues[Weapon.Name]
if Module and Module.Name == "Setting" then
Module = require(Module)
else
return
end
if SetInfiniteAmmo == nil then
SetInfiniteAmmo = true
end
if SetInfiniteClips == nil then
SetInfiniteClips = true
end
if Config.TheBronx._Modifications.InfiniteClips then
debug.setupvalue(getsenv(Weapon:FindFirstChild("GunScript_Local")).Reload, 3, 90000)
SetInfiniteClips = false
end
if Config.TheBronx._Modifications.InfiniteClips == false and SetInfiniteClips == false then
debug.setupvalue(getsenv(Weapon:FindFirstChild("GunScript_Local")).Reload, 3, OldConfig.AmmoPerMag)
SetInfiniteClips = true
end
if Config.TheBronx._Modifications.InfiniteAmmo then
debug.setupvalue(getsenv(Weapon:FindFirstChild("GunScript_Local")).Reload, 5, Config.TheBronx._Modifications.InfiniteAmmo and 90000 or OldConfig.AmmoPerMag / 2)
SetInfiniteAmmo = false
end
if Config.TheBronx._Modifications.InfiniteAmmo == false and SetInfiniteAmmo == false then
debug.setupvalue(getsenv(Weapon:FindFirstChild("GunScript_Local")).Reload, 5, OldConfig.AmmoPerMag)
SetInfiniteAmmo = true
end
Module.LimitedAmmoEnabled = false
Module.FireRate = Config.TheBronx._Modifications.ModifyFireRate and GetPercentage(OldConfig.FireRate, Config.TheBronx._Modifications.FireRateSpeed) or OldConfig.FireRate
Module.ReloadTime = Config.TheBronx._Modifications.ModifyReloadSpeed and GetPercentage(OldConfig.ReloadTime, Config.TheBronx._Modifications.ReloadSpeed) or OldConfig.ReloadTime
if Module.SpreadXY then
Module.SpreadXY = Config.TheBronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.SpreadXY, Config.TheBronx._Modifications.SpreadPercentage) or OldConfig.SpreadXY
end
if Module.SpreadYX then
Module.SpreadYX = Config.TheBronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.SpreadYX, Config.TheBronx._Modifications.SpreadPercentage) or OldConfig.SpreadYX
end
if Module.Spread then
Module.Spread = Config.TheBronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.Spread, Config.TheBronx._Modifications.SpreadPercentage) or OldConfig.Spread
end
Module.SpreadX = Config.TheBronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.SpreadX, Config.TheBronx._Modifications.SpreadPercentage) or OldConfig.SpreadX
Module.SpreadY = Config.TheBronx._Modifications.ModifySpreadValue and GetPercentage(OldConfig.SpreadY, Config.TheBronx._Modifications.SpreadPercentage) or OldConfig.SpreadY
Module.Recoil = Config.TheBronx._Modifications.ModifyRecoilValue and GetPercentage(OldConfig.Recoil, Config.TheBronx._Modifications.RecoilPercentage) or OldConfig.Recoil
Module.BaseDamage = Config.TheBronx._Modifications.InfiniteDamage and math.huge or OldConfig.BaseDamage
Module.Auto = Config.TheBronx._Modifications.Automatic or OldConfig.Auto
Module.JamChance = Config.TheBronx._Modifications.DisableJamming and 0 or OldConfig.JamChance
Module.Auto = Config.TheBronx._Modifications.Automatic or OldConfig.Auto
Module.EquipTime = Config.TheBronx._Modifications.ModifyEquipSpeed and GetPercentage(OldConfig.EquipTime, Config.TheBronx._Modifications.EquipSpeed) or OldConfig.EquipTime
Module.JamChance = Config.TheBronx._Modifications.NoJam and 0 or OldConfig.JamChance
end)
local ModWeapons = LPH_NO_VIRTUALIZE(function()
for _, Weapon in next, GetAllTools(true) do
if Weapon:IsA("Tool") then
ModWeapon(Weapon)
end
end
end)
local SetValues = LPH_NO_VIRTUALIZE(function()
for _, Weapon in next, GetAllTools() do
if Weapon:IsA("Tool") then
local Module = Weapon:FindFirstChildOfClass("ModuleScript")
if Module and Module.Name == "Setting" then
Module = require(Module)
end
if type(Module) == "table" and not OldWeaponValues[Weapon.Name] then
OldWeaponValues[Weapon.Name] = {}
local OldConfig = OldWeaponValues[Weapon.Name]
for Index, Value in next, Module do
OldConfig[Index] = Value
end
end
end
end
end)
if not LocalPlayer.Character then LocalPlayer.CharacterAdded:Wait() end
LocalPlayer.Character.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Value)
if not Value:IsA("Tool") then return end
SetValues()
ModWeapon(Value);
end))
LocalPlayer.Backpack.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Value)
if not Value:IsA("Tool") then return end
SetValues()
ModWeapon(Value);
end))
LocalPlayer.CharacterAdded:Connect(function(Character)
Character.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Value)
if not Value:IsA("Tool") then return end
SetValues()
ModWeapon(Value);
end))
LocalPlayer.Backpack.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function(Value)
if not Value:IsA("Tool") then return end
SetValues()
ModWeapon(Value);
end))
end)
local ConfigMetatable = getmetatable(Config.TheBronx.Modifications)
ConfigMetatable.__index = LPH_NO_VIRTUALIZE(function(...)
return Config.TheBronx._Modifications[select(2, ...)]
end)
ConfigMetatable.__newindex = LPH_NO_VIRTUALIZE(function(...)
local Index, Value = select(2, ...)
Config.TheBronx._Modifications[Index] = Value; ModWeapons()
end)
end
if Game_Name == "The Bronx" then
RunService.RenderStepped:Connect(LPH_NO_VIRTUALIZE(function()
if LocalPlayer.PlayerGui:FindFirstChild("Run") and LocalPlayer.PlayerGui.Run:FindFirstChild("StaminaBarScript", true) then
LocalPlayer.PlayerGui.Run:FindFirstChild("StaminaBarScript", true).Disabled = Config.TheBronx.PlayerModifications.InfiniteStamina
end
if LocalPlayer.PlayerGui:FindFirstChild("Hunger") and LocalPlayer.PlayerGui.Hunger:FindFirstChild("HungerBarScript", true) then
LocalPlayer.PlayerGui.Hunger:FindFirstChild("HungerBarScript", true).Disabled = Config.TheBronx.PlayerModifications.InfiniteHunger
end
if LocalPlayer.PlayerGui:FindFirstChild("SleepGui") and LocalPlayer.PlayerGui.SleepGui:FindFirstChild("sleepScript", true) then
LocalPlayer.PlayerGui.SleepGui:FindFirstChild("sleepScript", true).Disabled = Config.TheBronx.PlayerModifications.InfiniteSleep
end
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("CameraBobbing") then
LocalPlayer.Character:FindFirstChild("CameraBobbing").Disabled = Config.TheBronx.PlayerModifications.DisableCameraBobbing
end
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("FallDamageRagdoll") then
LocalPlayer.Character:FindFirstChild("FallDamageRagdoll").Disabled = Config.TheBronx.PlayerModifications.NoFallDamage
end
if LocalPlayer.PlayerGui:FindFirstChild("BloodGui") then
LocalPlayer.PlayerGui:FindFirstChild("BloodGui").Enabled = not Config.TheBronx.PlayerModifications["DisableBloodEffects"]
end
if LocalPlayer.PlayerGui:FindFirstChild("JumpDebounce") and LocalPlayer.PlayerGui:FindFirstChild("JumpDebounce"):FindFirstChild("LocalScript") then
LocalPlayer.PlayerGui:FindFirstChild("JumpDebounce").LocalScript.Disabled = Config.TheBronx.PlayerModifications.NoJumpCooldown
end
if LocalPlayer.PlayerGui:FindFirstChild("CameraTexts") and LocalPlayer.PlayerGui:FindFirstChild("CameraTexts"):FindFirstChild("LocalScript") then
LocalPlayer.PlayerGui:FindFirstChild("CameraTexts").Enabled = not Config.TheBronx.PlayerModifications.DisableCameras
LocalPlayer.PlayerGui:FindFirstChild("CameraTexts").LocalScript.Disabled = Config.TheBronx.PlayerModifications.DisableCameras
end
if LocalPlayer.PlayerGui:FindFirstChild("JumpDebounce") and LocalPlayer.PlayerGui:FindFirstChild("JumpDebounce"):FindFirstChild("LocalScript") then
LocalPlayer.PlayerGui:FindFirstChild("JumpDebounce").LocalScript.Disabled = Config.TheBronx.PlayerModifications.NoJumpCooldown
end
if LocalPlayer.PlayerGui:FindFirstChild("RentGui") and LocalPlayer.PlayerGui:FindFirstChild("RentGui"):FindFirstChild("LocalScript") then
LocalPlayer.PlayerGui:FindFirstChild("RentGui").LocalScript.Disabled = Config.TheBronx.PlayerModifications.NoRentPay
end
if Config.TheBronx.PlayerModifications.AutoPickupBags and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
for Index, Value in next, Workspace.Storage:GetChildren() do
if not Value:IsA("MeshPart") then continue end
if Value:FindFirstChild("PlayerName") and Value:FindFirstChild("PlayerName").Value == LocalPlayer.Name then continue end
if (Value.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude < 5 then
fireproximityprompt(Value.stealprompt)
end
end
end
if Config.TheBronx.PlayerModifications.AutoPickupCash and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
for Index, Value in next, Workspace.Dollas:GetChildren() do
if not Value:IsA("Part") then continue end
if (Value.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude < 5 then
fireproximityprompt(Value.ProximityPrompt)
end
end
end
end))
LocalPlayer.CharacterAdded:Connect(LPH_NO_VIRTUALIZE(function()
if Config.TheBronx.PlayerModifications.DisableCameras then
Lighting.Shiesty:FindFirstChildWhichIsA("RemoteEvent", true):FireServer()
end
end))
UserInputService.InputBegan:Connect(LPH_NO_VIRTUALIZE(function(Input, Game_Event)
if Game_Event then return end
if not Config.MiscSettings.ModifyJump.Infinity then return end
if Input.KeyCode == Enum.KeyCode.Space then
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") and LocalPlayer.Character.Humanoid.Health ~= 0 then
LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
end
end))
local DeathFrame;
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
LocalPlayer.Character:FindFirstChild("Humanoid").Died:Connect(LPH_NO_VIRTUALIZE(function()
DeathFrame = LocalPlayer.Character:WaitForChild("HumanoidRootPart").CFrame
end))
LocalPlayer.Character.DescendantAdded:Connect(function(Descendant)
if Descendant:IsA("BodyVelocity") or Descendant:IsA("LinearVelocity") or Descendant:IsA("VectorForce") and Config.TheBronx.PlayerModifications.NoKnockback then
task.wait(); Descendant:Destroy()
end
end)
end
LocalPlayer.CharacterAdded:Connect(LPH_NO_VIRTUALIZE(function(Character)
Character:WaitForChild("Humanoid"); Character:WaitForChild("HumanoidRootPart");
LocalPlayer.Character.DescendantAdded:Connect(function(Descendant)
if Descendant:IsA("BodyVelocity") or Descendant:IsA("LinearVelocity") or Descendant:IsA("VectorForce") and Config.TheBronx.PlayerModifications.NoKnockback then
task.wait(); Descendant:Destroy()
end
end)
Character:WaitForChild("Humanoid").Died:Connect(function()
DeathFrame = Character:WaitForChild("HumanoidRootPart").CFrame
end)
if Config.TheBronx.PlayerModifications.RespawnWhereYouDied and typeof(DeathFrame) == "CFrame" then
Character:WaitForChild("HumanoidRootPart").CFrame = DeathFrame
end
end))
local KEYCODES = {
[Enum.KeyCode.W] = true,
[Enum.KeyCode.A] = true,
[Enum.KeyCode.S] = true,
[Enum.KeyCode.D] = true,
[Enum.KeyCode.LeftControl] = true,
[Enum.KeyCode.Space] = true
}
local root = LocalPlayer.Character:WaitForChild("HumanoidRootPart")
local humanoid = LocalPlayer.Character:WaitForChild("Humanoid")
local input_keys = {}
local flight_registry = {}
-- Functions
local isKeysPressed = function(...)
local keys = {...}
for i = 1, #keys do
if input_keys[keys[i]] then return 1 end
end
return 0
end
local getFlightDirection = function()
return Vector3.new(
isKeysPressed(Enum.KeyCode.D) - isKeysPressed(Enum.KeyCode.A),
isKeysPressed(Enum.KeyCode.Space) - isKeysPressed(Enum.KeyCode.LeftControl),
isKeysPressed(Enum.KeyCode.S) - isKeysPressed(Enum.KeyCode.W)
)
end
StartFlight = LPH_NO_VIRTUALIZE(function()
if Config.MiscSettings.Fly.Type == "Classic" then
local gyro = Instance.new("BodyGyro")
local velo = Instance.new("BodyVelocity")
table.insert(
flight_registry,
RunService.Stepped:Connect(function(t, dt)
if not root or not humanoid then return end
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
humanoid.PlatformStand = true
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
local velocity = getFlightDirection() * Config.MiscSettings.Fly.Speed
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
local orientation = CFrame.fromEulerAnglesXYZ(Camera.CFrame:ToEulerAnglesXYZ())
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
gyro.CFrame = orientation
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
velo.Velocity = orientation:PointToWorldSpace(velocity)
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
gyro.Parent = root
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
velo.Parent = root
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
end)
)
table.insert(flight_registry, gyro)
table.insert(flight_registry, velo)
table.insert(flight_registry, function() humanoid.PlatformStand = false end)
gyro.P = 9e4
gyro.D = 1e3
gyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9)
velo.MaxForce = Vector3.new(9e9, 9e9, 9e9)
elseif Config.MiscSettings.Fly.Type == "CFrame" then
table.insert(
flight_registry,
RunService.Stepped:Connect(function(t, dt)
if not root or not humanoid then return end
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
local velocity = getFlightDirection() * Config.MiscSettings.Fly.Speed * dt
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
local position, orientation = CFrame.new(root.Position), CFrame.fromEulerAnglesXYZ(Camera.CFrame:ToEulerAnglesXYZ())
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
root.CFrame = position * orientation * CFrame.new(velocity)
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
root.AssemblyLinearVelocity = Vector3.zero
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
root.AssemblyAngularVelocity = Vector3.zero
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
root.Anchored = true
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
humanoid.PlatformStand = true
humanoid:ChangeState(Enum.HumanoidStateType.Freefall)
end)
)
table.insert(flight_registry, function() root.Anchored = false end)
table.insert(flight_registry, function() humanoid.PlatformStand = false end)
end
end)
ResetFlight = LPH_NO_VIRTUALIZE(function()
for i,v in flight_registry do
local t = typeof(v)
if t == "RBXScriptConnection" then v:Disconnect()
elseif t == "Instance" then v:Destroy()
elseif t == "function" then task.spawn(v) end
end
flight_registry = {}
end)
local OnCharacter = LPH_NO_VIRTUALIZE(function(character: Model)
root = character:WaitForChild("HumanoidRootPart")
humanoid = character:WaitForChild("Humanoid")
if Config.TheBronx.Fly.Enabled then
RunService.Stepped:Wait()
StartFlight()
end
end)
local OnInputBegan = LPH_NO_VIRTUALIZE(function(input: InputObject, gameProcessedEvent: boolean)
if gameProcessedEvent then return end
if input.UserInputType ~= Enum.UserInputType.Keyboard then return end
local keycode = input.KeyCode
if KEYCODES[keycode] then input_keys[keycode] = true end
end)
local OnInputEnded = LPH_NO_VIRTUALIZE(function(input: InputObject)
if input.UserInputType ~= Enum.UserInputType.Keyboard then return end
local keycode = input.KeyCode
if KEYCODES[keycode] then input_keys[keycode] = false end
end)
local OnCamera = LPH_NO_VIRTUALIZE(function()
Camera = Workspace.CurrentCamera or Camera
end)
if LocalPlayer.Character then task.spawn(OnCharacter, LocalPlayer.Character) end
LocalPlayer.CharacterAdded:Connect(OnCharacter)
UserInputService.InputBegan:Connect(OnInputBegan)
UserInputService.InputEnded:Connect(OnInputEnded)
Workspace.Changed:Connect(OnCamera)
local kill_gun = LPH_JIT_MAX(function(target: string, hpart: string, damage: number)
if not hpart then
hpart = "head"
end
if not damage then
damage = math.huge
end
local data = {
["tool"] = Players.LocalPlayer.Character:FindFirstChildOfClass("Tool"),
["target"] = Players[target],
["hitpos"] = Players[target].Character[hpart].Position,
}
if not rawget(data, "tool") then
return
end
if RequireSupport then
require(rawget(data, "tool").Setting).Range = 10000
end
ReplicatedStorage.VisualizeMuzzle:FireServer(table.unpack({
rawget(data, "tool").Handle,
true,
{
false,
7,
Color3.new(1, 1.1098039150238, 0),
15,
true,
0.02
},
rawget(data, "tool").GunScript_Local.MuzzleEffect
}))
ReplicatedStorage.VisualizeBullet:FireServer(table.unpack({
rawget(data, "tool"),
rawget(data, "tool").Handle,
Vector3.new(-0.17746905982494, 0.088731124997139, 0.98011803627014),
rawget(data, "tool").Handle.GunFirePoint,
{
true,
{
112139677907600,
92977228204408,
112139677907600,
92977228204408
},
1,
1,
10,
rawget(data, "tool").GunScript_Local.HitEffect,
true
},
{
true,
{
0,
0,
0,
0,
0,
0
},
1,
1,
1,
rawget(data, "tool").GunScript_Local.BloodEffect
},
{
true,
0.2,
{
3696144972
},
true,
7,
1
},
{
false,
8,
true,
{
163064102
},
1,
1.5,
1,
false,
rawget(data, "tool").GunScript_Local.ExplosionEffect
},
{
false,
Vector3.new(0.10000000149012, 0, 0),
Vector3.new(-0.10000000149012, 0, 0),
rawget(data, "tool").GunScript_Local.TracerEffect,
nil,
rawget(data, "tool").GunScript_Local.ParticleEffect,
300,
526,
0,
Vector3.zero,
Vector3.new(0.40000000596046, 0.40000000596046, 0.40000000596046),
Color3.new(0.63921570777893, 0.63529413938522, 0.61176472902298),
1,
Enum.Material.Neon,
Enum.PartType.Cylinder,
false,
6696543809,
0,
Vector3.new(0.0070000002160668, 0.0070000002160668, 0.0070000002160668)
},
{
true,
{
269514869,
269514887,
269514807,
269514817
},
0.5,
1,
1.5,
100
},
{
false,
3,
Color3.new(1, 0.64705884456635, 0.60000002384186),
6,
true
}
}))
ReplicatedStorage.InflictTarget:FireServer(table.unpack({
rawget(data, "tool"),
LocalPlayer,
rawget(data, "target").Character.Humanoid,
rawget(data, "target").Character[hpart],
damage,
{
0,
0,
false,
false,
rawget(data, "tool").GunScript_Server.IgniteScript,
rawget(data, "tool").GunScript_Server.IcifyScript,
100,
100
},
{
false,
5,
3
},
rawget(data, "target").Character[hpart],
{
false,
{
1930359546
},
1,
1.5,
1
},
rawget(data, "hitpos"),
Vector3.new(0.074456036090851, -0.099775791168213, -0.99222022294998),
true
}))
end)
getgenv().kill_gun = kill_gun
task.spawn(LPH_NO_VIRTUALIZE(function()
while task.wait(1) do
if not Config.TheBronx.KillAura then continue end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChildOfClass("Tool") or not LocalPlayer.Character:FindFirstChildOfClass("Tool"):FindFirstChild("Setting") then continue end
for Index, Value in Players:GetPlayers() do
if table.find(library.whitelist, tostring(Value)) then continue end
if Value == LocalPlayer then continue end
if not Value.Character or not Value.Character:FindFirstChildOfClass("Humanoid") or not Value.Character:FindFirstChild("HumanoidRootPart") then continue end
if Value.Character:FindFirstChildOfClass("Humanoid").Health == 0 then continue end
if Value.Character:FindFirstChildOfClass("ForceField") then continue end
if not DistanceCheck(Value, Config.TheBronx.KillAuraRange) then continue end
kill_gun(tostring(Value), 'Head', math.huge)
end
end
end))
local Get_Vehicle = LPH_NO_VIRTUALIZE(function()
for Index, Value in Workspace.CivCars:GetChildren() do
if not Value:FindFirstChild("DriveSeat") then continue end
if not Value.DriveSeat.Occupant then
return Value
end
end
end)
task.spawn(LPH_NO_VIRTUALIZE(function()
while task.wait() do
if not Config.TheBronx.PlayerUtilities.BugPlayer then continue end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart") then continue end
local Car_To_Use = Get_Vehicle()
if not Car_To_Use then continue end
if not Car_To_Use:FindFirstChild("DriveSeat") then continue end
if Car_To_Use:FindFirstChild("DriveSeat").Occupant then continue end
if not Car_To_Use:GetAttribute("Usable") or Car_To_Use:GetAttribute("Usable") == false then
Car_To_Use.DriveSeat:Sit(LocalPlayer.Character.Humanoid)
Car_To_Use:SetAttribute("Usable", true)
task.wait(1)
LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
LocalPlayer.Character.Humanoid.Jump = true
LocalPlayer.Character.Humanoid.Sit = false
end
task.wait()
if not Car_To_Use.PrimaryPart then
Car_To_Use.PrimaryPart = Car_To_Use.Body:FindFirstChild("#Weight")
end
Car_To_Use:SetPrimaryPartCFrame(Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart").CFrame)
end
end))
task.spawn(LPH_NO_VIRTUALIZE(function()
while task.wait(.25) do
if not Config.TheBronx.AutoDrop then continue end
ReplicatedStorage:WaitForChild("BankProcessRemote"):InvokeServer("Drop", tostring(Config.TheBronx.MoneyAmount))
end
end))
task.spawn(LPH_NO_VIRTUALIZE(function()
while task.wait(1) do
if not Config.TheBronx.PlayerUtilities.AutoKill then continue end
if not LocalPlayer.Character then continue end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart") then continue end
if not LocalPlayer.Character:FindFirstChildOfClass("Tool") then continue end
if not LocalPlayer.Character:FindFirstChildOfClass("Tool"):FindFirstChild("GunScript_Local") then continue end
if Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid").Health == 0 then continue end
if Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChildOfClass("ForceField") then continue end
if RequireSupport then
kill_gun(Config.TheBronx.PlayerUtilities.SelectedPlayer, 'Head', math.huge)
else
if DistanceCheck(Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer), 300) == false then
local OldCFrame = LocalPlayer.Character:FindFirstChild("HumanoidRootPart").CFrame
Teleport(Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart").CFrame)
kill_gun(Config.TheBronx.PlayerUtilities.SelectedPlayer, 'Head', math.huge)
task.wait(.5)
Teleport(OldCFrame)
else
kill_gun(Config.TheBronx.PlayerUtilities.SelectedPlayer, 'Head', math.huge)
end
end
end
end))
task.spawn(LPH_NO_VIRTUALIZE(function()
while task.wait(2) do
if not Config.TheBronx.PlayerUtilities.AutoRagdoll then continue end
if not LocalPlayer.Character then continue end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart") then continue end
if not LocalPlayer.Character:FindFirstChildOfClass("Tool") then continue end
if not LocalPlayer.Character:FindFirstChildOfClass("Tool"):FindFirstChild("GunScript_Local") then continue end
if Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid").Health == 0 then continue end
if Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("Humanoid"):GetState() == Enum.HumanoidStateType.Physics then continue end
kill_gun(Config.TheBronx.PlayerUtilities.SelectedPlayer, 'RightUpperLeg', 0.01)
end
end))
task.spawn(LPH_NO_VIRTUALIZE(function()
while task.wait() do
if not Config.TheBronx.PlayerUtilities.BringingPlayer then continue end
if tostring(Config.TheBronx.PlayerUtilities.SelectedPlayer) == tostring(LocalPlayer) then continue end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer) or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character or not Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart") then continue end
Players:FindFirstChild(Config.TheBronx.PlayerUtilities.SelectedPlayer).Character:FindFirstChild("HumanoidRootPart").CFrame = LocalPlayer.Character:FindFirstChild("HumanoidRootPart").CFrame + Vector3.new(2, 0, 0)
end
end))
task.spawn(LPH_NO_VIRTUALIZE(function()
while true do
task.wait(0)
if Config.TheBronx.VehicleModifications.SpeedEnabled and UserInputService:IsKeyDown(Enum.KeyCode.W) then
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
if LocalPlayer.Character and typeof(LocalPlayer.Character) == "Instance" then
local Humanoid = LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid")
if Humanoid and typeof(Humanoid) == "Instance" then
local SeatPart = Humanoid.SeatPart
if SeatPart and typeof(SeatPart) == "Instance" and SeatPart:IsA("VehicleSeat") then
SeatPart.AssemblyLinearVelocity *= Vector3.new(1 + Config.TheBronx.VehicleModifications.SpeedValue, 1, 1 + Config.TheBronx.VehicleModifications.SpeedValue)
end
end
end
end
end
end
end))
task.spawn(LPH_NO_VIRTUALIZE(function()
while true do
task.wait(0)
if Config.TheBronx.VehicleModifications.BreakEnabled and UserInputService:IsKeyDown(Enum.KeyCode.S) then
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
if LocalPlayer.Character and typeof(LocalPlayer.Character) == "Instance" then
local Humanoid = LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid")
if Humanoid and typeof(Humanoid) == "Instance" then
local SeatPart = Humanoid.SeatPart
if SeatPart and typeof(SeatPart) == "Instance" and SeatPart:IsA("VehicleSeat") then
SeatPart.AssemblyLinearVelocity *= Vector3.new(1 - Config.TheBronx.VehicleModifications.BreakValue, 1, 1 - Config.TheBronx.VehicleModifications.BreakValue)
end
end
end
end
end
end
end))
local GetPlaceToPlaceWood = LPH_NO_VIRTUALIZE(function()
for Index, Value in Workspace.ConstructionStuff:GetChildren() do
if Value.Name:find("Wall") and Value:IsA("Part") and Value:FindFirstChild("Prompt") then
if Value:FindFirstChild("Prompt").Enabled then
return Value
end
end
end
end)
task.spawn(LPH_NO_VIRTUALIZE(function()
while true do task.wait()
if not Config.TheBronx.Farms.FarmConstructionJob then continue end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then continue end
if not LocalPlayer.Character:FindFirstChild("Humanoid") or LocalPlayer.Character:FindFirstChild("Humanoid").Health == 0 then continue end
if not LocalPlayer:GetAttribute("WorkingJob") then
Teleport(CFrame.new(-1729, 371, -1171))
task.wait(0.4)
fireproximityprompt(Workspace.ConstructionStuff["Start Job"].Prompt)
repeat task.wait() until LocalPlayer:GetAttribute("WorkingJob")
end
if not LocalPlayer.Backpack:FindFirstChild("PlyWood") and not LocalPlayer.Character:FindFirstChild("PlyWood") then
Teleport(CFrame.new(-1728, 371, -1178))
repeat task.wait() fireproximityprompt(Workspace.ConstructionStuff["Grab Wood"].Prompt) until LocalPlayer.Backpack:FindFirstChild("PlyWood") or LocalPlayer.Character:FindFirstChild("PlyWood")
end
repeat task.wait() until LocalPlayer.Backpack:FindFirstChild("PlyWood") or LocalPlayer.Character:FindFirstChild("PlyWood")
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("PlyWood"))
local PlaceToPlaceWood = GetPlaceToPlaceWood()
if not PlaceToPlaceWood then continue end
Teleport(PlaceToPlaceWood.CFrame)
repeat task.wait()
fireproximityprompt(PlaceToPlaceWood.Prompt)
until not LocalPlayer.Character:FindFirstChild("PlyWood") or not PlaceToPlaceWood.Prompt.Enabled
end
end))
task.spawn(LPH_NO_VIRTUALIZE(function()
while true do task.wait()
if not Config.TheBronx.Farms.FarmBank then continue end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then continue end
if not LocalPlayer.Character:FindFirstChild("Humanoid") or LocalPlayer.Character:FindFirstChild("Humanoid").Health == 0 then continue end
local OldCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame
local Robbable = Workspace.vault.door.robPrompt.ProximityPrompt.Enabled
if not Robbable then
if Config.TheBronx.Farms.AFKCheck then
Teleport(SafePosition)
end
task.wait(0.4)
continue
end
if not LocalPlayer.Character:FindFirstChild("DuffelBag") then
Teleport(CFrame.new(-397, 340, -551))
task.wait(0.4)
fireproximityprompt(Workspace.dufflebagequip:FindFirstChildWhichIsA("ProximityPrompt"))
end
if not LocalPlayer.Backpack:FindFirstChild("C4") and not LocalPlayer.Character:FindFirstChild("C4") then
Teleport(CFrame.new(-393, 340, -564))
task.wait(0.4)
fireproximityprompt(Workspace.GUNS.C4.Handle.BuyPrompt)
end
repeat task.wait() until LocalPlayer.Backpack:FindFirstChild("C4") or LocalPlayer.Character:FindFirstChild("C4")
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack:FindFirstChild("C4"))
Teleport(CFrame.new(-196, 374, -1216))
task.wait(0.4)
fireproximityprompt(Workspace.vault.door.robPrompt.ProximityPrompt)
task.wait(2)
local Number = LocalPlayer.Character.DuffelBag.display.SurfaceGui.Frame.TextLabel.Text
Number = Number:gsub("0/", "")
for Index = 1, math.min(5, tonumber(Number)) do
local Cash = Workspace.BankItems.Cash:FindFirstChild("Cash")
if not Cash then
for i,v in Workspace:GetChildren() do
if v.Name == "Cash" and v:IsA("Model") and v:FindFirstChild("Model") then
Cash = v
end
end
end
Teleport(Cash.Model.Cash.CFrame)
task.wait(0.4)
fireproximityprompt(Cash.Model:FindFirstChildWhichIsA("ProximityPrompt", true))
task.wait(.25)
end
Teleport(Workspace.sellgold.CFrame)
task.wait(0.4)
fireclickdetector(Workspace.sellgold.ClickDetector)
task.spawn(Teleport, OldCFrame)
task.wait(0.4)
end
end))
task.spawn(LPH_NO_VIRTUALIZE(function()
while true do task.wait()
if not Config.TheBronx.Farms.FarmHouses then continue end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then continue end
if not LocalPlayer.Character:FindFirstChild("Humanoid") or LocalPlayer.Character:FindFirstChild("Humanoid").Health == 0 then continue end
local OldCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame
local HardDoorEnabled = Workspace.HouseRobb.HardDoor.Door:FindFirstChildWhichIsA("ProximityPrompt", true).Enabled
if not HardDoorEnabled and Config.TheBronx.Farms.AFKCheck then
Teleport(SafePosition)
continue
end
if HardDoorEnabled then
repeat task.wait()
Teleport(Workspace.HouseRobb.HardDoor.Door:FindFirstChildWhichIsA("ProximityPrompt", true).Parent.CFrame)
task.wait(0.4)
fireproximityprompt(Workspace.HouseRobb.HardDoor.Door:FindFirstChildWhichIsA("ProximityPrompt", true))
until Workspace.HouseRobb.HardDoor:FindFirstChild("TakeMoney") and Workspace.HouseRobb.HardDoor:FindFirstChild("TakeMoney"):FindFirstChild("MoneyGrab"):FindFirstChildWhichIsA("ProximityPrompt", true).Enabled
for Index, Value in Workspace.HouseRobb.HardDoor.TakeMoney:GetChildren() do
Teleport(Value.CFrame)
fireproximityprompt(Value.ProximityPrompt)
task.wait(0.025)
end
task.spawn(Teleport, OldCFrame)
task.wait(0.4)
continue
end
end
end))
task.spawn(LPH_NO_VIRTUALIZE(function()
while true do task.wait()
if not Config.TheBronx.Farms.FarmStudio then continue end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then continue end
if not LocalPlayer.Character:FindFirstChild("Humanoid") or LocalPlayer.Character:FindFirstChild("Humanoid").Health == 0 then continue end
local OldCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame
local Prompt1, Prompt2, Prompt3 = Workspace.StudioPay.Money.StudioPay1:FindFirstChild("Prompt", true), Workspace.StudioPay.Money.StudioPay2:FindFirstChild("Prompt", true), Workspace.StudioPay.Money.StudioPay3:FindFirstChild("Prompt", true)
if Prompt1.Enabled then
Teleport(Prompt1.Parent.CFrame)
task.wait(0.4)
fireproximityprompt(Prompt1)
task.wait(0.1)
end
if Prompt2.Enabled then
Teleport(Prompt2.Parent.CFrame)
task.wait(0.4)
fireproximityprompt(Prompt2)
task.wait(0.1)
end
if Prompt3.Enabled then
Teleport(Prompt3.Parent.CFrame)
task.wait(0.4)
fireproximityprompt(Prompt3)
task.wait(0.1)
end
task.spawn(Teleport, OldCFrame)
task.wait(0.4)
if Config.TheBronx.Farms.AFKCheck then
task.wait(0.4)
Teleport(SafePosition)
task.wait(0.4)
continue
end
end
end))
local PressKey = function(KeyCode, Duration)
task.spawn(LPH_NO_VIRTUALIZE(function()
Services.VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
Services.VirtualInputManager:SendKeyEvent(true, KeyCode, false, game)
task.wait(Duration)
Services.VirtualInputManager:SendKeyEvent(false, KeyCode, false, game)
end))
end
task.spawn(LPH_NO_VIRTUALIZE(function()
while true do task.wait()
if not Config.TheBronx.Farms.FarmTrash then continue end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then continue end
if not LocalPlayer.Character:FindFirstChild("Humanoid") or LocalPlayer.Character:FindFirstChild("Humanoid").Health == 0 then continue end
local OldCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame
for Index, Value in Workspace:GetChildren() do
if Value.Name == "DumpsterPromt" and Config.TheBronx.Farms.FarmTrash then
if Value:FindFirstChild("ProximityPrompt") and Value:FindFirstChild("ProximityPrompt").Enabled then
Value:FindFirstChild("ProximityPrompt").HoldDuration = 0
Teleport(CFrame.new(Value.Position.X, Value.Position.Y, Value.Position.Z))
task.wait(0.4)
if not Solara then
PressKey(Enum.KeyCode.E)
else
fireproximityprompt(Value:FindFirstChild("ProximityPrompt"))
end
task.wait(0.5)
Value:FindFirstChild("ProximityPrompt").HoldDuration = 1
end
end
end
if Config.TheBronx.Farms.AutoSellTrash then
for Index, Value in LocalPlayer.Backpack:GetChildren() do
if Value:IsA("Tool") then
ReplicatedStorage:WaitForChild("PawnRemote"):FireServer(Value.Name)
task.wait()
end
end
task.wait(1)
end
task.spawn(Teleport, OldCFrame)
task.wait(0.4)
end
end))
GetGoodCleaner = LPH_NO_VIRTUALIZE(function()
local CounterInstance;
for Index, Value in Workspace["1# Map"]:GetChildren() do
if Value:FindFirstChild("CounterM") then
CounterInstance = Value
end
end
for Index, Value in next, {Workspace.CounterBag:GetChildren(), CounterInstance:GetChildren()} do
for _Index, _Value in Value do
if _Value:FindFirstChild("CashPrompt", true) and _Value:FindFirstChild("CashPrompt", true).Enabled and _Value:FindFirstChild("CashPrompt", true).ObjectText == "Count Bread" and _Value:FindFirstChild("GrabPrompt", true) and not _Value:FindFirstChild("GrabPrompt", true).Enabled then
return _Value
end
end
end
end)
UserInputService.InputBegan:Connect(function(Input, GameProcessedEvent)
if Input.KeyCode == Config.TheBronx.VehicleModifications.InstantStopBind and Config.TheBronx.VehicleModifications.InstantStop and (not GameProcessedEvent) then
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
if LocalPlayer.Character and typeof(LocalPlayer.Character) == "Instance" then
local Humanoid = LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid")
if Humanoid and typeof(Humanoid) == "Instance" then
local SeatPart = Humanoid.SeatPart
if SeatPart and typeof(SeatPart) == "Instance" and SeatPart:IsA("VehicleSeat") then
SeatPart.AssemblyLinearVelocity *= Vector3.new(0, 0, 0)
SeatPart.AssemblyAngularVelocity *= Vector3.new(0, 0, 0)
end
end
end
end
end
end)
if Solara then
LocalPlayer.PlayerScripts.BulletVisualizerClientScript.Visualize.Event:Connect(function(...)
local args = {...}
local data = {
["damage"] = args[10][1],
["player"] = args[1].Parent
}
if rawget(data, "damage") and type(args[10][1]) == 'number' and Config.Silent.Enabled and Config.Silent.Targetting and args[10] and data["player"] == LocalPlayer.Character then
if not (math.random(0, 100) <= Config.Silent.HitChance) then
return
end
local RandomPart = Config.Silent.TargetPart[1] and Config.Silent.TargetPart[math.random(1, #Config.Silent.TargetPart)] or "Head"
if SilentTarget and SilentTarget.Character and SilentTarget.Character:FindFirstChild(RandomPart) then
if not Config.Silent.WallBang then
local Holocaust = Workspace:FindPartOnRayWithIgnoreList(Ray.new(LocalPlayer.Character[RandomPart].Position, (SilentTarget.Character[RandomPart].Position - LocalPlayer.Character[RandomPart].Position).Unit * (SilentTarget.Character[RandomPart].Position - LocalPlayer.Character[RandomPart].Position).Magnitude), {SilentTarget.Character, LocalPlayer.Character})
if Holocaust then return end
end
kill_gun(tostring(SilentTarget), RandomPart, data["damage"])
end
end
end)
end
HideUI = LPH_NO_VIRTUALIZE(function(Title, Timing)
getgenv().HideScreenGUI = Instance.new("ScreenGui")
getgenv().HideScreenGUI.Name = "\n\n\n\n\n"
getgenv().HideScreenGUI.Parent = gethui and gethui() or Services.CoreGui
local frame = Instance.new("Frame")
frame.Name = "BlackFrame"
frame.Size = UDim2.new(2, 0, 2, 0)
frame.Position = UDim2.new(0, -155, 0, -155)
frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
frame.BackgroundTransparency = 0
frame.Parent = getgenv().HideScreenGUI
local textLabel = Instance.new("TextLabel")
textLabel.Name = "\nhideuibronxlol"
textLabel.Size = UDim2.new(0, 400, 0, 100)
textLabel.Font = Enum.Font.SourceSansBold
textLabel.RichText = true
textLabel.Text = '<font color="rgb(0,163,224)">bronx.</font>lol\n' .. Title
textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
textLabel.BackgroundTransparency = 1
textLabel.TextSize = 36
textLabel.TextStrokeTransparency = 0.8
textLabel.TextXAlignment = Enum.TextXAlignment.Center
textLabel.TextYAlignment = Enum.TextYAlignment.Center
textLabel.TextWrapped = true
textLabel.AnchorPoint = Vector2.new(0.5, 0.5)
textLabel.Position = UDim2.new(0.5, 0, 0.5, 0)
textLabel.Parent = getgenv().HideScreenGUI
if Timing then
task.spawn(function()
local startTime = tick()
local endTime = startTime + Timing
while tick() < endTime do
local timeLeft = endTime - tick()
textLabel.Text = string.format(
'<font color="rgb(0,163,224)">bronx.</font>lol\n%s\nplease wait : <font color="rgb(0,163,224)">%.2f</font> seconds',
Title, math.max(timeLeft, 0)
)
task.wait()
end
end)
end
return textLabel
end)
DeleteSecretUI = LPH_NO_VIRTUALIZE(function(Title)
if getgenv().HideScreenGUI then
getgenv().HideScreenGUI:Destroy()
getgenv().HideScreenGUI = nil
end
end)
getgenv().Teleport = LPH_NO_VIRTUALIZE(function(CFrame, DontUi)
if not LocalPlayer.Character then return end
if not LocalPlayer.Character:FindFirstChild("Humanoid") then return end
--[[if not DontUi then
HideUI("teleporting.\nplease wait.")
end]]
LocalPlayer.Character:FindFirstChild("Humanoid"):ChangeState(0)
repeat task.wait() until not LocalPlayer:GetAttribute("LastACPos")
LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame
task.wait()
LocalPlayer.Character:FindFirstChild("Humanoid"):ChangeState(2)
--[[if not DontUi then
DeleteSecretUI()
end]]
return true
end)
GetWorkingSafe = LPH_NO_VIRTUALIZE(function()
local House; local Safe;
for Index, Value in workspace["1# Map"]["2 Crosswalks"].Safes:GetChildren() do
if Value:IsA("Model") and Value.Name == "Safe" then
if Value.WorldPivot == CFrame.new(-215.944153, 292.669647, -1034.16846, 0, 0, -1, -1, 0, 0, 0, 1, 0) then
Safe = Value
break
end
end
end
return Safe
end)
CollectDroppedMoney = LPH_NO_VIRTUALIZE(function()
if not Config.TheBronx.Farms.CollectDroppedMoney then return end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return end
local OldCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame
for Index, Value in next, {Workspace.Dollas:GetChildren()} do
for _Index, _Value in Value do
if not _Value:IsA("Part") then continue end
Teleport(_Value.CFrame + Vector3.new(0, 3.5, 0))
task.wait(0.4)
fireproximityprompt(_Value.ProximityPrompt)
task.wait(_Value.ProximityPrompt.HoldDuration)
end
end
Teleport(OldCFrame)
task.wait(0.4)
return true
end)
local GunNames = {}
for Index, Value in Lighting:GetChildren() do
if Value:IsA("Tool") and Value:FindFirstChild("Setting") then
table.insert(GunNames, Value.Name)
end
end
CollectLootBags = LPH_NO_VIRTUALIZE(function()
if not Config.TheBronx.Farms.CollectDroppedLoot then return end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return end
local OldCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame
for Index, Value in next, {Workspace.Storage:GetChildren()} do
for _Index, _Value in Value do
if not _Value:IsA("MeshPart") then continue end
if _Value:FindFirstChild("PlayerName").Value == LocalPlayer.Name then continue end
local _GunFound = true
--[[if Config.TheBronx.Farms.OnlyCollectGuns then
_GunFound = false; for __Index, __Value in _Value.Container:GetChildren() do
if table.find(GunNames, __Value.Name) then
_GunFound = true;
end
end
end]]
if _GunFound == false then continue end;
Teleport(_Value.CFrame + Vector3.new(0, 3.5, 0))
task.wait(0.4)
fireproximityprompt(_Value.stealprompt)
task.wait(_Value.stealprompt.HoldDuration)
end
end
return true
end)
Workspace.Storage.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function()
task.spawn(CollectLootBags)
end))
Workspace.Dollas.ChildAdded:Connect(LPH_NO_VIRTUALIZE(function()
task.spawn(CollectDroppedMoney)
end))
WashMoney = LPH_NO_VIRTUALIZE(function()
-- TODO
end)
DryMoney = LPH_NO_VIRTUALIZE(function()
-- TODO
end)
RunService.PreRender:Connect(LPH_NO_VIRTUALIZE(function()
if not Config.TheBronx.PlayerModifications.InstantRevive then return end
if not LocalPlayer.Character then return end
if not LocalPlayer.Character:FindFirstChild("Humanoid") then return end
if LocalPlayer.Character.Humanoid:GetState() == Enum.HumanoidStateType.Physics then
FireServer(ReplicatedStorage.FSpamRemote)
LocalPlayer.Character.Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp)
end
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, true)
end))
ProximityPromptService.PromptButtonHoldBegan:Connect(function(Prompt, Self)
if Prompt and Self == LocalPlayer and fireproximityprompt then
if Config.TheBronx.PlayerModifications.InstantInteract then
fireproximityprompt(Prompt, true)
end
if Config.TheBronx.PlayerModifications.BypassLockedCars then
if Self == LocalPlayer then
while true do
if Prompt.Parent:FindFirstChild("DriveSeat") then
if Prompt:IsA("VehicleSeat") then
Prompt:Sit(LocalPlayer.Character.Humanoid)
else
Prompt = Prompt.Parent
end
break
else
Prompt = Prompt.Parent
end
if not Prompt.Parent then
break
end
end
end
end
end
end)
local Teleport_Debounce = false
UserInputService.InputBegan:Connect(LPH_NO_VIRTUALIZE(function(Input, Game_Event)
if not library then return end
if not library.flags then return end
if Game_Event then return end
if Input.UserInputType == Enum.UserInputType.MouseButton1 and library.flags["ClickTeleport_TheBronx"] and Config.TheBronx.ClickTeleportActive then
local MouseLocation = UserInputService:GetMouseLocation()
local Ray = Camera:ViewportPointToRay(MouseLocation.X, MouseLocation.Y)
local RaycastParams = RaycastParams.new()
RaycastParams.FilterType = Enum.RaycastFilterType.Blacklist
RaycastParams.FilterDescendantsInstances = {LocalPlayer.Character, Workspace:FindFirstChild("Cameras"), Workspace:FindFirstChild("CameraLocations")}
local Cast = Workspace:Raycast(Ray.Origin, Ray.Direction * 1000, RaycastParams)
if Cast and not Teleport_Debounce then
Teleport_Debounce = true
Teleport(CFrame.new(Cast.Position + Vector3.new(0,3,0)))
Teleport_Debounce = false
end
end
end))
if Workspace:FindFirstChild("GUNS") then
for Index, Value in Workspace:FindFirstChild("GUNS"):GetChildren() do
if not Value:IsA("Model") then continue end;
local Price = Value:FindFirstChild("Price", true).Value;
if Price == 0 then continue end;
if Price > 100000 then continue end;
if Price < 10 then continue end;
if not table.find(Config.Guns, Value.Name.." - $"..tostring(Price)) then
table.insert(Config.Guns, Value.Name.." - $"..tostring(Price));
end;
end;
end;
table.sort(Config.Guns, LPH_NO_VIRTUALIZE(function(a,b)
return a<b
end));
end
end)()
end
local Fonts = {}; do
local function RegisterFont(Name, Weight, Style, Asset)
if isfile(library.directory.."/assets/"..Asset.Id) then
delfile(library.directory.."/assets/"..Asset.Id)
end
writefile(library.directory.."/assets/"..Asset.Id, Asset.Font)
local Data = {
name = Name,
faces = {
{
Name = "Normal",
weight = Weight,
style = Style,
assetId = getcustomasset(library.directory.."/assets/"..Asset.Id),
},
},
}
writefile(library.directory.."/fonts/"..Name .. ".font", Services.HttpService:JSONEncode(Data))
return getcustomasset(library.directory.."/fonts/"..Name .. ".font");
end
local Tahoma = RegisterFont("Tahoma", 400, "Normal", {
Id = "Tahoma.ttf",
Font = game:HttpGet("https://[Log in to view URL]"),
})
local Pixel = RegisterFont("Pixel", 400, "Normal", {
Id = "Pixel.ttf",
Font = game:HttpGet("https://[Log in to view URL]"),
})
local Minecraftia = RegisterFont("Minecraftia", 400, "Normal", {
Id = "Minecraftia.ttf",
Font = game:HttpGet("https://[Log in to view URL]"),
})
local Verdana = RegisterFont("Verdana", 400, "Normal", {
Id = "Verdana.ttf",
Font = game:HttpGet("https://[Log in to view URL]"),
})
Fonts["Plex"] = Font.new(Tahoma, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
Fonts["Pixel"] = Font.new(Pixel, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
Fonts["Minecraftia"] = Font.new(Minecraftia, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
Fonts["Verdana"] = Font.new(Verdana, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
end
local Players_ESP = {}
local RefreshAllElements = LPH_NO_VIRTUALIZE(function()
for i,v in Players_ESP do
if v and v.RefreshElements then
v.RefreshElements()
end
end
end)
do
local Workspace, RunService, Players, CoreGui = Services.Workspace, Services.RunService, Services.Players, Services.CoreGui
-- Def & Vars
local Euphoria = Config.ESP.Connections;
local lplayer = Players.LocalPlayer;
local Cam = Workspace.CurrentCamera;
local RotationAngle, Tick = -45, tick();
local Functions = {}
do
function Functions:Create(Class, Properties)
local _Instance = typeof(Class) == 'string' and Instance.new(Class) or Class
for Property, Value in pairs(Properties) do
_Instance[Property] = Value
end
return _Instance;
end
--
Functions.FadeOutOnDist = LPH_NO_VIRTUALIZE(function(element, distance)
local transparency = math.max(0.1, 1 - (distance / Config.ESP.MaxDistance))
if element:IsA("TextLabel") then
element.TextTransparency = 1 - transparency
elseif element:IsA("ImageLabel") then
element.ImageTransparency = 1 - transparency
elseif element:IsA("UIStroke") then
element.Transparency = 1 - transparency
elseif element:IsA("Frame") and (element == Healthbar or element == BehindHealthbar) then
element.BackgroundTransparency = 1 - transparency
elseif element:IsA("Frame") then
element.BackgroundTransparency = 1 - transparency
elseif element:IsA("Highlight") then
element.FillTransparency = 1 - transparency
element.OutlineTransparency = 1 - transparency
end;
end);
Functions.AddOutline = LPH_NO_VIRTUALIZE(function(Frame, Thickness)
Functions:Create("Frame", {
Parent = Frame,
BorderSizePixel = 0,
BackgroundColor3 = Color3.new(0, 0, 0),
Position = UDim2.new(0, -Thickness, 0, -Thickness),
Size = UDim2.new(1, Thickness * 2, 0, Thickness),
ZIndex = Frame.ZIndex - 1
})
Functions:Create("Frame", {
Parent = Frame,
BorderSizePixel = 0,
BackgroundColor3 = Color3.new(0, 0, 0),
Position = UDim2.new(0, -Thickness, 1, 0),
Size = UDim2.new(1, Thickness * 2, 0, Thickness),
ZIndex = Frame.ZIndex - 1
})
Functions:Create("Frame", {
Parent = Frame,
BorderSizePixel = 0,
BackgroundColor3 = Color3.new(0, 0, 0),
Position = UDim2.new(0, -Thickness, 0, 0),
Size = UDim2.new(0, Thickness, 1, 0),
ZIndex = Frame.ZIndex - 1
})
Functions:Create("Frame", {
Parent = Frame,
BorderSizePixel = 0,
BackgroundColor3 = Color3.new(0, 0, 0),
Position = UDim2.new(1, 0, 0, 0),
Size = UDim2.new(0, Thickness, 1, 0),
ZIndex = Frame.ZIndex - 1
})
end)
end;
do -- Initalize
local ScreenGui = Functions:Create("ScreenGui", {
Parent = CoreGui,
Name = "ESPHolder",
ResetOnSpawn = false,
});
local DupeCheck = LPH_NO_VIRTUALIZE(function(plr)
if ScreenGui:FindFirstChild(plr.Name) then
ScreenGui[plr.Name]:Destroy()
end
end)
local getHealthColor = LPH_NO_VIRTUALIZE(function(currentHealth, maxHealth)
return Config.ESP.Drawing.Healthbar.GradientRGB1:Lerp(Config.ESP.Drawing.Healthbar.GradientRGB2, (currentHealth / maxHealth))
end)
local ESP = function(plr)
task.spawn(LPH_JIT_MAX(function()
if plr == lplayer then return end
coroutine.wrap(DupeCheck)(plr)
local Name = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, Position = UDim2.new(0.5, 0, 0, -11), Size = UDim2.new(0, 100, 0, 20), AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0), RichText = true})
local Distance = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, Position = UDim2.new(0.5, 0, 0, 11), Size = UDim2.new(0, 100, 0, 20), AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0), RichText = true})
local Weapon = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, Position = UDim2.new(0.5, 0, 0, 31), Size = UDim2.new(0, 100, 0, 20), AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0), RichText = true, Text = "None"})
local Box = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Color3.fromRGB(0, 0, 0), BackgroundTransparency = 0.75, BorderSizePixel = 0})
local Gradient1 = Functions:Create("UIGradient", {Parent = Box, Enabled = Config.ESP.Drawing.Boxes.GradientFill, Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Boxes.GradientFillRGB1), ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Boxes.GradientFillRGB2)}})
local Outline = Functions:Create("UIStroke", {Parent = Box, Enabled = Config.ESP.Drawing.Boxes.Gradient, Transparency = 0, Color = Color3.fromRGB(255, 255, 255), LineJoinMode = Enum.LineJoinMode.Miter})
local Gradient2 = Functions:Create("UIGradient", {Parent = Outline, Enabled = Config.ESP.Drawing.Boxes.Gradient, Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Boxes.GradientRGB1), ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Boxes.GradientRGB2)}})
local Healthbar = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Color3.fromRGB(255, 255, 255), BackgroundTransparency = 0})
local BehindHealthbar = Functions:Create("Frame", {BorderColor3 = Color3.fromRGB(0, 0, 0), Parent = ScreenGui, ZIndex = -1, BackgroundColor3 = Color3.fromRGB(0, 0, 0), BackgroundTransparency = 0})
local HealthbarGradient = Functions:Create("UIGradient", {Parent = Healthbar, Enabled = Config.ESP.Drawing.Healthbar.Gradient, Rotation = -90, Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Healthbar.GradientRGB1), ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Healthbar.GradientRGB2)}})
local HealthText = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, Position = UDim2.new(0.5, 0, 0, 31), Size = UDim2.new(0, 100, 0, 20), AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0), ZIndex = 500})
local Chams = Functions:Create("Highlight", {Parent = ScreenGui, FillTransparency = 1, OutlineTransparency = 0, OutlineColor = Color3.fromRGB(119, 120, 255), DepthMode = "AlwaysOnTop"})
local WeaponIcon = Functions:Create("ImageLabel", {Parent = ScreenGui, BackgroundTransparency = 1, BorderColor3 = Color3.fromRGB(0, 0, 0), BorderSizePixel = 0, Size = UDim2.new(0, 40, 0, 40)})
local Gradient3 = Functions:Create("UIGradient", {Parent = WeaponIcon, Rotation = -90, Enabled = Config.ESP.Drawing.Weapons.Gradient, Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Weapons.GradientRGB1), ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Weapons.GradientRGB2)}})
local LeftTop = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
local LeftSide = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
local RightTop = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
local RightSide = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
local BottomSide = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
local BottomDown = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
local BottomRightSide = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
local BottomRightDown = Functions:Create("Frame", {Parent = ScreenGui, BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB, Position = UDim2.new(0, 0, 0, 0), BorderSizePixel = 0, BorderColor3 = Color3.new(0,0,0)})
local Flag1 = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, Position = UDim2.new(1, 0, 0, 0), Size = UDim2.new(0, 100, 0, 20), AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0)})
local Flag2 = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, Position = UDim2.new(1, 0, 0, 0), Size = UDim2.new(0, 100, 0, 20), AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0)})
--local DroppedItems = Functions:Create("TextLabel", {Visible = false,Parent = ScreenGui, AnchorPoint = Vector2.new(0.5, 0.5), BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(255, 255, 255), Font = Enum.Font.Code, TextSize = Config.ESP.FontSize, TextStrokeTransparency = 0, TextStrokeColor3 = Color3.fromRGB(0, 0, 0)})
--
Functions.AddOutline(LeftTop, 1); Functions.AddOutline(LeftSide, 1); Functions.AddOutline(LeftSide, 1); Functions.AddOutline(RightTop, 1); Functions.AddOutline(RightSide, 1); Functions.AddOutline(BottomSide, 1); Functions.AddOutline(BottomDown, 1); Functions.AddOutline(BottomRightSide, 1); Functions.AddOutline(BottomRightDown, 1);
if not plr.Character then plr.CharacterAdded:Wait() end
local Humanoid, HRP = plr.Character:WaitForChild("Humanoid"), plr.Character:WaitForChild("HumanoidRootPart")
local Pos, OnScreen = Cam:WorldToScreenPoint(HRP.Position)
local Dist = (Cam.CFrame.Position - HRP.Position).Magnitude
local Size = HRP.Size.Y
if DefaultPlayerSettings[plr.Name] and DefaultPlayerSettings[plr.Name].RootSettings and DefaultPlayerSettings[plr.Name].RootSettings.Size then
Size = DefaultPlayerSettings[plr.Name].RootSettings.Size.Y
end
local health_clamped = math.clamp(Humanoid.Health, 0, Humanoid.MaxHealth)
local health = health_clamped / Humanoid.MaxHealth;
local scaleFactor = (Size * Cam.ViewportSize.Y) / (Pos.Z * 2)
local w, h = 3 * scaleFactor, 4.5 * scaleFactor
if not Players_ESP[plr.Name] then
-- ERROR BECAUSE LEAVE + JOIN NEW PLAYER CHARACTER NEW ESP ELEMTNS
Players_ESP[plr.Name] = {}
Players_ESP[plr.Name].RefreshElements = LPH_JIT_MAX(function()
task.spawn(LPH_NO_VIRTUALIZE(function()
if Config.ESP.Font == Fonts["Plex"] or Config.ESP.Font == Fonts["Pixel"] or Config.ESP.Font == Fonts["Minecraftia"] or Config.ESP.Font == Fonts["Verdana"] then
HealthText.FontFace = Config.ESP.Font
Name.FontFace = Config.ESP.Font
Distance.FontFace = Config.ESP.Font
Weapon.FontFace = Config.ESP.Font
else
HealthText.Font = Config.ESP.Font
Name.Font = Config.ESP.Font
Distance.Font = Config.ESP.Font
Weapon.Font = Config.ESP.Font
end
do -- \\ Boxes
Box.Visible = Config.ESP.Drawing.Boxes.Full.Enabled
if Config.ESP.Drawing.Boxes.Filled.Enabled then
Box.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
if Config.ESP.Drawing.Boxes.GradientFill then
Box.BackgroundTransparency = Config.ESP.Drawing.Boxes.Filled.Transparency;
else
Box.BackgroundTransparency = 1
end
Box.BorderSizePixel = 1
else
Box.BackgroundTransparency = 1
end
if not Config.ESP.Drawing.Boxes.Bounding.Enabled or (Config.ESP.Drawing.Boxes.Corner.Enabled and Config.ESP.Drawing.Boxes.Bounding.Enabled) then
LeftTop.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
LeftTop.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB
LeftSide.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
LeftSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB
BottomSide.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
BottomSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB
BottomDown.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
BottomDown.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB
RightTop.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
RightTop.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB
RightSide.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
RightSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB
BottomRightSide.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
BottomRightSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB
BottomRightDown.Transparency = Config.ESP.Drawing.Boxes.Corner.Transparency
BottomRightDown.BackgroundColor3 = Config.ESP.Drawing.Boxes.Corner.RGB
end
if not Config.ESP.Drawing.Boxes.Corner.Enabled then
LeftTop.Transparency = Config.ESP.Drawing.Boxes.Bounding.Transparency
LeftSide.Transparency = Config.ESP.Drawing.Boxes.Bounding.Transparency
BottomSide.Transparency = Config.ESP.Drawing.Boxes.Bounding.Transparency
RightSide.Transparency = Config.ESP.Drawing.Boxes.Bounding.Transparency
LeftTop.BackgroundColor3 = Config.ESP.Drawing.Boxes.Bounding.RGB
LeftSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Bounding.RGB
BottomSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Bounding.RGB
RightSide.BackgroundColor3 = Config.ESP.Drawing.Boxes.Bounding.RGB
end
BottomSide.AnchorPoint = Vector2.new(0, 5)
BottomDown.AnchorPoint = Vector2.new(0, 1)
RightTop.AnchorPoint = Vector2.new(1, 0)
RightSide.AnchorPoint = Vector2.new(0, 0)
BottomRightSide.AnchorPoint = Vector2.new(1, 1)
BottomRightDown.AnchorPoint = Vector2.new(1, 1)
if not Config.ESP.Drawing.Boxes.Animate then
Gradient1.Rotation = -45
Gradient2.Rotation = -45
end
Gradient1.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Boxes.GradientFillRGB1), ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Boxes.GradientFillRGB2)}
Gradient2.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Boxes.GradientRGB1), ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Boxes.GradientRGB2)}
end
do -- \\ Names
Name.TextSize = Config.ESP.FontSize
--Name.Font = Config.ESP.Font
Name.TextColor3 = Config.ESP.Drawing.Names.RGB
Name.TextStrokeTransparency = Config.ESP.Drawing.Names.Transparency
end
do -- \\ Chams
if Config.ESP.Drawing.Chams.VisibleCheck then
Chams.DepthMode = "Occluded"
else
Chams.DepthMode = "AlwaysOnTop"
end
Chams.FillColor = Config.ESP.Drawing.Chams.FillRGB
Chams.OutlineColor = Config.ESP.Drawing.Chams.OutlineRGB
if not Config.ESP.Drawing.Chams.Thermal then
Chams.OutlineTransparency = Config.ESP.Drawing.Chams.Outline_Transparency / 100
Chams.FillTransparency = Config.ESP.Drawing.Chams.Fill_Transparency / 100
end
end
do -- \\ Rest im lazy cuzzy bro
Distance.TextStrokeTransparency = Config.ESP.Drawing.Distances.Transparency
Distance.TextSize = Config.ESP.FontSize
Distance.TextColor3 = Config.ESP.Drawing.Distances.RGB
Weapon.TextStrokeTransparency = Config.ESP.Drawing.Weapons.Transparency
Weapon.TextSize = Config.ESP.FontSize
Weapon.TextColor3 = Config.ESP.Drawing.Weapons.WeaponTextRGB
end
end))
end)
Players_ESP[plr.Name].Health_Changed = LPH_NO_VIRTUALIZE(function()
health_clamped = math.clamp(Humanoid.Health, 0, Humanoid.MaxHealth)
health = health_clamped / Humanoid.MaxHealth;
end)
Players_ESP[plr.Name].Health_Changed()
Players_ESP[plr.Name].Child_Added = LPH_NO_VIRTUALIZE(function(Item)
if not Item:IsA("Tool") then
return
end
local name = plr.Character:FindFirstChild(Item.Name) and Item.Name or "None"
Weapon.Text = name
end)
Players_ESP[plr.Name].ToolConnection_Added = plr.Character.ChildAdded:Connect(Players_ESP[plr.Name].Child_Added)
Players_ESP[plr.Name].ToolConnection_Removed = plr.Character.ChildRemoved:Connect(Players_ESP[plr.Name].Child_Added)
Players_ESP[plr.Name].HumanoidConnection = Humanoid.HealthChanged:Connect(Players_ESP[plr.Name].Health_Changed)
Players_ESP[plr.Name].CharacterAdded = plr.CharacterAdded:Connect(LPH_JIT_MAX(function(Character)
Humanoid = Character:WaitForChild("Humanoid")
HRP = Character:WaitForChild("HumanoidRootPart")
Players_ESP[plr.Name].ToolConnection_Added:Disconnect()
Players_ESP[plr.Name].ToolConnection_Removed:Disconnect()
Players_ESP[plr.Name].ToolConnection_Removed = nil
Players_ESP[plr.Name].ToolConnection_Added = nil
Players_ESP[plr.Name].ToolConnection_Added = plr.Character.ChildAdded:Connect(Players_ESP[plr.Name].Child_Added)
Players_ESP[plr.Name].ToolConnection_Removed = plr.Character.ChildRemoved:Connect(Players_ESP[plr.Name].Child_Added)
Players_ESP[plr.Name].HumanoidConnection:Disconnect()
Players_ESP[plr.Name].HumanoidConnection = Humanoid.HealthChanged:Connect(Players_ESP[plr.Name].Health_Changed)
Players_ESP[plr.Name].Health_Changed()
Players_ESP[plr.Name].RefreshElements()
end))
Players_ESP[plr.Name].RefreshElements()
end
local Updater = function()
local Connection;
local HideESP = LPH_NO_VIRTUALIZE(function()
Box.Visible = false;
Name.Visible = false;
Distance.Visible = false;
Weapon.Visible = false;
Healthbar.Visible = false;
BehindHealthbar.Visible = false;
HealthText.Visible = false;
WeaponIcon.Visible = false;
LeftTop.Visible = false;
LeftSide.Visible = false;
BottomSide.Visible = false;
BottomDown.Visible = false;
RightTop.Visible = false;
RightSide.Visible = false;
BottomRightSide.Visible = false;
BottomRightDown.Visible = false;
Flag1.Visible = false;
Chams.Enabled = false;
Flag2.Visible = false;
if not plr then
ScreenGui:Destroy();
Connection:Disconnect();
end
end)
--
Connection = Euphoria.RunService.RenderStepped:Connect(LPH_NO_VIRTUALIZE(function()
if plr.Character and lplayer.Character and Config.ESP.Enabled then
if Humanoid and HRP then
Pos, OnScreen = Cam:WorldToScreenPoint(HRP.Position)
Dist = (Cam.CFrame.Position - HRP.Position).Magnitude
if OnScreen and Dist <= Config.ESP.MaxDistance then
Size = HRP.Size.Y
if DefaultPlayerSettings[plr.Name] and DefaultPlayerSettings[plr.Name].RootSettings and DefaultPlayerSettings[plr.Name].RootSettings.Size then
Size = DefaultPlayerSettings[plr.Name].RootSettings.Size.Y
end
scaleFactor = (Size * Cam.ViewportSize.Y) / (Pos.Z * 2)
w, h = 3 * scaleFactor, 4.5 * scaleFactor
-- Fade-out effect --
if Config.ESP.FadeOut.OnDistance then
Functions.FadeOutOnDist(Box, Dist)
Functions.FadeOutOnDist(Outline, Dist)
Functions.FadeOutOnDist(Name, Dist)
Functions.FadeOutOnDist(Distance, Dist)
Functions.FadeOutOnDist(Weapon, Dist)
Functions.FadeOutOnDist(Healthbar, Dist)
Functions.FadeOutOnDist(BehindHealthbar, Dist)
Functions.FadeOutOnDist(HealthText, Dist)
Functions.FadeOutOnDist(WeaponIcon, Dist)
Functions.FadeOutOnDist(LeftTop, Dist)
Functions.FadeOutOnDist(LeftSide, Dist)
Functions.FadeOutOnDist(BottomSide, Dist)
Functions.FadeOutOnDist(BottomDown, Dist)
Functions.FadeOutOnDist(RightTop, Dist)
Functions.FadeOutOnDist(RightSide, Dist)
Functions.FadeOutOnDist(BottomRightSide, Dist)
Functions.FadeOutOnDist(BottomRightDown, Dist)
Functions.FadeOutOnDist(Chams, Dist)
Functions.FadeOutOnDist(Flag1, Dist)
Functions.FadeOutOnDist(Flag2, Dist)
end
-- Teamcheck
if HRP and Humanoid then
do -- Chams
Chams.Adornee = plr.Character
Chams.Enabled = Config.ESP.Drawing.Chams.Enabled
do -- Breathe
if Config.ESP.Drawing.Chams.Thermal then
local breathe_effect = math.atan(math.sin(tick() * 2)) * 2 / math.pi
Chams.FillTransparency = Config.ESP.Drawing.Chams.Fill_Transparency * breathe_effect * 0.01
Chams.OutlineTransparency = Config.ESP.Drawing.Chams.Outline_Transparency * breathe_effect * 0.01
end
end
end;
do -- Corner Boxes
if not Config.ESP.Drawing.Boxes.Bounding.Enabled or (Config.ESP.Drawing.Boxes.Corner.Enabled and Config.ESP.Drawing.Boxes.Bounding.Enabled) then
LeftTop.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
LeftTop.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y - h / 2)
LeftTop.Size = UDim2.new(0, w / 5, 0, 1)
LeftSide.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
LeftSide.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y - h / 2)
LeftSide.Size = UDim2.new(0, 1, 0, h / 5)
BottomSide.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
BottomSide.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y + h / 2)
BottomSide.Size = UDim2.new(0, 1, 0, h / 5)
BottomDown.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
BottomDown.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y + h / 2)
BottomDown.Size = UDim2.new(0, w / 5, 0, 1)
RightTop.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
RightTop.Position = UDim2.new(0, Pos.X + w / 2, 0, Pos.Y - h / 2)
RightTop.Size = UDim2.new(0, w / 5, 0, 1)
RightSide.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
RightSide.Position = UDim2.new(0, Pos.X + w / 2 - 1, 0, Pos.Y - h / 2)
RightSide.Size = UDim2.new(0, 1, 0, h / 5)
BottomRightSide.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
BottomRightSide.Position = UDim2.new(0, Pos.X + w / 2, 0, Pos.Y + h / 2)
BottomRightSide.Size = UDim2.new(0, 1, 0, h / 5)
BottomRightDown.Visible = Config.ESP.Drawing.Boxes.Corner.Enabled
BottomRightDown.Position = UDim2.new(0, Pos.X + w / 2, 0, Pos.Y + h / 2)
BottomRightDown.Size = UDim2.new(0, w / 5, 0, 1)
end
end
do -- // Bounding Boxes
if not Config.ESP.Drawing.Boxes.Corner.Enabled then
LeftTop.Visible = Config.ESP.Drawing.Boxes.Bounding.Enabled
LeftTop.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y - h / 2)
LeftTop.Size = UDim2.new(0, w, 0, 1)
LeftSide.Visible = Config.ESP.Drawing.Boxes.Bounding.Enabled
LeftSide.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y - h / 2)
LeftSide.Size = UDim2.new(0, 1, 0, h)
BottomSide.Visible = Config.ESP.Drawing.Boxes.Bounding.Enabled
BottomSide.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y + h / 2)
BottomSide.Size = UDim2.new(0, w, 0, 1)
RightSide.Visible = Config.ESP.Drawing.Boxes.Bounding.Enabled
RightSide.Position = UDim2.new(0, Pos.X + w / 2 - 1, 0, Pos.Y - h / 2)
RightSide.Size = UDim2.new(0, 1, 0, h)
BottomRightSide.Visible = false
BottomRightDown.Visible = false
BottomDown.Visible = false
RightTop.Visible = false
end
end
do -- Boxes
Box.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y - h / 2)
Box.Size = UDim2.new(0, w, 0, h)
Box.Visible = Config.ESP.Drawing.Boxes.Full.Enabled
-- Animation
if Config.ESP.Drawing.Boxes.Animate then
RotationAngle = RotationAngle + (tick() - Tick) * Config.ESP.Drawing.Boxes.RotationSpeed * math.cos(math.pi / 4 * tick() - math.pi / 2)
Gradient1.Rotation = RotationAngle
Gradient2.Rotation = RotationAngle
end
Tick = tick()
end
-- Healthbar
do
local is_inf = false
if Humanoid.Health ~= Humanoid.Health then
health = 1;
is_inf = true;
end
Healthbar.Position = UDim2.new(0, Pos.X - w / 2 - 6, 0, Pos.Y - h / 2 + h * (1 - health))
Healthbar.Size = UDim2.new(0, Config.ESP.Drawing.Healthbar.Width, 0, h * health)
Healthbar.BackgroundTransparency = Config.ESP.Drawing.Healthbar.Transparency
BehindHealthbar.Position = UDim2.new(0, Pos.X - w / 2 - 6, 0, Pos.Y - h / 2)
BehindHealthbar.Size = UDim2.new(0, Config.ESP.Drawing.Healthbar.Width, 0, h)
BehindHealthbar.BackgroundTransparency = Config.ESP.Drawing.Healthbar.Transparency
HealthbarGradient.Enabled = Config.ESP.Drawing.Healthbar.Gradient
HealthbarGradient.Color = ColorSequence.new{
ColorSequenceKeypoint.new(0, Config.ESP.Drawing.Healthbar.GradientRGB1),
ColorSequenceKeypoint.new(1, Config.ESP.Drawing.Healthbar.GradientRGB2)
}
HealthbarGradient.Offset = Vector2.new(0, health - 1)
local color = getHealthColor(health_clamped , Humanoid.MaxHealth)
local healthtexttext = tostring(math.floor(health_clamped))
if is_inf then
healthtexttext = "inf"
color = getHealthColor(Humanoid.MaxHealth, Humanoid.MaxHealth)
end
Healthbar.BackgroundColor3 = not Config.ESP.Drawing.Healthbar.Gradient and color or Color3.new(1,1,1)
-- Health Text
Healthbar.Visible = Config.ESP.Drawing.Healthbar.Enabled
BehindHealthbar.Visible = Config.ESP.Drawing.Healthbar.Enabled
do
if Config.ESP.Drawing.Healthbar.HealthText then
local healthPercentage = math.floor(health_clamped / Humanoid.MaxHealth * 100)
if is_inf then
healthPercentage = 100
end
HealthText.Position = UDim2.new(0, Pos.X - w / 2 - 18 --[[6]], 0, Pos.Y - h / 2 + h * (1 - healthPercentage / 100) + 3)
HealthText.Text = healthtexttext
HealthText.TextSize = Config.ESP.FontSize
--HealthText.Font = Config.ESP.Font
HealthText.Visible = Config.ESP.Drawing.Healthbar.HealthText
HealthText.TextStrokeTransparency = Config.ESP.Drawing.Healthbar.HealthTextTransparency
if Config.ESP.Drawing.Healthbar.Lerp then
HealthText.TextColor3 = color
else
HealthText.TextColor3 = Config.ESP.Drawing.Healthbar.HealthTextRGB
end
else
HealthText.Visible = false
end
end
end
do -- Names
Name.Visible = Config.ESP.Drawing.Names.Enabled
Name.Text = plr.Name
if Config.ESP.Options.Friendcheck and lplayer:IsFriendsWith(plr.UserId) then
Name.Text = string.format('(<font color="rgb(%d, %d, %d)">F</font>) %s', Config.ESP.Options.FriendcheckRGB.R * 255, Config.ESP.Options.FriendcheckRGB.G * 255, Config.ESP.Options.FriendcheckRGB.B * 255, plr.Name)
end
Name.Position = UDim2.new(0, Pos.X, 0, Pos.Y - h / 2 - 9)
end
do -- Distance
if Config.ESP.Drawing.Distances.Enabled then
Weapon.Position = UDim2.new(0, Pos.X, 0, Pos.Y + h / 2 + 7)
--WeaponIcon.Position = UDim2.new(0, Pos.X - 21, 0, Pos.Y + h / 2 + 15);
Distance.Position = UDim2.new(0, Pos.X, 0, Pos.Y + h / 2 + (Weapon.Visible and 18 or 7))
Distance.Text = string.format("%d Studs", math.floor(Dist))
Distance.Visible = true
--Distance.Font = Config.ESP.Font
else
Weapon.Position = UDim2.new(0, Pos.X, 0, Pos.Y + h / 2 + 8)
Distance.Visible = false;
end
end
do -- Weapons
Weapon.Visible = Config.ESP.Drawing.Weapons.Enabled
--Weapon.Font = Config.ESP.Font
end
else
HideESP();
end
else
HideESP();
end
else
HideESP();
end
else
HideESP();
end
end))
end
coroutine.wrap(Updater)();
end))
end
do -- Update ESP
for _, v in pairs(Players:GetPlayers()) do
if v ~= lplayer then
coroutine.wrap(ESP)(v)
end
end
--
Players.PlayerAdded:Connect(function(v)
coroutine.wrap(ESP)(v)
end);
Players.PlayerRemoving:Connect(function(v)
if Players_ESP[v.Name] then
Players_ESP[v.Name].RefreshElements = nil
Players_ESP[v.Name].CharacterAdded:Disconnect()
Players_ESP[v.Name].CharacterAdded = nil
Players_ESP[v.Name].ToolConnection_Added:Disconnect()
Players_ESP[v.Name].ToolConnection_Removed:Disconnect()
Players_ESP[v.Name].ToolConnection_Removed = nil
Players_ESP[v.Name].ToolConnection_Added = nil
Players_ESP[v.Name] = nil
end
end)
end;
end;
end
if not Mobile then
--LPH_JIT_MAX(function()
local uis = Services.UserInputService
local players = Services.Players
local ws = Services.Workspace
local rs = Services.ReplicatedStorage
local http_service = Services.HttpService
local gui_service = Services.GuiService
local lighting = Services.Lighting
local run = Services.RunService
local stats = Services.Stats
local coregui = Services.CoreGui
local debris = Services.Debris
local tween_service = Services.TweenService
local sound_service = Services.SoundService
local run_service = Services.RunService
local vec2 = Vector2.new
local vec3 = Vector3.new
local dim2 = UDim2.new
local dim = UDim.new
local rect = Rect.new
local cfr = CFrame.new
local empty_cfr = cfr()
local point_object_space = empty_cfr.PointToObjectSpace
local angle = CFrame.Angles
local dim_offset = UDim2.fromOffset
local color = Color3.new
local rgb = Color3.fromRGB
local hex = Color3.fromHex
local hsv = Color3.fromHSV
local rgbseq = ColorSequence.new
local rgbkey = ColorSequenceKeypoint.new
local numseq = NumberSequence.new
local numkey = NumberSequenceKeypoint.new
local camera = ws.CurrentCamera
local lp = players.LocalPlayer
local mouse = lp:GetMouse()
local gui_offset = gui_service:GetGuiInset().Y
local max = math.max
local floor = math.floor
local min = math.min
local abs = math.abs
local noise = math.noise
local rad = math.rad
local random = math.random
local pow = math.pow
local sin = math.sin
local pi = math.pi
local tan = math.tan
local atan2 = math.atan2
local clamp = math.clamp
local insert = table.insert
local find = table.find
local remove = table.remove
local concat = table.concat
--
-- Library init
local themes = {
preset = {
accent = rgb(255, 0, 0),
},
utility = {
accent = {
BackgroundColor3 = {},
TextColor3 = {},
ImageColor3 = {},
ScrollBarImageColor3 = {}
},
}
}
local keys = {
[Enum.KeyCode.LeftShift] = "LS",
[Enum.KeyCode.RightShift] = "RS",
[Enum.KeyCode.LeftControl] = "LC",
[Enum.KeyCode.RightControl] = "RC",
[Enum.KeyCode.Insert] = "INS",
[Enum.KeyCode.Backspace] = "BS",
[Enum.KeyCode.Return] = "Ent",
[Enum.KeyCode.LeftAlt] = "LA",
[Enum.KeyCode.RightAlt] = "RA",
[Enum.KeyCode.CapsLock] = "CAPS",
[Enum.KeyCode.One] = "1",
[Enum.KeyCode.Two] = "2",
[Enum.KeyCode.Three] = "3",
[Enum.KeyCode.Four] = "4",
[Enum.KeyCode.Five] = "5",
[Enum.KeyCode.Six] = "6",
[Enum.KeyCode.Seven] = "7",
[Enum.KeyCode.Eight] = "8",
[Enum.KeyCode.Nine] = "9",
[Enum.KeyCode.Zero] = "0",
[Enum.KeyCode.KeypadOne] = "Num1",
[Enum.KeyCode.KeypadTwo] = "Num2",
[Enum.KeyCode.KeypadThree] = "Num3",
[Enum.KeyCode.KeypadFour] = "Num4",
[Enum.KeyCode.KeypadFive] = "Num5",
[Enum.KeyCode.KeypadSix] = "Num6",
[Enum.KeyCode.KeypadSeven] = "Num7",
[Enum.KeyCode.KeypadEight] = "Num8",
[Enum.KeyCode.KeypadNine] = "Num9",
[Enum.KeyCode.KeypadZero] = "Num0",
[Enum.KeyCode.Minus] = "-",
[Enum.KeyCode.Equals] = "=",
[Enum.KeyCode.Tilde] = "~",
[Enum.KeyCode.LeftBracket] = "[",
[Enum.KeyCode.RightBracket] = "]",
[Enum.KeyCode.RightParenthesis] = ")",
[Enum.KeyCode.LeftParenthesis] = "(",
[Enum.KeyCode.Semicolon] = ",",
[Enum.KeyCode.Quote] = "'",
[Enum.KeyCode.BackSlash] = "\\",
[Enum.KeyCode.Comma] = ",",
[Enum.KeyCode.Period] = ".",
[Enum.KeyCode.Slash] = "/",
[Enum.KeyCode.Asterisk] = "*",
[Enum.KeyCode.Plus] = "+",
[Enum.KeyCode.Period] = ".",
[Enum.KeyCode.Backquote] = "`",
[Enum.UserInputType.MouseButton1] = "MB1",
[Enum.UserInputType.MouseButton2] = "MB2",
[Enum.UserInputType.MouseButton3] = "MB3",
[Enum.KeyCode.Escape] = "ESC",
[Enum.KeyCode.Space] = "SPC",
[Enum.KeyCode.End] = "END",
}
library.__index = library
local flags = library.flags
local config_flags = library.config_flags
local notifications = library.notifications
local fonts = {}; do
function Register_Font(Name, Weight, Style, Asset)
if not isfile(Asset.Id) then
writefile(Asset.Id, Asset.Font)
end
if isfile(Name .. ".font") then
delfile(Name .. ".font")
end
local Data = {
name = Name,
faces = {
{
name = "Normal",
weight = Weight,
style = Style,
assetId = getcustomasset(Asset.Id),
},
},
}
writefile(Name .. ".font", http_service:JSONEncode(Data))
return getcustomasset(Name .. ".font");
end
local Medium = Register_Font("Medium", 200, "Normal", {
Id = "Medium.ttf",
Font = game:HttpGet("https://[Log in to view URL]"),
})
local SemiBold = Register_Font("SemiBold", 200, "Normal", {
Id = "SemiBold.ttf",
Font = game:HttpGet("https://[Log in to view URL]"),
})
fonts = {
small = Font.new(Medium, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
font = Font.new(SemiBold, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
}
end
--
-- Library functions
-- Misc functions
function library:tween(obj, properties, easing_style, time)
local tween = tween_service:Create(obj, TweenInfo.new(time or 0.25, easing_style or Enum.EasingStyle.Quint, Enum.EasingDirection.InOut, 0, false, 0), properties):Play()
return tween
end
function library:resizify(frame)
local Frame = Instance.new("TextButton")
Frame.Position = dim2(1, -10, 1, -10)
Frame.BorderColor3 = rgb(0, 0, 0)
Frame.Size = dim2(0, 10, 0, 10)
Frame.BorderSizePixel = 0
Frame.BackgroundColor3 = rgb(255, 255, 255)
Frame.Parent = frame
Frame.BackgroundTransparency = 1
Frame.Text = ""
local resizing = false
local start_size
local start
local og_size = frame.Size
Frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
resizing = true
start = input.Position
start_size = frame.Size
end
end)
Frame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
resizing = false
end
end)
library:connection(uis.InputChanged, function(input, game_event)
if resizing and input.UserInputType == Enum.UserInputType.MouseMovement then
local viewport_x = camera.ViewportSize.X
local viewport_y = camera.ViewportSize.Y
local current_size = dim2(
start_size.X.Scale,
math.clamp(
start_size.X.Offset + (input.Position.X - start.X),
og_size.X.Offset,
viewport_x
),
start_size.Y.Scale,
math.clamp(
start_size.Y.Offset + (input.Position.Y - start.Y),
og_size.Y.Offset,
viewport_y
)
)
library:tween(frame, {Size = current_size}, Enum.EasingStyle.Linear, 0.05)
end
end)
end
function fag(tbl)
local Size = 0
for _ in tbl do
Size = Size + 1
end
return Size
end
function library:next_flag()
local index = fag(library.flags) + 1;
local str = string.format("flagnumber%s", index)
return str;
end
function library:mouse_in_frame(uiobject)
local y_cond = uiobject.AbsolutePosition.Y <= mouse.Y and mouse.Y <= uiobject.AbsolutePosition.Y + uiobject.AbsoluteSize.Y
local x_cond = uiobject.AbsolutePosition.X <= mouse.X and mouse.X <= uiobject.AbsolutePosition.X + uiobject.AbsoluteSize.X
return (y_cond and x_cond)
end
function library:draggify(frame)
local dragging = false
local start_size = frame.Position
local start
frame.InputBegan:Connect(LPH_NO_VIRTUALIZE(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
start = input.Position
start_size = frame.Position
end
end))
frame.InputEnded:Connect(LPH_NO_VIRTUALIZE(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end))
library:connection(uis.InputChanged, LPH_NO_VIRTUALIZE(function(input, game_event)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local viewport_x = camera.ViewportSize.X
local viewport_y = camera.ViewportSize.Y
local current_position = dim2(
0,
clamp(
start_size.X.Offset + (input.Position.X - start.X),
0,
viewport_x - frame.Size.X.Offset
),
0,
math.clamp(
start_size.Y.Offset + (input.Position.Y - start.Y),
0,
viewport_y - frame.Size.Y.Offset
)
)
library:tween(frame, {Position = current_position}, Enum.EasingStyle.Linear, 0.05)
library:close_element()
end
end))
end
function library:convert(str)
local values = {}
for value in string.gmatch(str, "[^,]+") do
insert(values, tonumber(value))
end
if #values == 4 then
return unpack(values)
else
return
end
end
function library:convert_enum(enum)
local enum_parts = {}
for part in string.gmatch(enum, "[%w_]+") do
insert(enum_parts, part)
end
local enum_table = Enum
for i = 2, #enum_parts do
local enum_item = enum_table[enum_parts[i]]
enum_table = enum_item
end
return enum_table
end
local config_holder;
function library:update_config_list()
if not config_holder then
return
end
local list = {}
for idx, file in listfiles(library.directory .. "/configs") do
local name = file:gsub(library.directory .. "/configs\\", ""):gsub(".cfg", ""):gsub(library.directory .. "\\configs\\", "")
list[#list + 1] = name
end
config_holder.refresh_options(list)
end
function library:get_config()
local Config = {}
for _, v in next, flags do
if type(v) == "table" and v.key then
Config[_] = {active = v.active, mode = v.mode, key = tostring(v.key)}
elseif type(v) == "table" and v["Transparency"] and v["Color"] then
Config[_] = {Transparency = v["Transparency"], Color = v["Color"]:ToHex()}
else
Config[_] = v
end
end
return http_service:JSONEncode(Config)
end
function library:load_config(config_json)
local config = http_service:JSONDecode(config_json)
for _, v in config do
local function_set = library.config_flags[_]
if _ == "config_name_list" then
continue
end
if function_set then
if type(v) == "table" and v["Transparency"] and v["Color"] then
function_set(hex(v["Color"]), v["Transparency"])
elseif type(v) == "table" and v["active"] then
function_set(v)
else
function_set(v)
end
end
end
end
function library:round(number, float)
local multiplier = 1 / (float or 1)
return floor(number * multiplier + 0.5) / multiplier
end
function library:apply_theme(instance, theme, property)
insert(themes.utility[theme][property], instance)
end
function library:update_theme(theme, color)
for _, property in themes.utility[theme] do
for m, object in property do
if object[_] == themes.preset[theme] then
object[_] = color
end
end
end
themes.preset[theme] = color
end
function library:connection(signal, callback)
local connection = signal:Connect(callback)
insert(library.connections, connection)
return connection
end
function library:close_element(new_path)
local open_element = library.current_open
if open_element and new_path ~= open_element then
open_element.set_visible(false)
open_element.open = false;
end
if new_path ~= open_element then
library.current_open = new_path or nil;
end
end
function library:create(instance, options)
local ins = Instance.new(instance)
for prop, value in options do
ins[prop] = value
end
return ins
end
function library:unload_menu()
if library[ "items" ] then
library[ "items" ]:Destroy()
end
if library[ "other" ] then
library[ "other" ]:Destroy()
end
for index, connection in library.connections do
connection:Disconnect()
connection = nil
end
library = nil
end
--
--[[local cursor_screengui = library:create("ScreenGui", {
ResetOnSpawn = false,
ZIndexBehavior = Enum.ZIndexBehavior.Global,
Name = "error - stack",
IgnoreGuiInset = true,
DisplayOrder = 9999,
Parent = gethui()
})
local cursor_image = library:create("ImageLabel", {
Name = "Cursor",
BackgroundTransparency = 1,
Size = UDim2.new(0, 34, 0, 34),
Image = GetImage('cursor.png'),
ZIndex = 6969,
Parent = cursor_screengui
})
run_service.PreRender:Connect(LPH_NO_VIRTUALIZE(function()
local mouseloc = uis:GetMouseLocation()
cursor_image.Position = UDim2.new(0, mouseloc.X , 0, mouseloc.Y)
end))]]
-- Library element functions
function library:window(properties)
local cfg = {
suffix = properties.suffix or properties.Suffix or "tech";
name = properties.name or properties.Name or "nebula";
game_name = properties.gameInfo or properties.game_info or properties.GameInfo or "Milenium for Counter-Strike: Global Offensive";
size = properties.size or properties.Size or dim2(0, 700, 0, 565);
selected_tab;
items = {};
tween;
}
library[ "items" ] = library:create( "ScreenGui" , {
Parent = gethui();
Name = "\0";
Enabled = true;
ZIndexBehavior = Enum.ZIndexBehavior.Global;
IgnoreGuiInset = true;
});
library[ "other" ] = library:create( "ScreenGui" , {
Parent = gethui();
Name = "\0";
Enabled = false;
ZIndexBehavior = Enum.ZIndexBehavior.Sibling;
IgnoreGuiInset = true;
});
-- IF SHIT HAPPEN REMVOE ZINDEX
local items = cfg.items; do
items[ "main" ] = library:create( "Frame" , {
Parent = library[ "items" ];
Size = cfg.size;
Name = "\0";
Position = dim2(0.5, -cfg.size.X.Offset / 2, 0.5, -cfg.size.Y.Offset / 2);
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(14, 14, 16),
}); items[ "main" ].Position = dim2(0, items[ "main" ].AbsolutePosition.X, 0, items[ "main" ].AbsolutePosition.Y)
library:create( "UICorner" , {
Parent = items[ "main" ];
CornerRadius = dim(0, 10)
});
library:create( "UIStroke" , {
Color = rgb(23, 23, 29);
Parent = items[ "main" ];
ApplyStrokeMode = Enum.ApplyStrokeMode.Border
});
items[ "side_frame" ] = library:create( "Frame" , {
Parent = items[ "main" ];
BackgroundTransparency = 1;
Name = "\0";
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 196, 1, -25);
BorderSizePixel = 0;
BackgroundColor3 = rgb(14, 14, 16)
});
library:create( "Frame" , {
AnchorPoint = vec2(1, 0);
Parent = items[ "side_frame" ];
Position = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 1, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(21, 21, 23)
});
items[ "button_holder" ] = library:create( "Frame" , {
Parent = items[ "side_frame" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 0, 0, 60);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 1, -60);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
}); cfg.button_holder = items[ "button_holder" ];
library:create( "UIListLayout" , {
Parent = items[ "button_holder" ];
Padding = dim(0, 5);
SortOrder = Enum.SortOrder.LayoutOrder
});
library:create( "UIPadding" , {
PaddingTop = dim(0, 16);
PaddingBottom = dim(0, 36);
Parent = items[ "button_holder" ];
PaddingRight = dim(0, 11);
PaddingLeft = dim(0, 10)
});
local accent = themes.preset.accent
items[ "title" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
BorderColor3 = rgb(0, 0, 0);
Text = name;
Parent = items[ "side_frame" ];
Name = "\0";
Text = string.format('<u>%s</u><font color = "rgb(255, 255, 255)">%s</font>', cfg.name, cfg.suffix);
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 70);
TextColor3 = themes.preset.accent;
BorderSizePixel = 0;
RichText = true;
TextSize = 30;
BackgroundColor3 = rgb(255, 255, 255)
}); library:apply_theme(items[ "title" ], "accent", "TextColor3");
items[ "multi_holder" ] = library:create( "Frame" , {
Parent = items[ "main" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 196, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -196, 0, 56);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
}); cfg.multi_holder = items[ "multi_holder" ];
library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = items[ "multi_holder" ];
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(21, 21, 23)
});
items[ "shadow" ] = library:create( "ImageLabel" , {
ImageColor3 = rgb(0, 0, 0);
ScaleType = Enum.ScaleType.Slice;
Parent = items[ "main" ];
BorderColor3 = rgb(0, 0, 0);
Name = "\0";
BackgroundColor3 = rgb(255, 255, 255);
Size = dim2(1, 75, 1, 75);
AnchorPoint = vec2(0.5, 0.5);
Image = "rbxassetid://112971167999062";
BackgroundTransparency = 1;
Position = dim2(0.5, 0, 0.5, 0);
SliceScale = 0.75;
ZIndex = -100;
BorderSizePixel = 0;
SliceCenter = rect(vec2(112, 112), vec2(147, 147))
});
items[ "global_fade" ] = library:create( "Frame" , {
Parent = items[ "main" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 196, 0, 56);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -196, 1, -81);
BorderSizePixel = 0;
BackgroundColor3 = rgb(14, 14, 16);
ZIndex = 2;
});
library:create( "UICorner" , {
Parent = items[ "shadow" ];
CornerRadius = dim(0, 5)
});
items[ "info" ] = library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = items[ "main" ];
Name = "\0";
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 0, 25);
BorderSizePixel = 0;
BackgroundColor3 = rgb(23, 23, 25)
});
library:create( "UICorner" , {
Parent = items[ "info" ];
CornerRadius = dim(0, 10)
});
items[ "grey_fill" ] = library:create( "Frame" , {
Name = "\0";
Parent = items[ "info" ];
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 0, 6);
BorderSizePixel = 0;
BackgroundColor3 = rgb(23, 23, 25)
});
items[ "game" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
Parent = items[ "info" ];
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.game_name;
Name = "\0";
Size = dim2(1, 0, 0, 0);
AnchorPoint = vec2(0, 0.5);
Position = dim2(0, 10, 0.5, -1);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
if not LRM_SecondsLeft then
LRM_SecondsLeft = math.huge
end
local time_left = tostring((LRM_SecondsLeft < math.huge and ""..tostring(math.floor(((LRM_SecondsLeft / 60) / 60) / 24)).." days" or LRM_SecondsLeft == math.huge and "lifetime"))
items[ "other_info" ] = library:create( "TextLabel" , {
Parent = items[ "info" ];
RichText = true;
Name = "\0";
TextColor3 = themes.preset.accent;
BorderColor3 = rgb(0, 0, 0);
Text = '<font color="rgb(72, 72, 73)">'..time_left..', </font>' .. cfg.name:lower() .. cfg.suffix:lower();
Size = dim2(1, 0, 0, 0);
Position = dim2(0, -10, 0.5, -1);
AnchorPoint = vec2(0, 0.5);
BorderSizePixel = 0;
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Right;
AutomaticSize = Enum.AutomaticSize.XY;
FontFace = fonts.font;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
}); library:apply_theme(items[ "other_info" ], "accent", "TextColor3");
end
do -- Other
library:draggify(items[ "main" ])
library:resizify(items[ "main" ])
end
function cfg.toggle_menu(bool)
-- WIP
-- if cfg.tween then
-- cfg.tween:Cancel()
-- end
-- items[ "main" ].Size = dim2(items[ "main" ].Size.Scale.X, items[ "main" ].Size.Offset.X - 20, items[ "main" ].Size.Scale.Y, items[ "main" ].Size.Offset.Y - 20)
-- library:tween(items[ "tab_holder" ], {Size = dim2(1, -196, 1, -81)}, Enum.EasingStyle.Quad, 0.4)
-- cfg.tween =
--cursor_image.Visible = bool
--uis.MouseIconEnabled = not bool
library[ "items" ].Enabled = bool
end
RunService.RenderStepped:Connect(LPH_NO_VIRTUALIZE(function()
if library[ "items" ].Enabled and not uis.MouseIconEnabled then
uis.MouseIconEnabled = true
end
end))
return setmetatable(cfg, library)
end
function library:tab(properties)
local cfg = {
name = properties.name or properties.Name or "visuals";
icon = properties.icon or properties.Icon or "http://[Log in to view URL]";
-- multi
tabs = properties.tabs or properties.Tabs or {"Main", "Misc.", "Settings"};
pages = {}; -- data store for multi sections
current_multi;
items = {};
}
local items = cfg.items; do
items[ "tab_holder" ] = library:create( "Frame" , {
Parent = library.cache;
Name = "\0";
Visible = false;
BackgroundTransparency = 1;
Position = dim2(0, 196, 0, 56);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -216, 1, -101);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
-- Tab buttons
items[ "button" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(255, 255, 255);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "button_holder" ];
AutoButtonColor = false;
BackgroundTransparency = 1;
Name = "\0";
Size = dim2(1, 0, 0, 35);
BorderSizePixel = 0;
TextSize = 16;
BackgroundColor3 = rgb(29, 29, 29)
});
items[ "icon" ] = library:create( "ImageLabel" , {
ImageColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Parent = items[ "button" ];
AnchorPoint = vec2(0, 0.5);
Image = cfg.icon;
BackgroundTransparency = 1;
Position = dim2(0, 10, 0.5, 0);
Name = "\0";
Size = dim2(0, 22, 0, 22);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
}); library:apply_theme(items[ "icon" ], "accent", "ImageColor3");
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "button" ];
Name = "\0";
Size = dim2(0, 0, 1, 0);
Position = dim2(0, 40, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.X;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
library:create( "UICorner" , {
Parent = items[ "button" ];
CornerRadius = dim(0, 7)
});
library:create( "UIStroke" , {
Color = rgb(23, 23, 29);
Parent = items[ "button" ];
Enabled = false;
ApplyStrokeMode = Enum.ApplyStrokeMode.Border
});
--
-- Multi Sections
items[ "multi_section_button_holder" ] = library:create( "Frame" , {
Parent = library.cache;
BackgroundTransparency = 1;
Name = "\0";
Visible = false;
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
Parent = items[ "multi_section_button_holder" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder;
FillDirection = Enum.FillDirection.Horizontal
});
library:create( "UIPadding" , {
PaddingTop = dim(0, 8);
PaddingBottom = dim(0, 7);
Parent = items[ "multi_section_button_holder" ];
PaddingRight = dim(0, 7);
PaddingLeft = dim(0, 7)
});
for _, section in cfg.tabs do
local data = {items = {}}
local multi_items = data.items; do
-- Button
multi_items[ "button" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(255, 255, 255);
BorderColor3 = rgb(0, 0, 0);
AutoButtonColor = false;
Text = "";
Parent = items[ "multi_section_button_holder" ];
Name = "\0";
Size = dim2(0, 0, 0, 39);
BackgroundTransparency = 1;
ClipsDescendants = true;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.X;
TextSize = 16;
BackgroundColor3 = rgb(25, 25, 29)
});
multi_items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(62, 62, 63);
BorderColor3 = rgb(0, 0, 0);
Text = section;
Parent = multi_items[ "button" ];
Name = "\0";
Size = dim2(0, 0, 1, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = multi_items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
multi_items[ "accent" ] = library:create( "Frame" , {
BorderColor3 = rgb(0, 0, 0);
AnchorPoint = vec2(0, 1);
Parent = multi_items[ "button" ];
BackgroundTransparency = 1;
Position = dim2(0, 10, 1, 4);
Name = "\0";
Size = dim2(1, -20, 0, 6);
BorderSizePixel = 0;
BackgroundColor3 = themes.preset.accent
}); library:apply_theme(multi_items[ "accent" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = multi_items[ "accent" ];
CornerRadius = dim(0, 999)
});
library:create( "UIPadding" , {
Parent = multi_items[ "button" ];
PaddingRight = dim(0, 10);
PaddingLeft = dim(0, 10)
});
library:create( "UICorner" , {
Parent = multi_items[ "button" ];
CornerRadius = dim(0, 7)
});
--
-- Tab
multi_items[ "tab" ] = library:create( "Frame" , {
Parent = library.cache;
BackgroundTransparency = 1;
Name = "\0";
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -20, 1, -20);
BorderSizePixel = 0;
Visible = false;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
FillDirection = Enum.FillDirection.Vertical;
HorizontalFlex = Enum.UIFlexAlignment.Fill;
Parent = multi_items[ "tab" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder;
VerticalFlex = Enum.UIFlexAlignment.Fill
});
library:create( "UIPadding" , {
PaddingTop = dim(0, 7);
PaddingBottom = dim(0, 7);
Parent = multi_items[ "tab" ];
PaddingRight = dim(0, 7);
PaddingLeft = dim(0, 7)
});
--
end
data.text = multi_items[ "name" ]
data.accent = multi_items[ "accent" ]
data.button = multi_items[ "button" ]
data.page = multi_items[ "tab" ]
data.parent = setmetatable(data, library):sub_tab({}).items[ "tab_parent" ]
-- Old column code
-- data.left = multi_items[ "left" ]
-- data.right = multi_items[ "right" ]
function data.open_page()
local page = cfg.current_multi;
if page and page.text ~= data.text then
self.items[ "global_fade" ].BackgroundTransparency = 0
library:tween(self.items[ "global_fade" ], {BackgroundTransparency = 1}, Enum.EasingStyle.Quad, 0.4)
local old_size = page.page.Size
page.page.Size = dim2(1, -20, 1, -20)
end
if page then
library:tween(page.text, {TextColor3 = rgb(62, 62, 63)})
library:tween(page.accent, {BackgroundTransparency = 1})
library:tween(page.button, {BackgroundTransparency = 1})
page.page.Visible = false
page.page.Parent = library[ "cache" ]
end
library:tween(data.text, {TextColor3 = rgb(255, 255, 255)})
library:tween(data.accent, {BackgroundTransparency = 0})
library:tween(data.button, {BackgroundTransparency = 0})
library:tween(data.page, {Size = dim2(1, 0, 1, 0)}, Enum.EasingStyle.Quad, 0.4)
data.page.Visible = true
data.page.Parent = items["tab_holder"]
cfg.current_multi = data
library:close_element()
end
multi_items[ "button" ].MouseButton1Down:Connect(function()
data.open_page()
end)
cfg.pages[#cfg.pages + 1] = setmetatable(data, library)
end
cfg.pages[1].open_page()
--
end
function cfg.open_tab()
local selected_tab = self.selected_tab
if selected_tab then
if selected_tab[ 4 ] ~= items[ "tab_holder" ] then
self.items[ "global_fade" ].BackgroundTransparency = 0
library:tween(self.items[ "global_fade" ], {BackgroundTransparency = 1}, Enum.EasingStyle.Quad, 0.4)
selected_tab[ 4 ].Size = dim2(1, -216, 1, -101)
end
library:tween(selected_tab[ 1 ], {BackgroundTransparency = 1})
library:tween(selected_tab[ 2 ], {ImageColor3 = rgb(72, 72, 73)})
library:tween(selected_tab[ 3 ], {TextColor3 = rgb(72, 72, 73)})
selected_tab[ 4 ].Visible = false
selected_tab[ 4 ].Parent = library[ "cache" ]
selected_tab[ 5 ].Visible = false
selected_tab[ 5 ].Parent = library[ "cache" ]
end
library:tween(items[ "button" ], {BackgroundTransparency = 0})
library:tween(items[ "icon" ], {ImageColor3 = themes.preset.accent})
library:tween(items[ "name" ], {TextColor3 = rgb(255, 255, 255)})
library:tween(items[ "tab_holder" ], {Size = dim2(1, -196, 1, -81)}, Enum.EasingStyle.Quad, 0.4)
items[ "tab_holder" ].Visible = true
items[ "tab_holder" ].Parent = self.items[ "main" ]
items[ "multi_section_button_holder" ].Visible = true
items[ "multi_section_button_holder" ].Parent = self.items[ "multi_holder" ]
self.selected_tab = {
items[ "button" ];
items[ "icon" ];
items[ "name" ];
items[ "tab_holder" ];
items[ "multi_section_button_holder" ];
}
library:close_element()
end
items[ "button" ].MouseButton1Down:Connect(function()
cfg.open_tab()
end)
if not self.selected_tab then
cfg.open_tab(true)
end
return unpack(cfg.pages)
end
function library:seperator(properties)
local cfg = {items = {}, name = properties.Name or properties.name or "General"}
local items = cfg.items do
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = self.items[ "button_holder" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
Position = dim2(0, 40, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
end;
return setmetatable(cfg, library)
end
-- Miscellaneous
function library:column(properties)
local cfg = {items = {}, size = properties.size or 1}
local items = cfg.items; do
items[ "column" ] = library:create( "Frame" , {
Parent = self[ "parent" ] or self.items["tab_parent"];
BackgroundTransparency = 1;
Name = "\0";
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, cfg.size, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
PaddingBottom = dim(0, 10);
Parent = items[ "column" ]
});
library:create( "UIListLayout" , {
Parent = items[ "column" ];
HorizontalFlex = Enum.UIFlexAlignment.Fill;
Padding = dim(0, 10);
FillDirection = Enum.FillDirection.Vertical;
SortOrder = Enum.SortOrder.LayoutOrder
});
end
return setmetatable(cfg, library)
end
function library:sub_tab(properties)
local cfg = {items = {}, order = properties.order or 0; size = properties.size or 1}
local items = cfg.items; do
items[ "tab_parent" ] = library:create( "Frame" , {
Parent = self.items[ "tab" ];
BackgroundTransparency = 1;
Name = "\0";
Size = dim2(0,0,cfg.size,0);
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
Visible = true;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
FillDirection = Enum.FillDirection.Horizontal;
HorizontalFlex = Enum.UIFlexAlignment.Fill;
VerticalFlex = Enum.UIFlexAlignment.Fill;
Parent = items[ "tab_parent" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder;
});
end
return setmetatable(cfg, library)
end
--
function library:section(properties)
local cfg = {
name = properties.name or properties.Name or "section";
side = properties.side or properties.Side or "left";
default = properties.default or properties.Default or false;
size = properties.size or properties.Size or self.size or 0.5;
icon = properties.icon or properties.Icon or "http://[Log in to view URL]";
fading_toggle = properties.fading or properties.Fading or false;
items = {};
};
local items = cfg.items; do
items[ "outline" ] = library:create( "Frame" , {
Name = "\0";
Parent = self.items[ "column" ];
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, cfg.size, -3);
BorderSizePixel = 0;
BackgroundColor3 = rgb(25, 25, 29)
});
library:create( "UICorner" , {
Parent = items[ "outline" ];
CornerRadius = dim(0, 7)
});
items[ "inline" ] = library:create( "Frame" , {
Parent = items[ "outline" ];
Name = "\0";
Position = dim2(0, 1, 0, 1);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -2, 1, -2);
BorderSizePixel = 0;
BackgroundColor3 = rgb(22, 22, 24)
});
library:create( "UICorner" , {
Parent = items[ "inline" ];
CornerRadius = dim(0, 7)
});
items[ "scrolling" ] = library:create( "ScrollingFrame" , {
ScrollBarImageColor3 = rgb(44, 44, 46);
Active = true;
AutomaticCanvasSize = Enum.AutomaticSize.Y;
ScrollBarThickness = 2;
Parent = items[ "inline" ];
Name = "\0";
Size = dim2(1, 0, 1, -40);
BackgroundTransparency = 1;
Position = dim2(0, 0, 0, 35);
BackgroundColor3 = rgb(255, 255, 255);
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
CanvasSize = dim2(0, 0, 0, 0)
});
items[ "elements" ] = library:create( "Frame" , {
BorderColor3 = rgb(0, 0, 0);
Parent = items[ "scrolling" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 10, 0, 10);
Size = dim2(1, -20, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
Parent = items[ "elements" ];
Padding = dim(0, 10);
SortOrder = Enum.SortOrder.LayoutOrder
});
library:create( "UIPadding" , {
PaddingBottom = dim(0, 15);
Parent = items[ "elements" ]
});
items[ "button" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(255, 255, 255);
BorderColor3 = rgb(0, 0, 0);
Text = "";
AutoButtonColor = false;
Parent = items[ "outline" ];
Name = "\0";
Position = dim2(0, 1, 0, 1);
Size = dim2(1, -2, 0, 35);
BorderSizePixel = 0;
TextSize = 16;
BackgroundColor3 = rgb(19, 19, 21)
});
library:create( "UIStroke" , {
Color = rgb(23, 23, 29);
Parent = items[ "button" ];
Enabled = false;
ApplyStrokeMode = Enum.ApplyStrokeMode.Border
});
library:create( "UICorner" , {
Parent = items[ "button" ];
CornerRadius = dim(0, 7)
});
items[ "Icon" ] = library:create( "ImageLabel" , {
ImageColor3 = themes.preset.accent;
BorderColor3 = rgb(0, 0, 0);
Parent = items[ "button" ];
AnchorPoint = vec2(0, 0.5);
Image = cfg.icon;
BackgroundTransparency = 1;
Position = dim2(0, 10, 0.5, 0);
Name = "\0";
Size = dim2(0, 22, 0, 22);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
}); library:apply_theme(items[ "Icon" ], "accent", "ImageColor3");
items[ "section_title" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(255, 255, 255);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "button" ];
Name = "\0";
Size = dim2(0, 0, 1, 0);
Position = dim2(0, 40, 0, -1);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.X;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = items[ "button" ];
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(36, 36, 37)
});
if cfg.fading_toggle then
items[ "toggle" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
AutoButtonColor = false;
Text = "";
AnchorPoint = vec2(1, 0.5);
Parent = items[ "button" ];
Name = "\0";
Position = dim2(1, -9, 0.5, 0);
Size = dim2(0, 36, 0, 18);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(58, 58, 62)
}); library:apply_theme(items[ "toggle" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = items[ "toggle" ];
CornerRadius = dim(0, 999)
});
items[ "toggle_outline" ] = library:create( "Frame" , {
Parent = items[ "toggle" ];
Size = dim2(1, -2, 1, -2);
Name = "\0";
BorderMode = Enum.BorderMode.Inset;
BorderColor3 = rgb(0, 0, 0);
Position = dim2(0, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(50, 50, 50)
}); library:apply_theme(items[ "toggle_outline" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = items[ "toggle_outline" ];
CornerRadius = dim(0, 999)
});
library:create( "UIGradient" , {
Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))};
Parent = items[ "toggle_outline" ]
});
items[ "toggle_circle" ] = library:create( "Frame" , {
Parent = items[ "toggle_outline" ];
Name = "\0";
Position = dim2(0, 2, 0, 2);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 12, 0, 12);
BorderSizePixel = 0;
BackgroundColor3 = rgb(86, 86, 88)
});
library:create( "UICorner" , {
Parent = items[ "toggle_circle" ];
CornerRadius = dim(0, 999)
});
library:create( "UICorner" , {
Parent = items[ "outline" ];
CornerRadius = dim(0, 7)
});
items[ "fade" ] = library:create( "Frame" , {
Parent = items[ "outline" ];
BackgroundTransparency = 0.800000011920929;
Name = "\0";
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(0, 0, 0)
});
library:create( "UICorner" , {
Parent = items[ "fade" ];
CornerRadius = dim(0, 7)
});
end
end;
if cfg.fading_toggle then
items[ "button" ].MouseButton1Click:Connect(function()
cfg.default = not cfg.default
cfg.toggle_section(cfg.default)
end)
function cfg.toggle_section(bool)
library:tween(items[ "toggle" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(58, 58, 62)}, Enum.EasingStyle.Quad)
library:tween(items[ "toggle_outline" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(50, 50, 50)}, Enum.EasingStyle.Quad)
library:tween(items[ "toggle_circle" ], {BackgroundColor3 = bool and rgb(255, 255, 255) or rgb(86, 86, 88), Position = bool and dim2(1, -14, 0, 2) or dim2(0, 2, 0, 2)}, Enum.EasingStyle.Quad)
library:tween(items[ "fade" ], {BackgroundTransparency = bool and 1 or 0.8}, Enum.EasingStyle.Quad)
end
end
return setmetatable(cfg, library)
end
function library:toggle(options)
local rand = math.random(1, 2)
local cfg = {
enabled = options.default or false,
name = options.name or "Toggle",
info = options.info or nil,
flag = options.flag or library:next_flag(),
type = options.type and string.lower(options.type) or rand == 1 and "toggle" or "checkbox"; -- "toggle", "checkbox"
default = options.default or false,
folding = options.folding or false,
callback = options.callback or function() end,
items = {};
seperator = options.seperator or options.Seperator or false;
}
flags[cfg.flag] = cfg.default
local items = cfg.items; do
items[ "toggle" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "toggle" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
if cfg.info then
items[ "info" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(130, 130, 130);
BorderColor3 = rgb(0, 0, 0);
TextWrapped = true;
Text = cfg.info;
Parent = items[ "toggle" ];
Name = "\0";
Position = dim2(0, 5, 0, 17);
Size = dim2(1, -10, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
end
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "right_components" ] = library:create( "Frame" , {
Parent = items[ "toggle" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
FillDirection = Enum.FillDirection.Horizontal;
HorizontalAlignment = Enum.HorizontalAlignment.Right;
Parent = items[ "right_components" ];
Padding = dim(0, 9);
SortOrder = Enum.SortOrder.LayoutOrder
});
-- Toggle
if cfg.type == "checkbox" then
items[ "toggle_button" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
LayoutOrder = 2;
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Parent = items[ "right_components" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
Size = dim2(0, 16, 0, 16);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(67, 67, 68)
}); library:apply_theme(items[ "toggle_button" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = items[ "toggle_button" ];
CornerRadius = dim(0, 4)
});
items[ "outline" ] = library:create( "Frame" , {
Parent = items[ "toggle_button" ];
Size = dim2(1, -2, 1, -2);
Name = "\0";
BorderMode = Enum.BorderMode.Inset;
BorderColor3 = rgb(0, 0, 0);
Position = dim2(0, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(22, 22, 24)
}); library:apply_theme(items[ "outline" ], "accent", "BackgroundColor3");
items[ "tick" ] = library:create( "ImageLabel" , {
ImageTransparency = 1;
BorderColor3 = rgb(0, 0, 0);
Image = "rbxassetid://111862698467575";
BackgroundTransparency = 1;
Position = dim2(0, -1, 0, 0);
Parent = items[ "outline" ];
Size = dim2(1, 2, 1, 2);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255);
ZIndex = 1;
});
library:create( "UICorner" , {
Parent = items[ "outline" ];
CornerRadius = dim(0, 4)
});
library:create( "UIGradient" , {
Enabled = false;
Parent = items[ "outline" ];
Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))}
});
else
items[ "toggle_button" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
LayoutOrder = 2;
AnchorPoint = vec2(1, 0.5);
Parent = items[ "right_components" ];
Name = "\0";
Position = dim2(1, -9, 0.5, 0);
Size = dim2(0, 36, 0, 18);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = themes.preset.accent
}); library:apply_theme(items[ "toggle_button" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = items[ "toggle_button" ];
CornerRadius = dim(0, 999)
});
items[ "inline" ] = library:create( "Frame" , {
Parent = items[ "toggle_button" ];
Size = dim2(1, -2, 1, -2);
Name = "\0";
BorderMode = Enum.BorderMode.Inset;
BorderColor3 = rgb(0, 0, 0);
Position = dim2(0, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = themes.preset.accent
}); library:apply_theme(items[ "inline" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = items[ "inline" ];
CornerRadius = dim(0, 999)
});
library:create( "UIGradient" , {
Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))};
Parent = items[ "inline" ]
});
items[ "circle" ] = library:create( "Frame" , {
Parent = items[ "inline" ];
Name = "\0";
Position = dim2(1, -14, 0, 2);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 12, 0, 12);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UICorner" , {
Parent = items[ "circle" ];
CornerRadius = dim(0, 999)
});
end
--
end;
function cfg.set(bool)
if cfg.type == "checkbox" then
library:tween(items[ "tick" ], {Rotation = bool and 0 or 45, ImageTransparency = bool and 0 or 1})
library:tween(items[ "toggle_button" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(67, 67, 68)})
library:tween(items[ "outline" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(22, 22, 24)})
else
library:tween(items[ "toggle_button" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(58, 58, 62)}, Enum.EasingStyle.Quad)
library:tween(items[ "inline" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(50, 50, 50)}, Enum.EasingStyle.Quad)
library:tween(items[ "circle" ], {BackgroundColor3 = bool and rgb(255, 255, 255) or rgb(86, 86, 88), Position = bool and dim2(1, -14, 0, 2) or dim2(0, 2, 0, 2)}, Enum.EasingStyle.Quad)
end
cfg.enabled = bool
cfg.callback(bool)
if cfg.folding then
elements.Visible = bool
end
flags[cfg.flag] = bool
end
items[ "toggle" ].MouseButton1Click:Connect(function()
cfg.enabled = not cfg.enabled
cfg.set(cfg.enabled)
end)
items[ "toggle_button" ].MouseButton1Click:Connect(function()
cfg.enabled = not cfg.enabled
cfg.set(cfg.enabled)
end)
if cfg.seperator then -- ok bro my lua either sucks or this was a pain in the ass to make (simple if statement aswell 💔)
library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = self.items[ "elements" ];
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(36, 36, 37)
});
end
cfg.set(cfg.default)
config_flags[cfg.flag] = cfg.set
return setmetatable(cfg, library)
end
function library:slider(options)
local cfg = {
name = options.name or nil,
suffix = options.suffix or "",
flag = options.flag or library:next_flag(),
callback = options.callback or function() end,
info = options.info or nil;
-- value settings
min = options.min or options.minimum or 0,
max = options.max or options.maximum or 100,
intervals = options.interval or options.decimal or 1,
default = options.default or 10,
value = options.default or 10,
seperator = options.seperator or options.Seperator or false;
dragging = false,
items = {}
}
flags[cfg.flag] = cfg.default
local items = cfg.items; do
items[ "slider_object" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "slider_object" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
if cfg.info then
items[ "info" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(130, 130, 130);
BorderColor3 = rgb(0, 0, 0);
TextWrapped = true;
Text = cfg.info;
Parent = items[ "slider_object" ];
Name = "\0";
Position = dim2(0, 5, 0, 37);
Size = dim2(1, -10, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
end
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "right_components" ] = library:create( "Frame" , {
Parent = items[ "slider_object" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 4, 0, 23);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 0, 12);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
Parent = items[ "right_components" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder;
FillDirection = Enum.FillDirection.Horizontal
});
items[ "slider" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Parent = items[ "right_components" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
Size = dim2(1, -4, 0, 4);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(33, 33, 35)
});
library:create( "UICorner" , {
Parent = items[ "slider" ];
CornerRadius = dim(0, 999)
});
items[ "fill" ] = library:create( "Frame" , {
Name = "\0";
Parent = items[ "slider" ];
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0.5, 0, 0, 4);
BorderSizePixel = 0;
BackgroundColor3 = themes.preset.accent
}); library:apply_theme(items[ "fill" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = items[ "fill" ];
CornerRadius = dim(0, 999)
});
items[ "circle" ] = library:create( "Frame" , {
AnchorPoint = vec2(0.5, 0.5);
Parent = items[ "fill" ];
Name = "\0";
Position = dim2(1, 0, 0.5, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 12, 0, 12);
BorderSizePixel = 0;
BackgroundColor3 = rgb(244, 244, 244)
});
library:create( "UICorner" , {
Parent = items[ "circle" ];
CornerRadius = dim(0, 999)
});
library:create( "UIPadding" , {
Parent = items[ "right_components" ];
PaddingTop = dim(0, 4)
});
items[ "value" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = "50%";
Parent = items[ "slider_object" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
Position = dim2(0, 6, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Right;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "value" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
end
function cfg.changetext(text)
items['name'].Text = text
end
function cfg.set(value)
cfg.value = clamp(library:round(value, cfg.intervals), cfg.min, cfg.max)
library:tween(items[ "fill" ], {Size = dim2((cfg.value - cfg.min) / (cfg.max - cfg.min), cfg.value == cfg.min and 0 or -4, 0, 2)}, Enum.EasingStyle.Linear, 0.05)
items[ "value" ].Text = tostring(cfg.value) .. cfg.suffix
flags[cfg.flag] = cfg.value
cfg.callback(flags[cfg.flag])
end
items[ "slider" ].MouseButton1Down:Connect(function()
cfg.dragging = true
library:tween(items[ "value" ], {TextColor3 = rgb(255, 255, 255)}, Enum.EasingStyle.Quad, 0.2)
end)
library:connection(uis.InputChanged, function(input)
if cfg.dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local size_x = (input.Position.X - items[ "slider" ].AbsolutePosition.X) / items[ "slider" ].AbsoluteSize.X
local value = ((cfg.max - cfg.min) * size_x) + cfg.min
cfg.set(value)
end
end)
library:connection(uis.InputEnded, function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
cfg.dragging = false
library:tween(items[ "value" ], {TextColor3 = rgb(72, 72, 73)}, Enum.EasingStyle.Quad, 0.2)
end
end)
if cfg.seperator then
library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = self.items[ "elements" ];
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(36, 36, 37)
});
end
cfg.set(cfg.default)
config_flags[cfg.flag] = cfg.set
return setmetatable(cfg, library)
end
function library:dropdown(options)
local cfg = {
name = options.name or nil;
info = options.info or nil;
flag = options.flag or library:next_flag();
options = options.items or {""};
callback = options.callback or function() end;
multi = options.multi or false;
scrolling = options.scrolling or false;
width = options.width or 130;
-- Ignore these
open = false;
option_instances = {};
multi_items = {};
ignore = options.ignore or false;
items = {};
y_size;
seperator = options.seperator or options.Seperator or false;
}
cfg.default = options.default or (cfg.multi and {cfg.items[1]}) or cfg.items[1] or "None"
flags[cfg.flag] = cfg.default
local items = cfg.items; do
-- Element
items[ "dropdown_object" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "dropdown_object" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
if cfg.info then
items[ "info" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(130, 130, 130);
BorderColor3 = rgb(0, 0, 0);
TextWrapped = true;
Text = cfg.info;
Parent = items[ "dropdown_object" ];
Name = "\0";
Position = dim2(0, 5, 0, 17);
Size = dim2(1, -10, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
end
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "right_components" ] = library:create( "Frame" , {
Parent = items[ "dropdown_object" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
FillDirection = Enum.FillDirection.Horizontal;
HorizontalAlignment = Enum.HorizontalAlignment.Right;
Parent = items[ "right_components" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder
});
items[ "dropdown" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Parent = items[ "right_components" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
Size = dim2(0, cfg.width, 0, 16);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(33, 33, 35)
});
library:create( "UICorner" , {
Parent = items[ "dropdown" ];
CornerRadius = dim(0, 4)
});
items[ "sub_text" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(86, 86, 87);
BorderColor3 = rgb(0, 0, 0);
Text = "awdawdawdawdawdawdawdaw";
Parent = items[ "dropdown" ];
Name = "\0";
Size = dim2(1, -12, 0, 0);
BorderSizePixel = 0;
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
TextTruncate = Enum.TextTruncate.AtEnd;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "sub_text" ];
PaddingTop = dim(0, 1);
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "indicator" ] = library:create( "ImageLabel" , {
ImageColor3 = rgb(86, 86, 87);
BorderColor3 = rgb(0, 0, 0);
Parent = items[ "dropdown" ];
AnchorPoint = vec2(1, 0.5);
Image = "rbxassetid://101025591575185";
BackgroundTransparency = 1;
Position = dim2(1, -5, 0.5, 0);
Name = "\0";
Size = dim2(0, 12, 0, 12);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
--
-- Element Holder
items[ "dropdown_holder" ] = library:create( "Frame" , {
BorderColor3 = rgb(0, 0, 0);
Parent = library[ "items" ];
Name = "\0";
Visible = true;
BackgroundTransparency = 1;
Size = dim2(0, 0, 0, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(0, 0, 0);
ZIndex = 10;
});
items[ "outline" ] = library:create( "Frame" , {
Parent = items[ "dropdown_holder" ];
Size = dim2(1, 0, 1, 0);
ClipsDescendants = true;
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(33, 33, 35);
ZIndex = 10;
});
library:create( "UIPadding" , {
PaddingBottom = dim(0, 6);
PaddingTop = dim(0, 3);
PaddingLeft = dim(0, 3);
Parent = items[ "outline" ]
});
library:create( "UIListLayout" , {
Parent = items[ "outline" ];
Padding = dim(0, 5);
SortOrder = Enum.SortOrder.LayoutOrder
});
library:create( "UICorner" , {
Parent = items[ "outline" ];
CornerRadius = dim(0, 4)
});
--
end
function cfg.render_option(text)
local button = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = text;
Parent = items[ "outline" ];
Name = "\0";
Size = dim2(1, -12, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255);
ZIndex = 10;
}); library:apply_theme(button, "accent", "TextColor3");
library:create( "UIPadding" , {
Parent = button;
PaddingTop = dim(0, 1);
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
return button
end
function cfg.set_visible(bool)
local a = bool and cfg.y_size or 0
library:tween(items[ "dropdown_holder" ], {Size = dim_offset(items[ "dropdown" ].AbsoluteSize.X, a)})
items[ "dropdown_holder" ].Position = dim2(0, items[ "dropdown" ].AbsolutePosition.X, 0, items[ "dropdown" ].AbsolutePosition.Y + 80)
if not (self.sanity and library.current_open == self) then
library:close_element(cfg)
end
end
function cfg.set(value)
local selected = {}
local isTable = type(value) == "table"
for _, option in cfg.option_instances do
if option.Text == value or (isTable and find(value, option.Text)) then
insert(selected, option.Text)
cfg.multi_items = selected
option.TextColor3 = themes.preset.accent
else
option.TextColor3 = rgb(72, 72, 73)
end
end
items[ "sub_text" ].Text = isTable and concat(selected, ", ") or selected[1] or ""
flags[cfg.flag] = isTable and selected or selected[1]
cfg.callback(flags[cfg.flag])
end
function cfg.changetext(text)
items[ "name" ].Text = text
end
function cfg.refresh_options(list)
cfg.y_size = 0
for _, option in cfg.option_instances do
option:Destroy()
end
cfg.option_instances = {}
for _, option in list do
local button = cfg.render_option(option)
cfg.y_size += button.AbsoluteSize.Y + 6 -- super annoying manual sizing but oh well
insert(cfg.option_instances, button)
button.MouseButton1Down:Connect(function()
if cfg.multi then
local selected_index = find(cfg.multi_items, button.Text)
if selected_index then
remove(cfg.multi_items, selected_index)
else
insert(cfg.multi_items, button.Text)
end
cfg.set(cfg.multi_items)
else
cfg.set_visible(false)
cfg.open = false
cfg.set(button.Text)
end
end)
end
end
items[ "dropdown" ].MouseButton1Click:Connect(function()
cfg.open = not cfg.open
cfg.set_visible(cfg.open)
end)
if cfg.seperator then
library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = self.items[ "elements" ];
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(36, 36, 37)
});
end
flags[cfg.flag] = {}
config_flags[cfg.flag] = cfg.set
cfg.refresh_options(cfg.options)
cfg.set(cfg.default)
return setmetatable(cfg, library)
end
function library:label(options)
local cfg = {
enabled = options.enabled or nil,
name = options.name or "Toggle",
wrapped = options.wrapped or false,
seperator = options.seperator or options.Seperator or false;
info = options.info or nil;
items = {};
}
local items = cfg.items; do
items[ "label" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
TextWrapped = cfg.wrapped,
Parent = items[ "label" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
RichText = true,
BackgroundColor3 = rgb(255, 255, 255)
});
if cfg.info then
items[ "info" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(130, 130, 130);
BorderColor3 = rgb(0, 0, 0);
TextWrapped = true;
Text = cfg.info;
Parent = items[ "label" ];
Name = "\0";
Position = dim2(0, 5, 0, 17);
Size = dim2(1, -10, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
end
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "right_components" ] = library:create( "Frame" , {
Parent = items[ "label" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
FillDirection = Enum.FillDirection.Horizontal;
HorizontalAlignment = Enum.HorizontalAlignment.Right;
Parent = items[ "right_components" ];
Padding = dim(0, 9);
SortOrder = Enum.SortOrder.LayoutOrder
});
end
if cfg.seperator then
library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = self.items[ "elements" ];
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(36, 36, 37)
});
end
function cfg.set(text)
items[ "name" ].Text = text
end
return setmetatable(cfg, library)
end
function library:colorpicker(options)
local cfg = {
name = options.name or "Color",
flag = options.flag or library:next_flag(),
color = options.color or color(1, 1, 1), -- Default to white color if not provided
alpha = options.alpha and 1 - options.alpha or 0,
open = false,
callback = options.callback or function() end,
items = {};
seperator = options.seperator or options.Seperator or false;
}
local dragging_sat = false
local dragging_hue = false
local dragging_alpha = false
local h, s, v = cfg.color:ToHSV()
local a = cfg.alpha
flags[cfg.flag] = {Color = cfg.color, Transparency = cfg.alpha}
local label;
if not self.items.right_components then
label = self:label({name = cfg.name, seperator = cfg.seperator})
end
local items = cfg.items; do
-- Component
items[ "colorpicker" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Parent = label and label.items.right_components or self.items[ "right_components" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
Size = dim2(0, 16, 0, 16);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(54, 31, 184)
});
library:create( "UICorner" , {
Parent = items[ "colorpicker" ];
CornerRadius = dim(0, 4)
});
items[ "colorpicker_inline" ] = library:create( "Frame" , {
Parent = items[ "colorpicker" ];
Size = dim2(1, -2, 1, -2);
Name = "\0";
BorderMode = Enum.BorderMode.Inset;
BorderColor3 = rgb(0, 0, 0);
Position = dim2(0, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(54, 31, 184)
});
library:create( "UICorner" , {
Parent = items[ "colorpicker_inline" ];
CornerRadius = dim(0, 4)
});
library:create( "UIGradient" , {
Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))};
Parent = items[ "colorpicker_inline" ]
});
--
-- Colorpicker
items[ "colorpicker_holder" ] = library:create( "Frame" , {
Parent = library[ "other" ];
Name = "\0";
Position = dim2(0.20000000298023224, 20, 0.296999990940094, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 166, 0, 197);
BorderSizePixel = 0;
Visible = true;
BackgroundColor3 = rgb(25, 25, 29)
});
items[ "colorpicker_fade" ] = library:create( "Frame" , {
Parent = items[ "colorpicker_holder" ];
Name = "\0";
BackgroundTransparency = 0;
Position = dim2(0, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 1, 0);
BorderSizePixel = 0;
ZIndex = 100;
BackgroundColor3 = rgb(25, 25, 29)
});
items[ "colorpicker_components" ] = library:create( "Frame" , {
Parent = items[ "colorpicker_holder" ];
Name = "\0";
Position = dim2(0, 1, 0, 1);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -2, 1, -2);
BorderSizePixel = 0;
BackgroundColor3 = rgb(22, 22, 24)
});
library:create( "UICorner" , {
Parent = items[ "colorpicker_components" ];
CornerRadius = dim(0, 6)
});
items[ "saturation_holder" ] = library:create( "Frame" , {
Parent = items[ "colorpicker_components" ];
Name = "\0";
Position = dim2(0, 7, 0, 7);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -14, 1, -80);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 39, 39)
});
items[ "sat" ] = library:create( "TextButton" , {
Parent = items[ "saturation_holder" ];
Name = "\0";
Size = dim2(1, 0, 1, 0);
Text = "";
AutoButtonColor = false;
BorderColor3 = rgb(0, 0, 0);
ZIndex = 2;
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UICorner" , {
Parent = items[ "sat" ];
CornerRadius = dim(0, 4)
});
library:create( "UIGradient" , {
Rotation = 270;
Transparency = numseq{numkey(0, 0), numkey(1, 1)};
Parent = items[ "sat" ];
Color = rgbseq{rgbkey(0, rgb(0, 0, 0)), rgbkey(1, rgb(0, 0, 0))}
});
items[ "val" ] = library:create( "Frame" , {
Name = "\0";
Parent = items[ "saturation_holder" ];
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIGradient" , {
Parent = items[ "val" ];
Transparency = numseq{numkey(0, 0), numkey(1, 1)}
});
library:create( "UICorner" , {
Parent = items[ "val" ];
CornerRadius = dim(0, 4)
});
library:create( "UICorner" , {
Parent = items[ "saturation_holder" ];
CornerRadius = dim(0, 4)
});
items[ "satvalpicker" ] = library:create( "TextButton" , {
BorderColor3 = rgb(0, 0, 0);
AutoButtonColor = false;
Text = "";
AnchorPoint = vec2(0, 1);
Parent = items[ "saturation_holder" ];
Name = "\0";
Position = dim2(0, 0, 4, 0);
Size = dim2(0, 8, 0, 8);
ZIndex = 5;
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 0, 0)
});
library:create( "UICorner" , {
Parent = items[ "satvalpicker" ];
CornerRadius = dim(0, 9999)
});
library:create( "UIStroke" , {
Color = rgb(255, 255, 255);
Parent = items[ "satvalpicker" ];
ApplyStrokeMode = Enum.ApplyStrokeMode.Border;
});
items[ "hue_gradient" ] = library:create( "TextButton" , {
Parent = items[ "colorpicker_components" ];
Name = "\0";
Position = dim2(0, 10, 1, -64);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -20, 0, 8);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255);
AutoButtonColor = false;
Text = "";
});
library:create( "UIGradient" , {
Color = rgbseq{rgbkey(0, rgb(255, 0, 0)), rgbkey(0.17, rgb(255, 255, 0)), rgbkey(0.33, rgb(0, 255, 0)), rgbkey(0.5, rgb(0, 255, 255)), rgbkey(0.67, rgb(0, 0, 255)), rgbkey(0.83, rgb(255, 0, 255)), rgbkey(1, rgb(255, 0, 0))};
Parent = items[ "hue_gradient" ]
});
library:create( "UICorner" , {
Parent = items[ "hue_gradient" ];
CornerRadius = dim(0, 6)
});
items[ "hue_picker" ] = library:create( "TextButton" , {
BorderColor3 = rgb(0, 0, 0);
AutoButtonColor = false;
Text = "";
AnchorPoint = vec2(0, 0.5);
Parent = items[ "hue_gradient" ];
Name = "\0";
Position = dim2(0, 0, 0.5, 0);
Size = dim2(0, 8, 0, 8);
ZIndex = 5;
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 0, 0)
});
library:create( "UICorner" , {
Parent = items[ "hue_picker" ];
CornerRadius = dim(0, 9999)
});
library:create( "UIStroke" , {
Color = rgb(255, 255, 255);
Parent = items[ "hue_picker" ];
ApplyStrokeMode = Enum.ApplyStrokeMode.Border;
});
items[ "alpha_gradient" ] = library:create( "TextButton" , {
Parent = items[ "colorpicker_components" ];
Name = "\0";
Position = dim2(0, 10, 1, -46);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -20, 0, 8);
BorderSizePixel = 0;
BackgroundColor3 = rgb(25, 25, 29);
AutoButtonColor = false;
Text = "";
});
library:create( "UICorner" , {
Parent = items[ "alpha_gradient" ];
CornerRadius = dim(0, 6)
});
items[ "alpha_picker" ] = library:create( "TextButton" , {
BorderColor3 = rgb(0, 0, 0);
AutoButtonColor = false;
Text = "";
AnchorPoint = vec2(0, 0.5);
Parent = items[ "alpha_gradient" ];
Name = "\0";
Position = dim2(1, 0, 0.5, 0);
Size = dim2(0, 8, 0, 8);
ZIndex = 5;
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 0, 0)
});
library:create( "UICorner" , {
Parent = items[ "alpha_picker" ];
CornerRadius = dim(0, 9999)
});
library:create( "UIStroke" , {
Color = rgb(255, 255, 255);
ApplyStrokeMode = Enum.ApplyStrokeMode.Border;
Parent = items[ "alpha_picker" ]
});
library:create( "UIGradient" , {
Color = rgbseq{rgbkey(0, rgb(0, 0, 0)), rgbkey(1, rgb(255, 255, 255))};
Parent = items[ "alpha_gradient" ]
});
items[ "alpha_indicator" ] = library:create( "ImageLabel" , {
ScaleType = Enum.ScaleType.Tile;
BorderColor3 = rgb(0, 0, 0);
Parent = items[ "alpha_gradient" ];
Image = "rbxassetid://18274452449";
BackgroundTransparency = 1;
Name = "\0";
Size = dim2(1, 0, 1, 0);
TileSize = dim2(0, 6, 0, 6);
BorderSizePixel = 0;
BackgroundColor3 = rgb(0, 0, 0)
});
library:create( "UIGradient" , {
Color = rgbseq{rgbkey(0, rgb(112, 112, 112)), rgbkey(1, rgb(255, 0, 0))};
Transparency = numseq{numkey(0, 0.8062499761581421), numkey(1, 0)};
Parent = items[ "alpha_indicator" ]
});
library:create( "UICorner" , {
Parent = items[ "alpha_indicator" ];
CornerRadius = dim(0, 6)
});
library:create( "UIGradient" , {
Rotation = 90;
Parent = items[ "colorpicker_components" ];
Color = rgbseq{rgbkey(0, rgb(255, 255, 255)), rgbkey(1, rgb(66, 66, 66))}
});
items[ "input" ] = library:create( "TextBox" , {
FontFace = fonts.font;
AnchorPoint = vec2(1, 1);
Text = "";
Parent = items[ "colorpicker_components" ];
Name = "\0";
TextTruncate = Enum.TextTruncate.AtEnd;
BorderSizePixel = 0;
PlaceholderColor3 = rgb(255, 255, 255);
CursorPosition = -1;
ClearTextOnFocus = false;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255);
TextColor3 = rgb(72, 72, 72);
BorderColor3 = rgb(0, 0, 0);
Position = dim2(1, -8, 1, -11);
Size = dim2(1, -16, 0, 18);
BackgroundColor3 = rgb(33, 33, 35)
});
library:create( "UICorner" , {
Parent = items[ "input" ];
CornerRadius = dim(0, 3)
});
items[ "UICorenr" ] = library:create( "UICorner" , { -- fire misstypo (im not fixing this RAWR)
Parent = items[ "colorpicker_holder" ];
Name = "\0";
CornerRadius = dim(0, 4)
});
--
end;
function cfg.set_visible(bool)
items[ "colorpicker_fade" ].BackgroundTransparency = 0
items[ "colorpicker_holder" ].Parent = bool and library[ "items" ] or library[ "other" ]
items[ "colorpicker_holder" ].Position = dim_offset(items[ "colorpicker" ].AbsolutePosition.X, items[ "colorpicker" ].AbsolutePosition.Y + items[ "colorpicker" ].AbsoluteSize.Y + 45)
library:tween(items[ "colorpicker_fade" ], {BackgroundTransparency = 1}, Enum.EasingStyle.Quad, 0.4)
library:tween(items[ "colorpicker_holder" ], {Position = items[ "colorpicker_holder" ].Position + dim_offset(0, 20)}) -- p100 check
if not (self.sanity and library.current_open == self and self.open) then
library:close_element(cfg)
end
end
function cfg.set(color, alpha)
if type(color) == "boolean" then
return
end
if color then
h, s, v = color:ToHSV()
end
if alpha then
a = alpha
end
local Color = hsv(h, s, v)
-- Ok so quick story, should I cache any of this? no...?? anyways I know this code is very bad but its your fault for buying a ui with animations (on a serious note im too lazy to make this look nice)
-- Also further note, yeah I kind of did this scale_factor * size-valuesize.plane because then I would have to do tomfoolery to make it clip properly.
library:tween(items[ "hue_picker" ], {Position = dim2(0, (items[ "hue_gradient" ].AbsoluteSize.X - items[ "hue_picker" ].AbsoluteSize.X) * h, 0.5, 0)}, Enum.EasingStyle.Linear, 0.05)
library:tween(items[ "alpha_picker" ], {Position = dim2(0, (items[ "alpha_gradient" ].AbsoluteSize.X - items[ "alpha_picker" ].AbsoluteSize.X) * (1 - a), 0.5, 0)}, Enum.EasingStyle.Linear, 0.05)
library:tween(items[ "satvalpicker" ], {Position = dim2(0, s * (items[ "saturation_holder" ].AbsoluteSize.X - items[ "satvalpicker" ].AbsoluteSize.X), 1, 1 - v * (items[ "saturation_holder" ].AbsoluteSize.Y - items[ "satvalpicker" ].AbsoluteSize.Y))}, Enum.EasingStyle.Linear, 0.05)
items[ "alpha_indicator" ]:FindFirstChildOfClass("UIGradient").Color = rgbseq{rgbkey(0, rgb(112, 112, 112)), rgbkey(1, hsv(h, 1, 1))}; -- shit code
items[ "colorpicker" ].BackgroundColor3 = Color
items[ "colorpicker_inline" ].BackgroundColor3 = Color
items[ "saturation_holder" ].BackgroundColor3 = hsv(h, 1, 1)
items[ "hue_picker" ].BackgroundColor3 = hsv(h, 1, 1)
items[ "alpha_picker" ].BackgroundColor3 = hsv(h, 1, 1 - a)
items[ "satvalpicker" ].BackgroundColor3 = hsv(h, s, v)
flags[cfg.flag] = {
Color = Color;
Transparency = a
}
local color = items[ "colorpicker" ].BackgroundColor3
items[ "input" ].Text = string.format("%s, %s, %s, ", library:round(color.R * 255), library:round(color.G * 255), library:round(color.B * 255))
items[ "input" ].Text ..= library:round(1 - a, 0.01)
cfg.callback(Color, a)
end
function cfg.update_color()
local mouse = uis:GetMouseLocation()
local offset = vec2(mouse.X, mouse.Y - gui_offset)
if dragging_sat then
s = math.clamp((offset - items["sat"].AbsolutePosition).X / items["sat"].AbsoluteSize.X, 0, 1)
v = 1 - math.clamp((offset - items["sat"].AbsolutePosition).Y / items["sat"].AbsoluteSize.Y, 0, 1)
elseif dragging_hue then
h = math.clamp((offset - items[ "hue_gradient" ].AbsolutePosition).X / items[ "hue_gradient" ].AbsoluteSize.X, 0, 1)
elseif dragging_alpha then
a = 1 - math.clamp((offset - items[ "alpha_gradient" ].AbsolutePosition).X / items[ "alpha_gradient" ].AbsoluteSize.X, 0, 1)
end
cfg.set()
end
items[ "colorpicker" ].MouseButton1Click:Connect(function()
cfg.open = not cfg.open
cfg.set_visible(cfg.open)
end)
uis.InputChanged:Connect(function(input)
if (dragging_sat or dragging_hue or dragging_alpha) and input.UserInputType == Enum.UserInputType.MouseMovement then
cfg.update_color()
end
end)
library:connection(uis.InputEnded, function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging_sat = false
dragging_hue = false
dragging_alpha = false
end
end)
items[ "alpha_gradient" ].MouseButton1Down:Connect(function()
dragging_alpha = true
end)
items[ "hue_gradient" ].MouseButton1Down:Connect(function()
dragging_hue = true
end)
items[ "sat" ].MouseButton1Down:Connect(function()
dragging_sat = true
end)
items[ "input" ].FocusLost:Connect(function()
local text = items[ "input" ].Text
local r, g, b, a = library:convert(text)
if r and g and b and a then
cfg.set(rgb(r, g, b), 1 - a)
end
end)
items[ "input" ].Focused:Connect(function()
library:tween(items[ "input" ], {TextColor3 = rgb(245, 245, 245)})
end)
items[ "input" ].FocusLost:Connect(function()
library:tween(items[ "input" ], {TextColor3 = rgb(72, 72, 72)})
end)
cfg.set(cfg.color, cfg.alpha)
config_flags[cfg.flag] = cfg.set
return setmetatable(cfg, library)
end
function library:textbox(options)
local cfg = {
name = options.name or "TextBox",
placeholder = options.placeholder or options.placeholdertext or options.holder or options.holdertext or "type here...",
default = options.default or "",
flag = options.flag or library:next_flag(),
callback = options.callback or function() end,
visible = options.visible or true,
items = {};
}
flags[cfg.flag] = cfg.default
local items = cfg.items; do
items[ "textbox" ] = library:create( "TextButton" , {
LayoutOrder = -1;
FontFace = fonts.font;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "textbox" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "right_components" ] = library:create( "Frame" , {
Parent = items[ "textbox" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 4, 0, 19);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 0, 12);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
Parent = items[ "right_components" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder;
FillDirection = Enum.FillDirection.Horizontal
});
items[ "input" ] = library:create( "TextBox" , {
FontFace = fonts.font;
Text = "";
Parent = items[ "right_components" ];
Name = "\0";
TextTruncate = Enum.TextTruncate.AtEnd;
BorderSizePixel = 0;
PlaceholderColor3 = rgb(255, 255, 255);
CursorPosition = -1;
ClearTextOnFocus = false;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255);
TextColor3 = rgb(72, 72, 72);
BorderColor3 = rgb(0, 0, 0);
Position = dim2(1, 0, 0, 0);
Size = dim2(1, -4, 0, 30);
BackgroundColor3 = rgb(33, 33, 35)
});
library:create( "UICorner" , {
Parent = items[ "input" ];
CornerRadius = dim(0, 3)
});
library:create( "UIPadding" , {
Parent = items[ "right_components" ];
PaddingTop = dim(0, 4);
PaddingRight = dim(0, 4)
});
end
function cfg.set(text)
flags[cfg.flag] = text
items[ "input" ].Text = text
cfg.callback(text)
end
items[ "input" ]:GetPropertyChangedSignal("Text"):Connect(function()
cfg.set(items[ "input" ].Text)
end)
items[ "input" ].Focused:Connect(function()
library:tween(items[ "input" ], {TextColor3 = rgb(245, 245, 245)})
end)
items[ "input" ].FocusLost:Connect(function()
library:tween(items[ "input" ], {TextColor3 = rgb(72, 72, 72)})
end)
if cfg.default then
cfg.set(cfg.default)
end
config_flags[cfg.flag] = cfg.set
return setmetatable(cfg, library)
end
function library:keybind(options)
local cfg = {
flag = options.flag or library:next_flag(),
callback = options.callback or function() end,
name = options.name or nil,
ignore_key = options.ignore or false,
seperator = options.seperator or false,
key = options.key or nil,
mode = options.mode or "Toggle",
active = options.default or false,
open = false,
binding = nil,
hold_instances = {},
items = {};
}
flags[cfg.flag] = {
mode = cfg.mode,
key = cfg.key,
active = cfg.active
}
local items = cfg.items; do
-- Component
items[ "keybind_element" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "keybind_element" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "right_components" ] = library:create( "Frame" , {
Parent = items[ "keybind_element" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
FillDirection = Enum.FillDirection.Horizontal;
HorizontalAlignment = Enum.HorizontalAlignment.Right;
Parent = items[ "right_components" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder
});
items[ "keybind_holder" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = items[ "right_components" ];
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Size = dim2(0, 0, 0, 16);
Name = "\0";
Position = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.X;
TextSize = 14;
BackgroundColor3 = rgb(33, 33, 35)
});
library:create( "UICorner" , {
Parent = items[ "keybind_holder" ];
CornerRadius = dim(0, 4)
});
items[ "key" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(86, 86, 87);
BorderColor3 = rgb(0, 0, 0);
Text = "LSHIFT";
Parent = items[ "keybind_holder" ];
Name = "\0";
Size = dim2(1, -12, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "key" ];
PaddingTop = dim(0, 1);
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
--
-- Mode Holder
items[ "dropdown" ] = library:create( "Frame" , {
BorderColor3 = rgb(0, 0, 0);
Parent = library.items;
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 0, 0, 0);
Size = dim2(0, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.X;
BackgroundColor3 = rgb(0, 0, 0)
});
items[ "inline" ] = library:create( "Frame" , {
Parent = items[ "dropdown" ];
Size = dim2(1, 0, 1, 0);
Name = "\0";
ClipsDescendants = true;
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(22, 22, 24)
});
library:create( "UIPadding" , {
PaddingBottom = dim(0, 6);
PaddingTop = dim(0, 3);
PaddingLeft = dim(0, 3);
Parent = items[ "inline" ]
});
library:create( "UIListLayout" , {
Parent = items[ "inline" ];
Padding = dim(0, 5);
SortOrder = Enum.SortOrder.LayoutOrder
});
library:create( "UICorner" , {
Parent = items[ "inline" ];
CornerRadius = dim(0, 4)
});
local options = {"Hold", "Toggle", "Always"}
cfg.y_size = 20
for _, option in options do
local name = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = option;
Parent = items[ "inline" ];
Name = "\0";
Size = dim2(0, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
}); cfg.hold_instances[option] = name
library:apply_theme(name, "accent", "TextColor3")
cfg.y_size += name.AbsoluteSize.Y
library:create( "UIPadding" , {
Parent = name;
PaddingTop = dim(0, 1);
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
name.MouseButton1Click:Connect(function()
cfg.set(option)
cfg.set_visible(false)
cfg.open = false
end)
end
--
end
if cfg.seperator then -- ok bro my lua either sucks or this was a pain in the ass to make (simple if statement aswell 💔)
library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = self.items[ "elements" ];
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(36, 36, 37)
});
end
function cfg.modify_mode_color(path) -- ts so frikin tuff 💀
for _, v in cfg.hold_instances do
v.TextColor3 = rgb(72, 72, 72)
end
cfg.hold_instances[path].TextColor3 = themes.preset.accent
end
function cfg.set_mode(mode)
cfg.mode = mode
if mode == "Always" then
cfg.set(true)
elseif mode == "Hold" then
cfg.set(false)
end
flags[cfg.flag]["mode"] = mode
cfg.modify_mode_color(mode)
end
function cfg.set(input)
if type(input) == "boolean" then
cfg.active = input
if cfg.mode == "Always" then
cfg.active = true
end
elseif tostring(input):find("Enum") then
input = input.Name == "Escape" and "NONE" or input
cfg.key = input or "NONE"
elseif find({"Toggle", "Hold", "Always"}, input) then
if input == "Always" then
cfg.active = true
end
cfg.mode = input
cfg.set_mode(cfg.mode)
elseif type(input) == "table" then
input.key = type(input.key) == "string" and input.key ~= "NONE" and library:convert_enum(input.key) or input.key
input.key = input.key == Enum.KeyCode.Escape and "NONE" or input.key
cfg.key = input.key or "NONE"
cfg.mode = input.mode or "Toggle"
if input.active then
cfg.active = input.active
end
cfg.set_mode(cfg.mode)
end
cfg.callback(cfg.active)
local text = tostring(cfg.key) ~= "Enums" and (keys[cfg.key] or tostring(cfg.key):gsub("Enum.", "")) or nil
local __text = text and (tostring(text):gsub("KeyCode.", ""):gsub("UserInputType.", ""))
items[ "key" ].Text = __text
flags[cfg.flag] = {
mode = cfg.mode,
key = cfg.key,
active = cfg.active
}
end
function cfg.set_visible(bool)
local size = bool and cfg.y_size or 0
library:tween(items[ "dropdown" ], {Size = dim_offset(items[ "keybind_holder" ].AbsoluteSize.X, size)})
items[ "dropdown" ].Position = dim_offset(items[ "keybind_holder" ].AbsolutePosition.X, items[ "keybind_holder" ].AbsolutePosition.Y + items[ "keybind_holder" ].AbsoluteSize.Y + 60)
end
items[ "keybind_holder" ].MouseButton1Down:Connect(function()
task.wait()
items[ "key" ].Text = "..."
cfg.binding = library:connection(uis.InputBegan, function(keycode, game_event)
cfg.set(keycode.KeyCode ~= Enum.KeyCode.Unknown and keycode.KeyCode or keycode.UserInputType)
cfg.binding:Disconnect()
cfg.binding = nil
end)
end)
items[ "keybind_holder" ].MouseButton2Down:Connect(function()
cfg.open = not cfg.open
cfg.set_visible(cfg.open)
end)
library:connection(uis.InputBegan, function(input, game_event)
if not game_event then
local selected_key = input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode or input.UserInputType
if selected_key == cfg.key then
if cfg.mode == "Toggle" then
cfg.active = not cfg.active
cfg.set(cfg.active)
elseif cfg.mode == "Hold" then
cfg.set(true)
end
end
end
end)
library:connection(uis.InputEnded, function(input, game_event)
if game_event then
return
end
local selected_key = input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode or input.UserInputType
if selected_key == cfg.key then
if cfg.mode == "Hold" then
cfg.set(false)
end
end
end)
cfg.set({mode = cfg.mode, active = cfg.active, key = cfg.key})
config_flags[cfg.flag] = cfg.set
return setmetatable(cfg, library)
end
function library:button(options)
local cfg = {
name = options.name or "TextBox",
callback = options.callback or function() end,
items = {};
}
local items = cfg.items; do
items[ "button_element" ] = library:create( "Frame" , {
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "button" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Parent = items[ "button_element" ];
Name = "\0";
Position = dim2(1, -4, 0, 0);
Size = dim2(1, -8, 0, 30);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(33, 33, 35)
});
library:create( "UICorner" , {
Parent = items[ "button" ];
CornerRadius = dim(0, 3)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "button" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 1, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
}); library:apply_theme(items[ "name" ], "accent", "BackgroundColor3");
end
items[ "button" ].MouseButton1Click:Connect(function()
cfg.callback()
items[ "name" ].TextColor3 = themes.preset.accent
library:tween(items[ "name" ], {TextColor3 = rgb(245, 245, 245)})
end)
return setmetatable(cfg, library)
end
function library:settings(options)
local cfg = {
open = false;
items = {};
sanity = true; -- made this for my own sanity.
}
local items = cfg.items; do
items[ "outline" ] = library:create( "Frame" , {
Name = "\0";
Visible = true;
Parent = library[ "items" ];
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, 0, 0);
ClipsDescendants = true;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
BackgroundColor3 = rgb(25, 25, 29)
});
items[ "inline" ] = library:create( "Frame" , {
Parent = items[ "outline" ];
Name = "\0";
Position = dim2(0, 1, 0, 1);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -2, 1, -2);
BorderSizePixel = 0;
BackgroundColor3 = rgb(22, 22, 24)
});
library:create( "UICorner" , {
Parent = items[ "inline" ];
CornerRadius = dim(0, 7)
});
items[ "elements" ] = library:create( "Frame" , {
BorderColor3 = rgb(0, 0, 0);
Parent = items[ "inline" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 10, 0, 10);
Size = dim2(1, -20, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
Parent = items[ "elements" ];
Padding = dim(0, 10);
SortOrder = Enum.SortOrder.LayoutOrder
});
library:create( "UIPadding" , {
PaddingBottom = dim(0, 15);
Parent = items[ "elements" ]
});
library:create( "UICorner" , {
Parent = items[ "outline" ];
CornerRadius = dim(0, 7)
});
library:create( "UICorner" , {
Parent = items[ "fade" ];
CornerRadius = dim(0, 7)
});
items[ "tick" ] = library:create( "ImageButton" , {
Image = "rbxassetid://128797200442698";
Name = "\0";
AutoButtonColor = false;
Parent = self.items[ "right_components" ];
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 16, 0, 16);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
end
function cfg.set_visible(bool)
library:tween(items[ "outline" ], {Size = dim_offset(bool and 240 or 0, 0)})
items[ "outline" ].Position = dim_offset(items[ "tick" ].AbsolutePosition.X, items[ "tick" ].AbsolutePosition.Y + 90)
library:close_element(cfg)
end
items[ "tick" ].MouseButton1Click:Connect(function()
cfg.open = not cfg.open
cfg.set_visible(cfg.open)
end)
return setmetatable(cfg, library)
end
function library:list(properties)
local cfg = {
items = {};
options = properties.options or {"1", "2", "3"};
flag = properties.flag or library:next_flag();
callback = properties.callback or function() end;
data_store = {};
current_element;
}
local items = cfg.items; do
items[ "list" ] = library:create( "Frame" , {
Parent = self.items[ "elements" ];
BackgroundTransparency = 1;
Name = "\0";
Size = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
Parent = items[ "list" ];
Padding = dim(0, 10);
SortOrder = Enum.SortOrder.LayoutOrder
});
library:create( "UIPadding" , {
Parent = items[ "list" ];
PaddingRight = dim(0, 4);
PaddingLeft = dim(0, 4)
});
end
function cfg.refresh_options(options_to_refresh)
local old_selected_value = flags[cfg.flag] -- store current selected option string
cfg.current_element = nil -- reset current UI element
for _, option in cfg.data_store do
option:Destroy()
end
cfg.data_store = {}
for _, option_data in options_to_refresh do
local button = library:create("TextButton", {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Parent = items["list"];
Name = "\0";
Position = dim2(1, 0, 0, 0);
Size = dim2(1, 0, 0, 30);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(33, 33, 35)
}); cfg.data_store[#cfg.data_store + 1] = button;
local name = library:create("TextLabel", {
FontFace = fonts.font;
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = option_data;
Parent = button;
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 1, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create("UICorner", {
Parent = button;
CornerRadius = dim(0, 3)
});
-- Apply selection highlight if this is the old selected option
if option_data == old_selected_value then
library:tween(name, {TextColor3 = rgb(245, 245, 245)})
cfg.current_element = name
end
button.MouseButton1Click:Connect(function()
local current = cfg.current_element
if current and current ~= name then
library:tween(current, {TextColor3 = rgb(72, 72, 72)})
end
flags[cfg.flag] = option_data
cfg.callback(option_data)
library:tween(name, {TextColor3 = rgb(245, 245, 245)})
cfg.current_element = name
end)
name.MouseEnter:Connect(function()
if cfg.current_element == name then return end
library:tween(name, {TextColor3 = rgb(140, 140, 140)})
end)
name.MouseLeave:Connect(function()
if cfg.current_element == name then return end
library:tween(name, {TextColor3 = rgb(72, 72, 72)})
end)
end
end
cfg.refresh_options(cfg.options)
return setmetatable(cfg, library)
end
function library:init_config(window)
window:seperator({name = "Settings"})
local main, playerlist = window:tab({name = "Configs", tabs = {"Main", "Playerlist"}})
local column = main:column({})
local section = column:section({name = "Configs", size = 1, default = false, icon = "rbxassetid://139628202576511"})
config_holder = section:list({options = {"Report", "This", "Error", "To", "Finobe"}, callback = function(option) end, flag = "config_name_list"}); library:update_config_list()
local column = main:column({})
local section = column:section({name = "Settings", side = "right", size = 1, default = false, icon = GetImage("Settings.png")})
section:textbox({name = "Config name:", flag = "config_name_text"})
section:button({
name = "Save",
callback = function()
pcall(function()
local config_name = (flags["config_name_text"])
writefile(library.directory .. "/configs/" .. config_name .. ".cfg", library:get_config())
library:update_config_list()
notifications:create_notification({
name = "Configs",
info = "Saved config to:\n" .. config_name
})
end)
end
})
section:button({
name = "Overwrite",
callback = function()
pcall(function()
local config_name = (flags["config_name_list"])
writefile(library.directory .. "/configs/" .. config_name .. ".cfg", library:get_config())
library:update_config_list()
notifications:create_notification({
name = "Configs",
info = "Overwrote config :\n" .. config_name
})
end)
end
})
section:button({
name = "Load",
callback = function()
pcall(function()
local config_name = flags["config_name_list"]
library:load_config(readfile(library.directory .. "/configs/" .. config_name .. ".cfg"))
library:update_config_list()
notifications:create_notification({
name = "Configs",
info = "Loaded config:\n" .. config_name
})
end)
end
})
section:button({
name = "Delete",
callback = function()
pcall(function()
local config_name = flags["config_name_list"]
delfile(library.directory .. "/configs/" .. config_name .. ".cfg")
library:update_config_list()
notifications:create_notification({
name = "Configs",
info = "Deleted config:\n" .. config_name
})
end)
end
})
section:colorpicker({name = "Menu Accent", callback = function(color, alpha) library:update_theme("accent", color) end, color = themes.preset.accent})
section:keybind({name = "Menu Bind", key = Enum.KeyCode.Insert, callback = function(bool) window.toggle_menu(bool) end, seperator = true, default = true})
local _request = (http_request and http_request) or (request and request) or (http and http.request)
section:button({name = "Join Lowest Server", callback = function()
local Servers = string.format("https://[Log in to view URL]", tostring(game.PlaceId))
local ListServers = function(cursor)
local Raw = game:HttpGet(Servers .. ((cursor and "&cursor="..cursor) or ""))
return Services.HttpService:JSONDecode(Raw)
end
local Server, Next; repeat
local Servers = ListServers(Next)
Server = Servers.data[1]
Next = Servers.nextPageCursor
until Server
if Server.id == game.JobId then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `You are currently in the smallest server!`,
lifetime = 10
})
return
end
Services.TeleportService:TeleportToPlaceInstance(game.PlaceId, Server.id)
end})
section:button({name = "Server Hop", callback = function()
local Servers = {}
local Request = _request({Url = string.format("https://[Log in to view URL]", tostring(game.PlaceId))})
local Body = Services.HttpService:JSONDecode(Request.Body)
if Body and Body.data then
for _, Value in next, Body.data do
if type(Value) == "table" and tonumber(Value.playing) and tonumber(Value.maxPlayers) and Value.playing < Value.maxPlayers and Value.id ~= game.JobId then
table.insert(Servers, 1, Value.id)
end
end
end
Services.TeleportService:TeleportToPlaceInstance(game.PlaceId, Servers[math.random(1, #Servers)])
end})
section:button({name = "Rejoin", callback = function()
Services.TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId)
end})
local _column = playerlist:column({})
local _section = _column:section({name = "Players", size = 1, default = false})
local plr_list = _section:list({options = {}, flag = "player_list"});
_column = playerlist:column({})
_section = _column:section({name = "Player Options", size = 1, default = false, side = 'right'})
local _playerlabel = _section:label({name = "Selected Player : None"})
task.spawn(LPH_NO_VIRTUALIZE(function()
while task.wait(0.01) do
_playerlabel.set(string.format("Selected Player : %s", library.flags["player_list"] or "None"))
end
end))
local _statuslabel = _section:label({name = "Status : None"})
task.spawn(LPH_NO_VIRTUALIZE(function()
while task.wait(0.01) do
local playervalue = library.flags["player_list"]
local status
if playervalue ~= nil then
if table.find(library.priority, playervalue) then
status = "<font color='rgb(255,0,0)'>Priority</font>"
elseif table.find(library.whitelist, playervalue) then
status = "<font color='rgb(0,255,0)'>Whitelisted</font>"
else
status = "None"
end
else
status = "None"
end
_statuslabel.set(string.format("Status : %s", status))
end
end))
_section:button({name = "Prioritise", callback = function()
if not library.flags["player_list"] then return end
if table.find(library.whitelist, library.flags["player_list"]) then
table.remove(library.whitelist, table.find(library.whitelist, library.flags["player_list"]))
end
if table.find(library.priority, library.flags["player_list"]) then
table.remove(library.priority, table.find(library.priority, library.flags["player_list"]))
return
end
if not table.find(library.priority, library.flags["player_list"]) then
table.insert(library.priority, library.flags["player_list"])
end
end})
_section:button({name = "Whitelist", callback = function()
if not library.flags["player_list"] then return end
if table.find(library.priority, library.flags["player_list"]) then
table.remove(library.priority, table.find(library.priority, library.flags["player_list"]))
end
if table.find(library.whitelist, library.flags["player_list"]) then
table.remove(library.whitelist, table.find(library.whitelist, library.flags["player_list"]))
return
end
if not table.find(library.whitelist, library.flags["player_list"]) then
table.insert(library.whitelist, library.flags["player_list"])
end
end})
local refreshplrs = LPH_NO_VIRTUALIZE(function()
local cache = {}
for i,v in players:GetPlayers() do
if v==lp then continue end
table.insert(cache, v.Name)
end
table.sort(cache)
plr_list.refresh_options(cache)
end)
task.spawn(refreshplrs)
players.PlayerAdded:Connect(refreshplrs)
players.PlayerRemoving:Connect(refreshplrs)
end
--
-- Notification Library
function notifications:refresh_notifs()
local offset = 50
for i, v in notifications.notifs do
local Position = vec2(20, offset)
library:tween(v, {Position = dim_offset(Position.X, Position.Y)}, Enum.EasingStyle.Quad, 0.4)
offset += (v.AbsoluteSize.Y + 10)
end
return offset
end
function notifications:fade(path, is_fading)
local fading = is_fading and 1 or 0
library:tween(path, {BackgroundTransparency = fading}, Enum.EasingStyle.Quad, 1)
for _, instance in path:GetDescendants() do
if not instance:IsA("GuiObject") then
if instance:IsA("UIStroke") then
library:tween(instance, {Transparency = fading}, Enum.EasingStyle.Quad, 1)
end
continue
end
if instance:IsA("TextLabel") then
library:tween(instance, {TextTransparency = fading})
elseif instance:IsA("Frame") then
library:tween(instance, {BackgroundTransparency = instance.Transparency and 0.6 and is_fading and 1 or 0.6}, Enum.EasingStyle.Quad, 1)
end
end
end
function notifications:create_notification(options)
local cfg = {
name = options.name or "This is a title!";
info = options.info or "This is extra info!";
lifetime = options.lifetime or 3;
items = {};
outline;
}
local items = cfg.items; do
items[ "notification" ] = library:create( "Frame" , {
Parent = library[ "items" ];
Size = dim2(0, 210, 0, 53);
Name = "\0";
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
BackgroundTransparency = 1;
AnchorPoint = vec2(1, 0);
AutomaticSize = Enum.AutomaticSize.Y;
BackgroundColor3 = rgb(14, 14, 16)
});
library:create( "UIStroke" , {
Color = rgb(23, 23, 29);
Parent = items[ "notification" ];
Transparency = 1;
ApplyStrokeMode = Enum.ApplyStrokeMode.Border
});
items[ "title" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(255, 255, 255);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "notification" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 7, 0, 6);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UICorner" , {
Parent = items[ "notification" ];
CornerRadius = dim(0, 3)
});
items[ "info" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(145, 145, 145);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.info;
Parent = items[ "notification" ];
Name = "\0";
Position = dim2(0, 9, 0, 22);
BorderSizePixel = 0;
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
TextWrapped = true;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
PaddingBottom = dim(0, 17);
PaddingRight = dim(0, 8);
Parent = items[ "info" ]
});
items[ "bar" ] = library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = items[ "notification" ];
Name = "\0";
Position = dim2(0, 8, 1, -6);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, 0, 5);
BackgroundTransparency = 1;
BorderSizePixel = 0;
BackgroundColor3 = themes.preset.accent
});
library:create( "UICorner" , {
Parent = items[ "bar" ];
CornerRadius = dim(0, 999)
});
library:create( "UIPadding" , {
PaddingRight = dim(0, 8);
Parent = items[ "notification" ]
});
end
local index = #notifications.notifs + 1
notifications.notifs[index] = items[ "notification" ]
notifications:fade(items[ "notification" ], false)
local offset = notifications:refresh_notifs()
items[ "notification" ].Position = dim_offset(20, offset)
library:tween(items[ "notification" ], {AnchorPoint = vec2(0, 0)}, Enum.EasingStyle.Quad, 1)
library:tween(items[ "bar" ], {Size = dim2(1, -8, 0, 5)}, Enum.EasingStyle.Quad, cfg.lifetime)
task.spawn(function()
task.wait(cfg.lifetime)
notifications.notifs[index] = nil
notifications:fade(items[ "notification" ], true)
library:tween(items[ "notification" ], {AnchorPoint = vec2(1, 0)}, Enum.EasingStyle.Quad, 1)
task.wait(1)
items[ "notification" ]:Destroy()
end)
end
--end)()
else
--LPH_JIT_MAX(function()
-- Variables
local scale = 0.5
local uis = Services.UserInputService
local players = Services.Players
local ws = Services.Workspace
local rs = Services.ReplicatedStorage
local http_service = Services.HttpService
local gui_service = Services.GuiService
local lighting = Services.Lighting
local run = Services.RunService
local stats = Services.Stats
local coregui = Services.CoreGui
local debris = Services.Debris
local tween_service = Services.TweenService
local sound_service = Services.SoundService
local run_service = Services.RunService
local vec2 = Vector2.new
local vec3 = Vector3.new
local dim2 = UDim2.new
local dim = UDim.new
local rect = Rect.new
local cfr = CFrame.new
local empty_cfr = cfr()
local point_object_space = empty_cfr.PointToObjectSpace
local angle = CFrame.Angles
local dim_offset = UDim2.fromOffset
local color = Color3.new
local rgb = Color3.fromRGB
local hex = Color3.fromHex
local hsv = Color3.fromHSV
local rgbseq = ColorSequence.new
local rgbkey = ColorSequenceKeypoint.new
local numseq = NumberSequence.new
local numkey = NumberSequenceKeypoint.new
local camera = ws.CurrentCamera
local lp = players.LocalPlayer
local mouse = lp:GetMouse()
local gui_offset = gui_service:GetGuiInset().Y
local max = math.max
local floor = math.floor
local min = math.min
local abs = math.abs
local noise = math.noise
local rad = math.rad
local random = math.random
local pow = math.pow
local sin = math.sin
local pi = math.pi
local tan = math.tan
local atan2 = math.atan2
local clamp = math.clamp
local insert = table.insert
local find = table.find
local remove = table.remove
local concat = table.concat
--
-- Library ini
local themes = {
preset = {
accent = rgb(255, 0, 0),
},
utility = {
accent = {
BackgroundColor3 = {},
TextColor3 = {},
ImageColor3 = {},
ScrollBarImageColor3 = {}
},
}
}
local keys = {
[Enum.KeyCode.LeftShift] = "LS",
[Enum.KeyCode.RightShift] = "RS",
[Enum.KeyCode.LeftControl] = "LC",
[Enum.KeyCode.RightControl] = "RC",
[Enum.KeyCode.Insert] = "INS",
[Enum.KeyCode.Backspace] = "BS",
[Enum.KeyCode.Return] = "Ent",
[Enum.KeyCode.LeftAlt] = "LA",
[Enum.KeyCode.RightAlt] = "RA",
[Enum.KeyCode.CapsLock] = "CAPS",
[Enum.KeyCode.One] = "1",
[Enum.KeyCode.Two] = "2",
[Enum.KeyCode.Three] = "3",
[Enum.KeyCode.Four] = "4",
[Enum.KeyCode.Five] = "5",
[Enum.KeyCode.Six] = "6",
[Enum.KeyCode.Seven] = "7",
[Enum.KeyCode.Eight] = "8",
[Enum.KeyCode.Nine] = "9",
[Enum.KeyCode.Zero] = "0",
[Enum.KeyCode.KeypadOne] = "Num1",
[Enum.KeyCode.KeypadTwo] = "Num2",
[Enum.KeyCode.KeypadThree] = "Num3",
[Enum.KeyCode.KeypadFour] = "Num4",
[Enum.KeyCode.KeypadFive] = "Num5",
[Enum.KeyCode.KeypadSix] = "Num6",
[Enum.KeyCode.KeypadSeven] = "Num7",
[Enum.KeyCode.KeypadEight] = "Num8",
[Enum.KeyCode.KeypadNine] = "Num9",
[Enum.KeyCode.KeypadZero] = "Num0",
[Enum.KeyCode.Minus] = "-",
[Enum.KeyCode.Equals] = "=",
[Enum.KeyCode.Tilde] = "~",
[Enum.KeyCode.LeftBracket] = "[",
[Enum.KeyCode.RightBracket] = "]",
[Enum.KeyCode.RightParenthesis] = ")",
[Enum.KeyCode.LeftParenthesis] = "(",
[Enum.KeyCode.Semicolon] = ",",
[Enum.KeyCode.Quote] = "'",
[Enum.KeyCode.BackSlash] = "\\",
[Enum.KeyCode.Comma] = ",",
[Enum.KeyCode.Period] = ".",
[Enum.KeyCode.Slash] = "/",
[Enum.KeyCode.Asterisk] = "*",
[Enum.KeyCode.Plus] = "+",
[Enum.KeyCode.Period] = ".",
[Enum.KeyCode.Backquote] = "`",
[Enum.UserInputType.MouseButton1] = "MB1",
[Enum.UserInputType.MouseButton2] = "MB2",
[Enum.UserInputType.MouseButton3] = "MB3",
[Enum.KeyCode.Escape] = "ESC",
[Enum.KeyCode.Space] = "SPC",
}
library.__index = library
for _, path in next, library.folders do
makefolder(library.directory .. path)
end
local flags = library.flags
local config_flags = library.config_flags
local notifications = library.notifications
local fonts = {}; do
function Register_Font(Name, Weight, Style, Asset)
if not isfile(Asset.Id) then
writefile(Asset.Id, Asset.Font)
end
if isfile(Name .. ".font") then
delfile(Name .. ".font")
end
local Data = {
name = Name,
faces = {
{
name = "Normal",
weight = Weight,
style = Style,
assetId = getcustomasset(Asset.Id),
},
},
}
writefile(Name .. ".font", http_service:JSONEncode(Data))
return getcustomasset(Name .. ".font");
end
local Medium = Register_Font("Meawdawdawddium", 200, "Normal", {
Id = "Mediumawdwad.ttf",
Font = game:HttpGet("https://[Log in to view URL]"),
})
local SemiBold = Register_Font("SeawdawdawdawdmiBold", 200, "Normal", {
Id = "SemiBoldawdawdwad.ttf",
Font = game:HttpGet("https://[Log in to view URL]"),
})
fonts = {
small = Font.new(Medium, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
font = Font.new(SemiBold, Enum.FontWeight.Regular, Enum.FontStyle.Normal);
}
end
--
-- Library functions
-- Misc functions
function library:tween(obj, properties, easing_style, time)
local tween = tween_service:Create(obj, TweenInfo.new(time or 0.25, easing_style or Enum.EasingStyle.Quint, Enum.EasingDirection.InOut, 0, false, 0), properties):Play()
return tween
end
function library:resizify(frame)
local Frame = Instance.new("TextButton")
Frame.Position = dim2(1, -10, 1, -10)
Frame.BorderColor3 = rgb(0, 0, 0)
Frame.Size = dim2(0, 10, 0, 10)
Frame.BorderSizePixel = 0
Frame.BackgroundColor3 = rgb(255, 255, 255)
Frame.Parent = frame
Frame.BackgroundTransparency = 1
Frame.Text = ""
local resizing = false
local start_size
local start
local og_size = frame.Size
Frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
resizing = true
start = input.Position
start_size = frame.Size
end
end)
Frame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
resizing = false
end
end)
library:connection(uis.InputChanged, function(input, game_event)
if resizing and input.UserInputType == Enum.UserInputType.Touch then
local viewport_x = camera.ViewportSize.X
local viewport_y = camera.ViewportSize.Y
local current_size = dim2(
start_size.X.Scale,
math.clamp(
start_size.X.Offset + (input.Position.X - start.X),
og_size.X.Offset,
viewport_x
),
start_size.Y.Scale,
math.clamp(
start_size.Y.Offset + (input.Position.Y - start.Y),
og_size.Y.Offset,
viewport_y
)
)
library:tween(frame, {Size = current_size}, Enum.EasingStyle.Linear, 0.05)
end
end)
end
function fag(tbl)
local Size = 0
for _ in tbl do
Size = Size + 1
end
return Size
end
function library:next_flag()
local index = fag(library.flags) + 1;
local str = string.format("flagnumber%s", index)
return str;
end
function library:mouse_in_frame(uiobject)
local y_cond = uiobject.AbsolutePosition.Y <= mouse.Y and mouse.Y <= uiobject.AbsolutePosition.Y + uiobject.AbsoluteSize.Y
local x_cond = uiobject.AbsolutePosition.X <= mouse.X and mouse.X <= uiobject.AbsolutePosition.X + uiobject.AbsoluteSize.X
return (y_cond and x_cond)
end
function library:draggify(frame)
local dragging = false
local start_size = frame.Position
local start
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
dragging = true
start = input.Position
start_size = frame.Position
end
end)
frame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
library:connection(uis.InputChanged, function(input, game_event)
if dragging and input.UserInputType == Enum.UserInputType.Touch then
local viewport_x = camera.ViewportSize.X
local viewport_y = camera.ViewportSize.Y
local current_position = dim2(
0,
start_size.X.Offset + (input.Position.X - start.X),
0,
start_size.Y.Offset + (input.Position.Y - start.Y)
)
library:tween(frame, {Position = current_position}, Enum.EasingStyle.Linear, 0.05)
library:close_element()
end
end)
end
function library:convert(str)
local values = {}
for value in string.gmatch(str, "[^,]+") do
insert(values, tonumber(value))
end
if #values == 4 then
return unpack(values)
else
return
end
end
function library:convert_enum(enum)
local enum_parts = {}
for part in string.gmatch(enum, "[%w_]+") do
insert(enum_parts, part)
end
local enum_table = Enum
for i = 2, #enum_parts do
local enum_item = enum_table[enum_parts[i]]
enum_table = enum_item
end
return enum_table
end
local config_holder;
function library:update_config_list()
if not config_holder then
return
end
local list = {}
for idx, file in listfiles(library.directory .. "/configs") do
local name = file:gsub(library.directory .. "/configs\\", ""):gsub(".cfg", ""):gsub(library.directory .. "\\configs\\", "")
list[#list + 1] = name
end
config_holder.refresh_options(list)
end
function library:get_config()
local Config = {}
for _, v in next, flags do
if type(v) == "table" and v.key then
Config[_] = {active = v.active, mode = v.mode, key = tostring(v.key)}
elseif type(v) == "table" and v["Transparency"] and v["Color"] then
Config[_] = {Transparency = v["Transparency"], Color = v["Color"]:ToHex()}
else
Config[_] = v
end
end
return http_service:JSONEncode(Config)
end
function library:load_config(config_json)
local config = http_service:JSONDecode(config_json)
for _, v in config do
local function_set = library.config_flags[_]
if _ == "config_name_list" then
continue
end
if function_set then
if type(v) == "table" and v["Transparency"] and v["Color"] then
function_set(hex(v["Color"]), v["Transparency"])
elseif type(v) == "table" and v["active"] then
function_set(v)
else
function_set(v)
end
end
end
end
function library:round(number, float)
local multiplier = 1 / (float or 1)
return floor(number * multiplier + 0.5) / multiplier
end
function library:apply_theme(instance, theme, property)
insert(themes.utility[theme][property], instance)
end
function library:update_theme(theme, color)
for _, property in themes.utility[theme] do
for m, object in property do
if object[_] == themes.preset[theme] then
object[_] = color
end
end
end
themes.preset[theme] = color
end
function library:connection(signal, callback)
local connection = signal:Connect(callback)
insert(library.connections, connection)
return connection
end
function library:close_element(new_path)
local open_element = library.current_open
if open_element and new_path ~= open_element then
open_element.set_visible(false)
open_element.open = false;
end
if new_path ~= open_element then
library.current_open = new_path or nil;
end
end
function library:create(instance, options)
local ins = Instance.new(instance)
for prop, value in options do
ins[prop] = value
end
return ins
end
function library:unload_menu()
if library[ "items" ] then
library[ "items" ]:Destroy()
end
if library[ "other" ] then
library[ "other" ]:Destroy()
end
for index, connection in library.connections do
connection:Disconnect()
connection = nil
end
library = nil
end
--
-- Library element functions
function library:window(properties)
local cfg = {
suffix = properties.suffix or properties.Suffix or "tech";
name = properties.name or properties.Name or "nebula";
game_name = properties.gameInfo or properties.game_info or properties.GameInfo or "Milenium for Counter-Strike: Global Offensive";
size = properties.size or properties.Size or dim2(0, 700, 0, 565);
selected_tab;
items = {};
tween;
}
library[ "items" ] = library:create( "ScreenGui" , {
Parent = coregui;
Name = "\0";
Enabled = true;
ZIndexBehavior = Enum.ZIndexBehavior.Global;
IgnoreGuiInset = true;
});
library[ "other" ] = library:create( "ScreenGui" , {
Parent = coregui;
Name = "\0";
Enabled = false;
ZIndexBehavior = Enum.ZIndexBehavior.Sibling;
IgnoreGuiInset = true;
});
local items = cfg.items; do
items[ "main" ] = library:create( "Frame" , {
Parent = library[ "items" ];
Size = cfg.size;
Name = "\0";
Position = dim2(0.5, -cfg.size.X.Offset / 2, 0.5, -cfg.size.Y.Offset / 2);
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(14, 14, 16)
}); items[ "main" ].Position = dim2(0, items[ "main" ].AbsolutePosition.X, 0, items[ "main" ].AbsolutePosition.Y)
library:create( "UIScale" , {
Parent = items[ "main" ];
Scale = scale;
});
library:create( "UICorner" , {
Parent = items[ "main" ];
CornerRadius = dim(0, 10)
});
library:create( "UIStroke" , {
Color = rgb(23, 23, 29);
Parent = items[ "main" ];
ApplyStrokeMode = Enum.ApplyStrokeMode.Border
});
items[ "side_frame" ] = library:create( "Frame" , {
Parent = items[ "main" ];
BackgroundTransparency = 1;
Name = "\0";
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 196, 1, -25);
BorderSizePixel = 0;
BackgroundColor3 = rgb(14, 14, 16)
});
library:create( "Frame" , {
AnchorPoint = vec2(1, 0);
Parent = items[ "side_frame" ];
Position = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 1, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(21, 21, 23)
});
items[ "button_holder" ] = library:create( "Frame" , {
Parent = items[ "side_frame" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 0, 0, 60);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 1, -60);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
}); cfg.button_holder = items[ "button_holder" ];
library:create( "UIListLayout" , {
Parent = items[ "button_holder" ];
Padding = dim(0, 5);
SortOrder = Enum.SortOrder.LayoutOrder
});
library:create( "UIPadding" , {
PaddingTop = dim(0, 16);
PaddingBottom = dim(0, 36);
Parent = items[ "button_holder" ];
PaddingRight = dim(0, 11);
PaddingLeft = dim(0, 10)
});
local accent = themes.preset.accent
items[ "title" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
BorderColor3 = rgb(0, 0, 0);
Text = name;
Parent = items[ "side_frame" ];
Name = "\0";
Text = string.format('<u>%s</u><font color = "rgb(255, 255, 255)">%s</font>', cfg.name, cfg.suffix);
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 70);
TextColor3 = themes.preset.accent;
BorderSizePixel = 0;
RichText = true;
TextSize = 30;
BackgroundColor3 = rgb(255, 255, 255)
}); library:apply_theme(items[ "title" ], "accent", "TextColor3");
items[ "multi_holder" ] = library:create( "Frame" , {
Parent = items[ "main" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 196, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -196, 0, 56);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
}); cfg.multi_holder = items[ "multi_holder" ];
library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = items[ "multi_holder" ];
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(21, 21, 23)
});
items[ "shadow" ] = library:create( "ImageLabel" , {
ImageColor3 = rgb(0, 0, 0);
ScaleType = Enum.ScaleType.Slice;
Parent = items[ "main" ];
BorderColor3 = rgb(0, 0, 0);
Name = "\0";
BackgroundColor3 = rgb(255, 255, 255);
Size = dim2(1, 75, 1, 75);
AnchorPoint = vec2(0.5, 0.5);
Image = "rbxassetid://112971167999062";
BackgroundTransparency = 1;
Position = dim2(0.5, 0, 0.5, 0);
SliceScale = 0.75;
ZIndex = -100;
BorderSizePixel = 0;
SliceCenter = rect(vec2(112, 112), vec2(147, 147))
});
items[ "global_fade" ] = library:create( "Frame" , {
Parent = items[ "main" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 196, 0, 56);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -196, 1, -81);
BorderSizePixel = 0;
BackgroundColor3 = rgb(14, 14, 16);
ZIndex = 2;
});
library:create( "UICorner" , {
Parent = items[ "shadow" ];
CornerRadius = dim(0, 5)
});
items[ "info" ] = library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = items[ "main" ];
Name = "\0";
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 0, 25);
BorderSizePixel = 0;
BackgroundColor3 = rgb(23, 23, 25)
});
library:create( "UICorner" , {
Parent = items[ "info" ];
CornerRadius = dim(0, 10)
});
items[ "grey_fill" ] = library:create( "Frame" , {
Name = "\0";
Parent = items[ "info" ];
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 0, 6);
BorderSizePixel = 0;
BackgroundColor3 = rgb(23, 23, 25)
});
items[ "game" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
Parent = items[ "info" ];
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.game_name;
Name = "\0";
Size = dim2(1, 0, 0, 0);
AnchorPoint = vec2(0, 0.5);
Position = dim2(0, 10, 0.5, -1);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
if not LRM_SecondsLeft then
LRM_SecondsLeft = math.huge
end
local time_left = tostring((LRM_SecondsLeft < math.huge and ""..tostring(math.floor(((LRM_SecondsLeft / 60) / 60) / 24)).." days" or LRM_SecondsLeft == math.huge and "lifetime"))
items[ "other_info" ] = library:create( "TextLabel" , {
Parent = items[ "info" ];
RichText = true;
Name = "\0";
TextColor3 = themes.preset.accent;
BorderColor3 = rgb(0, 0, 0);
Text = '<font color="rgb(72, 72, 73)">'..time_left..', </font>' .. cfg.name:lower() .. cfg.suffix:lower();
Size = dim2(1, 0, 0, 0);
Position = dim2(0, -10, 0.5, -1);
AnchorPoint = vec2(0, 0.5);
BorderSizePixel = 0;
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Right;
AutomaticSize = Enum.AutomaticSize.XY;
FontFace = fonts.font;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
}); library:apply_theme(items[ "other_info" ], "accent", "TextColor3");
end
do -- Other
library:draggify(items[ "main" ])
library:resizify(items[ "main" ])
end
function cfg.toggle_menu(bool)
-- WIP
-- if cfg.tween then
-- cfg.tween:Cancel()
-- end
-- items[ "main" ].Size = dim2(items[ "main" ].Size.Scale.X, items[ "main" ].Size.Offset.X - 20, items[ "main" ].Size.Scale.Y, items[ "main" ].Size.Offset.Y - 20)
-- library:tween(items[ "tab_holder" ], {Size = dim2(1, -196, 1, -81)}, Enum.EasingStyle.Quad, 0.4)
-- cfg.tween =
items[ "main" ].Visible = bool
end
items[ "close button" ] = library:create( "TextButton" , {
Parent = library[ "items" ];
Name = "\0";
Position = dim2(0, 20, 1, -20);
AnchorPoint = vec2(0, 1);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 75, 0, 50);
BorderSizePixel = 0;
Text = "";
AutoButtonColor = false;
Visible = true;
BackgroundColor3 = rgb(25, 25, 29)
});
items[ "other_info" ] = library:create( "TextLabel" , {
Parent = items[ "close button" ];
RichText = true;
Name = "\0";
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = "toggle ui";
Size = dim2(1, 0, 1, 0);
BorderSizePixel = 0;
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Center;
FontFace = fonts.font;
ZIndex = 2;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UICorner" , {
Parent = items[ "close button" ];
CornerRadius = dim(0, 10)
});
library:create( "UIStroke" , {
Color = rgb(23, 23, 29);
Parent = items[ "close button" ];
ApplyStrokeMode = Enum.ApplyStrokeMode.Border
});
local open = true
items[ "close button" ].InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
open = not open
cfg.toggle_menu(open)
end
end)
return setmetatable(cfg, library)
end
function library:tab(properties)
local cfg = {
name = properties.name or properties.Name or "visuals";
icon = properties.icon or properties.Icon or "http://[Log in to view URL]";
-- multi
tabs = properties.tabs or properties.Tabs or {"Main", "Misc.", "Settings"};
pages = {}; -- data store for multi sections
current_multi;
items = {};
}
local items = cfg.items; do
items[ "tab_holder" ] = library:create( "Frame" , {
Parent = library.cache;
Name = "\0";
Visible = false;
BackgroundTransparency = 1;
Position = dim2(0, 196, 0, 56);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -216, 1, -101);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
-- Tab buttons
items[ "button" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(255, 255, 255);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "button_holder" ];
AutoButtonColor = false;
BackgroundTransparency = 1;
Name = "\0";
Size = dim2(1, 0, 0, 35);
BorderSizePixel = 0;
TextSize = 16;
BackgroundColor3 = rgb(29, 29, 29)
});
items[ "icon" ] = library:create( "ImageLabel" , {
ImageColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Parent = items[ "button" ];
AnchorPoint = vec2(0, 0.5);
Image = cfg.icon;
BackgroundTransparency = 1;
Position = dim2(0, 10, 0.5, 0);
Name = "\0";
Size = dim2(0, 22, 0, 22);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
}); library:apply_theme(items[ "icon" ], "accent", "ImageColor3");
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "button" ];
Name = "\0";
Size = dim2(0, 0, 1, 0);
Position = dim2(0, 40, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.X;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
library:create( "UICorner" , {
Parent = items[ "button" ];
CornerRadius = dim(0, 7)
});
library:create( "UIStroke" , {
Color = rgb(23, 23, 29);
Parent = items[ "button" ];
Enabled = false;
ApplyStrokeMode = Enum.ApplyStrokeMode.Border
});
--
-- Multi Sections
items[ "multi_section_button_holder" ] = library:create( "Frame" , {
Parent = library.cache;
BackgroundTransparency = 1;
Name = "\0";
Visible = false;
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
Parent = items[ "multi_section_button_holder" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder;
FillDirection = Enum.FillDirection.Horizontal
});
library:create( "UIPadding" , {
PaddingTop = dim(0, 8);
PaddingBottom = dim(0, 7);
Parent = items[ "multi_section_button_holder" ];
PaddingRight = dim(0, 7);
PaddingLeft = dim(0, 7)
});
for _, section in cfg.tabs do
local data = {items = {}}
local multi_items = data.items; do
-- Button
multi_items[ "button" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(255, 255, 255);
BorderColor3 = rgb(0, 0, 0);
AutoButtonColor = false;
Text = "";
Parent = items[ "multi_section_button_holder" ];
Name = "\0";
Size = dim2(0, 0, 0, 39);
BackgroundTransparency = 1;
ClipsDescendants = true;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.X;
TextSize = 16;
BackgroundColor3 = rgb(25, 25, 29)
});
multi_items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(62, 62, 63);
BorderColor3 = rgb(0, 0, 0);
Text = section;
Parent = multi_items[ "button" ];
Name = "\0";
Size = dim2(0, 0, 1, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = multi_items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
multi_items[ "accent" ] = library:create( "Frame" , {
BorderColor3 = rgb(0, 0, 0);
AnchorPoint = vec2(0, 1);
Parent = multi_items[ "button" ];
BackgroundTransparency = 1;
Position = dim2(0, 10, 1, 4);
Name = "\0";
Size = dim2(1, -20, 0, 6);
BorderSizePixel = 0;
BackgroundColor3 = themes.preset.accent
}); library:apply_theme(multi_items[ "accent" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = multi_items[ "accent" ];
CornerRadius = dim(0, 999)
});
library:create( "UIPadding" , {
Parent = multi_items[ "button" ];
PaddingRight = dim(0, 10);
PaddingLeft = dim(0, 10)
});
library:create( "UICorner" , {
Parent = multi_items[ "button" ];
CornerRadius = dim(0, 7)
});
--
-- Tab
multi_items[ "tab" ] = library:create( "Frame" , {
Parent = library.cache;
BackgroundTransparency = 1;
Name = "\0";
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -20, 1, -20);
BorderSizePixel = 0;
Visible = false;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
FillDirection = Enum.FillDirection.Vertical;
HorizontalFlex = Enum.UIFlexAlignment.Fill;
Parent = multi_items[ "tab" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder;
VerticalFlex = Enum.UIFlexAlignment.Fill
});
library:create( "UIPadding" , {
PaddingTop = dim(0, 7);
PaddingBottom = dim(0, 7);
Parent = multi_items[ "tab" ];
PaddingRight = dim(0, 7);
PaddingLeft = dim(0, 7)
});
--
end
data.text = multi_items[ "name" ]
data.accent = multi_items[ "accent" ]
data.button = multi_items[ "button" ]
data.page = multi_items[ "tab" ]
data.parent = setmetatable(data, library):sub_tab({}).items[ "tab_parent" ]
-- Old column code
-- data.left = multi_items[ "left" ]
-- data.right = multi_items[ "right" ]
function data.open_page()
local page = cfg.current_multi;
if page and page.text ~= data.text then
self.items[ "global_fade" ].BackgroundTransparency = 0
library:tween(self.items[ "global_fade" ], {BackgroundTransparency = 1}, Enum.EasingStyle.Quad, 0.4)
local old_size = page.page.Size
page.page.Size = dim2(1, -20, 1, -20)
end
if page then
library:tween(page.text, {TextColor3 = rgb(62, 62, 63)})
library:tween(page.accent, {BackgroundTransparency = 1})
library:tween(page.button, {BackgroundTransparency = 1})
page.page.Visible = false
page.page.Parent = library[ "cache" ]
end
library:tween(data.text, {TextColor3 = rgb(255, 255, 255)})
library:tween(data.accent, {BackgroundTransparency = 0})
library:tween(data.button, {BackgroundTransparency = 0})
library:tween(data.page, {Size = dim2(1, 0, 1, 0)}, Enum.EasingStyle.Quad, 0.4)
data.page.Visible = true
data.page.Parent = items["tab_holder"]
cfg.current_multi = data
library:close_element()
end
multi_items[ "button" ].InputBegan:Connect(function(Input)
if Input.UserInputType ~= Enum.UserInputType.Touch then return end
data.open_page()
end)
cfg.pages[#cfg.pages + 1] = setmetatable(data, library)
end
cfg.pages[1].open_page()
--
end
function cfg.open_tab()
local selected_tab = self.selected_tab
if selected_tab then
if selected_tab[ 4 ] ~= items[ "tab_holder" ] then
self.items[ "global_fade" ].BackgroundTransparency = 0
library:tween(self.items[ "global_fade" ], {BackgroundTransparency = 1}, Enum.EasingStyle.Quad, 0.4)
selected_tab[ 4 ].Size = dim2(1, -216, 1, -101)
end
library:tween(selected_tab[ 1 ], {BackgroundTransparency = 1})
library:tween(selected_tab[ 2 ], {ImageColor3 = rgb(72, 72, 73)})
library:tween(selected_tab[ 3 ], {TextColor3 = rgb(72, 72, 73)})
selected_tab[ 4 ].Visible = false
selected_tab[ 4 ].Parent = library[ "cache" ]
selected_tab[ 5 ].Visible = false
selected_tab[ 5 ].Parent = library[ "cache" ]
end
library:tween(items[ "button" ], {BackgroundTransparency = 0})
library:tween(items[ "icon" ], {ImageColor3 = themes.preset.accent})
library:tween(items[ "name" ], {TextColor3 = rgb(255, 255, 255)})
library:tween(items[ "tab_holder" ], {Size = dim2(1, -196, 1, -81)}, Enum.EasingStyle.Quad, 0.4)
items[ "tab_holder" ].Visible = true
items[ "tab_holder" ].Parent = self.items[ "main" ]
items[ "multi_section_button_holder" ].Visible = true
items[ "multi_section_button_holder" ].Parent = self.items[ "multi_holder" ]
self.selected_tab = {
items[ "button" ];
items[ "icon" ];
items[ "name" ];
items[ "tab_holder" ];
items[ "multi_section_button_holder" ];
}
library:close_element()
end
items[ "button" ].InputBegan:Connect(function(Input)
if Input.UserInputType ~= Enum.UserInputType.Touch then return end
cfg.open_tab()
end)
if not self.selected_tab then
cfg.open_tab(true)
end
return unpack(cfg.pages)
end
function library:seperator(properties)
local cfg = {items = {}, name = properties.Name or properties.name or "General"}
local items = cfg.items do
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = self.items[ "button_holder" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
Position = dim2(0, 40, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
end;
return setmetatable(cfg, library)
end
-- Miscellaneous
function library:column(properties)
local cfg = {items = {}, size = properties.size or 1}
local items = cfg.items; do
items[ "column" ] = library:create( "Frame" , {
Parent = self[ "parent" ] or self.items["tab_parent"];
BackgroundTransparency = 1;
Name = "\0";
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, cfg.size, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
PaddingBottom = dim(0, 10);
Parent = items[ "column" ]
});
library:create( "UIListLayout" , {
Parent = items[ "column" ];
HorizontalFlex = Enum.UIFlexAlignment.Fill;
Padding = dim(0, 10);
FillDirection = Enum.FillDirection.Vertical;
SortOrder = Enum.SortOrder.LayoutOrder
});
end
return setmetatable(cfg, library)
end
function library:sub_tab(properties)
local cfg = {items = {}, order = properties.order or 0; size = properties.size or 1}
local items = cfg.items; do
items[ "tab_parent" ] = library:create( "Frame" , {
Parent = self.items[ "tab" ];
BackgroundTransparency = 1;
Name = "\0";
Size = dim2(0,0,cfg.size,0);
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
Visible = true;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
FillDirection = Enum.FillDirection.Horizontal;
HorizontalFlex = Enum.UIFlexAlignment.Fill;
VerticalFlex = Enum.UIFlexAlignment.Fill;
Parent = items[ "tab_parent" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder;
});
end
return setmetatable(cfg, library)
end
--
function library:section(properties)
local cfg = {
name = properties.name or properties.Name or "section";
side = properties.side or properties.Side or "left";
default = properties.default or properties.Default or false;
size = properties.size or properties.Size or self.size or 0.5;
icon = properties.icon or properties.Icon or "http://[Log in to view URL]";
fading_toggle = properties.fading or properties.Fading or false;
items = {};
};
local items = cfg.items; do
items[ "outline" ] = library:create( "Frame" , {
Name = "\0";
Parent = self.items[ "column" ];
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, cfg.size, -3);
BorderSizePixel = 0;
BackgroundColor3 = rgb(25, 25, 29)
});
library:create( "UICorner" , {
Parent = items[ "outline" ];
CornerRadius = dim(0, 7)
});
items[ "inline" ] = library:create( "Frame" , {
Parent = items[ "outline" ];
Name = "\0";
Position = dim2(0, 1, 0, 1);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -2, 1, -2);
BorderSizePixel = 0;
BackgroundColor3 = rgb(22, 22, 24)
});
library:create( "UICorner" , {
Parent = items[ "inline" ];
CornerRadius = dim(0, 7)
});
items[ "scrolling" ] = library:create( "ScrollingFrame" , {
ScrollBarImageColor3 = rgb(44, 44, 46);
Active = true;
AutomaticCanvasSize = Enum.AutomaticSize.Y;
ScrollBarThickness = 2;
Parent = items[ "inline" ];
Name = "\0";
Size = dim2(1, 0, 1, -40);
BackgroundTransparency = 1;
Position = dim2(0, 0, 0, 35);
BackgroundColor3 = rgb(255, 255, 255);
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
CanvasSize = dim2(0, 0, 0, 0)
});
items[ "elements" ] = library:create( "Frame" , {
BorderColor3 = rgb(0, 0, 0);
Parent = items[ "scrolling" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 10, 0, 10);
Size = dim2(1, -20, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
Parent = items[ "elements" ];
Padding = dim(0, 10);
SortOrder = Enum.SortOrder.LayoutOrder
});
library:create( "UIPadding" , {
PaddingBottom = dim(0, 15);
Parent = items[ "elements" ]
});
items[ "button" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(255, 255, 255);
BorderColor3 = rgb(0, 0, 0);
Text = "";
AutoButtonColor = false;
Parent = items[ "outline" ];
Name = "\0";
Position = dim2(0, 1, 0, 1);
Size = dim2(1, -2, 0, 35);
BorderSizePixel = 0;
TextSize = 16;
BackgroundColor3 = rgb(19, 19, 21)
});
library:create( "UIStroke" , {
Color = rgb(23, 23, 29);
Parent = items[ "button" ];
Enabled = false;
ApplyStrokeMode = Enum.ApplyStrokeMode.Border
});
library:create( "UICorner" , {
Parent = items[ "button" ];
CornerRadius = dim(0, 7)
});
items[ "Icon" ] = library:create( "ImageLabel" , {
ImageColor3 = themes.preset.accent;
BorderColor3 = rgb(0, 0, 0);
Parent = items[ "button" ];
AnchorPoint = vec2(0, 0.5);
Image = cfg.icon;
BackgroundTransparency = 1;
Position = dim2(0, 10, 0.5, 0);
Name = "\0";
Size = dim2(0, 22, 0, 22);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
}); library:apply_theme(items[ "Icon" ], "accent", "ImageColor3");
items[ "section_title" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(255, 255, 255);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "button" ];
Name = "\0";
Size = dim2(0, 0, 1, 0);
Position = dim2(0, 40, 0, -1);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.X;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = items[ "button" ];
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(36, 36, 37)
});
if cfg.fading_toggle then
items[ "toggle" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
AutoButtonColor = false;
Text = "";
AnchorPoint = vec2(1, 0.5);
Parent = items[ "button" ];
Name = "\0";
Position = dim2(1, -9, 0.5, 0);
Size = dim2(0, 36, 0, 18);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(58, 58, 62)
}); library:apply_theme(items[ "toggle" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = items[ "toggle" ];
CornerRadius = dim(0, 999)
});
items[ "toggle_outline" ] = library:create( "Frame" , {
Parent = items[ "toggle" ];
Size = dim2(1, -2, 1, -2);
Name = "\0";
BorderMode = Enum.BorderMode.Inset;
BorderColor3 = rgb(0, 0, 0);
Position = dim2(0, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(50, 50, 50)
}); library:apply_theme(items[ "toggle_outline" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = items[ "toggle_outline" ];
CornerRadius = dim(0, 999)
});
library:create( "UIGradient" , {
Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))};
Parent = items[ "toggle_outline" ]
});
items[ "toggle_circle" ] = library:create( "Frame" , {
Parent = items[ "toggle_outline" ];
Name = "\0";
Position = dim2(0, 2, 0, 2);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 12, 0, 12);
BorderSizePixel = 0;
BackgroundColor3 = rgb(86, 86, 88)
});
library:create( "UICorner" , {
Parent = items[ "toggle_circle" ];
CornerRadius = dim(0, 999)
});
library:create( "UICorner" , {
Parent = items[ "outline" ];
CornerRadius = dim(0, 7)
});
items[ "fade" ] = library:create( "Frame" , {
Parent = items[ "outline" ];
BackgroundTransparency = 0.800000011920929;
Name = "\0";
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(0, 0, 0)
});
library:create( "UICorner" , {
Parent = items[ "fade" ];
CornerRadius = dim(0, 7)
});
end
end;
if cfg.fading_toggle then
items[ "button" ].InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
cfg.default = not cfg.default
cfg.toggle_section(cfg.default)
end
end)
function cfg.toggle_section(bool)
library:tween(items[ "toggle" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(58, 58, 62)}, Enum.EasingStyle.Quad)
library:tween(items[ "toggle_outline" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(50, 50, 50)}, Enum.EasingStyle.Quad)
library:tween(items[ "toggle_circle" ], {BackgroundColor3 = bool and rgb(255, 255, 255) or rgb(86, 86, 88), Position = bool and dim2(1, -14, 0, 2) or dim2(0, 2, 0, 2)}, Enum.EasingStyle.Quad)
library:tween(items[ "fade" ], {BackgroundTransparency = bool and 1 or 0.8}, Enum.EasingStyle.Quad)
end
end
return setmetatable(cfg, library)
end
function library:toggle(options)
local rand = math.random(1, 2)
local cfg = {
enabled = options.default or false,
name = options.name or "Toggle",
info = options.info or nil,
flag = options.flag or library:next_flag(),
type = options.type and string.lower(options.type) or rand == 1 and "toggle" or "checkbox"; -- "toggle", "checkbox"
default = options.default or false,
folding = options.folding or false,
callback = options.callback or function() end,
items = {};
seperator = options.seperator or options.Seperator or false;
}
flags[cfg.flag] = cfg.default
local items = cfg.items; do
items[ "toggle" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "toggle" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
if cfg.info then
items[ "info" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(130, 130, 130);
BorderColor3 = rgb(0, 0, 0);
TextWrapped = true;
Text = cfg.info;
Parent = items[ "toggle" ];
Name = "\0";
Position = dim2(0, 5, 0, 17);
Size = dim2(1, -10, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
end
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "right_components" ] = library:create( "Frame" , {
Parent = items[ "toggle" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
FillDirection = Enum.FillDirection.Horizontal;
HorizontalAlignment = Enum.HorizontalAlignment.Right;
Parent = items[ "right_components" ];
Padding = dim(0, 9);
SortOrder = Enum.SortOrder.LayoutOrder
});
-- Toggle
if cfg.type == "checkbox" then
items[ "toggle_button" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
LayoutOrder = 2;
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Parent = items[ "right_components" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
Size = dim2(0, 16, 0, 16);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(67, 67, 68)
}); library:apply_theme(items[ "toggle_button" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = items[ "toggle_button" ];
CornerRadius = dim(0, 4)
});
items[ "outline" ] = library:create( "Frame" , {
Parent = items[ "toggle_button" ];
Size = dim2(1, -2, 1, -2);
Name = "\0";
BorderMode = Enum.BorderMode.Inset;
BorderColor3 = rgb(0, 0, 0);
Position = dim2(0, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(22, 22, 24)
}); library:apply_theme(items[ "outline" ], "accent", "BackgroundColor3");
items[ "tick" ] = library:create( "ImageLabel" , {
ImageTransparency = 1;
BorderColor3 = rgb(0, 0, 0);
Image = "rbxassetid://111862698467575";
BackgroundTransparency = 1;
Position = dim2(0, -1, 0, 0);
Parent = items[ "outline" ];
Size = dim2(1, 2, 1, 2);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255);
ZIndex = 1;
});
library:create( "UICorner" , {
Parent = items[ "outline" ];
CornerRadius = dim(0, 4)
});
library:create( "UIGradient" , {
Enabled = false;
Parent = items[ "outline" ];
Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))}
});
else
items[ "toggle_button" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
LayoutOrder = 2;
AnchorPoint = vec2(1, 0.5);
Parent = items[ "right_components" ];
Name = "\0";
Position = dim2(1, -9, 0.5, 0);
Size = dim2(0, 36, 0, 18);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = themes.preset.accent
}); library:apply_theme(items[ "toggle_button" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = items[ "toggle_button" ];
CornerRadius = dim(0, 999)
});
items[ "inline" ] = library:create( "Frame" , {
Parent = items[ "toggle_button" ];
Size = dim2(1, -2, 1, -2);
Name = "\0";
BorderMode = Enum.BorderMode.Inset;
BorderColor3 = rgb(0, 0, 0);
Position = dim2(0, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = themes.preset.accent
}); library:apply_theme(items[ "inline" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = items[ "inline" ];
CornerRadius = dim(0, 999)
});
library:create( "UIGradient" , {
Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))};
Parent = items[ "inline" ]
});
items[ "circle" ] = library:create( "Frame" , {
Parent = items[ "inline" ];
Name = "\0";
Position = dim2(1, -14, 0, 2);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 12, 0, 12);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UICorner" , {
Parent = items[ "circle" ];
CornerRadius = dim(0, 999)
});
end
--
end;
function cfg.set(bool)
if cfg.type == "checkbox" then
library:tween(items[ "tick" ], {Rotation = bool and 0 or 45, ImageTransparency = bool and 0 or 1})
library:tween(items[ "toggle_button" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(67, 67, 68)})
library:tween(items[ "outline" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(22, 22, 24)})
else
library:tween(items[ "toggle_button" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(58, 58, 62)}, Enum.EasingStyle.Quad)
library:tween(items[ "inline" ], {BackgroundColor3 = bool and themes.preset.accent or rgb(50, 50, 50)}, Enum.EasingStyle.Quad)
library:tween(items[ "circle" ], {BackgroundColor3 = bool and rgb(255, 255, 255) or rgb(86, 86, 88), Position = bool and dim2(1, -14, 0, 2) or dim2(0, 2, 0, 2)}, Enum.EasingStyle.Quad)
end
cfg.enabled = bool
cfg.callback(bool)
if cfg.folding then
elements.Visible = bool
end
flags[cfg.flag] = bool
end
items[ "toggle" ].InputBegan:Connect(function(Input)
if Input.UserInputType ~= Enum.UserInputType.Touch then return end
cfg.enabled = not cfg.enabled
cfg.set(cfg.enabled)
end)
items[ "toggle_button" ].InputBegan:Connect(function(Input)
if Input.UserInputType ~= Enum.UserInputType.Touch then return end
cfg.enabled = not cfg.enabled
cfg.set(cfg.enabled)
end)
if cfg.seperator then -- ok bro my lua either sucks or this was a pain in the ass to make (simple if statement aswell 💔)
library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = self.items[ "elements" ];
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(36, 36, 37)
});
end
cfg.set(cfg.default)
config_flags[cfg.flag] = cfg.set
return setmetatable(cfg, library)
end
function library:slider(options)
local cfg = {
name = options.name or nil,
suffix = options.suffix or "",
flag = options.flag or library:next_flag(),
callback = options.callback or function() end,
info = options.info or nil;
-- value settings
min = options.min or options.minimum or 0,
max = options.max or options.maximum or 100,
intervals = options.interval or options.decimal or 1,
default = options.default or 10,
value = options.default or 10,
seperator = options.seperator or options.Seperator or false;
dragging = false,
items = {}
}
flags[cfg.flag] = cfg.default
local items = cfg.items; do
items[ "slider_object" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "slider_object" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
if cfg.info then
items[ "info" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(130, 130, 130);
BorderColor3 = rgb(0, 0, 0);
TextWrapped = true;
Text = cfg.info;
Parent = items[ "slider_object" ];
Name = "\0";
Position = dim2(0, 5, 0, 37);
Size = dim2(1, -10, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
end
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "right_components" ] = library:create( "Frame" , {
Parent = items[ "slider_object" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 4, 0, 23);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 0, 12);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
Parent = items[ "right_components" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder;
FillDirection = Enum.FillDirection.Horizontal
});
items[ "slider" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Parent = items[ "right_components" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
Size = dim2(1, -4, 0, 4);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(33, 33, 35)
});
library:create( "UICorner" , {
Parent = items[ "slider" ];
CornerRadius = dim(0, 999)
});
items[ "fill" ] = library:create( "Frame" , {
Name = "\0";
Parent = items[ "slider" ];
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0.5, 0, 0, 4);
BorderSizePixel = 0;
BackgroundColor3 = themes.preset.accent
}); library:apply_theme(items[ "fill" ], "accent", "BackgroundColor3");
library:create( "UICorner" , {
Parent = items[ "fill" ];
CornerRadius = dim(0, 999)
});
items[ "circle" ] = library:create( "Frame" , {
AnchorPoint = vec2(0.5, 0.5);
Parent = items[ "fill" ];
Name = "\0";
Position = dim2(1, 0, 0.5, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 12, 0, 12);
BorderSizePixel = 0;
BackgroundColor3 = rgb(244, 244, 244)
});
library:create( "UICorner" , {
Parent = items[ "circle" ];
CornerRadius = dim(0, 999)
});
library:create( "UIPadding" , {
Parent = items[ "right_components" ];
PaddingTop = dim(0, 4)
});
items[ "value" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = "50%";
Parent = items[ "slider_object" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
Position = dim2(0, 6, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Right;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "value" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
end
function cfg.changetext(text)
items['name'].Text = text
end
function cfg.set(value)
cfg.value = clamp(library:round(value, cfg.intervals), cfg.min, cfg.max)
library:tween(items[ "fill" ], {Size = dim2((cfg.value - cfg.min) / (cfg.max - cfg.min), cfg.value == cfg.min and 0 or -4, 0, 2)}, Enum.EasingStyle.Linear, 0.05)
items[ "value" ].Text = tostring(cfg.value) .. cfg.suffix
flags[cfg.flag] = cfg.value
cfg.callback(flags[cfg.flag])
end
items[ "slider" ].InputBegan:Connect(function(Input)
if Input.UserInputType ~= Enum.UserInputType.Touch then return end
cfg.dragging = true
library:tween(items[ "value" ], {TextColor3 = rgb(255, 255, 255)}, Enum.EasingStyle.Quad, 0.2)
end)
library:connection(uis.InputChanged, function(input)
if cfg.dragging and input.UserInputType == Enum.UserInputType.Touch then
local size_x = (input.Position.X - items[ "slider" ].AbsolutePosition.X) / items[ "slider" ].AbsoluteSize.X
local value = ((cfg.max - cfg.min) * size_x) + cfg.min
cfg.set(value)
end
end)
library:connection(uis.InputEnded, function(input)
if input.UserInputType == Enum.UserInputType.Touch then
cfg.dragging = false
library:tween(items[ "value" ], {TextColor3 = rgb(72, 72, 73)}, Enum.EasingStyle.Quad, 0.2)
end
end)
if cfg.seperator then
library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = self.items[ "elements" ];
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(36, 36, 37)
});
end
cfg.set(cfg.default)
config_flags[cfg.flag] = cfg.set
return setmetatable(cfg, library)
end
function library:dropdown(options)
local cfg = {
name = options.name or nil;
info = options.info or nil;
flag = options.flag or library:next_flag();
options = options.items or {""};
callback = options.callback or function() end;
multi = options.multi or false;
scrolling = options.scrolling or false;
width = options.width or 130;
-- Ignore these
open = false;
option_instances = {};
multi_items = {};
ignore = options.ignore or false;
items = {};
y_size;
seperator = options.seperator or options.Seperator or true;
}
cfg.default = options.default or (cfg.multi and {cfg.items[1]}) or cfg.items[1] or "None"
flags[cfg.flag] = cfg.default
local items = cfg.items; do
-- Element
items[ "dropdown_object" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = "Dropdown";
Parent = items[ "dropdown_object" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
if cfg.info then
items[ "info" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(130, 130, 130);
BorderColor3 = rgb(0, 0, 0);
TextWrapped = true;
Text = cfg.info;
Parent = items[ "dropdown_object" ];
Name = "\0";
Position = dim2(0, 5, 0, 17);
Size = dim2(1, -10, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
end
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "right_components" ] = library:create( "Frame" , {
Parent = items[ "dropdown_object" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
FillDirection = Enum.FillDirection.Horizontal;
HorizontalAlignment = Enum.HorizontalAlignment.Right;
Parent = items[ "right_components" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder
});
items[ "dropdown" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Parent = items[ "right_components" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
Size = dim2(0, cfg.width, 0, 16);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(33, 33, 35)
});
library:create( "UICorner" , {
Parent = items[ "dropdown" ];
CornerRadius = dim(0, 4)
});
items[ "sub_text" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(86, 86, 87);
BorderColor3 = rgb(0, 0, 0);
Text = "awdawdawdawdawdawdawdaw";
Parent = items[ "dropdown" ];
Name = "\0";
Size = dim2(1, -12, 0, 0);
BorderSizePixel = 0;
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
TextTruncate = Enum.TextTruncate.AtEnd;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "sub_text" ];
PaddingTop = dim(0, 1);
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "indicator" ] = library:create( "ImageLabel" , {
ImageColor3 = rgb(86, 86, 87);
BorderColor3 = rgb(0, 0, 0);
Parent = items[ "dropdown" ];
AnchorPoint = vec2(1, 0.5);
Image = "rbxassetid://101025591575185";
BackgroundTransparency = 1;
Position = dim2(1, -5, 0.5, 0);
Name = "\0";
Size = dim2(0, 12, 0, 12);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
--
-- Element Holder
items[ "dropdown_holder" ] = library:create( "Frame" , {
BorderColor3 = rgb(0, 0, 0);
Parent = library[ "items" ];
Name = "\0";
Visible = true;
BackgroundTransparency = 1;
Size = dim2(0, 0, 0, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(0, 0, 0);
ZIndex = 10;
});
items[ "outline" ] = library:create( "Frame" , {
Parent = items[ "dropdown_holder" ];
Size = dim2(1, 0, 1, 0);
ClipsDescendants = true;
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(33, 33, 35);
ZIndex = 10;
});
library:create( "UIPadding" , {
PaddingBottom = dim(0, 6);
PaddingTop = dim(0, 3);
PaddingLeft = dim(0, 3);
Parent = items[ "outline" ]
});
library:create( "UIListLayout" , {
Parent = items[ "outline" ];
Padding = dim(0, 5);
SortOrder = Enum.SortOrder.LayoutOrder
});
library:create( "UICorner" , {
Parent = items[ "outline" ];
CornerRadius = dim(0, 4)
});
--
end
function cfg.render_option(text)
local button = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = text;
Parent = items[ "outline" ];
Name = "\0";
Size = dim2(1, -12, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255);
ZIndex = 10;
}); library:apply_theme(button, "accent", "TextColor3");
library:create( "UIPadding" , {
Parent = button;
PaddingTop = dim(0, 1);
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
return button
end
function cfg.set_visible(bool)
local a = bool and cfg.y_size or 0
library:tween(items[ "dropdown_holder" ], {Size = dim_offset(items[ "dropdown" ].AbsoluteSize.X, a)})
items[ "dropdown_holder" ].Position = dim2(0, items[ "dropdown" ].AbsolutePosition.X, 0, items[ "dropdown" ].AbsolutePosition.Y + 80)
if not (self.sanity and library.current_open == self) then
library:close_element(cfg)
end
end
function cfg.set(value)
local selected = {}
local isTable = type(value) == "table"
for _, option in cfg.option_instances do
if option.Text == value or (isTable and find(value, option.Text)) then
insert(selected, option.Text)
cfg.multi_items = selected
option.TextColor3 = themes.preset.accent
else
option.TextColor3 = rgb(72, 72, 73)
end
end
items[ "sub_text" ].Text = isTable and concat(selected, ", ") or selected[1] or ""
flags[cfg.flag] = isTable and selected or selected[1]
cfg.callback(flags[cfg.flag])
end
function cfg.refresh_options(list)
cfg.y_size = 0
for _, option in cfg.option_instances do
option:Destroy()
end
cfg.option_instances = {}
for _, option in list do
local button = cfg.render_option(option)
cfg.y_size += button.AbsoluteSize.Y + 6 -- super annoying manual sizing but oh well
insert(cfg.option_instances, button)
button.InputBegan:Connect(function(Input)
if Input.UserInputType ~= Enum.UserInputType.Touch then return end
if cfg.multi then
local selected_index = find(cfg.multi_items, button.Text)
if selected_index then
remove(cfg.multi_items, selected_index)
else
insert(cfg.multi_items, button.Text)
end
cfg.set(cfg.multi_items)
else
cfg.set_visible(false)
cfg.open = false
cfg.set(button.Text)
end
end)
end
end
items[ "dropdown" ].InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
cfg.open = not cfg.open
cfg.set_visible(cfg.open)
end
end)
if cfg.seperator then
library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = self.items[ "elements" ];
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(36, 36, 37)
});
end
flags[cfg.flag] = {}
config_flags[cfg.flag] = cfg.set
cfg.refresh_options(cfg.options)
cfg.set(cfg.default)
return setmetatable(cfg, library)
end
function library:label(options)
local cfg = {
enabled = options.enabled or nil,
name = options.name or "Toggle",
seperator = options.seperator or options.Seperator or false;
info = options.info or nil;
items = {};
}
local items = cfg.items; do
items[ "label" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "label" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
if cfg.info then
items[ "info" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(130, 130, 130);
BorderColor3 = rgb(0, 0, 0);
TextWrapped = true;
Text = cfg.info;
Parent = items[ "label" ];
Name = "\0";
Position = dim2(0, 5, 0, 17);
Size = dim2(1, -10, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
end
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "right_components" ] = library:create( "Frame" , {
Parent = items[ "label" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
FillDirection = Enum.FillDirection.Horizontal;
HorizontalAlignment = Enum.HorizontalAlignment.Right;
Parent = items[ "right_components" ];
Padding = dim(0, 9);
SortOrder = Enum.SortOrder.LayoutOrder
});
end
if cfg.seperator then
library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = self.items[ "elements" ];
Position = dim2(0, 0, 1, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(36, 36, 37)
});
end
return setmetatable(cfg, library)
end
function library:colorpicker(options)
local cfg = {
name = options.name or "Color",
flag = options.flag or library:next_flag(),
color = options.color or color(1, 1, 1), -- Default to white color if not provided
alpha = options.alpha and 1 - options.alpha or 0,
open = false,
callback = options.callback or function() end,
items = {};
seperator = options.seperator or options.Seperator or false;
}
local dragging_sat = false
local dragging_hue = false
local dragging_alpha = false
local h, s, v = cfg.color:ToHSV()
local a = cfg.alpha
flags[cfg.flag] = {Color = cfg.color, Transparency = cfg.alpha}
local label;
if not self.items.right_components then
label = self:label({name = cfg.name, seperator = cfg.seperator})
end
local items = cfg.items; do
-- Component
items[ "colorpicker" ] = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Parent = label and label.items.right_components or self.items[ "right_components" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
Size = dim2(0, 16, 0, 16);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(54, 31, 184)
});
library:create( "UICorner" , {
Parent = items[ "colorpicker" ];
CornerRadius = dim(0, 4)
});
items[ "colorpicker_inline" ] = library:create( "Frame" , {
Parent = items[ "colorpicker" ];
Size = dim2(1, -2, 1, -2);
Name = "\0";
BorderMode = Enum.BorderMode.Inset;
BorderColor3 = rgb(0, 0, 0);
Position = dim2(0, 1, 0, 1);
BorderSizePixel = 0;
BackgroundColor3 = rgb(54, 31, 184)
});
library:create( "UIScale" , {
Parent = items[ "colorpicker_inline" ];
Scale = scale;
});
library:create( "UICorner" , {
Parent = items[ "colorpicker_inline" ];
CornerRadius = dim(0, 4)
});
library:create( "UIGradient" , {
Color = rgbseq{rgbkey(0, rgb(211, 211, 211)), rgbkey(1, rgb(211, 211, 211))};
Parent = items[ "colorpicker_inline" ]
});
--
-- Colorpicker
items[ "colorpicker_holder" ] = library:create( "Frame" , {
Parent = library[ "other" ];
Name = "\0";
Position = dim2(0.20000000298023224, 20, 0.296999990940094, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 166, 0, 197);
BorderSizePixel = 0;
Visible = true;
BackgroundColor3 = rgb(25, 25, 29)
});
items[ "colorpicker_fade" ] = library:create( "Frame" , {
Parent = items[ "colorpicker_holder" ];
Name = "\0";
BackgroundTransparency = 0;
Position = dim2(0, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 1, 0);
BorderSizePixel = 0;
ZIndex = 100;
BackgroundColor3 = rgb(25, 25, 29)
});
items[ "colorpicker_components" ] = library:create( "Frame" , {
Parent = items[ "colorpicker_holder" ];
Name = "\0";
Position = dim2(0, 1, 0, 1);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -2, 1, -2);
BorderSizePixel = 0;
BackgroundColor3 = rgb(22, 22, 24)
});
library:create( "UICorner" , {
Parent = items[ "colorpicker_components" ];
CornerRadius = dim(0, 6)
});
items[ "saturation_holder" ] = library:create( "Frame" , {
Parent = items[ "colorpicker_components" ];
Name = "\0";
Position = dim2(0, 7, 0, 7);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -14, 1, -80);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 39, 39)
});
items[ "sat" ] = library:create( "TextButton" , {
Parent = items[ "saturation_holder" ];
Name = "\0";
Size = dim2(1, 0, 1, 0);
Text = "";
AutoButtonColor = false;
BorderColor3 = rgb(0, 0, 0);
ZIndex = 2;
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UICorner" , {
Parent = items[ "sat" ];
CornerRadius = dim(0, 4)
});
library:create( "UIGradient" , {
Rotation = 270;
Transparency = numseq{numkey(0, 0), numkey(1, 1)};
Parent = items[ "sat" ];
Color = rgbseq{rgbkey(0, rgb(0, 0, 0)), rgbkey(1, rgb(0, 0, 0))}
});
items[ "val" ] = library:create( "Frame" , {
Name = "\0";
Parent = items[ "saturation_holder" ];
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIGradient" , {
Parent = items[ "val" ];
Transparency = numseq{numkey(0, 0), numkey(1, 1)}
});
library:create( "UICorner" , {
Parent = items[ "val" ];
CornerRadius = dim(0, 4)
});
library:create( "UICorner" , {
Parent = items[ "saturation_holder" ];
CornerRadius = dim(0, 4)
});
items[ "satvalpicker" ] = library:create( "TextButton" , {
BorderColor3 = rgb(0, 0, 0);
AutoButtonColor = false;
Text = "";
AnchorPoint = vec2(0, 1);
Parent = items[ "saturation_holder" ];
Name = "\0";
Position = dim2(0, 0, 4, 0);
Size = dim2(0, 8, 0, 8);
ZIndex = 5;
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 0, 0)
});
library:create( "UICorner" , {
Parent = items[ "satvalpicker" ];
CornerRadius = dim(0, 9999)
});
library:create( "UIStroke" , {
Color = rgb(255, 255, 255);
Parent = items[ "satvalpicker" ];
ApplyStrokeMode = Enum.ApplyStrokeMode.Border;
});
items[ "hue_gradient" ] = library:create( "TextButton" , {
Parent = items[ "colorpicker_components" ];
Name = "\0";
Position = dim2(0, 10, 1, -64);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -20, 0, 8);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255);
AutoButtonColor = false;
Text = "";
});
library:create( "UIGradient" , {
Color = rgbseq{rgbkey(0, rgb(255, 0, 0)), rgbkey(0.17, rgb(255, 255, 0)), rgbkey(0.33, rgb(0, 255, 0)), rgbkey(0.5, rgb(0, 255, 255)), rgbkey(0.67, rgb(0, 0, 255)), rgbkey(0.83, rgb(255, 0, 255)), rgbkey(1, rgb(255, 0, 0))};
Parent = items[ "hue_gradient" ]
});
library:create( "UICorner" , {
Parent = items[ "hue_gradient" ];
CornerRadius = dim(0, 6)
});
items[ "hue_picker" ] = library:create( "TextButton" , {
BorderColor3 = rgb(0, 0, 0);
AutoButtonColor = false;
Text = "";
AnchorPoint = vec2(0, 0.5);
Parent = items[ "hue_gradient" ];
Name = "\0";
Position = dim2(0, 0, 0.5, 0);
Size = dim2(0, 8, 0, 8);
ZIndex = 5;
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 0, 0)
});
library:create( "UICorner" , {
Parent = items[ "hue_picker" ];
CornerRadius = dim(0, 9999)
});
library:create( "UIStroke" , {
Color = rgb(255, 255, 255);
Parent = items[ "hue_picker" ];
ApplyStrokeMode = Enum.ApplyStrokeMode.Border;
});
items[ "alpha_gradient" ] = library:create( "TextButton" , {
Parent = items[ "colorpicker_components" ];
Name = "\0";
Position = dim2(0, 10, 1, -46);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -20, 0, 8);
BorderSizePixel = 0;
BackgroundColor3 = rgb(25, 25, 29);
AutoButtonColor = false;
Text = "";
});
library:create( "UICorner" , {
Parent = items[ "alpha_gradient" ];
CornerRadius = dim(0, 6)
});
items[ "alpha_picker" ] = library:create( "TextButton" , {
BorderColor3 = rgb(0, 0, 0);
AutoButtonColor = false;
Text = "";
AnchorPoint = vec2(0, 0.5);
Parent = items[ "alpha_gradient" ];
Name = "\0";
Position = dim2(1, 0, 0.5, 0);
Size = dim2(0, 8, 0, 8);
ZIndex = 5;
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 0, 0)
});
library:create( "UICorner" , {
Parent = items[ "alpha_picker" ];
CornerRadius = dim(0, 9999)
});
library:create( "UIStroke" , {
Color = rgb(255, 255, 255);
ApplyStrokeMode = Enum.ApplyStrokeMode.Border;
Parent = items[ "alpha_picker" ]
});
library:create( "UIGradient" , {
Color = rgbseq{rgbkey(0, rgb(0, 0, 0)), rgbkey(1, rgb(255, 255, 255))};
Parent = items[ "alpha_gradient" ]
});
items[ "alpha_indicator" ] = library:create( "ImageLabel" , {
ScaleType = Enum.ScaleType.Tile;
BorderColor3 = rgb(0, 0, 0);
Parent = items[ "alpha_gradient" ];
Image = "rbxassetid://18274452449";
BackgroundTransparency = 1;
Name = "\0";
Size = dim2(1, 0, 1, 0);
TileSize = dim2(0, 6, 0, 6);
BorderSizePixel = 0;
BackgroundColor3 = rgb(0, 0, 0)
});
library:create( "UIGradient" , {
Color = rgbseq{rgbkey(0, rgb(112, 112, 112)), rgbkey(1, rgb(255, 0, 0))};
Transparency = numseq{numkey(0, 0.8062499761581421), numkey(1, 0)};
Parent = items[ "alpha_indicator" ]
});
library:create( "UICorner" , {
Parent = items[ "alpha_indicator" ];
CornerRadius = dim(0, 6)
});
library:create( "UIGradient" , {
Rotation = 90;
Parent = items[ "colorpicker_components" ];
Color = rgbseq{rgbkey(0, rgb(255, 255, 255)), rgbkey(1, rgb(66, 66, 66))}
});
items[ "input" ] = library:create( "TextBox" , {
FontFace = fonts.font;
AnchorPoint = vec2(1, 1);
Text = "";
Parent = items[ "colorpicker_components" ];
Name = "\0";
TextTruncate = Enum.TextTruncate.AtEnd;
BorderSizePixel = 0;
PlaceholderColor3 = rgb(255, 255, 255);
CursorPosition = -1;
ClearTextOnFocus = false;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255);
TextColor3 = rgb(72, 72, 72);
BorderColor3 = rgb(0, 0, 0);
Position = dim2(1, -8, 1, -11);
Size = dim2(1, -16, 0, 18);
BackgroundColor3 = rgb(33, 33, 35)
});
library:create( "UICorner" , {
Parent = items[ "input" ];
CornerRadius = dim(0, 3)
});
items[ "UICorenr" ] = library:create( "UICorner" , { -- fire misstypo (im not fixing this RAWR)
Parent = items[ "colorpicker_holder" ];
Name = "\0";
CornerRadius = dim(0, 4)
});
--
end;
function cfg.set_visible(bool)
items[ "colorpicker_fade" ].BackgroundTransparency = 0
items[ "colorpicker_holder" ].Parent = bool and library[ "items" ] or library[ "other" ]
items[ "colorpicker_holder" ].Position = dim_offset(items[ "colorpicker" ].AbsolutePosition.X, items[ "colorpicker" ].AbsolutePosition.Y + items[ "colorpicker" ].AbsoluteSize.Y + 45)
library:tween(items[ "colorpicker_fade" ], {BackgroundTransparency = 1}, Enum.EasingStyle.Quad, 0.4)
library:tween(items[ "colorpicker_holder" ], {Position = items[ "colorpicker_holder" ].Position + dim_offset(0, 20)}) -- p100 check
if not (self.sanity and library.current_open == self and self.open) then
library:close_element(cfg)
end
end
function cfg.set(color, alpha)
if type(color) == "boolean" then
return
end
if color then
h, s, v = color:ToHSV()
end
if alpha then
a = alpha
end
local Color = hsv(h, s, v)
-- Ok so quick story, should I cache any of this? no...?? anyways I know this code is very bad but its your fault for buying a ui with animations (on a serious note im too lazy to make this look nice)
-- Also further note, yeah I kind of did this scale_factor * size-valuesize.plane because then I would have to do tomfoolery to make it clip properly.
library:tween(items[ "hue_picker" ], {Position = dim2(0, (items[ "hue_gradient" ].AbsoluteSize.X - items[ "hue_picker" ].AbsoluteSize.X) * h, 0.5, 0)}, Enum.EasingStyle.Linear, 0.05)
library:tween(items[ "alpha_picker" ], {Position = dim2(0, (items[ "alpha_gradient" ].AbsoluteSize.X - items[ "alpha_picker" ].AbsoluteSize.X) * (1 - a), 0.5, 0)}, Enum.EasingStyle.Linear, 0.05)
library:tween(items[ "satvalpicker" ], {Position = dim2(0, s * (items[ "saturation_holder" ].AbsoluteSize.X - items[ "satvalpicker" ].AbsoluteSize.X), 1, 1 - v * (items[ "saturation_holder" ].AbsoluteSize.Y - items[ "satvalpicker" ].AbsoluteSize.Y))}, Enum.EasingStyle.Linear, 0.05)
items[ "alpha_indicator" ]:FindFirstChildOfClass("UIGradient").Color = rgbseq{rgbkey(0, rgb(112, 112, 112)), rgbkey(1, hsv(h, 1, 1))}; -- shit code
items[ "colorpicker" ].BackgroundColor3 = Color
items[ "colorpicker_inline" ].BackgroundColor3 = Color
items[ "saturation_holder" ].BackgroundColor3 = hsv(h, 1, 1)
items[ "hue_picker" ].BackgroundColor3 = hsv(h, 1, 1)
items[ "alpha_picker" ].BackgroundColor3 = hsv(h, 1, 1 - a)
items[ "satvalpicker" ].BackgroundColor3 = hsv(h, s, v)
flags[cfg.flag] = {
Color = Color;
Transparency = a
}
local color = items[ "colorpicker" ].BackgroundColor3
items[ "input" ].Text = string.format("%s, %s, %s, ", library:round(color.R * 255), library:round(color.G * 255), library:round(color.B * 255))
items[ "input" ].Text ..= library:round(1 - a, 0.01)
cfg.callback(Color, a)
end
function cfg.update_color()
local mouse = uis:GetMouseLocation()
local offset = vec2(mouse.X, mouse.Y - gui_offset)
if dragging_sat then
s = math.clamp((offset - items["sat"].AbsolutePosition).X / items["sat"].AbsoluteSize.X, 0, 1)
v = 1 - math.clamp((offset - items["sat"].AbsolutePosition).Y / items["sat"].AbsoluteSize.Y, 0, 1)
elseif dragging_hue then
h = math.clamp((offset - items[ "hue_gradient" ].AbsolutePosition).X / items[ "hue_gradient" ].AbsoluteSize.X, 0, 1)
elseif dragging_alpha then
a = 1 - math.clamp((offset - items[ "alpha_gradient" ].AbsolutePosition).X / items[ "alpha_gradient" ].AbsoluteSize.X, 0, 1)
end
cfg.set()
end
items[ "colorpicker" ].InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
cfg.open = not cfg.open
cfg.set_visible(cfg.open)
end
end)
uis.InputChanged:Connect(function(input)
if (dragging_sat or dragging_hue or dragging_alpha) and input.UserInputType == Enum.UserInputType.Touch then
cfg.update_color()
end
end)
library:connection(uis.InputEnded, function(input)
if input.UserInputType == Enum.UserInputType.Touch then
dragging_sat = false
dragging_hue = false
dragging_alpha = false
end
end)
items[ "alpha_gradient" ].InputBegan:Connect(function(Input)
if Input.UserInputType ~= Enum.UserInputType.Touch then return end
dragging_alpha = true
end)
items[ "hue_gradient" ].InputBegan:Connect(function(Input)
if Input.UserInputType ~= Enum.UserInputType.Touch then return end
dragging_hue = true
end)
items[ "sat" ].InputBegan:Connect(function(Input)
if Input.UserInputType ~= Enum.UserInputType.Touch then return end
dragging_sat = true
end)
items[ "input" ].FocusLost:Connect(function()
local text = items[ "input" ].Text
local r, g, b, a = library:convert(text)
if r and g and b and a then
cfg.set(rgb(r, g, b), 1 - a)
end
end)
items[ "input" ].Focused:Connect(function()
library:tween(items[ "input" ], {TextColor3 = rgb(245, 245, 245)})
end)
items[ "input" ].FocusLost:Connect(function()
library:tween(items[ "input" ], {TextColor3 = rgb(72, 72, 72)})
end)
cfg.set(cfg.color, cfg.alpha)
config_flags[cfg.flag] = cfg.set
return setmetatable(cfg, library)
end
function library:textbox(options)
local cfg = {
name = options.name or "TextBox",
placeholder = options.placeholder or options.placeholdertext or options.holder or options.holdertext or "type here...",
default = options.default or "",
flag = options.flag or library:next_flag(),
callback = options.callback or function() end,
visible = options.visible or true,
items = {};
}
flags[cfg.flag] = cfg.default
local items = cfg.items; do
items[ "textbox" ] = library:create( "TextButton" , {
LayoutOrder = -1;
FontFace = fonts.font;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "textbox" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "right_components" ] = library:create( "Frame" , {
Parent = items[ "textbox" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 4, 0, 19);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, 0, 0, 12);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
Parent = items[ "right_components" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder;
FillDirection = Enum.FillDirection.Horizontal
});
items[ "input" ] = library:create( "TextBox" , {
FontFace = fonts.font;
Text = "";
Parent = items[ "right_components" ];
Name = "\0";
TextTruncate = Enum.TextTruncate.AtEnd;
BorderSizePixel = 0;
PlaceholderColor3 = rgb(255, 255, 255);
CursorPosition = -1;
ClearTextOnFocus = false;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255);
TextColor3 = rgb(72, 72, 72);
BorderColor3 = rgb(0, 0, 0);
Position = dim2(1, 0, 0, 0);
Size = dim2(1, -4, 0, 30);
BackgroundColor3 = rgb(33, 33, 35)
});
library:create( "UICorner" , {
Parent = items[ "input" ];
CornerRadius = dim(0, 3)
});
library:create( "UIPadding" , {
Parent = items[ "right_components" ];
PaddingTop = dim(0, 4);
PaddingRight = dim(0, 4)
});
end
function cfg.set(text)
flags[cfg.flag] = text
items[ "input" ].Text = text
cfg.callback(text)
end
items[ "input" ]:GetPropertyChangedSignal("Text"):Connect(function()
cfg.set(items[ "input" ].Text)
end)
items[ "input" ].Focused:Connect(function()
library:tween(items[ "input" ], {TextColor3 = rgb(245, 245, 245)})
end)
items[ "input" ].FocusLost:Connect(function()
library:tween(items[ "input" ], {TextColor3 = rgb(72, 72, 72)})
end)
if cfg.default then
cfg.set(cfg.default)
end
config_flags[cfg.flag] = cfg.set
return setmetatable(cfg, library)
end
function library:keybind(options)
local cfg = {
flag = options.flag or library:next_flag(),
callback = options.callback or function() end,
name = options.name or nil,
ignore_key = options.ignore or false,
key = options.key or nil,
mode = options.mode or "Toggle",
active = options.default or false,
open = false,
binding = nil,
hold_instances = {},
items = {};
}
flags[cfg.flag] = {
mode = cfg.mode,
key = cfg.key,
active = cfg.active
}
local items = cfg.items; do
-- Component
items[ "keybind_element" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "keybind_element" ];
Name = "\0";
Size = dim2(1, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 16;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "name" ];
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
items[ "right_components" ] = library:create( "Frame" , {
Parent = items[ "keybind_element" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, 1, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
FillDirection = Enum.FillDirection.Horizontal;
HorizontalAlignment = Enum.HorizontalAlignment.Right;
Parent = items[ "right_components" ];
Padding = dim(0, 7);
SortOrder = Enum.SortOrder.LayoutOrder
});
items[ "keybind_holder" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
Parent = items[ "right_components" ];
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Size = dim2(0, 0, 0, 16);
Name = "\0";
Position = dim2(1, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.X;
TextSize = 14;
BackgroundColor3 = rgb(33, 33, 35)
});
library:create( "UICorner" , {
Parent = items[ "keybind_holder" ];
CornerRadius = dim(0, 4)
});
items[ "key" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(86, 86, 87);
BorderColor3 = rgb(0, 0, 0);
Text = "LSHIFT";
Parent = items[ "keybind_holder" ];
Name = "\0";
Size = dim2(1, -12, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
Parent = items[ "key" ];
PaddingTop = dim(0, 1);
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
--
-- Mode Holder
items[ "dropdown" ] = library:create( "Frame" , {
BorderColor3 = rgb(0, 0, 0);
Parent = library.items;
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 0, 0, 0);
Size = dim2(0, 0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.X;
BackgroundColor3 = rgb(0, 0, 0)
});
items[ "inline" ] = library:create( "Frame" , {
Parent = items[ "dropdown" ];
Size = dim2(1, 0, 1, 0);
Name = "\0";
ClipsDescendants = true;
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
BackgroundColor3 = rgb(22, 22, 24)
});
library:create( "UIPadding" , {
PaddingBottom = dim(0, 6);
PaddingTop = dim(0, 3);
PaddingLeft = dim(0, 3);
Parent = items[ "inline" ]
});
library:create( "UIListLayout" , {
Parent = items[ "inline" ];
Padding = dim(0, 5);
SortOrder = Enum.SortOrder.LayoutOrder
});
library:create( "UICorner" , {
Parent = items[ "inline" ];
CornerRadius = dim(0, 4)
});
local options = {"Hold", "Toggle", "Always"}
cfg.y_size = 20
for _, option in options do
local name = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = option;
Parent = items[ "inline" ];
Name = "\0";
Size = dim2(0, 0, 0, 0);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
}); cfg.hold_instances[option] = name
library:apply_theme(name, "accent", "TextColor3")
cfg.y_size += name.AbsoluteSize.Y
library:create( "UIPadding" , {
Parent = name;
PaddingTop = dim(0, 1);
PaddingRight = dim(0, 5);
PaddingLeft = dim(0, 5)
});
name.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
cfg.set(option)
cfg.set_visible(false)
cfg.open = false
end
end)
end
--
end
function cfg.modify_mode_color(path) -- ts so frikin tuff 💀
for _, v in cfg.hold_instances do
v.TextColor3 = rgb(72, 72, 72)
end
cfg.hold_instances[path].TextColor3 = themes.preset.accent
end
function cfg.set_mode(mode)
cfg.mode = mode
if mode == "Always" then
cfg.set(true)
elseif mode == "Hold" then
cfg.set(false)
end
flags[cfg.flag]["mode"] = mode
cfg.modify_mode_color(mode)
end
function cfg.set(input)
if type(input) == "boolean" then
cfg.active = input
if cfg.mode == "Always" then
cfg.active = true
end
elseif tostring(input):find("Enum") then
input = input.Name == "Escape" and "NONE" or input
cfg.key = input or "NONE"
elseif find({"Toggle", "Hold", "Always"}, input) then
if input == "Always" then
cfg.active = true
end
cfg.mode = input
cfg.set_mode(cfg.mode)
elseif type(input) == "table" then
input.key = type(input.key) == "string" and input.key ~= "NONE" and library:convert_enum(input.key) or input.key
input.key = input.key == Enum.KeyCode.Escape and "NONE" or input.key
cfg.key = input.key or "NONE"
cfg.mode = input.mode or "Toggle"
if input.active then
cfg.active = input.active
end
cfg.set_mode(cfg.mode)
end
cfg.callback(cfg.active)
local text = tostring(cfg.key) ~= "Enums" and (keys[cfg.key] or tostring(cfg.key):gsub("Enum.", "")) or nil
local __text = text and (tostring(text):gsub("KeyCode.", ""):gsub("UserInputType.", ""))
items[ "key" ].Text = __text
flags[cfg.flag] = {
mode = cfg.mode,
key = cfg.key,
active = cfg.active
}
end
function cfg.set_visible(bool)
local size = bool and cfg.y_size or 0
library:tween(items[ "dropdown" ], {Size = dim_offset(items[ "keybind_holder" ].AbsoluteSize.X, size)})
items[ "dropdown" ].Position = dim_offset(items[ "keybind_holder" ].AbsolutePosition.X, items[ "keybind_holder" ].AbsolutePosition.Y + items[ "keybind_holder" ].AbsoluteSize.Y + 60)
end
items[ "keybind_holder" ].InputBegan:Connect(function(Input)
if Input.UserInputType ~= Enum.UserInputType.Touch then return end
task.wait()
items[ "key" ].Text = "..."
cfg.binding = library:connection(uis.InputBegan, function(keycode, game_event)
cfg.set(keycode.KeyCode ~= Enum.KeyCode.Unknown and keycode.KeyCode or keycode.UserInputType)
cfg.binding:Disconnect()
cfg.binding = nil
end)
end)
items[ "keybind_holder" ].MouseButton2Down:Connect(function()
cfg.open = not cfg.open
cfg.set_visible(cfg.open)
end)
library:connection(uis.InputBegan, function(input, game_event)
if not game_event then
local selected_key = input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode or input.UserInputType
if selected_key == cfg.key then
if cfg.mode == "Toggle" then
cfg.active = not cfg.active
cfg.set(cfg.active)
elseif cfg.mode == "Hold" then
cfg.set(true)
end
end
end
end)
library:connection(uis.InputEnded, function(input, game_event)
if game_event then
return
end
local selected_key = input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode or input.UserInputType
if selected_key == cfg.key then
if cfg.mode == "Hold" then
cfg.set(false)
end
end
end)
cfg.set({mode = cfg.mode, active = cfg.active, key = cfg.key})
config_flags[cfg.flag] = cfg.set
return setmetatable(cfg, library)
end
function library:button(options)
local cfg = {
name = options.name or "TextBox",
callback = options.callback or function() end,
items = {};
}
local items = cfg.items; do
items[ "button_element" ] = library:create( "Frame" , {
Parent = self.items[ "elements" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
BackgroundColor3 = rgb(255, 255, 255)
});
items[ "button" ] = library:create( "TextButton" , {
FontFace = fonts.font;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Parent = items[ "button_element" ];
Name = "\0";
Position = dim2(1, -4, 0, 0);
Size = dim2(1, -8, 0, 30);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(33, 33, 35)
});
library:create( "UICorner" , {
Parent = items[ "button" ];
CornerRadius = dim(0, 3)
});
items[ "name" ] = library:create( "TextLabel" , {
FontFace = fonts.small;
TextColor3 = rgb(245, 245, 245);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "button" ];
Name = "\0";
BackgroundTransparency = 1;
Size = dim2(1, 0, 1, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
}); library:apply_theme(items[ "name" ], "accent", "BackgroundColor3");
end
items[ "button" ].InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
cfg.callback()
items[ "name" ].TextColor3 = themes.preset.accent
library:tween(items[ "name" ], {TextColor3 = rgb(245, 245, 245)})
end
end)
return setmetatable(cfg, library)
end
function library:settings(options)
local cfg = {
open = false;
items = {};
sanity = true; -- made this for my own sanity.
}
local items = cfg.items; do
items[ "outline" ] = library:create( "Frame" , {
Name = "\0";
Visible = true;
Parent = library[ "items" ];
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, 0, 0);
ClipsDescendants = true;
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
BackgroundColor3 = rgb(25, 25, 29)
});
library:create( "UIScale" , {
Parent = items[ "outline" ];
Scale = scale;
});
items[ "inline" ] = library:create( "Frame" , {
Parent = items[ "outline" ];
Name = "\0";
Position = dim2(0, 1, 0, 1);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(1, -2, 1, -2);
BorderSizePixel = 0;
BackgroundColor3 = rgb(22, 22, 24)
});
library:create( "UICorner" , {
Parent = items[ "inline" ];
CornerRadius = dim(0, 7)
});
items[ "elements" ] = library:create( "Frame" , {
BorderColor3 = rgb(0, 0, 0);
Parent = items[ "inline" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 10, 0, 10);
Size = dim2(1, -20, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
Parent = items[ "elements" ];
Padding = dim(0, 10);
SortOrder = Enum.SortOrder.LayoutOrder
});
library:create( "UIPadding" , {
PaddingBottom = dim(0, 15);
Parent = items[ "elements" ]
});
library:create( "UICorner" , {
Parent = items[ "outline" ];
CornerRadius = dim(0, 7)
});
library:create( "UICorner" , {
Parent = items[ "fade" ];
CornerRadius = dim(0, 7)
});
items[ "tick" ] = library:create( "ImageButton" , {
Image = "rbxassetid://128797200442698";
Name = "\0";
AutoButtonColor = false;
Parent = self.items[ "right_components" ];
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 16, 0, 16);
BorderSizePixel = 0;
BackgroundColor3 = rgb(255, 255, 255)
});
end
function cfg.set_visible(bool)
library:tween(items[ "outline" ], {Size = dim_offset(bool and 240 or 0, 0)})
items[ "outline" ].Position = dim_offset(items[ "tick" ].AbsolutePosition.X, items[ "tick" ].AbsolutePosition.Y + 90)
library:close_element(cfg)
end
items[ "tick" ].InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
cfg.open = not cfg.open
cfg.set_visible(cfg.open)
end
end)
return setmetatable(cfg, library)
end
function library:list(properties)
local cfg = {
items = {};
options = properties.options or {"1", "2", "3"};
flag = properties.flag or library:next_flag();
callback = properties.callback or function() end;
data_store = {};
current_element;
}
local items = cfg.items; do
items[ "list" ] = library:create( "Frame" , {
Parent = self.items[ "elements" ];
BackgroundTransparency = 1;
Name = "\0";
Size = dim2(1, 0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.Y;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIListLayout" , {
Parent = items[ "list" ];
Padding = dim(0, 10);
SortOrder = Enum.SortOrder.LayoutOrder
});
library:create( "UIPadding" , {
Parent = items[ "list" ];
PaddingRight = dim(0, 4);
PaddingLeft = dim(0, 4)
});
end
function cfg.refresh_options(options_to_refresh)
for _,option in cfg.data_store do
option:Destroy()
end
for _, option_data in options_to_refresh do
local button = library:create( "TextButton" , {
FontFace = fonts.small;
TextColor3 = rgb(0, 0, 0);
BorderColor3 = rgb(0, 0, 0);
Text = "";
AutoButtonColor = false;
AnchorPoint = vec2(1, 0);
Parent = items[ "list" ];
Name = "\0";
Position = dim2(1, 0, 0, 0);
Size = dim2(1, 0, 0, 30);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(33, 33, 35)
}); cfg.data_store[#cfg.data_store + 1] = button;
local name = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(72, 72, 73);
BorderColor3 = rgb(0, 0, 0);
Text = option_data;
Parent = button;
Name = "\0";
BackgroundTransparency = 1;
TextTruncate = Enum.TextTruncate.AtEnd;
Size = dim2(1, 0, 1, 0);
BorderSizePixel = 0;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UICorner" , {
Parent = button;
CornerRadius = dim(0, 3)
});
button.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.Touch then
local current = cfg.current_element
if current and current ~= name then
library:tween(current, {TextColor3 = rgb(72, 72, 72)})
end
flags[cfg.flag] = option_data
cfg.callback(option_data)
library:tween(name, {TextColor3 = rgb(245, 245, 245)})
cfg.current_element = name
end
end)
name.MouseEnter:Connect(function()
if cfg.current_element == name then
return
end
library:tween(name, {TextColor3 = rgb(140, 140, 140)})
end)
name.MouseLeave:Connect(function()
if cfg.current_element == name then
return
end
library:tween(name, {TextColor3 = rgb(72, 72, 72)})
end)
end
end
cfg.refresh_options(cfg.options)
return setmetatable(cfg, library)
end
function library:init_config(window)
local text;
window:seperator({name = "Settings"})
local main = window:tab({name = "Configs", tabs = {"Main"}})
local column = main:column({})
local section = column:section({name = "Configs", size = 1, default = true, icon = "rbxassetid://139628202576511"})
config_holder = section:list({options = {"Report", "This", "Error", "To", "Finobe"}, callback = function(option)
if text then
text.set(option)
end
end, flag = "config_name_list"}); library:update_config_list()
local column = main:column({})
local section = column:section({name = "Settings", side = "right", size = 1, default = true, icon = "rbxassetid://129380150574313"})
text = section:textbox({name = "Config name:", flag = "config_name_text"})
section:button({name = "Save", callback = function() writefile(library.directory .. "/configs/" .. flags["config_name_text"] .. ".cfg", library:get_config()) library:update_config_list() notifications:create_notification({name = "Configs", info = "Saved config to:\n" .. flags["config_name_text"] or flags["config_name_text"]}) end})
section:button({name = "Load", callback = function() library:load_config(readfile(library.directory .. "/configs/" .. flags["config_name_text"] .. ".cfg")) library:update_config_list() notifications:create_notification({name = "Configs", info = "Loaded config:\n" .. flags["config_name_text"]}) end})
section:button({name = "Delete", callback = function() delfile(library.directory .. "/configs/" .. flags["config_name_text"] .. ".cfg") library:update_config_list() notifications:create_notification({name = "Configs", info = "Deleted config:\n" .. flags["config_name_text"]}) end})
section:colorpicker({name = "Menu Accent", callback = function(color, alpha) library:update_theme("accent", color) end, color = themes.preset.accent})
section:keybind({name = "Menu Bind", callback = function(bool) window.toggle_menu(bool) end, default = true})
end
--
-- Notification Library
function notifications:refresh_notifs()
local offset = 50
for i, v in notifications.notifs do
local Position = vec2(20, offset)
library:tween(v, {Position = dim_offset(Position.X, Position.Y)}, Enum.EasingStyle.Quad, 0.4)
offset += (v.AbsoluteSize.Y + 10)
end
return offset
end
function notifications:fade(path, is_fading)
local fading = is_fading and 1 or 0
library:tween(path, {BackgroundTransparency = fading}, Enum.EasingStyle.Quad, 1)
for _, instance in path:GetDescendants() do
if not instance:IsA("GuiObject") then
if instance:IsA("UIStroke") then
library:tween(instance, {Transparency = fading}, Enum.EasingStyle.Quad, 1)
end
continue
end
if instance:IsA("TextLabel") then
library:tween(instance, {TextTransparency = fading})
elseif instance:IsA("Frame") then
library:tween(instance, {BackgroundTransparency = instance.Transparency and 0.6 and is_fading and 1 or 0.6}, Enum.EasingStyle.Quad, 1)
end
end
end
function notifications:create_notification(options)
local cfg = {
name = options.name or "This is a title!";
info = options.info or "This is extra info!";
lifetime = options.lifetime or 3;
items = {};
outline;
}
local items = cfg.items; do
items[ "notification" ] = library:create( "Frame" , {
Parent = library[ "items" ];
Size = dim2(0, 210, 0, 53);
Name = "\0";
BorderColor3 = rgb(0, 0, 0);
BorderSizePixel = 0;
BackgroundTransparency = 1;
AnchorPoint = vec2(1, 0);
AutomaticSize = Enum.AutomaticSize.Y;
BackgroundColor3 = rgb(14, 14, 16)
});
library:create( "UIScale" , {
Parent = items[ "notification" ];
Scale = scale;
});
library:create( "UIStroke" , {
Color = rgb(23, 23, 29);
Parent = items[ "notification" ];
Transparency = 1;
ApplyStrokeMode = Enum.ApplyStrokeMode.Border
});
items[ "title" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(255, 255, 255);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.name;
Parent = items[ "notification" ];
Name = "\0";
BackgroundTransparency = 1;
Position = dim2(0, 7, 0, 6);
BorderSizePixel = 0;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UICorner" , {
Parent = items[ "notification" ];
CornerRadius = dim(0, 3)
});
items[ "info" ] = library:create( "TextLabel" , {
FontFace = fonts.font;
TextColor3 = rgb(145, 145, 145);
BorderColor3 = rgb(0, 0, 0);
Text = cfg.info;
Parent = items[ "notification" ];
Name = "\0";
Position = dim2(0, 9, 0, 22);
BorderSizePixel = 0;
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
TextWrapped = true;
AutomaticSize = Enum.AutomaticSize.XY;
TextSize = 14;
BackgroundColor3 = rgb(255, 255, 255)
});
library:create( "UIPadding" , {
PaddingBottom = dim(0, 17);
PaddingRight = dim(0, 8);
Parent = items[ "info" ]
});
items[ "bar" ] = library:create( "Frame" , {
AnchorPoint = vec2(0, 1);
Parent = items[ "notification" ];
Name = "\0";
Position = dim2(0, 8, 1, -6);
BorderColor3 = rgb(0, 0, 0);
Size = dim2(0, 0, 0, 5);
BackgroundTransparency = 1;
BorderSizePixel = 0;
BackgroundColor3 = themes.preset.accent
});
library:create( "UICorner" , {
Parent = items[ "bar" ];
CornerRadius = dim(0, 999)
});
library:create( "UIPadding" , {
PaddingRight = dim(0, 8);
Parent = items[ "notification" ]
});
end
local index = #notifications.notifs + 1
notifications.notifs[index] = items[ "notification" ]
notifications:fade(items[ "notification" ], false)
local offset = notifications:refresh_notifs()
items[ "notification" ].Position = dim_offset(20, offset)
library:tween(items[ "notification" ], {AnchorPoint = vec2(0, 0)}, Enum.EasingStyle.Quad, 1)
library:tween(items[ "bar" ], {Size = dim2(1, -8, 0, 5)}, Enum.EasingStyle.Quad, cfg.lifetime)
task.spawn(function()
task.wait(cfg.lifetime)
notifications.notifs[index] = nil
notifications:fade(items[ "notification" ], true)
library:tween(items[ "notification" ], {AnchorPoint = vec2(1, 0)}, Enum.EasingStyle.Quad, 1)
task.wait(1)
items[ "notification" ]:Destroy()
end)
end
--end)()
end
-- \\ Script
local window = library:window({name = "Scorpio.Hub", suffix = "", gameInfo = string.format("Scorpio.Hub : %s", Game_Name:lower())})
if Game_Name == "The Bronx" then
window:seperator({name = "Game"}) do
local LocalPlayerTab, PlayersTab, PurchaseGunTab, MiscTab, SafeTab = window:tab({name = "Main", tabs = {"Local Player", "Players", "Teleports", "Misc", "Safe"}, icon = GetImage("World.png")}) do
do -- \\ Safe Tab
local SafeItemColumn = SafeTab:column({})
local SafeItemSection = SafeItemColumn:section({name = "Safe Selected Item", side = "left", size = 1, icon = GetImage("Lock.png")})
local _SafeItem = SafeItemSection:list({flag = "SafeSelectedItem_TheBronx", options = {}, callback = function(state)
task.spawn(LPH_NO_VIRTUALIZE(function()
if not state then
return
end
local Safe, OldCFrame = GetWorkingSafe(), LocalPlayer.Character.HumanoidRootPart.CFrame
pcall(Teleport, Safe.ChestClicker.CFrame)
local Tool = tostring(state)
LocalPlayer.Character:WaitForChild"Humanoid":UnequipTools()
local ItemSafed = false; local OldBackpackRemoved; OldBackpackRemoved = LocalPlayer.Backpack.ChildRemoved:Connect(function(Child)
if tostring(Child) == Tool then
ItemSafed = true
OldBackpackRemoved:Disconnect()
end
end)
task.delay(3, function()
ItemSafed = true
end)
task.wait(0.5)
ReplicatedStorage.Inventory:FireServer("Change", Tool, "Backpack", Safe)
repeat task.wait() until ItemSafed == true
pcall(Teleport, OldCFrame)
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Successfully safed {state}!`,
lifetime = 5
})
end))
end})
SafeItemColumn = SafeTab:column({})
SafeItemSection = SafeItemColumn:section({name = "Take Selected Item", side = "right", size = 1, icon = GetImage("UZI.png")})
local _TakeItem = SafeItemSection:list({flag = "TakeSelectedItem_TheBronx", options = {}, callback = function(state)
task.spawn(LPH_NO_VIRTUALIZE(function()
if not state then
return
end
local Safe, OldCFrame = GetWorkingSafe(), LocalPlayer.Character.HumanoidRootPart.CFrame
pcall(Teleport, Safe.ChestClicker.CFrame)
local Tool = tostring(state);
local ItemSafed = false; local OldBackpackChildAdded; OldBackpackChildAdded = LocalPlayer.Backpack.ChildAdded:Connect(function(Child)
if tostring(Child) == Tool then
ItemSafed = true
OldBackpackChildAdded:Disconnect()
end
end)
task.delay(3, function()
ItemSafed = true
end)
task.wait(0.5)
ReplicatedStorage.Inventory:FireServer("Change", Tool, "Inv", Safe)
repeat task.wait() until ItemSafed == true
pcall(Teleport, OldCFrame)
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Successfully took {state} from safe!`,
lifetime = 5
})
end))
end})
local Backpack_ChildAdded, Backpack_ChildRemoved
local ConnectBackpackToRefreshSafeList = LPH_JIT_MAX(function()
LocalPlayer:WaitForChild("Backpack")
local Refresh = LPH_NO_VIRTUALIZE(function()
local Items = {}
for Index, Value in LocalPlayer.Backpack:GetChildren() do
if Value:IsA("Tool") then
table.insert(Items, Value.Name)
end
end
table.sort(Items)
_SafeItem.refresh_options(Items)
return Items
end)
task.spawn(Refresh)
if Backpack_ChildAdded then
Backpack_ChildAdded:Disconnect()
Backpack_ChildAdded = nil
end
if Backpack_ChildRemoved then
Backpack_ChildRemoved:Disconnect()
Backpack_ChildRemoved = nil
end
Backpack_ChildAdded = LocalPlayer.Backpack.ChildAdded:Connect(Refresh)
Backpack_ChildRemoved = LocalPlayer.Backpack.ChildRemoved:Connect(Refresh)
end)
Players.PlayerRemoving:Connect(LPH_NO_VIRTUALIZE(function(Player)
if Player == LocalPlayer then
Backpack_ChildAdded:Disconnect(); Backpack_ChildRemoved:Disconnect()
end
end))
task.spawn(ConnectBackpackToRefreshSafeList)
LocalPlayer.CharacterAdded:Connect(ConnectBackpackToRefreshSafeList)
local RefreshTakeItemList = LPH_NO_VIRTUALIZE(function()
local Items = {}
for Index, Value in LocalPlayer:WaitForChild("InvData"):GetChildren() do
table.insert(Items, Value.Name)
end
table.sort(Items)
_TakeItem.refresh_options(Items)
return Items
end)
task.spawn(RefreshTakeItemList)
LocalPlayer:WaitForChild("InvData").ChildAdded:Connect(RefreshTakeItemList)
LocalPlayer:WaitForChild("InvData").ChildRemoved:Connect(RefreshTakeItemList)
end
do -- \\ Local Player Tab
local LocalPlayerColumn = LocalPlayerTab:column({})
local LocalPlayerModsSection = LocalPlayerColumn:section({name = "Local Player Modifications", side = "left", size = 1.0135})
local InstantInteraction = false
local InstantInteractionConnection = nil
local function enableInstantInteraction()
for _, v in ipairs(workspace:GetDescendants()) do
if v:IsA("ProximityPrompt") then
v.HoldDuration = 0
end
end
if InstantInteractionConnection then
InstantInteractionConnection:Disconnect()
end
InstantInteractionConnection = workspace.DescendantAdded:Connect(function(v)
if v:IsA("ProximityPrompt") and InstantInteraction then
v.HoldDuration = 0
end
end)
end
local function disableInstantInteraction()
if InstantInteractionConnection then
InstantInteractionConnection:Disconnect()
InstantInteractionConnection = nil
end
end
-- Add Instant Interaction toggle
LocalPlayerModsSection:toggle({
type = "toggle",
name = "Instant Interaction",
flag = "InstantInteraction_TheBronx",
default = false,
callback = function(state)
InstantInteraction = state
if state then
enableInstantInteraction()
library.notifications:create_notification({
name = "Traphouse 3.0",
info = "Instant Interaction Enabled - No hold time on prompts",
lifetime = 3
})
else
disableInstantInteraction()
library.notifications:create_notification({
name = "Traphouse 3.0",
info = "Instant Interaction Disabled",
lifetime = 3
})
end
end
})
-- INSTANT RESPAWN FUNCTION
local InstantRespawnEnabled = false
local InstantRespawnLoop = nil
local function SetInstantRespawn(state)
InstantRespawnEnabled = state
if InstantRespawnLoop then
InstantRespawnLoop:Disconnect()
InstantRespawnLoop = nil
end
if state then
InstantRespawnLoop = game:GetService("RunService").Heartbeat:Connect(function()
local character = game:GetService("Players").LocalPlayer.Character
if character and character:FindFirstChild("Humanoid") then
if character.Humanoid.Health <= 0 then
-- Small delay to ensure death is registered
task.wait(0.1)
pcall(function()
game:GetService("ReplicatedStorage"):FindFirstChild("RespawnRE"):FireServer()
end)
end
end
end)
end
end
-- Add Fast Respawn toggle
LocalPlayerModsSection:toggle({
type = "toggle",
name = "Fast Respawn",
flag = "FastRespawn_TheBronx",
default = false,
callback = function(state)
SetInstantRespawn(state)
if state then
library.notifications:create_notification({
name = "Traphouse 3.0",
info = "Fast Respawn Enabled - Instant respawn on death",
lifetime = 3
})
else
library.notifications:create_notification({
name = "Traphouse 3.0",
info = "Fast Respawn Disabled",
lifetime = 3
})
end
end
})
local adminAlertToggle = LocalPlayerModsSection:toggle({
type = "toggle",
name = "Admin Alert",
flag = "AdminAlert_TB3",
default = false,
info = "Notifies when an admin joins the game",
callback = function(state)
_G.AdminAlertEnabled = state
end
})
-- Admin Alert Function
local function CheckForAdmins()
for _, player in ipairs(game.Players:GetPlayers()) do
for _, child in ipairs(player:GetChildren()) do
if child.Name:find("_Tracker") then
library.notifications:create_notification({
name = "Admin Alert",
info = "User: " .. player.Name .. " is an Admin! Be Careful!",
lifetime = 5
})
return
end
end
end
end
-- Admin Alert Loop
spawn(function()
while wait(10) do -- Checks every 10 seconds
if _G.AdminAlertEnabled then
CheckForAdmins()
end
end
end)
local __Modifications = {
"Infinite Sleep";
"Infinite Hunger";
"Infinite Stamina";
"Instant Interact";
"Instant Revive";
"Auto Pickup Cash";
"Auto Pickup Bags";
"Disable Camera Bobbing";
--"Disable Cameras";
"Disable Blood Effects";
"Bypass Locked Cars";
"No Jump Cooldown";
"No Rent Pay";
"No Fall Damage";
"No Knockback";
"Respawn Where You Died";
}
for _, Index in __Modifications do
LocalPlayerModsSection:toggle({type = "toggle", name = Index, flag = Index, default = false, callback = function(state)
Config.TheBronx.PlayerModifications[Index:gsub(" ", "")] = state
end})
end
LocalPlayerColumn = LocalPlayerTab:column({})
local CharacterModsSection = LocalPlayerColumn:section({name = "Character Modifications", side = "right", size = 0.645, icon = GetImage("Wrench.png")})
CharacterModsSection:toggle({type = "toggle", name = "Modify WalkSpeed", flag = "ModifyWalkSpeed_TheBronx", default = false, callback = function(state)
Config.MiscSettings.ModifySpeed.Enabled = state
end})
CharacterModsSection:slider({name = "WalkSpeed Value", flag = "WalkSpeedValue_TheBronx", min = 0, max = 250, default = 50, suffix = "%", callback = function(state)
Config.MiscSettings.ModifySpeed.Value = state
end})
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local player = Players.LocalPlayer
local camera = Workspace.CurrentCamera
-- CONFIG DEFAULTS
Config = Config or {}
Config.FlyEnabled = Config.FlyEnabled or false
Config.FlySpeed = Config.FlySpeed or 5
local flyEnabled = false
local swimMethod = false
local speedConnection = nil
local CFloop = nil
--------------------------------------------------
-- SPEED HANDLER
--------------------------------------------------
local function handleSpeed()
if not swimMethod then return end
local character = player.Character
if not character or not character.Parent then return end
local humanoid = character:FindFirstChildOfClass("Humanoid")
local hrp = character:FindFirstChild("HumanoidRootPart")
if not humanoid or not hrp or humanoid.Health <= 0 then return end
humanoid:ChangeState(0)
if flyEnabled then
hrp.RotVelocity = Vector3.new(0, 0, 0)
return
end
local moveDir = humanoid.MoveDirection
if moveDir.Magnitude > 0 then
local worldMoveVec = Vector3.new(moveDir.X, 0, moveDir.Z).Unit * (50 * 16)
if worldMoveVec.Magnitude == worldMoveVec.Magnitude then
hrp.Velocity = Vector3.new(worldMoveVec.X, hrp.Velocity.Y, worldMoveVec.Z)
end
else
hrp.Velocity = Vector3.new(0, hrp.Velocity.Y, 0)
end
hrp.RotVelocity = Vector3.new(0, 0, 0)
end
--------------------------------------------------
-- CHARACTER SETUP
--------------------------------------------------
local function onCharacterAdded(char)
if speedConnection then
speedConnection:Disconnect()
speedConnection = nil
end
local success = pcall(function()
char:WaitForChild("Humanoid", 5)
char:WaitForChild("HumanoidRootPart", 5)
end)
if not success then return end
speedConnection = RunService.Stepped:Connect(function()
local success = pcall(handleSpeed)
if not success and speedConnection then
speedConnection:Disconnect()
speedConnection = nil
end
end)
end
if player.Character then
onCharacterAdded(player.Character)
end
player.CharacterAdded:Connect(onCharacterAdded)
--------------------------------------------------
-- FLY SYSTEM
--------------------------------------------------
local function StartFly()
if flyEnabled then return end
flyEnabled = true
swimMethod = true
task.wait(0.2)
local character = player.Character or player.CharacterAdded:Wait()
if not character then return end
local humanoid = character:FindFirstChildOfClass("Humanoid")
local head = character:FindFirstChild("Head")
if not humanoid or not head then return end
humanoid.PlatformStand = true
head.Anchored = true
if CFloop then
CFloop:Disconnect()
end
CFloop = RunService.Heartbeat:Connect(function(deltaTime)
if not flyEnabled or not character or not character.Parent then
if CFloop then CFloop:Disconnect() end
return
end
local moveDir = humanoid.MoveDirection
local speed = (Config.FlySpeed or 5) * deltaTime * 100
local camCF = camera.CFrame
local _, yRot, _ = camCF:ToOrientation()
local uprightRot = CFrame.Angles(0, yRot, 0)
local flatCamCF = CFrame.new(camCF.Position) * uprightRot
local localInput = flatCamCF:VectorToObjectSpace(moveDir * speed)
local worldMovement = camCF:VectorToWorldSpace(localInput)
head.CFrame = CFrame.new(head.Position + worldMovement) * uprightRot
camera.CameraSubject = head
end)
end
local function StopFly()
if not flyEnabled then return end
flyEnabled = false
swimMethod = false
if CFloop then
CFloop:Disconnect()
CFloop = nil
end
local character = player.Character
if character then
local humanoid = character:FindFirstChildOfClass("Humanoid")
local head = character:FindFirstChild("Head")
if humanoid then
humanoid.PlatformStand = false
humanoid:ChangeState(Enum.HumanoidStateType.Running)
end
if head then
head.Anchored = false
end
end
end
--------------------------------------------------
-- UI
--------------------------------------------------
-- TOGGLE
CharacterModsSection:toggle({
type = "toggle",
name = "Fly",
flag = "FlyEnabled",
default = false,
callback = function(state)
Config.FlyEnabled = state
if state then
StartFly()
else
StopFly()
end
end
})
-- SLIDER
CharacterModsSection:slider({
name = "Fly Speed",
flag = "FlySpeed",
min = 1,
max = 20,
interval = 1,
default = 5,
suffix = "",
callback = function(v)
Config.FlySpeed = v
end,
})
-- SERVICES
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local CoreGui = game:GetService("CoreGui")
-- VARIABLES (NO CONFIG)
carFlyEnabled = false
carFlySpeed = 120
local UIS = UserInputService
local LP = Players.LocalPlayer
local hum, seat, car, root
local bv, bg
local lastCar
-- =========================
-- MOBILE CONTROLS (RED)
-- =========================
local flyMobile = {fwd=false, back=false, left=false, right=false}
local flyMobileGui = nil
local function destroyFlyMobileGui()
if flyMobileGui then
pcall(function() flyMobileGui:Destroy() end)
flyMobileGui = nil
end
for k in pairs(flyMobile) do flyMobile[k] = false end
end
local function buildFlyMobileGui()
destroyFlyMobileGui()
if not UIS.TouchEnabled then return end
flyMobileGui = Instance.new("ScreenGui")
flyMobileGui.Name = "FlyMobileDpad"
flyMobileGui.ResetOnSpawn = false
flyMobileGui.DisplayOrder = 9997
flyMobileGui.IgnoreGuiInset = true
flyMobileGui.Parent = CoreGui
local function Btn(label, xScale, yOffset)
local b = Instance.new("TextButton", flyMobileGui)
b.AnchorPoint = Vector2.new(0.5, 1)
b.Size = UDim2.new(0, 65, 0, 65)
b.Position = UDim2.new(xScale, 0, 1, yOffset)
b.BackgroundColor3 = Color3.fromRGB(200, 0, 0)
b.BackgroundTransparency = 0.2
b.Text = label
b.TextColor3 = Color3.fromRGB(255, 255, 255)
b.TextSize = 28
b.Font = Enum.Font.GothamBold
b.BorderSizePixel = 0
b.ZIndex = 10
b.AutoButtonColor = false
Instance.new("UICorner", b).CornerRadius = UDim.new(0.3, 0)
return b
end
local fwdBtn = Btn("▲", 0.15, -240)
local backBtn = Btn("▼", 0.15, -100)
local leftBtn = Btn("◄", 0.08, -170)
local rightBtn = Btn("►", 0.22, -170)
local function wire(btn, key)
btn.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.Touch then
flyMobile[key] = true
btn.BackgroundTransparency = 0.05
end
end)
btn.InputEnded:Connect(function(i)
if i.UserInputType == Enum.UserInputType.Touch then
flyMobile[key] = false
btn.BackgroundTransparency = 0.2
end
end)
end
wire(fwdBtn, "fwd")
wire(backBtn, "back")
wire(leftBtn, "left")
wire(rightBtn, "right")
end
buildFlyMobileGui()
-- =========================
-- CLEANUP
-- =========================
local function CarFlyCleanup()
if bv then bv:Destroy() bv = nil end
if bg then bg:Destroy() bg = nil end
end
-- =========================
-- SETUP
-- =========================
local function CarFlySetup()
CarFlyCleanup()
if not carFlyEnabled then return end
local char = LP.Character
if not char then return end
hum = char:FindFirstChildWhichIsA("Humanoid")
if not hum then return end
seat = hum.SeatPart
if not seat or not seat:IsA("VehicleSeat") then return end
car = seat.Parent
if not car then return end
root = car.PrimaryPart
if not root then return end
lastCar = car
for _, v in ipairs(car:GetChildren()) do
if v:IsA("BasePart") and not v.Name:lower():find("wheel") then
v.CanCollide = false
end
end
bv = Instance.new("BodyVelocity")
bv.MaxForce = Vector3.new(1e9, 1e9, 1e9)
bv.Velocity = Vector3.zero
bv.Parent = root
bg = Instance.new("BodyGyro")
bg.MaxTorque = Vector3.new(1e9, 1e9, 1e9)
bg.P = 25000
bg.D = 1500
bg.CFrame = root.CFrame
bg.Parent = root
end
-- =========================
-- SEAT LOOP
-- =========================
task.spawn(function()
while true do
task.wait(0.2)
local char = LP.Character
if not char then continue end
local h = char:FindFirstChildWhichIsA("Humanoid")
if not h then continue end
local currentSeat = h.SeatPart
if currentSeat and currentSeat:IsA("VehicleSeat") then
if currentSeat.Parent ~= lastCar then
CarFlySetup()
end
else
if lastCar then
CarFlyCleanup()
lastCar = nil
end
end
end
end)
-- =========================
-- MOVEMENT (UNCHANGED + MOBILE ADDED)
-- =========================
RunService.RenderStepped:Connect(function()
if not carFlyEnabled then
CarFlyCleanup()
return
end
if not hum or hum.SeatPart ~= seat then return end
if not root or not bv or not bg then CarFlySetup() return end
local speed = carFlySpeed or 120
local cam = workspace.CurrentCamera
local camCF = cam.CFrame
local camLook = camCF.LookVector
local camRight = camCF.RightVector
if not UIS.TouchEnabled then
if UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
bg.CFrame = CFrame.lookAt(root.Position, root.Position + camLook)
end
local move = Vector3.zero
if UIS:IsKeyDown(Enum.KeyCode.W) then move += camLook end
if UIS:IsKeyDown(Enum.KeyCode.S) then move -= camLook end
if UIS:IsKeyDown(Enum.KeyCode.A) then move -= camRight end
if UIS:IsKeyDown(Enum.KeyCode.D) then move += camRight end
if move.Magnitude > 0 then
bv.Velocity = move.Unit * speed
else
bv.Velocity = Vector3.zero
end
else
bg.CFrame = CFrame.lookAt(root.Position, root.Position + camLook)
local move = Vector3.zero
if flyMobile.fwd then move += camLook end
if flyMobile.back then move -= camLook end
if flyMobile.left then move -= camRight end
if flyMobile.right then move += camRight end
local vertical = camLook.Y
local velocity =
(move * speed) +
(Vector3.new(0, vertical, 0) * speed)
if velocity.Magnitude > 0 then
bv.Velocity = velocity
else
bv.Velocity = Vector3.zero
end
end
end)
CharacterModsSection:toggle({
name = "Car Fly",
type = "toggle",
default = carFlyEnabled,
callback = function(v)
carFlyEnabled = v
end,
})
CharacterModsSection:slider({
name = "Speed",
min = 20,
max = 300,
interval = 1,
default = carFlySpeed,
callback = function(v)
carFlySpeed = v
end,
})
local function GetNearestCar(hrp)
local CivCars = workspace:FindFirstChild("CivCars")
if not CivCars then return nil end
local nearestCar = nil
local nearestDist = math.huge
for _, car in ipairs(CivCars:GetChildren()) do
if not car:IsA("Model") then continue end
local seat = car:FindFirstChild("DriveSeat")
if not seat then continue end
if seat.Occupant then continue end
if not car.PrimaryPart then
local body = car:FindFirstChild("Body")
if body and body:FindFirstChild("#Weight") then
car.PrimaryPart = body["#Weight"]
else
car.PrimaryPart = seat
end
end
if not car.PrimaryPart then continue end
local dist = (car.PrimaryPart.Position - hrp.Position).Magnitude
if dist < nearestDist then
nearestDist = dist
nearestCar = car
end
end
return nearestCar
end
CharacterModsSection:button({
name = "Bring Nearest Car",
callback = function()
local char = LP.Character or LP.CharacterAdded:Wait()
local hrp = char:WaitForChild("HumanoidRootPart", 3)
local hum = char:FindFirstChildWhichIsA("Humanoid")
if not hrp or not hum then return end
local car = GetNearestCar(hrp)
if not car then return end
local seat = car:FindFirstChild("DriveSeat") or car:FindFirstChildWhichIsA("VehicleSeat")
if not seat then return end
if not car.PrimaryPart then
car.PrimaryPart = car:FindFirstChildWhichIsA("BasePart")
if not car.PrimaryPart then return end
end
car:SetPrimaryPartCFrame(
hrp.CFrame * CFrame.new(0, 0, -6) * CFrame.Angles(0, math.rad(180), 0)
)
-- 🔧 more consistent sit
task.wait(0.1)
local rootPart = char:FindFirstChild("HumanoidRootPart")
if rootPart then
rootPart.CFrame = seat.CFrame + Vector3.new(0, 2, 0)
end
task.wait(0.1)
seat:Sit(hum)
end
})
CharacterModsSection:toggle({type = "toggle", name = "Modify JumpPower", flag = "ModifyJumpPower_TheBronx", default = false, callback = function(state)
Config.MiscSettings.ModifyJump.Enabled = state
end})
CharacterModsSection:slider({name = "JumpPower Value", flag = "JumpPowerValue_TheBronx", min = 0, max = 250, default = 7, suffix = "%", callback = function(state)
Config.MiscSettings.ModifyJump.Value = state
end})
CharacterModsSection:toggle({type = "toggle", name = "Click Teleport", flag = "ClickTeleport_TheBronx", default = false})
local _NoClipToggle = CharacterModsSection:toggle({type = "toggle", name = "No Clip", flag = "NoClip_TheBronx", seperator = true, default = false, callback = function(state)
if state then
RunService:BindToRenderStep("NOCLIP", 1, LPH_NO_VIRTUALIZE(function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
if LocalPlayer.Character.Humanoid.Health ~= 0 then
for Index, Value in LocalPlayer.Character:GetDescendants() do
if Collide_Data[Value.Name] then
pcall(function()
Value.CanCollide = false
end)
end
end
else
for Index, Value in LocalPlayer.Character:GetDescendants() do
if Collide_Data[Value.Name] then
pcall(function()
Value.CanCollide = true
end)
end
end
end
end
end))
else
RunService:UnbindFromRenderStep("NOCLIP")
for Index, Value in LocalPlayer.Character:GetDescendants() do
if Collide_Data[Value.Name] then
pcall(function()
Value.CanCollide = true
end)
end
end
end
end})
--// Services
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
--// Remotes
local DropItemRemote = ReplicatedStorage:WaitForChild("DropItemRemote")
local DropRemote = ReplicatedStorage:WaitForChild("DropRemote")
--// State
local isProcessing = false
local targetItemName = nil
--// Blacklist
local BlacklistedTools = {
["Phone"] = true,
["Fist"] = true
}
--// Equip
local function EquipNext(itemName)
local backpack = LocalPlayer:FindFirstChild("Backpack")
if not backpack then return false end
for _, tool in ipairs(backpack:GetChildren()) do
if tool:IsA("Tool") and tool.Name == itemName then
local char = LocalPlayer.Character
if char and char:FindFirstChild("Humanoid") then
char.Humanoid:EquipTool(tool)
return true
end
end
end
return false
end
--// Main
local function Process()
if isProcessing then return end
isProcessing = true
local char = LocalPlayer.Character
if not char then
isProcessing = false
return
end
local tool = char:FindFirstChildOfClass("Tool")
if not tool then
targetItemName = nil
isProcessing = false
return
end
if not targetItemName then
if BlacklistedTools[tool.Name] then
isProcessing = false
return
end
targetItemName = tool.Name
end
if tool.Name ~= targetItemName then
isProcessing = false
return
end
--// Auto Drop
if Config.TheBronx.autodrop then
DropItemRemote:FireServer(tool)
end
--// Auto Pass
if Config.TheBronx.autopass then
DropRemote:FireServer("Drop")
end
task.wait(0.75)
if not EquipNext(targetItemName) then
targetItemName = nil
end
isProcessing = false
end
--// Loop
RunService.Heartbeat:Connect(function()
if not Config.TheBronx.autodrop and not Config.TheBronx.autopass then
targetItemName = nil
return
end
Process()
end)
--// UI TOGGLES (YOUR STYLE)
CharacterModsSection:toggle({
type = "toggle",
name = "Auto Drop",
flag = "AutoDrop",
default = false,
callback = function(state)
Config.TheBronx.autodrop = state
end
})
CharacterModsSection:toggle({
type = "toggle",
name = "Auto Pass",
flag = "AutoPass",
default = false,
callback = function(state)
Config.TheBronx.autopass = state
end
})
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer
local ExemptItems = {"Phone", "Fist", "Shiesty", "Bandage", "Lemonade", "Car keys"}
local AntiLoseToggle = false
CharacterModsSection:toggle({
name = "Anti Lose Items",
type = "toggle",
callback = function(state)
AntiLoseToggle = state
if not state then return end
task.spawn(function()
local function MarketHasItem(toolName)
local market = ReplicatedStorage:FindFirstChild("MarketItems")
if not market then return false end
for _, item in ipairs(market:GetChildren()) do
if item.Name == toolName and item:FindFirstChild("owner") and item.owner.Value == LocalPlayer.Name then
return true
end
end
return false
end
local function BackpackHasItem(toolName)
for _, tool in ipairs(LocalPlayer.Backpack:GetChildren()) do
if tool:IsA("Tool") and tool.Name == toolName then
return true
end
end
return false
end
local function ForcePutToMarket(toolName)
local endTime = os.clock() + 12
while os.clock() < endTime and AntiLoseToggle do
if MarketHasItem(toolName) then
return true
end
pcall(function()
ReplicatedStorage.ListWeaponRemote:FireServer(toolName, 999999)
end)
task.wait(0.15)
end
return false
end
local function ForceRetrieveFromMarket(toolName)
local market = ReplicatedStorage:WaitForChild("MarketItems", 10)
if not market then return false end
local endTime = os.clock() + 12
while os.clock() < endTime and AntiLoseToggle do
for _, item in ipairs(market:GetChildren()) do
if item.Name == toolName
and item:FindFirstChild("owner")
and item.owner.Value == LocalPlayer.Name
and item:GetAttribute("SpecialId") then
local special = item:GetAttribute("SpecialId")
pcall(function()
ReplicatedStorage.BuyItemRemote:FireServer(toolName, "Remove", special)
end)
task.wait(0.2)
pcall(function()
ReplicatedStorage.BackpackRemote:InvokeServer("Grab", toolName)
end)
task.wait(0.2)
if BackpackHasItem(toolName) then
return true
end
end
end
task.wait(0.2)
end
return false
end
local function SaveOnDeath(char)
local hum = char:WaitForChild("Humanoid")
hum.Died:Connect(function()
if not AntiLoseToggle then return end
task.wait(0.25)
for _, tool in ipairs(LocalPlayer.Backpack:GetChildren()) do
if tool:IsA("Tool") and not table.find(ExemptItems, tool.Name) then
ForcePutToMarket(tool.Name)
end
end
end)
end
local function RetrieveAfterSpawn()
task.delay(2.2, function()
if not AntiLoseToggle then return end
local market = ReplicatedStorage:FindFirstChild("MarketItems")
if not market then return end
for _, item in ipairs(market:GetChildren()) do
if item:FindFirstChild("owner")
and item.owner.Value == LocalPlayer.Name then
ForceRetrieveFromMarket(item.Name)
end
end
end)
end
local function SetupCharacter(char)
SaveOnDeath(char)
RetrieveAfterSpawn()
end
LocalPlayer.CharacterAdded:Connect(SetupCharacter)
if LocalPlayer.Character then
SetupCharacter(LocalPlayer.Character)
end
end)
end
})
CharacterModsSection:keybind({name = "Click Teleport Key", flag = "ClickTeleportKey_TheBronx", key = Enum.KeyCode.LeftControl, mode = "Hold", callback = function(state)
Config.TheBronx.ClickTeleportActive = state
end})
local UISection = LocalPlayerColumn:section({name = "Toggle Interfaces Section", side = "right", size = 0.225, icon = GetImage("Settings.png")})
local _UINames, BlacklistedNames = {'ATM GUI'}, {"Dead", "Settings1", "Controls", "FirstShopGUI", "Freecam", "ThaShop2", "WATCH GUI", "NYPD Cars", "CONSTRUCTION LEVEL", "RobPlayerUI", "Bronx LOCKER", 'MobileBeam', 'Settings', 'Flash', 'Enter', 'CopSirens'}
for Index, Value in LocalPlayer.PlayerGui:GetChildren() do
if Value:IsA("ScreenGui") and not Value.Enabled then
if table.find(BlacklistedNames, Value.Name) then continue end
table.insert(_UINames, Value.Name)
end
end
local _UI_EnabledToggle;
UISection:dropdown({name = "Selected UI", flag = "SelectedUI_TB3", width = 120, items = _UINames, seperator = false, multi = false, default = 'Bronx Market 2'})
_UI_EnabledToggle = UISection:toggle({name = "UI Enabled", type = 'toggle', callback = function(state)
task.spawn(LPH_NO_VIRTUALIZE(function()
if tostring(library.flags["SelectedUI_TB3"]) == "ATM GUI" then
local SelectedUI = LocalPlayer.PlayerGui:FindFirstChild("ATMGui")
if not SelectedUI and state then
local _Clone = Lighting.Assets.GUI.ATMGui:Clone()
_Clone.Parent = LocalPlayer.PlayerGui
SelectedUI = _Clone
_Clone.Frame.closeBtn.MouseButton1Click:Connect(function()
_UI_EnabledToggle.set(false)
--_Clone:Destroy()
end)
end
if not state and SelectedUI then
SelectedUI:Destroy()
end
local Old_UI_Value = library.flags["SelectedUI_TB3"]
repeat task.wait() until library.flags["SelectedUI_TB3"] ~= Old_UI_Value
if SelectedUI then
SelectedUI:Destroy()
end
if _UI_EnabledToggle then
_UI_EnabledToggle.set(false)
end
return
end
local SelectedUI = LocalPlayer.PlayerGui:FindFirstChild(tostring(library.flags["SelectedUI_TB3"]))
if SelectedUI then
SelectedUI.Enabled = state
local Old_UI_Value = library.flags["SelectedUI_TB3"]
repeat task.wait() until library.flags["SelectedUI_TB3"] ~= Old_UI_Value
SelectedUI.Enabled = false
if _UI_EnabledToggle then
_UI_EnabledToggle.set(false)
end
end
end))
end})
end
do -- \\ Players Tab
local Column = PlayersTab:column({})
local PlayerListSection = Column:section({name = "Select Player", size = 1, default = false, side = 'left' --[[3 people icon]]})
local PlayerList = PlayerListSection:list({flag = "SelectPlayer_TheBronx", options = {}, callback = function(state)
Config.TheBronx.PlayerUtilities.SelectedPlayer = tostring(state)
end})
local RefreshPlayers = LPH_NO_VIRTUALIZE(function()
local Cache = {}
for i, Player in Players:GetPlayers() do
if Player == LocalPlayer then continue end
table.insert(Cache, Player.Name)
end
table.sort(Cache)
PlayerList.refresh_options(Cache)
end)
task.spawn(RefreshPlayers)
Players.PlayerAdded:Connect(RefreshPlayers)
Players.PlayerRemoving:Connect(RefreshPlayers)
Column = PlayersTab:column({})
local PlayerOptionsSection = Column:section({name = "Player Options", size = 1, default = false, side = 'right', icon = GetImage("Wrench.png")})
PlayerOptionsSection:toggle({type = "toggle", name = "Spectate Player", flag = "SpectatePlayer_TheBronx", default = false, callback = function(state)
Config.TheBronx.PlayerUtilities.SpectatePlayer = state
end})
PlayerOptionsSection:toggle({type = "toggle", name = "Bring Player", flag = "BringPlayer_TheBronx", default = false, callback = function(state)
Config.TheBronx.PlayerUtilities.BringingPlayer = state
end})
PlayerOptionsSection:toggle({type = "toggle", name = "View Inventory", flag = "ViewInventory_TheBronx", default = false, callback = function(state)
if state then
local SelectedPlayer = Config.TheBronx.PlayerUtilities.SelectedPlayer
if SelectedPlayer then
local player = Players[SelectedPlayer]
if player then
if player:FindFirstChild("Backpack") then
local backpackItems = player.Backpack:GetChildren()
local itemNames = {}
for _, v in ipairs(backpackItems) do
table.insert(itemNames, v.Name)
end
local itemList = table.concat(itemNames, ", ")
if #itemList > 0 then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = "Backpack items: " .. itemList,
lifetime = 10
})
else
library.notifications:create_notification({
name = "Scorpio.Hub",
info = "The target player's Backpack is empty.",
lifetime = 10
})
end
else
library.notifications:create_notification({
name = "Scorpio.Hub",
info = "The target player does not have a Backpack.",
lifetime = 10
})
end
else
library.notifications:create_notification({
name = "Scorpio.Hub",
info = "Selected player not found!",
lifetime = 5
})
end
else
library.notifications:create_notification({
name = "Scorpio.Hub",
info = "No player selected!",
lifetime = 5
})
end
end
end})
PlayerOptionsSection:toggle({
type = "toggle",
name = "View Player Money",
flag = "ViewPlayerMoney_TheBronx",
default = false,
callback = function(state)
if state then
local SelectedPlayer = Config.TheBronx.PlayerUtilities.SelectedPlayer
if SelectedPlayer then
local player = Players[SelectedPlayer]
if player then
-- Check for Dirty Money (usually in stored or character)
local dirtyMoney = 0
if player:FindFirstChild("stored") and player.stored:FindFirstChild("DirtyStack") then
dirtyMoney = player.stored.DirtyStack.Value
elseif player.Character and player.Character:FindFirstChild("DirtyStack") then
dirtyMoney = player.Character.DirtyStack.Value
end
-- Check for Wallet Money (usually in leaderstats or player stats)
local walletMoney = 0
if player:FindFirstChild("leaderstats") and player.leaderstats:FindFirstChild("Money") then
walletMoney = player.leaderstats.Money.Value
elseif player:FindFirstChild("stored") and player.stored:FindFirstChild("Money") then
walletMoney = player.stored.Money.Value
end
-- Check for Bank Money (BankValue or similar)
local bankMoney = 0
if player:FindFirstChild("BankValue") then
bankMoney = player.BankValue.Value
elseif player:FindFirstChild("stored") and player.stored:FindFirstChild("Bank") then
bankMoney = player.stored.Bank.Value
end
-- Format the notification message
local message = string.format(
"Dirty Money: $%s\nWallet Money: $%s\nBank Money: $%s",
tostring(dirtyMoney),
tostring(walletMoney),
tostring(bankMoney)
)
library.notifications:create_notification({
name = "Scorpio.Hub - " .. SelectedPlayer,
info = message,
lifetime = 8
})
else
library.notifications:create_notification({
name = "Scorpio.Hub",
info = "Selected player not found!",
lifetime = 5
})
end
else
library.notifications:create_notification({
name = "Scorpio.Hub",
info = "No player selected!",
lifetime = 5
})
end
end
end
})
PlayerOptionsSection:toggle({type = "toggle", name = "Bug / Kill Player - Car", flag = "BugPlayer_TheBronx", default = false, callback = function(state)
Config.TheBronx.PlayerUtilities.BugPlayer = state
end})
PlayerOptionsSection:toggle({type = "toggle", name = "Auto Kill Player - Gun", flag = "AutoKillPlayer_TheBronx", default = false, callback = function(state)
Config.TheBronx.PlayerUtilities.AutoKill = state
end})
PlayerOptionsSection:toggle({type = "toggle", name = "Auto Ragdoll Player - Gun", flag = "AutoRagdollPlayer_TheBronx", seperator = true, default = false, callback = function(state)
Config.TheBronx.PlayerUtilities.AutoRagdoll = state
end})
PlayerOptionsSection:button({name = "Teleport To Player", callback = function()
task.spawn(Teleport, Players[Config.TheBronx.PlayerUtilities.SelectedPlayer].Character.HumanoidRootPart.CFrame)
end})
PlayerOptionsSection:button({name = "Down Player - Hold Gun", callback = function(state)
pcall(kill_gun, Config.TheBronx.PlayerUtilities.SelectedPlayer, "HumanoidRootPart", (Players[Config.TheBronx.PlayerUtilities.SelectedPlayer].Character.Humanoid.Health - 5))
end})
PlayerOptionsSection:button({name = "Kill Player - Hold Gun", callback = function(state)
pcall(kill_gun, Config.TheBronx.PlayerUtilities.SelectedPlayer, "HumanoidRootPart", math.huge)
end})
PlayerOptionsSection:button({name = "Fling Player - Hold Gun", callback = function(state)
for Index=1, 50 do
pcall(kill_gun, Config.TheBronx.PlayerUtilities.SelectedPlayer, "RightUpperLeg", 0.01)
end
end})
-- removed God All Players button for safety
PlayerOptionsSection:button({name = "Kill All Players - Hold Gun", callback = function()
task.spawn(LPH_NO_VIRTUALIZE(function()
for Index, Value in Players:GetPlayers() do
if Value ~= LocalPlayer and Value.Character and Value.Character:FindFirstChild("Humanoid") and Value.Character:FindFirstChild("Humanoid").Health ~= 0 and not Value.Character:FindFirstChildOfClass("ForceField") and Value.Character:FindFirstChild("HumanoidRootPart") then
pcall(kill_gun, Value.Name, "HumanoidRootPart", math.huge)
task.wait(0.1)
end
end
end))
end})
end
do -- \\ Misc Tab
local Column = MiscTab:column({})
local FarmingSection = Column:section({name = "Farming", size = 0.415, default = false, side = 'left', icon = GetImage("Wheatt.png")})
FarmingSection:toggle({type = "toggle", name = "Auto Farm Construction", flag = "FarmConstruction_TheBronx", default = false, callback = function(state)
Config.TheBronx.Farms.FarmConstructionJob = state
end})
FarmingSection:toggle({type = "toggle", name = "Auto Farm Bank Robbery", flag = "FarmBank_TheBronx", default = false, callback = function(state)
Config.TheBronx.Farms.FarmBank = state
end})
FarmingSection:toggle({type = "toggle", name = "Auto Farm House Robbery", flag = "FarmHouses_TheBronx", default = false, callback = function(state)
Config.TheBronx.Farms.FarmHouses = state
end})
FarmingSection:toggle({type = "toggle", name = "Auto Farm Studio Robbery", flag = "FarmStudio_TheBronx", default = false, callback = function(state)
Config.TheBronx.Farms.FarmStudio = state
end})
FarmingSection:toggle({type = "toggle", name = "Auto Farm Dumpsters", flag = "FarmDumpsters_TheBronx", default = false, callback = function(state)
Config.TheBronx.Farms.FarmTrash = state
end})
local ManualFarmSections = Column:section({name = "Manual Farms", size = 0.325, default = false, side = 'left', icon = GetImage("Pickkaxe.png")})
local LastCleanFilthyMoney = 0
ManualFarmSections:toggle({type = "toggle", name = "Auto Collect Dropped Cash", flag = "FarmDroppedMoney_TheBronx", default = false, callback = function(state)
Config.TheBronx.Farms.CollectDroppedMoney = state
end})
ManualFarmSections:toggle({type = "toggle", name = "Auto Collect Dropped Bags", flag = "FarmDroppedLoot_TheBronx", default = false, callback = function(state)
Config.TheBronx.Farms.CollectDroppedLoot = state
end})
ManualFarmSections:button({name = "Clean All Filthy Money", callback = LPH_NO_VIRTUALIZE(function()
local now = tick()
if LastCleanFilthyMoney > 0 and (now - LastCleanFilthyMoney) < 40 then
local remaining = math.max(0, math.floor(40 - (now - LastCleanFilthyMoney)))
return library.notifications:create_notification({
name = "Scorpio.Hub",
info = "Clean Filthy Money is on cooldown (" .. tostring(remaining) .. "s left)",
lifetime = 5
})
end
LastCleanFilthyMoney = now
if LocalPlayer.stored.FilthyStack.Value == 0 then
return library.notifications:create_notification({
name = "Scorpio.Hub",
info = "You have no fucking money poor fuck!",
lifetime = 7.5
})
end
if not LocalPlayer.Character or not LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then return end
if not LocalPlayer.Character:FindFirstChild("Humanoid") or LocalPlayer.Character:FindFirstChild("Humanoid").Health == 0 then return end
local Cleaner = GetGoodCleaner()
if not Cleaner then
return library.notifications:create_notification({
name = "Scorpio.Hub",
info = "Could not find a valid cleaner!",
lifetime = 7.5
})
end
Teleport(Cleaner.WorldPivot)
task.wait(0.4)
fireproximityprompt(Cleaner:FindFirstChild("CashPrompt", true))
repeat task.wait() until Cleaner:FindFirstChild("On", true).Color == Color3.fromRGB(74, 156, 69)
task.wait(0.5)
fireproximityprompt(Cleaner:FindFirstChild("CashPrompt", true))
task.wait(0.25)
Teleport(Cleaner.WorldPivot)
task.wait(0.4)
repeat task.wait() until LocalPlayer.Backpack:FindFirstChild("MoneyReady")
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack["MoneyReady"])
repeat task.wait(0.1) fireproximityprompt(Cleaner:FindFirstChild("GrabPrompt", true)) until not LocalPlayer.Character:FindFirstChild("MoneyReady")
repeat task.wait()
until LocalPlayer.Backpack:FindFirstChild("BagOfMoney")
Teleport(CFrame.new(-224.070892, 283.80954, -1200.51355, 0.898020029, -8.45030157e-10, -0.439954549, 1.71171859e-08, 1, 3.30182885e-08, 0.439954549, -3.718187e-08, 0.898020029))
task.wait(0.4)
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack["BagOfMoney"])
task.wait(1)
fireproximityprompt(Workspace.ATMMoney.Prompt)
end)})
local BankSettingsSection = Column:section({name = "Scorpio.Hub ATM 🏧", size = 0.225, default = false, side = 'left', Icon = GetImage("Cash.png")})
BankSettingsSection:button({name = "🏧ATM🏧", callback = function()
local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local atmbankamount = 0
local selectedBankAction = "Deposit"
local autoDepositEnabled = false
local autoWithdrawEnabled = false
local autoDropEnabled = false
local autoInterval = 0.1
local depositConnection = nil
local withdrawConnection = nil
local dropConnection = nil
-- Create a new ScreenGui for the ATM controls
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "ATMControls"
screenGui.ResetOnSpawn = false
screenGui.Parent = Players.LocalPlayer:WaitForChild("PlayerGui")
-- Create main frame
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 300, 0, 300)
mainFrame.Position = UDim2.new(0.5, -150, 0.5, -150)
mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Visible = true
Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 8)
mainFrame.Parent = screenGui
-- Title
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 40)
title.Position = UDim2.new(0, 0, 0, 0)
title.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
title.Text = "ATM Controls"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 20
Instance.new("UICorner", title).CornerRadius = UDim.new(0, 8)
title.Parent = mainFrame
-- Money amount input
local amountBox = Instance.new("TextBox")
amountBox.Size = UDim2.new(0.9, 0, 0, 35)
amountBox.Position = UDim2.new(0.05, 0, 0.15, 0)
amountBox.PlaceholderText = "Enter Money Amount"
amountBox.PlaceholderColor3 = Color3.fromRGB(150, 150, 150)
amountBox.Text = ""
amountBox.TextColor3 = Color3.fromRGB(255, 255, 255)
amountBox.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
amountBox.Font = Enum.Font.Gotham
amountBox.TextSize = 16
amountBox.ClearTextOnFocus = false
Instance.new("UICorner", amountBox).CornerRadius = UDim.new(0, 6)
amountBox.Parent = mainFrame
amountBox.FocusLost:Connect(function()
local amount = tonumber(amountBox.Text)
if amount then
atmbankamount = amount
end
end)
-- Bank action dropdown
local actionLabel = Instance.new("TextLabel")
actionLabel.Size = UDim2.new(0.9, 0, 0, 25)
actionLabel.Position = UDim2.new(0.05, 0, 0.28, 0)
actionLabel.Text = "Select Action:"
actionLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
actionLabel.BackgroundTransparency = 1
actionLabel.Font = Enum.Font.Gotham
actionLabel.TextSize = 16
actionLabel.TextXAlignment = Enum.TextXAlignment.Left
actionLabel.Parent = mainFrame
local dropdown = Instance.new("Frame")
dropdown.Size = UDim2.new(0.9, 0, 0, 35)
dropdown.Position = UDim2.new(0.05, 0, 0.33, 0)
dropdown.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
Instance.new("UICorner", dropdown).CornerRadius = UDim.new(0, 6)
dropdown.Parent = mainFrame
local dropdownButton = Instance.new("TextButton")
dropdownButton.Size = UDim2.new(1, 0, 1, 0)
dropdownButton.Text = "Deposit ▼"
dropdownButton.TextColor3 = Color3.fromRGB(255, 255, 255)
dropdownButton.BackgroundTransparency = 1
dropdownButton.Font = Enum.Font.Gotham
dropdownButton.TextSize = 16
dropdownButton.Parent = dropdown
-- Dropdown menu
local dropdownMenu = Instance.new("Frame")
dropdownMenu.Size = UDim2.new(1, 0, 0, 105)
dropdownMenu.Position = UDim2.new(0, 0, 1, 5)
dropdownMenu.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
dropdownMenu.Visible = false
dropdownMenu.ZIndex = 10
Instance.new("UICorner", dropdownMenu).CornerRadius = UDim.new(0, 6)
dropdownMenu.Parent = dropdown
local depositOption = Instance.new("TextButton")
depositOption.Size = UDim2.new(1, 0, 0, 35)
depositOption.Position = UDim2.new(0, 0, 0, 0)
depositOption.Text = "Deposit"
depositOption.TextColor3 = Color3.fromRGB(255, 255, 255)
depositOption.BackgroundColor3 = Color3.fromRGB(55, 55, 60)
depositOption.Font = Enum.Font.Gotham
depositOption.TextSize = 16
depositOption.ZIndex = 11
depositOption.Parent = dropdownMenu
local withdrawOption = Instance.new("TextButton")
withdrawOption.Size = UDim2.new(1, 0, 0, 35)
withdrawOption.Position = UDim2.new(0, 0, 0.33, 0)
withdrawOption.Text = "Withdraw"
withdrawOption.TextColor3 = Color3.fromRGB(255, 255, 255)
withdrawOption.BackgroundColor3 = Color3.fromRGB(55, 55, 60)
withdrawOption.Font = Enum.Font.Gotham
withdrawOption.TextSize = 16
withdrawOption.ZIndex = 11
withdrawOption.Parent = dropdownMenu
local dropOption = Instance.new("TextButton")
dropOption.Size = UDim2.new(1, 0, 0, 35)
dropOption.Position = UDim2.new(0, 0, 0.66, 0)
dropOption.Text = "Drop"
dropOption.TextColor3 = Color3.fromRGB(255, 255, 255)
dropOption.BackgroundColor3 = Color3.fromRGB(55, 55, 60)
dropOption.Font = Enum.Font.Gotham
dropOption.TextSize = 16
dropOption.ZIndex = 11
dropOption.Parent = dropdownMenu
dropdownButton.MouseButton1Click:Connect(function()
dropdownMenu.Visible = not dropdownMenu.Visible
end)
depositOption.MouseButton1Click:Connect(function()
selectedBankAction = "Deposit"
dropdownButton.Text = "Deposit ▼"
dropdownMenu.Visible = false
end)
withdrawOption.MouseButton1Click:Connect(function()
selectedBankAction = "Withdraw"
dropdownButton.Text = "Withdraw ▼"
dropdownMenu.Visible = false
end)
dropOption.MouseButton1Click:Connect(function()
selectedBankAction = "Drop"
dropdownButton.Text = "Drop ▼"
dropdownMenu.Visible = false
end)
-- Apply button
local applyButton = Instance.new("TextButton")
applyButton.Size = UDim2.new(0.9, 0, 0, 40)
applyButton.Position = UDim2.new(0.05, 0, 0.42, 0)
applyButton.Text = "Apply Selected Bank Action"
applyButton.TextColor3 = Color3.fromRGB(255, 255, 255)
applyButton.BackgroundColor3 = Color3.fromRGB(70, 130, 200)
applyButton.Font = Enum.Font.GothamBold
applyButton.TextSize = 16
Instance.new("UICorner", applyButton).CornerRadius = UDim.new(0, 6)
applyButton.Parent = mainFrame
applyButton.MouseButton1Click:Connect(function()
if atmbankamount <= 0 then
applyButton.Text = "Enter Amount First!"
task.wait(1)
applyButton.Text = "Apply Selected Bank Action"
return
end
local BankActionRemote = ReplicatedStorage:FindFirstChild("BankAction")
local DropRemote = ReplicatedStorage:FindFirstChild("BankProcessRemote")
if not BankActionRemote or not DropRemote then
applyButton.Text = "Remotes Not Found!"
task.wait(1)
applyButton.Text = "Apply Selected Bank Action"
return
end
if selectedBankAction == "Deposit" then
BankActionRemote:FireServer("depo", atmbankamount)
applyButton.Text = "Deposited $" .. atmbankamount
elseif selectedBankAction == "Withdraw" then
BankActionRemote:FireServer("with", atmbankamount)
applyButton.Text = "Withdrew $" .. atmbankamount
elseif selectedBankAction == "Drop" then
DropRemote:InvokeServer("Drop", atmbankamount)
applyButton.Text = "Dropped $" .. atmbankamount
end
task.wait(1)
applyButton.Text = "Apply Selected Bank Action"
end)
-- Auto toggles section
local autoLabel = Instance.new("TextLabel")
autoLabel.Size = UDim2.new(0.9, 0, 0, 25)
autoLabel.Position = UDim2.new(0.05, 0, 0.53, 0)
autoLabel.Text = "Auto Actions:"
autoLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
autoLabel.BackgroundTransparency = 1
autoLabel.Font = Enum.Font.GothamBold
autoLabel.TextSize = 16
autoLabel.TextXAlignment = Enum.TextXAlignment.Left
autoLabel.Parent = mainFrame
-- Auto Deposit toggle
local autoDepositFrame = Instance.new("Frame")
autoDepositFrame.Size = UDim2.new(0.9, 0, 0, 35)
autoDepositFrame.Position = UDim2.new(0.05, 0, 0.58, 0)
autoDepositFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
Instance.new("UICorner", autoDepositFrame).CornerRadius = UDim.new(0, 6)
autoDepositFrame.Parent = mainFrame
local autoDepositLabel = Instance.new("TextLabel")
autoDepositLabel.Size = UDim2.new(0.7, 0, 1, 0)
autoDepositLabel.Position = UDim2.new(0, 10, 0, 0)
autoDepositLabel.Text = "Auto Deposit"
autoDepositLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
autoDepositLabel.BackgroundTransparency = 1
autoDepositLabel.Font = Enum.Font.Gotham
autoDepositLabel.TextSize = 16
autoDepositLabel.TextXAlignment = Enum.TextXAlignment.Left
autoDepositLabel.Parent = autoDepositFrame
local autoDepositToggle = Instance.new("TextButton")
autoDepositToggle.Size = UDim2.new(0, 30, 0, 20)
autoDepositToggle.Position = UDim2.new(1, -40, 0.5, -10)
autoDepositToggle.Text = "OFF"
autoDepositToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
autoDepositToggle.BackgroundColor3 = Color3.fromRGB(200, 70, 70)
autoDepositToggle.Font = Enum.Font.GothamBold
autoDepositToggle.TextSize = 12
Instance.new("UICorner", autoDepositToggle).CornerRadius = UDim.new(0, 4)
autoDepositToggle.Parent = autoDepositFrame
autoDepositToggle.MouseButton1Click:Connect(function()
autoDepositEnabled = not autoDepositEnabled
if depositConnection then
depositConnection:Disconnect()
depositConnection = nil
end
if autoDepositEnabled and atmbankamount > 0 then
autoDepositToggle.Text = "ON"
autoDepositToggle.BackgroundColor3 = Color3.fromRGB(70, 200, 70)
depositConnection = RunService.Heartbeat:Connect(function()
local BankActionRemote = ReplicatedStorage:FindFirstChild("BankAction")
if BankActionRemote then
BankActionRemote:FireServer("depo", atmbankamount)
end
task.wait(autoInterval)
end)
else
autoDepositToggle.Text = "OFF"
autoDepositToggle.BackgroundColor3 = Color3.fromRGB(200, 70, 70)
end
end)
-- Auto Withdraw toggle
local autoWithdrawFrame = Instance.new("Frame")
autoWithdrawFrame.Size = UDim2.new(0.9, 0, 0, 35)
autoWithdrawFrame.Position = UDim2.new(0.05, 0, 0.66, 0)
autoWithdrawFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
Instance.new("UICorner", autoWithdrawFrame).CornerRadius = UDim.new(0, 6)
autoWithdrawFrame.Parent = mainFrame
local autoWithdrawLabel = Instance.new("TextLabel")
autoWithdrawLabel.Size = UDim2.new(0.7, 0, 1, 0)
autoWithdrawLabel.Position = UDim2.new(0, 10, 0, 0)
autoWithdrawLabel.Text = "Auto Withdraw"
autoWithdrawLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
autoWithdrawLabel.BackgroundTransparency = 1
autoWithdrawLabel.Font = Enum.Font.Gotham
autoWithdrawLabel.TextSize = 16
autoWithdrawLabel.TextXAlignment = Enum.TextXAlignment.Left
autoWithdrawLabel.Parent = autoWithdrawFrame
local autoWithdrawToggle = Instance.new("TextButton")
autoWithdrawToggle.Size = UDim2.new(0, 30, 0, 20)
autoWithdrawToggle.Position = UDim2.new(1, -40, 0.5, -10)
autoWithdrawToggle.Text = "OFF"
autoWithdrawToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
autoWithdrawToggle.BackgroundColor3 = Color3.fromRGB(200, 70, 70)
autoWithdrawToggle.Font = Enum.Font.GothamBold
autoWithdrawToggle.TextSize = 12
Instance.new("UICorner", autoWithdrawToggle).CornerRadius = UDim.new(0, 4)
autoWithdrawToggle.Parent = autoWithdrawFrame
autoWithdrawToggle.MouseButton1Click:Connect(function()
autoWithdrawEnabled = not autoWithdrawEnabled
if withdrawConnection then
withdrawConnection:Disconnect()
withdrawConnection = nil
end
if autoWithdrawEnabled and atmbankamount > 0 then
autoWithdrawToggle.Text = "ON"
autoWithdrawToggle.BackgroundColor3 = Color3.fromRGB(70, 200, 70)
withdrawConnection = RunService.Heartbeat:Connect(function()
local BankActionRemote = ReplicatedStorage:FindFirstChild("BankAction")
if BankActionRemote then
BankActionRemote:FireServer("with", atmbankamount)
end
task.wait(autoInterval)
end)
else
autoWithdrawToggle.Text = "OFF"
autoWithdrawToggle.BackgroundColor3 = Color3.fromRGB(200, 70, 70)
end
end)
-- Auto Drop toggle
local autoDropFrame = Instance.new("Frame")
autoDropFrame.Size = UDim2.new(0.9, 0, 0, 35)
autoDropFrame.Position = UDim2.new(0.05, 0, 0.74, 0)
autoDropFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
Instance.new("UICorner", autoDropFrame).CornerRadius = UDim.new(0, 6)
autoDropFrame.Parent = mainFrame
local autoDropLabel = Instance.new("TextLabel")
autoDropLabel.Size = UDim2.new(0.7, 0, 1, 0)
autoDropLabel.Position = UDim2.new(0, 10, 0, 0)
autoDropLabel.Text = "Auto Drop"
autoDropLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
autoDropLabel.BackgroundTransparency = 1
autoDropLabel.Font = Enum.Font.Gotham
autoDropLabel.TextSize = 16
autoDropLabel.TextXAlignment = Enum.TextXAlignment.Left
autoDropLabel.Parent = autoDropFrame
local autoDropToggle = Instance.new("TextButton")
autoDropToggle.Size = UDim2.new(0, 30, 0, 20)
autoDropToggle.Position = UDim2.new(1, -40, 0.5, -10)
autoDropToggle.Text = "OFF"
autoDropToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
autoDropToggle.BackgroundColor3 = Color3.fromRGB(200, 70, 70)
autoDropToggle.Font = Enum.Font.GothamBold
autoDropToggle.TextSize = 12
Instance.new("UICorner", autoDropToggle).CornerRadius = UDim.new(0, 4)
autoDropToggle.Parent = autoDropFrame
autoDropToggle.MouseButton1Click:Connect(function()
autoDropEnabled = not autoDropEnabled
if dropConnection then
dropConnection:Disconnect()
dropConnection = nil
end
if autoDropEnabled and atmbankamount > 0 then
autoDropToggle.Text = "ON"
autoDropToggle.BackgroundColor3 = Color3.fromRGB(70, 200, 70)
dropConnection = RunService.Heartbeat:Connect(function()
local DropRemote = ReplicatedStorage:FindFirstChild("BankProcessRemote")
if DropRemote then
DropRemote:InvokeServer("Drop", atmbankamount)
end
task.wait(autoInterval)
end)
else
autoDropToggle.Text = "OFF"
autoDropToggle.BackgroundColor3 = Color3.fromRGB(200, 70, 70)
end
end)
-- Close button
local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.new(0, 30, 0, 30)
closeButton.Position = UDim2.new(1, -35, 0, 5)
closeButton.Text = "X"
closeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
closeButton.BackgroundColor3 = Color3.fromRGB(200, 70, 70)
closeButton.Font = Enum.Font.GothamBold
closeButton.TextSize = 16
Instance.new("UICorner", closeButton).CornerRadius = UDim.new(0, 8)
closeButton.Parent = mainFrame
closeButton.MouseButton1Click:Connect(function()
screenGui:Destroy()
if depositConnection then depositConnection:Disconnect() end
if withdrawConnection then withdrawConnection:Disconnect() end
if dropConnection then dropConnection:Disconnect() end
end)
end})
Column = MiscTab:column({})
local DupingSection = Column:section({name = "Duping Section", size = 0.29, default = false, side = 'right', icon = GetImage("Node.png")})
local Cooldown = false;
DupingSection:button({name = "Duplicate Current Item", callback = function()
task.spawn(function()
if Cooldown then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Please wait!`,
lifetime = 5
})
return
end
Cooldown = true
local Player = Players.LocalPlayer
local Backpack = Player.Backpack
local Tool = Player.Character:FindFirstChildOfClass("Tool")
if not Tool then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Could not find a tool! you must hold one.`,
lifetime = 10
})
return
end
Player.Character.Humanoid:UnequipTools()
local ToolName = Tool.Name
local ToolId
local Connection = ReplicatedStorage.MarketItems.ChildAdded:Connect(
function(item)
if item.Name == ToolName then
if item:WaitForChild('owner').Value == Player.Name then
ToolId = item:GetAttribute('SpecialId')
end
end
end
)
spawn(function()
ReplicatedStorage.ListWeaponRemote:FireServer(ToolName, 99999)
end)
task.wait(.26)
spawn(function()
ReplicatedStorage.BackpackRemote:InvokeServer('Store', ToolName)
end)
task.wait(3)
spawn(function()
ReplicatedStorage.BuyItemRemote:FireServer(ToolName, 'Remove', ToolId)
end)
spawn(function()
ReplicatedStorage.BackpackRemote:InvokeServer("Grab", ToolName)
end)
Connection:Disconnect()
task.wait(1)
Cooldown = false
end)
end})
-- Toggle UI
DupingSection:toggle({
type = "toggle",
name = "Auto Dupe",
flag = "AutoDupe",
default = false,
callback = function(state)
Config.AutoDupe = state
if not state then return end
task.spawn(function()
local Player = game.Players.LocalPlayer
local ReplicatedStorage = game.ReplicatedStorage
local FirstTool = nil
repeat
task.wait(0.5)
FirstTool = Player.Character and Player.Character:FindFirstChildOfClass("Tool")
until FirstTool or not Config.AutoDupe
if Config.AutoDupe and not FirstTool then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = "No tool found in hand! Please equip one.",
lifetime = 5
})
return
end
if not FirstTool then return end
local ToolName = FirstTool.Name
library.notifications:create_notification({
name = "Scorpio.Hub",
info = "Auto Dupe started for: " .. ToolName,
lifetime = 5
})
while Config.AutoDupe do
if not Cooldown then
Cooldown = true
local ToolId
local Connection = ReplicatedStorage.MarketItems.ChildAdded:Connect(function(item)
if item and item.Name == ToolName then
local owner = item:WaitForChild("owner", 5)
if owner and owner.Value == Player.Name then
ToolId = item:GetAttribute("SpecialId")
end
end
end)
pcall(function()
if ReplicatedStorage:FindFirstChild("ListWeaponRemote") then
ReplicatedStorage.ListWeaponRemote:FireServer(ToolName, 999999)
end
end)
task.wait(.23)
pcall(function()
if ReplicatedStorage:FindFirstChild("BackpackRemote") then
ReplicatedStorage.BackpackRemote:InvokeServer("Store", ToolName)
end
end)
task.wait(2.6)
pcall(function()
if ReplicatedStorage:FindFirstChild("BuyItemRemote") then
ReplicatedStorage.BuyItemRemote:FireServer(ToolName, "Remove", ToolId)
end
end)
pcall(function()
if ReplicatedStorage:FindFirstChild("BackpackRemote") then
ReplicatedStorage.BackpackRemote:InvokeServer("Grab", ToolName)
end
end)
if Connection then
Connection:Disconnect()
end
Cooldown = false
end
task.wait(3.5)
end
library.notifications:create_notification({
name = "Scorpio.Hub",
info = "Auto Dupe stopped.",
lifetime = 5
})
end)
end
})
DupingSection:label({wrapped = true, name = "This might bug if you have more than 1 of the item you're duping!"})
local VulnerabilitySection = Column:section({name = "Vulnerability Section", size = 0.347, default = false, side = 'right', icon = GetImage("unlocked.png")})
local GetFruitCup = LPH_NO_VIRTUALIZE(function()
local Found, Cup = false, nil;
for Index, Value in next, {LocalPlayer.Backpack:GetChildren(), LocalPlayer.Character:GetChildren()} do
for _Index, _Value in Value do
if _Value:IsA("Tool") and _Value.Name == "Ice-Fruit Cupz" then
if _Value["IceFruit Cup"]["IceFruit PunchMedium"].Transparency ~= 1 then
Found = true
Cup = _Value
break
end
end
end
end
return Found, Cup
end)
VulnerabilitySection:button({name = "Scorpio.Hub inf money Auto", callback = function()
local Found, Cup = GetFruitCup()
if Cup and Found then
HideUI("generating illegal cash 💷\n please wait.")
local OLDCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame
if Cup.Parent == LocalPlayer.Backpack then
LocalPlayer.Character.Humanoid:EquipTool(Cup)
task.wait(1)
end
Teleport(Workspace["IceFruit Sell"].CFrame, true)
task.wait(.5)
for Index=1, 4000 do
task.spawn(function()
_fireproximityprompt(Workspace["IceFruit Sell"].ProximityPrompt)
end)
end
Teleport(OLDCFrame)
DeleteSecretUI()
return
end
local OLDCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame
local Itemz = {"FijiWater", "FreshWater", "Ice-Fruit Bag", "Ice-Fruit Cupz"}
local Stove;
for Index, Value in Workspace.CookingPots:GetChildren() do
if Value:IsA("Model") then
if Value:FindFirstChildWhichIsA("ProximityPrompt", true).ActionText == "Turn On" and Value:FindFirstChildWhichIsA("ProximityPrompt", true).Enabled then
Stove = Value
break
end
end
end
for Index, Value in Itemz do
if not LocalPlayer.Backpack:FindFirstChild(Value) then
ReplicatedStorage:WaitForChild("ExoticShopRemote"):InvokeServer(Value)
task.wait(1)
end
end
local Check = false;
for Index, Value in Itemz do
if not LocalPlayer.Backpack:FindFirstChild(Value) then
Check = true
end
end
if Check then
DeleteSecretUI()
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Could not find items! Please check you have more than 5000$.`,
lifetime = 10
})
return
end
DeleteSecretUI()
Teleport(Stove.CookPart.CFrame, true)
task.wait(1)
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
LocalPlayer.Character.HumanoidRootPart.Anchored = true
task.wait(1.5)
fireproximityprompt(Stove:FindFirstChildWhichIsA("ProximityPrompt", true))
task.wait(2)
for Index, Value in {"FijiWater", "FreshWater", "Ice-Fruit Bag"} do
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack[Value])
task.wait(1)
fireproximityprompt(Stove:FindFirstChildWhichIsA("ProximityPrompt", true))
task.wait(3)
end
repeat wait() until
Stove.CookPart.Steam.LoadUI.Enabled == false
if not LocalPlayer.Character:FindFirstChild("Ice-Fruit Cupz") then
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack['Ice-Fruit Cupz'])
task.wait(1)
end
task.wait(1)
fireproximityprompt(Stove:FindFirstChildWhichIsA("ProximityPrompt", true))
task.wait(3)
LocalPlayer.Character.HumanoidRootPart.Anchored = false
Teleport(Workspace["IceFruit Sell"].CFrame, true)
task.wait(1)
LocalPlayer.Character.HumanoidRootPart.Anchored = true
task.wait(1.5)
if not LocalPlayer.Character:FindFirstChild("Ice-Fruit Cupz") then
LocalPlayer.Character.Humanoid:EquipTool(LocalPlayer.Backpack['Ice-Fruit Cupz'])
task.wait(1)
end
Workspace["IceFruit Sell"].ProximityPrompt.HoldDuration = 0
for Index=1, 4000 do
task.spawn(function()
_fireproximityprompt(Workspace["IceFruit Sell"].ProximityPrompt)
end)
end
LocalPlayer.Character.HumanoidRootPart.Anchored = false
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, true)
task.wait(0.5)
Teleport(OLDCFrame, true)
task.wait(2)
pcall(DeleteSecretUI)
end})
VulnerabilitySection:label({wrapped = true, name = ". You will need around 5K to do this."})
local KillAuraSection = Column:section({name = "Kill Aura Section", size = 0.275, default = false, side = 'right', icon = GetImage("Bullet.png")})
KillAuraSection:toggle({name = "Enabled - Hold Gun", flag = "KillAura_Enabled_TB3", type = "toggle", default = false, callback = function(state)
Config.TheBronx.KillAura = state
end})
KillAuraSection:slider({name = "Kill Aura Range", flag = "KillAuraRange_TB3", min = 0, max = 1000, default = 300, suffix = "st", callback = function(state)
Config.TheBronx.KillAuraRange = state
end})
end
do -- \\ Purchase Guns
local PurchaseGunColumn = PurchaseGunTab:column({})
local WeaponListSection = PurchaseGunColumn:section({name = "Purchase Selected Item", side = "left", size = 1, icon = GetImage("Cash.png")})
WeaponListSection:list({flag = "PurchaseSelectedItem_TheBronx", options = Config.Guns, callback = function(state)
task.spawn(LPH_NO_VIRTUALIZE(function()
if not state then
return
end
Config.TheBronx.Selected_Item = state
local self = string.match(Config.TheBronx.Selected_Item, "^(.*) %-");
self = self:match("^%s*(.-)%s*$");
local OldCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame;
local Prompt = Workspace:FindFirstChild("GUNS")[self]:FindFirstChildWhichIsA("ProximityPrompt",true);
if (Workspace:FindFirstChild("GUNS")[self]:FindFirstChild("GamepassID", true) and not MarketplaceService:UserOwnsGamePassAsync(LocalPlayer.UserId, Workspace:FindFirstChild("GUNS")[self]:FindFirstChild("GamepassID",true).Value)) then
return library.notifications:create_notification({
name = "Scorpio.Hub",
info = `You do not own this gamepass!`,
lifetime = 5
})
end
--if Solara then Prompt.HoldDuration = 0; end
local Part = Prompt.Parent:IsA("Part") and Prompt.Parent.CFrame or Prompt.Parent:IsA("MeshPart") and Prompt.Parent.CFrame or Prompt.Parent:IsA("UnionOperation") and Prompt.Parent.CFrame;
if LocalPlayer.stored.Money.Value < Workspace:FindFirstChild("GUNS")[self]:FindFirstChild("Price",true).Value then
return library.notifications:create_notification({
name = "Scorpio.Hub",
info = `You are ${Workspace:FindFirstChild("GUNS")[self]:FindFirstChild("Price",true).Value - LocalPlayer.stored.Money.Value} short.`,
lifetime = 5
})
end;
task.spawn(Teleport, Part)
task.wait(0.4)
local ItemReceieved = false;
task.spawn(function()
local Check = LocalPlayer.Backpack.ChildAdded:Connect(function(Child)
if tostring(Child) == tostring(self) then
ItemReceieved = true
end
end)
task.spawn(function()
task.wait(1.5)
ItemReceieved = true
end)
repeat task.wait() until ItemReceieved == true
Check:Disconnect()
end)
repeat task.wait(); fireproximityprompt(Prompt); until ItemReceieved == true;
task.wait(0.4)
task.spawn(Teleport, OldCFrame)
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Successfully purchased {self}!`,
lifetime = 5
})
end))
end})
PurchaseGunColumn = PurchaseGunTab:column({})
local TeleportListSection = PurchaseGunColumn:section({name = "Teleport To Location", side = "right", size = 1, icon = GetImage("World.png")})
local List = {}
for Index, Value in Config.TheBronx.TeleportationList do
table.insert(List, Index)
end
table.sort(List)
TeleportListSection:list({flag = "TeleportToPlace_TheBronx", options = List, callback = function(state)
task.spawn(LPH_NO_VIRTUALIZE(function()
if not state then
return
end
Teleport(Config.TheBronx.TeleportationList[state])
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Successfully teleported to {state}!`,
lifetime = 5
})
end))
end})
end
end
end
end
if Game_Name == "South Bronx" then
window:seperator({name = "Game"}) do
local LocalPlayerTab, PlayersTab, PurchaseGunTab = window:tab({name = "Main", tabs = {"Local Player", "Players", "Teleports"}, icon = GetImage("World.png")}) do
do -- \\ Local Player
local LocalPlayerColumn = LocalPlayerTab:column({})
local LocalPlayerModsSection = LocalPlayerColumn:section({name = "Local Player Modifications", side = "left", size = 0.475})
local __Modifications = {
"Infinite Stamina";
"Instant Interact";
"Delete On Key";
"Hide Name";
"No Clip";
"Speed";
}
for _, Index in __Modifications do
LocalPlayerModsSection:toggle({type = "toggle", name = Index, flag = Index.."_SB", default = false, callback = Index ~= "No Clip" and LPH_NO_VIRTUALIZE(function(Value)
Index = string.gsub(Index, " ", "")
Config.South_Bronx.LocalPlayer_Config[Index] = Value
end) or function(Value)
if Value and not Solara then
RunService:BindToRenderStep("NOCLIP", 1, LPH_NO_VIRTUALIZE(function()
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
if LocalPlayer.Character.Humanoid.Health ~= 0 then
for Index, Value in LocalPlayer.Character:GetDescendants() do
if Collide_Data[Value.Name] then
pcall(function()
Value.CanCollide = false
end)
end
end
else
for Index, Value in LocalPlayer.Character:GetDescendants() do
if Collide_Data[Value.Name] then
pcall(function()
Value.CanCollide = true
end)
end
end
end
end
end))
else
RunService:UnbindFromRenderStep("NOCLIP")
for Index, Value in LocalPlayer.Character:GetDescendants() do
if Collide_Data[Value.Name] then
pcall(function()
Value.CanCollide = true
end)
end
end
end
end})
end
LocalPlayerModsSection = LocalPlayerColumn:section({name = "Modification Settings", side = "left", size = 0.275, icon = GetImage("Settings.png")})
LocalPlayerModsSection:slider({name = "WalkSpeed Value", flag = "WalkSpeedValue_SouthBronx", min = 0, max = 50, default = 25, suffix = "%", callback = function(state)
Config.South_Bronx.LocalPlayer_Config.SpeedValue = state/100
end})
LocalPlayerModsSection:keybind({name = "Delete + Click Key", flag = "DeleteOnKey_SouthBronx", key = Enum.KeyCode.LeftControl, mode = "Hold", callback = function(state)
Config.South_Bronx.LocalPlayer_Config.DeleteKey = library.flags["DeleteOnKey_SouthBronx"].key
end})
TeleportMethodSection = LocalPlayerColumn:section({name = "Teleportation Method", side = "left", size = 0.175, icon = GetImage("Wrench.png")})
TeleportMethodSection:dropdown({name = "Select Method", flag = "TeleportMethod_SB", width = 100, items = {"Dirt Bike", "Damage", "Tween"}, seperator = false, multi = false, default = "Damage", callback = function(state)
Config.South_Bronx.TeleportMethod = state
end})
LocalPlayerColumn = LocalPlayerTab:column({})
local VulnSection = LocalPlayerColumn:section({name = "Vulnerability Section", side = "right", size = 0.23 , icon = GetImage("unlocked.png")})
local _OwnedHotChips = LocalPlayer:GetAttribute("ExtraHotChipsMoneyEnabled")
local OwnedHotChips = _OwnedHotChips
local _Tiers = {
["TIER_1"] = LocalPlayer:GetAttribute("TIER_1");
["TIER_2"] = LocalPlayer:GetAttribute("TIER_2");
["TIER_3"] = LocalPlayer:GetAttribute("TIER_3");
}
local Tiers = {
["TIER_1"] = LocalPlayer:GetAttribute("TIER_1");
["TIER_2"] = LocalPlayer:GetAttribute("TIER_2");
["TIER_3"] = LocalPlayer:GetAttribute("TIER_3");
}
local _ScriptLoaded = false;
VulnSection:toggle({name = "Free Tier 1, 2 and 3", default = false, flag = "Free_Tiers", type = 'toggle', callback = function(state)
if not _ScriptLoaded then return end
for Index, Value in Tiers do
if _Tiers[Index] then continue end
local Arguments = {
[1] = "UpdateSettingAttribute",
[2] = {
["Attribute"] = Index,
["Enabled"] = Tiers[Index]
}
}
FireServer(ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("ClientEffects"), table.unpack(Arguments))
Tiers[Index] = not Tiers[Index]
end
end})
VulnSection:toggle({name = "Free Extra Hot Chips Cash", default = false, flag = "Free_Chips", type = 'toggle', callback = function(state)
if not _ScriptLoaded then return end
local Arguments = {
[1] = "UpdateSettingAttribute",
[2] = {
["Attribute"] = "ExtraHotChipsMoneyEnabled",
["Enabled"] = OwnedHotChips
}
}
FireServer(ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("ClientEffects"), table.unpack(Arguments))
OwnedHotChips = not OwnedHotChips
end})
local FarmSection = LocalPlayerColumn:section({name = "Auto Farming Section", side = "right", size = 0.54, icon = GetImage("Wheatt.png")})
FarmSection:toggle({name = "Auto-Farm Cards", default = false, flag = "Card_Auto_Farm", type = "toggle", callback = function(state)
task.spawn(function() if not _ScriptLoaded then return end
if Config.South_Bronx.OwnedBike == "Unknown" then
local Bike = Find_Bike()
if Bike == nil then
ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("Dealershipinteraction"):FireServer("Spawn", "DirtBike")
task.wait(1)
Bike = Find_Bike()
task.wait(1)
if Bike == nil then Config.South_Bronx.OwnedBike = "No" else Config.South_Bronx.OwnedBike = "Yes" end
else
Config.South_Bronx.OwnedBike = "Yes"
end
task.wait(0.5)
end
Config.South_Bronx.FarmingUtilities.CardFarm = state
if state then Start_CardFarm() else Stop_CardFarm() end
end)
end})
FarmSection:toggle({name = "Auto-Farm Boxes", default = false, flag = "Box_Auto_Farm", type = "toggle", callback = function(state)
if not _ScriptLoaded then return end
Config.South_Bronx.FarmingUtilities.BoxFarm = state
if state then Start_BoxFarm() else Stop_BoxFarm() end
end})
FarmSection:toggle({name = "Auto-Farm Chips", default = false, flag = "Chip_Auto_Farm", type = "toggle", callback = function(state)
task.spawn(function() if not _ScriptLoaded then return end
if Config.South_Bronx.OwnedBike == "Unknown" then
local Bike = Find_Bike()
if Bike == nil then
ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("Dealershipinteraction"):FireServer("Spawn", "DirtBike")
task.wait(1)
Bike = Find_Bike()
task.wait(1)
if Bike == nil then Config.South_Bronx.OwnedBike = "No" else Config.South_Bronx.OwnedBike = "Yes" end
else
Config.South_Bronx.OwnedBike = "Yes"
end
task.wait(0.5)
end
Config.South_Bronx.FarmingUtilities.ChipFarm = state
if state then Start_ChipFarm() else Stop_ChipFarm() end
end)
end})
FarmSection:toggle({name = "Auto-Farm Marshmallows", default = false, flag = "Marshmallow_Auto_Farm", type = "toggle", callback = function(state)
task.spawn(function() if not _ScriptLoaded then return end
if Config.South_Bronx.OwnedBike == "Unknown" then
local Bike = Find_Bike()
if Bike == nil then
ReplicatedStorage:WaitForChild("RemoteEvents"):WaitForChild("Dealershipinteraction"):FireServer("Spawn", "DirtBike")
task.wait(1)
Bike = Find_Bike()
task.wait(1)
if Bike == nil then Config.South_Bronx.OwnedBike = "No" else Config.South_Bronx.OwnedBike = "Yes" end
else
Config.South_Bronx.OwnedBike = "Yes"
end
task.wait(0.5)
end
Config.South_Bronx.FarmingUtilities.MarshmallowFarm = state
if state then Start_MarshmallowFarm() else Stop_MarshmallowFarm() end
end)
end})
local _MarshMallowDropdown;
_MarshMallowDropdown = FarmSection:slider({name = "Marshmallow Amount - $950", flag = "Marshmallow_Amount", min = 1, max = 50, default = 5, suffix = "", callback = function(state)
Config.South_Bronx.FarmingUtilities.MarshmallowIncrement = state
if _MarshMallowDropdown then
_MarshMallowDropdown.changetext(string.format("Marshmallow Amount - $%s", (state * 190)))
end
end})
FarmSection:label({wrapped = true, name = "You must own a house with pots to use the marshmallow farm!"})
local DupeSection = LocalPlayerColumn:section({name = "Duplication Section", side = "right", size = 0.2, icon = "rbxassetid://139628202576511"})
DupeSection:button({name = "Duplication Vulnerability", callback = function()
FireServer(ReplicatedStorage.RemoteEvents.PurchaseItem, 'Shoes', 'YZ Slides', '\255')
end})
_ScriptLoaded = true
end
do -- \\ Teleports
local Location_Names = {"Dirty Hobo 💩"; "Active ATM 🏧"}
for Index, Value in Config.South_Bronx.Locations do
table.insert(Location_Names, Index)
end
table.sort(Location_Names)
local PurchaseGunColumn = PurchaseGunTab:column({})
local WeaponListSection = PurchaseGunColumn:section({name = "Purchase Selected Item", side = "left", size = 1, icon = GetImage("Cash.png")})
WeaponListSection:list({flag = "PurchaseSelectedItem_SouthBronx", options = Config.South_Bronx.Guns, callback = function(v)
task.spawn(LPH_NO_VIRTUALIZE(function()
if not v then return end
Config.South_Bronx.Selected_Item = tostring(v)
local self = string.match(Config.South_Bronx.Selected_Item, "^(.*) %-");
local DidntBuy = false
local suc, err = pcall(function()
self = self:match("^%s*(.-)%s*$");
local PromptCFrame = GunPosition[self];
local OldCFrame = LocalPlayer.Character.HumanoidRootPart.CFrame
task.spawn(function()
ItemReceieved = false;
local Check = LocalPlayer.Backpack.ChildAdded:Connect(function(Child)
if tostring(Child) == tostring(self) then
ItemReceieved = true
end
end)
task.spawn(function()
task.wait(10)
ItemReceieved = true
end)
repeat RunService.RenderStepped:Wait() until ItemReceieved == true
Check:Disconnect()
end)
local Teleport_Status = Teleport(PromptCFrame)
if Teleport_Status == "Failed" then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Failed to purchase {self}!`,
lifetime = 7.5
})
DidntBuy = true
return
end
repeat RunService.RenderStepped:Wait() until LocalPlayer.Character.Humanoid.SeatPart == nil
for Index = 1, Config.South_Bronx.Item_Amount do
fireproximityprompt(Workspace:FindFirstChild("PromptPurchases")[self].proxprompt:FindFirstChildOfClass("ProximityPrompt"))
end
repeat RunService.RenderStepped:Wait() until ItemReceieved == true
repeat RunService.RenderStepped:Wait() until Teleport_Status == "Success"
task.wait(1.5)
Teleport(OldCFrame)
end)
if not LocalPlayer.Backpack:FindFirstChild(self) and not LocalPlayer.Character:FindFirstChild(self) then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Failed to purchase {self}!`,
lifetime = 7.5
})
return
end
if not DidntBuy then
if suc then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Successfully purchased {self}!`,
lifetime = 5
})
else
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Failed to purchase item {self} . error : {err}`,
lifetime = 15
})
end
end
end))
end})
PurchaseGunColumn = PurchaseGunTab:column({})
local TeleportListSection = PurchaseGunColumn:section({name = "Teleport To Location", side = "right", size = 1, icon = GetImage("World.png")})
local Location_Names = {"Dirty Hobo 💩"; "Active ATM 🏧"}
for Index, Value in Config.South_Bronx.Locations do
table.insert(Location_Names, Index)
end
table.sort(Location_Names, function(...)
return select(1, ...) < select(2, ...)
end)
local TP_Debounce = false
TeleportListSection:list({flag = "TeleportToPlace_SouthBronx", options = Location_Names, callback = function(state)
task.spawn(LPH_NO_VIRTUALIZE(function()
if not state then
return
end
if TP_Debounce then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Please wait!`,
lifetime = 5
})
return
end
Config.South_Bronx.Selected_Location = state
local _Position = CFrame.new(0,0,0)
TP_Debounce = true
local suc, error = pcall(function()
if Config.South_Bronx.Selected_Location ~= "Dirty Hobo 💩" and Config.South_Bronx.Selected_Location ~= "Active ATM 🏧" then
_Position = Config.South_Bronx.Locations[Config.South_Bronx.Selected_Location]
Teleport(Config.South_Bronx.Locations[Config.South_Bronx.Selected_Location])
elseif Config.South_Bronx.Selected_Location == "Dirty Hobo 💩" then
if Workspace.Folders.HomelessPeople:FindFirstChild("RightLowerLeg", true) then
local _Hobo = Workspace.Folders.HomelessPeople:FindFirstChild("RightLowerLeg", true).CFrame
_Position = _Hobo
Teleport(_Hobo)
else
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Failed to locate dirty hobo crackhead!`,
lifetime = 5
})
end
elseif Config.South_Bronx.Selected_Location == "Active ATM 🏧" then
local ATMPositions = {
ATM1 = CFrame.new(-30, 4, -300);
ATM2 = CFrame.new(539, 4, -353);
ATM3 = CFrame.new(497, 4, 403);
ATM4 = CFrame.new(236, 4, -158);
ATM5 = CFrame.new(525, -8, -92);
ATM6 = CFrame.new(-450, 4, 370);
ATM7 = CFrame.new(-266, 4, -209);
ATM8 = CFrame.new(-11, 4, 231);
ATM9 = CFrame.new(717, 4, 410);
ATM10 = CFrame.new(-532, 3, -21);
ATM11 = CFrame.new(-646, 4, 155);
ATM12 = CFrame.new(698, 3, -241);
ATM13 = CFrame.new(-315, 4, 142);
ATM14 = CFrame.new(-378, 4, -365);
ATM15 = CFrame.new(360, 4, -364);
ATM16 = CFrame.new(870, 3, -346);
ATM17 = CFrame.new(904, 3, -99);
ATM18 = CFrame.new(1095, 3, 178);
ATM19 = CFrame.new(1054, 4, 585);
ATM20 = CFrame.new(895, 4, 142);
ATM21 = CFrame.new(1021, 3, -229);
};
local ATM;
for Index, Value in Workspace.Map.ATMS:GetChildren() do
if Value.ATMScreen.Transparency == 0 then
ATM = Value
break
end
end
_Position = ATMPositions[tostring(ATM)]
Teleport(ATMPositions[tostring(ATM)])
end
end)
TP_Debounce = false
if (LocalPlayer.Character.HumanoidRootPart.Position - _Position.Position).Magnitude > 20 then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Failed teleported to {state}!`,
lifetime = 7.5
})
return
end
if suc then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Successfully teleported to {state}!`,
lifetime = 5
})
else
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Teleportation to {state}. error : {err}`,
lifetime = 15
})
end
end))
end})
end
do -- \\ Player Tab
local Column = PlayersTab:column({})
local PlayerListSection = Column:section({name = "Select Player", size = 1, default = false, side = 'left' --[[3 people icon]]})
local PlayerList = PlayerListSection:list({flag = "SelectPlayer_SouthBronx", options = {}, callback = function(state)
Config.South_Bronx.PlayerUtilities.SelectedPlayer = tostring(state)
end})
local RefreshPlayers = LPH_NO_VIRTUALIZE(function()
local Cache = {}
for i, Player in Players:GetPlayers() do
if Player == LocalPlayer then continue end
table.insert(Cache, Player.Name)
end
table.sort(Cache)
PlayerList.refresh_options(Cache)
end)
task.spawn(RefreshPlayers)
Players.PlayerAdded:Connect(RefreshPlayers)
Players.PlayerRemoving:Connect(RefreshPlayers)
Column = PlayersTab:column({})
local PlayerOptionsSection = Column:section({name = "Player Options", size = 1, default = false, side = 'right', icon = GetImage("Wrench.png")})
PlayerOptionsSection:toggle({type = "toggle", name = "Spectate Player", flag = "SpectatePlayer_SouthBronx", default = false, callback = function(state)
Config.South_Bronx.PlayerUtilities.SpectatePlayer = state
end})
PlayerOptionsSection:toggle({type = "toggle", name = "Bring Player", flag = "BringPlayer_SouthBronx", default = false, callback = function(state)
Config.South_Bronx.PlayerUtilities.BringingPlayer = state
end})
PlayerOptionsSection:button({name = "Teleport To Player", callback = function()
task.spawn(function()
if not Config.South_Bronx.PlayerUtilities.SelectedPlayer then return end
local Success, Error = pcall(function()
Teleport(Players[Config.South_Bronx.PlayerUtilities.SelectedPlayer].Character.HumanoidRootPart.CFrame)
end)
if (LocalPlayer.Character.HumanoidRootPart.Position - Players[Config.South_Bronx.PlayerUtilities.SelectedPlayer].Character.HumanoidRootPart.Position).Magnitude > 20 then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Failed to teleport to {Config.South_Bronx.PlayerUtilities.SelectedPlayer}!`,
lifetime = 7.5
})
return
end
if Success then
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Successfully teleported to {Config.South_Bronx.PlayerUtilities.SelectedPlayer}!`,
lifetime = 7.5
})
else
library.notifications:create_notification({
name = "Scorpio.Hub",
info = `Failed to teleport to {Config.South_Bronx.PlayerUtilities.SelectedPlayer}. Error : {Error}`,
lifetime = 10
})
end
end)
end})
PlayerOptionsSection:button({name = "Get Into Players Car", callback = function()
pcall(SitInPlayersVehicle, Players[Config.South_Bronx.PlayerUtilities.SelectedPlayer])
end})
end
end
end
end
if Game_Name == "BlockSpin" then
window:seperator({name = "Game"}) do
local LocalPlayerTab, PlayersTab, PurchaseGunTab, MiscTab = window:tab({name = "Main", tabs = {"Local Player"}, icon = GetImage("World.png")}) do
local LocalPlayerColumn = LocalPlayerTab:column({})
local LocalPlayerModsSection = LocalPlayerColumn:section({name = "Local Player Modifications", side = "left", size = 0.475})
local FarmingSection = LocalPlayerColumn:section({name = "Auto-Farming Utilities", side = "left", size = 0.475, icon = GetImage("Wheatt.png")})
local _ScriptLoaded = false
FarmingSection:dropdown({name = "Mope Type", flag = "MopType_BlockSpin", width = 120, items = {"Default", "Silver", "Gold", "Diamond"}, seperator = false, multi = false, default = 'Default', callback = function(state)
Config.BlockSpin.AutoFarming.MopType = state
end})
FarmingSection:toggle({name = "Auto-Farm Mop Job", flag = "JanitorFarm_BlockSpin", type = "toggle", callback = function(state)
if not _ScriptLoaded then return end
Config.BlockSpin.AutoFarming.FarmMops = state
task.spawn(function()
if Config.BlockSpin.AutoFarming.FarmMops then
Start_MopFarm()
else
Stop_MopFarm()
end
end)
end})
_ScriptLoaded = true
end
end
end
window:seperator({name = "Combat"}) do
local SilentAimTab, GunModsTab = window:tab({name = "Silent Aim", tabs = {"General Settings", "Gun Mods"}, icon = GetImage("Pistol.png")})
-- Gun Mods Tab Content
do
local GunModsColumn = GunModsTab:column({})
local GunModsSection = GunModsColumn:section({name = "Gun Mods", side = "left", size = 0.999, icon = GetImage("Pistol.png")})
-- Variables for gun customization
local rainbowHue = 0
local rainbowConnection = nil
local currentGunColor = Color3.fromRGB(0, 255, 255) -- Default cyan
local currentMaterial = "ForceField"
local isRainbowMode = false
local autoColorEnabled = false
local originalGunData = {}
-- Tracer variables
local tracerEnabled = false
local tracerColor = Color3.fromRGB(255, 0, 0) -- Default red
local tracerRainbowMode = false
local tracerRainbowHue = 0
local tracerLength = 0.3
local tracerWidth = 0.3
local tracerTransparency = 0.3
local tracerDistance = 500
-- Function to stop all color cycles
local function stopAllCycles()
if rainbowConnection then
rainbowConnection:Disconnect()
rainbowConnection = nil
end
end
-- ========== BULLET TRACERS SECTION ==========
GunModsSection:label({name = "🎯 BULLET TRACERS 🎯", wrapped = true})
GunModsSection:label({name = "Creates tracers when you click", wrapped = true})
-- Simple tracer creation function
local function createFakeTracer()
if not tracerEnabled then return end
local player = game.Players.LocalPlayer
local character = player.Character
if not character then return end
local camera = workspace.CurrentCamera
if not camera then return end
-- Get gun position
local startPos = camera.CFrame.Position + (camera.CFrame.LookVector * 2)
-- Try to find gun handle for better position
local tool = character:FindFirstChildOfClass("Tool")
if tool then
local handle = tool:FindFirstChild("Handle") or tool:FindFirstChildWhichIsA("Part")
if handle then
startPos = handle.Position
end
end
-- Calculate end position
local endPos = camera.CFrame.Position + (camera.CFrame.LookVector * tracerDistance)
-- Create tracer beam
local tracer = Instance.new("Part")
tracer.Name = "BulletTracer"
tracer.Anchored = true
tracer.CanCollide = false
tracer.Material = Enum.Material.Neon
-- Calculate distance and position
local distance = (startPos - endPos).Magnitude
tracer.Size = Vector3.new(tracerWidth, tracerWidth, distance)
tracer.CFrame = CFrame.lookAt(startPos, endPos) * CFrame.new(0, 0, -distance/2)
-- Set color
if tracerRainbowMode then
tracerRainbowHue = (tracerRainbowHue + 0.1) % 1
tracer.Color = Color3.fromHSV(tracerRainbowHue, 1, 1)
else
tracer.Color = tracerColor
end
tracer.Transparency = tracerTransparency
tracer.Parent = workspace
-- Add glow
local light = Instance.new("PointLight")
light.Brightness = 5
light.Range = 8
light.Color = tracer.Color
light.Parent = tracer
-- Clean up
game:GetService("Debris"):AddItem(tracer, tracerLength)
end
-- Main tracer toggle
local tracerToggle = GunModsSection:toggle({
type = "toggle",
name = "Enable Bullet Tracers",
flag = "Tracer_Enabled",
default = false,
info = "Shows tracers when you click",
callback = function(state)
tracerEnabled = state
if state then
-- Connect to mouse click
local player = game.Players.LocalPlayer
local mouse = player:GetMouse()
-- Store connection
if not originalGunData["_mouse"] then
originalGunData["_mouse"] = {}
end
originalGunData["_mouse"].clickConnection = mouse.Button1Down:Connect(function()
createFakeTracer()
end)
library.notifications:create_notification({
name = "Fake Tracers",
info = "Tracers enabled! Click to see them",
lifetime = 2
})
else
-- Disconnect
if originalGunData["_mouse"] and originalGunData["_mouse"].clickConnection then
originalGunData["_mouse"].clickConnection:Disconnect()
originalGunData["_mouse"].clickConnection = nil
end
-- Clean up tracers
for _, v in pairs(workspace:GetChildren()) do
if v.Name == "FakeBulletTracer" then
v:Destroy()
end
end
library.notifications:create_notification({
name = "Fake Tracers",
info = "Tracers disabled",
lifetime = 2
})
end
end
})
-- Tracer color picker
GunModsSection:colorpicker({
name = "Tracer Color",
flag = "Tracer_Color",
color = tracerColor,
callback = function(color, alpha)
tracerColor = color
tracerRainbowMode = false
if library.flags["Tracer_Rainbow"] then
library.flags["Tracer_Rainbow"] = false
end
end
})
-- Tracer rainbow toggle
GunModsSection:toggle({
type = "toggle",
name = "🌈 Rainbow Tracers",
flag = "Tracer_Rainbow",
default = false,
info = "Rainbow colored tracers",
callback = function(state)
tracerRainbowMode = state
end
})
-- Tracer length slider
GunModsSection:slider({
name = "Tracer Duration",
flag = "Tracer_Length",
min = 0.1,
max = 2.0,
decimal = 1,
default = 0.3,
suffix = "s",
info = "How long tracers last",
callback = function(value)
tracerLength = value
end
})
-- Tracer width slider
GunModsSection:slider({
name = "Tracer Width",
flag = "Tracer_Width",
min = 0.1,
max = 1.0,
decimal = 1,
default = 0.3,
suffix = "studs",
info = "Thickness of tracers",
callback = function(value)
tracerWidth = value
end
})
-- Tracer distance slider
GunModsSection:slider({
name = "Tracer Distance",
flag = "Tracer_Distance",
min = 100,
max = 2000,
default = 500,
suffix = "studs",
info = "How far tracers go",
callback = function(value)
tracerDistance = value
end
})
-- Tracer transparency slider
GunModsSection:slider({
name = "Tracer Transparency",
flag = "Tracer_Transparency",
min = 0,
max = 1,
decimal = 1,
default = 0.3,
info = "How see-through tracers are",
callback = function(value)
tracerTransparency = value
end
})
-- Test button
GunModsSection:button({
name = "🎯 Test Tracer",
callback = function()
if tracerEnabled then
createFakeTracer()
else
library.notifications:create_notification({
name = "Fake Tracers",
info = "Enable tracers first!",
lifetime = 2
})
end
end
})
-- ========== MANUAL COLOR CONTROLS ==========
GunModsSection:label({name = "🎮 MANUAL COLOR CONTROLS 🎮", wrapped = true})
-- RGB sliders for manual color control
local redValue = 0
local greenValue = 255
local blueValue = 255
GunModsSection:slider({
name = "Red",
flag = "Manual_Red",
min = 0,
max = 255,
default = 0,
info = "Adjust red value",
callback = function(value)
redValue = value
if not isRainbowMode and not autoColorEnabled then
currentGunColor = Color3.fromRGB(redValue, greenValue, blueValue)
if library.flags["GunCustomization_Toggle"] then
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
part.Color = currentGunColor
end
end
end
end
end
end
end
})
GunModsSection:slider({
name = "Green",
flag = "Manual_Green",
min = 0,
max = 255,
default = 255,
info = "Adjust green value",
callback = function(value)
greenValue = value
if not isRainbowMode and not autoColorEnabled then
currentGunColor = Color3.fromRGB(redValue, greenValue, blueValue)
if library.flags["GunCustomization_Toggle"] then
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
part.Color = currentGunColor
end
end
end
end
end
end
end
})
GunModsSection:slider({
name = "Blue",
flag = "Manual_Blue",
min = 0,
max = 255,
default = 255,
info = "Adjust blue value",
callback = function(value)
blueValue = value
if not isRainbowMode and not autoColorEnabled then
currentGunColor = Color3.fromRGB(redValue, greenValue, blueValue)
if library.flags["GunCustomization_Toggle"] then
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
part.Color = currentGunColor
end
end
end
end
end
end
end
})
-- Random color button
GunModsSection:button({
name = "🎲 Random Color",
callback = function()
local r = math.random(0, 255)
local g = math.random(0, 255)
local b = math.random(0, 255)
currentGunColor = Color3.fromRGB(r, g, b)
isRainbowMode = false
autoColorEnabled = false
-- Update flags
if library.flags["GunRainbow_Toggle"] then
library.flags["GunRainbow_Toggle"] = false
end
-- Update RGB sliders
if library.flags["Manual_Red"] then
library.flags["Manual_Red"] = r
end
if library.flags["Manual_Green"] then
library.flags["Manual_Green"] = g
end
if library.flags["Manual_Blue"] then
library.flags["Manual_Blue"] = b
end
-- Update existing guns
if library.flags["GunCustomization_Toggle"] then
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
part.Color = currentGunColor
end
end
end
end
-- Stop all cycles
stopAllCycles()
end
end
})
-- Main gun customization toggle
local gunModToggle = GunModsSection:toggle({
type = "toggle",
name = "Enable Gun Customization",
flag = "GunCustomization_Toggle",
default = false,
info = "Apply custom colors/materials to your gun",
callback = function(state)
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local function applyEffect(tool)
if not tool then return end
-- Store original properties if not already saved
if not originalGunData[tool] then
originalGunData[tool] = {}
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
originalGunData[tool][part] = {
Color = part.Color,
Material = part.Material
}
end
end
end
-- Apply current settings
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
part.Material = Enum.Material[currentMaterial]
if not isRainbowMode then
part.Color = currentGunColor
end
end
end
end
local function revertEffect(tool)
if originalGunData[tool] then
for part, data in pairs(originalGunData[tool]) do
if part and part.Parent then
pcall(function()
part.Color = data.Color
part.Material = data.Material
end)
end
end
originalGunData[tool] = nil
end
end
if state then
-- Apply to current tool
local tool = character:FindFirstChildOfClass("Tool")
if tool then
applyEffect(tool)
end
-- Detect new tools
character.ChildAdded:Connect(function(child)
if child:IsA("Tool") then
applyEffect(child)
end
end)
-- Start rainbow cycle if enabled
if isRainbowMode and not rainbowConnection then
rainbowConnection = game:GetService("RunService").Heartbeat:Connect(function()
rainbowHue = (rainbowHue + 0.005) % 1
local rainbowColor = Color3.fromHSV(rainbowHue, 1, 1)
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
part.Color = rainbowColor
end
end
end
end
end)
end
else
-- Revert all tools
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
revertEffect(tool)
end
end
-- Stop rainbow cycle
if rainbowConnection then
rainbowConnection:Disconnect()
rainbowConnection = nil
end
end
end
})
-- Color picker for custom color
GunModsSection:colorpicker({
name = "Custom Gun Color",
flag = "GunColor_Picker",
color = currentGunColor,
callback = function(color, alpha)
currentGunColor = color
isRainbowMode = false
-- Update existing guns if customization is enabled
if library.flags["GunCustomization_Toggle"] then
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
part.Color = color
end
end
end
end
-- Stop rainbow if it was running
if rainbowConnection then
rainbowConnection:Disconnect()
rainbowConnection = nil
end
end
end
})
-- Rainbow mode toggle
GunModsSection:toggle({
type = "toggle",
name = "🌈 Rainbow Mode",
flag = "GunRainbow_Toggle",
default = false,
info = "Automatically cycle through colors",
callback = function(state)
isRainbowMode = state
if state and library.flags["GunCustomization_Toggle"] then
-- Start rainbow cycle
if not rainbowConnection then
rainbowConnection = game:GetService("RunService").Heartbeat:Connect(function()
rainbowHue = (rainbowHue + 0.005) % 1
local rainbowColor = Color3.fromHSV(rainbowHue, 1, 1)
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
part.Color = rainbowColor
end
end
end
end
end)
end
else
-- Stop rainbow and revert to selected color
if rainbowConnection then
rainbowConnection:Disconnect()
rainbowConnection = nil
end
if library.flags["GunCustomization_Toggle"] then
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
part.Color = currentGunColor
end
end
end
end
end
end
end
})
-- Rainbow speed slider
local rainbowSpeedSlider = GunModsSection:slider({
name = "🌈 Rainbow Speed",
flag = "GunRainbow_Speed",
min = 1,
max = 20,
default = 10,
suffix = "x",
info = "Adjust rainbow cycling speed",
callback = function(value)
-- This will be used when restarting rainbow mode
if rainbowConnection then
rainbowConnection:Disconnect()
rainbowConnection = game:GetService("RunService").Heartbeat:Connect(function()
rainbowHue = (rainbowHue + (value / 2000)) % 1
local rainbowColor = Color3.fromHSV(rainbowHue, 1, 1)
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
part.Color = rainbowColor
end
end
end
end
end)
end
end
})
-- Material dropdown
GunModsSection:dropdown({
name = "Gun Material",
flag = "GunMaterial",
width = 120,
items = {
"ForceField",
"Neon",
"Metal",
"Glass",
"Plastic",
"Wood",
"SmoothPlastic",
"Fabric",
"Ice",
"Marble",
"Granite",
"Concrete",
"CorrodedMetal",
"DiamondPlate",
"Sand"
},
default = "ForceField",
info = "Choose material effect",
callback = function(selected)
currentMaterial = selected
-- Update existing guns if customization is enabled
if library.flags["GunCustomization_Toggle"] then
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
pcall(function()
part.Material = Enum.Material[selected]
end)
end
end
end
end
end
end
})
-- Glow effect toggle with manual and automatic color changing
local glowRainbowHue = 0
local glowRainbowConnection = nil
local glowManualColor = Color3.fromRGB(255, 255, 255) -- Default white
local glowAutoMode = false -- false = manual, true = automatic rainbow
local glowBrightness = 5
local glowRange = 10
-- Function to update glow colors
local function updateGlowColors()
if not library.flags["GunGlow_Toggle"] then return end
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
-- Find existing lights or create new ones
local light = part:FindFirstChildWhichIsA("PointLight") or part:FindFirstChildWhichIsA("SurfaceLight")
if not light then
light = Instance.new("PointLight")
light.Parent = part
end
-- Set color based on mode
if glowAutoMode then
-- Rainbow mode is handled by the heartbeat connection
else
light.Color = glowManualColor
end
light.Brightness = glowBrightness
light.Range = glowRange
end
end
end
end
end
-- Start/stop rainbow glow cycle
local function startGlowRainbow()
if glowRainbowConnection then
glowRainbowConnection:Disconnect()
end
glowRainbowConnection = game:GetService("RunService").Heartbeat:Connect(function()
if not library.flags["GunGlow_Toggle"] or not glowAutoMode then
return
end
glowRainbowHue = (glowRainbowHue + 0.005) % 1
local rainbowColor = Color3.fromHSV(glowRainbowHue, 1, 1)
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
local light = part:FindFirstChildWhichIsA("PointLight") or part:FindFirstChildWhichIsA("SurfaceLight")
if light then
light.Color = rainbowColor
end
end
end
end
end
end)
end
local function stopGlowRainbow()
if glowRainbowConnection then
glowRainbowConnection:Disconnect()
glowRainbowConnection = nil
end
end
-- Main glow toggle
GunModsSection:toggle({
type = "toggle",
name = "✨ Glow Effect",
flag = "GunGlow_Toggle",
default = false,
info = "Add glowing effect to gun (Neon material recommended)",
callback = function(state)
if state then
-- Enable glow
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
-- Create point light
local light = Instance.new("PointLight")
light.Brightness = glowBrightness
light.Range = glowRange
if glowAutoMode then
light.Color = Color3.fromHSV(glowRainbowHue, 1, 1)
else
light.Color = glowManualColor
end
light.Parent = part
end
end
end
end
-- Start rainbow if in auto mode
if glowAutoMode then
startGlowRainbow()
end
library.notifications:create_notification({
name = "Glow Effect",
info = glowAutoMode and "Rainbow glow enabled!" or "Glow enabled!",
lifetime = 2
})
else
-- Disable glow - remove all lights
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
for _, light in ipairs(part:GetChildren()) do
if light:IsA("PointLight") or light:IsA("SurfaceLight") then
light:Destroy()
end
end
end
end
end
end
-- Stop rainbow cycle
stopGlowRainbow()
library.notifications:create_notification({
name = "Glow Effect",
info = "Glow disabled",
lifetime = 2
})
end
end
})
-- Manual color picker for glow
GunModsSection:colorpicker({
name = "🎨 Glow Color (Manual)",
flag = "Glow_ManualColor",
color = glowManualColor,
info = "Choose glow color (disables auto mode)",
callback = function(color, alpha)
glowManualColor = color
glowAutoMode = false
-- Stop rainbow if running
stopGlowRainbow()
-- Update existing glow if enabled
if library.flags["GunGlow_Toggle"] then
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
local light = part:FindFirstChildWhichIsA("PointLight") or part:FindFirstChildWhichIsA("SurfaceLight")
if light then
light.Color = color
end
end
end
end
end
end
-- Update flag
if library.flags["Glow_AutoMode"] then
library.flags["Glow_AutoMode"] = false
end
end
})
-- Auto/Rainbow mode toggle
GunModsSection:toggle({
type = "toggle",
name = "🌈 Auto Rainbow Glow",
flag = "Glow_AutoMode",
default = false,
info = "Automatically cycle glow colors",
callback = function(state)
glowAutoMode = state
if state then
-- Start rainbow cycle
startGlowRainbow()
library.notifications:create_notification({
name = "Glow Effect",
info = "Rainbow mode enabled!",
lifetime = 2
})
else
-- Stop rainbow and revert to manual color
stopGlowRainbow()
if library.flags["GunGlow_Toggle"] then
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
local light = part:FindFirstChildWhichIsA("PointLight") or part:FindFirstChildWhichIsA("SurfaceLight")
if light then
light.Color = glowManualColor
end
end
end
end
end
end
library.notifications:create_notification({
name = "Glow Effect",
info = "Manual mode enabled",
lifetime = 2
})
end
end
})
-- Rainbow speed slider
GunModsSection:slider({
name = "🌈 Rainbow Speed",
flag = "Glow_RainbowSpeed",
min = 1,
max = 20,
default = 10,
suffix = "x",
info = "Adjust rainbow cycling speed",
callback = function(value)
-- Restart rainbow with new speed if active
if glowAutoMode and library.flags["GunGlow_Toggle"] then
stopGlowRainbow()
startGlowRainbow()
end
end
})
-- Glow brightness slider
GunModsSection:slider({
name = "💡 Glow Brightness",
flag = "Glow_Brightness",
min = 1,
max = 20,
default = 5,
info = "Adjust glow brightness",
callback = function(value)
glowBrightness = value
if library.flags["GunGlow_Toggle"] then
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
local light = part:FindFirstChildWhichIsA("PointLight") or part:FindFirstChildWhichIsA("SurfaceLight")
if light then
light.Brightness = value
end
end
end
end
end
end
end
})
-- Glow range slider
GunModsSection:slider({
name = "📏 Glow Range",
flag = "Glow_Range",
min = 5,
max = 30,
default = 10,
info = "How far the glow reaches",
callback = function(value)
glowRange = value
if library.flags["GunGlow_Toggle"] then
for tool, _ in pairs(originalGunData) do
if tool and tool.Parent then
for _, part in ipairs(tool:GetDescendants()) do
if part:IsA("BasePart") then
local light = part:FindFirstChildWhichIsA("PointLight") or part:FindFirstChildWhichIsA("SurfaceLight")
if light then
light.Range = value
end
end
end
end
end
end
end
})
-- Quick color presets
GunModsSection:label({name = "🎨 Quick Color Presets", wrapped = true})
-- Preset buttons row
local glowPresets = {
{"Red", Color3.fromRGB(255, 0, 0)},
{"Blue", Color3.fromRGB(0, 0, 255)},
{"Green", Color3.fromRGB(0, 255, 0)},
{"Yellow", Color3.fromRGB(255, 255, 0)},
{"Purple", Color3.fromRGB(255, 0, 255)},
{"Cyan", Color3.fromRGB(0, 255, 255)},
{"White", Color3.fromRGB(255, 255, 255)},
{"Orange", Color3.fromRGB(255, 165, 0)}
}
-- Create preset buttons in rows of 2
for i = 1, #glowPresets, 2 do
local preset1 = glowPresets[i]
local preset2 = glowPresets[i+1]
if preset2 then
-- Two presets in one row
GunModsSection:button({
name = preset1[1] .. " / " .. preset2[1],
callback = function()
-- This would need a custom layout for two separate buttons
-- For now, we'll just use the first one
glowManualColor = preset1[2]
glowAutoMode = false
if library.flags["Glow_AutoMode"] then
library.flags["Glow_AutoMode"] = false
end
if library.flags["GunGlow_Toggle"] then
updateGlowColors()
end
library.notifications:create_notification({
name = "Glow Effect",
info = "Color set to " .. preset1[1],
lifetime = 1
})
end
})
else
-- Single preset
GunModsSection:button({
name = preset1[1],
callback = function()
glowManualColor = preset1[2]
glowAutoMode = false
if library.flags["Glow_AutoMode"] then
library.flags["Glow_AutoMode"] = false
end
if library.flags["GunGlow_Toggle"] then
updateGlowColors()
end
library.notifications:create_notification({
name = "Glow Effect",
info = "Color set to " .. preset1[1],
lifetime = 1
})
end
})
end
end
-- Reset button
GunModsSection:button({
name = "🔄 Reset All Gun Mods",
callback = function()
-- Turn off all toggles
if library.flags["GunCustomization_Toggle"] then
gunModToggle.set(false)
end
if library.flags["GunRainbow_Toggle"] then
library.flags["GunRainbow_Toggle"] = false
end
if library.flags["GunGlow_Toggle"] then
library.flags["GunGlow_Toggle"] = false
end
if library.flags["Tracer_Enabled"] then
tracerToggle.set(false)
end
-- Clear all stored data
originalGunData = {}
-- Stop all cycles
stopAllCycles()
-- Reset RGB values to default cyan
redValue = 0
greenValue = 255
blueValue = 255
if library.flags["Manual_Red"] then
library.flags["Manual_Red"] = 0
end
if library.flags["Manual_Green"] then
library.flags["Manual_Green"] = 255
end
if library.flags["Manual_Blue"] then
library.flags["Manual_Blue"] = 255
end
-- Clean up tracers
for _, v in pairs(workspace:GetChildren()) do
if v.Name == "FakeBulletTracer" then
v:Destroy()
end
end
library.notifications:create_notification({
name = "Gun Customization",
info = "All gun modifications reset!",
lifetime = 3
})
end
})
local SilentAimColumn = SilentAimTab:column({})
local GeneralSection = SilentAimColumn:section({name = "General", side = "left", size = 0.23, icon = GetImage("UZI.png")})
GeneralSection:toggle({type = "toggle", name = "Enabled", flag = "SilentAim_Enabled", default = false, callback = function(state)
Config.Silent.Enabled = state
end})
GeneralSection:keybind({name = "Keybind", flag = "SilentAim_Bind", mode = "Always", callback = function(state)
Config.Silent.Targetting = state
end})
local SettingsSection = SilentAimColumn:section({name = "Settings", side = "left", size = 0.455, icon = GetImage("Settings.png")})
SettingsSection:toggle({name = "Visible Check", flag = "SilentAim_Wallcheck", type = "toggle", default = false, callback = function(state)
Config.Silent.WallCheck = state
end})
local BodyParts = {}
local RigType = "R15"
if LocalPlayer.Character then
RigType = LocalPlayer.Character:WaitForChild("Humanoid").RigType.Name
else
LocalPlayer.CharacterAdded:Wait()
RigType = LocalPlayer.Character:WaitForChild("Humanoid").RigType.Name
end
BodyParts = (RigType == "R6") and {
"Head",
"Torso",
"Left Arm",
"Right Arm",
"Left Leg",
"Right Leg",
"HumanoidRootPart"
} or (RigType == "R15") and {
"Head",
"UpperTorso",
"LowerTorso",
"LeftUpperArm",
"LeftLowerArm",
"RightUpperArm",
"RightLowerArm",
"LeftUpperLeg",
"LeftLowerLeg",
"RightUpperLeg",
"RightLowerLeg",
"HumanoidRootPart"
} or {}
SettingsSection:dropdown({name = "Target Parts", flag = "Silent_TargetPart", width = 110, items = BodyParts, seperator = false, multi = true, default = {'Head'}, callback = function(state)
table.clear(Config.Silent.TargetPart)
for Index, Value in state do
table.insert(Config.Silent.TargetPart, Value)
end
end})
SettingsSection:slider({name = "Max Distance", flag = "MaxDistance_Silent", min = 0, max = (Game_Name == "South Bronx") and 300 or 3000, default = (Game_Name == "South Bronx") and 300 or 1000, suffix = "st", callback = function(state)
Config.Silent.MaxDistance = state
end})
SettingsSection:slider({name = "Hit Chance", flag = "SilentAim_HitChance", min = 0, max = 100, default = 100, suffix = "%", callback = function(state)
Config.Silent.HitChance = state
end})
local BulletSettingsSection = SilentAimColumn:section({name = "Bullet Settings", side = "left", size = 0.18, icon = GetImage("Bullet.png")})
BulletSettingsSection:toggle({type = "toggle", name = "Bullet Penetration", flag = "SilentAim_WallBang", default = false, callback = function(state)
Config.Silent.WallBang = state
end})
SilentAimColumn = SilentAimTab:column({})
local FieldOfViewSection = SilentAimColumn:section({name = "Field Of View", side = "right", size = 0.23, icon = GetImage("FieldOfView2.png")})
FieldOfViewSection:toggle({type = "toggle", name = "Enabled", flag = "SilentAim_Usefov", default = false, callback = function(state)
Config.Silent.UseFieldOfView = state
end})
FieldOfViewSection:toggle({type = "toggle", name = "Draw Circle", flag = "SilentAim_DrawCircle", default = false, callback = function(state)
Config.Silent.DrawFieldOfView = state
end}):colorpicker({flag = "SilentAim_FOVColor", default = Color3.new(1,1,1), alpha = 0.25, callback = function(state, alpha)
Config.Silent.FieldOfViewColor = state
Config.Silent.FieldOfViewTransparency = 1 - alpha
end})
local FieldOfViewSettingsSection = SilentAimColumn:section({name = "Field Of View Settings", side = "right", size = 0.3, icon = GetImage("Settings.png")})
FieldOfViewSettingsSection:slider({name = "Radius", flag = "SilentAim_Radius", min = 0, max = 1000, default = 100, suffix = "°", callback = function(state)
Config.Silent.Radius = state
end})
FieldOfViewSettingsSection:slider({name = "Sides", flag = "SilentAim_Sides", min = 3, max = 100, default = 25, suffix = "°", callback = function(state)
Config.Silent.Sides = state
end})
local SnaplineSection = SilentAimColumn:section({name = "Snapline", side = "right", size = 0.275, icon = GetImage("Snapline.png")})
SnaplineSection:toggle({type = "toggle", name = "Enabled", flag = "SilentAim_Snapline", default = false, callback = function(state)
Config.Silent.Snapline = state
end}):colorpicker({flag = "SilentAim_SnaplineColor", default = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
Config.Silent.SnaplineColor = state
end})
SnaplineSection:slider({name = "Snapline Thickness", flag = "SilentAim_SnaplineThickness", min = 1, max = 5, default = 1, callback = function(state)
Config.Silent.SnaplineThickness = state
end})
end
local AimlockTab = window:tab({name = "Aimlock", tabs = {"General Settings"}, icon = GetImage("Aimlock.png")}) do
local AimlockAimColumn = AimlockTab:column({})
local GeneralSection = AimlockAimColumn:section({name = "General", side = "left", size = 0.23, icon = GetImage("UZI.png")})
GeneralSection:toggle({type = "toggle", name = "Enabled", flag = "AimlockAim_Enabled", default = false, callback = function(state)
Config.Aimlock.Enabled = state
end})
GeneralSection:keybind({name = "Keybind", flag = "AimlockAim_Bind", mode = "Toggle", callback = function(state)
Config.Aimlock.Aiming = state
TargetTable[1] = nil
end})
local SettingsSection = AimlockAimColumn:section({name = "Settings", side = "left", size = 0.51, icon = GetImage("Settings.png")})
SettingsSection:toggle({name = "Visible Check", flag = "AimlockAim_Wallcheck", type = "toggle", default = false, callback = function(state)
Config.Aimlock.WallCheck = state
end})
local BodyParts = {}
local RigType = "R15"
if LocalPlayer.Character then
RigType = LocalPlayer.Character:WaitForChild("Humanoid").RigType.Name
else
LocalPlayer.CharacterAdded:Wait()
RigType = LocalPlayer.Character:WaitForChild("Humanoid").RigType.Name
end
BodyParts = (RigType == "R6") and {
"Head",
"Torso",
"Left Arm",
"Right Arm",
"Left Leg",
"Right Leg",
"HumanoidRootPart"
} or (RigType == "R15") and {
"Head",
"UpperTorso",
"LowerTorso",
"LeftUpperArm",
"LeftLowerArm",
"RightUpperArm",
"RightLowerArm",
"LeftUpperLeg",
"LeftLowerLeg",
"RightUpperLeg",
"RightLowerLeg",
"HumanoidRootPart"
} or {}
SettingsSection:dropdown({name = "Aimlock Type", flag = "Aimlock_AimType", width = 110, items = {'Camera', 'Mouse'}, seperator = false, multi = false, default = 'Mouse', callback = function(state)
Config.Aimlock.Type = state
end})
SettingsSection:dropdown({name = "Target Parts", flag = "Aimlock_TargetPart", width = 110, items = BodyParts, seperator = false, multi = false, default = 'Head', callback = function(state)
Config.Aimlock.TargetPart = state
end})
SettingsSection:slider({name = "Max Distance", flag = "MaxDistance_Aimlock", min = 0, max = 3000, default = ((Game_Name == "South Bronx") and 300 or 1000), suffix = "st", callback = function(state)
Config.Aimlock.MaxDistance = state
end})
SettingsSection:slider({name = "Smoothness", flag = "MaxDistance_Smoothness", min = 0, max = 100, default = 10, suffix = "%", callback = function(state)
Config.Aimlock.Smoothness = state/10
end})
AimlockAimColumn = AimlockTab:column({})
local FieldOfViewSection = AimlockAimColumn:section({name = "Field Of View", side = "right", size = 0.23, icon = GetImage("FieldOfView2.png")})
FieldOfViewSection:toggle({type = "toggle", name = "Enabled", flag = "AimlockAim_Usefov", default = false, callback = function(state)
Config.Aimlock.UseFieldOfView = state
end})
FieldOfViewSection:toggle({type = "toggle", name = "Draw Circle", flag = "AimlockAim_DrawCircle", default = false, callback = function(state)
Config.Aimlock.DrawFieldOfView = state
end}):colorpicker({flag = "AimlockAim_FOVColor", default = Color3.new(1,1,1), alpha = 0.25, callback = function(state, alpha)
Config.Aimlock.FieldOfViewColor = state
Config.Aimlock.FieldOfViewTransparency = 1 - alpha
end})
local FieldOfViewSettingsSection = AimlockAimColumn:section({name = "Field Of View Settings", side = "right", size = 0.3, icon = GetImage("Settings.png")})
FieldOfViewSettingsSection:slider({name = "Radius", flag = "AimlockAim_Radius", min = 0, max = 1000, default = 100, suffix = "°", callback = function(state)
Config.Aimlock.Radius = state
end})
FieldOfViewSettingsSection:slider({name = "Sides", flag = "AimlockAim_Sides", min = 3, max = 100, default = 25, suffix = "°", callback = function(state)
Config.Aimlock.Sides = state
end})
local SnaplineSection = AimlockAimColumn:section({name = "Snapline", side = "right", size = 0.275, icon = GetImage("Snapline.png")})
SnaplineSection:toggle({type = "toggle", name = "Enabled", flag = "AimlockAim_Snapline", default = false, callback = function(state)
Config.Aimlock.Snapline = state
end}):colorpicker({flag = "AimlockAim_SnaplineColor", default = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
Config.Aimlock.SnaplineColor = state
end})
SnaplineSection:slider({name = "Snapline Thickness", flag = "AimlockAim_SnaplineThickness", min = 1, max = 5, default = 1, callback = function(state)
Config.Aimlock.SnaplineThickness = state
end})
end
if Game_Name == "The Bronx" and not Solara then
local WeaponModTab, MiscModTab = window:tab({name = "Modifications", tabs = {"Weapon Modifications", "Hitbox Modifications"}, icon = GetImage("Wrench.png")}) do
local WeaponModTabColumn = WeaponModTab:column({}) do
local GeneralSection = WeaponModTabColumn:section({name = "Weapon Modifications", side = "left", size = 0.5, icon = GetImage("Pistol.png")})
local Modifications = {
"Infinite Ammo";
"Infinite Clips";
"Infinite Damage";
"Fully Automatic";
"Disable Jamming";
"Modify Recoil Value";
"Modify Spread Value";
"Modify Reload Speed";
"Modify Equip Speed";
"Modify Fire Rate";
}
for _, Index in Modifications do
GeneralSection:toggle({name = Index, flag = Index.."_TB3", type = "toggle", default = false, callback = function(state)
if Index == "Fully Automatic" then Index = "Automatic" end
Config.TheBronx.Modifications[Index:gsub(" ", "")] = state
end})
end
GeneralSection = WeaponModTabColumn:section({name = "Weapon Modifications", side = "left", size = 0.5, icon = GetImage("Settings.png")})
GeneralSection:slider({name = "Recoil Percentage", flag = "RecoilValue_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
Config.TheBronx.Modifications.RecoilPercentage = state
end})
GeneralSection:slider({name = "Spread Percentage", flag = "SpreadValue_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
Config.TheBronx.Modifications.SpreadPercentage = state
end})
GeneralSection:slider({name = "Fire Rate Percentage", flag = "FireRateSpeed_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
Config.TheBronx.Modifications.FireRateSpeed = state
end})
GeneralSection:slider({name = "Reload Speed Percentage", flag = "ReloadSpeed_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
Config.TheBronx.Modifications.ReloadSpeed = state
end})
GeneralSection:slider({name = "Equip Speed Percentage", flag = "EquipSpeed_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
Config.TheBronx.Modifications.EquipSpeed = state
end})
end
local MiscTabColumn = MiscModTab:column({}) do
local GeneralSection = MiscTabColumn:section({name = "Hitbox Modifications", side = "left", size = 0.4})
GeneralSection:toggle({name = 'Enabled', flag = 'HitboxesEnabled', type = 'toggle', default = false, callback = function(state)
Config.MiscSettings.Hitbox_Expander.Enabled = state
end}):colorpicker({flag = 'HitboxesColor', color = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
Config.MiscSettings.Hitbox_Expander.Color = state
Config.MiscSettings.Hitbox_Expander.Transparency = alpha
end})
GeneralSection:slider({name = "Hitbox Multiplier", flag = "HitBox_Multiplier", min = 1, max = 20, default = 10, callback = function(state)
Config.MiscSettings.Hitbox_Expander.Multiplier = state
end})
GeneralSection:dropdown({name = "Hitbox Part", flag = "HitBoxPart", items = {"Head", "Torso"}, default = "Torso", multi = false, callback = function(value)
Config.MiscSettings.Hitbox_Expander.Part = (value == "Head") and "Head" or "HumanoidRootPart"
end})
GeneralSection:dropdown({name = "Hitbox Material", flag = "HitBoxMaterial", items = {
"SmoothPlastic", "Wood", "Slate", "Concrete", "CorrodedMetal",
"Neon", "Grass", "Fabric", "DiamondPlate", "Sandstone",
"Ice", "Marble", "Granite", "Pebble", "Metal",
"Glass", "Plastic", "ForceField"
}, default = "ForceField", multi = false, callback = function(value)
Config.MiscSettings.Hitbox_Expander.Material = value
end})
end
end
end
if Game_Name == "South Bronx" and not Solara then
local WeaponModTab = window:tab({name = "Modifications", tabs = {"Weapon Modifications"}, icon = GetImage("Wrench.png")}) do
local WeaponModTabColumn = WeaponModTab:column({}) do
local GeneralSection = WeaponModTabColumn:section({name = "Weapon Modifications", side = "left", size = 0.5, icon = GetImage("Pistol.png")})
local Modifications = {
"Infinite Ammo";
"Instant Kill";
"Fully Automatic";
"Disable Jamming";
"Modify Recoil Value";
"Modify Spread Value";
"Modify Reload Speed";
"Modify Equip Speed";
"Modify Fire Rate";
}
for _, Index in Modifications do
GeneralSection:toggle({name = Index, flag = Index.."_TB3", type = "toggle", default = false, callback = function(state)
if Index == "Fully Automatic" then Index = "Automatic" end
Config.South_Bronx.Modifications[Index:gsub(" ", "")] = state
end})
end
GeneralSection = WeaponModTabColumn:section({name = "Weapon Modifications", side = "left", size = 0.5, icon = GetImage("Settings.png")})
GeneralSection:slider({name = "Recoil Percentage", flag = "RecoilValue_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
Config.South_Bronx.Modifications.RecoilPercentage = state
end})
GeneralSection:slider({name = "Spread Percentage", flag = "SpreadValue_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
Config.South_Bronx.Modifications.SpreadPercentage = state
end})
GeneralSection:slider({name = "Fire Rate Percentage", flag = "FireRateSpeed_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
Config.South_Bronx.Modifications.FireRateSpeed = state
end})
GeneralSection:slider({name = "Reload Speed Percentage", flag = "ReloadSpeed_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
Config.South_Bronx.Modifications.ReloadSpeed = state
end})
GeneralSection:slider({name = "Equip Speed Percentage", flag = "EquipSpeed_TB3", default = 50, min = 0, max = 100, suffix = "%", callback = function(state)
Config.South_Bronx.Modifications.EquipSpeed = state
end})
end
end
end
end
window:seperator({name = "World"}) do
local VisualsTab = window:tab({name = "Visuals", tabs = {"Players"}, icon = GetImage("ESP.png")})
local VisualsColum = VisualsTab:column({})
local PlayerVisualsSection = VisualsColum:section({name = "Player Visuals", side = "left", size = 0.725})
PlayerVisualsSection:toggle({name = "Enabled", flag = "PlayerVisuals_Enabled", type = "toggle", callback = function(state)
Config.ESP.Enabled = state
RefreshAllElements()
end})
PlayerVisualsSection:toggle({name = "Bounding Boxes", flag = "PlayerVisuals_BoundingBoxes", type = "toggle", callback = function(state)
Config.ESP.Drawing.Boxes.Bounding.Enabled = state
RefreshAllElements()
end}):colorpicker({flag = "PlayerVisuals_BoundingBoxes_Color", color = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
Config.ESP.Drawing.Boxes.Bounding.RGB = state
Config.ESP.Drawing.Boxes.Bounding.Transparency = alpha
RefreshAllElements()
end})
PlayerVisualsSection:toggle({name = "Corner Boxes", flag = "PlayerVisuals_CornerBoxes", type = "toggle", callback = function(state)
Config.ESP.Drawing.Boxes.Corner.Enabled = state
RefreshAllElements()
end}):colorpicker({flag = "PlayerVisuals_CornerBoxes_Color", color = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
Config.ESP.Drawing.Boxes.Corner.RGB = state
Config.ESP.Drawing.Boxes.Corner.Transparency = alpha
RefreshAllElements()
end})
local _FilledBoxes = PlayerVisualsSection:toggle({name = "Filled Boxes", flag = "PlayerVisuals_FilledBoxes", type = "toggle", callback = function(state)
Config.ESP.Drawing.Boxes.Filled.Enabled = state
RefreshAllElements()
end})
_FilledBoxes:colorpicker({flag = "PlayerVisuals_FilledBoxes_Color1", color = Color3.fromRGB(119, 120, 255), alpha = 0.25, callback = function(state, alpha)
Config.ESP.Drawing.Boxes.GradientFillRGB1 = state
Config.ESP.Drawing.Boxes.Filled.Transparency = alpha
RefreshAllElements()
end})
_FilledBoxes:colorpicker({flag = "PlayerVisuals_FilledBoxes_Color2", color = Color3.fromRGB(0, 0, 0), alpha = 1, callback = function(state, alpha)
Config.ESP.Drawing.Boxes.GradientFillRGB2 = state
RefreshAllElements()
end})
PlayerVisualsSection:toggle({name = "Names", flag = "PlayerVisuals_Names", type = "toggle", callback = function(state)
Config.ESP.Drawing.Names.Enabled = state
RefreshAllElements()
end}):colorpicker({flag = "PlayerVisuals_Names_Color", color = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
Config.ESP.Drawing.Names.RGB = state
RefreshAllElements()
Config.ESP.Drawing.Names.Transparency = alpha
RefreshAllElements()
end})
local HealthBar_Toggle = PlayerVisualsSection:toggle({name = "Health Bars", flag = "PlayerVisuals_HealthBars", type = "toggle", callback = function(state)
Config.ESP.Drawing.Healthbar.Enabled = state
RefreshAllElements()
end})
HealthBar_Toggle:colorpicker({flag = "PlayerVisuals_HealthBar_High_Color", color = Color3.new(0, 1, 0), alpha = 1, callback = function(state, alpha)
Config.ESP.Drawing.Healthbar.GradientRGB2 = state
RefreshAllElements()
end})
HealthBar_Toggle:colorpicker({flag = "PlayerVisuals_HealthBar_Low_Color", color = Color3.new(1, 0, 0), alpha = 1, callback = function(state, alpha)
Config.ESP.Drawing.Healthbar.GradientRGB1 = state
RefreshAllElements()
end})
PlayerVisualsSection:toggle({name = "Health Text", flag = "PlayerVisuals_HealthText", type = "toggle", callback = function(state)
Config.ESP.Drawing.Healthbar.HealthText = state
RefreshAllElements()
end})
PlayerVisualsSection:toggle({name = "Weapons", flag = "PlayerVisuals_Weapons", type = "toggle", callback = function(state)
Config.ESP.Drawing.Weapons.Enabled = state
RefreshAllElements()
end}):colorpicker({flag = "PlayerVisuals_Weapons_Color", color = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
Config.ESP.Drawing.Weapons.WeaponTextRGB = state
Config.ESP.Drawing.Weapons.Transparency = alpha
RefreshAllElements()
end})
PlayerVisualsSection:toggle({name = "Distance", flag = "PlayerVisuals_Distance", type = "toggle", callback = function(state)
Config.ESP.Drawing.Distances.Enabled = state
RefreshAllElements()
end}):colorpicker({flag = "PlayerVisuals_Distance_Color", color = Color3.new(1,1,1), alpha = 1, callback = function(state, alpha)
Config.ESP.Drawing.Distances.RGB = state
Config.ESP.Drawing.Distances.Transparency = alpha
RefreshAllElements()
end})
local _ChamsToggle = PlayerVisualsSection:toggle({name = "Chams", flag = "PlayerVisuals_Chams", type = "toggle", callback = function(state)
Config.ESP.Drawing.Chams.Enabled = state
RefreshAllElements()
end})
_ChamsToggle:colorpicker({flag = "PlayerVisuals_Chams_Color1", color = Color3.fromRGB(119, 120, 255), alpha = 0.8, callback = function(state, alpha)
Config.ESP.Drawing.Chams.FillRGB = state
Config.ESP.Drawing.Distances.Fill_Transparency = alpha*100
RefreshAllElements()
end})
_ChamsToggle:colorpicker({flag = "PlayerVisuals_Chams_Color2", color = Color3.new(0,0,0), alpha = 1, callback = function(state, alpha)
Config.ESP.Drawing.Chams.OutlineRGB = state
Config.ESP.Drawing.Distances.Outline_Transparency = alpha*100
RefreshAllElements()
end})
VisualsColum = VisualsTab:column({})
local PlayerVisualsSettingsSection = VisualsColum:section({name = "Player Visual Settings", side = "left", size = 0.7, icon = GetImage("Settings.png")})
PlayerVisualsSettingsSection:toggle({name = "Animated Boxes", flag = "Visuals_AnimatedBox", default = false, type = "toggle", callback = function(state)
Config.ESP.Drawing.Boxes.Animate = state
RefreshAllElements()
end})
PlayerVisualsSettingsSection:toggle({name = "Dynamic Health Text", flag = "Visuals_HealthTextLerp", default = true, type = "toggle", callback = function(state)
Config.ESP.Drawing.Healthbar.Lerp = state
RefreshAllElements()
end})
PlayerVisualsSettingsSection:toggle({name = "Gradient Health Bar", flag = "Visuals_HealthBarGradient", default = true, type = "toggle", callback = function(state)
Config.ESP.Drawing.Healthbar.Gradient = state
RefreshAllElements()
end})
PlayerVisualsSettingsSection:toggle({name = "Thermal Chams", flag = "Visuals_ChamsThermal", default = false, type = "toggle", seperator = true, callback = function(state)
Config.ESP.Drawing.Chams.Thermal = state
RefreshAllElements()
end})
PlayerVisualsSettingsSection:dropdown({name = "Text Font", flag = "Visuals_TextFont", width = 130,
items = {
"Arcade",
"BuilderSans",
"Code",
"Pixel",
"Plex",
"Fantasy",
"FredokaOne",
"Gotham",
"GothamBlack",
"Minecraftia",
"Jura",
"Roboto",
"RobotoMono",
"SourceSans",
"Verdana"
}, multi = false, default = "Plex", callback = function(state)
Config.ESP.Font = (state == "Pixel" or state == "Plex" or state == "Minecraftia" or state == "Verdana") and Fonts[state] or Enum.Font[state]
RefreshAllElements()
end
})
PlayerVisualsSettingsSection:slider({name = "Text Size", flag = "TextSize_Visuals", min = 10, max = 18, default = 12, callback = function(state)
Config.ESP.FontSize = state
RefreshAllElements()
end})
PlayerVisualsSettingsSection:slider({name = "Max Render Distance", flag = "MaxRenderDistance_Visuals", min = 10, max = 5000, default = 1000, suffix = "st", callback = function(state)
Config.ESP.MaxDistance = state
end})
end
library:init_config(window)
if Game_Name == "South Bronx" then
local DupeTab = window:tab({name = "Duplication", tabs = {"General"}, icon = GetImage("Cash.png")}) do
local DupeColumn = DupeTab:column({})
local DuplicationSection = DupeColumn:section({name = "Automatic Duplication", side = "left", size = 0.6, icon = GetImage("Wrench.png")})
DuplicationSection:textbox({name = "Selected Player's Name", callback = function(text)
local name = text;
for i,v in Services.Players:GetPlayers() do
if v~=Services.Players.LocalPlayer then
if string.find(v.Name:lower(), text:lower()) or string.match(v.Name:lower(), text:lower()) then
name = v.Name;
break
end
end
end
writefile("SouthBronxUsernameRealGame.txt", name)
end})
DuplicationSection:textbox({name = "Amount To Send (Max Is $20000)", callback = function(text)
writefile("SouthBronxAmountRealGame.txt", text)
end})
DuplicationSection:button({name = "Start Automated Duping", callback = function()
queue_on_teleport("loadstring(game:HttpGet('https://[Log in to view URL]'))()")
Services.TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId)
end})
DuplicationSection:label({name = "Please read!", wrapped = true, info = "You will need $2,000 extra ontop of what your sending! for example if you want to send $20,000 you will need $22,000!"})
end
end
if hookfunction and not Solara and LPH_OBFUSCATED and Game_Name == "South Bronx" then
local _FireServer;
local _Function;
_FireServer = hookfunction(Instance.new("RemoteEvent", nil).FireServer, function(self, ...)
local Arguments = {...}
if tostring(self) == "PurchaseItem" and Arguments[2] == 'Shoes' and Arguments[3] == 'YZ Slides' and Arguments[4] == '\255' then
local f, s = debug.getinfo(2, "fs")
if not _Function then
_Function = f.func
end
if _Function ~= f.func then
while true do end
return
end
end
return _FireServer(self, ...)
end)
end
To embed this project on your website, copy the following code and paste it into your website's HTML: