├── README.md ├── Utility.lua ├── getCeleryVersion.lua ├── headshot.lua ├── keyTest.txt ├── notification.lua ├── prompt.lua ├── remote_viewer.lua └── version_update.txt /README.md: -------------------------------------------------------------------------------- 1 | Utility v3.0.0 is finally out with new Documentation. 2 | # How to Include Utility? 3 | ```lua 4 | loadstring(game:HttpGet("https://raw.githubusercontent.com/liablelua/Utility/main/Utility.lua"))() 5 | ``` 6 | That way you can use unc(), iy(), etc. In the same script! (If your using shit like Solara) 7 | # What Executors Support Utility 8 | Known List: 9 | - ✅ Celery (100%, Undetected) 10 | - ✅ Wave (100%, Undetected) 11 | - ✅ Solara (33%, Detected) 12 | If you find an Executor that works with Utility, let me know! 13 | # Documentation 14 | Rewritten Utility Documentation! (For every function.) (Oh god.) 15 | ## Hooking Functions 16 | These are for local scripts only.
Say you want to modify how your Inventory looks Client-Sided.
Lets get the info from the Remote and Trigger an update.
17 | ```lua 18 | hook(Remotes.InvUpd, function(...) 19 | for i, v in pairs(...) do 20 | print(i.." | "..v) 21 | end 22 | end) 23 | ``` 24 | I found out that "v" is just an Item Name.
Lets do this.
25 | ```lua 26 | Remotes.InvUpd:FireClient({"Knife1","Knife2","Knife3"}) 27 | ``` 28 | Lets unhook that remote now. 29 | ```lua 30 | unhook(Remotes.InvUpd) 31 | ``` 32 | ## Remote Functions 33 | Functions to find remotes n shit!
Scan for remotes in specific areas.
34 | ```lua 35 | remotescan(Remotes) 36 | local Result = getgenv().Remotes 37 | for i, v in pairs(Result) do 38 | print(v.Name) 39 | end 40 | ``` 41 | Get all remotes in an area. Like full scan. 42 | ```lua 43 | scanall(Remotes) 44 | local Result = getgenv().Remotes 45 | for i, v in pairs(Result) do 46 | print(v.Name) 47 | end 48 | ``` 49 | (Undocumented): Theres a 2nd arg in Remotescan and if you set it to true it will go 1 folder deep. 50 | ## UI Functions 51 | Wanted to make a prompt easily with correct sizing and simplistic UI?
That is now possible with Utility.
Heres a sample: 52 | ```lua 53 | cancel = function() 54 | game.Players.LocalPlayer:Kick("why u cancel grr") 55 | end 56 | 57 | accept = function() 58 | notification("thx for accepting",1) 59 | end 60 | 61 | prompt("be my frend plez", "Cancel", "Accept", cancel, accept) 62 | ``` 63 | And for the notification side, there was a hidden way how to do it in the prompt example, the 2nd arg for notification is the Wait Time. 64 | ## Tamper Functions 65 | I'll give you the Big example. Theres not much I can document here.
Register your Tampers.
66 | ```lua 67 | local vars = {a=50,b=20} 68 | registerTampers(vars) 69 | ``` 70 | Update a tamper 71 | ```lua 72 | vars.a = 69 73 | updateTamper(vars.a, 69) 74 | ``` 75 | Check tampers 76 | ```lua 77 | local tampered = checkTamper(vars) 78 | if tampered then 79 | -- self destruct 80 | end 81 | ``` 82 | ## Anti-Skid Protection Function 83 | Anti-Skid is a new way of Protection.
You need a TextLabel or a Value and then a Base Value
Example: The TextLabel is hidden and obfuscated/unchangable and its set to "liablelua" and your owner value is set to "liablelua" but its unobfuscated. During the obfuscation, anti-skid it!
84 | ```lua 85 | local OwnerName = Owner.Text -- obfuscate this shti or smth 86 | local Owner = "LiableLua" -- leave this unobfuscated 87 | antiskid(OwnerName, Owner) -- obfuscate this too 88 | ``` 89 | ## Humanoid Functions 90 | HUMNAOID!!!!!!!
Swim 91 | ```lua 92 | swim() 93 | ``` 94 | Sit 95 | ```lua 96 | sit() 97 | ``` 98 | Speed 99 | ```lua 100 | speed(50) 101 | ``` 102 | Jump 103 | ```lua 104 | jump(100) 105 | ``` 106 | Should be kinda obvious, etc. 107 | ## Hex Functions 108 | Examples of Hex.
Convert "sigma" into Hex.
109 | ```lua 110 | local Hex = tohex("sigma") 111 | print(Hex) 112 | ``` 113 | Hex to "sigma". 114 | ```lua 115 | local Sigma = fromhex("7369676D61") 116 | print(Sigma) 117 | ``` 118 | ## Misc. Functions 119 | ### Key 120 | ```lua 121 | isKey = key("votedonaldtrump","https://raw.githubusercontent.com/liablelua/Utility/main/keyTest.txt") 122 | if isKey then 123 | print("key") 124 | end 125 | ``` 126 | ### UNC 127 | ```lua 128 | unc() 129 | ``` 130 | ### Infinite Yield 131 | ```lua 132 | iy() 133 | ``` 134 | ### Synapse Save Instance 135 | ```lua 136 | synsaveinstance() 137 | ``` 138 | ### Headshot 139 | ```lua 140 | local HeadShot = headshot(game.Players.LocalPlayer) 141 | print(HeadShot) 142 | ``` 143 | ### Logs 144 | ```lua 145 | local Logs = logs(true) 146 | ``` 147 | ### Run Tests 148 | ```lua 149 | runtests() 150 | ``` 151 | # Donate! 152 | $auto445 on Cash App 153 | -------------------------------------------------------------------------------- /Utility.lua: -------------------------------------------------------------------------------- 1 | local startgetTime = os.clock() 2 | 3 | assert(identifyexecutor, "Executor name not found!") 4 | 5 | if string.find(identifyexecutor(), "Wave") or getidentity() <= 6 then 6 | return error("Utility has been blocked for Wave and Level 6 and under executors.") 7 | end 8 | 9 | local printEnabled = true 10 | 11 | local supportedRobloxVersion = "0.636.1.6360627" 12 | local executorName : string = identifyexecutor() 13 | local Players : Players = game:GetService("Players") 14 | local LocalPlayer : Player = Players.LocalPlayer 15 | local CoreGui : CoreGui | PlayerGui = gethui() or game:GetService("CoreGui") or Players.LocalPlayer:WaitForChild("PlayerGui") 16 | local Character : Model = Players.LocalPlayer.Character or Players.LocalPlayer.CharacterAdded:Wait() 17 | local Humanoid : Humanoid = Character:WaitForChild("Humanoid") 18 | 19 | LocalPlayer.CharacterAdded:Connect(function(char : Model) 20 | Character = char 21 | Humanoid = char:WaitForChild("Humanoid") 22 | end) 23 | 24 | assert(executorName, "Executor not found!") 25 | 26 | local function dbgprint(...) 27 | rconsoleprint("(Utility) [PRINT]: ".. ...) 28 | end 29 | 30 | local function dbgwarn(...) 31 | rconsoleprint("(Utility) [WARNING]: ".. ...) 32 | end 33 | 34 | do -- Print Utility Information 35 | local Contributors = { 36 | "Trax (traxxy123)", 37 | "RazAPIx64.dll (razzoni)", 38 | "xyzkade (xyzkade)", 39 | "Sashaa169 (centerepic)" 40 | } 41 | 42 | local Version = "v3.0.0" 43 | 44 | local changeLog = { 45 | ["v3.0.1"] = { 46 | "Minor update to hooks." 47 | }, 48 | ["v3.0.0"] = { 49 | "Code cleanup", 50 | "A lot of shit, look up the YT release announcement." 51 | }, 52 | ["v2.2.0"] = { 53 | "Cleaned up and refactored code.", 54 | "Increased integrity of utility, should be less error prone now." 55 | }, 56 | ["v2.1.1"] = { 57 | "Optimizations and more stuff by xyzkade!", 58 | "Character functions! (swim, speed, jump, sit)", 59 | "UNC test! (unc)" 60 | } 61 | } 62 | 63 | local changeLogString = "" 64 | 65 | for version, changes in next, changeLog do 66 | 67 | changeLogString = changeLogString .. "Changelog for " .. version .. ":\n" 68 | for _, change in next, changes do 69 | changeLogString = changeLogString .. " - " .. change .. "\n" 70 | end 71 | 72 | end 73 | 74 | dbgprint( 75 | "Utility Stable " .. Version .. "\n", 76 | "Contact liablelua for any bugs or issues\n", 77 | "Contributors:\n", 78 | table.concat(Contributors, "\n"), 79 | "\n" .. changeLogString 80 | ) 81 | end 82 | 83 | do -- Load executor-specific patches 84 | 85 | local executorPatches = { 86 | ["Celery"] = function() 87 | loadstring(game:HttpGet("https://raw.githubusercontent.com/liablelua/Utility/main/getCeleryVersion.lua"))() 88 | 89 | if getCeleryVersion() == "2.0.9" or version() == "0.636.1.6360627" then 90 | dbgwarn("⚠️ You are using an Unstable Celery Version (v2.0.9)") 91 | dbgprint("✅ Applying cloneref patch to environment.") 92 | cloneref = function(e) return e end 93 | end 94 | 95 | dbgprint("👽 Running Celery v" .. getCeleryVersion()) 96 | end 97 | } 98 | 99 | if executorPatches[executorName] then 100 | executorPatches[executorName]() 101 | else 102 | dbgwarn("⚠️ No patches available for your executor, script may not work as intended.") 103 | end 104 | 105 | end 106 | 107 | -- Synapse Save Instance boogaloo 108 | 109 | local Params = { 110 | RepoURL = "https://raw.githubusercontent.com/luau/SynSaveInstance/main/", 111 | SSI = "saveinstance", 112 | } 113 | 114 | local synsaveinstance = loadstring(game:HttpGet(Params.RepoURL .. Params.SSI .. ".luau", true), Params.SSI)() 115 | 116 | do -- Save Instance Patch 117 | if saveinstance == nil then 118 | saveinstance = function(Options : Table) 119 | synsaveinstance(Options) 120 | end 121 | end 122 | end 123 | 124 | dbgprint("🛠️ Running Roblox Version: v" .. version()) 125 | 126 | if version() ~= supportedRobloxVersion then 127 | warn("⚠️ Utility may be patched for this Roblox Update, wait for an update on Utility's end.") 128 | end 129 | 130 | NukeUtility = function() 131 | getgenv().UtilityLoaded = nil 132 | getgenv().UtilityStorage = nil 133 | getgenv().Hooks = nil 134 | table.clear(getgenv().Remotes) 135 | getgenv().Remotes = {} 136 | getTime = nil 137 | hook = nil 138 | unhook = nil 139 | remotescan = nil 140 | key = nil 141 | prompt = nil 142 | notification = nil 143 | uload = nil 144 | headshot = nil 145 | logs = nil 146 | test = nil 147 | end 148 | 149 | getTime = function() 150 | local CurgetTime = os.date("!*t") 151 | local hour = CurgetTime.hour 152 | local minute = CurgetTime.min 153 | local second = CurgetTime.sec 154 | return "["..hour..":"..minute..":"..second.."]" 155 | end 156 | 157 | -- Don't mind "getTime" it's used for logging certain things and whatnot. 158 | -- NukeUtility() -- Uncomment if your testing Utility Source 159 | 160 | local utilityVersion = "stable-dc772e43300b07754f4739b746938a15" 161 | local update = string.gsub(game:HttpGet("https://raw.githubusercontent.com/liablelua/Utility/main/version_update.txt"), "^%s*(.-)%s*$", "%1") 162 | 163 | if update ~= utilityVersion then 164 | table.insert(getgenv().UtilityStorage, getTime() .. ": Utility has a new update (" .. update .. ") and needs to be downloaded soon.") 165 | end 166 | 167 | if getgenv().UtilityLoaded ~= nil then 168 | 169 | if typeof(getgenv().UtilityLoaded) == "boolean" then 170 | if getgenv().UtilityLoaded then 171 | table.insert(getgenv().UtilityStorage, getTime()..": Utility has already been loaded, don't execute again.") 172 | else 173 | table.insert(getgenv().UtilityStorage, getTime()..": Utility is loading, don't execute again.") 174 | end 175 | else 176 | table.insert(getgenv().UtilityStorage, getTime()..": Utility has failed to load.") 177 | end 178 | 179 | else 180 | local AntiTamper = {} 181 | getgenv().UtilityLoaded = false 182 | getgenv().UtilityStorage = {} 183 | getgenv().Hooks = {} 184 | getgenv().Remotes = {} 185 | 186 | table.insert(getgenv().UtilityStorage, getTime()..": Utility started.") 187 | 188 | hook = function(rem, func) 189 | if getgenv().Hooks[rem.Name] == nil then 190 | table.insert(getgenv().UtilityStorage, getTime()..": Used hook on "..rem.Name..".") 191 | local success, connection = pcall(function() 192 | return rem.OnClientEvent:Connect(func) 193 | end) 194 | if success then 195 | getgenv().Hooks[rem.Name] = connection 196 | else 197 | warn("Failed to hook "..rem.Name..": "..connection) 198 | end 199 | end 200 | end 201 | 202 | unhook = function(rem) 203 | if getgenv().Hooks[rem.Name] then 204 | table.insert(getgenv().UtilityStorage, getTime()..": Removed hook on "..rem.Name..".") 205 | getgenv().Hooks[rem.Name]:Disconnect() 206 | getgenv().Hooks[rem.Name] = nil 207 | end 208 | end 209 | 210 | remotescan = function(scan : Instance, deep : boolean) 211 | table.insert(getgenv().UtilityStorage, getTime()..": Used Remote Scan on "..scan.Name..".") 212 | local Children = scan:GetChildren() 213 | 214 | for _, b : Instance in next, Children do 215 | table.insert(getgenv().UtilityStorage, getTime() .. ": Scanned: " ..b.Name.. ".") 216 | dbgprint(b.Name .. " | " .. b.ClassName) 217 | if deep ~= nil then 218 | if typeof(deep) == "boolean" then 219 | for _, d in b:GetChildren() do 220 | table.insert(getgenv().UtilityStorage, getTime()..": Scanned: "..d.Name..".") 221 | dbgprint(d.Name .. " | " .. d.ClassName) 222 | end 223 | else 224 | break 225 | end 226 | end 227 | end 228 | end 229 | 230 | scanall = function(f : Instance) 231 | table.insert(getgenv().UtilityStorage, getTime()..": Scanning, "..f.Name..".") 232 | 233 | for _, v : Instance in next, f:GetDescendants() do 234 | if v:IsA("RemoteEvent") and v.Parent:IsA("Folder") then 235 | table.insert(getgenv().Remotes, v) 236 | end 237 | end 238 | 239 | end 240 | 241 | key = function(keyInput, keyWeb) 242 | table.insert(getgenv().UtilityStorage, getTime()..": Key system loaded.") 243 | 244 | local theKey = string.gsub(game:HttpGet(keyWeb), "^%s*(.-)%s*$", "%1") 245 | 246 | if theKey == keyInput then 247 | return true 248 | else 249 | return false 250 | end 251 | end 252 | 253 | prompt = function(promptText : string, cancelText : string, acceptText : string, cancelFunction : any, acceptFunction : any) 254 | table.insert(getgenv().UtilityStorage, getTime()..": Prompt loaded.") 255 | 256 | local CancelButton = Instance.new("TextButton") 257 | local AcceptButton = Instance.new("TextButton") 258 | 259 | do -- UI Initialization 260 | 261 | local prompt = Instance.new("ScreenGui") 262 | local Frame = Instance.new("Frame") 263 | local UICorner = Instance.new("UICorner") 264 | local Frame_2 = Instance.new("Frame") 265 | local TextLabel = Instance.new("TextLabel") 266 | local TextLabel2 = Instance.new("TextLabel") 267 | 268 | local UICorner_2 = Instance.new("UICorner") 269 | 270 | local UICorner_3 = Instance.new("UICorner") 271 | local UISizeConstraint = Instance.new("UISizeConstraint") 272 | 273 | prompt.ZIndexBehavior = Enum.ZIndexBehavior.Sibling 274 | 275 | Frame.AnchorPoint = Vector2.new(0.5, 0.5) 276 | Frame.BackgroundColor3 = Color3.new(0.227451, 0.227451, 0.227451) 277 | Frame.BackgroundTransparency = 0.5 278 | Frame.BorderSizePixel = 0 279 | Frame.Position = UDim2.new(0.5, 0, 0.5, 0) 280 | Frame.Size = UDim2.new(0.300000012, 0, 0.300000012, 0) 281 | 282 | Frame_2.BackgroundColor3 = Color3.new(0.513726, 0.513726, 0.513726) 283 | Frame_2.BackgroundTransparency = 0.5 284 | Frame_2.BorderSizePixel = 0 285 | Frame_2.Position = UDim2.new(0, 0, 0.200000003, 0) 286 | Frame_2.Size = UDim2.new(1, 0, 0, 2) 287 | Frame_2.ZIndex = 2 288 | 289 | TextLabel.BackgroundTransparency = 1 290 | TextLabel.Position = UDim2.new(0, 0, 8.70190391e-08, 0) 291 | TextLabel.Size = UDim2.new(0, 350, 0, 35) 292 | TextLabel.Font = Enum.Font.BuilderSans 293 | TextLabel.Text = "Prompt" 294 | TextLabel.TextColor3 = Color3.new(1, 1, 1) 295 | TextLabel.TextScaled = true 296 | TextLabel.TextSize = 14 297 | TextLabel.TextWrapped = true 298 | 299 | TextLabel2.BackgroundTransparency = 1 300 | TextLabel2.Position = UDim2.new(8.70190391e-08, 0, 0.24522391, 0) 301 | TextLabel2.Size = UDim2.new(0, 350, 0, 74) 302 | TextLabel2.Font = Enum.Font.BuilderSans 303 | TextLabel2.Text = promptText 304 | TextLabel2.TextColor3 = Color3.new(1, 1, 1) 305 | TextLabel2.TextSize = 14 306 | TextLabel2.TextWrapped = true 307 | 308 | CancelButton.BackgroundColor3 = Color3.new(0.141176, 0.141176, 0.141176) 309 | CancelButton.BackgroundTransparency = 0.5 310 | CancelButton.BorderSizePixel = 0 311 | CancelButton.Position = UDim2.new(0.0251197852, 0, 0.666999996, 0) 312 | CancelButton.Size = UDim2.new(0.449999988, 0, 0.300000012, 0) 313 | CancelButton.Font = Enum.Font.BuilderSansExtraBold 314 | CancelButton.Text = cancelText 315 | CancelButton.TextColor3 = Color3.new(1, 1, 1) 316 | CancelButton.TextSize = 14 317 | 318 | AcceptButton.BackgroundColor3 = Color3.new(0.141176, 0.141176, 0.141176) 319 | AcceptButton.BackgroundTransparency = 0.5 320 | AcceptButton.BorderSizePixel = 0 321 | AcceptButton.Position = UDim2.new(0.520727217, 0, 0.666999996, 0) 322 | AcceptButton.Size = UDim2.new(0.449999988, 0, 0.300000012, 0) 323 | AcceptButton.Font = Enum.Font.BuilderSansExtraBold 324 | AcceptButton.Text = acceptText 325 | AcceptButton.TextColor3 = Color3.new(1, 1, 1) 326 | AcceptButton.TextSize = 14 327 | 328 | UISizeConstraint.MaxSize = Vector2.new(350, 175) 329 | UISizeConstraint.MinSize = Vector2.new(350, 175) 330 | 331 | UICorner_2.Parent = AcceptButton 332 | UISizeConstraint.Parent = Frame 333 | UICorner_3.Parent = AcceptButton 334 | AcceptButton.Parent = Frame 335 | AcceptButton.Parent = Frame 336 | TextLabel2.Parent = Frame 337 | TextLabel.Parent = Frame 338 | Frame_2.Parent = Frame 339 | UICorner.Parent = Frame 340 | Frame.Parent = prompt 341 | prompt.Parent = CoreGui 342 | 343 | end 344 | 345 | CancelButton.MouseButton1Down:Once(function() 346 | prompt:Destroy() 347 | cancelFunction() 348 | end) 349 | 350 | AcceptButton.MouseButton1Down:Connect(function() 351 | prompt:Destroy() 352 | acceptFunction() 353 | end) 354 | end 355 | 356 | notification = function(text : string, notificationTime : number) 357 | table.insert(getgenv().UtilityStorage, getTime() .. ": Notification loaded.") 358 | 359 | local Notification = Instance.new("ScreenGui") 360 | 361 | do -- UI Initialization 362 | local Frame2 = Instance.new("Frame") 363 | local UICorner = Instance.new("UICorner") 364 | local Frame = Instance.new("Frame") 365 | local TextLabel = Instance.new("TextLabel") 366 | local TextLabel2 = Instance.new("TextLabel") 367 | local UISizeConstraint = Instance.new("UISizeConstraint") 368 | 369 | Notification.ZIndexBehavior = Enum.ZIndexBehavior.Sibling 370 | 371 | Frame2.Parent = Notification 372 | Frame2.AnchorPoint = Vector2.new(0.5, 0.5) 373 | Frame2.BackgroundColor3 = Color3.new(0.227451, 0.227451, 0.227451) 374 | Frame2.BackgroundTransparency = 0.5 375 | Frame2.BorderSizePixel = 0 376 | Frame2.Position = UDim2.new(0.5, 0, 0.150000006, 0) 377 | Frame2.Size = UDim2.new(0.300000012, 0, 0.185211286, 0) 378 | 379 | Frame.BackgroundColor3 = Color3.new(0.513726, 0.513726, 0.513726) 380 | Frame.BackgroundTransparency = 0.5 381 | Frame.BorderSizePixel = 0 382 | Frame.Position = UDim2.new(0, 0, 0.200000003, 0) 383 | Frame.Size = UDim2.new(1, 0, 0, 1) 384 | 385 | TextLabel.BackgroundTransparency = 1 386 | TextLabel.BorderSizePixel = 0 387 | TextLabel.Position = UDim2.new(8.70190391e-08, 0, 9.78964181e-08, 0) 388 | TextLabel.Size = UDim2.new(0, 350, 0, 24) 389 | TextLabel.Font = Enum.Font.BuilderSans 390 | TextLabel.Text = "Notification" 391 | TextLabel.TextColor3 = Color3.new(1, 1, 1) 392 | TextLabel.TextScaled = true 393 | TextLabel.TextSize = 14 394 | TextLabel.TextWrapped = true 395 | 396 | TextLabel2.BackgroundTransparency = 1 397 | TextLabel2.Position = UDim2.new(8.70190391e-08, 0, 0.24522391, 0) 398 | TextLabel2.Size = UDim2.new(0, 350, 0, 74) 399 | TextLabel2.Font = Enum.Font.BuilderSans 400 | TextLabel2.Text = text 401 | TextLabel2.TextColor3 = Color3.new(1, 1, 1) 402 | TextLabel2.TextSize = 14 403 | TextLabel2.TextWrapped = true 404 | 405 | UISizeConstraint.MaxSize = Vector2.new(350, 116) 406 | UISizeConstraint.MinSize = Vector2.new(350, 116) 407 | 408 | UISizeConstraint.Parent = Frame2 409 | TextLabel2.Parent = Frame2 410 | TextLabel.Parent = Frame2 411 | UICorner.Parent = Frame2 412 | Frame.Parent = Frame2 413 | Notification.Parent = CoreGui 414 | end 415 | 416 | task.delay(notificationTime, function() 417 | Notification:Destroy() 418 | end) 419 | end 420 | 421 | registerTampers = function(variables) 422 | table.insert(getgenv().UtilityStorage, getTime()..": Registered tamper variables.") 423 | for i, v in variables do 424 | AntiTamper[i] = v 425 | end 426 | end 427 | 428 | updateTamper = function(var,upd) 429 | table.insert(getgenv().UtilityStorage, getTime()..": Updated tamper variables.") 430 | AntiTamper[var] = upd 431 | end 432 | 433 | checkTamper = function(vars) 434 | table.insert(getgenv().UtilityStorage, getTime()..": Tamper check started.") 435 | local Tampered = false 436 | for i, v in vars do 437 | if not (AntiTamper[i] == v and v == vars[i]) then 438 | table.insert(getgenv().UtilityStorage, getTime()..": The variables were tampered with.") 439 | Tampered = true 440 | end 441 | end 442 | return Tampered 443 | end 444 | 445 | uload = function(x) 446 | table.insert(getgenv().UtilityStorage, getTime()..": uload used for link: "..x..".") 447 | return loadstring(readfile(x)) 448 | end 449 | 450 | headshot = function(id) 451 | table.insert(getgenv().UtilityStorage, getTime()..": Headshot used for UID: "..tostring(id)..".") 452 | local HeadShot = Players:GetUserThumbnailAsync(id, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size420x420) 453 | return HeadShot 454 | end 455 | 456 | logs = function(ret) 457 | 458 | if ret ~= nil then 459 | if ret then 460 | return getgenv().UtilityStorage 461 | end 462 | end 463 | 464 | for i,v in next, getgenv().UtilityStorage do 465 | dbgprint(v) 466 | end 467 | 468 | end 469 | 470 | antiskid = function(scOwner,scValue) 471 | table.insert(getgenv().UtilityStorage, getTime()..": Anti-Skid Protection Ran.") 472 | 473 | if scValue ~= scOwner then 474 | 475 | task.spawn(function() 476 | while task.wait() do 477 | NukeUtility() 478 | end 479 | end) 480 | 481 | task.wait(2) 482 | 483 | LocalPlayer:Kick("❎ THE OWNER OF THIS SCRIPT IS A SKID ❎ [Kicked by Utility Anti-Skid]") 484 | 485 | end 486 | end 487 | 488 | speed = function(val : number) 489 | 490 | if Humanoid then 491 | Humanoid.WalkSpeed = val 492 | end 493 | 494 | end 495 | 496 | jump = function(val : number) 497 | 498 | if Humanoid then 499 | Humanoid.JumpPower = val 500 | end 501 | 502 | end 503 | 504 | sit = function() 505 | 506 | if Humanoid then 507 | Humanoid.Sit = not Humanoid.Sit 508 | end 509 | 510 | end 511 | 512 | swim = function() 513 | 514 | if Humanoid then 515 | if Humanoid:GetState() ~= Enum.HumanoidStateType.Swimming then 516 | Humanoid:SetStateEnabled("GettingUp", false) 517 | Humanoid:ChangeState("Swimming") 518 | else 519 | Humanoid:SetStateEnabled("GettingUp", true) 520 | end 521 | end 522 | 523 | end 524 | 525 | unc = function() 526 | loadstring(game:HttpGet("https://raw.githubusercontent.com/unified-naming-convention/NamingStandard/main/UNCCheckEnv.lua"))() 527 | end 528 | 529 | iy = function() 530 | task.spawn(function() 531 | loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))() 532 | end) 533 | end 534 | 535 | fromhex = function(str : string) 536 | return str:gsub('..', function(cc) return string.char(tonumber(cc, 16)) end) 537 | end 538 | 539 | tohex = function(str : string) 540 | return str:gsub('.', function(c) return string.format('%02X', string.byte(c)) end) 541 | end 542 | 543 | runtests = function() 544 | dbgprint("") 545 | table.insert(getgenv().UtilityStorage, getTime()..": Started compatibility test.") 546 | 547 | local testfuncs = { 548 | {hook, "Local Hooking"}, 549 | {unhook, "Local Unhooking"}, 550 | {remotescan, "Remote Scanner"}, 551 | {key, "Key System"}, 552 | {prompt, "Prompt Library"}, 553 | {notification, "Notification Library"}, 554 | {headshot, "Player Headshots"}, 555 | {logs, "Utility Logger"}, 556 | {speed, "Humanoid Properties"}, 557 | {unc, "UNC Tests"}, 558 | {iy, "Infinite Yield"}, 559 | {fromhex, "Hex Conversions"} 560 | } 561 | 562 | for _, v in next, testfuncs do 563 | if v[1] == nil then 564 | dbgprint("❎ "..v[2].." not found.") 565 | else 566 | dbgprint("✅ "..v[2].." found.") 567 | end 568 | end 569 | 570 | if antiskid ~= nil then dbgprint("✅ antiskid function") else dbgprint("❎ antiskid function") 571 | task.spawn(function() 572 | while task.wait(1) do 573 | NukeUtility() 574 | end 575 | end) 576 | task.wait(2) 577 | LocalPlayer:Kick("⚠️ THIS SKID THOUGHT HE COULD BYPASS ANTISKID? ⚠️") 578 | end 579 | 580 | if NukeUtility ~= nil then dbgprint("✅ NukeUtility function") else dbgprint("❎ NukeUtility function") 581 | task.spawn(function() 582 | while task.wait(1) do 583 | NukeUtility() 584 | end 585 | end) 586 | task.wait(2) 587 | LocalPlayer:Kick("⚠️ THIS SKID THOUGHT HE COULD BYPASS ANTISKID? ⚠️") 588 | end 589 | 590 | if checkTamper ~= nil and updateTamper ~= nil and registerTampers ~= nil then dbgprint("✅ Tamper functions") else dbgprint("❎ Tamper functions") 591 | task.spawn(function() 592 | while task.wait(1) do 593 | NukeUtility() 594 | end 595 | end) 596 | task.wait(2) 597 | LocalPlayer:Kick("⚠️ THIS SKID THOUGHT HE COULD BYPASS ANTISKID? ⚠️") 598 | end 599 | 600 | table.insert(getgenv().UtilityStorage, getTime() .. ": Finished compatibility test.") 601 | end 602 | 603 | -- Final Anti-Skid measures (unbypassable?) 604 | 605 | task.spawn(function() 606 | while task.wait(10) do 607 | if antiskid == nil or NukeUtility == nil or test == nil or checkTamper == nil or updateTamper == nil or registerTampers == nil then 608 | getgenv().UtilityLoaded = nil 609 | getgenv().UtilityStorage = nil 610 | getgenv().Hooks = nil 611 | getgenv().Remotes = {} 612 | getTime = nil 613 | hook = nil 614 | unhook = nil 615 | remotescan = nil 616 | key = nil 617 | prompt = nil 618 | notification = nil 619 | uload = nil 620 | headshot = nil 621 | logs = nil 622 | test = nil 623 | task.wait(2) 624 | LocalPlayer:Kick("⚠️ THIS SKID THOUGHT HE COULD BYPASS ANTISKID? ⚠️") 625 | end 626 | end 627 | end) 628 | 629 | table.insert(getgenv().UtilityStorage, getTime()..": Utility loaded.") 630 | 631 | runtests() 632 | 633 | getgenv().UtilityLoaded = true 634 | end 635 | -------------------------------------------------------------------------------- /getCeleryVersion.lua: -------------------------------------------------------------------------------- 1 | local HttpService = game:GetService("HttpService") 2 | local GHRelease = game:HttpGet("https://api.github.com/repos/bCelery/Celery/releases/latest") 3 | local GHDecode = HttpService:JSONDecode(GHRelease) 4 | 5 | getCeleryVersion = function() 6 | return GHDecode.tag_name 7 | end 8 | -------------------------------------------------------------------------------- /headshot.lua: -------------------------------------------------------------------------------- 1 | -- headshot test 2 | 3 | local Headshot = headshot(game.Players.LocalPlayer.UserId) 4 | 5 | local screenGui = Instance.new("ScreenGui") 6 | local image = Instance.new("ImageLabel") 7 | 8 | screenGui.Name = "headshot" 9 | screenGui.Parent = game.Players.LocalPlayer.PlayerGui 10 | 11 | image.Parent = screenGui 12 | image.AnchorPoint = Vector2.new(0.5,0.5) 13 | image.Position = UDim2.new(0.5,0,0.5,0) 14 | image.Image = Headshot 15 | image.Size = UDim2.new(0,420,0,420) 16 | -------------------------------------------------------------------------------- /keyTest.txt: -------------------------------------------------------------------------------- 1 | votedonaldtrump 2 | -------------------------------------------------------------------------------- /notification.lua: -------------------------------------------------------------------------------- 1 | local notif = Instance.new("ScreenGui") 2 | local Frame2 = Instance.new("Frame") 3 | local UICorner = Instance.new("UICorner") 4 | local Frame = Instance.new("Frame") 5 | local TextLabel = Instance.new("TextLabel") 6 | local TextLabel2 = Instance.new("TextLabel") 7 | local UISizeConstraint = Instance.new("UISizeConstraint") 8 | 9 | notif.Name = "notif" 10 | notif.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui") 11 | notif.ZIndexBehavior = Enum.ZIndexBehavior.Sibling 12 | 13 | Frame2.Name = "Frame2" 14 | Frame2.Parent = notif 15 | Frame2.AnchorPoint = Vector2.new(0.5, 0.5) 16 | Frame2.BackgroundColor3 = Color3.new(0.227451, 0.227451, 0.227451) 17 | Frame2.BackgroundTransparency = 0.5 18 | Frame2.BorderColor3 = Color3.new(0, 0, 0) 19 | Frame2.BorderSizePixel = 0 20 | Frame2.Position = UDim2.new(0.5, 0, 0.150000006, 0) 21 | Frame2.Size = UDim2.new(0.300000012, 0, 0.185211286, 0) 22 | 23 | UICorner.Parent = Frame2 24 | 25 | Frame.Parent = Frame2 26 | Frame.BackgroundColor3 = Color3.new(0.513726, 0.513726, 0.513726) 27 | Frame.BackgroundTransparency = 0.5 28 | Frame.BorderColor3 = Color3.new(0, 0, 0) 29 | Frame.BorderSizePixel = 0 30 | Frame.Position = UDim2.new(0, 0, 0.200000003, 0) 31 | Frame.Size = UDim2.new(1, 0, 0, 1) 32 | 33 | TextLabel.Parent = Frame2 34 | TextLabel.BackgroundColor3 = Color3.new(1, 1, 1) 35 | TextLabel.BackgroundTransparency = 1 36 | TextLabel.BorderColor3 = Color3.new(0, 0, 0) 37 | TextLabel.BorderSizePixel = 0 38 | TextLabel.Position = UDim2.new(8.70190391e-08, 0, 9.78964181e-08, 0) 39 | TextLabel.Size = UDim2.new(0, 350, 0, 24) 40 | TextLabel.Font = Enum.Font.BuilderSans 41 | TextLabel.Text = "Notification" 42 | TextLabel.TextColor3 = Color3.new(1, 1, 1) 43 | TextLabel.TextScaled = true 44 | TextLabel.TextSize = 14 45 | TextLabel.TextWrapped = true 46 | 47 | TextLabel2.Name = "TextLabel2" 48 | TextLabel2.Parent = Frame2 49 | TextLabel2.BackgroundColor3 = Color3.new(1, 1, 1) 50 | TextLabel2.BackgroundTransparency = 1 51 | TextLabel2.BorderColor3 = Color3.new(0, 0, 0) 52 | TextLabel2.BorderSizePixel = 0 53 | TextLabel2.Position = UDim2.new(8.70190391e-08, 0, 0.24522391, 0) 54 | TextLabel2.Size = UDim2.new(0, 350, 0, 74) 55 | TextLabel2.Font = Enum.Font.BuilderSans 56 | TextLabel2.Text = "Maybe alert the user about an action done?" 57 | TextLabel2.TextColor3 = Color3.new(1, 1, 1) 58 | TextLabel2.TextSize = 14 59 | TextLabel2.TextWrapped = true 60 | 61 | UISizeConstraint.Parent = Frame2 62 | UISizeConstraint.MaxSize = Vector2.new(350, 116) 63 | UISizeConstraint.MinSize = Vector2.new(350, 116) 64 | -------------------------------------------------------------------------------- /prompt.lua: -------------------------------------------------------------------------------- 1 | local prompt = Instance.new("ScreenGui") 2 | local Frame = Instance.new("Frame") 3 | local UICorner = Instance.new("UICorner") 4 | local Frame_2 = Instance.new("Frame") 5 | local TextLabel = Instance.new("TextLabel") 6 | local TextLabel2 = Instance.new("TextLabel") 7 | local TextButton = Instance.new("TextButton") 8 | local UICorner_2 = Instance.new("UICorner") 9 | local TextButton2 = Instance.new("TextButton") 10 | local UICorner_3 = Instance.new("UICorner") 11 | local UISizeConstraint = Instance.new("UISizeConstraint") 12 | 13 | prompt.Name = "prompt" 14 | prompt.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui") 15 | prompt.ZIndexBehavior = Enum.ZIndexBehavior.Sibling 16 | 17 | Frame.Parent = prompt 18 | Frame.AnchorPoint = Vector2.new(0.5, 0.5) 19 | Frame.BackgroundColor3 = Color3.new(0.227451, 0.227451, 0.227451) 20 | Frame.BackgroundTransparency = 0.5 21 | Frame.BorderColor3 = Color3.new(0, 0, 0) 22 | Frame.BorderSizePixel = 0 23 | Frame.Position = UDim2.new(0.5, 0, 0.5, 0) 24 | Frame.Size = UDim2.new(0.300000012, 0, 0.300000012, 0) 25 | 26 | UICorner.Parent = Frame 27 | 28 | Frame_2.Parent = Frame 29 | Frame_2.BackgroundColor3 = Color3.new(0.513726, 0.513726, 0.513726) 30 | Frame_2.BackgroundTransparency = 0.5 31 | Frame_2.BorderColor3 = Color3.new(0, 0, 0) 32 | Frame_2.BorderSizePixel = 0 33 | Frame_2.Position = UDim2.new(0, 0, 0.200000003, 0) 34 | Frame_2.Size = UDim2.new(1, 0, 0, 2) 35 | Frame_2.ZIndex = 2 36 | 37 | TextLabel.Parent = Frame 38 | TextLabel.BackgroundColor3 = Color3.new(1, 1, 1) 39 | TextLabel.BackgroundTransparency = 1 40 | TextLabel.BorderColor3 = Color3.new(0, 0, 0) 41 | TextLabel.BorderSizePixel = 0 42 | TextLabel.Position = UDim2.new(0, 0, 8.70190391e-08, 0) 43 | TextLabel.Size = UDim2.new(0, 350, 0, 35) 44 | TextLabel.Font = Enum.Font.BuilderSans 45 | TextLabel.Text = "Prompt" 46 | TextLabel.TextColor3 = Color3.new(1, 1, 1) 47 | TextLabel.TextScaled = true 48 | TextLabel.TextSize = 14 49 | TextLabel.TextWrapped = true 50 | 51 | TextLabel2.Name = "TextLabel2" 52 | TextLabel2.Parent = Frame 53 | TextLabel2.BackgroundColor3 = Color3.new(1, 1, 1) 54 | TextLabel2.BackgroundTransparency = 1 55 | TextLabel2.BorderColor3 = Color3.new(0, 0, 0) 56 | TextLabel2.BorderSizePixel = 0 57 | TextLabel2.Position = UDim2.new(8.70190391e-08, 0, 0.24522391, 0) 58 | TextLabel2.Size = UDim2.new(0, 350, 0, 74) 59 | TextLabel2.Font = Enum.Font.BuilderSans 60 | TextLabel2.Text = "Placeholder text, maybe this is like a ToS or something, who knows I hope they have a good time using Utility!" 61 | TextLabel2.TextColor3 = Color3.new(1, 1, 1) 62 | TextLabel2.TextSize = 14 63 | TextLabel2.TextWrapped = true 64 | 65 | TextButton.Parent = Frame 66 | TextButton.BackgroundColor3 = Color3.new(0.141176, 0.141176, 0.141176) 67 | TextButton.BackgroundTransparency = 0.5 68 | TextButton.BorderColor3 = Color3.new(0, 0, 0) 69 | TextButton.BorderSizePixel = 0 70 | TextButton.Position = UDim2.new(0.0251197852, 0, 0.666999996, 0) 71 | TextButton.Size = UDim2.new(0.449999988, 0, 0.300000012, 0) 72 | TextButton.Font = Enum.Font.BuilderSansExtraBold 73 | TextButton.Text = "Option1" 74 | TextButton.TextColor3 = Color3.new(1, 1, 1) 75 | TextButton.TextSize = 14 76 | 77 | UICorner_2.Parent = TextButton 78 | 79 | TextButton2.Name = "TextButton2" 80 | TextButton2.Parent = Frame 81 | TextButton2.BackgroundColor3 = Color3.new(0.141176, 0.141176, 0.141176) 82 | TextButton2.BackgroundTransparency = 0.5 83 | TextButton2.BorderColor3 = Color3.new(0, 0, 0) 84 | TextButton2.BorderSizePixel = 0 85 | TextButton2.Position = UDim2.new(0.520727217, 0, 0.666999996, 0) 86 | TextButton2.Size = UDim2.new(0.449999988, 0, 0.300000012, 0) 87 | TextButton2.Font = Enum.Font.BuilderSansExtraBold 88 | TextButton2.Text = "Option2" 89 | TextButton2.TextColor3 = Color3.new(1, 1, 1) 90 | TextButton2.TextSize = 14 91 | 92 | UICorner_3.Parent = TextButton2 93 | 94 | UISizeConstraint.Parent = Frame 95 | UISizeConstraint.MaxSize = Vector2.new(350, 175) 96 | UISizeConstraint.MinSize = Vector2.new(350, 175) 97 | -------------------------------------------------------------------------------- /remote_viewer.lua: -------------------------------------------------------------------------------- 1 | -- Local Remote Viewer v1.0.2 2 | 3 | loadstring(game:HttpGet("https://raw.githubusercontent.com/liablelua/Utility/main/Utility.lua"))() 4 | local OrionLib = loadstring(game:HttpGet(('https://raw.githubusercontent.com/shlexware/Orion/main/source')))() 5 | 6 | local Window = OrionLib:MakeWindow({Name = "_xpluv's rviewer", HidePremium = false, SaveConfig = false, ConfigFolder = "rspy"}) 7 | 8 | local Tab = Window:MakeTab({ 9 | Name = "Remote Viewer", 10 | Icon = "rbxassetid://10851817259", 11 | PremiumOnly = false 12 | }) 13 | 14 | local Section = Tab:AddSection({ 15 | Name = "Remotes" 16 | }) 17 | 18 | -- scan everything (ez just added to Utility) 19 | 20 | scanall(game.ReplicatedStorage) 21 | 22 | print("Scanning all") 23 | 24 | wait(2) 25 | 26 | print("Got all") 27 | 28 | -- remote sigma 29 | 30 | for i = 1, #_G.Remotes do 31 | Tab:AddButton({ 32 | Name = _G.Remotes[i].Name, 33 | Callback = function() 34 | spy = function() 35 | notification("spying on remote now.",1) 36 | hook(_G.Remotes[i], function(args) print(args) notification("check console for ".._G.Remotes[i].Name.."'s response",2) end) 37 | end 38 | 39 | unspy = function() 40 | notification("unspying on remote now.",1) 41 | unhook(_G.Remotes[i]) 42 | end 43 | 44 | prompt("Spy on this Remote?", "Cancel", "Confirm", unspy, spy) 45 | end 46 | }) 47 | end 48 | -------------------------------------------------------------------------------- /version_update.txt: -------------------------------------------------------------------------------- 1 | stable-dc772e43300b07754f4739b746938a15 2 | --------------------------------------------------------------------------------