├── 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 |
--------------------------------------------------------------------------------