-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMewobwoxUtiwities.lua
488 lines (410 loc) · 18.7 KB
/
MewobwoxUtiwities.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
-- UI by Inori, maintained by Wally
local repo = 'https://raw.githubusercontent.com/uwuscutely/LinoriaLib/main/'
local Library = loadstring(game:HttpGet(repo..'Library.lua'))()
local ThemeManager = loadstring(game:HttpGet(repo..'addons/ThemeManager.lua'))()
local SaveManager = loadstring(game:HttpGet(repo..'addons/SaveManager.lua'))()
local VirtualInputManager = game:GetService("VirtualInputManager")
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local Player = game:GetService("Players").LocalPlayer
local PlayerGui = Player:WaitForChild('PlayerGui')
local slots = PlayerGui.ScreenGui.Inventory.Slots
local lootLabels = PlayerGui.LootLabel
local InventoryController = require(Player.PlayerScripts.FrameworkClient.Controllers.Inventory.InventoryController)
local PickUpItem = ReplicatedStorage.Knit.Services.GroundItemService.RF.PickUpItem
local SellingItems = ReplicatedStorage.Knit.Services.ShopSellService.RF.SellingItems
local InputReceived = ReplicatedStorage.Knit.Services.ActionBarService.RE.InputReceived
ver = '1.6.1'
Library:Notify('Loading Mewobwox Utiwities v'..ver, 5)
local Window = Library:CreateWindow({
Title = 'UwU | Mewobwox Utiwities v'..ver,
Center = true,
AutoShow = true,
})
local Tabs = {
Main = Window:AddTab('Main'),
['UI Settings'] = Window:AddTab('UI Settings'),
}
local LeftGroupBox = Tabs.Main:AddLeftGroupbox('Auto Pickup')
local LeftGroupBox2 = Tabs.Main:AddLeftGroupbox('Notifwer Settwings')
local LeftGroupBox3 = Tabs.Main:AddLeftGroupbox('Auto Seww')
local RightGroupBox = Tabs.Main:AddRightGroupbox('Auto Abiwity')
local UpdateGroupBox = Tabs.Main:AddRightGroupbox('Update Log')
UpdateGroupBox:AddLabel('+ Added stat filters for luck and quantity find. These filters will only apply to items epic+.\n', true)
LeftGroupBox:AddToggle('AutoPickup', {
Text = 'Auto Pickup',
Default = false,
Tooltip = 'Automaticawwy pickup items epic tiew ow above, powtal scwolls, awnd cuwwency.',
})
LeftGroupBox:AddLabel('Auto pickup\'s common option NOT pickup scrolls, currency, and stones. Select those on top of the common option.', true)
LeftGroupBox:AddDropdown('AutoPickupSelection', {
Values = {'Common', 'Uncommon', 'Rare', 'Epic', 'Legendary', 'Mythic', 'City Portal', "Currency", "Regret Stone"},
Default = 1,
Multi = true,
Text = 'Auto Pickup Sewection',
Tooltip = 'Sewect whawt the auto pickup shouwd pickup.',
})
local function colorToRarity(rarity)
local itemRarity
if rarity == Color3.fromRGB(121, 137, 142):ToHex() then
itemRarity = "Common"
return itemRarity
elseif rarity == Color3.fromRGB(52, 202, 73):ToHex() then
itemRarity = "Uncommon"
return itemRarity
elseif rarity == Color3.fromRGB(5, 128, 233):ToHex() then
itemRarity = "Rare"
return itemRarity
elseif rarity == Color3.fromRGB(158, 59, 249):ToHex() then
itemRarity = "Epic"
return itemRarity
elseif rarity == Color3.fromRGB(249, 86, 59):ToHex() then
itemRarity = "Legendary"
return itemRarity
elseif rarity == Color3.fromRGB(255, 255, 255):ToHex() then
itemRarity = "Mythic"
return itemRarity
end
end
local function webhookPing(item, rarity)
if Toggles.WebhookToggle.Value then
pcall(function()
syn.request(
{
Url = Options.WebhookLink.Value,
Method = "POST",
Headers = {
["Content-Type"] = "application/json"
},
Body = game:GetService("HttpService"):JSONEncode({
content = "<@118191838925422597> <@372468580643635211> Brooooo!! You just dropped an OP item!! (The reality is it's probably :poop:)",
embeds = {
{
title = "Mewobwox Woot Notifwer",
description = "```Item: "..item.."\nRarity: "..rarity.."```",
color = 8577791
}
}
})
}
)
end)
else
return
end
end
Toggles.AutoPickup:OnChanged(function()
while Toggles.AutoPickup.Value do
task.wait()
for _,v in pairs(lootLabels:GetChildren()) do
if v.Visible == true then
pcall(function()
local color = v.BackgroundColor3:ToHex()
local rarity = colorToRarity(color)
local item = v.ItemName.Text
if color == Color3.fromRGB(121, 137, 142):ToHex() and Options.AutoPickupSelection.Value["Common"] and not item:match("Portal") and not item:match("Regret") and not item:match("Copper") then
task.wait(0.5)
PickUpItem:InvokeServer(v.Name)
end
if color == Color3.fromRGB(52, 202, 73):ToHex() and Options.AutoPickupSelection.Value["Uncommon"] then
task.wait(0.5)
PickUpItem:InvokeServer(v.Name)
end
if color == Color3.fromRGB(5, 128, 233):ToHex() and Options.AutoPickupSelection.Value["Rare"] then
task.wait(0.5)
PickUpItem:InvokeServer(v.Name)
end
if color == Color3.fromRGB(158, 59, 249):ToHex() and Options.AutoPickupSelection.Value["Epic"] then
task.wait(0.5)
PickUpItem:InvokeServer(v.Name)
pcall(webhookPing, item, rarity)
end
if color == Color3.fromRGB(249, 86, 59):ToHex() and Options.AutoPickupSelection.Value["Legendary"] then
task.wait(0.5)
PickUpItem:InvokeServer(v.Name)
pcall(webhookPing, item, rarity)
end
if color == Color3.fromRGB(255, 255, 255):ToHex() and Options.AutoPickupSelection.Value["Mythic"] then
task.wait(0.5)
PickUpItem:InvokeServer(v.Name)
pcall(webhookPing, item, rarity)
end
if item:match("Portal") and Options.AutoPickupSelection.Value["City Portal"] then
task.wait(0.5)
PickUpItem:InvokeServer(v.Name)
end
if item:match("Copper") and Options.AutoPickupSelection.Value["Currency"] then
task.wait(0.5)
PickUpItem:InvokeServer(v.Name)
end
if item:match("Regret") and Options.AutoPickupSelection.Value["Regret Stone"] then
task.wait(0.5)
PickUpItem:InvokeServer(v.Name)
end
end)
end
end
end
end)
LeftGroupBox2:AddToggle('WebhookToggle', {
Text = 'Enabwe Webhook',
Default = false,
Tooltip = 'Pings uwu fow item dwops pickup up excwuding powtals awnd cuwwency.',
})
LeftGroupBox2:AddInput('WebhookLink', {
Default = 'Notifiew Webhook Wink',
Numeric = false,
Finished = true,
Text = 'Notifiew Webhook Wink',
Tooltip = 'Paste youw Discowd webhook wink hewe.',
Placeholder = 'Webhook Wink Here',
})
LeftGroupBox3:AddToggle('AutoSell', {
Text = 'Auto Seww ',
Default = false,
Tooltip = 'Automaticawwy sell your garbage.',
})
LeftGroupBox3:AddDropdown('AutoSellSelection', {
Values = { 'Common', 'Uncommon', 'Rare', 'Epic', 'City Portal', 'Regret Stone'},
Default = 1,
Multi = true,
Text = 'Auto Seww Sewection',
Tooltip = 'Sewect whawt the auto seww shouwd seww.',
})
LeftGroupBox3:AddToggle('StatFilter', {
Text = 'Stat Fiwtew',
Default = false,
Tooltip = 'Pwotect epic+ wuck awnd quantity find items fwom being sowd.',
})
LeftGroupBox3:AddSlider('LuckFilterValue', {
Text = 'Min Luck',
Default = 30,
Min = 0,
Max = 50,
Rounding = 0,
Compact = false,
})
LeftGroupBox3:AddSlider('QFFilterValue', {
Text = 'Min Quantity Find',
Default = 10,
Min = 0,
Max = 50,
Rounding = 0,
Compact = false,
})
local function getSecondaryStats(item, stat)
local ItemGenInfo = InventoryController:GetItemGenInfo(item)
local SecondaryAtt = ItemGenInfo["SecondaryAtt"]
for i,v in next, SecondaryAtt do
if i == stat then
return v[1]
end
end
end
Toggles.AutoSell:OnChanged(function()
while Toggles.AutoSell.Value do
task.wait()
for _,v in pairs(slots:GetChildren()) do
local sellTable = {}
local item = v:FindFirstChild("Item")
if item then
pcall(function()
local color = item.Button.BackgroundColor3:ToHex()
local itemID = item:GetAttribute("ItemID")
local itemName = item:GetAttribute("Name")
local itemSlot = item.Parent.Name
if color == Color3.fromRGB(121, 137, 142):ToHex() and Options.AutoSellSelection.Value["Common"] and not itemName:match("Portal") and not itemName:match("Regret") then
sellTable[itemID] = itemSlot
print("Inserted item into sell table", itemSlot)
end
if color == Color3.fromRGB(52, 202, 73):ToHex() and Options.AutoSellSelection.Value["Uncommon"] then
sellTable[itemID] = itemSlot
print("Inserted item into sell table", itemSlot)
end
if color == Color3.fromRGB(5, 128, 233):ToHex() and Options.AutoSellSelection.Value["Rare"] and not itemName:match("Pet") then
sellTable[itemID] = itemSlot
print("Inserted item into sell table", itemSlot)
end
if color == Color3.fromRGB(158, 59, 249):ToHex() and Options.AutoSellSelection.Value["Epic"] and not itemName:match("Egg") and not itemName:match("Pet") then
sellTable[itemID] = itemSlot
print("Inserted item into sell table", itemSlot)
end
if itemName:match("Portal") and Options.AutoSellSelection.Value["City Portal"] then
sellTable[itemID] = itemSlot
print("Inserted item into sell table", itemSlot)
end
if itemName:match("Regret") and Options.AutoSellSelection.Value["Regret Stone"] then
sellTable[itemID] = itemSlot
print("Inserted item into sell table", itemSlot)
end
if Toggles.StatFilter.Value then
if color == Color3.fromRGB(158, 59, 249):ToHex() or color == Color3.fromRGB(249, 86, 59):ToHex() or color == Color3.fromRGB(255, 255, 255):ToHex() then
local luckValue = getSecondaryStats(item, "Luck")
local qfValue = getSecondaryStats(item, "QuantityFind")
print(luckValue, qfValue)
if luckValue and qfValue then
print("Luck and QF present")
if qfValue >= Options.QFFilterValue.Value and luckValue >= Options.LuckFilterValue.Value then
print("Item matched minimums, removing from sell table", itemSlot)
sellTable[itemID] = nil
end
end
end
end
SellingItems:InvokeServer(sellTable)
end)
end
end
task.wait(7)
end
end)
LeftGroupBox3:AddLabel('Selling commons doesn\'t include portals or regret stones. Common potions (health/mana) will be sold. Rare+ pets and epic+ eggs will not be sold.', true)
local SellNow = LeftGroupBox3:AddButton('Sell Now', function()
for _,v in pairs(slots:GetChildren()) do
local sellTable = {}
local item = v:FindFirstChild("Item")
if item then
pcall(function()
local color = item.Button.BackgroundColor3:ToHex()
local itemID = item:GetAttribute("ItemID")
local itemName = item:GetAttribute("Name")
local itemSlot = item.Parent.Name
if color == Color3.fromRGB(121, 137, 142):ToHex() and Options.AutoSellSelection.Value["Common"] and not itemName:match("Portal") and not itemName:match("Regret") then
sellTable[itemID] = itemSlot
end
if color == Color3.fromRGB(52, 202, 73):ToHex() and Options.AutoSellSelection.Value["Uncommon"] then
sellTable[itemID] = itemSlot
end
if color == Color3.fromRGB(5, 128, 233):ToHex() and Options.AutoSellSelection.Value["Rare"] and not itemName:match("Pet") then
sellTable[itemID] = itemSlot
end
if color == Color3.fromRGB(158, 59, 249):ToHex() and Options.AutoSellSelection.Value["Epic"] and not itemName:match("Egg") and not itemName:match("Pet") then
sellTable[itemID] = itemSlot
end
if itemName:match("Portal") and Options.AutoSellSelection.Value["City Portal"] then
sellTable[itemID] = itemSlot
end
if itemName:match("Regret") and Options.AutoSellSelection.Value["Regret Stone"] then
sellTable[itemID] = itemSlot
end
if Toggles.StatFilter.Value then
if color == Color3.fromRGB(158, 59, 249):ToHex() or color == Color3.fromRGB(249, 86, 59):ToHex() or color == Color3.fromRGB(255, 255, 255):ToHex() then
local luckValue = getSecondaryStats(item, "Luck")
local qfValue = getSecondaryStats(item, "QuantityFind")
if luckValue and qfValue then
print('Luck: '..luckValue..'% | '..'Quantity Find: '..qfValue..'%')
if qfValue >= Options.QFFilterValue.Value and luckValue >= Options.LuckFilterValue.Value then
print("Item matched minimums, removing from sell table.".."Slot: "..itemSlot)
sellTable[itemID] = nil
end
end
end
end
SellingItems:InvokeServer(sellTable)
end)
end
end
end)
RightGroupBox:AddToggle('Ability1', {
Text = 'Auto Abiwity #1',
Default = false,
Tooltip = 'Automaticawwy use your first abiwity.',
})
RightGroupBox:AddSlider('Ability1Timer', {
Text = 'Abiwity #1 Delay (Seconds)',
Default = 0.69,
Min = 0.1,
Max = 30,
Rounding = 2,
Compact = false,
})
Toggles.Ability1:OnChanged(function()
while Toggles.Ability1.Value do
InputReceived:FireServer("Action2", "Down")
task.wait()
InputReceived:FireServer("Action2", "Up")
task.wait(Options.Ability1Timer.Value)
end
end)
RightGroupBox:AddDivider()
RightGroupBox:AddToggle('Ability2', {
Text = 'Auto Abiwity #2',
Default = false,
Tooltip = 'Automaticawwy use your second abiwity.',
})
RightGroupBox:AddSlider('Ability2Timer', {
Text = 'Abiwity #2 Delay (Seconds)',
Default = 0.69,
Min = 0.1,
Max = 30,
Rounding = 2,
Compact = false,
})
Toggles.Ability2:OnChanged(function()
while Toggles.Ability2.Value do
InputReceived:FireServer("Action3", "Down")
task.wait()
InputReceived:FireServer("Action3", "Up")
task.wait(Options.Ability2Timer.Value)
end
end)
Library:SetWatermarkVisibility(true)
Library:SetWatermark('Meow Meow UwU ^_^')
Library.KeybindFrame.Visible = false
Library:OnUnload(function()
print('Unwoaded!')
Library.Unloaded = true
end)
local MenuGroup = Tabs['UI Settings']:AddLeftGroupbox('Menu')
MenuGroup:AddButton('Unload UI', function() Library:Unload() end)
MenuGroup:AddLabel('Menu Toggle'):AddKeyPicker('MenuKeybind', { Default = 'End', NoUI = true, Text = 'Menu Toggle' })
Library.ToggleKeybind = Options.MenuKeybind
ThemeManager:SetLibrary(Library)
SaveManager:SetLibrary(Library)
ThemeManager:SetFolder('RawrX3Nuzzles')
SaveManager:SetFolder('RawrX3Nuzzles/Mewobwox')
SaveManager:BuildConfigSection(Tabs['UI Settings'])
ThemeManager:ApplyToTab(Tabs['UI Settings'])
Library:Notify('Loaded Mewobwox Utiwities v'..ver..'! Meow meow ^-^', 5)
-- Update checker from https://github.com/EdgeIY/infiniteyield
task.spawn(function()
Library:Notify('Running update check!', 2)
while true do
if pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/uwuscutely/Scripts/main/Version'))() end) then
if ver ~= MUVersion then
Library:Notify('Your current version of Mewobwox Utiwities is outdated!\n\nYour version: '..ver..'\nLatest version: '..MUVersion..'\n\nGrab the latest version by re-executing the script!', 25)
end
end
task.wait(30)
end
end)
if pcall(function() loadstring(game:HttpGet('https://raw.githubusercontent.com/uwuscutely/Scripts/main/Version'))() end) then
if ver == MUVersion then
Library:Notify('You\'re running the latest verion of Mewobwox Utiwities!', 5)
end
end
-- RGB gradient from https://github.com/violin-suzutsuki/LinoriaLib
Toggles.Rainbow:OnChanged(function()
task.spawn(function()
while Toggles.Rainbow.Value do
task.wait()
local Registry = Window.Holder.Visible and Library.Registry or Library.HudRegistry
for Idx, Object in next, Library.Registry do
for Property, ColorIdx in next, Object.Properties do
if ColorIdx == 'AccentColor' or ColorIdx == 'AccentColorDark' then
local Instance = Object.Instance
local yPos = Instance.AbsolutePosition.Y
local Mapped = Library:MapValue(yPos, 0, 1080, 0, 0.5) * 1.5
local Color = Color3.fromHSV((Library.CurrentRainbowHue - Mapped) % 1, 0.8, 1)
if ColorIdx == 'AccentColorDark' then
Color = Library:GetDarkerColor(Color)
end
Instance[Property] = Color
end
end
end
end
if not Toggles.Rainbow.Value then
ThemeManager:UpdateTheme()
end
end)
end)