View difference between Paste ID: VQya5bhH and KE76cidF
SHOW: | | - or go back to the newest paste.
1
Donate XMR to 44YpvHHEiU45b9gofjMntm63imr87sUvx3rBBcqdcUFo6VKgVZm4xQs4EBE4gGYdXECji9Aj6vMnWQWcPB5YmuURD6aiVME
2
if IY_LOADED and not _G.IY_DEBUG == true then
3
    -- error("Infinite Yield is already running!", 0)
4
    return
5
end
6
7
pcall(function() getgenv().IY_LOADED = true end)
8
if not game:IsLoaded() then game.Loaded:Wait() end
9
10
function missing(t, f, fallback)
11
    if type(f) == t then return f end
12
    return fallback
13
end
14
15
cloneref = missing("function", cloneref, function(...) return ... end)
16
sethidden =  missing("function", sethiddenproperty or set_hidden_property or set_hidden_prop)
17
gethidden =  missing("function", gethiddenproperty or get_hidden_property or get_hidden_prop)
18
queueteleport =  missing("function", queue_on_teleport or (syn and syn.queue_on_teleport) or (fluxus and fluxus.queue_on_teleport))
19
httprequest =  missing("function", request or http_request or (syn and syn.request) or (http and http.request) or (fluxus and fluxus.request))
20
everyClipboard = missing("function", setclipboard or toclipboard or set_clipboard or (Clipboard and Clipboard.set))
21
firetouchinterest = missing("function", firetouchinterest)
22
waxwritefile, waxreadfile = writefile, readfile
23
writefile = missing("function", waxwritefile) and function(file, data, safe)
24
    if safe == true then return pcall(waxwritefile, file, data) end
25
    waxwritefile(file, data)
26
end
27
readfile = missing("function", waxreadfile) and function(file, safe)
28
    if safe == true then return pcall(waxreadfile, file) end
29
    return waxreadfile(file)
30
end
31
isfile = missing("function", isfile, readfile and function(file)
32
    local success, result = pcall(function()
33
        return readfile(file)
34
    end)
35
    return success and result ~= nil and result ~= ""
36
end)
37
makefolder = missing("function", makefolder)
38
isfolder = missing("function", isfolder)
39
waxgetcustomasset = missing("function", getcustomasset or getsynasset)
40
hookfunction = missing("function", hookfunction)
41
hookmetamethod = missing("function", hookmetamethod)
42
getnamecallmethod = missing("function", getnamecallmethod or get_namecall_method)
43
checkcaller = missing("function", checkcaller, function() return false end)
44
newcclosure = missing("function", newcclosure)
45
getgc = missing("function", getgc or get_gc_objects)
46
setthreadidentity = missing("function", setthreadidentity or (syn and syn.set_thread_identity) or syn_context_set or setthreadcontext)
47
replicatesignal = missing("function", replicatesignal)
48
49
COREGUI = game:GetService("CoreGui")
50
Players = cloneref(game:GetService("Players"))
51
UserInputService = cloneref(game:GetService("UserInputService"))
52
TweenService = cloneref(game:GetService("TweenService"))
53
HttpService = cloneref(game:GetService("HttpService"))
54
MarketplaceService = cloneref(game:GetService("MarketplaceService"))
55
RunService = cloneref(game:GetService("RunService"))
56
TeleportService = cloneref(game:GetService("TeleportService"))
57
StarterGui = cloneref(game:GetService("StarterGui"))
58
GuiService = cloneref(game:GetService("GuiService"))
59
Lighting = cloneref(game:GetService("Lighting"))
60
ContextActionService = cloneref(game:GetService("ContextActionService"))
61
ReplicatedStorage = cloneref(game:GetService("ReplicatedStorage"))
62
GroupService = cloneref(game:GetService("GroupService"))
63
PathService = cloneref(game:GetService("PathfindingService"))
64
SoundService = cloneref(game:GetService("SoundService"))
65
Teams = cloneref(game:GetService("Teams"))
66
StarterPlayer = cloneref(game:GetService("StarterPlayer"))
67
InsertService = cloneref(game:GetService("InsertService"))
68
ChatService = cloneref(game:GetService("Chat"))
69
ProximityPromptService = cloneref(game:GetService("ProximityPromptService"))
70
ContentProvider = cloneref(game:GetService("ContentProvider"))
71
StatsService = cloneref(game:GetService("Stats"))
72
MaterialService = cloneref(game:GetService("MaterialService"))
73
AvatarEditorService = cloneref(game:GetService("AvatarEditorService"))
74
TextService = cloneref(game:GetService("TextService"))
75
TextChatService = cloneref(game:GetService("TextChatService"))
76
CaptureService = cloneref(game:GetService("CaptureService"))
77
VoiceChatService = cloneref(game:GetService("VoiceChatService"))
78
79
IYMouse = cloneref(Players.LocalPlayer:GetMouse())
80
PlayerGui = cloneref(Players.LocalPlayer:FindFirstChildWhichIsA("PlayerGui"))
81
PlaceId, JobId = game.PlaceId, game.JobId
82
IsOnMobile = table.find({Enum.Platform.Android, Enum.Platform.IOS}, UserInputService:GetPlatform())
83
isLegacyChat = TextChatService.ChatVersion == Enum.ChatVersion.LegacyChatService
84
85
-- xylex & europa
86
local iyassets = {
87
    ["infiniteyield/assets/bindsandplugins.png"] = "rbxassetid://5147695474",
88
    ["infiniteyield/assets/close.png"] = "rbxassetid://5054663650",
89
    ["infiniteyield/assets/editaliases.png"] = "rbxassetid://5147488658",
90
    ["infiniteyield/assets/editkeybinds.png"] = "rbxassetid://129697930",
91
    ["infiniteyield/assets/edittheme.png"] = "rbxassetid://4911962991",
92
    ["infiniteyield/assets/editwaypoints.png"] = "rbxassetid://5147488592",
93
    ["infiniteyield/assets/imgstudiopluginlogo.png"] = "rbxassetid://4113050383",
94
    ["infiniteyield/assets/logo.png"] = "rbxassetid://1352543873",
95
    ["infiniteyield/assets/minimize.png"] = "rbxassetid://2406617031",
96
    ["infiniteyield/assets/pin.png"] = "rbxassetid://6234691350",
97
    ["infiniteyield/assets/reference.png"] = "rbxassetid://3523243755",
98
    ["infiniteyield/assets/settings.png"] = "rbxassetid://1204397029"
99
}
100
101
local function getcustomasset(asset)
102
    if waxgetcustomasset then
103
        local success, result = pcall(function()
104
            return waxgetcustomasset(asset)
105
        end)
106
        if success and result ~= nil and result ~= "" then
107
            return result
108
        end
109
    end
110
    return iyassets[asset]
111
end
112
113
if makefolder and isfolder and writefile and isfile then
114
    pcall(function() -- good executor trust
115
        local assets = "https://raw.githubusercontent.com/infyiff/backup/refs/heads/main/"
116
        for _, folder in {"infiniteyield", "infiniteyield/assets"} do
117
            if not isfolder(folder) then
118
                makefolder(folder)
119
            end
120
        end
121
        for path in iyassets do
122
            if not isfile(path) then
123
                writefile(path, game:HttpGet((path:gsub("infiniteyield/", assets))))
124
            end
125
        end
126
        if IsOnMobile then writefile("infiniteyield/assets/.nomedia") end
127
    end)
128
end
129
130
currentVersion = "6.3.3"
131
132
ScaledHolder = Instance.new("Frame")
133
Scale = Instance.new("UIScale")
134
Holder = Instance.new("Frame")
135
Title = Instance.new("TextLabel")
136
Dark = Instance.new("Frame")
137
Cmdbar = Instance.new("TextBox")
138
CMDsF = Instance.new("ScrollingFrame")
139
cmdListLayout = Instance.new("UIListLayout")
140
SettingsButton = Instance.new("ImageButton")
141
ColorsButton = Instance.new("ImageButton")
142
Settings = Instance.new("Frame")
143
Prefix = Instance.new("TextLabel")
144
PrefixBox = Instance.new("TextBox")
145
Keybinds = Instance.new("TextLabel")
146
StayOpen = Instance.new("TextLabel")
147
Button = Instance.new("Frame")
148
On = Instance.new("TextButton")
149
Positions = Instance.new("TextLabel")
150
EventBind = Instance.new("TextLabel")
151
Plugins = Instance.new("TextLabel")
152
Example = Instance.new("TextButton")
153
Notification = Instance.new("Frame")
154
Title_2 = Instance.new("TextLabel")
155
Text_2 = Instance.new("TextLabel")
156
CloseButton = Instance.new("TextButton")
157
CloseImage = Instance.new("ImageLabel")
158
PinButton = Instance.new("TextButton")
159
PinImage = Instance.new("ImageLabel")
160
Tooltip = Instance.new("Frame")
161
Title_3 = Instance.new("TextLabel")
162
Description = Instance.new("TextLabel")
163
IntroBackground = Instance.new("Frame")
164
Logo = Instance.new("ImageLabel")
165
Credits = Instance.new("TextBox")
166
KeybindsFrame = Instance.new("Frame")
167
Close = Instance.new("TextButton")
168
Add = Instance.new("TextButton")
169
Delete = Instance.new("TextButton")
170
Holder_2 = Instance.new("ScrollingFrame")
171
Example_2 = Instance.new("Frame")
172
Text_3 = Instance.new("TextLabel")
173
Delete_2 = Instance.new("TextButton")
174
KeybindEditor = Instance.new("Frame")
175
background_2 = Instance.new("Frame")
176
Dark_3 = Instance.new("Frame")
177
Directions = Instance.new("TextLabel")
178
BindTo = Instance.new("TextButton")
179
TriggerLabel = Instance.new("TextLabel")
180
BindTriggerSelect = Instance.new("TextButton")
181
Add_2 = Instance.new("TextButton")
182
Toggles = Instance.new("ScrollingFrame")
183
ClickTP  = Instance.new("TextLabel")
184
Select = Instance.new("TextButton")
185
ClickDelete = Instance.new("TextLabel")
186
Select_2 = Instance.new("TextButton")
187
Cmdbar_2 = Instance.new("TextBox")
188
Cmdbar_3 = Instance.new("TextBox")
189
CreateToggle = Instance.new("TextLabel")
190
Button_2 = Instance.new("Frame")
191
On_2 = Instance.new("TextButton")
192
shadow_2 = Instance.new("Frame")
193
PopupText_2 = Instance.new("TextLabel")
194
Exit_2 = Instance.new("TextButton")
195
ExitImage_2 = Instance.new("ImageLabel")
196
PositionsFrame = Instance.new("Frame")
197
Close_3 = Instance.new("TextButton")
198
Delete_5 = Instance.new("TextButton")
199
Part = Instance.new("TextButton")
200
Holder_4 = Instance.new("ScrollingFrame")
201
Example_4 = Instance.new("Frame")
202
Text_5 = Instance.new("TextLabel")
203
Delete_6 = Instance.new("TextButton")
204
TP = Instance.new("TextButton")
205
AliasesFrame = Instance.new("Frame")
206
Close_2 = Instance.new("TextButton")
207
Delete_3 = Instance.new("TextButton")
208
Holder_3 = Instance.new("ScrollingFrame")
209
Example_3 = Instance.new("Frame")
210
Text_4 = Instance.new("TextLabel")
211
Delete_4 = Instance.new("TextButton")
212
Aliases = Instance.new("TextLabel")
213
PluginsFrame = Instance.new("Frame")
214
Close_4 = Instance.new("TextButton")
215
Add_3 = Instance.new("TextButton")
216
Holder_5 = Instance.new("ScrollingFrame")
217
Example_5 = Instance.new("Frame")
218
Text_6 = Instance.new("TextLabel")
219
Delete_7 = Instance.new("TextButton")
220
PluginEditor = Instance.new("Frame")
221
background_3 = Instance.new("Frame")
222
Dark_2 = Instance.new("Frame")
223
Img = Instance.new("ImageButton")
224
AddPlugin = Instance.new("TextButton")
225
FileName = Instance.new("TextBox")
226
About = Instance.new("TextLabel")
227
Directions_2 = Instance.new("TextLabel")
228
shadow_3 = Instance.new("Frame")
229
PopupText_3 = Instance.new("TextLabel")
230
Exit_3 = Instance.new("TextButton")
231
ExitImage_3 = Instance.new("ImageLabel")
232
AliasHint = Instance.new("TextLabel")
233
PluginsHint = Instance.new("TextLabel")
234
PositionsHint = Instance.new("TextLabel")
235
ToPartFrame = Instance.new("Frame")
236
background_4 = Instance.new("Frame")
237
ChoosePart = Instance.new("TextButton")
238
CopyPath = Instance.new("TextButton")
239
Directions_3 = Instance.new("TextLabel")
240
Path = Instance.new("TextLabel")
241
shadow_4 = Instance.new("Frame")
242
PopupText_5 = Instance.new("TextLabel")
243
Exit_4 = Instance.new("TextButton")
244
ExitImage_5 = Instance.new("ImageLabel")
245
logs = Instance.new("Frame")
246
shadow = Instance.new("Frame")
247
Hide = Instance.new("TextButton")
248
ImageLabel = Instance.new("ImageLabel")
249
PopupText = Instance.new("TextLabel")
250
Exit = Instance.new("TextButton")
251
ImageLabel_2 = Instance.new("ImageLabel")
252
background = Instance.new("Frame")
253
chat = Instance.new("Frame")
254
Clear = Instance.new("TextButton")
255
SaveChatlogs = Instance.new("TextButton")
256
Toggle = Instance.new("TextButton")
257
scroll_2 = Instance.new("ScrollingFrame")
258
join = Instance.new("Frame")
259
Toggle_2 = Instance.new("TextButton")
260
Clear_2 = Instance.new("TextButton")
261
scroll_3 = Instance.new("ScrollingFrame")
262
listlayout = Instance.new("UIListLayout",scroll_3)
263
selectChat = Instance.new("TextButton")
264
selectJoin = Instance.new("TextButton")
265
266
function randomString()
267
	local length = math.random(10,20)
268
	local array = {}
269
	for i = 1, length do
270
		array[i] = string.char(math.random(32, 126))
271
	end
272
	return table.concat(array)
273
end
274
275
PARENT = nil
276
if get_hidden_gui or gethui then
277
    local hiddenUI = get_hidden_gui or gethui
278
    local Main = Instance.new("ScreenGui")
279
    Main.Name = randomString()
280
    Main.Parent = hiddenUI()
281
    PARENT = Main
282
elseif (not is_sirhurt_closure) and (syn and syn.protect_gui) then
283
    local Main = Instance.new("ScreenGui")
284
    Main.Name = randomString()
285
    syn.protect_gui(Main)
286
    Main.Parent = COREGUI
287
    PARENT = Main
288
elseif COREGUI:FindFirstChild("RobloxGui") then
289
    PARENT = COREGUI.RobloxGui
290
else
291
    local Main = Instance.new("ScreenGui")
292
    Main.Name = randomString()
293
    Main.Parent = COREGUI
294
    PARENT = Main
295
end
296
297
shade1 = {}
298
shade2 = {}
299
shade3 = {}
300
text1 = {}
301
text2 = {}
302
scroll = {}
303
304
ScaledHolder.Name = randomString()
305
ScaledHolder.Size = UDim2.fromScale(1, 1)
306
ScaledHolder.BackgroundTransparency = 1
307
ScaledHolder.Parent = PARENT
308
Scale.Name = randomString()
309
310
Holder.Name = randomString()
311
Holder.Parent = ScaledHolder
312
Holder.Active = true
313
Holder.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
314
Holder.BorderSizePixel = 0
315
Holder.Position = UDim2.new(1, -250, 1, -220)
316
Holder.Size = UDim2.new(0, 250, 0, 220)
317
Holder.ZIndex = 10
318
table.insert(shade2,Holder)
319
320
Title.Name = "Title"
321
Title.Parent = Holder
322
Title.Active = true
323
Title.BackgroundColor3 = Color3.fromRGB(36,36,37)
324
Title.BorderSizePixel = 0
325
Title.Size = UDim2.new(0, 250, 0, 20)
326
Title.Font = Enum.Font.SourceSans
327
Title.TextSize = 18
328
Title.Text = "Infinite Yield FE v" .. currentVersion
329
330
do
331
	local emoji = ({
332
		["01 01"] = "🎆",
333
		[(function(Year)
334
			local A = math.floor(Year/100)
335
			local B = math.floor((13+8*A)/25)
336
			local C = (15-B+A-math.floor(A/4))%30
337
			local D = (4+A-math.floor(A/4))%7
338
			local E = (19*(Year%19)+C)%30
339
			local F = (2*(Year%4)+4*(Year%7)+6*E+D)%7
340
			local G = (22+E+F)
341
			if E == 29 and F == 6 then
342
				return "04 19"
343
			elseif E == 28 and F == 6 then
344
				return "04 18"
345
			elseif 31 < G then
346
				return ("04 %02d"):format(G-31)
347
			end
348
			return ("03 %02d"):format(G)
349
		end)(tonumber(os.date"%Y"))] = "🥚",
350
		["10 31"] = "🎃",
351
		["12 25"] = "🎄"
352
	})[os.date("%m %d")]
353
	if emoji then
354
		Title.Text = ("%s %s %s"):format(emoji, Title.Text, emoji)
355
	end
356
end
357
358
Title.TextColor3 = Color3.new(1, 1, 1)
359
Title.ZIndex = 10
360
table.insert(shade1,Title)
361
table.insert(text1,Title)
362
363
Dark.Name = "Dark"
364
Dark.Parent = Holder
365
Dark.Active = true
366
Dark.BackgroundColor3 = Color3.fromRGB(36, 36, 37)
367
Dark.BorderSizePixel = 0
368
Dark.Position = UDim2.new(0, 0, 0, 45)
369
Dark.Size = UDim2.new(0, 250, 0, 175)
370
Dark.ZIndex = 10
371
table.insert(shade1,Dark)
372
373
Cmdbar.Name = "Cmdbar"
374
Cmdbar.Parent = Holder
375
Cmdbar.BackgroundTransparency = 1
376
Cmdbar.BorderSizePixel = 0
377
Cmdbar.Position = UDim2.new(0, 5, 0, 20)
378
Cmdbar.Size = UDim2.new(0, 240, 0, 25)
379
Cmdbar.Font = Enum.Font.SourceSans
380
Cmdbar.TextSize = 18
381
Cmdbar.TextXAlignment = Enum.TextXAlignment.Left
382
Cmdbar.TextColor3 = Color3.new(1, 1, 1)
383
Cmdbar.Text = ""
384
Cmdbar.ZIndex = 10
385
Cmdbar.PlaceholderText = "Command Bar"
386
387
CMDsF.Name = "CMDs"
388
CMDsF.Parent = Holder
389
CMDsF.BackgroundTransparency = 1
390
CMDsF.BorderSizePixel = 0
391
CMDsF.Position = UDim2.new(0, 5, 0, 45)
392
CMDsF.Size = UDim2.new(0, 245, 0, 175)
393
CMDsF.ScrollBarImageColor3 = Color3.fromRGB(78,78,79)
394
CMDsF.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
395
CMDsF.CanvasSize = UDim2.new(0, 0, 0, 0)
396
CMDsF.MidImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
397
CMDsF.ScrollBarThickness = 8
398
CMDsF.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
399
CMDsF.VerticalScrollBarInset = 'Always'
400
CMDsF.ZIndex = 10
401
table.insert(scroll,CMDsF)
402
403
cmdListLayout.Parent = CMDsF
404
405
SettingsButton.Name = "SettingsButton"
406
SettingsButton.Parent = Holder
407
SettingsButton.BackgroundTransparency = 1
408
SettingsButton.Position = UDim2.new(0, 230, 0, 0)
409
SettingsButton.Size = UDim2.new(0, 20, 0, 20)
410
SettingsButton.Image = getcustomasset("infiniteyield/assets/settings.png")
411
SettingsButton.ZIndex = 10
412
413
ReferenceButton = Instance.new("ImageButton")
414
ReferenceButton.Name = "ReferenceButton"
415
ReferenceButton.Parent = Holder
416
ReferenceButton.BackgroundTransparency = 1
417
ReferenceButton.Position = UDim2.new(0, 212, 0, 2)
418
ReferenceButton.Size = UDim2.new(0, 16, 0, 16)
419
ReferenceButton.Image = getcustomasset("infiniteyield/assets/reference.png")
420
ReferenceButton.ZIndex = 10
421
422
Settings.Name = "Settings"
423
Settings.Parent = Holder
424
Settings.Active = true
425
Settings.BackgroundColor3 = Color3.fromRGB(36, 36, 37)
426
Settings.BorderSizePixel = 0
427
Settings.Position = UDim2.new(0, 0, 0, 220)
428
Settings.Size = UDim2.new(0, 250, 0, 175)
429
Settings.ZIndex = 10
430
table.insert(shade1,Settings)
431
432
SettingsHolder = Instance.new("ScrollingFrame")
433
SettingsHolder.Name = "Holder"
434
SettingsHolder.Parent = Settings
435
SettingsHolder.BackgroundTransparency = 1
436
SettingsHolder.BorderSizePixel = 0
437
SettingsHolder.Size = UDim2.new(1,0,1,0)
438
SettingsHolder.ScrollBarImageColor3 = Color3.fromRGB(78,78,79)
439
SettingsHolder.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
440
SettingsHolder.CanvasSize = UDim2.new(0, 0, 0, 235)
441
SettingsHolder.MidImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
442
SettingsHolder.ScrollBarThickness = 8
443
SettingsHolder.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
444
SettingsHolder.VerticalScrollBarInset = 'Always'
445
SettingsHolder.ZIndex = 10
446
table.insert(scroll,SettingsHolder)
447
448
Prefix.Name = "Prefix"
449
Prefix.Parent = SettingsHolder
450
Prefix.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
451
Prefix.BorderSizePixel = 0
452
Prefix.BackgroundTransparency = 1
453
Prefix.Position = UDim2.new(0, 5, 0, 5)
454
Prefix.Size = UDim2.new(1, -10, 0, 20)
455
Prefix.Font = Enum.Font.SourceSans
456
Prefix.TextSize = 14
457
Prefix.Text = "Prefix"
458
Prefix.TextColor3 = Color3.new(1, 1, 1)
459
Prefix.TextXAlignment = Enum.TextXAlignment.Left
460
Prefix.ZIndex = 10
461
table.insert(shade2,Prefix)
462
table.insert(text1,Prefix)
463
464
PrefixBox.Name = "PrefixBox"
465
PrefixBox.Parent = Prefix
466
PrefixBox.BackgroundColor3 = Color3.fromRGB(78, 78, 79)
467
PrefixBox.BorderSizePixel = 0
468
PrefixBox.Position = UDim2.new(1, -20, 0, 0)
469
PrefixBox.Size = UDim2.new(0, 20, 0, 20)
470
PrefixBox.Font = Enum.Font.SourceSansBold
471
PrefixBox.TextSize = 14
472
PrefixBox.Text = ''
473
PrefixBox.TextColor3 = Color3.new(0, 0, 0)
474
PrefixBox.ZIndex = 10
475
table.insert(shade3,PrefixBox)
476
table.insert(text2,PrefixBox)
477
478
function makeSettingsButton(name,iconID,off)
479
	local button = Instance.new("TextButton")
480
	button.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
481
	button.BorderSizePixel = 0
482
	button.Position = UDim2.new(0,0,0,0)
483
	button.Size = UDim2.new(1,0,0,25)
484
	button.Text = ""
485
	button.ZIndex = 10
486
	local icon = Instance.new("ImageLabel")
487
	icon.Name = "Icon"
488
	icon.Parent = button
489
	icon.Position = UDim2.new(0,5,0,5)
490
	icon.Size = UDim2.new(0,16,0,16)
491
	icon.BackgroundTransparency = 1
492
	icon.Image = iconID
493
	icon.ZIndex = 10
494
	if off then
495
		icon.ScaleType = Enum.ScaleType.Crop
496
		icon.ImageRectSize = Vector2.new(16,16)
497
		icon.ImageRectOffset = Vector2.new(off,0)
498
	end
499
	local label = Instance.new("TextLabel")
500
	label.Name = "ButtonLabel"
501
	label.Parent = button
502
	label.BackgroundTransparency = 1
503
	label.Text = name
504
	label.Position = UDim2.new(0,28,0,0)
505
	label.Size = UDim2.new(1,-28,1,0)
506
	label.Font = Enum.Font.SourceSans
507
	label.TextColor3 = Color3.new(1, 1, 1)
508
	label.TextSize = 14
509
	label.ZIndex = 10
510
	label.TextXAlignment = Enum.TextXAlignment.Left
511
	table.insert(shade2,button)
512
	table.insert(text1,label)
513
	return button
514
end
515
516
ColorsButton = makeSettingsButton("Edit Theme",getcustomasset("infiniteyield/assets/edittheme.png"))
517
ColorsButton.Position = UDim2.new(0, 5, 0, 55)
518
ColorsButton.Size = UDim2.new(1, -10, 0, 25)
519
ColorsButton.Name = "Colors"
520
ColorsButton.Parent = SettingsHolder
521
522
Keybinds = makeSettingsButton("Edit Keybinds",getcustomasset("infiniteyield/assets/editkeybinds.png"))
523
Keybinds.Position = UDim2.new(0, 5, 0, 85)
524
Keybinds.Size = UDim2.new(1, -10, 0, 25)
525
Keybinds.Name = "Keybinds"
526
Keybinds.Parent = SettingsHolder
527
528
Aliases = makeSettingsButton("Edit Aliases",getcustomasset("infiniteyield/assets/editaliases.png"))
529
Aliases.Position = UDim2.new(0, 5, 0, 115)
530
Aliases.Size = UDim2.new(1, -10, 0, 25)
531
Aliases.Name = "Aliases"
532
Aliases.Parent = SettingsHolder
533
534
StayOpen.Name = "StayOpen"
535
StayOpen.Parent = SettingsHolder
536
StayOpen.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
537
StayOpen.BorderSizePixel = 0
538
StayOpen.BackgroundTransparency = 1
539
StayOpen.Position = UDim2.new(0, 5, 0, 30)
540
StayOpen.Size = UDim2.new(1, -10, 0, 20)
541
StayOpen.Font = Enum.Font.SourceSans
542
StayOpen.TextSize = 14
543
StayOpen.Text = "Keep Menu Open"
544
StayOpen.TextColor3 = Color3.new(1, 1, 1)
545
StayOpen.TextXAlignment = Enum.TextXAlignment.Left
546
StayOpen.ZIndex = 10
547
table.insert(shade2,StayOpen)
548
table.insert(text1,StayOpen)
549
550
Button.Name = "Button"
551
Button.Parent = StayOpen
552
Button.BackgroundColor3 = Color3.fromRGB(78, 78, 79)
553
Button.BorderSizePixel = 0
554
Button.Position = UDim2.new(1, -20, 0, 0)
555
Button.Size = UDim2.new(0, 20, 0, 20)
556
Button.ZIndex = 10
557
table.insert(shade3,Button)
558
559
On.Name = "On"
560
On.Parent = Button
561
On.BackgroundColor3 = Color3.fromRGB(150, 150, 151)
562
On.BackgroundTransparency = 1
563
On.BorderSizePixel = 0
564
On.Position = UDim2.new(0, 2, 0, 2)
565
On.Size = UDim2.new(0, 16, 0, 16)
566
On.Font = Enum.Font.SourceSans
567
On.FontSize = Enum.FontSize.Size14
568
On.Text = ""
569
On.TextColor3 = Color3.new(0, 0, 0)
570
On.ZIndex = 10
571
572
Positions = makeSettingsButton("Edit/Goto Waypoints",getcustomasset("infiniteyield/assets/editwaypoints.png"))
573
Positions.Position = UDim2.new(0, 5, 0, 145)
574
Positions.Size = UDim2.new(1, -10, 0, 25)
575
Positions.Name = "Waypoints"
576
Positions.Parent = SettingsHolder
577
578
EventBind = makeSettingsButton("Edit Event Binds",getcustomasset("infiniteyield/assets/bindsandplugins.png"),759)
579
EventBind.Position = UDim2.new(0, 5, 0, 205)
580
EventBind.Size = UDim2.new(1, -10, 0, 25)
581
EventBind.Name = "EventBinds"
582
EventBind.Parent = SettingsHolder
583
584
Plugins = makeSettingsButton("Manage Plugins",getcustomasset("infiniteyield/assets/bindsandplugins.png"),743)
585
Plugins.Position = UDim2.new(0, 5, 0, 175)
586
Plugins.Size = UDim2.new(1, -10, 0, 25)
587
Plugins.Name = "Plugins"
588
Plugins.Parent = SettingsHolder
589
590
Example.Name = "Example"
591
Example.Parent = Holder
592
Example.BackgroundTransparency = 1
593
Example.BorderSizePixel = 0
594
Example.Size = UDim2.new(0, 190, 0, 20)
595
Example.Visible = false
596
Example.Font = Enum.Font.SourceSans
597
Example.TextSize = 18
598
Example.Text = "Example"
599
Example.TextColor3 = Color3.new(1, 1, 1)
600
Example.TextXAlignment = Enum.TextXAlignment.Left
601
Example.ZIndex = 10
602
table.insert(text1,Example)
603
604
Notification.Name = randomString()
605
Notification.Parent = ScaledHolder
606
Notification.BackgroundColor3 = Color3.fromRGB(36, 36, 37)
607
Notification.BorderSizePixel = 0
608
Notification.Position = UDim2.new(1, -500, 1, 20)
609
Notification.Size = UDim2.new(0, 250, 0, 100)
610
Notification.ZIndex = 10
611
table.insert(shade1,Notification)
612
613
Title_2.Name = "Title"
614
Title_2.Parent = Notification
615
Title_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
616
Title_2.BorderSizePixel = 0
617
Title_2.Size = UDim2.new(0, 250, 0, 20)
618
Title_2.Font = Enum.Font.SourceSans
619
Title_2.TextSize = 14
620
Title_2.Text = "Notification Title"
621
Title_2.TextColor3 = Color3.new(1, 1, 1)
622
Title_2.ZIndex = 10
623
table.insert(shade2,Title_2)
624
table.insert(text1,Title_2)
625
626
Text_2.Name = "Text"
627
Text_2.Parent = Notification
628
Text_2.BackgroundTransparency = 1
629
Text_2.BorderSizePixel = 0
630
Text_2.Position = UDim2.new(0, 5, 0, 25)
631
Text_2.Size = UDim2.new(0, 240, 0, 75)
632
Text_2.Font = Enum.Font.SourceSans
633
Text_2.TextSize = 16
634
Text_2.Text = "Notification Text"
635
Text_2.TextColor3 = Color3.new(1, 1, 1)
636
Text_2.TextWrapped = true
637
Text_2.ZIndex = 10
638
table.insert(text1,Text_2)
639
640
CloseButton.Name = "CloseButton"
641
CloseButton.Parent = Notification
642
CloseButton.BackgroundTransparency = 1
643
CloseButton.Position = UDim2.new(1, -20, 0, 0)
644
CloseButton.Size = UDim2.new(0, 20, 0, 20)
645
CloseButton.Text = ""
646
CloseButton.ZIndex = 10
647
648
CloseImage.Parent = CloseButton
649
CloseImage.BackgroundColor3 = Color3.new(1, 1, 1)
650
CloseImage.BackgroundTransparency = 1
651
CloseImage.Position = UDim2.new(0, 5, 0, 5)
652
CloseImage.Size = UDim2.new(0, 10, 0, 10)
653
CloseImage.Image = getcustomasset("infiniteyield/assets/close.png")
654
CloseImage.ZIndex = 10
655
656
PinButton.Name = "PinButton"
657
PinButton.Parent = Notification
658
PinButton.BackgroundTransparency = 1
659
PinButton.Size = UDim2.new(0, 20, 0, 20)
660
PinButton.ZIndex = 10
661
PinButton.Text = ""
662
663
PinImage.Parent = PinButton
664
PinImage.BackgroundColor3 = Color3.new(1, 1, 1)
665
PinImage.BackgroundTransparency = 1
666
PinImage.Position = UDim2.new(0, 3, 0, 3)
667
PinImage.Size = UDim2.new(0, 14, 0, 14)
668
PinImage.ZIndex = 10
669
PinImage.Image = getcustomasset("infiniteyield/assets/pin.png")
670
671
Tooltip.Name = randomString()
672
Tooltip.Parent = ScaledHolder
673
Tooltip.Active = true
674
Tooltip.BackgroundColor3 = Color3.fromRGB(36, 36, 37)
675
Tooltip.BackgroundTransparency = 0.1
676
Tooltip.BorderSizePixel = 0
677
Tooltip.Size = UDim2.new(0, 200, 0, 96)
678
Tooltip.Visible = false
679
Tooltip.ZIndex = 10
680
table.insert(shade1,Tooltip)
681
682
Title_3.Name = "Title"
683
Title_3.Parent = Tooltip
684
Title_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
685
Title_3.BackgroundTransparency = 0.1
686
Title_3.BorderSizePixel = 0
687
Title_3.Size = UDim2.new(0, 200, 0, 20)
688
Title_3.Font = Enum.Font.SourceSans
689
Title_3.TextSize = 14
690
Title_3.Text = ""
691
Title_3.TextColor3 = Color3.new(1, 1, 1)
692
Title_3.TextTransparency = 0.1
693
Title_3.ZIndex = 10
694
table.insert(shade2,Title_3)
695
table.insert(text1,Title_3)
696
697
Description.Name = "Description"
698
Description.Parent = Tooltip
699
Description.BackgroundTransparency = 1
700
Description.BorderSizePixel = 0
701
Description.Size = UDim2.new(0,180,0,72)
702
Description.Position = UDim2.new(0,10,0,18)
703
Description.Font = Enum.Font.SourceSans
704
Description.TextSize = 16
705
Description.Text = ""
706
Description.TextColor3 = Color3.new(1, 1, 1)
707
Description.TextTransparency = 0.1
708
Description.TextWrapped = true
709
Description.ZIndex = 10
710
table.insert(text1,Description)
711
712
IntroBackground.Name = "IntroBackground"
713
IntroBackground.Parent = Holder
714
IntroBackground.Active = true
715
IntroBackground.BackgroundColor3 = Color3.fromRGB(36, 36, 37)
716
IntroBackground.BorderSizePixel = 0
717
IntroBackground.Position = UDim2.new(0, 0, 0, 45)
718
IntroBackground.Size = UDim2.new(0, 250, 0, 175)
719
IntroBackground.ZIndex = 10
720
721
Logo.Name = "Logo"
722
Logo.Parent = Holder
723
Logo.BackgroundTransparency = 1
724
Logo.BorderSizePixel = 0
725
Logo.Position = UDim2.new(0, 125, 0, 127)
726
Logo.Size = UDim2.new(0, 10, 0, 10)
727
Logo.Image = getcustomasset("infiniteyield/assets/logo.png")
728
Logo.ImageTransparency = 0
729
Logo.ZIndex = 10
730
731
Credits.Name = "Credits"
732
Credits.Parent = Holder
733
Credits.BackgroundTransparency = 1
734
Credits.BorderSizePixel = 0
735
Credits.Position = UDim2.new(0, 0, 0.9, 30)
736
Credits.Size = UDim2.new(0, 250, 0, 20)
737
Credits.Font = Enum.Font.SourceSansLight
738
Credits.FontSize = Enum.FontSize.Size14
739
Credits.Text = "Edge // Zwolf // Moon // Toon // Peyton // ATP"
740
Credits.TextColor3 = Color3.new(1, 1, 1)
741
Credits.ZIndex = 10
742
743
KeybindsFrame.Name = "KeybindsFrame"
744
KeybindsFrame.Parent = Settings
745
KeybindsFrame.Active = true
746
KeybindsFrame.BackgroundColor3 = Color3.fromRGB(36, 36, 37)
747
KeybindsFrame.BorderSizePixel = 0
748
KeybindsFrame.Position = UDim2.new(0, 0, 0, 175)
749
KeybindsFrame.Size = UDim2.new(0, 250, 0, 175)
750
KeybindsFrame.ZIndex = 10
751
table.insert(shade1,KeybindsFrame)
752
753
Close.Name = "Close"
754
Close.Parent = KeybindsFrame
755
Close.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
756
Close.BorderSizePixel = 0
757
Close.Position = UDim2.new(0, 205, 0, 150)
758
Close.Size = UDim2.new(0, 40, 0, 20)
759
Close.Font = Enum.Font.SourceSans
760
Close.TextSize = 14
761
Close.Text = "Close"
762
Close.TextColor3 = Color3.new(1, 1, 1)
763
Close.ZIndex = 10
764
table.insert(shade2,Close)
765
table.insert(text1,Close)
766
767
Add.Name = "Add"
768
Add.Parent = KeybindsFrame
769
Add.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
770
Add.BorderSizePixel = 0
771
Add.Position = UDim2.new(0, 5, 0, 150)
772
Add.Size = UDim2.new(0, 40, 0, 20)
773
Add.Font = Enum.Font.SourceSans
774
Add.TextSize = 14
775
Add.Text = "Add"
776
Add.TextColor3 = Color3.new(1, 1, 1)
777
Add.ZIndex = 10
778
table.insert(shade2,Add)
779
table.insert(text1,Add)
780
781
Delete.Name = "Delete"
782
Delete.Parent = KeybindsFrame
783
Delete.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
784
Delete.BorderSizePixel = 0
785
Delete.Position = UDim2.new(0, 50, 0, 150)
786
Delete.Size = UDim2.new(0, 40, 0, 20)
787
Delete.Font = Enum.Font.SourceSans
788
Delete.TextSize = 14
789
Delete.Text = "Clear"
790
Delete.TextColor3 = Color3.new(1, 1, 1)
791
Delete.ZIndex = 10
792
table.insert(shade2,Delete)
793
table.insert(text1,Delete)
794
795
Holder_2.Name = "Holder"
796
Holder_2.Parent = KeybindsFrame
797
Holder_2.BackgroundTransparency = 1
798
Holder_2.BorderSizePixel = 0
799
Holder_2.Position = UDim2.new(0, 0, 0, 0)
800
Holder_2.Size = UDim2.new(0, 250, 0, 145)
801
Holder_2.ScrollBarImageColor3 = Color3.fromRGB(78,78,79)
802
Holder_2.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
803
Holder_2.CanvasSize = UDim2.new(0, 0, 0, 0)
804
Holder_2.MidImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
805
Holder_2.ScrollBarThickness = 0
806
Holder_2.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
807
Holder_2.VerticalScrollBarInset = 'Always'
808
Holder_2.ZIndex = 10
809
810
Example_2.Name = "Example"
811
Example_2.Parent = KeybindsFrame
812
Example_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
813
Example_2.BorderSizePixel = 0
814
Example_2.Size = UDim2.new(0, 10, 0, 20)
815
Example_2.Visible = false
816
Example_2.ZIndex = 10
817
table.insert(shade2,Example_2)
818
819
Text_3.Name = "Text"
820
Text_3.Parent = Example_2
821
Text_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
822
Text_3.BorderSizePixel = 0
823
Text_3.Position = UDim2.new(0, 10, 0, 0)
824
Text_3.Size = UDim2.new(0, 240, 0, 20)
825
Text_3.Font = Enum.Font.SourceSans
826
Text_3.TextSize = 14
827
Text_3.Text = "nom"
828
Text_3.TextColor3 = Color3.new(1, 1, 1)
829
Text_3.TextXAlignment = Enum.TextXAlignment.Left
830
Text_3.ZIndex = 10
831
table.insert(shade2,Text_3)
832
table.insert(text1,Text_3)
833
834
Delete_2.Name = "Delete"
835
Delete_2.Parent = Text_3
836
Delete_2.BackgroundColor3 = Color3.fromRGB(78, 78, 79)
837
Delete_2.BorderSizePixel = 0
838
Delete_2.Position = UDim2.new(0, 200, 0, 0)
839
Delete_2.Size = UDim2.new(0, 40, 0, 20)
840
Delete_2.Font = Enum.Font.SourceSans
841
Delete_2.TextSize = 14
842
Delete_2.Text = "Delete"
843
Delete_2.TextColor3 = Color3.new(0, 0, 0)
844
Delete_2.ZIndex = 10
845
table.insert(shade3,Delete_2)
846
table.insert(text2,Delete_2)
847
848
KeybindEditor.Name = randomString()
849
KeybindEditor.Parent = ScaledHolder
850
KeybindEditor.Active = true
851
KeybindEditor.BackgroundTransparency = 1
852
KeybindEditor.Position = UDim2.new(0.5, -180, 0, -500)
853
KeybindEditor.Size = UDim2.new(0, 360, 0, 20)
854
KeybindEditor.ZIndex = 10
855
856
background_2.Name = "background"
857
background_2.Parent = KeybindEditor
858
background_2.Active = true
859
background_2.BackgroundColor3 = Color3.fromRGB(36, 36, 37)
860
background_2.BorderSizePixel = 0
861
background_2.Position = UDim2.new(0, 0, 0, 20)
862
background_2.Size = UDim2.new(0, 360, 0, 185)
863
background_2.ZIndex = 10
864
table.insert(shade1,background_2)
865
866
Dark_3.Name = "Dark"
867
Dark_3.Parent = background_2
868
Dark_3.Active = true
869
Dark_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
870
Dark_3.BorderSizePixel = 0
871
Dark_3.Position = UDim2.new(0, 135, 0, 0)
872
Dark_3.Size = UDim2.new(0, 2, 0, 185)
873
Dark_3.ZIndex = 10
874
table.insert(shade2,Dark_3)
875
876
Directions.Name = "Directions"
877
Directions.Parent = background_2
878
Directions.BackgroundTransparency = 1
879
Directions.BorderSizePixel = 0
880
Directions.Position = UDim2.new(0, 10, 0, 15)
881
Directions.Size = UDim2.new(0, 115, 0, 90)
882
Directions.ZIndex = 10
883
Directions.Font = Enum.Font.SourceSans
884
Directions.Text = "Click the button below and press a key/mouse button. Then select what you want to bind it to."
885
Directions.TextColor3 = Color3.fromRGB(255, 255, 255)
886
Directions.TextSize = 14.000
887
Directions.TextWrapped = true
888
Directions.TextYAlignment = Enum.TextYAlignment.Top
889
table.insert(text1,Directions)
890
891
BindTo.Name = "BindTo"
892
BindTo.Parent = background_2
893
BindTo.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
894
BindTo.BorderSizePixel = 0
895
BindTo.Position = UDim2.new(0, 10, 0, 95)
896
BindTo.Size = UDim2.new(0, 115, 0, 50)
897
BindTo.ZIndex = 10
898
BindTo.Font = Enum.Font.SourceSans
899
BindTo.Text = "Click to bind"
900
BindTo.TextColor3 = Color3.fromRGB(255, 255, 255)
901
BindTo.TextSize = 16.000
902
table.insert(shade2,BindTo)
903
table.insert(text1,BindTo)
904
905
TriggerLabel.Name = "TriggerLabel"
906
TriggerLabel.Parent = background_2
907
TriggerLabel.BackgroundTransparency = 1
908
TriggerLabel.Position = UDim2.new(0, 10, 0, 155)
909
TriggerLabel.Size = UDim2.new(0, 45, 0, 20)
910
TriggerLabel.ZIndex = 10
911
TriggerLabel.Font = Enum.Font.SourceSans
912
TriggerLabel.Text = "Trigger:"
913
TriggerLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
914
TriggerLabel.TextSize = 14.000
915
TriggerLabel.TextXAlignment = Enum.TextXAlignment.Left
916
table.insert(text1,TriggerLabel)
917
918
BindTriggerSelect.Name = "BindTo"
919
BindTriggerSelect.Parent = background_2
920
BindTriggerSelect.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
921
BindTriggerSelect.BorderSizePixel = 0
922
BindTriggerSelect.Position = UDim2.new(0, 60, 0, 155)
923
BindTriggerSelect.Size = UDim2.new(0, 65, 0, 20)
924
BindTriggerSelect.ZIndex = 10
925
BindTriggerSelect.Font = Enum.Font.SourceSans
926
BindTriggerSelect.Text = "KeyDown"
927
BindTriggerSelect.TextColor3 = Color3.fromRGB(255, 255, 255)
928
BindTriggerSelect.TextSize = 16.000
929
table.insert(shade2,BindTriggerSelect)
930
table.insert(text1,BindTriggerSelect)
931
932
Add_2.Name = "Add"
933
Add_2.Parent = background_2
934
Add_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
935
Add_2.BorderSizePixel = 0
936
Add_2.Position = UDim2.new(0, 310, 0, 35)
937
Add_2.Size = UDim2.new(0, 40, 0, 20)
938
Add_2.ZIndex = 10
939
Add_2.Font = Enum.Font.SourceSans
940
Add_2.Text = "Add"
941
Add_2.TextColor3 = Color3.fromRGB(255, 255, 255)
942
Add_2.TextSize = 14.000
943
table.insert(shade2,Add_2)
944
table.insert(text1,Add_2)
945
946
Toggles.Name = "Toggles"
947
Toggles.Parent = background_2
948
Toggles.BackgroundTransparency = 1
949
Toggles.BorderSizePixel = 0
950
Toggles.Position = UDim2.new(0, 150, 0, 125)
951
Toggles.Size = UDim2.new(0, 200, 0, 50)
952
Toggles.ZIndex = 10
953
Toggles.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
954
Toggles.CanvasSize = UDim2.new(0, 0, 0, 50)
955
Toggles.ScrollBarThickness = 8
956
Toggles.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
957
Toggles.VerticalScrollBarInset = Enum.ScrollBarInset.Always
958
table.insert(scroll,Toggles)
959
960
ClickTP.Name = "Click TP (Hold Key & Click)"
961
ClickTP.Parent = Toggles
962
ClickTP.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
963
ClickTP.BorderSizePixel = 0
964
ClickTP.Size = UDim2.new(0, 200, 0, 20)
965
ClickTP.ZIndex = 10
966
ClickTP.Font = Enum.Font.SourceSans
967
ClickTP.Text = "    Click TP (Hold Key & Click)"
968
ClickTP.TextColor3 = Color3.fromRGB(255, 255, 255)
969
ClickTP.TextSize = 14.000
970
ClickTP.TextXAlignment = Enum.TextXAlignment.Left
971
table.insert(shade2,ClickTP)
972
table.insert(text1,ClickTP)
973
974
Select.Name = "Select"
975
Select.Parent = ClickTP
976
Select.BackgroundColor3 = Color3.fromRGB(78, 78, 79)
977
Select.BorderSizePixel = 0
978
Select.Position = UDim2.new(0, 160, 0, 0)
979
Select.Size = UDim2.new(0, 40, 0, 20)
980
Select.ZIndex = 10
981
Select.Font = Enum.Font.SourceSans
982
Select.Text = "Add"
983
Select.TextColor3 = Color3.fromRGB(0, 0, 0)
984
Select.TextSize = 14.000
985
table.insert(shade3,Select)
986
table.insert(text2,Select)
987
988
ClickDelete.Name = "Click Delete (Hold Key & Click)"
989
ClickDelete.Parent = Toggles
990
ClickDelete.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
991
ClickDelete.BorderSizePixel = 0
992
ClickDelete.Position = UDim2.new(0, 0, 0, 25)
993
ClickDelete.Size = UDim2.new(0, 200, 0, 20)
994
ClickDelete.ZIndex = 10
995
ClickDelete.Font = Enum.Font.SourceSans
996
ClickDelete.Text = "    Click Delete (Hold Key & Click)"
997
ClickDelete.TextColor3 = Color3.fromRGB(255, 255, 255)
998
ClickDelete.TextSize = 14.000
999
ClickDelete.TextXAlignment = Enum.TextXAlignment.Left
1000
table.insert(shade2,ClickDelete)
1001
table.insert(text1,ClickDelete)
1002
1003
Select_2.Name = "Select"
1004
Select_2.Parent = ClickDelete
1005
Select_2.BackgroundColor3 = Color3.fromRGB(78, 78, 79)
1006
Select_2.BorderSizePixel = 0
1007
Select_2.Position = UDim2.new(0, 160, 0, 0)
1008
Select_2.Size = UDim2.new(0, 40, 0, 20)
1009
Select_2.ZIndex = 10
1010
Select_2.Font = Enum.Font.SourceSans
1011
Select_2.Text = "Add"
1012
Select_2.TextColor3 = Color3.fromRGB(0, 0, 0)
1013
Select_2.TextSize = 14.000
1014
table.insert(shade3,Select_2)
1015
table.insert(text2,Select_2)
1016
1017
Cmdbar_2.Name = "Cmdbar_2"
1018
Cmdbar_2.Parent = background_2
1019
Cmdbar_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1020
Cmdbar_2.BorderSizePixel = 0
1021
Cmdbar_2.Position = UDim2.new(0, 150, 0, 35)
1022
Cmdbar_2.Size = UDim2.new(0, 150, 0, 20)
1023
Cmdbar_2.ZIndex = 10
1024
Cmdbar_2.Font = Enum.Font.SourceSans
1025
Cmdbar_2.PlaceholderText = "Command"
1026
Cmdbar_2.Text = ""
1027
Cmdbar_2.TextColor3 = Color3.fromRGB(255, 255, 255)
1028
Cmdbar_2.TextSize = 14.000
1029
Cmdbar_2.TextXAlignment = Enum.TextXAlignment.Left
1030
1031
Cmdbar_3.Name = "Cmdbar_3"
1032
Cmdbar_3.Parent = background_2
1033
Cmdbar_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1034
Cmdbar_3.BorderSizePixel = 0
1035
Cmdbar_3.Position = UDim2.new(0, 150, 0, 60)
1036
Cmdbar_3.Size = UDim2.new(0, 150, 0, 20)
1037
Cmdbar_3.ZIndex = 10
1038
Cmdbar_3.Font = Enum.Font.SourceSans
1039
Cmdbar_3.PlaceholderText = "Command 2"
1040
Cmdbar_3.Text = ""
1041
Cmdbar_3.TextColor3 = Color3.fromRGB(255, 255, 255)
1042
Cmdbar_3.TextSize = 14.000
1043
Cmdbar_3.TextXAlignment = Enum.TextXAlignment.Left
1044
1045
CreateToggle.Name = "CreateToggle"
1046
CreateToggle.Parent = background_2
1047
CreateToggle.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1048
CreateToggle.BackgroundTransparency = 1
1049
CreateToggle.BorderSizePixel = 0
1050
CreateToggle.Position = UDim2.new(0, 152, 0, 10)
1051
CreateToggle.Size = UDim2.new(0, 198, 0, 20)
1052
CreateToggle.ZIndex = 10
1053
CreateToggle.Font = Enum.Font.SourceSans
1054
CreateToggle.Text = "Create Toggle"
1055
CreateToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
1056
CreateToggle.TextSize = 14.000
1057
CreateToggle.TextXAlignment = Enum.TextXAlignment.Left
1058
table.insert(text1,CreateToggle)
1059
1060
Button_2.Name = "Button"
1061
Button_2.Parent = CreateToggle
1062
Button_2.BackgroundColor3 = Color3.fromRGB(78, 78, 79)
1063
Button_2.BorderSizePixel = 0
1064
Button_2.Position = UDim2.new(1, -20, 0, 0)
1065
Button_2.Size = UDim2.new(0, 20, 0, 20)
1066
Button_2.ZIndex = 10
1067
table.insert(shade3,Button_2)
1068
1069
On_2.Name = "On"
1070
On_2.Parent = Button_2
1071
On_2.BackgroundColor3 = Color3.fromRGB(150, 150, 151)
1072
On_2.BackgroundTransparency = 1
1073
On_2.BorderSizePixel = 0
1074
On_2.Position = UDim2.new(0, 2, 0, 2)
1075
On_2.Size = UDim2.new(0, 16, 0, 16)
1076
On_2.ZIndex = 10
1077
On_2.Font = Enum.Font.SourceSans
1078
On_2.Text = ""
1079
On_2.TextColor3 = Color3.fromRGB(0, 0, 0)
1080
On_2.TextSize = 14.000
1081
1082
shadow_2.Name = "shadow"
1083
shadow_2.Parent = KeybindEditor
1084
shadow_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1085
shadow_2.BorderSizePixel = 0
1086
shadow_2.Size = UDim2.new(0, 360, 0, 20)
1087
shadow_2.ZIndex = 10
1088
table.insert(shade2,shadow_2)
1089
1090
PopupText_2.Name = "PopupText_2"
1091
PopupText_2.Parent = shadow_2
1092
PopupText_2.BackgroundTransparency = 1
1093
PopupText_2.Size = UDim2.new(1, 0, 0.949999988, 0)
1094
PopupText_2.ZIndex = 10
1095
PopupText_2.Font = Enum.Font.SourceSans
1096
PopupText_2.Text = "Set Keybinds"
1097
PopupText_2.TextColor3 = Color3.fromRGB(255, 255, 255)
1098
PopupText_2.TextSize = 14.000
1099
PopupText_2.TextWrapped = true
1100
table.insert(text1,PopupText_2)
1101
1102
Exit_2.Name = "Exit_2"
1103
Exit_2.Parent = shadow_2
1104
Exit_2.BackgroundTransparency = 1
1105
Exit_2.Position = UDim2.new(1, -20, 0, 0)
1106
Exit_2.Size = UDim2.new(0, 20, 0, 20)
1107
Exit_2.ZIndex = 10
1108
Exit_2.Text = ""
1109
1110
ExitImage_2.Parent = Exit_2
1111
ExitImage_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1112
ExitImage_2.BackgroundTransparency = 1
1113
ExitImage_2.Position = UDim2.new(0, 5, 0, 5)
1114
ExitImage_2.Size = UDim2.new(0, 10, 0, 10)
1115
ExitImage_2.ZIndex = 10
1116
ExitImage_2.Image = getcustomasset("infiniteyield/assets/close.png")
1117
1118
PositionsFrame.Name = "PositionsFrame"
1119
PositionsFrame.Parent = Settings
1120
PositionsFrame.Active = true
1121
PositionsFrame.BackgroundColor3 = Color3.fromRGB(36, 36, 37)
1122
PositionsFrame.BorderSizePixel = 0
1123
PositionsFrame.Size = UDim2.new(0, 250, 0, 175)
1124
PositionsFrame.Position = UDim2.new(0, 0, 0, 175)
1125
PositionsFrame.ZIndex = 10
1126
table.insert(shade1,PositionsFrame)
1127
1128
Close_3.Name = "Close"
1129
Close_3.Parent = PositionsFrame
1130
Close_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1131
Close_3.BorderSizePixel = 0
1132
Close_3.Position = UDim2.new(0, 205, 0, 150)
1133
Close_3.Size = UDim2.new(0, 40, 0, 20)
1134
Close_3.Font = Enum.Font.SourceSans
1135
Close_3.TextSize = 14
1136
Close_3.Text = "Close"
1137
Close_3.TextColor3 = Color3.new(1, 1, 1)
1138
Close_3.ZIndex = 10
1139
table.insert(shade2,Close_3)
1140
table.insert(text1,Close_3)
1141
1142
Delete_5.Name = "Delete"
1143
Delete_5.Parent = PositionsFrame
1144
Delete_5.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1145
Delete_5.BorderSizePixel = 0
1146
Delete_5.Position = UDim2.new(0, 50, 0, 150)
1147
Delete_5.Size = UDim2.new(0, 40, 0, 20)
1148
Delete_5.Font = Enum.Font.SourceSans
1149
Delete_5.TextSize = 14
1150
Delete_5.Text = "Clear"
1151
Delete_5.TextColor3 = Color3.new(1, 1, 1)
1152
Delete_5.ZIndex = 10
1153
table.insert(shade2,Delete_5)
1154
table.insert(text1,Delete_5)
1155
1156
Part.Name = "PartGoto"
1157
Part.Parent = PositionsFrame
1158
Part.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1159
Part.BorderSizePixel = 0
1160
Part.Position = UDim2.new(0, 5, 0, 150)
1161
Part.Size = UDim2.new(0, 40, 0, 20)
1162
Part.Font = Enum.Font.SourceSans
1163
Part.TextSize = 14
1164
Part.Text = "Part"
1165
Part.TextColor3 = Color3.new(1, 1, 1)
1166
Part.ZIndex = 10
1167
table.insert(shade2,Part)
1168
table.insert(text1,Part)
1169
1170
Holder_4.Name = "Holder"
1171
Holder_4.Parent = PositionsFrame
1172
Holder_4.BackgroundTransparency = 1
1173
Holder_4.BorderSizePixel = 0
1174
Holder_4.Position = UDim2.new(0, 0, 0, 0)
1175
Holder_4.Selectable = false
1176
Holder_4.Size = UDim2.new(0, 250, 0, 145)
1177
Holder_4.ScrollBarImageColor3 = Color3.fromRGB(78,78,79)
1178
Holder_4.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
1179
Holder_4.CanvasSize = UDim2.new(0, 0, 0, 0)
1180
Holder_4.MidImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
1181
Holder_4.ScrollBarThickness = 0
1182
Holder_4.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
1183
Holder_4.VerticalScrollBarInset = 'Always'
1184
Holder_4.ZIndex = 10
1185
1186
Example_4.Name = "Example"
1187
Example_4.Parent = PositionsFrame
1188
Example_4.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1189
Example_4.BorderSizePixel = 0
1190
Example_4.Size = UDim2.new(0, 10, 0, 20)
1191
Example_4.Visible = false
1192
Example_4.Position = UDim2.new(0, 0, 0, -5)
1193
Example_4.ZIndex = 10
1194
table.insert(shade2,Example_4)
1195
1196
Text_5.Name = "Text"
1197
Text_5.Parent = Example_4
1198
Text_5.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1199
Text_5.BorderSizePixel = 0
1200
Text_5.Position = UDim2.new(0, 10, 0, 0)
1201
Text_5.Size = UDim2.new(0, 240, 0, 20)
1202
Text_5.Font = Enum.Font.SourceSans
1203
Text_5.TextSize = 14
1204
Text_5.Text = "Position"
1205
Text_5.TextColor3 = Color3.new(1, 1, 1)
1206
Text_5.TextXAlignment = Enum.TextXAlignment.Left
1207
Text_5.ZIndex = 10
1208
table.insert(shade2,Text_5)
1209
table.insert(text1,Text_5)
1210
1211
Delete_6.Name = "Delete"
1212
Delete_6.Parent = Text_5
1213
Delete_6.BackgroundColor3 = Color3.fromRGB(78, 78, 79)
1214
Delete_6.BorderSizePixel = 0
1215
Delete_6.Position = UDim2.new(0, 200, 0, 0)
1216
Delete_6.Size = UDim2.new(0, 40, 0, 20)
1217
Delete_6.Font = Enum.Font.SourceSans
1218
Delete_6.TextSize = 14
1219
Delete_6.Text = "Delete"
1220
Delete_6.TextColor3 = Color3.new(0, 0, 0)
1221
Delete_6.ZIndex = 10
1222
table.insert(shade3,Delete_6)
1223
table.insert(text2,Delete_6)
1224
1225
TP.Name = "TP"
1226
TP.Parent = Text_5
1227
TP.BackgroundColor3 = Color3.fromRGB(78, 78, 79)
1228
TP.BorderSizePixel = 0
1229
TP.Position = UDim2.new(0, 155, 0, 0)
1230
TP.Size = UDim2.new(0, 40, 0, 20)
1231
TP.Font = Enum.Font.SourceSans
1232
TP.TextSize = 14
1233
TP.Text = "Goto"
1234
TP.TextColor3 = Color3.new(0, 0, 0)
1235
TP.ZIndex = 10
1236
table.insert(shade3,TP)
1237
table.insert(text2,TP)
1238
1239
AliasesFrame.Name = "AliasesFrame"
1240
AliasesFrame.Parent = Settings
1241
AliasesFrame.Active = true
1242
AliasesFrame.BackgroundColor3 = Color3.fromRGB(36, 36, 37)
1243
AliasesFrame.BorderSizePixel = 0
1244
AliasesFrame.Position = UDim2.new(0, 0, 0, 175)
1245
AliasesFrame.Size = UDim2.new(0, 250, 0, 175)
1246
AliasesFrame.ZIndex = 10
1247
table.insert(shade1,AliasesFrame)
1248
1249
Close_2.Name = "Close"
1250
Close_2.Parent = AliasesFrame
1251
Close_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1252
Close_2.BorderSizePixel = 0
1253
Close_2.Position = UDim2.new(0, 205, 0, 150)
1254
Close_2.Size = UDim2.new(0, 40, 0, 20)
1255
Close_2.Font = Enum.Font.SourceSans
1256
Close_2.TextSize = 14
1257
Close_2.Text = "Close"
1258
Close_2.TextColor3 = Color3.new(1, 1, 1)
1259
Close_2.ZIndex = 10
1260
table.insert(shade2,Close_2)
1261
table.insert(text1,Close_2)
1262
1263
Delete_3.Name = "Delete"
1264
Delete_3.Parent = AliasesFrame
1265
Delete_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1266
Delete_3.BorderSizePixel = 0
1267
Delete_3.Position = UDim2.new(0, 5, 0, 150)
1268
Delete_3.Size = UDim2.new(0, 40, 0, 20)
1269
Delete_3.Font = Enum.Font.SourceSans
1270
Delete_3.TextSize = 14
1271
Delete_3.Text = "Clear"
1272
Delete_3.TextColor3 = Color3.new(1, 1, 1)
1273
Delete_3.ZIndex = 10
1274
table.insert(shade2,Delete_3)
1275
table.insert(text1,Delete_3)
1276
1277
Holder_3.Name = "Holder"
1278
Holder_3.Parent = AliasesFrame
1279
Holder_3.BackgroundTransparency = 1
1280
Holder_3.BorderSizePixel = 0
1281
Holder_3.Position = UDim2.new(0, 0, 0, 0)
1282
Holder_3.Size = UDim2.new(0, 250, 0, 145)
1283
Holder_3.ScrollBarImageColor3 = Color3.fromRGB(78,78,79)
1284
Holder_3.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
1285
Holder_3.CanvasSize = UDim2.new(0, 0, 0, 0)
1286
Holder_3.MidImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
1287
Holder_3.ScrollBarThickness = 0
1288
Holder_3.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
1289
Holder_3.VerticalScrollBarInset = 'Always'
1290
Holder_3.ZIndex = 10
1291
1292
Example_3.Name = "Example"
1293
Example_3.Parent = AliasesFrame
1294
Example_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1295
Example_3.BorderSizePixel = 0
1296
Example_3.Size = UDim2.new(0, 10, 0, 20)
1297
Example_3.Visible = false
1298
Example_3.ZIndex = 10
1299
table.insert(shade2,Example_3)
1300
1301
Text_4.Name = "Text"
1302
Text_4.Parent = Example_3
1303
Text_4.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1304
Text_4.BorderSizePixel = 0
1305
Text_4.Position = UDim2.new(0, 10, 0, 0)
1306
Text_4.Size = UDim2.new(0, 240, 0, 20)
1307
Text_4.Font = Enum.Font.SourceSans
1308
Text_4.TextSize = 14
1309
Text_4.Text = "honk"
1310
Text_4.TextColor3 = Color3.new(1, 1, 1)
1311
Text_4.TextXAlignment = Enum.TextXAlignment.Left
1312
Text_4.ZIndex = 10
1313
table.insert(shade2,Text_4)
1314
table.insert(text1,Text_4)
1315
1316
Delete_4.Name = "Delete"
1317
Delete_4.Parent = Text_4
1318
Delete_4.BackgroundColor3 = Color3.fromRGB(78, 78, 79)
1319
Delete_4.BorderSizePixel = 0
1320
Delete_4.Position = UDim2.new(0, 200, 0, 0)
1321
Delete_4.Size = UDim2.new(0, 40, 0, 20)
1322
Delete_4.Font = Enum.Font.SourceSans
1323
Delete_4.TextSize = 14
1324
Delete_4.Text = "Delete"
1325
Delete_4.TextColor3 = Color3.new(0, 0, 0)
1326
Delete_4.ZIndex = 10
1327
table.insert(shade3,Delete_4)
1328
table.insert(text2,Delete_4)
1329
1330
PluginsFrame.Name = "PluginsFrame"
1331
PluginsFrame.Parent = Settings
1332
PluginsFrame.Active = true
1333
PluginsFrame.BackgroundColor3 = Color3.fromRGB(36, 36, 37)
1334
PluginsFrame.BorderSizePixel = 0
1335
PluginsFrame.Position = UDim2.new(0, 0, 0, 175)
1336
PluginsFrame.Size = UDim2.new(0, 250, 0, 175)
1337
PluginsFrame.ZIndex = 10
1338
table.insert(shade1,PluginsFrame)
1339
1340
Close_4.Name = "Close"
1341
Close_4.Parent = PluginsFrame
1342
Close_4.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1343
Close_4.BorderSizePixel = 0
1344
Close_4.Position = UDim2.new(0, 205, 0, 150)
1345
Close_4.Size = UDim2.new(0, 40, 0, 20)
1346
Close_4.Font = Enum.Font.SourceSans
1347
Close_4.TextSize = 14
1348
Close_4.Text = "Close"
1349
Close_4.TextColor3 = Color3.new(1, 1, 1)
1350
Close_4.ZIndex = 10
1351
table.insert(shade2,Close_4)
1352
table.insert(text1,Close_4)
1353
1354
Add_3.Name = "Add"
1355
Add_3.Parent = PluginsFrame
1356
Add_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1357
Add_3.BorderSizePixel = 0
1358
Add_3.Position = UDim2.new(0, 5, 0, 150)
1359
Add_3.Size = UDim2.new(0, 40, 0, 20)
1360
Add_3.Font = Enum.Font.SourceSans
1361
Add_3.TextSize = 14
1362
Add_3.Text = "Add"
1363
Add_3.TextColor3 = Color3.new(1, 1, 1)
1364
Add_3.ZIndex = 10
1365
table.insert(shade2,Add_3)
1366
table.insert(text1,Add_3)
1367
1368
Holder_5.Name = "Holder"
1369
Holder_5.Parent = PluginsFrame
1370
Holder_5.BackgroundTransparency = 1
1371
Holder_5.BorderSizePixel = 0
1372
Holder_5.Position = UDim2.new(0, 0, 0, 0)
1373
Holder_5.Selectable = false
1374
Holder_5.Size = UDim2.new(0, 250, 0, 145)
1375
Holder_5.ScrollBarImageColor3 = Color3.fromRGB(78,78,79)
1376
Holder_5.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
1377
Holder_5.CanvasSize = UDim2.new(0, 0, 0, 0)
1378
Holder_5.MidImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
1379
Holder_5.ScrollBarThickness = 0
1380
Holder_5.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
1381
Holder_5.VerticalScrollBarInset = 'Always'
1382
Holder_5.ZIndex = 10
1383
1384
Example_5.Name = "Example"
1385
Example_5.Parent = PluginsFrame
1386
Example_5.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1387
Example_5.BorderSizePixel = 0
1388
Example_5.Size = UDim2.new(0, 10, 0, 20)
1389
Example_5.Visible = false
1390
Example_5.ZIndex = 10
1391
table.insert(shade2,Example_5)
1392
1393
Text_6.Name = "Text"
1394
Text_6.Parent = Example_5
1395
Text_6.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1396
Text_6.BorderSizePixel = 0
1397
Text_6.Position = UDim2.new(0, 10, 0, 0)
1398
Text_6.Size = UDim2.new(0, 240, 0, 20)
1399
Text_6.Font = Enum.Font.SourceSans
1400
Text_6.TextSize = 14
1401
Text_6.Text = "F4 > Toggle Fly"
1402
Text_6.TextColor3 = Color3.new(1, 1, 1)
1403
Text_6.TextXAlignment = Enum.TextXAlignment.Left
1404
Text_6.ZIndex = 10
1405
table.insert(shade2,Text_6)
1406
table.insert(text1,Text_6)
1407
1408
Delete_7.Name = "Delete"
1409
Delete_7.Parent = Text_6
1410
Delete_7.BackgroundColor3 = Color3.fromRGB(78, 78, 79)
1411
Delete_7.BorderSizePixel = 0
1412
Delete_7.Position = UDim2.new(0, 200, 0, 0)
1413
Delete_7.Size = UDim2.new(0, 40, 0, 20)
1414
Delete_7.Font = Enum.Font.SourceSans
1415
Delete_7.TextSize = 14
1416
Delete_7.Text = "Delete"
1417
Delete_7.TextColor3 = Color3.new(0, 0, 0)
1418
Delete_7.ZIndex = 10
1419
table.insert(shade3,Delete_7)
1420
table.insert(text2,Delete_7)
1421
1422
PluginEditor.Name = randomString()
1423
PluginEditor.Parent = ScaledHolder
1424
PluginEditor.BorderSizePixel = 0
1425
PluginEditor.Active = true
1426
PluginEditor.BackgroundTransparency = 1
1427
PluginEditor.Position = UDim2.new(0.5, -180, 0, -500)
1428
PluginEditor.Size = UDim2.new(0, 360, 0, 20)
1429
PluginEditor.ZIndex = 10
1430
1431
background_3.Name = "background"
1432
background_3.Parent = PluginEditor
1433
background_3.Active = true
1434
background_3.BackgroundColor3 = Color3.fromRGB(36, 36, 37)
1435
background_3.BorderSizePixel = 0
1436
background_3.Position = UDim2.new(0, 0, 0, 20)
1437
background_3.Size = UDim2.new(0, 360, 0, 160)
1438
background_3.ZIndex = 10
1439
table.insert(shade1,background_3)
1440
1441
Dark_2.Name = "Dark"
1442
Dark_2.Parent = background_3
1443
Dark_2.Active = true
1444
Dark_2.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1445
Dark_2.BorderSizePixel = 0
1446
Dark_2.Position = UDim2.new(0, 222, 0, 0)
1447
Dark_2.Size = UDim2.new(0, 2, 0, 160)
1448
Dark_2.ZIndex = 10
1449
table.insert(shade2,Dark_2)
1450
1451
Img.Name = "Img"
1452
Img.Parent = background_3
1453
Img.BackgroundTransparency = 1
1454
Img.Position = UDim2.new(0, 242, 0, 3)
1455
Img.Size = UDim2.new(0, 100, 0, 95)
1456
Img.Image = getcustomasset("infiniteyield/assets/imgstudiopluginlogo.png")
1457
Img.ZIndex = 10
1458
1459
AddPlugin.Name = "AddPlugin"
1460
AddPlugin.Parent = background_3
1461
AddPlugin.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1462
AddPlugin.BorderSizePixel = 0
1463
AddPlugin.Position = UDim2.new(0, 235, 0, 100)
1464
AddPlugin.Size = UDim2.new(0, 115, 0, 50)
1465
AddPlugin.Font = Enum.Font.SourceSans
1466
AddPlugin.TextSize = 14
1467
AddPlugin.Text = "Add Plugin"
1468
AddPlugin.TextColor3 = Color3.new(1, 1, 1)
1469
AddPlugin.ZIndex = 10
1470
table.insert(shade2,AddPlugin)
1471
table.insert(text1,AddPlugin)
1472
1473
FileName.Name = "FileName"
1474
FileName.Parent = background_3
1475
FileName.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1476
FileName.BorderSizePixel = 0
1477
FileName.Position = UDim2.new(0.028, 0, 0.625, 0)
1478
FileName.Size = UDim2.new(0, 200, 0, 50)
1479
FileName.Font = Enum.Font.SourceSans
1480
FileName.TextSize = 14
1481
FileName.Text = "Plugin File Name"
1482
FileName.TextColor3 = Color3.new(1, 1, 1)
1483
FileName.ZIndex = 10
1484
table.insert(shade2,FileName)
1485
table.insert(text1,FileName)
1486
1487
About.Name = "About"
1488
About.Parent = background_3
1489
About.BackgroundTransparency = 1
1490
About.BorderSizePixel = 0
1491
About.Position = UDim2.new(0, 17, 0, 10)
1492
About.Size = UDim2.new(0, 187, 0, 49)
1493
About.Font = Enum.Font.SourceSans
1494
About.TextSize = 14
1495
About.Text = "Plugins are .iy files and should be located in the 'workspace' folder of your exploit."
1496
About.TextColor3 = Color3.fromRGB(255, 255, 255)
1497
About.TextWrapped = true
1498
About.TextYAlignment = Enum.TextYAlignment.Top
1499
About.ZIndex = 10
1500
table.insert(text1,About)
1501
1502
Directions_2.Name = "Directions"
1503
Directions_2.Parent = background_3
1504
Directions_2.BackgroundTransparency = 1
1505
Directions_2.BorderSizePixel = 0
1506
Directions_2.Position = UDim2.new(0, 17, 0, 60)
1507
Directions_2.Size = UDim2.new(0, 187, 0, 49)
1508
Directions_2.Font = Enum.Font.SourceSans
1509
Directions_2.TextSize = 14
1510
Directions_2.Text = "Type the name of the plugin file you want to add below."
1511
Directions_2.TextColor3 = Color3.fromRGB(255, 255, 255)
1512
Directions_2.TextWrapped = true
1513
Directions_2.TextYAlignment = Enum.TextYAlignment.Top
1514
Directions_2.ZIndex = 10
1515
table.insert(text1,Directions_2)
1516
1517
shadow_3.Name = "shadow"
1518
shadow_3.Parent = PluginEditor
1519
shadow_3.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1520
shadow_3.BorderSizePixel = 0
1521
shadow_3.Size = UDim2.new(0, 360, 0, 20)
1522
shadow_3.ZIndex = 10
1523
table.insert(shade2,shadow_3)
1524
1525
PopupText_3.Name = "PopupText"
1526
PopupText_3.Parent = shadow_3
1527
PopupText_3.BackgroundTransparency = 1
1528
PopupText_3.Size = UDim2.new(1, 0, 0.95, 0)
1529
PopupText_3.ZIndex = 10
1530
PopupText_3.Font = Enum.Font.SourceSans
1531
PopupText_3.TextSize = 14
1532
PopupText_3.Text = "Add Plugins"
1533
PopupText_3.TextColor3 = Color3.new(1, 1, 1)
1534
PopupText_3.TextWrapped = true
1535
table.insert(text1,PopupText_3)
1536
1537
Exit_3.Name = "Exit"
1538
Exit_3.Parent = shadow_3
1539
Exit_3.BackgroundTransparency = 1
1540
Exit_3.Position = UDim2.new(1, -20, 0, 0)
1541
Exit_3.Size = UDim2.new(0, 20, 0, 20)
1542
Exit_3.Text = ""
1543
Exit_3.ZIndex = 10
1544
1545
ExitImage_3.Parent = Exit_3
1546
ExitImage_3.BackgroundColor3 = Color3.new(1, 1, 1)
1547
ExitImage_3.BackgroundTransparency = 1
1548
ExitImage_3.Position = UDim2.new(0, 5, 0, 5)
1549
ExitImage_3.Size = UDim2.new(0, 10, 0, 10)
1550
ExitImage_3.Image = getcustomasset("infiniteyield/assets/close.png")
1551
ExitImage_3.ZIndex = 10
1552
1553
AliasHint.Name = "AliasHint"
1554
AliasHint.Parent = AliasesFrame
1555
AliasHint.BackgroundTransparency = 1
1556
AliasHint.BorderSizePixel = 0
1557
AliasHint.Position = UDim2.new(0, 25, 0, 40)
1558
AliasHint.Size = UDim2.new(0, 200, 0, 50)
1559
AliasHint.Font = Enum.Font.SourceSansItalic
1560
AliasHint.TextSize = 16
1561
AliasHint.Text = "Add aliases by using the 'addalias' command"
1562
AliasHint.TextColor3 = Color3.new(1, 1, 1)
1563
AliasHint.TextStrokeColor3 = Color3.new(1, 1, 1)
1564
AliasHint.TextWrapped = true
1565
AliasHint.ZIndex = 10
1566
table.insert(text1,AliasHint)
1567
1568
PluginsHint.Name = "PluginsHint"
1569
PluginsHint.Parent = PluginsFrame
1570
PluginsHint.BackgroundTransparency = 1
1571
PluginsHint.BorderSizePixel = 0
1572
PluginsHint.Position = UDim2.new(0, 25, 0, 40)
1573
PluginsHint.Size = UDim2.new(0, 200, 0, 50)
1574
PluginsHint.Font = Enum.Font.SourceSansItalic
1575
PluginsHint.TextSize = 16
1576
PluginsHint.Text = "Download plugins from the IY Discord (discord.gg/78ZuWSq)"
1577
PluginsHint.TextColor3 = Color3.new(1, 1, 1)
1578
PluginsHint.TextStrokeColor3 = Color3.new(1, 1, 1)
1579
PluginsHint.TextWrapped = true
1580
PluginsHint.ZIndex = 10
1581
table.insert(text1,PluginsHint)
1582
1583
PositionsHint.Name = "PositionsHint"
1584
PositionsHint.Parent = PositionsFrame
1585
PositionsHint.BackgroundTransparency = 1
1586
PositionsHint.BorderSizePixel = 0
1587
PositionsHint.Position = UDim2.new(0, 25, 0, 40)
1588
PositionsHint.Size = UDim2.new(0, 200, 0, 70)
1589
PositionsHint.Font = Enum.Font.SourceSansItalic
1590
PositionsHint.TextSize = 16
1591
PositionsHint.Text = "Use the 'swp' or 'setwaypoint' command to add a position using your character (NOTE: Part teleports will not save)"
1592
PositionsHint.TextColor3 = Color3.new(1, 1, 1)
1593
PositionsHint.TextStrokeColor3 = Color3.new(1, 1, 1)
1594
PositionsHint.TextWrapped = true
1595
PositionsHint.ZIndex = 10
1596
table.insert(text1,PositionsHint)
1597
1598
ToPartFrame.Name = randomString()
1599
ToPartFrame.Parent = ScaledHolder
1600
ToPartFrame.Active = true
1601
ToPartFrame.BackgroundTransparency = 1
1602
ToPartFrame.Position = UDim2.new(0.5, -180, 0, -500)
1603
ToPartFrame.Size = UDim2.new(0, 360, 0, 20)
1604
ToPartFrame.ZIndex = 10
1605
1606
background_4.Name = "background"
1607
background_4.Parent = ToPartFrame
1608
background_4.Active = true
1609
background_4.BackgroundColor3 = Color3.fromRGB(36, 36, 37)
1610
background_4.BorderSizePixel = 0
1611
background_4.Position = UDim2.new(0, 0, 0, 20)
1612
background_4.Size = UDim2.new(0, 360, 0, 117)
1613
background_4.ZIndex = 10
1614
table.insert(shade1,background_4)
1615
1616
ChoosePart.Name = "ChoosePart"
1617
ChoosePart.Parent = background_4
1618
ChoosePart.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1619
ChoosePart.BorderSizePixel = 0
1620
ChoosePart.Position = UDim2.new(0, 100, 0, 55)
1621
ChoosePart.Size = UDim2.new(0, 75, 0, 30)
1622
ChoosePart.Font = Enum.Font.SourceSans
1623
ChoosePart.TextSize = 14
1624
ChoosePart.Text = "Select Part"
1625
ChoosePart.TextColor3 = Color3.new(1, 1, 1)
1626
ChoosePart.ZIndex = 10
1627
table.insert(shade2,ChoosePart)
1628
table.insert(text1,ChoosePart)
1629
1630
CopyPath.Name = "CopyPath"
1631
CopyPath.Parent = background_4
1632
CopyPath.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1633
CopyPath.BorderSizePixel = 0
1634
CopyPath.Position = UDim2.new(0, 185, 0, 55)
1635
CopyPath.Size = UDim2.new(0, 75, 0, 30)
1636
CopyPath.Font = Enum.Font.SourceSans
1637
CopyPath.TextSize = 14
1638
CopyPath.Text = "Copy Path"
1639
CopyPath.TextColor3 = Color3.new(1, 1, 1)
1640
CopyPath.ZIndex = 10
1641
table.insert(shade2,CopyPath)
1642
table.insert(text1,CopyPath)
1643
1644
Directions_3.Name = "Directions"
1645
Directions_3.Parent = background_4
1646
Directions_3.BackgroundTransparency = 1
1647
Directions_3.BorderSizePixel = 0
1648
Directions_3.Position = UDim2.new(0, 51, 0, 17)
1649
Directions_3.Size = UDim2.new(0, 257, 0, 32)
1650
Directions_3.Font = Enum.Font.SourceSans
1651
Directions_3.TextSize = 14
1652
Directions_3.Text = 'Click on a part and then click the "Select Part" button below to set it as a teleport location'
1653
Directions_3.TextColor3 = Color3.new(1, 1, 1)
1654
Directions_3.TextWrapped = true
1655
Directions_3.TextYAlignment = Enum.TextYAlignment.Top
1656
Directions_3.ZIndex = 10
1657
table.insert(text1,Directions_3)
1658
1659
Path.Name = "Path"
1660
Path.Parent = background_4
1661
Path.BackgroundTransparency = 1
1662
Path.BorderSizePixel = 0
1663
Path.Position = UDim2.new(0, 0, 0, 94)
1664
Path.Size = UDim2.new(0, 360, 0, 16)
1665
Path.Font = Enum.Font.SourceSansItalic
1666
Path.TextSize = 14
1667
Path.Text = ""
1668
Path.TextColor3 = Color3.new(1, 1, 1)
1669
Path.TextScaled = true
1670
Path.TextWrapped = true
1671
Path.TextYAlignment = Enum.TextYAlignment.Top
1672
Path.ZIndex = 10
1673
table.insert(text1,Path)
1674
1675
shadow_4.Name = "shadow"
1676
shadow_4.Parent = ToPartFrame
1677
shadow_4.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
1678
shadow_4.BorderSizePixel = 0
1679
shadow_4.Size = UDim2.new(0, 360, 0, 20)
1680
shadow_4.ZIndex = 10
1681
table.insert(shade2,shadow_4)
1682
1683
PopupText_5.Name = "PopupText"
1684
PopupText_5.Parent = shadow_4
1685
PopupText_5.BackgroundTransparency = 1
1686
PopupText_5.Size = UDim2.new(1, 0, 0.95, 0)
1687
PopupText_5.ZIndex = 10
1688
PopupText_5.Font = Enum.Font.SourceSans
1689
PopupText_5.TextSize = 14
1690
PopupText_5.Text = "Teleport to Part"
1691
PopupText_5.TextColor3 = Color3.new(1, 1, 1)
1692
PopupText_5.TextWrapped = true
1693
table.insert(text1,PopupText_5)
1694
1695
Exit_4.Name = "Exit"
1696
Exit_4.Parent = shadow_4
1697
Exit_4.BackgroundTransparency = 1
1698
Exit_4.Position = UDim2.new(1, -20, 0, 0)
1699
Exit_4.Size = UDim2.new(0, 20, 0, 20)
1700
Exit_4.Text = ""
1701
Exit_4.ZIndex = 10
1702
1703
ExitImage_5.Parent = Exit_4
1704
ExitImage_5.BackgroundColor3 = Color3.new(1, 1, 1)
1705
ExitImage_5.BackgroundTransparency = 1
1706
ExitImage_5.Position = UDim2.new(0, 5, 0, 5)
1707
ExitImage_5.Size = UDim2.new(0, 10, 0, 10)
1708
ExitImage_5.Image = getcustomasset("infiniteyield/assets/close.png")
1709
ExitImage_5.ZIndex = 10
1710
1711
logs.Name = randomString()
1712
logs.Parent = ScaledHolder
1713
logs.Active = true
1714
logs.BackgroundTransparency = 1
1715
logs.Position = UDim2.new(0, 0, 1, 10)
1716
logs.Size = UDim2.new(0, 338, 0, 20)
1717
logs.ZIndex = 10
1718
1719
shadow.Name = "shadow"
1720
shadow.Parent = logs
1721
shadow.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314)
1722
shadow.BorderSizePixel = 0
1723
shadow.Position = UDim2.new(0, 0, 0.00999999978, 0)
1724
shadow.Size = UDim2.new(0, 338, 0, 20)
1725
shadow.ZIndex = 10
1726
table.insert(shade2,shadow)
1727
1728
Hide.Name = "Hide"
1729
Hide.Parent = shadow
1730
Hide.BackgroundTransparency = 1
1731
Hide.Position = UDim2.new(1, -40, 0, 0)
1732
Hide.Size = UDim2.new(0, 20, 0, 20)
1733
Hide.ZIndex = 10
1734
Hide.Text = ""
1735
1736
ImageLabel.Parent = Hide
1737
ImageLabel.BackgroundColor3 = Color3.new(1, 1, 1)
1738
ImageLabel.BackgroundTransparency = 1
1739
ImageLabel.Position = UDim2.new(0, 3, 0, 3)
1740
ImageLabel.Size = UDim2.new(0, 14, 0, 14)
1741
ImageLabel.Image = getcustomasset("infiniteyield/assets/minimize.png")
1742
ImageLabel.ZIndex = 10
1743
1744
PopupText.Name = "PopupText"
1745
PopupText.Parent = shadow
1746
PopupText.BackgroundTransparency = 1
1747
PopupText.Size = UDim2.new(1, 0, 0.949999988, 0)
1748
PopupText.ZIndex = 10
1749
PopupText.Font = Enum.Font.SourceSans
1750
PopupText.FontSize = Enum.FontSize.Size14
1751
PopupText.Text = "Logs"
1752
PopupText.TextColor3 = Color3.new(1, 1, 1)
1753
PopupText.TextWrapped = true
1754
table.insert(text1,PopupText)
1755
1756
Exit.Name = "Exit"
1757
Exit.Parent = shadow
1758
Exit.BackgroundTransparency = 1
1759
Exit.Position = UDim2.new(1, -20, 0, 0)
1760
Exit.Size = UDim2.new(0, 20, 0, 20)
1761
Exit.ZIndex = 10
1762
Exit.Text = ""
1763
1764
ImageLabel_2.Parent = Exit
1765
ImageLabel_2.BackgroundColor3 = Color3.new(1, 1, 1)
1766
ImageLabel_2.BackgroundTransparency = 1
1767
ImageLabel_2.Position = UDim2.new(0, 5, 0, 5)
1768
ImageLabel_2.Size = UDim2.new(0, 10, 0, 10)
1769
ImageLabel_2.Image = getcustomasset("infiniteyield/assets/close.png")
1770
ImageLabel_2.ZIndex = 10
1771
1772
background.Name = "background"
1773
background.Parent = logs
1774
background.Active = true
1775
background.BackgroundColor3 = Color3.new(0.141176, 0.141176, 0.145098)
1776
background.BorderSizePixel = 0
1777
background.ClipsDescendants = true
1778
background.Position = UDim2.new(0, 0, 1, 0)
1779
background.Size = UDim2.new(0, 338, 0, 245)
1780
background.ZIndex = 10
1781
1782
chat.Name = "chat"
1783
chat.Parent = background
1784
chat.Active = true
1785
chat.BackgroundColor3 = Color3.new(0.141176, 0.141176, 0.145098)
1786
chat.BorderSizePixel = 0
1787
chat.ClipsDescendants = true
1788
chat.Size = UDim2.new(0, 338, 0, 245)
1789
chat.ZIndex = 10
1790
table.insert(shade1,chat)
1791
1792
Clear.Name = "Clear"
1793
Clear.Parent = chat
1794
Clear.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314)
1795
Clear.BorderSizePixel = 0
1796
Clear.Position = UDim2.new(0, 5, 0, 220)
1797
Clear.Size = UDim2.new(0, 50, 0, 20)
1798
Clear.ZIndex = 10
1799
Clear.Font = Enum.Font.SourceSans
1800
Clear.FontSize = Enum.FontSize.Size14
1801
Clear.Text = "Clear"
1802
Clear.TextColor3 = Color3.new(1, 1, 1)
1803
table.insert(shade2,Clear)
1804
table.insert(text1,Clear)
1805
1806
SaveChatlogs.Name = "SaveChatlogs"
1807
SaveChatlogs.Parent = chat
1808
SaveChatlogs.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314)
1809
SaveChatlogs.BorderSizePixel = 0
1810
SaveChatlogs.Position = UDim2.new(0, 258, 0, 220)
1811
SaveChatlogs.Size = UDim2.new(0, 75, 0, 20)
1812
SaveChatlogs.ZIndex = 10
1813
SaveChatlogs.Font = Enum.Font.SourceSans
1814
SaveChatlogs.FontSize = Enum.FontSize.Size14
1815
SaveChatlogs.Text = "Save To .txt"
1816
SaveChatlogs.TextColor3 = Color3.new(1, 1, 1)
1817
table.insert(shade2,SaveChatlogs)
1818
table.insert(text1,SaveChatlogs)
1819
1820
Toggle.Name = "Toggle"
1821
Toggle.Parent = chat
1822
Toggle.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314)
1823
Toggle.BorderSizePixel = 0
1824
Toggle.Position = UDim2.new(0, 60, 0, 220)
1825
Toggle.Size = UDim2.new(0, 66, 0, 20)
1826
Toggle.ZIndex = 10
1827
Toggle.Font = Enum.Font.SourceSans
1828
Toggle.FontSize = Enum.FontSize.Size14
1829
Toggle.Text = "Disabled"
1830
Toggle.TextColor3 = Color3.new(1, 1, 1)
1831
table.insert(shade2,Toggle)
1832
table.insert(text1,Toggle)
1833
1834
scroll_2.Name = "scroll"
1835
scroll_2.Parent = chat
1836
scroll_2.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314)
1837
scroll_2.BorderSizePixel = 0
1838
scroll_2.Position = UDim2.new(0, 5, 0, 25)
1839
scroll_2.Size = UDim2.new(0, 328, 0, 190)
1840
scroll_2.ZIndex = 10
1841
scroll_2.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
1842
scroll_2.CanvasSize = UDim2.new(0, 0, 0, 10)
1843
scroll_2.ScrollBarThickness = 8
1844
scroll_2.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
1845
table.insert(scroll,scroll_2)
1846
table.insert(shade2,scroll_2)
1847
1848
join.Name = "join"
1849
join.Parent = background
1850
join.Active = true
1851
join.BackgroundColor3 = Color3.new(0.141176, 0.141176, 0.145098)
1852
join.BorderSizePixel = 0
1853
join.ClipsDescendants = true
1854
join.Size = UDim2.new(0, 338, 0, 245)
1855
join.Visible = false
1856
join.ZIndex = 10
1857
table.insert(shade1,join)
1858
1859
Toggle_2.Name = "Toggle"
1860
Toggle_2.Parent = join
1861
Toggle_2.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314)
1862
Toggle_2.BorderSizePixel = 0
1863
Toggle_2.Position = UDim2.new(0, 60, 0, 220)
1864
Toggle_2.Size = UDim2.new(0, 66, 0, 20)
1865
Toggle_2.ZIndex = 10
1866
Toggle_2.Font = Enum.Font.SourceSans
1867
Toggle_2.FontSize = Enum.FontSize.Size14
1868
Toggle_2.Text = "Disabled"
1869
Toggle_2.TextColor3 = Color3.new(1, 1, 1)
1870
table.insert(shade2,Toggle_2)
1871
table.insert(text1,Toggle_2)
1872
1873
Clear_2.Name = "Clear"
1874
Clear_2.Parent = join
1875
Clear_2.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314)
1876
Clear_2.BorderSizePixel = 0
1877
Clear_2.Position = UDim2.new(0, 5, 0, 220)
1878
Clear_2.Size = UDim2.new(0, 50, 0, 20)
1879
Clear_2.ZIndex = 10
1880
Clear_2.Font = Enum.Font.SourceSans
1881
Clear_2.FontSize = Enum.FontSize.Size14
1882
Clear_2.Text = "Clear"
1883
Clear_2.TextColor3 = Color3.new(1, 1, 1)
1884
table.insert(shade2,Clear_2)
1885
table.insert(text1,Clear_2)
1886
1887
scroll_3.Name = "scroll"
1888
scroll_3.Parent = join
1889
scroll_3.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314)
1890
scroll_3.BorderSizePixel = 0
1891
scroll_3.Position = UDim2.new(0, 5, 0, 25)
1892
scroll_3.Size = UDim2.new(0, 328, 0, 190)
1893
scroll_3.ZIndex = 10
1894
scroll_3.BottomImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
1895
scroll_3.CanvasSize = UDim2.new(0, 0, 0, 10)
1896
scroll_3.ScrollBarThickness = 8
1897
scroll_3.TopImage = "rbxasset://textures/ui/Scroll/scroll-middle.png"
1898
table.insert(scroll,scroll_3)
1899
table.insert(shade2,scroll_3)
1900
1901
selectChat.Name = "selectChat"
1902
selectChat.Parent = background
1903
selectChat.BackgroundColor3 = Color3.new(0.180392, 0.180392, 0.184314)
1904
selectChat.BorderSizePixel = 0
1905
selectChat.Position = UDim2.new(0, 5, 0, 5)
1906
selectChat.Size = UDim2.new(0, 164, 0, 20)
1907
selectChat.ZIndex = 10
1908
selectChat.Font = Enum.Font.SourceSans
1909
selectChat.FontSize = Enum.FontSize.Size14
1910
selectChat.Text = "Chat Logs"
1911
selectChat.TextColor3 = Color3.new(1, 1, 1)
1912
table.insert(shade2,selectChat)
1913
table.insert(text1,selectChat)
1914
1915
selectJoin.Name = "selectJoin"
1916
selectJoin.Parent = background
1917
selectJoin.BackgroundColor3 = Color3.new(0.305882, 0.305882, 0.309804)
1918
selectJoin.BorderSizePixel = 0
1919
selectJoin.Position = UDim2.new(0, 169, 0, 5)
1920
selectJoin.Size = UDim2.new(0, 164, 0, 20)
1921
selectJoin.ZIndex = 10
1922
selectJoin.Font = Enum.Font.SourceSans
1923
selectJoin.FontSize = Enum.FontSize.Size14
1924
selectJoin.Text = "Join Logs"
1925
selectJoin.TextColor3 = Color3.new(1, 1, 1)
1926
table.insert(shade3,selectJoin)
1927
table.insert(text1,selectJoin)
1928
1929
function create(data)
1930
	local insts = {}
1931
	for i,v in pairs(data) do insts[v[1]] = Instance.new(v[2]) end
1932
1933
	for _,v in pairs(data) do
1934
		for prop,val in pairs(v[3]) do
1935
			if type(val) == "table" then
1936
				insts[v[1]][prop] = insts[val[1]]
1937
			else
1938
				insts[v[1]][prop] = val
1939
			end
1940
		end
1941
	end
1942
1943
	return insts[1]
1944
end
1945
1946
ViewportTextBox = (function()
1947
1948
	local funcs = {}
1949
	funcs.Update = function(self)
1950
		local cursorPos = self.TextBox.CursorPosition
1951
		local text = self.TextBox.Text
1952
		if text == "" then self.TextBox.Position = UDim2.new(0,2,0,0) return end
1953
		if cursorPos == -1 then return end
1954
1955
		local cursorText = text:sub(1,cursorPos-1)
1956
		local pos = nil
1957
		local leftEnd = -self.TextBox.Position.X.Offset
1958
		local rightEnd = leftEnd + self.View.AbsoluteSize.X
1959
1960
		local totalTextSize = TextService:GetTextSize(text,self.TextBox.TextSize,self.TextBox.Font,Vector2.new(999999999,100)).X
1961
		local cursorTextSize = TextService:GetTextSize(cursorText,self.TextBox.TextSize,self.TextBox.Font,Vector2.new(999999999,100)).X
1962
1963
		if cursorTextSize > rightEnd then
1964
			pos = math.max(-2,cursorTextSize - self.View.AbsoluteSize.X + 2)
1965
		elseif cursorTextSize < leftEnd then
1966
			pos = math.max(-2,cursorTextSize-2)
1967
		elseif totalTextSize < rightEnd then
1968
			pos = math.max(-2,totalTextSize - self.View.AbsoluteSize.X + 2)
1969
		end
1970
1971
		if pos then
1972
			self.TextBox.Position = UDim2.new(0,-pos,0,0)
1973
			self.TextBox.Size = UDim2.new(1,pos,1,0)
1974
		end
1975
	end
1976
1977
	local mt = {}
1978
	mt.__index = funcs
1979
1980
	local function convert(textbox)
1981
		local obj = setmetatable({OffsetX = 0, TextBox = textbox},mt)
1982
1983
		local view = Instance.new("Frame")
1984
		view.BackgroundTransparency = textbox.BackgroundTransparency
1985
		view.BackgroundColor3 = textbox.BackgroundColor3
1986
		view.BorderSizePixel = textbox.BorderSizePixel
1987
		view.BorderColor3 = textbox.BorderColor3
1988
		view.Position = textbox.Position
1989
		view.Size = textbox.Size
1990
		view.ClipsDescendants = true
1991
		view.Name = textbox.Name
1992
		view.ZIndex = 10
1993
		textbox.BackgroundTransparency = 1
1994
		textbox.Position = UDim2.new(0,4,0,0)
1995
		textbox.Size = UDim2.new(1,-8,1,0)
1996
		textbox.TextXAlignment = Enum.TextXAlignment.Left
1997
		textbox.Name = "Input"
1998
		table.insert(text1,textbox)
1999
		table.insert(shade2,view)
2000
2001
		obj.View = view
2002
2003
		textbox.Changed:Connect(function(prop)
2004
			if prop == "Text" or prop == "CursorPosition" or prop == "AbsoluteSize" then
2005
				obj:Update()
2006
			end
2007
		end)
2008
2009
		obj:Update()
2010
2011
		view.Parent = textbox.Parent
2012
		textbox.Parent = view
2013
2014
		return obj
2015
	end
2016
2017
	return {convert = convert}
2018
end)()
2019
2020
ViewportTextBox.convert(Cmdbar).View.ZIndex = 10
2021
ViewportTextBox.convert(Cmdbar_2).View.ZIndex = 10
2022
ViewportTextBox.convert(Cmdbar_3).View.ZIndex = 10
2023
2024
function writefileExploit()
2025
	if writefile then
2026
		return true
2027
	end
2028
end
2029
2030
function readfileExploit()
2031
	if readfile then
2032
		return true
2033
	end
2034
end
2035
2036
function isNumber(str)
2037
	if tonumber(str) ~= nil or str == 'inf' then
2038
		return true
2039
	end
2040
end
2041
2042
function vtype(o, t)
2043
    if o == nil then return false end
2044
    if type(o) == "userdata" then return typeof(o) == t end
2045
    return type(o) == t
2046
end
2047
2048
function getRoot(char)
2049
	local rootPart = char:FindFirstChild('HumanoidRootPart') or char:FindFirstChild('Torso') or char:FindFirstChild('UpperTorso')
2050
	return rootPart
2051
end
2052
2053
function tools(plr)
2054
	if plr:FindFirstChildOfClass("Backpack"):FindFirstChildOfClass('Tool') or plr.Character:FindFirstChildOfClass('Tool') then
2055
		return true
2056
	end
2057
end
2058
2059
function r15(plr)
2060
	if plr.Character:FindFirstChildOfClass('Humanoid').RigType == Enum.HumanoidRigType.R15 then
2061
		return true
2062
	end
2063
end
2064
2065
function toClipboard(txt)
2066
    if everyClipboard then
2067
        everyClipboard(tostring(txt))
2068
        notify("Clipboard", "Copied to clipboard")
2069
    else
2070
        notify("Clipboard", "Your exploit doesn't have the ability to use the clipboard")
2071
    end
2072
end
2073
2074
function chatMessage(str)
2075
    str = tostring(str)
2076
    if not isLegacyChat then
2077
        TextChatService.TextChannels.RBXGeneral:SendAsync(str)
2078
    else
2079
        ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(str, "All")
2080
    end
2081
end
2082
2083
function getHierarchy(obj)
2084
	local fullname
2085
	local period
2086
2087
	if string.find(obj.Name,' ') then
2088
		fullname = '["'..obj.Name..'"]'
2089
		period = false
2090
	else
2091
		fullname = obj.Name
2092
		period = true
2093
	end
2094
2095
	local getS = obj
2096
	local parent = obj
2097
	local service = ''
2098
2099
	if getS.Parent ~= game then
2100
		repeat
2101
			getS = getS.Parent
2102
			service = getS.ClassName
2103
		until getS.Parent == game
2104
	end
2105
2106
	if parent.Parent ~= getS then
2107
		repeat
2108
			parent = parent.Parent
2109
			if string.find(tostring(parent),' ') then
2110
				if period then
2111
					fullname = '["'..parent.Name..'"].'..fullname
2112
				else
2113
					fullname = '["'..parent.Name..'"]'..fullname
2114
				end
2115
				period = false
2116
			else
2117
				if period then
2118
					fullname = parent.Name..'.'..fullname
2119
				else
2120
					fullname = parent.Name..''..fullname
2121
				end
2122
				period = true
2123
			end
2124
		until parent.Parent == getS
2125
	elseif string.find(tostring(parent),' ') then
2126
		fullname = '["'..parent.Name..'"]'
2127
		period = false
2128
	end
2129
2130
	if period then
2131
		return 'game:GetService("'..service..'").'..fullname
2132
	else
2133
		return 'game:GetService("'..service..'")'..fullname
2134
	end
2135
end
2136
2137
AllWaypoints = {}
2138
2139
local cooldown = false
2140
function writefileCooldown(name,data)
2141
	task.spawn(function()
2142
		if not cooldown then
2143
			cooldown = true
2144
			writefile(name, data, true)
2145
		else
2146
			repeat wait() until cooldown == false
2147
			writefileCooldown(name,data)
2148
		end
2149
		wait(3)
2150
		cooldown = false
2151
	end)
2152
end
2153
2154
function dragGUI(gui)
2155
	task.spawn(function()
2156
		local dragging
2157
		local dragInput
2158
		local dragStart = Vector3.new(0,0,0)
2159
		local startPos
2160
		local function update(input)
2161
			local delta = input.Position - dragStart
2162
			local Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
2163
			TweenService:Create(gui, TweenInfo.new(.20), {Position = Position}):Play()
2164
		end
2165
		gui.InputBegan:Connect(function(input)
2166
			if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
2167
				dragging = true
2168
				dragStart = input.Position
2169
				startPos = gui.Position
2170
2171
				input.Changed:Connect(function()
2172
					if input.UserInputState == Enum.UserInputState.End then
2173
						dragging = false
2174
					end
2175
				end)
2176
			end
2177
		end)
2178
		gui.InputChanged:Connect(function(input)
2179
			if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
2180
				dragInput = input
2181
			end
2182
		end)
2183
		UserInputService.InputChanged:Connect(function(input)
2184
			if input == dragInput and dragging then
2185
				update(input)
2186
			end
2187
		end)
2188
	end)
2189
end
2190
2191
dragGUI(logs)
2192
dragGUI(KeybindEditor)
2193
dragGUI(PluginEditor)
2194
dragGUI(ToPartFrame)
2195
2196
eventEditor = (function()
2197
	local events = {}
2198
2199
	local function registerEvent(name,sets)
2200
		events[name] = {
2201
			commands = {},
2202
			sets = sets or {}
2203
		}
2204
	end
2205
2206
	local onEdited = nil
2207
2208
	local function fireEvent(name,...)
2209
		local args = {...}
2210
		local event = events[name]
2211
		if event then
2212
			for i,cmd in pairs(event.commands) do
2213
				local metCondition = true
2214
				for idx,set in pairs(event.sets) do
2215
					local argVal = args[idx]
2216
					local cmdSet = cmd[2][idx]
2217
					local condType = set.Type
2218
					if condType == "Player" then
2219
						if cmdSet == 0 then
2220
							metCondition = metCondition and (tostring(Players.LocalPlayer) == argVal)
2221
						elseif cmdSet ~= 1 then
2222
							metCondition = metCondition and table.find(getPlayer(cmdSet,Players.LocalPlayer),argVal)
2223
						end
2224
					elseif condType == "String" then
2225
						if cmdSet ~= 0 then
2226
							metCondition = metCondition and string.find(argVal:lower(),cmdSet:lower())
2227
						end
2228
					elseif condType == "Number" then
2229
						if cmdSet ~= 0 then
2230
							metCondition = metCondition and tonumber(argVal)<=tonumber(cmdSet)
2231
						end
2232
					end
2233
					if not metCondition then break end
2234
				end
2235
2236
				if metCondition then
2237
					pcall(task.spawn(function()
2238
						local cmdStr = cmd[1]
2239
						for count,arg in pairs(args) do
2240
							cmdStr = cmdStr:gsub("%$"..count,arg)
2241
						end
2242
						wait(cmd[3] or 0)
2243
						execCmd(cmdStr)
2244
					end))
2245
				end
2246
			end
2247
		end
2248
	end
2249
2250
	local main = create({
2251
		{1,"Frame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BackgroundTransparency=1,BorderSizePixel=0,Name="EventEditor",Position=UDim2.new(0.5,-175,0,-500),Size=UDim2.new(0,350,0,20),ZIndex=10,}},
2252
		{2,"Frame",{BackgroundColor3=currentShade2,BorderSizePixel=0,Name="TopBar",Parent={1},Size=UDim2.new(1,0,0,20),ZIndex=10,}},
2253
		{3,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Title",Parent={2},Position=UDim2.new(0,0,0,0),Size=UDim2.new(1,0,0.95,0),Text="Event Editor",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=Enum.TextXAlignment.Center,ZIndex=10,}},
2254
		{4,"TextButton",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Close",Parent={2},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}},
2255
		{5,"ImageLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Image=getcustomasset("infiniteyield/assets/close.png"),Parent={4},Position=UDim2.new(0,5,0,5),Size=UDim2.new(0,10,0,10),ZIndex=10,}},
2256
		{6,"Frame",{BackgroundColor3=currentShade1,BorderSizePixel=0,Name="Content",Parent={1},Position=UDim2.new(0,0,0,20),Size=UDim2.new(1,0,0,202),ZIndex=10,}},
2257
		{7,"ScrollingFrame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,BottomImage="rbxasset://textures/ui/Scroll/scroll-middle.png",CanvasSize=UDim2.new(0,0,0,100),Name="List",Parent={6},Position=UDim2.new(0,5,0,5),ScrollBarImageColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),ScrollBarThickness=8,Size=UDim2.new(1,-10,1,-10),TopImage="rbxasset://textures/ui/Scroll/scroll-middle.png",ZIndex=10,}},
2258
		{8,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Holder",Parent={7},Size=UDim2.new(1,0,1,0),ZIndex=10,}},
2259
		{9,"UIListLayout",{Parent={8},SortOrder=2,}},
2260
		{10,"Frame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BackgroundTransparency=1,BorderColor3=Color3.new(0.3137255012989,0.3137255012989,0.3137255012989),BorderSizePixel=0,ClipsDescendants=true,Name="Settings",Parent={6},Position=UDim2.new(1,0,0,0),Size=UDim2.new(0,150,1,0),ZIndex=10,}},
2261
		{11,"Frame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),Name="Slider",Parent={10},Position=UDim2.new(0,-150,0,0),Size=UDim2.new(1,0,1,0),ZIndex=10,}},
2262
		{12,"Frame",{BackgroundColor3=Color3.new(0.23529413342476,0.23529413342476,0.23529413342476),BorderColor3=Color3.new(0.3137255012989,0.3137255012989,0.3137255012989),BorderSizePixel=0,Name="Line",Parent={11},Size=UDim2.new(0,1,1,0),ZIndex=10,}},
2263
		{13,"ScrollingFrame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,BottomImage="rbxasset://textures/ui/Scroll/scroll-middle.png",CanvasSize=UDim2.new(0,0,0,100),Name="List",Parent={11},Position=UDim2.new(0,0,0,25),ScrollBarImageColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),ScrollBarThickness=8,Size=UDim2.new(1,0,1,-25),TopImage="rbxasset://textures/ui/Scroll/scroll-middle.png",ZIndex=10,}},
2264
		{14,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Holder",Parent={13},Size=UDim2.new(1,0,1,0),ZIndex=10,}},
2265
		{15,"UIListLayout",{Parent={14},SortOrder=2,}},
2266
		{16,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Title",Parent={11},Size=UDim2.new(1,0,0,20),Text="Event Settings",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}},
2267
		{17,"TextButton",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),Font=3,Name="Close",BorderSizePixel=0,Parent={11},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),Text="<",TextColor3=Color3.new(1,1,1),TextSize=18,ZIndex=10,}},
2268
		{18,"Folder",{Name="Templates",Parent={10},}},
2269
		{19,"Frame",{BackgroundColor3=Color3.new(0.19607844948769,0.19607844948769,0.19607844948769),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),Name="Players",Parent={18},Position=UDim2.new(0,0,0,25),Size=UDim2.new(1,0,0,86),Visible=false,ZIndex=10,}},
2270
		{20,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Title",Parent={19},Size=UDim2.new(1,0,0,20),Text="Choose Players",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}},
2271
		{21,"TextLabel",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="Any",Parent={19},Position=UDim2.new(0,5,0,42),Size=UDim2.new(1,-10,0,20),Text="Any Player",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}},
2272
		{22,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="Button",Parent={21},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),ZIndex=10,}},
2273
		{23,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={22},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}},
2274
		{24,"TextLabel",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="Me",Parent={19},Position=UDim2.new(0,5,0,20),Size=UDim2.new(1,-10,0,20),Text="Me Only",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}},
2275
		{25,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="Button",Parent={24},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),ZIndex=10,}},
2276
		{26,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={25},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}},
2277
		{27,"TextBox",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,ClearTextOnFocus=false,Font=3,Name="Custom",Parent={19},PlaceholderColor3=Color3.new(0.47058826684952,0.47058826684952,0.47058826684952),PlaceholderText="Custom Player Set",Position=UDim2.new(0,5,0,64),Size=UDim2.new(1,-35,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}},
2278
		{28,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="CustomButton",Parent={19},Position=UDim2.new(1,-25,0,64),Size=UDim2.new(0,20,0,20),ZIndex=10,}},
2279
		{29,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={28},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}},
2280
		{30,"Frame",{BackgroundColor3=Color3.new(0.19607844948769,0.19607844948769,0.19607844948769),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),Name="Strings",Parent={18},Position=UDim2.new(0,0,0,25),Size=UDim2.new(1,0,0,64),Visible=false,ZIndex=10,}},
2281
		{31,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Title",Parent={30},Size=UDim2.new(1,0,0,20),Text="Choose String",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}},
2282
		{32,"TextLabel",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="Any",Parent={30},Position=UDim2.new(0,5,0,20),Size=UDim2.new(1,-10,0,20),Text="Any String",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}},
2283
		{33,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="Button",Parent={32},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),ZIndex=10,}},
2284
		{34,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={33},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}},
2285
		{54,"Frame",{BackgroundColor3=Color3.new(0.19607844948769,0.19607844948769,0.19607844948769),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),Name="Numbers",Parent={18},Position=UDim2.new(0,0,0,25),Size=UDim2.new(1,0,0,64),Visible=false,ZIndex=10,}},
2286
		{55,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Title",Parent={54},Size=UDim2.new(1,0,0,20),Text="Choose String",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}},
2287
		{56,"TextLabel",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="Any",Parent={54},Position=UDim2.new(0,5,0,20),Size=UDim2.new(1,-10,0,20),Text="Any Number",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}},
2288
		{57,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="Button",Parent={56},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),ZIndex=10,}},
2289
		{58,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={57},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}},
2290
		{59,"TextBox",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,ClearTextOnFocus=false,Font=3,Name="Custom",Parent={54},PlaceholderColor3=Color3.new(0.47058826684952,0.47058826684952,0.47058826684952),PlaceholderText="Number",Position=UDim2.new(0,5,0,42),Size=UDim2.new(1,-35,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}},
2291
		{60,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="CustomButton",Parent={54},Position=UDim2.new(1,-25,0,42),Size=UDim2.new(0,20,0,20),ZIndex=10,}},
2292
		{61,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={60},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}},
2293
		{35,"TextBox",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,ClearTextOnFocus=false,Font=3,Name="Custom",Parent={30},PlaceholderColor3=Color3.new(0.47058826684952,0.47058826684952,0.47058826684952),PlaceholderText="Match String",Position=UDim2.new(0,5,0,42),Size=UDim2.new(1,-35,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}},
2294
		{36,"Frame",{BackgroundColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),BorderSizePixel=0,Name="CustomButton",Parent={30},Position=UDim2.new(1,-25,0,42),Size=UDim2.new(0,20,0,20),ZIndex=10,}},
2295
		{37,"TextButton",{BackgroundColor3=Color3.new(0.58823531866074,0.58823531866074,0.59215688705444),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="On",Parent={36},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),Text="",TextColor3=Color3.new(0,0,0),TextSize=14,ZIndex=10,}},
2296
		{38,"Frame",{BackgroundColor3=Color3.new(0.19607844948769,0.19607844948769,0.19607844948769),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),Name="DelayEditor",Parent={18},Position=UDim2.new(0,0,0,25),Size=UDim2.new(1,0,0,24),Visible=false,ZIndex=10,}},
2297
		{39,"TextBox",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,Font=3,Name="Secs",Parent={38},PlaceholderColor3=Color3.new(0.47058826684952,0.47058826684952,0.47058826684952),Position=UDim2.new(0,60,0,2),Size=UDim2.new(1,-65,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}},
2298
		{40,"TextLabel",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Font=3,Name="Label",Parent={39},Position=UDim2.new(0,-55,0,0),Size=UDim2.new(1,0,1,0),Text="Delay (s):",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}},
2299
		{41,"Frame",{BackgroundColor3=currentShade1,BorderSizePixel=0,ClipsDescendants=true,Name="EventTemplate",Parent={6},Size=UDim2.new(1,0,0,20),Visible=false,ZIndex=10,}},
2300
		{42,"TextButton",{BackgroundColor3=currentText1,BackgroundTransparency=1,Font=3,Name="Expand",Parent={41},Size=UDim2.new(0,20,0,20),Text=">",TextColor3=Color3.new(1,1,1),TextSize=18,ZIndex=10,}},
2301
		{43,"TextLabel",{BackgroundColor3=currentText1,BackgroundTransparency=1,Font=3,Name="EventName",Parent={41},Position=UDim2.new(0,25,0,0),Size=UDim2.new(1,-25,0,20),Text="OnSpawn",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}},
2302
		{44,"Frame",{BackgroundColor3=Color3.new(0.19607844948769,0.19607844948769,0.19607844948769),BorderSizePixel=0,BackgroundTransparency=1,ClipsDescendants=true,Name="Cmds",Parent={41},Position=UDim2.new(0,0,0,20),Size=UDim2.new(1,0,1,-20),ZIndex=10,}},
2303
		{45,"Frame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BorderColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),Name="Add",Parent={44},Position=UDim2.new(0,0,1,-20),Size=UDim2.new(1,0,0,20),ZIndex=10,}},
2304
		{46,"TextBox",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,ClearTextOnFocus=false,Font=3,Parent={45},PlaceholderColor3=Color3.new(0.7843137383461,0.7843137383461,0.7843137383461),PlaceholderText="Add new command",Position=UDim2.new(0,5,0,0),Size=UDim2.new(1,-10,1,0),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,TextXAlignment=0,ZIndex=10,}},
2305
		{47,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Holder",Parent={44},Size=UDim2.new(1,0,1,-20),ZIndex=10,}},
2306
		{48,"UIListLayout",{Parent={47},SortOrder=2,}},
2307
		{49,"Frame",{currentShade1,BorderSizePixel=0,ClipsDescendants=true,Name="CmdTemplate",Parent={6},Size=UDim2.new(1,0,0,20),Visible=false,ZIndex=10,}},
2308
		{50,"TextBox",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,ClearTextOnFocus=false,Font=3,Parent={49},PlaceholderColor3=Color3.new(1,1,1),Position=UDim2.new(0,5,0,0),Size=UDim2.new(1,-45,0,20),Text="a\\b\\c\\d",TextColor3=currentText1,TextSize=14,TextXAlignment=0,ZIndex=10,}},
2309
		{51,"TextButton",{BackgroundColor3=currentShade1,BorderSizePixel=0,Font=3,Name="Delete",Parent={49},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),Text="X",TextColor3=Color3.new(1,1,1),TextSize=18,ZIndex=10,}},
2310
		{52,"TextButton",{BackgroundColor3=currentShade1,BorderSizePixel=0,Font=3,Name="Settings",Parent={49},Position=UDim2.new(1,-40,0,0),Size=UDim2.new(0,20,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=18,ZIndex=10,}},
2311
		{53,"ImageLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Image=getcustomasset("infiniteyield/assets/settings.png"),Parent={52},Position=UDim2.new(0,2,0,2),Size=UDim2.new(0,16,0,16),ZIndex=10,}},
2312
	})
2313
	main.Name = randomString()
2314
	local mainFrame = main:WaitForChild("Content")
2315
	local eventList = mainFrame:WaitForChild("List")
2316
	local eventListHolder = eventList:WaitForChild("Holder")
2317
	local cmdTemplate = mainFrame:WaitForChild("CmdTemplate")
2318
	local eventTemplate = mainFrame:WaitForChild("EventTemplate")
2319
	local settingsFrame = mainFrame:WaitForChild("Settings"):WaitForChild("Slider")
2320
	local settingsTemplates = mainFrame.Settings:WaitForChild("Templates")
2321
	local settingsList = settingsFrame:WaitForChild("List"):WaitForChild("Holder")
2322
	table.insert(shade2,main.TopBar) table.insert(shade1,mainFrame) table.insert(shade2,eventTemplate)
2323
	table.insert(text1,eventTemplate.EventName) table.insert(shade1,eventTemplate.Cmds.Add) table.insert(shade1,cmdTemplate)
2324
	table.insert(text1,cmdTemplate.TextBox) table.insert(shade2,cmdTemplate.Delete) table.insert(shade2,cmdTemplate.Settings)
2325
	table.insert(scroll,mainFrame.List) table.insert(shade1,settingsFrame) table.insert(shade2,settingsFrame.Line)
2326
	table.insert(shade2,settingsFrame.Close) table.insert(scroll,settingsFrame.List) table.insert(shade2,settingsTemplates.DelayEditor.Secs)
2327
	table.insert(text1,settingsTemplates.DelayEditor.Secs) table.insert(text1,settingsTemplates.DelayEditor.Secs.Label) table.insert(text1,settingsTemplates.Players.Title)
2328
	table.insert(shade3,settingsTemplates.Players.CustomButton) table.insert(shade2,settingsTemplates.Players.Custom) table.insert(text1,settingsTemplates.Players.Custom)
2329
	table.insert(shade3,settingsTemplates.Players.Any.Button) table.insert(shade3,settingsTemplates.Players.Me.Button) table.insert(text1,settingsTemplates.Players.Any)
2330
	table.insert(text1,settingsTemplates.Players.Me) table.insert(text1,settingsTemplates.Strings.Title) table.insert(text1,settingsTemplates.Strings.Any)
2331
	table.insert(shade3,settingsTemplates.Strings.Any.Button) table.insert(shade3,settingsTemplates.Strings.CustomButton) table.insert(text1,settingsTemplates.Strings.Custom)
2332
	table.insert(shade2,settingsTemplates.Strings.Custom)
2333
	table.insert(text1,settingsTemplates.Players.Me) table.insert(text1,settingsTemplates.Numbers.Title) table.insert(text1,settingsTemplates.Numbers.Any)
2334
	table.insert(shade3,settingsTemplates.Numbers.Any.Button) table.insert(shade3,settingsTemplates.Numbers.CustomButton) table.insert(text1,settingsTemplates.Numbers.Custom)
2335
	table.insert(shade2,settingsTemplates.Numbers.Custom)
2336
2337
	local tweenInf = TweenInfo.new(0.25,Enum.EasingStyle.Quart,Enum.EasingDirection.Out)
2338
2339
	local currentlyEditingCmd = nil
2340
2341
	settingsFrame:WaitForChild("Close").MouseButton1Click:Connect(function()
2342
		settingsFrame:TweenPosition(UDim2.new(0,-150,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
2343
	end)
2344
2345
	local function resizeList()
2346
		local size = 0
2347
2348
		for i,v in pairs(eventListHolder:GetChildren()) do
2349
			if v.Name == "EventTemplate" then
2350
				size = size + 20
2351
				if v.Expand.Rotation == 90 then
2352
					size = size + 20*(1+(#events[v.EventName:GetAttribute("RawName")].commands or 0))
2353
				end
2354
			end
2355
		end
2356
2357
		TweenService:Create(eventList,tweenInf,{CanvasSize = UDim2.new(0,0,0,size)}):Play()
2358
2359
		if size > eventList.AbsoluteSize.Y then
2360
			eventListHolder.Size = UDim2.new(1,-8,1,0)
2361
		else
2362
			eventListHolder.Size = UDim2.new(1,0,1,0)
2363
		end
2364
	end
2365
2366
	local function resizeSettingsList()
2367
		local size = 0
2368
2369
		for i,v in pairs(settingsList:GetChildren()) do
2370
			if v:IsA("Frame") then
2371
				size = size + v.AbsoluteSize.Y
2372
			end
2373
		end
2374
2375
		settingsList.Parent.CanvasSize = UDim2.new(0,0,0,size)
2376
2377
		if size > settingsList.Parent.AbsoluteSize.Y then
2378
			settingsList.Size = UDim2.new(1,-8,1,0)
2379
		else
2380
			settingsList.Size = UDim2.new(1,0,1,0)
2381
		end
2382
	end
2383
2384
	local function setupCheckbox(button,callback)
2385
		local enabled = button.On.BackgroundTransparency == 0
2386
2387
		local function update()
2388
			button.On.BackgroundTransparency = (enabled and 0 or 1)
2389
		end
2390
2391
		button.On.MouseButton1Click:Connect(function()
2392
			enabled = not enabled
2393
			update()
2394
			if callback then callback(enabled) end
2395
		end)
2396
2397
		return {
2398
			Toggle = function(nocall) enabled = not enabled update() if not nocall and callback then callback(enabled) end end,
2399
			Enable = function(nocall) if enabled then return end enabled = true update()if not nocall and callback then callback(enabled) end end,
2400
			Disable = function(nocall) if not enabled then return end enabled = false update()if not nocall and callback then callback(enabled) end end,
2401
			IsEnabled = function() return enabled end
2402
		}
2403
	end
2404
2405
	local function openSettingsEditor(event,cmd)
2406
		currentlyEditingCmd = cmd
2407
2408
		for i,v in pairs(settingsList:GetChildren()) do if v:IsA("Frame") then v:Destroy() end end
2409
2410
		local delayEditor = settingsTemplates.DelayEditor:Clone()
2411
		delayEditor.Secs.FocusLost:Connect(function()
2412
			cmd[3] = tonumber(delayEditor.Secs.Text) or 0
2413
			delayEditor.Secs.Text = cmd[3]
2414
			if onEdited then onEdited() end
2415
		end)
2416
		delayEditor.Secs.Text = cmd[3]
2417
		delayEditor.Visible = true
2418
		table.insert(shade2,delayEditor.Secs)
2419
		table.insert(text1,delayEditor.Secs)
2420
		table.insert(text1,delayEditor.Secs.Label)
2421
		delayEditor.Parent = settingsList
2422
2423
		for i,v in pairs(event.sets) do
2424
			if v.Type == "Player" then
2425
				local template = settingsTemplates.Players:Clone()
2426
				template.Title.Text = v.Name or "Player"
2427
2428
				local me,any,custom
2429
2430
				me = setupCheckbox(template.Me.Button,function(on)
2431
					if not on then return end
2432
					any.Disable()
2433
					custom.Disable()
2434
					cmd[2][i] = 0
2435
					if onEdited then onEdited() end
2436
				end)
2437
2438
				any = setupCheckbox(template.Any.Button,function(on)
2439
					if not on then return end
2440
					me.Disable()
2441
					custom.Disable()
2442
					cmd[2][i] = 1
2443
					if onEdited then onEdited() end
2444
				end)
2445
2446
				local customTextBox = template.Custom
2447
				custom = setupCheckbox(template.CustomButton,function(on)
2448
					if not on then return end
2449
					me.Disable()
2450
					any.Disable()
2451
					cmd[2][i] = customTextBox.Text
2452
					if onEdited then onEdited() end
2453
				end)
2454
2455
				ViewportTextBox.convert(customTextBox)
2456
				customTextBox.FocusLost:Connect(function()
2457
					if custom:IsEnabled() then
2458
						cmd[2][i] = customTextBox.Text
2459
						if onEdited then onEdited() end
2460
					end
2461
				end)
2462
2463
				local cVal = cmd[2][i]
2464
				if cVal == 0 then
2465
					me:Enable()
2466
				elseif cVal == 1 then
2467
					any:Enable()
2468
				else
2469
					custom:Enable()
2470
					customTextBox.Text = cVal
2471
				end
2472
2473
				template.Visible = true
2474
				table.insert(text1,template.Title)
2475
				table.insert(shade3,template.CustomButton)
2476
				table.insert(shade3,template.Any.Button)
2477
				table.insert(shade3,template.Me.Button)
2478
				table.insert(text1,template.Any)
2479
				table.insert(text1,template.Me)
2480
				template.Parent = settingsList
2481
			elseif v.Type == "String" then
2482
				local template = settingsTemplates.Strings:Clone()
2483
				template.Title.Text = v.Name or "String"
2484
2485
				local any,custom
2486
2487
				any = setupCheckbox(template.Any.Button,function(on)
2488
					if not on then return end
2489
					custom.Disable()
2490
					cmd[2][i] = 0
2491
					if onEdited then onEdited() end
2492
				end)
2493
2494
				local customTextBox = template.Custom
2495
				custom = setupCheckbox(template.CustomButton,function(on)
2496
					if not on then return end
2497
					any.Disable()
2498
					cmd[2][i] = customTextBox.Text
2499
					if onEdited then onEdited() end
2500
				end)
2501
2502
				ViewportTextBox.convert(customTextBox)
2503
				customTextBox.FocusLost:Connect(function()
2504
					if custom:IsEnabled() then
2505
						cmd[2][i] = customTextBox.Text
2506
						if onEdited then onEdited() end
2507
					end
2508
				end)
2509
2510
				local cVal = cmd[2][i]
2511
				if cVal == 0 then
2512
					any:Enable()
2513
				else
2514
					custom:Enable()
2515
					customTextBox.Text = cVal
2516
				end
2517
2518
				template.Visible = true
2519
				table.insert(text1,template.Title)
2520
				table.insert(text1,template.Any)
2521
				table.insert(shade3,template.Any.Button)
2522
				table.insert(shade3,template.CustomButton)
2523
				template.Parent = settingsList
2524
			elseif v.Type == "Number" then
2525
				local template = settingsTemplates.Numbers:Clone()
2526
				template.Title.Text = v.Name or "Number"
2527
2528
				local any,custom
2529
2530
				any = setupCheckbox(template.Any.Button,function(on)
2531
					if not on then return end
2532
					custom.Disable()
2533
					cmd[2][i] = 0
2534
					if onEdited then onEdited() end
2535
				end)
2536
2537
				local customTextBox = template.Custom
2538
				custom = setupCheckbox(template.CustomButton,function(on)
2539
					if not on then return end
2540
					any.Disable()
2541
					cmd[2][i] = customTextBox.Text
2542
					if onEdited then onEdited() end
2543
				end)
2544
2545
				ViewportTextBox.convert(customTextBox)
2546
				customTextBox.FocusLost:Connect(function()
2547
					cmd[2][i] = tonumber(customTextBox.Text) or 0
2548
					customTextBox.Text = cmd[2][i]
2549
					if custom:IsEnabled() then
2550
						if onEdited then onEdited() end
2551
					end
2552
				end)
2553
2554
				local cVal = cmd[2][i]
2555
				if cVal == 0 then
2556
					any:Enable()
2557
				else
2558
					custom:Enable()
2559
					customTextBox.Text = cVal
2560
				end
2561
2562
				template.Visible = true
2563
				table.insert(text1,template.Title)
2564
				table.insert(text1,template.Any)
2565
				table.insert(shade3,template.Any.Button)
2566
				table.insert(shade3,template.CustomButton)
2567
				template.Parent = settingsList
2568
			end
2569
		end
2570
		resizeSettingsList()
2571
		settingsFrame:TweenPosition(UDim2.new(0,0,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
2572
	end
2573
2574
	local function defaultSettings(ev)
2575
		local res = {}
2576
2577
		for i,v in pairs(ev.sets) do
2578
			if v.Type == "Player" then
2579
				res[#res+1] = v.Default or 0
2580
			elseif v.Type == "String" then
2581
				res[#res+1] = v.Default or 0
2582
			elseif v.Type == "Number" then
2583
				res[#res+1] = v.Default or 0
2584
			end
2585
		end
2586
2587
		return res
2588
	end
2589
2590
	local function refreshList()
2591
		for i,v in pairs(eventListHolder:GetChildren()) do if v:IsA("Frame") then v:Destroy() end end
2592
2593
		for name,event in pairs(events) do
2594
			local eventF = eventTemplate:Clone()
2595
			eventF.EventName.Text = name
2596
			eventF.Visible = true
2597
			eventF.EventName:SetAttribute("RawName", name)
2598
			table.insert(shade2,eventF)
2599
			table.insert(text1,eventF.EventName)
2600
			table.insert(shade1,eventF.Cmds.Add)
2601
2602
			local expanded = false
2603
			eventF.Expand.MouseButton1Down:Connect(function()
2604
				expanded = not expanded
2605
				eventF:TweenSize(UDim2.new(1,0,0,20 + (expanded and 20*#eventF.Cmds.Holder:GetChildren() or 0)),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
2606
				eventF.Expand.Rotation = expanded and 90 or 0
2607
				resizeList()
2608
			end)
2609
2610
			local function refreshCommands()
2611
				for i,v in pairs(eventF.Cmds.Holder:GetChildren()) do
2612
					if v.Name == "CmdTemplate" then
2613
						v:Destroy()
2614
					end
2615
				end
2616
2617
				eventF.EventName.Text = name..(#event.commands > 0 and " ("..#event.commands..")" or "")
2618
2619
				for i,cmd in pairs(event.commands) do
2620
					local cmdF = cmdTemplate:Clone()
2621
					local cmdTextBox = cmdF.TextBox
2622
					ViewportTextBox.convert(cmdTextBox)
2623
					cmdTextBox.Text = cmd[1]
2624
					cmdF.Visible = true
2625
					table.insert(shade1,cmdF)
2626
					table.insert(shade2,cmdF.Delete)
2627
					table.insert(shade2,cmdF.Settings)
2628
2629
					cmdTextBox.FocusLost:Connect(function()
2630
						event.commands[i] = {cmdTextBox.Text,cmd[2],cmd[3]}
2631
						if onEdited then onEdited() end
2632
					end)
2633
2634
					cmdF.Settings.MouseButton1Click:Connect(function()
2635
						openSettingsEditor(event,cmd)
2636
					end)
2637
2638
					cmdF.Delete.MouseButton1Click:Connect(function()
2639
						table.remove(event.commands,i)
2640
						refreshCommands()
2641
						resizeList()
2642
2643
						if currentlyEditingCmd == cmd then
2644
							settingsFrame:TweenPosition(UDim2.new(0,-150,0,0),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
2645
						end
2646
						if onEdited then onEdited() end
2647
					end)
2648
2649
					cmdF.Parent = eventF.Cmds.Holder
2650
				end
2651
2652
				eventF:TweenSize(UDim2.new(1,0,0,20 + (expanded and 20*#eventF.Cmds.Holder:GetChildren() or 0)),Enum.EasingDirection.Out,Enum.EasingStyle.Quart,0.25,true)
2653
			end
2654
2655
			local newBox = eventF.Cmds.Add.TextBox
2656
			ViewportTextBox.convert(newBox)
2657
			newBox.FocusLost:Connect(function(enter)
2658
				if enter then
2659
					event.commands[#event.commands+1] = {newBox.Text,defaultSettings(event),0}
2660
					newBox.Text = ""
2661
2662
					refreshCommands()
2663
					resizeList()
2664
					if onEdited then onEdited() end
2665
				end
2666
			end)
2667
2668
			--eventF:GetPropertyChangedSignal("AbsoluteSize"):Connect(resizeList)
2669
2670
			eventF.Parent = eventListHolder
2671
2672
			refreshCommands()
2673
		end
2674
2675
		resizeList()
2676
	end
2677
2678
	local function saveData()
2679
		local result = {}
2680
		for i,v in pairs(events) do
2681
			result[i] = v.commands
2682
		end
2683
		return HttpService:JSONEncode(result)
2684
	end
2685
2686
	local function loadData(str)
2687
		local data = HttpService:JSONDecode(str)
2688
		for i,v in pairs(data) do
2689
			if events[i] then
2690
				events[i].commands = v
2691
			end
2692
		end
2693
	end
2694
2695
	local function addCmd(event,data)
2696
		table.insert(events[event].commands,data)
2697
	end
2698
2699
	local function setOnEdited(f)
2700
		if type(f) == "function" then
2701
			onEdited = f
2702
		end
2703
	end
2704
2705
	main.TopBar.Close.MouseButton1Click:Connect(function()
2706
		main:TweenPosition(UDim2.new(0.5,-175,0,-500), "InOut", "Quart", 0.5, true, nil)
2707
	end)
2708
	dragGUI(main)
2709
	main.Parent = ScaledHolder
2710
2711
	return {
2712
		RegisterEvent = registerEvent,
2713
		FireEvent = fireEvent,
2714
		Refresh = refreshList,
2715
		SaveData = saveData,
2716
		LoadData = loadData,
2717
		AddCmd = addCmd,
2718
		Frame = main,
2719
		SetOnEdited = setOnEdited
2720
	}
2721
end)()
2722
2723
reference = (function()
2724
	local main = create({
2725
		{1,"Frame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,Name="Main",Position=UDim2.new(0.5,-250,0,-500),Size=UDim2.new(0,500,0,20),ZIndex=10,}},
2726
		{2,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="TopBar",Parent={1},Size=UDim2.new(1,0,0,20),ZIndex=10,}},
2727
		{3,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Title",Parent={2},Size=UDim2.new(1,0,0.94999998807907,0),Text="Reference",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}},
2728
		{4,"TextButton",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Close",Parent={2},Position=UDim2.new(1,-20,0,0),Size=UDim2.new(0,20,0,20),Text="",TextColor3=Color3.new(1,1,1),TextSize=14,ZIndex=10,}},
2729
		{5,"ImageLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Image=getcustomasset("infiniteyield/assets/close.png"),Parent={4},Position=UDim2.new(0,5,0,5),Size=UDim2.new(0,10,0,10),ZIndex=10,}},
2730
		{6,"Frame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BorderSizePixel=0,Name="Content",Parent={1},Position=UDim2.new(0,0,0,20),Size=UDim2.new(1,0,0,300),ZIndex=10,}},
2731
		{7,"ScrollingFrame",{BackgroundColor3=Color3.new(0.14117647707462,0.14117647707462,0.14509804546833),BackgroundTransparency=1,BorderColor3=Color3.new(0.15686275064945,0.15686275064945,0.15686275064945),BorderSizePixel=0,BottomImage="rbxasset://textures/ui/Scroll/scroll-middle.png",CanvasSize=UDim2.new(0,0,0,1313),Name="List",Parent={6},ScrollBarImageColor3=Color3.new(0.30588236451149,0.30588236451149,0.3098039329052),ScrollBarThickness=8,Size=UDim2.new(1,0,1,0),TopImage="rbxasset://textures/ui/Scroll/scroll-middle.png",VerticalScrollBarInset=2,ZIndex=10,}},
2732
		{8,"UIListLayout",{Parent={7},SortOrder=2,}},
2733
		{9,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,429),ZIndex=10,}},
2734
		{10,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={9},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Special Player Cases",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}},
2735
		{11,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={9},Position=UDim2.new(0,8,0,25),Size=UDim2.new(1,-8,0,20),Text="These keywords can be used to quickly select groups of players in commands:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2736
		{12,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={9},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}},
2737
		{13,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Cases",Parent={9},Position=UDim2.new(0,8,0,55),Size=UDim2.new(1,-16,0,342),ZIndex=10,}},
2738
		{14,"UIListLayout",{Parent={13},SortOrder=2,}},
2739
		{15,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,LayoutOrder=-4,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2740
		{16,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={15},Size=UDim2.new(1,0,1,0),Text="all",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2741
		{17,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={15},Position=UDim2.new(0,15,0,0),Size=UDim2.new(1,0,1,0),Text="- includes everyone",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2742
		{18,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,LayoutOrder=-3,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2743
		{19,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={18},Size=UDim2.new(1,0,1,0),Text="others",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2744
		{20,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={18},Position=UDim2.new(0,37,0,0),Size=UDim2.new(1,0,1,0),Text="- includes everyone except you",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2745
		{21,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,LayoutOrder=-2,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2746
		{22,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={21},Size=UDim2.new(1,0,1,0),Text="me",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2747
		{23,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={21},Position=UDim2.new(0,19,0,0),Size=UDim2.new(1,0,1,0),Text="- includes your player only",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2748
		{24,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2749
		{25,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={24},Size=UDim2.new(1,0,1,0),Text="#[number]",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2750
		{26,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={24},Position=UDim2.new(0,59,0,0),Size=UDim2.new(1,0,1,0),Text="- gets a specified amount of random players",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2751
		{27,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2752
		{28,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={27},Size=UDim2.new(1,0,1,0),Text="random",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2753
		{29,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={27},Position=UDim2.new(0,44,0,0),Size=UDim2.new(1,0,1,0),Text="- affects a random player",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2754
		{30,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2755
		{31,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={30},Size=UDim2.new(1,0,1,0),Text="%[team name]",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2756
		{32,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={30},Position=UDim2.new(0,78,0,0),Size=UDim2.new(1,0,1,0),Text="- includes everyone on a given team",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2757
		{33,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2758
		{34,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={33},Size=UDim2.new(1,0,1,0),Text="allies / team",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2759
		{35,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={33},Position=UDim2.new(0,63,0,0),Size=UDim2.new(1,0,1,0),Text="- players who are on your team",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2760
		{36,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2761
		{37,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={36},Size=UDim2.new(1,0,1,0),Text="enemies / nonteam",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2762
		{38,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={36},Position=UDim2.new(0,101,0,0),Size=UDim2.new(1,0,1,0),Text="- players who are not on your team",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2763
		{39,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2764
		{40,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={39},Size=UDim2.new(1,0,1,0),Text="friends",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2765
		{41,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={39},Position=UDim2.new(0,40,0,0),Size=UDim2.new(1,0,1,0),Text="- anyone who is friends with you",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2766
		{42,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2767
		{43,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={42},Size=UDim2.new(1,0,1,0),Text="nonfriends",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2768
		{44,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={42},Position=UDim2.new(0,61,0,0),Size=UDim2.new(1,0,1,0),Text="- anyone who is not friends with you",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2769
		{45,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2770
		{46,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={45},Size=UDim2.new(1,0,1,0),Text="guests",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2771
		{47,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={45},Position=UDim2.new(0,36,0,0),Size=UDim2.new(1,0,1,0),Text="- guest players (obsolete)",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2772
		{48,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2773
		{49,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={48},Size=UDim2.new(1,0,1,0),Text="bacons",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2774
		{50,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={48},Position=UDim2.new(0,40,0,0),Size=UDim2.new(1,0,1,0),Text="- anyone with the \"bacon\" or pal hair",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2775
		{51,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2776
		{52,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={51},Size=UDim2.new(1,0,1,0),Text="age[number]",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2777
		{53,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={51},Position=UDim2.new(0,71,0,0),Size=UDim2.new(1,0,1,0),Text="- includes anyone below or at the given age",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2778
		{54,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2779
		{55,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={54},Size=UDim2.new(1,0,1,0),Text="rad[number]",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2780
		{56,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={54},Position=UDim2.new(0,70,0,0),Size=UDim2.new(1,0,1,0),Text="- includes anyone within the given radius",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2781
		{57,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2782
		{58,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={57},Size=UDim2.new(1,0,1,0),Text="nearest",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2783
		{59,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={57},Position=UDim2.new(0,43,0,0),Size=UDim2.new(1,0,1,0),Text="- gets the closest player to you",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2784
		{60,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2785
		{61,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={60},Size=UDim2.new(1,0,1,0),Text="farthest",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2786
		{62,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={60},Position=UDim2.new(0,46,0,0),Size=UDim2.new(1,0,1,0),Text="- gets the farthest player from you",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2787
		{63,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2788
		{64,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={63},Size=UDim2.new(1,0,1,0),Text="group[ID]",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2789
		{65,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={63},Position=UDim2.new(0,55,0,0),Size=UDim2.new(1,0,1,0),Text="- gets players who are in a certain group",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2790
		{66,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2791
		{67,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={66},Size=UDim2.new(1,0,1,0),Text="alive",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2792
		{68,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={66},Position=UDim2.new(0,27,0,0),Size=UDim2.new(1,0,1,0),Text="- gets players who are alive",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2793
		{69,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2794
		{70,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={69},Size=UDim2.new(1,0,1,0),Text="dead",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2795
		{71,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={69},Position=UDim2.new(0,29,0,0),Size=UDim2.new(1,0,1,0),Text="- gets players who are dead",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2796
		{72,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BackgroundTransparency=1,BorderSizePixel=0,LayoutOrder=-1,Name="Case",Parent={13},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,0,0,18),ZIndex=10,}},
2797
		{73,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="CaseName",Parent={72},Size=UDim2.new(1,0,1,0),Text="@username",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2798
		{74,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="CaseDesc",Parent={72},Position=UDim2.new(0,66,0,0),Size=UDim2.new(1,0,1,0),Text="- searches for players by username only (ignores displaynames)",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2799
		{75,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,180),ZIndex=10,}},
2800
		{76,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={75},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Various Operators",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}},
2801
		{77,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={75},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}},
2802
		{78,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={75},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,16),Text="Use commas to separate multiple expressions:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}},
2803
		{79,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={75},Position=UDim2.new(0,8,0,75),Size=UDim2.new(1,-8,0,16),Text="Use - to exclude, and + to include players in your expression:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}},
2804
		{80,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={75},Position=UDim2.new(0,8,0,91),Size=UDim2.new(1,-8,0,16),Text=";locate %blue-friends (gets players in blue team who aren't your friends)",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}},
2805
		{81,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={75},Position=UDim2.new(0,8,0,46),Size=UDim2.new(1,-8,0,16),Text=";locate noob,noob2,bob",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}},
2806
		{82,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={75},Position=UDim2.new(0,8,0,120),Size=UDim2.new(1,-8,0,16),Text="Put ! before a command to run it with the last arguments it was ran with:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}},
2807
		{83,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={75},Position=UDim2.new(0,8,0,136),Size=UDim2.new(1,-8,0,32),Text="After running ;offset 0 100 0,  you can run !offset anytime to repeat that command with the same arguments that were used to run it last time",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}},
2808
		{84,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,154),ZIndex=10,}},
2809
		{85,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={84},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Command Looping",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}},
2810
		{86,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={84},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,20),Text="Form: [How many times it loops]^[delay (optional)]^[command]",TextColor3=Color3.new(1,1,1),TextSize=15,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2811
		{87,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={84},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}},
2812
		{88,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={84},Position=UDim2.new(0,8,0,50),Size=UDim2.new(1,-8,0,20),Text="Use the 'breakloops' command to stop all running loops.",TextColor3=Color3.new(1,1,1),TextSize=15,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2813
		{89,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={84},Position=UDim2.new(0,8,0,80),Size=UDim2.new(1,-8,0,16),Text="Examples:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}},
2814
		{90,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={84},Position=UDim2.new(0,8,0,98),Size=UDim2.new(1,-8,0,42),Text=";5^btools - gives you 5 sets of btools\n;10^3^drophats - drops your hats every 3 seconds 10 times\n;inf^0.1^animspeed 100 - infinitely loops your animation speed to 100",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}},
2815
		{91,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,120),ZIndex=10,}},
2816
		{92,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={91},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Execute Multiple Commands at Once",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}},
2817
		{93,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={91},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,20),Text="You can execute multiple commands at once using \"\\\"",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2818
		{94,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={91},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}},
2819
		{95,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={91},Position=UDim2.new(0,8,0,60),Size=UDim2.new(1,-8,0,16),Text="Examples:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}},
2820
		{96,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={91},Position=UDim2.new(0,8,0,78),Size=UDim2.new(1,-8,0,32),Text=";drophats\\respawn - drops your hats and respawns you\n;enable inventory\\enable playerlist\\refresh - enables those coregui items and refreshes you",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}},
2821
		{97,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,75),ZIndex=10,}},
2822
		{98,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={97},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Browse Command History",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}},
2823
		{99,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={97},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,32),Text="While focused on the command bar, you can use the up and down arrow keys to browse recently used commands",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2824
		{100,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={97},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}},
2825
		{101,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,75),ZIndex=10,}},
2826
		{102,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={101},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Autocomplete in the Command Bar",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}},
2827
		{103,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={101},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,32),Text="While focused on the command bar, you can use the tab key to insert the top suggested command into the command bar.",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2828
		{104,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={101},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}},
2829
		{105,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,175),ZIndex=10,}},
2830
		{106,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={105},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Using Event Binds",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}},
2831
		{107,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={105},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,32),Text="Use event binds to set up commands that get executed when certain events happen. You can edit the conditions for an event command to run (such as which player triggers it).",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2832
		{108,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={105},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),ZIndex=10,}},
2833
		{109,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={105},Position=UDim2.new(0,8,0,70),Size=UDim2.new(1,-8,0,48),Text="Some events may send arguments; you can use them in your event command by using $ followed by the argument number ($1, $2, etc). You can find out the order and types of these arguments by looking at the settings of the event command.",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2834
		{110,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Text",Parent={105},Position=UDim2.new(0,8,0,130),Size=UDim2.new(1,-8,0,16),Text="Example:",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}},
2835
		{111,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={105},Position=UDim2.new(0,8,0,148),Size=UDim2.new(1,-8,0,16),Text="Setting up 'goto $1' on the OnChatted event will teleport you to any player that chats.",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,TextYAlignment=0,ZIndex=10,}},
2836
		{112,"Frame",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Name="Section",Parent={7},Size=UDim2.new(1,0,0,105),ZIndex=10,}},
2837
		{113,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=4,Name="Header",Parent={112},Position=UDim2.new(0,8,0,5),Size=UDim2.new(1,-8,0,20),Text="Get Further Help",TextColor3=Color3.new(1,1,1),TextSize=20,TextXAlignment=0,ZIndex=10,}},
2838
		{114,"TextLabel",{BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,Font=3,Name="Text",Parent={112},Position=UDim2.new(0,8,0,30),Size=UDim2.new(1,-8,0,32),Text="You can join the Discord server to get support with IY,  and read up on more documentation such as the Plugin API.",TextColor3=Color3.new(1,1,1),TextSize=14,TextWrapped=true,TextXAlignment=0,ZIndex=10,}},
2839
		{115,"Frame",{BackgroundColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),BorderSizePixel=0,Name="Line",Parent={112},Position=UDim2.new(0,10,1,-1),Size=UDim2.new(1,-20,0,1),Visible=false,ZIndex=10,}},
2840
		{116,"TextButton",{BackgroundColor3=Color3.new(0.48627451062202,0.61960786581039,0.85098040103912),BorderColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),Font=4,Name="InviteButton",Parent={112},Position=UDim2.new(0,5,0,75),Size=UDim2.new(1,-10,0,25),Text="Copy Discord Invite Link (https://discord.gg/78ZuWSq)",TextColor3=Color3.new(0.1803921610117,0.1803921610117,0.1843137294054),TextSize=16,ZIndex=10,}},
2841
	})
2842
	for i,v in pairs(main.Content.List:GetDescendants()) do
2843
		if v:IsA("TextLabel") then
2844
			table.insert(text1,v)
2845
		end
2846
	end
2847
	table.insert(scroll,main.Content.List)
2848
	table.insert(shade1,main.Content)
2849
	table.insert(shade2,main.TopBar)
2850
	main.Name = randomString()
2851
	main.TopBar.Close.MouseButton1Click:Connect(function()
2852
		main:TweenPosition(UDim2.new(0.5,-250,0,-500), "InOut", "Quart", 0.5, true, nil)
2853
	end)
2854
	local inviteButton = main:FindFirstChild("InviteButton",true)
2855
	local lastPress = nil
2856
	inviteButton.MouseButton1Click:Connect(function()
2857
		if everyClipboard then
2858
			toClipboard("https://discord.gg/78ZuWSq")
2859
			inviteButton.Text = "Copied"
2860
		else
2861
			inviteButton.Text = "No Clipboard Function, type out the link"
2862
		end
2863
		local pressTime = tick()
2864
		lastPress = pressTime
2865
		wait(2)
2866
		if lastPress ~= pressTime then return end
2867
		inviteButton.Text = "Copy Discord Invite Link (https://discord.gg/78ZuWSq)"
2868
	end)
2869
	dragGUI(main)
2870
	main.Parent = ScaledHolder
2871
2872
	ReferenceButton.MouseButton1Click:Connect(function()
2873
		main:TweenPosition(UDim2.new(0.5,-250,0.5,-150), "InOut", "Quart", 0.5, true, nil)
2874
	end)
2875
end)()
2876
2877
currentShade1 = Color3.fromRGB(36, 36, 37)
2878
currentShade2 = Color3.fromRGB(46, 46, 47)
2879
currentShade3 = Color3.fromRGB(78, 78, 79)
2880
currentText1 = Color3.new(1, 1, 1)
2881
currentText2 = Color3.new(0, 0, 0)
2882
currentScroll = Color3.fromRGB(78,78,79)
2883
2884
defaultGuiScale = IsOnMobile and 0.9 or 1
2885
defaultsettings = {
2886
	prefix = ';';
2887
	StayOpen = false;
2888
	guiScale = defaultGuiScale;
2889
	espTransparency = 0.3;
2890
	keepIY = true;
2891
	logsEnabled = false;
2892
	jLogsEnabled = false;
2893
	aliases = {};
2894
	binds = {};
2895
	WayPoints = {};
2896
	PluginsTable = {};
2897
	currentShade1 = {currentShade1.R,currentShade1.G,currentShade1.B};
2898
	currentShade2 = {currentShade2.R,currentShade2.G,currentShade2.B};
2899
	currentShade3 = {currentShade3.R,currentShade3.G,currentShade3.B};
2900
	currentText1 = {currentText1.R,currentText1.G,currentText1.B};
2901
	currentText2 = {currentText2.R,currentText2.G,currentText2.B};
2902
	currentScroll = {currentScroll.R,currentScroll.G,currentScroll.B};
2903
	eventBinds = eventEditor.SaveData()
2904
}
2905
2906
defaults = HttpService:JSONEncode(defaultsettings)
2907
nosaves = false
2908
useFactorySettings = function()
2909
    prefix = ';'
2910
    StayOpen = false
2911
    guiScale = defaultGuiScale
2912
    KeepInfYield = true
2913
    espTransparency = 0.3
2914
    logsEnabled = false
2915
    jLogsEnabled = false
2916
    logsWebhook = nil
2917
    aliases = {}
2918
    binds = {}
2919
    WayPoints = {}
2920
    PluginsTable = {}
2921
end
2922
2923
createPopup = function(text)
2924
    local FileError = Instance.new("Frame")
2925
    local background = Instance.new("Frame")
2926
    local Directions = Instance.new("TextLabel")
2927
    local shadow = Instance.new("Frame")
2928
    local PopupText = Instance.new("TextLabel")
2929
    local Exit = Instance.new("TextButton")
2930
    local ExitImage = Instance.new("ImageLabel")
2931
2932
    FileError.Name = randomString()
2933
    FileError.Parent = ScaledHolder
2934
    FileError.Active = true
2935
    FileError.BackgroundTransparency = 1
2936
    FileError.Position = UDim2.new(0.5, -180, 0, 290)
2937
    FileError.Size = UDim2.new(0, 360, 0, 20)
2938
    FileError.ZIndex = 10
2939
2940
    background.Name = "background"
2941
    background.Parent = FileError
2942
    background.Active = true
2943
    background.BackgroundColor3 = Color3.fromRGB(36, 36, 37)
2944
    background.BorderSizePixel = 0
2945
    background.Position = UDim2.new(0, 0, 0, 20)
2946
    background.Size = UDim2.new(0, 360, 0, 205)
2947
    background.ZIndex = 10
2948
2949
    Directions.Name = "Directions"
2950
    Directions.Parent = background
2951
    Directions.BackgroundTransparency = 1
2952
    Directions.BorderSizePixel = 0
2953
    Directions.Position = UDim2.new(0, 10, 0, 10)
2954
    Directions.Size = UDim2.new(0, 340, 0, 185)
2955
    Directions.Font = Enum.Font.SourceSans
2956
    Directions.TextSize = 14
2957
    Directions.Text = text
2958
    Directions.TextColor3 = Color3.new(1, 1, 1)
2959
    Directions.TextWrapped = true
2960
    Directions.TextXAlignment = Enum.TextXAlignment.Left
2961
    Directions.TextYAlignment = Enum.TextYAlignment.Top
2962
    Directions.ZIndex = 10
2963
2964
    shadow.Name = "shadow"
2965
    shadow.Parent = FileError
2966
    shadow.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
2967
    shadow.BorderSizePixel = 0
2968
    shadow.Size = UDim2.new(0, 360, 0, 20)
2969
    shadow.ZIndex = 10
2970
2971
    PopupText.Name = "PopupText"
2972
    PopupText.Parent = shadow
2973
    PopupText.BackgroundTransparency = 1
2974
    PopupText.Size = UDim2.new(1, 0, 0.95, 0)
2975
    PopupText.ZIndex = 10
2976
    PopupText.Font = Enum.Font.SourceSans
2977
    PopupText.TextSize = 14
2978
    PopupText.Text = "File Error"
2979
    PopupText.TextColor3 = Color3.new(1, 1, 1)
2980
    PopupText.TextWrapped = true
2981
2982
    Exit.Name = "Exit"
2983
    Exit.Parent = shadow
2984
    Exit.BackgroundTransparency = 1
2985
    Exit.Position = UDim2.new(1, -20, 0, 0)
2986
    Exit.Size = UDim2.new(0, 20, 0, 20)
2987
    Exit.Text = ""
2988
    Exit.ZIndex = 10
2989
2990
    ExitImage.Parent = Exit
2991
    ExitImage.BackgroundColor3 = Color3.new(1, 1, 1)
2992
    ExitImage.BackgroundTransparency = 1
2993
    ExitImage.Position = UDim2.new(0, 5, 0, 5)
2994
    ExitImage.Size = UDim2.new(0, 10, 0, 10)
2995
    ExitImage.Image = getcustomasset("infiniteyield/assets/close.png")
2996
    ExitImage.ZIndex = 10
2997
2998
    Exit.MouseButton1Click:Connect(function()
2999
        FileError:Destroy()
3000
    end)
3001
end
3002
3003
local loadedEventData = nil
3004
local jsonAttempts = 0
3005
function saves()
3006
    if writefileExploit() and readfileExploit() and jsonAttempts < 10 then
3007
        local readSuccess, out = readfile("IY_FE.iy", true)
3008
        if readSuccess then
3009
            if out ~= nil and tostring(out):gsub("%s", "") ~= "" then
3010
                local success, response = pcall(function()
3011
                    local json = HttpService:JSONDecode(out)
3012
                    if vtype(json.prefix, "string") then prefix = json.prefix else prefix = ';' end
3013
                    if vtype(json.StayOpen, "boolean") then StayOpen = json.StayOpen else StayOpen = false end
3014
                    if vtype(json.guiScale, "number") then guiScale = json.guiScale else guiScale = defaultGuiScale end
3015
                    if vtype(json.keepIY, "boolean") then KeepInfYield = json.keepIY else KeepInfYield = true end
3016
                    if vtype(json.espTransparency, "number") then espTransparency = json.espTransparency else espTransparency = 0.3 end
3017
                    if vtype(json.logsEnabled, "boolean") then logsEnabled = json.logsEnabled else logsEnabled = false end
3018
                    if vtype(json.jLogsEnabled, "boolean") then jLogsEnabled = json.jLogsEnabled else jLogsEnabled = false end
3019
                    if vtype(json.logsWebhook, "string") then logsWebhook = json.logsWebhook else logsWebhook = nil end
3020
                    if vtype(json.aliases, "table") then aliases = json.aliases else aliases = {} end
3021
                    if vtype(json.binds, "table") then binds = json.binds else binds = {} end
3022
                    if vtype(json.spawnCmds, "table") then spawnCmds = json.spawnCmds end
3023
                    if vtype(json.WayPoints, "table") then AllWaypoints = json.WayPoints else WayPoints = {} AllWaypoints = {} end
3024
                    if vtype(json.PluginsTable, "table") then PluginsTable = json.PluginsTable else PluginsTable = {} end
3025
                    if vtype(json.currentShade1, "table") then currentShade1 = Color3.new(json.currentShade1[1],json.currentShade1[2],json.currentShade1[3]) end
3026
                    if vtype(json.currentShade2, "table") then currentShade2 = Color3.new(json.currentShade2[1],json.currentShade2[2],json.currentShade2[3]) end
3027
                    if vtype(json.currentShade3, "table") then currentShade3 = Color3.new(json.currentShade3[1],json.currentShade3[2],json.currentShade3[3]) end
3028
                    if vtype(json.currentText1, "table") then currentText1 = Color3.new(json.currentText1[1],json.currentText1[2],json.currentText1[3]) end
3029
                    if vtype(json.currentText2, "table") then currentText2 = Color3.new(json.currentText2[1],json.currentText2[2],json.currentText2[3]) end
3030
                    if vtype(json.currentScroll, "table") then currentScroll = Color3.new(json.currentScroll[1],json.currentScroll[2],json.currentScroll[3]) end
3031
                    if vtype(json.eventBinds, "string") then loadedEventData = json.eventBinds end
3032
                end)
3033
                if not success then
3034
                    jsonAttempts = jsonAttempts + 1
3035
                    warn("Save Json Error:", response)
3036
                    warn("Overwriting Save File")
3037
                    writefile("IY_FE.iy", defaults, true)
3038
                    wait()
3039
                    saves()
3040
                end
3041
            else
3042
                writefile("IY_FE.iy", defaults, true)
3043
                wait()
3044
                local dReadSuccess, dOut = readfile("IY_FE.iy", true)
3045
                if dReadSuccess and dOut ~= nil and tostring(dOut):gsub("%s", "") ~= "" then
3046
                    saves()
3047
                else
3048
                    nosaves = true
3049
                    useFactorySettings()
3050
                    createPopup("There was a problem writing a save file to your PC.\n\nPlease contact the developer/support team for your exploit and tell them writefile/readfile is not working.\n\nYour settings, keybinds, waypoints, and aliases will not save if you continue.\n\nThings to try:\n> Make sure a 'workspace' folder is located in the same folder as your exploit\n> If your exploit is inside of a zip/rar file, extract it.\n> Rejoin the game and try again or restart your PC and try again.")
3051
                end
3052
            end
3053
        else
3054
            writefile("IY_FE.iy", defaults, true)
3055
            wait()
3056
            local dReadSuccess, dOut = readfile("IY_FE.iy", true)
3057
            if dReadSuccess and dOut ~= nil and tostring(dOut):gsub("%s", "") ~= "" then
3058
                saves()
3059
            else
3060
                nosaves = true
3061
                useFactorySettings()
3062
                createPopup("There was a problem writing a save file to your PC.\n\nPlease contact the developer/support team for your exploit and tell them writefile/readfile is not working.\n\nYour settings, keybinds, waypoints, and aliases will not save if you continue.\n\nThings to try:\n> Make sure a 'workspace' folder is located in the same folder as your exploit\n> If your exploit is inside of a zip/rar file, extract it.\n> Rejoin the game and try again or restart your PC and try again.")
3063
            end
3064
        end
3065
    else
3066
        if jsonAttempts >= 10 then
3067
            nosaves = true
3068
            useFactorySettings()
3069
            createPopup("Sorry, we have attempted to parse your save file, but it is unreadable!\n\nInfinite Yield is now using factory settings until your exploit's file system works.\n\nYour save file has not been deleted.")
3070
        else
3071
            nosaves = true
3072
            useFactorySettings()
3073
        end
3074
    end
3075
end
3076
3077
saves()
3078
3079
function updatesaves()
3080
	if nosaves == false and writefileExploit() then
3081
		local update = {
3082
			prefix = prefix;
3083
			StayOpen = StayOpen;
3084
			guiScale = guiScale;
3085
			keepIY = KeepInfYield;
3086
			espTransparency = espTransparency;
3087
			logsEnabled = logsEnabled;
3088
			jLogsEnabled = jLogsEnabled;
3089
			logsWebhook = logsWebhook;
3090
			aliases = aliases;
3091
			binds = binds or {};
3092
			WayPoints = AllWaypoints;
3093
			PluginsTable = PluginsTable;
3094
			currentShade1 = {currentShade1.R,currentShade1.G,currentShade1.B};
3095
			currentShade2 = {currentShade2.R,currentShade2.G,currentShade2.B};
3096
			currentShade3 = {currentShade3.R,currentShade3.G,currentShade3.B};
3097
			currentText1 = {currentText1.R,currentText1.G,currentText1.B};
3098
			currentText2 = {currentText2.R,currentText2.G,currentText2.B};
3099
			currentScroll = {currentScroll.R,currentScroll.G,currentScroll.B};
3100
			eventBinds = eventEditor.SaveData()
3101
		}
3102
		writefileCooldown("IY_FE.iy", HttpService:JSONEncode(update))
3103
	end
3104
end
3105
3106
eventEditor.SetOnEdited(updatesaves)
3107
3108
pWayPoints = {}
3109
WayPoints = {}
3110
3111
if #AllWaypoints > 0 then
3112
	for i = 1, #AllWaypoints do
3113
		if not AllWaypoints[i].GAME or AllWaypoints[i].GAME == PlaceId then
3114
			WayPoints[#WayPoints + 1] = {NAME = AllWaypoints[i].NAME, COORD = {AllWaypoints[i].COORD[1], AllWaypoints[i].COORD[2], AllWaypoints[i].COORD[3]}, GAME = AllWaypoints[i].GAME}
3115
		end
3116
	end
3117
end
3118
3119
if type(binds) ~= "table" then binds = {} end
3120
3121
if type(PluginsTable) == "table" then
3122
    for i = #PluginsTable, 1, -1 do
3123
        if string.sub(PluginsTable[i], -3) ~= ".iy" then
3124
            table.remove(PluginsTable, i)
3125
        end
3126
    end
3127
end
3128
3129
function Time()
3130
	local HOUR = math.floor((tick() % 86400) / 3600)
3131
	local MINUTE = math.floor((tick() % 3600) / 60)
3132
	local SECOND = math.floor(tick() % 60)
3133
	local AP = HOUR > 11 and 'PM' or 'AM'
3134
	HOUR = (HOUR % 12 == 0 and 12 or HOUR % 12)
3135
	HOUR = HOUR < 10 and '0' .. HOUR or HOUR
3136
	MINUTE = MINUTE < 10 and '0' .. MINUTE or MINUTE
3137
	SECOND = SECOND < 10 and '0' .. SECOND or SECOND
3138
	return HOUR .. ':' .. MINUTE .. ':' .. SECOND .. ' ' .. AP
3139
end
3140
3141
PrefixBox.Text = prefix
3142
local SettingsOpen = false
3143
local isHidden = false
3144
3145
if StayOpen == false then
3146
	On.BackgroundTransparency = 1
3147
else
3148
	On.BackgroundTransparency = 0
3149
end
3150
3151
if logsEnabled then
3152
	Toggle.Text = 'Enabled'
3153
else
3154
	Toggle.Text = 'Disabled'
3155
end
3156
3157
if jLogsEnabled then
3158
	Toggle_2.Text = 'Enabled'
3159
else
3160
	Toggle_2.Text = 'Disabled'
3161
end
3162
3163
function maximizeHolder()
3164
	if StayOpen == false then
3165
		Holder:TweenPosition(UDim2.new(1, Holder.Position.X.Offset, 1, -220), "InOut", "Quart", 0.2, true, nil)
3166
	end
3167
end
3168
3169
minimizeNum = -20
3170
function minimizeHolder()
3171
	if StayOpen == false then
3172
		Holder:TweenPosition(UDim2.new(1, Holder.Position.X.Offset, 1, minimizeNum), "InOut", "Quart", 0.5, true, nil)
3173
	end
3174
end
3175
3176
function cmdbarHolder()
3177
	if StayOpen == false then
3178
		Holder:TweenPosition(UDim2.new(1, Holder.Position.X.Offset, 1, -45), "InOut", "Quart", 0.5, true, nil)
3179
	end
3180
end
3181
3182
pinNotification = nil
3183
local notifyCount = 0
3184
function notify(text,text2,length)
3185
	task.spawn(function()
3186
		local LnotifyCount = notifyCount+1
3187
		local notificationPinned = false
3188
		notifyCount = notifyCount+1
3189
		if pinNotification then pinNotification:Disconnect() end
3190
		pinNotification = PinButton.MouseButton1Click:Connect(function()
3191
			task.spawn(function()
3192
				pinNotification:Disconnect()
3193
				notificationPinned = true
3194
				Title_2.BackgroundTransparency = 1
3195
				wait(0.5)
3196
				Title_2.BackgroundTransparency = 0
3197
			end)
3198
		end)
3199
		Notification:TweenPosition(UDim2.new(1, Notification.Position.X.Offset, 1, 0), "InOut", "Quart", 0.5, true, nil)
3200
		wait(0.6)
3201
		local closepressed = false
3202
		if text2 then
3203
			Title_2.Text = text
3204
			Text_2.Text = text2
3205
		else
3206
			Title_2.Text = 'Notification'
3207
			Text_2.Text = text
3208
		end
3209
		Notification:TweenPosition(UDim2.new(1, Notification.Position.X.Offset, 1, -100), "InOut", "Quart", 0.5, true, nil)
3210
		CloseButton.MouseButton1Click:Connect(function()
3211
			Notification:TweenPosition(UDim2.new(1, Notification.Position.X.Offset, 1, 0), "InOut", "Quart", 0.5, true, nil)
3212
			closepressed = true
3213
			pinNotification:Disconnect()
3214
		end)
3215
		if length and isNumber(length) then
3216
			wait(length)
3217
		else
3218
			wait(10)
3219
		end
3220
		if LnotifyCount == notifyCount then
3221
			if closepressed == false and notificationPinned == false then
3222
				pinNotification:Disconnect()
3223
				Notification:TweenPosition(UDim2.new(1, Notification.Position.X.Offset, 1, 0), "InOut", "Quart", 0.5, true, nil)
3224
			end
3225
			notifyCount = 0
3226
		end
3227
	end)
3228
end
3229
3230
local lastMessage = nil
3231
local lastLabel = nil
3232
local dupeCount = 1
3233
function CreateLabel(Name, Text)
3234
	if lastMessage == Name..Text then
3235
		dupeCount = dupeCount+1
3236
		lastLabel.Text = Time()..' - ['..Name..']: '..Text..' (x'..dupeCount..')'
3237
	else
3238
		if dupeCount > 1 then dupeCount = 1 end
3239
		if #scroll_2:GetChildren() >= 2546 then
3240
			scroll_2:ClearAllChildren()
3241
		end
3242
		local alls = 0
3243
		for i,v in pairs(scroll_2:GetChildren()) do
3244
			if v then
3245
				alls = v.Size.Y.Offset + alls
3246
			end
3247
			if not v then
3248
				alls = 0
3249
			end
3250
		end
3251
		local tl = Instance.new('TextLabel')
3252
		lastMessage = Name..Text
3253
		lastLabel = tl
3254
		tl.Name = Name
3255
		tl.Parent = scroll_2
3256
		tl.ZIndex = 10
3257
		tl.RichText = true
3258
		tl.Text = Time().." - ["..Name.."]: "..Text
3259
		tl.Text = tl.ContentText
3260
		tl.Size = UDim2.new(0,322,0,84)
3261
		tl.BackgroundTransparency = 1
3262
		tl.BorderSizePixel = 0
3263
		tl.Font = "SourceSans"
3264
		tl.Position = UDim2.new(-1,0,0,alls)
3265
		tl.TextTransparency = 1
3266
		tl.TextScaled = false
3267
		tl.TextSize = 14
3268
		tl.TextWrapped = true
3269
		tl.TextXAlignment = "Left"
3270
		tl.TextYAlignment = "Top"
3271
		tl.TextColor3 = currentText1
3272
		tl.Size = UDim2.new(0,322,0,tl.TextBounds.Y)
3273
		table.insert(text1,tl)
3274
		scroll_2.CanvasSize = UDim2.new(0,0,0,alls+tl.TextBounds.Y)
3275
		scroll_2.CanvasPosition = Vector2.new(0,scroll_2.CanvasPosition.Y+tl.TextBounds.Y)
3276
		tl:TweenPosition(UDim2.new(0,3,0,alls), 'In', 'Quint', 0.5)
3277
		TweenService:Create(tl, TweenInfo.new(1.25, Enum.EasingStyle.Linear), { TextTransparency = 0 }):Play()
3278
	end
3279
end
3280
3281
function CreateJoinLabel(plr,ID)
3282
	if #scroll_3:GetChildren() >= 2546 then
3283
		scroll_3:ClearAllChildren()
3284
	end
3285
	local infoFrame = Instance.new("Frame")
3286
	local info1 = Instance.new("TextLabel")
3287
	local info2 = Instance.new("TextLabel")
3288
	local ImageLabel_3 = Instance.new("ImageLabel")
3289
	infoFrame.Name = randomString()
3290
	infoFrame.Parent = scroll_3
3291
	infoFrame.BackgroundColor3 = Color3.new(1, 1, 1)
3292
	infoFrame.BackgroundTransparency = 1
3293
	infoFrame.BorderColor3 = Color3.new(0.105882, 0.164706, 0.207843)
3294
	infoFrame.Size = UDim2.new(1, 0, 0, 50)
3295
	info1.Name = randomString()
3296
	info1.Parent = infoFrame
3297
	info1.BackgroundTransparency = 1
3298
	info1.BorderSizePixel = 0
3299
	info1.Position = UDim2.new(0, 45, 0, 0)
3300
	info1.Size = UDim2.new(0, 135, 1, 0)
3301
	info1.ZIndex = 10
3302
	info1.Font = Enum.Font.SourceSans
3303
	info1.FontSize = Enum.FontSize.Size14
3304
	info1.Text = "Username: "..plr.Name.."\nJoined Server: "..Time()
3305
	info1.TextColor3 = Color3.new(1, 1, 1)
3306
	info1.TextWrapped = true
3307
	info1.TextXAlignment = Enum.TextXAlignment.Left
3308
	info2.Name = randomString()
3309
	info2.Parent = infoFrame
3310
	info2.BackgroundTransparency = 1
3311
	info2.BorderSizePixel = 0
3312
	info2.Position = UDim2.new(0, 185, 0, 0)
3313
	info2.Size = UDim2.new(0, 140, 1, -5)
3314
	info2.ZIndex = 10
3315
	info2.Font = Enum.Font.SourceSans
3316
	info2.FontSize = Enum.FontSize.Size14
3317
	info2.Text = "User ID: "..ID.."\nAccount Age: "..plr.AccountAge.."\nJoined Roblox: Loading..."
3318
	info2.TextColor3 = Color3.new(1, 1, 1)
3319
	info2.TextWrapped = true
3320
	info2.TextXAlignment = Enum.TextXAlignment.Left
3321
	info2.TextYAlignment = Enum.TextYAlignment.Center
3322
	ImageLabel_3.Parent = infoFrame
3323
	ImageLabel_3.BackgroundTransparency = 1
3324
	ImageLabel_3.BorderSizePixel = 0
3325
	ImageLabel_3.Size = UDim2.new(0, 45, 1, 0)
3326
	ImageLabel_3.Image = Players:GetUserThumbnailAsync(ID, Enum.ThumbnailType.AvatarThumbnail, Enum.ThumbnailSize.Size420x420)
3327
	scroll_3.CanvasSize = UDim2.new(0, 0, 0, listlayout.AbsoluteContentSize.Y)
3328
	scroll_3.CanvasPosition = Vector2.new(0,scroll_2.CanvasPosition.Y+infoFrame.AbsoluteSize.Y)
3329
	wait()
3330
	local user = game:HttpGet("https://users.roblox.com/v1/users/"..ID)
3331
	local json = HttpService:JSONDecode(user)
3332
	local date = json["created"]:sub(1,10)
3333
	local splitDates = string.split(date,"-")
3334
	info2.Text = string.gsub(info2.Text, "Loading...",splitDates[2].."/"..splitDates[3].."/"..splitDates[1])
3335
end
3336
3337
IYMouse.KeyDown:Connect(function(Key)
3338
	if (Key==prefix) then
3339
		RunService.RenderStepped:Wait()
3340
		Cmdbar:CaptureFocus()
3341
		maximizeHolder()
3342
	end
3343
end)
3344
3345
local lastMinimizeReq = 0
3346
Holder.MouseEnter:Connect(function()
3347
	lastMinimizeReq = 0
3348
	maximizeHolder()
3349
end)
3350
3351
Holder.MouseLeave:Connect(function()
3352
	if not Cmdbar:IsFocused() then
3353
		local reqTime = tick()
3354
		lastMinimizeReq = reqTime
3355
		wait(1)
3356
		if lastMinimizeReq ~= reqTime then return end
3357
		if not Cmdbar:IsFocused() then
3358
			minimizeHolder()
3359
		end
3360
	end
3361
end)
3362
3363
function updateColors(color,ctype)
3364
	if ctype == shade1 then
3365
		for i,v in pairs(shade1) do
3366
			v.BackgroundColor3 = color
3367
		end
3368
		currentShade1 = color
3369
	elseif ctype == shade2 then
3370
		for i,v in pairs(shade2) do
3371
			v.BackgroundColor3 = color
3372
		end
3373
		currentShade2 = color
3374
	elseif ctype == shade3 then
3375
		for i,v in pairs(shade3) do
3376
			v.BackgroundColor3 = color
3377
		end
3378
		currentShade3 = color
3379
	elseif ctype == text1 then
3380
		for i,v in pairs(text1) do
3381
			v.TextColor3 = color
3382
			if v:IsA("TextBox") then
3383
				v.PlaceholderColor3 = color	
3384
			end
3385
		end
3386
		currentText1 = color
3387
	elseif ctype == text2 then
3388
		for i,v in pairs(text2) do
3389
			v.TextColor3 = color
3390
		end
3391
		currentText2 = color
3392
	elseif ctype == scroll then
3393
		for i,v in pairs(scroll) do
3394
			v.ScrollBarImageColor3 = color
3395
		end
3396
		currentScroll = color
3397
	end
3398
end
3399
3400
local colorpickerOpen = false
3401
ColorsButton.MouseButton1Click:Connect(function()
3402
	cache_currentShade1 = currentShade1
3403
	cache_currentShade2 = currentShade2
3404
	cache_currentShade3 = currentShade3
3405
	cache_currentText1 = currentText1
3406
	cache_currentText2 = currentText2
3407
	cache_currentScroll = currentScroll
3408
	if not colorpickerOpen then
3409
		colorpickerOpen = true
3410
		picker = game:GetObjects("rbxassetid://4908465318")[1]
3411
		picker.Name = randomString()
3412
		picker.Parent = ScaledHolder
3413
3414
		local ColorPicker do
3415
			ColorPicker = {}
3416
3417
			ColorPicker.new = function()
3418
				local newMt = setmetatable({},{})
3419
3420
				local pickerGui = picker.ColorPicker
3421
				local pickerTopBar = pickerGui.TopBar
3422
				local pickerExit = pickerTopBar.Exit
3423
				local pickerFrame = pickerGui.Content
3424
				local colorSpace = pickerFrame.ColorSpaceFrame.ColorSpace
3425
				local colorStrip = pickerFrame.ColorStrip
3426
				local previewFrame = pickerFrame.Preview
3427
				local basicColorsFrame = pickerFrame.BasicColors
3428
				local customColorsFrame = pickerFrame.CustomColors
3429
				local defaultButton = pickerFrame.Default
3430
				local cancelButton = pickerFrame.Cancel
3431
				local shade1Button = pickerFrame.Shade1
3432
				local shade2Button = pickerFrame.Shade2
3433
				local shade3Button = pickerFrame.Shade3
3434
				local text1Button = pickerFrame.Text1
3435
				local text2Button = pickerFrame.Text2
3436
				local scrollButton = pickerFrame.Scroll
3437
3438
				local colorScope = colorSpace.Scope
3439
				local colorArrow = pickerFrame.ArrowFrame.Arrow
3440
3441
				local hueInput = pickerFrame.Hue.Input
3442
				local satInput = pickerFrame.Sat.Input
3443
				local valInput = pickerFrame.Val.Input
3444
3445
				local redInput = pickerFrame.Red.Input
3446
				local greenInput = pickerFrame.Green.Input
3447
				local blueInput = pickerFrame.Blue.Input
3448
3449
				local mouse = IYMouse
3450
3451
				local hue,sat,val = 0,0,1
3452
				local red,green,blue = 1,1,1
3453
				local chosenColor = Color3.new(0,0,0)
3454
3455
				local basicColors = {Color3.new(0,0,0),Color3.new(0.66666668653488,0,0),Color3.new(0,0.33333334326744,0),Color3.new(0.66666668653488,0.33333334326744,0),Color3.new(0,0.66666668653488,0),Color3.new(0.66666668653488,0.66666668653488,0),Color3.new(0,1,0),Color3.new(0.66666668653488,1,0),Color3.new(0,0,0.49803924560547),Color3.new(0.66666668653488,0,0.49803924560547),Color3.new(0,0.33333334326744,0.49803924560547),Color3.new(0.66666668653488,0.33333334326744,0.49803924560547),Color3.new(0,0.66666668653488,0.49803924560547),Color3.new(0.66666668653488,0.66666668653488,0.49803924560547),Color3.new(0,1,0.49803924560547),Color3.new(0.66666668653488,1,0.49803924560547),Color3.new(0,0,1),Color3.new(0.66666668653488,0,1),Color3.new(0,0.33333334326744,1),Color3.new(0.66666668653488,0.33333334326744,1),Color3.new(0,0.66666668653488,1),Color3.new(0.66666668653488,0.66666668653488,1),Color3.new(0,1,1),Color3.new(0.66666668653488,1,1),Color3.new(0.33333334326744,0,0),Color3.new(1,0,0),Color3.new(0.33333334326744,0.33333334326744,0),Color3.new(1,0.33333334326744,0),Color3.new(0.33333334326744,0.66666668653488,0),Color3.new(1,0.66666668653488,0),Color3.new(0.33333334326744,1,0),Color3.new(1,1,0),Color3.new(0.33333334326744,0,0.49803924560547),Color3.new(1,0,0.49803924560547),Color3.new(0.33333334326744,0.33333334326744,0.49803924560547),Color3.new(1,0.33333334326744,0.49803924560547),Color3.new(0.33333334326744,0.66666668653488,0.49803924560547),Color3.new(1,0.66666668653488,0.49803924560547),Color3.new(0.33333334326744,1,0.49803924560547),Color3.new(1,1,0.49803924560547),Color3.new(0.33333334326744,0,1),Color3.new(1,0,1),Color3.new(0.33333334326744,0.33333334326744,1),Color3.new(1,0.33333334326744,1),Color3.new(0.33333334326744,0.66666668653488,1),Color3.new(1,0.66666668653488,1),Color3.new(0.33333334326744,1,1),Color3.new(1,1,1)}
3456
				local customColors = {}
3457
3458
				dragGUI(picker)
3459
3460
				local function updateColor(noupdate)
3461
					local relativeX,relativeY,relativeStripY = 219 - hue*219, 199 - sat*199, 199 - val*199
3462
					local hsvColor = Color3.fromHSV(hue,sat,val)
3463
3464
					if noupdate == 2 or not noupdate then
3465
						hueInput.Text = tostring(math.ceil(359*hue))
3466
						satInput.Text = tostring(math.ceil(255*sat))
3467
						valInput.Text = tostring(math.floor(255*val))
3468
					end
3469
					if noupdate == 1 or not noupdate then
3470
						redInput.Text = tostring(math.floor(255*red))
3471
						greenInput.Text = tostring(math.floor(255*green))
3472
						blueInput.Text = tostring(math.floor(255*blue))
3473
					end
3474
3475
					chosenColor = Color3.new(red,green,blue)
3476
3477
					colorScope.Position = UDim2.new(0,relativeX-9,0,relativeY-9)
3478
					colorStrip.ImageColor3 = Color3.fromHSV(hue,sat,1)
3479
					colorArrow.Position = UDim2.new(0,-2,0,relativeStripY-4)
3480
					previewFrame.BackgroundColor3 = chosenColor
3481
3482
					newMt.Color = chosenColor
3483
					if newMt.Changed then newMt:Changed(chosenColor) end
3484
				end
3485
3486
				local function colorSpaceInput()
3487
					local relativeX = mouse.X - colorSpace.AbsolutePosition.X
3488
					local relativeY = mouse.Y - colorSpace.AbsolutePosition.Y
3489
3490
					if relativeX < 0 then relativeX = 0 elseif relativeX > 219 then relativeX = 219 end
3491
					if relativeY < 0 then relativeY = 0 elseif relativeY > 199 then relativeY = 199 end
3492
3493
					hue = (219 - relativeX)/219
3494
					sat = (199 - relativeY)/199
3495
3496
					local hsvColor = Color3.fromHSV(hue,sat,val)
3497
					red,green,blue = hsvColor.r,hsvColor.g,hsvColor.b
3498
3499
					updateColor()
3500
				end
3501
3502
				local function colorStripInput()
3503
					local relativeY = mouse.Y - colorStrip.AbsolutePosition.Y
3504
3505
					if relativeY < 0 then relativeY = 0 elseif relativeY > 199 then relativeY = 199 end	
3506
3507
					val = (199 - relativeY)/199
3508
3509
					local hsvColor = Color3.fromHSV(hue,sat,val)
3510
					red,green,blue = hsvColor.r,hsvColor.g,hsvColor.b
3511
3512
					updateColor()
3513
				end
3514
3515
				local function hookButtons(frame,func)
3516
					frame.ArrowFrame.Up.InputBegan:Connect(function(input)
3517
						if input.UserInputType == Enum.UserInputType.MouseMovement then
3518
							frame.ArrowFrame.Up.BackgroundTransparency = 0.5
3519
						elseif input.UserInputType == Enum.UserInputType.MouseButton1 then
3520
							local releaseEvent,runEvent
3521
3522
							local startTime = tick()
3523
							local pressing = true
3524
							local startNum = tonumber(frame.Text)
3525
3526
							if not startNum then return end
3527
3528
							releaseEvent = UserInputService.InputEnded:Connect(function(input)
3529
								if input.UserInputType ~= Enum.UserInputType.MouseButton1 then return end
3530
								releaseEvent:Disconnect()
3531
								pressing = false
3532
							end)
3533
3534
							startNum = startNum + 1
3535
							func(startNum)
3536
							while pressing do
3537
								if tick()-startTime > 0.3 then
3538
									startNum = startNum + 1
3539
									func(startNum)
3540
								end
3541
								wait(0.1)
3542
							end
3543
						end
3544
					end)
3545
3546
					frame.ArrowFrame.Up.InputEnded:Connect(function(input)
3547
						if input.UserInputType == Enum.UserInputType.MouseMovement then
3548
							frame.ArrowFrame.Up.BackgroundTransparency = 1
3549
						end
3550
					end)
3551
3552
					frame.ArrowFrame.Down.InputBegan:Connect(function(input)
3553
						if input.UserInputType == Enum.UserInputType.MouseMovement then
3554
							frame.ArrowFrame.Down.BackgroundTransparency = 0.5
3555
						elseif input.UserInputType == Enum.UserInputType.MouseButton1 then
3556
							local releaseEvent,runEvent
3557
3558
							local startTime = tick()
3559
							local pressing = true
3560
							local startNum = tonumber(frame.Text)
3561
3562
							if not startNum then return end
3563
3564
							releaseEvent = UserInputService.InputEnded:Connect(function(input)
3565
								if input.UserInputType ~= Enum.UserInputType.MouseButton1 then return end
3566
								releaseEvent:Disconnect()
3567
								pressing = false
3568
							end)
3569
3570
							startNum = startNum - 1
3571
							func(startNum)
3572
							while pressing do
3573
								if tick()-startTime > 0.3 then
3574
									startNum = startNum - 1
3575
									func(startNum)
3576
								end
3577
								wait(0.1)
3578
							end
3579
						end
3580
					end)
3581
3582
					frame.ArrowFrame.Down.InputEnded:Connect(function(input)
3583
						if input.UserInputType == Enum.UserInputType.MouseMovement then
3584
							frame.ArrowFrame.Down.BackgroundTransparency = 1
3585
						end
3586
					end)
3587
				end
3588
3589
				colorSpace.InputBegan:Connect(function(input)
3590
					if input.UserInputType == Enum.UserInputType.MouseButton1 then
3591
						local releaseEvent,mouseEvent
3592
3593
						releaseEvent = UserInputService.InputEnded:Connect(function(input)
3594
							if input.UserInputType ~= Enum.UserInputType.MouseButton1 then return end
3595
							releaseEvent:Disconnect()
3596
							mouseEvent:Disconnect()
3597
						end)
3598
3599
						mouseEvent = UserInputService.InputChanged:Connect(function(input)
3600
							if input.UserInputType == Enum.UserInputType.MouseMovement then
3601
								colorSpaceInput()
3602
							end
3603
						end)
3604
3605
						colorSpaceInput()
3606
					end
3607
				end)
3608
3609
				colorStrip.InputBegan:Connect(function(input)
3610
					if input.UserInputType == Enum.UserInputType.MouseButton1 then
3611
						local releaseEvent,mouseEvent
3612
3613
						releaseEvent = UserInputService.InputEnded:Connect(function(input)
3614
							if input.UserInputType ~= Enum.UserInputType.MouseButton1 then return end
3615
							releaseEvent:Disconnect()
3616
							mouseEvent:Disconnect()
3617
						end)
3618
3619
						mouseEvent = UserInputService.InputChanged:Connect(function(input)
3620
							if input.UserInputType == Enum.UserInputType.MouseMovement then
3621
								colorStripInput()
3622
							end
3623
						end)
3624
3625
						colorStripInput()
3626
					end
3627
				end)
3628
3629
				local function updateHue(str)
3630
					local num = tonumber(str)
3631
					if num then
3632
						hue = math.clamp(math.floor(num),0,359)/359
3633
						local hsvColor = Color3.fromHSV(hue,sat,val)
3634
						red,green,blue = hsvColor.r,hsvColor.g,hsvColor.b
3635
						hueInput.Text = tostring(hue*359)
3636
						updateColor(1)
3637
					end
3638
				end
3639
				hueInput.FocusLost:Connect(function() updateHue(hueInput.Text) end) hookButtons(hueInput,updateHue)
3640
3641
				local function updateSat(str)
3642
					local num = tonumber(str)
3643
					if num then
3644
						sat = math.clamp(math.floor(num),0,255)/255
3645
						local hsvColor = Color3.fromHSV(hue,sat,val)
3646
						red,green,blue = hsvColor.r,hsvColor.g,hsvColor.b
3647
						satInput.Text = tostring(sat*255)
3648
						updateColor(1)
3649
					end
3650
				end
3651
				satInput.FocusLost:Connect(function() updateSat(satInput.Text) end) hookButtons(satInput,updateSat)
3652
3653
				local function updateVal(str)
3654
					local num = tonumber(str)
3655
					if num then
3656
						val = math.clamp(math.floor(num),0,255)/255
3657
						local hsvColor = Color3.fromHSV(hue,sat,val)
3658
						red,green,blue = hsvColor.r,hsvColor.g,hsvColor.b
3659
						valInput.Text = tostring(val*255)
3660
						updateColor(1)
3661
					end
3662
				end
3663
				valInput.FocusLost:Connect(function() updateVal(valInput.Text) end) hookButtons(valInput,updateVal)
3664
3665
				local function updateRed(str)
3666
					local num = tonumber(str)
3667
					if num then
3668
						red = math.clamp(math.floor(num),0,255)/255
3669
						local newColor = Color3.new(red,green,blue)
3670
						hue,sat,val = Color3.toHSV(newColor)
3671
						redInput.Text = tostring(red*255)
3672
						updateColor(2)
3673
					end
3674
				end
3675
				redInput.FocusLost:Connect(function() updateRed(redInput.Text) end) hookButtons(redInput,updateRed)
3676
3677
				local function updateGreen(str)
3678
					local num = tonumber(str)
3679
					if num then
3680
						green = math.clamp(math.floor(num),0,255)/255
3681
						local newColor = Color3.new(red,green,blue)
3682
						hue,sat,val = Color3.toHSV(newColor)
3683
						greenInput.Text = tostring(green*255)
3684
						updateColor(2)
3685
					end
3686
				end
3687
				greenInput.FocusLost:Connect(function() updateGreen(greenInput.Text) end) hookButtons(greenInput,updateGreen)
3688
3689
				local function updateBlue(str)
3690
					local num = tonumber(str)
3691
					if num then
3692
						blue = math.clamp(math.floor(num),0,255)/255
3693
						local newColor = Color3.new(red,green,blue)
3694
						hue,sat,val = Color3.toHSV(newColor)
3695
						blueInput.Text = tostring(blue*255)
3696
						updateColor(2)
3697
					end
3698
				end
3699
				blueInput.FocusLost:Connect(function() updateBlue(blueInput.Text) end) hookButtons(blueInput,updateBlue)
3700
3701
				local colorChoice = Instance.new("TextButton")
3702
				colorChoice.Name = "Choice"
3703
				colorChoice.Size = UDim2.new(0,25,0,18)
3704
				colorChoice.BorderColor3 = Color3.new(96/255,96/255,96/255)
3705
				colorChoice.Text = ""
3706
				colorChoice.AutoButtonColor = false
3707
				colorChoice.ZIndex = 10
3708
3709
				local row = 0
3710
				local column = 0
3711
				for i,v in pairs(basicColors) do
3712
					local newColor = colorChoice:Clone()
3713
					newColor.BackgroundColor3 = v
3714
					newColor.Position = UDim2.new(0,1 + 30*column,0,21 + 23*row)
3715
3716
					newColor.MouseButton1Click:Connect(function()
3717
						red,green,blue = v.r,v.g,v.b
3718
						local newColor = Color3.new(red,green,blue)
3719
						hue,sat,val = Color3.toHSV(newColor)
3720
						updateColor()
3721
					end)	
3722
3723
					newColor.Parent = basicColorsFrame
3724
					column = column + 1
3725
					if column == 6 then row = row + 1 column = 0 end
3726
				end
3727
3728
				row = 0
3729
				column = 0
3730
				for i = 1,12 do
3731
					local color = customColors[i] or Color3.new(0,0,0)
3732
					local newColor = colorChoice:Clone()
3733
					newColor.BackgroundColor3 = color
3734
					newColor.Position = UDim2.new(0,1 + 30*column,0,20 + 23*row)
3735
3736
					newColor.MouseButton1Click:Connect(function()
3737
						local curColor = customColors[i] or Color3.new(0,0,0)
3738
						red,green,blue = curColor.r,curColor.g,curColor.b
3739
						hue,sat,val = Color3.toHSV(curColor)
3740
						updateColor()
3741
					end)
3742
3743
					newColor.MouseButton2Click:Connect(function()
3744
						customColors[i] = chosenColor
3745
						newColor.BackgroundColor3 = chosenColor
3746
					end)
3747
3748
					newColor.Parent = customColorsFrame
3749
					column = column + 1
3750
					if column == 6 then row = row + 1 column = 0 end
3751
				end
3752
3753
				shade1Button.MouseButton1Click:Connect(function() if newMt.Confirm then newMt:Confirm(chosenColor,shade1) end end)
3754
				shade1Button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then shade1Button.BackgroundTransparency = 0.4 end end)
3755
				shade1Button.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then shade1Button.BackgroundTransparency = 0 end end)
3756
3757
				shade2Button.MouseButton1Click:Connect(function() if newMt.Confirm then newMt:Confirm(chosenColor,shade2) end end)
3758
				shade2Button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then shade2Button.BackgroundTransparency = 0.4 end end)
3759
				shade2Button.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then shade2Button.BackgroundTransparency = 0 end end)
3760
3761
				shade3Button.MouseButton1Click:Connect(function() if newMt.Confirm then newMt:Confirm(chosenColor,shade3) end end)
3762
				shade3Button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then shade3Button.BackgroundTransparency = 0.4 end end)
3763
				shade3Button.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then shade3Button.BackgroundTransparency = 0 end end)
3764
3765
				text1Button.MouseButton1Click:Connect(function() if newMt.Confirm then newMt:Confirm(chosenColor,text1) end end)
3766
				text1Button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then text1Button.BackgroundTransparency = 0.4 end end)
3767
				text1Button.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then text1Button.BackgroundTransparency = 0 end end)
3768
3769
				text2Button.MouseButton1Click:Connect(function() if newMt.Confirm then newMt:Confirm(chosenColor,text2) end end)
3770
				text2Button.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then text2Button.BackgroundTransparency = 0.4 end end)
3771
				text2Button.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then text2Button.BackgroundTransparency = 0 end end)
3772
3773
				scrollButton.MouseButton1Click:Connect(function() if newMt.Confirm then newMt:Confirm(chosenColor,scroll) end end)
3774
				scrollButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then scrollButton.BackgroundTransparency = 0.4 end end)
3775
				scrollButton.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then scrollButton.BackgroundTransparency = 0 end end)
3776
3777
				cancelButton.MouseButton1Click:Connect(function() if newMt.Cancel then newMt:Cancel() end end)
3778
				cancelButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then cancelButton.BackgroundTransparency = 0.4 end end)
3779
				cancelButton.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then cancelButton.BackgroundTransparency = 0 end end)
3780
3781
				defaultButton.MouseButton1Click:Connect(function() if newMt.Default then newMt:Default() end end)
3782
				defaultButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then defaultButton.BackgroundTransparency = 0.4 end end)
3783
				defaultButton.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then defaultButton.BackgroundTransparency = 0 end end)
3784
3785
				pickerExit.MouseButton1Click:Connect(function()
3786
					picker:TweenPosition(UDim2.new(0.5, -219, 0, -500), "InOut", "Quart", 0.5, true, nil)
3787
				end)
3788
3789
				updateColor()
3790
3791
				newMt.SetColor = function(self,color)
3792
					red,green,blue = color.r,color.g,color.b
3793
					hue,sat,val = Color3.toHSV(color)
3794
					updateColor()
3795
				end
3796
3797
				return newMt
3798
			end
3799
		end
3800
3801
		picker:TweenPosition(UDim2.new(0.5, -219, 0, 100), "InOut", "Quart", 0.5, true, nil)
3802
3803
		local Npicker = ColorPicker.new()
3804
		Npicker.Confirm = function(self,color,ctype) updateColors(color,ctype) wait() updatesaves() end
3805
		Npicker.Cancel = function(self)
3806
			updateColors(cache_currentShade1,shade1)
3807
			updateColors(cache_currentShade2,shade2)
3808
			updateColors(cache_currentShade3,shade3)
3809
			updateColors(cache_currentText1,text1)
3810
			updateColors(cache_currentText2,text2)
3811
			updateColors(cache_currentScroll,scroll)
3812
			wait()
3813
			updatesaves()
3814
		end
3815
		Npicker.Default = function(self)
3816
			updateColors(Color3.fromRGB(36, 36, 37),shade1)
3817
			updateColors(Color3.fromRGB(46, 46, 47),shade2)
3818
			updateColors(Color3.fromRGB(78, 78, 79),shade3)
3819
			updateColors(Color3.new(1, 1, 1),text1)
3820
			updateColors(Color3.new(0, 0, 0),text2)
3821
			updateColors(Color3.fromRGB(78,78,79),scroll)
3822
			wait()
3823
			updatesaves()
3824
		end
3825
	else
3826
		picker:TweenPosition(UDim2.new(0.5, -219, 0, 100), "InOut", "Quart", 0.5, true, nil)
3827
	end
3828
end)
3829
3830
3831
SettingsButton.MouseButton1Click:Connect(function()
3832
	if SettingsOpen == false then SettingsOpen = true
3833
		Settings:TweenPosition(UDim2.new(0, 0, 0, 45), "InOut", "Quart", 0.5, true, nil)
3834
		CMDsF.Visible = false
3835
	else SettingsOpen = false
3836
		CMDsF.Visible = true
3837
		Settings:TweenPosition(UDim2.new(0, 0, 0, 220), "InOut", "Quart", 0.5, true, nil)
3838
	end
3839
end)
3840
3841
On.MouseButton1Click:Connect(function()
3842
	if isHidden == false then
3843
		if StayOpen == false then
3844
			StayOpen = true
3845
			On.BackgroundTransparency = 0
3846
		else
3847
			StayOpen = false
3848
			On.BackgroundTransparency = 1
3849
		end
3850
		updatesaves()
3851
	end
3852
end)
3853
3854
Clear.MouseButton1Down:Connect(function()
3855
	for _, child in pairs(scroll_2:GetChildren()) do
3856
		child:Destroy()
3857
	end
3858
	scroll_2.CanvasSize = UDim2.new(0, 0, 0, 10)
3859
end)
3860
3861
Clear_2.MouseButton1Down:Connect(function()
3862
	for _, child in pairs(scroll_3:GetChildren()) do
3863
		child:Destroy()
3864
	end
3865
	scroll_3.CanvasSize = UDim2.new(0, 0, 0, 10)
3866
end)
3867
3868
Toggle.MouseButton1Down:Connect(function()
3869
	if logsEnabled then
3870
		logsEnabled = false
3871
		Toggle.Text = 'Disabled'
3872
		updatesaves()
3873
	else
3874
		logsEnabled = true
3875
		Toggle.Text = 'Enabled'
3876
		updatesaves()
3877
	end
3878
end)
3879
3880
Toggle_2.MouseButton1Down:Connect(function()
3881
	if jLogsEnabled then
3882
		jLogsEnabled = false
3883
		Toggle_2.Text = 'Disabled'
3884
		updatesaves()
3885
	else
3886
		jLogsEnabled = true
3887
		Toggle_2.Text = 'Enabled'
3888
		updatesaves()
3889
	end
3890
end)
3891
3892
selectChat.MouseButton1Down:Connect(function()
3893
	join.Visible = false
3894
	chat.Visible = true
3895
	table.remove(shade3,table.find(shade3,selectChat))
3896
	table.remove(shade2,table.find(shade2,selectJoin))
3897
	table.insert(shade2,selectChat)
3898
	table.insert(shade3,selectJoin)
3899
	selectJoin.BackgroundColor3 = currentShade3
3900
	selectChat.BackgroundColor3 = currentShade2
3901
end)
3902
3903
selectJoin.MouseButton1Down:Connect(function()
3904
	chat.Visible = false
3905
	join.Visible = true	
3906
	table.remove(shade3,table.find(shade3,selectJoin))
3907
	table.remove(shade2,table.find(shade2,selectChat))
3908
	table.insert(shade2,selectJoin)
3909
	table.insert(shade3,selectChat)
3910
	selectChat.BackgroundColor3 = currentShade3
3911
	selectJoin.BackgroundColor3 = currentShade2
3912
end)
3913
3914
if not writefileExploit() then
3915
    notify("Saves", "Your exploit does not support read/write file. Your settings will not save.")
3916
end
3917
3918
avatarcache = {}
3919
function sendChatWebhook(player, message)
3920
  if httprequest and vtype(logsWebhook, "string") then
3921
    local id = player.UserId
3922
    local avatar = avatarcache[id]
3923
    if not avatar then
3924
      local d = HttpService:JSONDecode(httprequest({
3925
        Url = "https://thumbnails.roblox.com/v1/users/avatar-headshot?userIds=" .. id .. "&size=420x420&format=Png&isCircular=false",
3926
        Method = "GET"
3927
      }).Body)["data"]
3928
      avatar = d and d[1].state == "Completed" and d[1].imageUrl or "https://files.catbox.moe/i968v2.jpg"
3929
      avatarcache[id] = avatar
3930
    end
3931
    local log = HttpService:JSONEncode({
3932
      content = message,
3933
      avatar_url = avatar,
3934
      username = formatUsername(player),
3935
      allowed_mentions = {parse = {}}
3936
    })
3937
    httprequest({
3938
      Url = logsWebhook,
3939
      Method = "POST",
3940
      Headers = {["Content-Type"] = "application/json"},
3941
      Body = log
3942
    })
3943
  end
3944
end
3945
3946
ChatLog = function(player)
3947
    player.Chatted:Connect(function(message)
3948
        if logsEnabled == true then
3949
            CreateLabel(player.Name, message)
3950
            sendChatWebhook(player, message)
3951
        end
3952
    end)
3953
end
3954
3955
JoinLog = function(plr)
3956
	if jLogsEnabled == true then
3957
		CreateJoinLabel(plr,plr.UserId)
3958
	end
3959
end
3960
3961
CleanFileName = function(name)
3962
    return tostring(name):gsub("[*\\?:<>|]+", ""):sub(1, 175)
3963
end
3964
3965
SaveChatlogs.MouseButton1Down:Connect(function()
3966
	if writefileExploit() then
3967
		if #scroll_2:GetChildren() > 0 then
3968
			notify("Loading",'Hold on a sec')
3969
			local placeName = CleanFileName(MarketplaceService:GetProductInfo(PlaceId).Name)
3970
			local writelogs = '-- Infinite Yield Chat logs for "'..placeName..'"\n'
3971
			for _, child in pairs(scroll_2:GetChildren()) do
3972
				writelogs = writelogs..'\n'..child.Text
3973
			end
3974
			local writelogsFile = tostring(writelogs)
3975
			local fileext = 0
3976
			local function nameFile()
3977
				local file
3978
				pcall(function() file = readfile(placeName..' Chat Logs ('..fileext..').txt') end)
3979
				if file then
3980
					fileext = fileext+1
3981
					nameFile()
3982
				else
3983
					writefileCooldown(placeName..' Chat Logs ('..fileext..').txt', writelogsFile)
3984
				end
3985
			end
3986
			nameFile()
3987
			notify('Chat Logs','Saved chat logs to the workspace folder within your exploit folder.')
3988
		end
3989
	else
3990
		notify('Chat Logs','Your exploit does not support write file. You cannot save chat logs.')
3991
	end
3992
end)
3993
3994
if isLegacyChat then
3995
    for _, plr in pairs(Players:GetPlayers()) do
3996
        ChatLog(plr)
3997
    end
3998
end
3999
4000
Players.PlayerRemoving:Connect(function(player)
4001
	if ESPenabled or CHMSenabled or COREGUI:FindFirstChild(player.Name..'_LC') then
4002
		for i,v in pairs(COREGUI:GetChildren()) do
4003
			if v.Name == player.Name..'_ESP' or v.Name == player.Name..'_LC' or v.Name == player.Name..'_CHMS' then
4004
				v:Destroy()
4005
			end
4006
		end
4007
	end
4008
	if viewing ~= nil and player == viewing then
4009
		workspace.CurrentCamera.CameraSubject = Players.LocalPlayer.Character
4010
		viewing = nil
4011
		if viewDied then
4012
			viewDied:Disconnect()
4013
			viewChanged:Disconnect()
4014
		end
4015
		notify('Spectate','View turned off (player left)')
4016
	end
4017
	eventEditor.FireEvent("OnLeave", player.Name)
4018
end)
4019
4020
Exit.MouseButton1Down:Connect(function()
4021
	logs:TweenPosition(UDim2.new(0, 0, 1, 10), "InOut", "Quart", 0.3, true, nil)
4022
end)
4023
4024
Hide.MouseButton1Down:Connect(function()
4025
	if logs.Position ~= UDim2.new(0, 0, 1, -20) then
4026
		logs:TweenPosition(UDim2.new(0, 0, 1, -20), "InOut", "Quart", 0.3, true, nil)
4027
	else
4028
		logs:TweenPosition(UDim2.new(0, 0, 1, -265), "InOut", "Quart", 0.3, true, nil)
4029
	end
4030
end)
4031
4032
EventBind.MouseButton1Click:Connect(function()
4033
	eventEditor.Frame:TweenPosition(UDim2.new(0.5,-175,0.5,-101), "InOut", "Quart", 0.5, true, nil)
4034
end)
4035
4036
Keybinds.MouseButton1Click:Connect(function()
4037
	KeybindsFrame:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true, nil)
4038
	wait(0.5)
4039
	SettingsHolder.Visible = false
4040
end)
4041
4042
Close.MouseButton1Click:Connect(function()
4043
	SettingsHolder.Visible = true
4044
	KeybindsFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil)
4045
end)
4046
4047
Keybinds.MouseButton1Click:Connect(function()
4048
	KeybindsFrame:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true, nil)
4049
	wait(0.5)
4050
	SettingsHolder.Visible = false
4051
end)
4052
4053
Add.MouseButton1Click:Connect(function()
4054
	KeybindEditor:TweenPosition(UDim2.new(0.5, -180, 0, 260), "InOut", "Quart", 0.5, true, nil)
4055
end)
4056
4057
Delete.MouseButton1Click:Connect(function()
4058
	binds = {}
4059
	refreshbinds()
4060
	updatesaves()
4061
	notify('Keybinds Updated','Removed all keybinds')
4062
end)
4063
4064
Close_2.MouseButton1Click:Connect(function()
4065
	SettingsHolder.Visible = true
4066
	AliasesFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil)
4067
end)
4068
4069
Aliases.MouseButton1Click:Connect(function()
4070
	AliasesFrame:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true, nil)
4071
	wait(0.5)
4072
	SettingsHolder.Visible = false
4073
end)
4074
4075
Close_3.MouseButton1Click:Connect(function()
4076
	SettingsHolder.Visible = true
4077
	PositionsFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil)
4078
end)
4079
4080
Positions.MouseButton1Click:Connect(function()
4081
	PositionsFrame:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true, nil)
4082
	wait(0.5)
4083
	SettingsHolder.Visible = false
4084
end)
4085
4086
local selectionBox = Instance.new("SelectionBox")
4087
selectionBox.Name = randomString()
4088
selectionBox.Color3 = Color3.new(255,255,255)
4089
selectionBox.Adornee = nil
4090
selectionBox.Parent = PARENT
4091
4092
local selected = Instance.new("SelectionBox")
4093
selected.Name = randomString()
4094
selected.Color3 = Color3.new(0,166,0)
4095
selected.Adornee = nil
4096
selected.Parent = PARENT
4097
4098
local ActivateHighlight = nil
4099
local ClickSelect = nil
4100
function selectPart()
4101
	ToPartFrame:TweenPosition(UDim2.new(0.5, -180, 0, 335), "InOut", "Quart", 0.5, true, nil)
4102
	local function HighlightPart()
4103
		if selected.Adornee ~= IYMouse.Target then
4104
			selectionBox.Adornee = IYMouse.Target
4105
		else
4106
			selectionBox.Adornee = nil
4107
		end
4108
	end
4109
	ActivateHighlight = IYMouse.Move:Connect(HighlightPart)
4110
	local function SelectPart()
4111
		if IYMouse.Target ~= nil then
4112
			selected.Adornee = IYMouse.Target
4113
			Path.Text = getHierarchy(IYMouse.Target)
4114
		end
4115
	end
4116
	ClickSelect = IYMouse.Button1Down:Connect(SelectPart)
4117
end
4118
4119
Part.MouseButton1Click:Connect(function()
4120
	selectPart()
4121
end)
4122
4123
Exit_4.MouseButton1Click:Connect(function()
4124
	ToPartFrame:TweenPosition(UDim2.new(0.5, -180, 0, -500), "InOut", "Quart", 0.5, true, nil)
4125
	if ActivateHighlight then
4126
		ActivateHighlight:Disconnect()
4127
	end
4128
	if ClickSelect then
4129
		ClickSelect:Disconnect()
4130
	end
4131
	selectionBox.Adornee = nil
4132
	selected.Adornee = nil
4133
	Path.Text = ""
4134
end)
4135
4136
CopyPath.MouseButton1Click:Connect(function()
4137
	if Path.Text ~= "" then
4138
		toClipboard(Path.Text)
4139
	else
4140
		notify('Copy Path','Select a part to copy its path')
4141
	end
4142
end)
4143
4144
ChoosePart.MouseButton1Click:Connect(function()
4145
	if Path.Text ~= "" then
4146
		local tpNameExt = ''
4147
		local function handleWpNames()
4148
			local FoundDupe = false
4149
			for i,v in pairs(pWayPoints) do
4150
				if v.NAME:lower() == selected.Adornee.Name:lower()..tpNameExt then
4151
					FoundDupe = true
4152
				end
4153
			end
4154
			if not FoundDupe then
4155
				notify('Modified Waypoints',"Created waypoint: "..selected.Adornee.Name..tpNameExt)
4156
				pWayPoints[#pWayPoints + 1] = {NAME = selected.Adornee.Name..tpNameExt, COORD = {selected.Adornee}}
4157
			else
4158
				if isNumber(tpNameExt) then
4159
					tpNameExt = tpNameExt+1
4160
				else
4161
					tpNameExt = 1
4162
				end
4163
				handleWpNames()
4164
			end
4165
		end
4166
		handleWpNames()
4167
		refreshwaypoints()
4168
	else
4169
		notify('Part Selection','Select a part first')
4170
	end
4171
end)
4172
4173
cmds={}
4174
customAlias = {}
4175
Delete_3.MouseButton1Click:Connect(function()
4176
	customAlias = {}
4177
	aliases = {}
4178
	notify('Aliases Modified','Removed all aliases')
4179
	updatesaves()
4180
	refreshaliases()
4181
end)
4182
4183
PrefixBox:GetPropertyChangedSignal("Text"):Connect(function()
4184
	prefix = PrefixBox.Text
4185
	Cmdbar.PlaceholderText = "Command Bar ("..prefix..")"
4186
	updatesaves()
4187
end)
4188
4189
function CamViewport()
4190
	if workspace.CurrentCamera then
4191
		return workspace.CurrentCamera.ViewportSize.X
4192
	end
4193
end
4194
4195
function UpdateToViewport()
4196
	if Holder.Position.X.Offset < -CamViewport() then
4197
		Holder:TweenPosition(UDim2.new(1, -CamViewport(), Holder.Position.Y.Scale, Holder.Position.Y.Offset), "InOut", "Quart", 0.04, true, nil)
4198
		Notification:TweenPosition(UDim2.new(1, -CamViewport() + 250, Notification.Position.Y.Scale, Notification.Position.Y.Offset), "InOut", "Quart", 0.04, true, nil)
4199
	end
4200
end
4201
CameraChanged = workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(UpdateToViewport)
4202
4203
function updateCamera(child, parent)
4204
	if parent ~= workspace then
4205
		CamMoved:Disconnect()
4206
		CameraChanged:Disconnect()
4207
		repeat wait() until workspace.CurrentCamera
4208
		CameraChanged = workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(UpdateToViewport)
4209
		CamMoved = workspace.CurrentCamera.AncestryChanged:Connect(updateCamera)
4210
	end
4211
end
4212
CamMoved = workspace.CurrentCamera.AncestryChanged:Connect(updateCamera)
4213
4214
function dragMain(dragpoint,gui)
4215
	task.spawn(function()
4216
		local dragging
4217
		local dragInput
4218
		local dragStart = Vector3.new(0,0,0)
4219
		local startPos
4220
		local function update(input)
4221
			local pos = -250
4222
			local delta = input.Position - dragStart
4223
			if startPos.X.Offset + delta.X <= -500 then
4224
				local Position = UDim2.new(1, -250, Notification.Position.Y.Scale, Notification.Position.Y.Offset)
4225
				TweenService:Create(Notification, TweenInfo.new(.20), {Position = Position}):Play()
4226
				pos = 250
4227
			else
4228
				local Position = UDim2.new(1, -500, Notification.Position.Y.Scale, Notification.Position.Y.Offset)
4229
				TweenService:Create(Notification, TweenInfo.new(.20), {Position = Position}):Play()
4230
				pos = -250
4231
			end
4232
			if startPos.X.Offset + delta.X <= -250 and -CamViewport() <= startPos.X.Offset + delta.X then
4233
				local Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, gui.Position.Y.Scale, gui.Position.Y.Offset)
4234
				TweenService:Create(gui, TweenInfo.new(.20), {Position = Position}):Play()
4235
				local Position2 = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X + pos, Notification.Position.Y.Scale, Notification.Position.Y.Offset)
4236
				TweenService:Create(Notification, TweenInfo.new(.20), {Position = Position2}):Play()
4237
			elseif startPos.X.Offset + delta.X > -500 then
4238
				local Position = UDim2.new(1, -250, gui.Position.Y.Scale, gui.Position.Y.Offset)
4239
				TweenService:Create(gui, TweenInfo.new(.20), {Position = Position}):Play()
4240
			elseif -CamViewport() > startPos.X.Offset + delta.X then
4241
				gui:TweenPosition(UDim2.new(1, -CamViewport(), gui.Position.Y.Scale, gui.Position.Y.Offset), "InOut", "Quart", 0.04, true, nil)
4242
				local Position = UDim2.new(1, -CamViewport(), gui.Position.Y.Scale, gui.Position.Y.Offset)
4243
				TweenService:Create(gui, TweenInfo.new(.20), {Position = Position}):Play()
4244
				local Position2 = UDim2.new(1, -CamViewport() + 250, Notification.Position.Y.Scale, Notification.Position.Y.Offset)
4245
				TweenService:Create(Notification, TweenInfo.new(.20), {Position = Position2}):Play()
4246
			end
4247
		end
4248
		dragpoint.InputBegan:Connect(function(input)
4249
			if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
4250
				dragging = true
4251
				dragStart = input.Position
4252
				startPos = gui.Position
4253
4254
				input.Changed:Connect(function()
4255
					if input.UserInputState == Enum.UserInputState.End then
4256
						dragging = false
4257
					end
4258
				end)
4259
			end
4260
		end)
4261
		dragpoint.InputChanged:Connect(function(input)
4262
			if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
4263
				dragInput = input
4264
			end
4265
		end)
4266
		UserInputService.InputChanged:Connect(function(input)
4267
			if input == dragInput and dragging then
4268
				update(input)
4269
			end
4270
		end)
4271
	end)
4272
end
4273
4274
dragMain(Title,Holder)
4275
4276
Match = function(name,str)
4277
	str = str:gsub("%W", "%%%1")
4278
	return name:lower():find(str:lower()) and true
4279
end
4280
4281
local canvasPos = Vector2.new(0,0)
4282
local topCommand = nil
4283
IndexContents = function(str,bool,cmdbar,Ianim)
4284
	CMDsF.CanvasPosition = Vector2.new(0,0)
4285
	local SizeY = 0
4286
	local indexnum = 0
4287
	local frame = CMDsF
4288
	topCommand = nil
4289
	local chunks = {}
4290
	if str:sub(#str,#str) == "\\" then str = "" end
4291
	for w in string.gmatch(str,"[^\\]+") do
4292
		table.insert(chunks,w)
4293
	end
4294
	if #chunks > 0 then str = chunks[#chunks] end
4295
	if str:sub(1,1) == "!" then str = str:sub(2) end
4296
	for i,v in next, frame:GetChildren() do
4297
		if v:IsA("TextButton") then
4298
			if bool then
4299
				if Match(v.Text,str) then
4300
					indexnum = indexnum + 1
4301
					v.Visible = true
4302
					if topCommand == nil then
4303
						topCommand = v.Text
4304
					end
4305
				else
4306
					v.Visible = false
4307
				end
4308
			else
4309
				v.Visible = true
4310
				if topCommand == nil then
4311
					topCommand = v.Text
4312
				end
4313
			end
4314
		end
4315
	end
4316
	frame.CanvasSize = UDim2.new(0,0,0,cmdListLayout.AbsoluteContentSize.Y)
4317
	if not Ianim then
4318
		if indexnum == 0 or string.find(str, " ") then
4319
			if not cmdbar then
4320
				minimizeHolder()
4321
			elseif cmdbar then
4322
				cmdbarHolder()
4323
			end
4324
		else
4325
			maximizeHolder()
4326
		end
4327
	else
4328
		minimizeHolder()
4329
	end
4330
end
4331
4332
task.spawn(function()
4333
	if not isLegacyChat then return end
4334
	local chatbox
4335
	local success, result = pcall(function() chatbox = PlayerGui:WaitForChild("Chat").Frame.ChatBarParentFrame.Frame.BoxFrame.Frame.ChatBar end)
4336
	if success then
4337
		local function chatboxFocused()
4338
			canvasPos = CMDsF.CanvasPosition
4339
		end
4340
		local chatboxFocusedC = chatbox.Focused:Connect(chatboxFocused)
4341
4342
		local function Index()
4343
			if chatbox.Text:lower():sub(1,1) == prefix then
4344
				if SettingsOpen == true then
4345
					wait(0.2)
4346
					CMDsF.Visible = true
4347
					Settings:TweenPosition(UDim2.new(0, 0, 0, 220), "InOut", "Quart", 0.2, true, nil)
4348
				end
4349
				IndexContents(PlayerGui.Chat.Frame.ChatBarParentFrame.Frame.BoxFrame.Frame.ChatBar.Text:lower():sub(2),true)
4350
			else
4351
				minimizeHolder()
4352
				if SettingsOpen == true then
4353
					wait(0.2)
4354
					Settings:TweenPosition(UDim2.new(0, 0, 0, 45), "InOut", "Quart", 0.2, true, nil)
4355
					CMDsF.Visible = false
4356
				end
4357
			end
4358
		end
4359
		local chatboxFunc = chatbox:GetPropertyChangedSignal("Text"):Connect(Index)
4360
4361
		local function chatboxFocusLost(enterpressed)
4362
			if not enterpressed or chatbox.Text:lower():sub(1,1) ~= prefix then
4363
				IndexContents('',true)
4364
			end
4365
			CMDsF.CanvasPosition = canvasPos
4366
			minimizeHolder()
4367
		end
4368
		local chatboxFocusLostC = chatbox.FocusLost:Connect(chatboxFocusLost)
4369
4370
		PlayerGui:WaitForChild("Chat").Frame.ChatBarParentFrame.ChildAdded:Connect(function(newbar)
4371
			wait()
4372
			if newbar:FindFirstChild('BoxFrame') then
4373
				chatbox = PlayerGui:WaitForChild("Chat").Frame.ChatBarParentFrame.Frame.BoxFrame.Frame.ChatBar
4374
				if chatboxFocusedC then chatboxFocusedC:Disconnect() end
4375
				chatboxFocusedC = chatbox.Focused:Connect(chatboxFocused)
4376
				if chatboxFunc then chatboxFunc:Disconnect() end
4377
				chatboxFunc = chatbox:GetPropertyChangedSignal("Text"):Connect(Index)
4378
				if chatboxFocusLostC then chatboxFocusLostC:Disconnect() end
4379
				chatboxFocusLostC = chatbox.FocusLost:Connect(chatboxFocusLost)
4380
			end
4381
		end)
4382
		--else
4383
		--print('Custom chat detected. Will not provide suggestions for commands typed in the chat.')
4384
	end
4385
end)
4386
4387
function autoComplete(str,curText)
4388
	local endingChar = {"[", "/", "(", " "}
4389
	local stop = 0
4390
	for i=1,#str do
4391
		local c = str:sub(i,i)
4392
		if table.find(endingChar, c) then
4393
			stop = i
4394
			break
4395
		end
4396
	end
4397
	curText = curText or Cmdbar.Text
4398
	local subPos = 0
4399
	local pos = 1
4400
	local findRes = string.find(curText,"\\",pos)
4401
	while findRes do
4402
		subPos = findRes
4403
		pos = findRes+1
4404
		findRes = string.find(curText,"\\",pos)
4405
	end
4406
	if curText:sub(subPos+1,subPos+1) == "!" then subPos = subPos + 1 end
4407
	Cmdbar.Text = curText:sub(1,subPos) .. str:sub(1, stop - 1)..' '
4408
	RunService.RenderStepped:Wait()
4409
	Cmdbar.Text = Cmdbar.Text:gsub( '\t', '' )
4410
	Cmdbar.CursorPosition = #Cmdbar.Text+1--1020
4411
end
4412
4413
CMDs = {}
4414
CMDs[#CMDs + 1] = {NAME = 'discord / support / help', DESC = 'Invite to the Infinite Yield support server.'}
4415
CMDs[#CMDs + 1] = {NAME = 'guiscale [number]', DESC = 'Changes the size of the gui. [number] accepts both decimals and whole numbers. Min is 0.4 and Max is 2'}
4416
CMDs[#CMDs + 1] = {NAME = 'console', DESC = 'Loads Roblox console'}
4417
CMDs[#CMDs + 1] = {NAME = 'oldconsole', DESC = 'Loads old Roblox console'}
4418
CMDs[#CMDs + 1] = {NAME = 'explorer / dex', DESC = 'Opens DEX by Moon'}
4419
CMDs[#CMDs + 1] = {NAME = 'olddex / odex', DESC = 'Opens Old DEX by Moon'}
4420
CMDs[#CMDs + 1] = {NAME = 'remotespy / rspy', DESC = 'Opens Simple Spy V3'}
4421
CMDs[#CMDs + 1] = {NAME = 'audiologger / alogger', DESC = 'Opens Edges audio logger'}
4422
CMDs[#CMDs + 1] = {NAME = 'serverinfo / info', DESC = 'Gives you info about the server'}
4423
CMDs[#CMDs + 1] = {NAME = 'jobid', DESC = 'Copies the games JobId to your clipboard'}
4424
CMDs[#CMDs + 1] = {NAME = 'notifyjobid', DESC = 'Notifies you the games JobId'}
4425
CMDs[#CMDs + 1] = {NAME = 'rejoin / rj', DESC = 'Makes you rejoin the game'}
4426
CMDs[#CMDs + 1] = {NAME = 'autorejoin / autorj', DESC = 'Automatically rejoins the server if you get kicked/disconnected'}
4427
CMDs[#CMDs + 1] = {NAME = 'serverhop / shop', DESC = 'Teleports you to a different server'}
4428
CMDs[#CMDs + 1] = {NAME = 'gameteleport / gametp [place ID]', DESC = 'Joins a game by ID'}
4429
CMDs[#CMDs + 1] = {NAME = 'antiidle / antiafk', DESC = 'Prevents the game from kicking you for being idle/afk'}
4430
CMDs[#CMDs + 1] = {NAME = 'datalimit [num]', DESC = 'Set outgoing KBPS limit'}
4431
CMDs[#CMDs + 1] = {NAME = 'replicationlag / backtrack [num]', DESC = 'Set IncomingReplicationLag'}
4432
CMDs[#CMDs + 1] = {NAME = 'creatorid / creator', DESC = 'Notifies you the creators ID'}
4433
CMDs[#CMDs + 1] = {NAME = 'copycreatorid / copycreator', DESC = 'Copies the creators ID to your clipboard'}
4434
CMDs[#CMDs + 1] = {NAME = 'setcreatorid / setcreator', DESC = 'Sets your userid to the creators ID'}
4435
CMDs[#CMDs + 1] = {NAME = 'noprompts', DESC = 'Prevents the game from showing you purchase/premium prompts'}
4436
CMDs[#CMDs + 1] = {NAME = 'showprompts', DESC = 'Allows the game to show purchase/premium prompts again'}
4437
CMDs[#CMDs + 1] = {NAME = 'enable [inventory/playerlist/chat/reset/emotes/all]', DESC = 'Toggles visibility of coregui items'}
4438
CMDs[#CMDs + 1] = {NAME = 'disable [inventory/playerlist/chat/reset/emotes/all]', DESC = 'Toggles visibility of coregui items'}
4439
CMDs[#CMDs + 1] = {NAME = 'showguis', DESC = 'Shows any invisible GUIs'}
4440
CMDs[#CMDs + 1] = {NAME = 'unshowguis', DESC = 'Undoes showguis'}
4441
CMDs[#CMDs + 1] = {NAME = 'hideguis', DESC = 'Hides any GUIs in PlayerGui'}
4442
CMDs[#CMDs + 1] = {NAME = 'unhideguis', DESC = 'Undoes hideguis'}
4443
CMDs[#CMDs + 1] = {NAME = 'guidelete', DESC = 'Enables backspace to delete GUI'}
4444
CMDs[#CMDs + 1] = {NAME = 'unguidelete / noguidelete', DESC = 'Disables guidelete'}
4445
CMDs[#CMDs + 1] = {NAME = 'hideiy', DESC = 'Hides the main IY GUI'}
4446
CMDs[#CMDs + 1] = {NAME = 'showiy / unhideiy', DESC = 'Shows IY again'}
4447
CMDs[#CMDs + 1] = {NAME = 'keepiy', DESC = 'Auto execute IY when you teleport through servers'}
4448
CMDs[#CMDs + 1] = {NAME = 'unkeepiy', DESC = 'Disable keepiy'}
4449
CMDs[#CMDs + 1] = {NAME = 'togglekeepiy', DESC = 'Toggles keepiy'}
4450
CMDs[#CMDs + 1] = {NAME = 'savegame / saveplace', DESC = 'Uses saveinstance to save the game'}
4451
CMDs[#CMDs + 1] = {NAME = 'clearerror', DESC = 'Clears the annoying box and blur when a game kicks you'}
4452
CMDs[#CMDs + 1] = {NAME = 'clientantikick / antikick (CLIENT)', DESC = 'Prevents localscripts from kicking you'}
4453
CMDs[#CMDs + 1] = {NAME = 'clientantiteleport / antiteleport (CLIENT)', DESC = 'Prevents localscripts from teleporting you'}
4454
CMDs[#CMDs + 1] = {NAME = 'allowrejoin / allowrj [true/false] (CLIENT)', DESC = 'Changes if antiteleport allows you to rejoin or not'}
4455
CMDs[#CMDs + 1] = {NAME = 'cancelteleport / canceltp', DESC = 'Cancels teleports in progress'}
4456
CMDs[#CMDs + 1] = {NAME = 'volume / vol [0-10]', DESC = 'Adjusts your game volume on a scale of 0 to 10'}
4457
CMDs[#CMDs + 1] = {NAME = 'antilag / boostfps / lowgraphics', DESC = 'Lowers game quality to boost FPS'}
4458
CMDs[#CMDs + 1] = {NAME = 'record / rec', DESC = 'Starts Roblox recorder'}
4459
CMDs[#CMDs + 1] = {NAME = 'screenshot / scrnshot', DESC = 'Takes a screenshot'}
4460
CMDs[#CMDs + 1] = {NAME = 'togglefullscreen / togglefs', DESC = 'Toggles fullscreen'}
4461
CMDs[#CMDs + 1] = {NAME = 'notify [text]', DESC = 'Sends you a notification with the provided text'}
4462
CMDs[#CMDs + 1] = {NAME = 'lastcommand / lastcmd', DESC = 'Executes the previous command used'}
4463
CMDs[#CMDs + 1] = {NAME = 'exit', DESC = 'Kills roblox process'}
4464
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4465
CMDs[#CMDs + 1] = {NAME = 'noclip', DESC = 'Go through objects'}
4466
CMDs[#CMDs + 1] = {NAME = 'unnoclip / clip', DESC = 'Disables noclip'}
4467
CMDs[#CMDs + 1] = {NAME = 'fly [speed]', DESC = 'Makes you fly'}
4468
CMDs[#CMDs + 1] = {NAME = 'unfly', DESC = 'Disables fly'}
4469
CMDs[#CMDs + 1] = {NAME = 'flyspeed [num]', DESC = 'Set fly speed (default is 20)'}
4470
CMDs[#CMDs + 1] = {NAME = 'vehiclefly / vfly [speed]', DESC = 'Makes you fly in a vehicle'}
4471
CMDs[#CMDs + 1] = {NAME = 'unvehiclefly / unvfly', DESC = 'Disables vehicle fly'}
4472
CMDs[#CMDs + 1] = {NAME = 'vehicleflyspeed  / vflyspeed [num]', DESC = 'Set vehicle fly speed'}
4473
CMDs[#CMDs + 1] = {NAME = 'cframefly / cfly [speed]', DESC = 'Makes you fly, bypassing some anti cheats (works on mobile)'}
4474
CMDs[#CMDs + 1] = {NAME = 'uncframefly / uncfly', DESC = 'Disables cfly'}
4475
CMDs[#CMDs + 1] = {NAME = 'cframeflyspeed  / cflyspeed [num]', DESC = 'Sets cfly speed'}
4476
CMDs[#CMDs + 1] = {NAME = 'qefly [true / false]', DESC = 'Enables or disables the Q and E hotkeys for fly'}
4477
CMDs[#CMDs + 1] = {NAME = 'vehiclenoclip / vnoclip', DESC = 'Turns off vehicle collision'}
4478
CMDs[#CMDs + 1] = {NAME = 'vehicleclip / vclip / unvnoclip', DESC = 'Enables vehicle collision'}
4479
CMDs[#CMDs + 1] = {NAME = 'float /  platform', DESC = 'Spawns a platform beneath you causing you to float'}
4480
CMDs[#CMDs + 1] = {NAME = 'unfloat / noplatform', DESC = 'Removes the platform'}
4481
CMDs[#CMDs + 1] = {NAME = 'swim', DESC = 'Allows you to swim in the air'}
4482
CMDs[#CMDs + 1] = {NAME = 'unswim / noswim', DESC = 'Stops you from swimming everywhere'}
4483
CMDs[#CMDs + 1] = {NAME = 'toggleswim', DESC = 'Toggles swimming'}
4484
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4485
CMDs[#CMDs + 1] = {NAME = 'setwaypoint / swp [name]', DESC = 'Sets a waypoint at your position'}
4486
CMDs[#CMDs + 1] = {NAME = 'waypointpos / wpp [name] [X Y Z]', DESC = 'Sets a waypoint with specified coordinates'}
4487
CMDs[#CMDs + 1] = {NAME = 'waypoints', DESC = 'Shows a list of currently active waypoints'}
4488
CMDs[#CMDs + 1] = {NAME = 'showwaypoints / showwp', DESC = 'Shows all currently set waypoints'}
4489
CMDs[#CMDs + 1] = {NAME = 'hidewaypoints / hidewp', DESC = 'Hides shown waypoints'}
4490
CMDs[#CMDs + 1] = {NAME = 'waypoint / wp [name]', DESC = 'Teleports player to a waypoint'}
4491
CMDs[#CMDs + 1] = {NAME = 'tweenwaypoint / twp [name]', DESC = 'Tweens player to a waypoint'}
4492
CMDs[#CMDs + 1] = {NAME = 'walktowaypoint / wtwp [name]', DESC = 'Walks player to a waypoint'}
4493
CMDs[#CMDs + 1] = {NAME = 'deletewaypoint / dwp [name]', DESC = 'Deletes a waypoint'}
4494
CMDs[#CMDs + 1] = {NAME = 'clearwaypoints / cwp', DESC = 'Clears all waypoints'}
4495
CMDs[#CMDs + 1] = {NAME = 'cleargamewaypoints / cgamewp', DESC = 'Clears all waypoints for the game you are in'}
4496
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4497
CMDs[#CMDs + 1] = {NAME = 'goto [player]', DESC = 'Go to a player'}
4498
CMDs[#CMDs + 1] = {NAME = 'tweengoto / tgoto [player]', DESC = 'Tween to a player (bypasses some anti cheats)'}
4499
CMDs[#CMDs + 1] = {NAME = 'tweenspeed / tspeed [num]', DESC = 'Sets how fast all tween commands go (default is 1)'}
4500
CMDs[#CMDs + 1] = {NAME = 'vehiclegoto / vgoto [player]', DESC = 'Go to a player while in a vehicle'}
4501
CMDs[#CMDs + 1] = {NAME = 'loopgoto [player] [distance] [delay]', DESC = 'Loop teleport to a player'}
4502
CMDs[#CMDs + 1] = {NAME = 'unloopgoto', DESC = 'Stops teleporting you to a player'}
4503
CMDs[#CMDs + 1] = {NAME = 'pulsetp / ptp [player] [seconds]', DESC = 'Teleports you to a player for a specified amount of time'}
4504
CMDs[#CMDs + 1] = {NAME = 'clientbring / cbring [player] (CLIENT)', DESC = 'Bring a player'}
4505
CMDs[#CMDs + 1] = {NAME = 'loopbring [player] [distance] [delay] (CLIENT)', DESC = 'Loop brings a player to you (useful for killing)'}
4506
CMDs[#CMDs + 1] = {NAME = 'unloopbring [player]', DESC = 'Undoes loopbring'}
4507
CMDs[#CMDs + 1] = {NAME = 'freeze / fr [player] (CLIENT)', DESC = 'Freezes a player'}
4508
CMDs[#CMDs + 1] = {NAME = 'freezeanims', DESC = 'Freezes your animations / pauses your animations - Does not work on default animations'}
4509
CMDs[#CMDs + 1] = {NAME = 'unfreezeanims', DESC = 'Unfreezes your animations / plays your animations'}
4510
CMDs[#CMDs + 1] = {NAME = 'thaw / unfr [player] (CLIENT)', DESC = 'Unfreezes a player'}
4511
CMDs[#CMDs + 1] = {NAME = 'tpposition / tppos [X Y Z]', DESC = 'Teleports you to certain coordinates'}
4512
CMDs[#CMDs + 1] = {NAME = 'tweentpposition / ttppos [X Y Z]', DESC = 'Tween to coordinates (bypasses some anti cheats)'}
4513
CMDs[#CMDs + 1] = {NAME = 'offset [X Y Z]', DESC = 'Offsets you by certain coordinates'}
4514
CMDs[#CMDs + 1] = {NAME = 'tweenoffset / toffset [X Y Z]', DESC = 'Tween offset (bypasses some anti cheats)'}
4515
CMDs[#CMDs + 1] = {NAME = 'notifyposition / notifypos [player]', DESC = 'Notifies you the coordinates of a character'}
4516
CMDs[#CMDs + 1] = {NAME = 'copyposition / copypos [player]', DESC = 'Copies the coordinates of a character to your clipboard'}
4517
CMDs[#CMDs + 1] = {NAME = 'walktoposition / walktopos [X Y Z]', DESC = 'Makes you walk to a coordinate'}
4518
CMDs[#CMDs + 1] = {NAME = 'spawnpoint / spawn [delay]', DESC = 'Sets a position where you will spawn'}
4519
CMDs[#CMDs + 1] = {NAME = 'nospawnpoint / nospawn', DESC = 'Removes your custom spawn point'}
4520
CMDs[#CMDs + 1] = {NAME = 'flashback / diedtp', DESC = 'Teleports you to where you last died'}
4521
CMDs[#CMDs + 1] = {NAME = 'walltp', DESC = 'Teleports you above/over any wall you run into'}
4522
CMDs[#CMDs + 1] = {NAME = 'nowalltp / unwalltp', DESC = 'Disables walltp'}
4523
CMDs[#CMDs + 1] = {NAME = 'teleporttool / tptool', DESC = 'Gives you a teleport tool'}
4524
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4525
CMDs[#CMDs + 1] = {NAME = 'logs', DESC = 'Opens the logs GUI'}
4526
CMDs[#CMDs + 1] = {NAME = 'chatlogs / clogs', DESC = 'Log what people say or whisper'}
4527
CMDs[#CMDs + 1] = {NAME = 'joinlogs / jlogs', DESC = 'Log when people join'}
4528
CMDs[#CMDs + 1] = {NAME = 'chatlogswebhook / logswebhook [url]', DESC = 'Set a discord webhook for chatlogs to go to (provide no url to disable this)'}
4529
CMDs[#CMDs + 1] = {NAME = 'antichatlogs / antichatlogger', DESC = 'Prevents Roblox from banning you for your silly chat messages (game needs the legacy chat)'}
4530
CMDs[#CMDs + 1] = {NAME = 'chat / say [text]', DESC = 'Makes you chat a string (possible mute bypass)'}
4531
CMDs[#CMDs + 1] = {NAME = 'spam [text]', DESC = 'Makes you spam the chat'}
4532
CMDs[#CMDs + 1] = {NAME = 'unspam', DESC = 'Turns off spam'}
4533
CMDs[#CMDs + 1] = {NAME = 'whisper / pm [player] [text]', DESC = 'Makes you whisper a string to someone (possible mute bypass)'}
4534
CMDs[#CMDs + 1] = {NAME = 'pmspam [player] [text]', DESC = 'Makes you spam a players whispers'}
4535
CMDs[#CMDs + 1] = {NAME = 'unpmspam [player]', DESC = 'Turns off pm spam'}
4536
CMDs[#CMDs + 1] = {NAME = 'spamspeed [num]', DESC = 'How quickly you spam (default is 1)'}
4537
CMDs[#CMDs + 1] = {NAME = 'bubblechat (CLIENT)', DESC = 'Enables bubble chat for your client'}
4538
CMDs[#CMDs + 1] = {NAME = 'unbubblechat / nobubblechat', DESC = 'Disables the bubblechat command'}
4539
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4540
CMDs[#CMDs + 1] = {NAME = 'esp', DESC = 'View all players and their status'}
4541
CMDs[#CMDs + 1] = {NAME = 'espteam', DESC = 'ESP but teammates are green and bad guys are red'}
4542
CMDs[#CMDs + 1] = {NAME = 'noesp / unesp / unespteam', DESC = 'Removes ESP'}
4543
CMDs[#CMDs + 1] = {NAME = 'esptransparency [number]', DESC = 'Changes the transparency of ESP related commands'}
4544
CMDs[#CMDs + 1] = {NAME = 'partesp [part name]', DESC = 'Highlights a part'}
4545
CMDs[#CMDs + 1] = {NAME = 'unpartesp / nopartesp [part name]', DESC = 'removes partesp'}
4546
CMDs[#CMDs + 1] = {NAME = 'chams', DESC = 'ESP but without text in the way'}
4547
CMDs[#CMDs + 1] = {NAME = 'nochams / unchams', DESC = 'Removes chams'}
4548
CMDs[#CMDs + 1] = {NAME = 'locate [player]', DESC = 'View a single player and their status'}
4549
CMDs[#CMDs + 1] = {NAME = 'unlocate / nolocate [player]', DESC = 'Removes locate'}
4550
CMDs[#CMDs + 1] = {NAME = 'xray', DESC = 'Makes all parts in workspace transparent'}
4551
CMDs[#CMDs + 1] = {NAME = 'unxray / noxray', DESC = 'Restores transparency to all parts in workspace'}
4552
CMDs[#CMDs + 1] = {NAME = 'loopxray', DESC = 'Makes all parts in workspace transparent but looped'}
4553
CMDs[#CMDs + 1] = {NAME = 'unloopxray', DESC = 'Unloops xray'}
4554
CMDs[#CMDs + 1] = {NAME = 'togglexray', DESC = 'Toggles xray'}
4555
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4556
CMDs[#CMDs + 1] = {NAME = 'spectate / view [player]', DESC = 'View a player'}
4557
CMDs[#CMDs + 1] = {NAME = 'viewpart / viewp [part name]', DESC = 'View a part'}
4558
CMDs[#CMDs + 1] = {NAME = 'unspectate / unview', DESC = 'Stops viewing player'}
4559
CMDs[#CMDs + 1] = {NAME = 'freecam / fc', DESC = 'Allows you to freely move camera around the game'}
4560
CMDs[#CMDs + 1] = {NAME = 'freecampos / fcpos [X Y Z]', DESC = 'Moves / opens freecam in a certain position'}
4561
CMDs[#CMDs + 1] = {NAME = 'freecamwaypoint / fcwp [name]', DESC = 'Moves / opens freecam to a waypoint'}
4562
CMDs[#CMDs + 1] = {NAME = 'freecamgoto / fcgoto / fctp [player]', DESC = 'Moves / opens freecam to a player'}
4563
CMDs[#CMDs + 1] = {NAME = 'unfreecam / unfc', DESC = 'Disables freecam'}
4564
CMDs[#CMDs + 1] = {NAME = 'freecamspeed / fcspeed [num]', DESC = 'Adjusts freecam speed (default is 1)'}
4565
CMDs[#CMDs + 1] = {NAME = 'notifyfreecamposition / notifyfcpos', DESC = 'Noitifies you your freecam coordinates'}
4566
CMDs[#CMDs + 1] = {NAME = 'copyfreecamposition / copyfcpos', DESC = 'Copies your freecam coordinates to your clipboard'}
4567
CMDs[#CMDs + 1] = {NAME = 'gotocamera / gotocam', DESC = 'Teleports you to the location of your camera'}
4568
CMDs[#CMDs + 1] = {NAME = 'tweengotocam / tgotocam', DESC = 'Tweens you to the location of your camera'}
4569
CMDs[#CMDs + 1] = {NAME = 'firstp', DESC = 'Forces camera to go into first person'}
4570
CMDs[#CMDs + 1] = {NAME = 'thirdp', DESC = 'Allows camera to go into third person'}
4571
CMDs[#CMDs + 1] = {NAME = 'noclipcam / nccam', DESC = 'Allows camera to go through objects like walls'}
4572
CMDs[#CMDs + 1] = {NAME = 'maxzoom [num]', DESC = 'Maximum camera zoom'}
4573
CMDs[#CMDs + 1] = {NAME = 'minzoom [num]', DESC = 'Minimum camera zoom'}
4574
CMDs[#CMDs + 1] = {NAME = 'camdistance [num]', DESC = 'Changes camera distance from your player'}
4575
CMDs[#CMDs + 1] = {NAME = 'fov [num]', DESC = 'Adjusts field of view (default is 70)'}
4576
CMDs[#CMDs + 1] = {NAME = 'fixcam / restorecam', DESC = 'Fixes camera'}
4577
CMDs[#CMDs + 1] = {NAME = 'enableshiftlock / enablesl', DESC = 'Enables the shift lock option'}
4578
CMDs[#CMDs + 1] = {NAME = 'lookat [player]', DESC = 'Moves your camera view to a player'}
4579
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4580
CMDs[#CMDs + 1] = {NAME = 'btools (CLIENT)', DESC = 'Gives you building tools (DOES NOT REPLICATE)'}
4581
CMDs[#CMDs + 1] = {NAME = 'f3x (CLIENT)', DESC = 'Gives you F3X building tools (DOES NOT REPLICATE)'}
4582
CMDs[#CMDs + 1] = {NAME = 'partname / partpath', DESC = 'Allows you to click a part to see its path & name'}
4583
CMDs[#CMDs + 1] = {NAME = 'delete [instance name] (CLIENT)', DESC = 'Removes any part with a certain name from the workspace (DOES NOT REPLICATE)'}
4584
CMDs[#CMDs + 1] = {NAME = 'deleteclass / dc [class name] (CLIENT)', DESC = 'Removes any part with a certain classname from the workspace (DOES NOT REPLICATE)'}
4585
CMDs[#CMDs + 1] = {NAME = 'lockworkspace / lockws', DESC = 'Locks the whole workspace'}
4586
CMDs[#CMDs + 1] = {NAME = 'unlockworkspace / unlockws', DESC = 'Unlocks the whole workspace'}
4587
CMDs[#CMDs + 1] = {NAME = 'invisibleparts / invisparts (CLIENT)', DESC = 'Shows invisible parts'}
4588
CMDs[#CMDs + 1] = {NAME = 'uninvisibleparts / uninvisparts (CLIENT)', DESC = 'Makes parts affected by invisparts return to normal'}
4589
CMDs[#CMDs + 1] = {NAME = 'deleteinvisparts / dip (CLIENT)', DESC = 'Deletes invisible parts'}
4590
CMDs[#CMDs + 1] = {NAME = 'gotopart [part name]', DESC = 'Moves your character to a part or multiple parts'}
4591
CMDs[#CMDs + 1] = {NAME = 'tweengotopart / tgotopart [part name]', DESC = 'Tweens your character to a part or multiple parts'}
4592
CMDs[#CMDs + 1] = {NAME = 'gotopartclass / gpc [class name]', DESC = 'Moves your character to a part or multiple parts based on classname'}
4593
CMDs[#CMDs + 1] = {NAME = 'tweengotopartclass / tgpc [class name]', DESC = 'Tweens your character to a part or multiple parts based on classname'}
4594
CMDs[#CMDs + 1] = {NAME = 'gotomodel [part name]', DESC = 'Moves your character to a model or multiple models'}
4595
CMDs[#CMDs + 1] = {NAME = 'tweengotomodel / tgotomodel [part name]', DESC = 'Tweens your character to a model or multiple models'}
4596
CMDs[#CMDs + 1] = {NAME = 'gotopartdelay / gotomodeldelay [num]', DESC = 'Adjusts how quickly you teleport to each part (default is 0.1)'}
4597
CMDs[#CMDs + 1] = {NAME = 'bringpart [part name] (CLIENT)', DESC = 'Moves a part or multiple parts to your character'}
4598
CMDs[#CMDs + 1] = {NAME = 'bringpartclass / bpc [class name] (CLIENT)', DESC = 'Moves a part or multiple parts to your character based on classname'}
4599
CMDs[#CMDs + 1] = {NAME = 'noclickdetectorlimits / nocdlimits', DESC = 'Sets all click detectors MaxActivationDistance to math.huge'}
4600
CMDs[#CMDs + 1] = {NAME = 'fireclickdetectors / firecd [name]', DESC = 'Uses all click detectors in a game or uses the optional name'}
4601
CMDs[#CMDs + 1] = {NAME = 'firetouchinterests / touchinterests [name]', DESC = 'Uses all touchinterests in a game or uses the optional name'}
4602
CMDs[#CMDs + 1] = {NAME = 'noproximitypromptlimits / nopplimits', DESC = 'Sets all proximity prompts MaxActivationDistance to math.huge'}
4603
CMDs[#CMDs + 1] = {NAME = 'fireproximityprompts / firepp [name]', DESC = 'Uses all proximity prompts in a game or uses the optional name'}
4604
CMDs[#CMDs + 1] = {NAME = 'instantproximityprompts / instantpp', DESC = 'Disable the cooldown for proximity prompts'}
4605
CMDs[#CMDs + 1] = {NAME = 'uninstantproximityprompts / uninstantpp', DESC = 'Undo the cooldown removal'}
4606
CMDs[#CMDs + 1] = {NAME = 'tpunanchored / tpua [player]', DESC = 'Teleports unanchored parts to a player'}
4607
CMDs[#CMDs + 1] = {NAME = 'animsunanchored / freezeua', DESC = 'Freezes unanchored parts'}
4608
CMDs[#CMDs + 1] = {NAME = 'thawunanchored / thawua / unfreezeua', DESC = 'Thaws unanchored parts'}
4609
CMDs[#CMDs + 1] = {NAME = 'removeterrain / rterrain / noterrain', DESC = 'Removes all terrain'}
4610
CMDs[#CMDs + 1] = {NAME = 'clearnilinstances / nonilinstances / cni', DESC = 'Removes nil instances'}
4611
CMDs[#CMDs + 1] = {NAME = 'destroyheight / dh [num]', DESC = 'Sets FallenPartsDestroyHeight'}
4612
CMDs[#CMDs + 1] = {NAME = 'fakeout', DESC = 'Tp to the void and then back (useful to kill people attached to you)'}
4613
CMDs[#CMDs + 1] = {NAME = 'antivoid', DESC = 'Prevents you from falling into the void by launching you upwards'}
4614
CMDs[#CMDs + 1] = {NAME = 'unantivoid / noantivoid', DESC = 'Disables antivoid'}
4615
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4616
CMDs[#CMDs + 1] = {NAME = 'fullbright / fb (CLIENT)', DESC = 'Makes the map brighter / more visible'}
4617
CMDs[#CMDs + 1] = {NAME = 'loopfullbright / loopfb (CLIENT)', DESC = 'Makes the map brighter / more visible but looped'}
4618
CMDs[#CMDs + 1] = {NAME = 'unloopfullbright / unloopfb', DESC = 'Unloops fullbright'}
4619
CMDs[#CMDs + 1] = {NAME = 'ambient [num] [num] [num] (CLIENT)', DESC = 'Changes ambient'}
4620
CMDs[#CMDs + 1] = {NAME = 'day (CLIENT)', DESC = 'Changes the time to day for the client'}
4621
CMDs[#CMDs + 1] = {NAME = 'night (CLIENT)', DESC = 'Changes the time to night for the client'}
4622
CMDs[#CMDs + 1] = {NAME = 'nofog (CLIENT)', DESC = 'Removes fog'}
4623
CMDs[#CMDs + 1] = {NAME = 'brightness [num] (CLIENT)', DESC = 'Changes the brightness lighting property'}
4624
CMDs[#CMDs + 1] = {NAME = 'globalshadows / gshadows (CLIENT)', DESC = 'Enables global shadows'}
4625
CMDs[#CMDs + 1] = {NAME = 'noglobalshadows / nogshadows (CLIENT)', DESC = 'Disables global shadows'}
4626
CMDs[#CMDs + 1] = {NAME = 'restorelighting / rlighting', DESC = 'Restores Lighting properties'}
4627
CMDs[#CMDs + 1] = {NAME = 'light [radius] [brightness] (CLIENT)', DESC = 'Gives your player dynamic light'}
4628
CMDs[#CMDs + 1] = {NAME = 'nolight / unlight', DESC = 'Removes dynamic light from your player'}
4629
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4630
CMDs[#CMDs + 1] = {NAME = 'inspect / examine [player]', DESC = 'Opens InspectMenu for a certain player'}
4631
CMDs[#CMDs + 1] = {NAME = 'age [player]', DESC = 'Tells you the age of a player'}
4632
CMDs[#CMDs + 1] = {NAME = 'chatage [player]', DESC = 'Chats the age of a player'}
4633
CMDs[#CMDs + 1] = {NAME = 'joindate / jd [player]', DESC = 'Tells you the date the player joined Roblox'}
4634
CMDs[#CMDs + 1] = {NAME = 'chatjoindate / cjd [player]', DESC = 'Chats the date the player joined Roblox'}
4635
CMDs[#CMDs + 1] = {NAME = 'copyname / copyuser [player]', DESC = 'Copies a players full username to your clipboard'}
4636
CMDs[#CMDs + 1] = {NAME = 'userid / id [player]', DESC = 'Notifies a players user ID'}
4637
CMDs[#CMDs + 1] = {NAME = 'copyuserid / copyid [player]', DESC = 'Copies a players user ID to your clipboard'}
4638
CMDs[#CMDs + 1] = {NAME = 'appearanceid / aid [player]', DESC = 'Notifies a players appearance ID'}
4639
CMDs[#CMDs + 1] = {NAME = 'copyappearanceid / caid [player]', DESC = 'Copies a players appearance ID to your clipboard'}
4640
CMDs[#CMDs + 1] = {NAME = 'bang [player] [speed]', DESC = 'owo'}
4641
CMDs[#CMDs + 1] = {NAME = 'unbang', DESC = 'uwu'}
4642
CMDs[#CMDs + 1] = {NAME = 'carpet [player]', DESC = 'Be someones carpet'}
4643
CMDs[#CMDs + 1] = {NAME = 'uncarpet', DESC = 'Undoes carpet'}
4644
CMDs[#CMDs + 1] = {NAME = 'friend [player]', DESC = 'Sends a friend request to certain players'}
4645
CMDs[#CMDs + 1] = {NAME = 'unfriend [player]', DESC = 'Unfriends certain players'}
4646
CMDs[#CMDs + 1] = {NAME = 'headsit [player]', DESC = 'Sit on a players head'}
4647
CMDs[#CMDs + 1] = {NAME = 'walkto / follow [player]', DESC = 'Follow a player'}
4648
CMDs[#CMDs + 1] = {NAME = 'pathfindwalkto / pathfindfollow [player]', DESC = 'Follow a player using pathfinding'}
4649
CMDs[#CMDs + 1] = {NAME = 'pathfindwalktowaypoint / pathfindwalktowp [waypoint]', DESC = 'Walk to a waypoint using pathfinding'}
4650
CMDs[#CMDs + 1] = {NAME = 'unwalkto / unfollow', DESC = 'Stops following a player'}
4651
CMDs[#CMDs + 1] = {NAME = 'orbit [player] [speed] [distance]', DESC = 'Makes your character orbit around a player with an optional speed and an optional distance'}
4652
CMDs[#CMDs + 1] = {NAME = 'unorbit', DESC = 'Disables orbit'}
4653
CMDs[#CMDs + 1] = {NAME = 'stareat / stare [player]', DESC = 'Stare / look at a player'}
4654
CMDs[#CMDs + 1] = {NAME = 'unstareat / unstare [player]', DESC = 'Disables stareat'}
4655
CMDs[#CMDs + 1] = {NAME = 'rolewatch [group id] [role name]', DESC = 'Notify if someone from a watched group joins the server'}
4656
CMDs[#CMDs + 1] = {NAME = 'rolewatchstop / unrolewatch', DESC = 'Disable Rolewatch'}
4657
CMDs[#CMDs + 1] = {NAME = 'rolewatchleave', DESC = 'Toggle if you should leave the game if someone from a watched group joins the server'}
4658
CMDs[#CMDs + 1] = {NAME = 'staffwatch', DESC = 'Notify if a staff member of the game joins the server'}
4659
CMDs[#CMDs + 1] = {NAME = 'unstaffwatch', DESC = 'Disable Staffwatch'}
4660
CMDs[#CMDs + 1] = {NAME = 'handlekill / hkill [player] [radius] (TOOL)', DESC = 'Kills a player using tool damage (YOU NEED A TOOL)'}
4661
CMDs[#CMDs + 1] = {NAME = 'fling', DESC = 'Flings anyone you touch'}
4662
CMDs[#CMDs + 1] = {NAME = 'unfling', DESC = 'Disables the fling command'}
4663
CMDs[#CMDs + 1] = {NAME = 'flyfling [speed]', DESC = 'Basically the invisfling command but not invisible'}
4664
CMDs[#CMDs + 1] = {NAME = 'unflyfling', DESC = 'Disables the flyfling command'}
4665
CMDs[#CMDs + 1] = {NAME = 'walkfling', DESC = 'Basically fling but no spinning'}
4666
CMDs[#CMDs + 1] = {NAME = 'unwalkfling / nowalkfling', DESC = 'Disables walkfling'}
4667
CMDs[#CMDs + 1] = {NAME = 'invisfling', DESC = 'Enables invisible fling (the invis part is patched, try using the god command before using this)'}
4668
CMDs[#CMDs + 1] = {NAME = 'antifling', DESC = 'Disables player collisions to prevent you from being flung'}
4669
CMDs[#CMDs + 1] = {NAME = 'unantifling', DESC = 'Disables antifling'}
4670
CMDs[#CMDs + 1] = {NAME = 'loopoof', DESC = 'Loops everyones character sounds (everyone can hear)'}
4671
CMDs[#CMDs + 1] = {NAME = 'unloopoof', DESC = 'Stops the oof chaos'}
4672
CMDs[#CMDs + 1] = {NAME = 'muteboombox [player]', DESC = 'Mutes someones boombox'}
4673
CMDs[#CMDs + 1] = {NAME = 'unmuteboombox [player]', DESC = 'Unmutes someones boombox'}
4674
CMDs[#CMDs + 1] = {NAME = 'hitbox [player] [size] [transparency]', DESC = 'Expands the hitbox for players HumanoidRootPart (default is 1)'}
4675
CMDs[#CMDs + 1] = {NAME = 'headsize [player] [size]', DESC = 'Expands the head size for players Head (default is 1)'}
4676
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4677
CMDs[#CMDs + 1] = {NAME = 'reset', DESC = 'Resets your character normally'}
4678
CMDs[#CMDs + 1] = {NAME = 'respawn', DESC = 'Respawns you'}
4679
CMDs[#CMDs + 1] = {NAME = 'refresh / re', DESC = 'Respawns and brings you back to the same position'}
4680
CMDs[#CMDs + 1] = {NAME = 'god', DESC = 'Makes your character difficult to kill in most games'}
4681
CMDs[#CMDs + 1] = {NAME = 'permadeath', DESC = 'Makes you unable to respawn after death'}
4682
CMDs[#CMDs + 1] = {NAME = 'invisible / invis', DESC = 'Makes you invisible to other players'}
4683
CMDs[#CMDs + 1] = {NAME = 'visible / vis', DESC = 'Makes you visible to other players'}
4684
CMDs[#CMDs + 1] = {NAME = 'toolinvisible / toolinvis / tinvis', DESC = 'Makes you invisible to other players and able to use tools'}
4685
CMDs[#CMDs + 1] = {NAME = 'speed / ws / walkspeed [num]', DESC = 'Change your walkspeed (default is 16)'}
4686
CMDs[#CMDs + 1] = {NAME = 'spoofspeed / spoofws [num]', DESC = 'Spoofs your WalkSpeed on the Client'}
4687
CMDs[#CMDs + 1] = {NAME = 'loopspeed / loopws [num]', DESC = 'Loops your walkspeed'}
4688
CMDs[#CMDs + 1] = {NAME = 'unloopspeed / unloopws', DESC = 'Turns off loopspeed'}
4689
CMDs[#CMDs + 1] = {NAME = 'hipheight / hheight [num]', DESC = 'Adjusts hip height'}
4690
CMDs[#CMDs + 1] = {NAME = 'jumppower / jpower / jp [num]', DESC = 'Change a players jump height (default is 50)'}
4691
CMDs[#CMDs + 1] = {NAME = 'spoofjumppower / spoofjp [num]', DESC = 'Spoofs your JumpPower on the Client'}
4692
CMDs[#CMDs + 1] = {NAME = 'loopjumppower / loopjp [num]', DESC = 'Loops your jump height'}
4693
CMDs[#CMDs + 1] = {NAME = 'unloopjumppower / unloopjp', DESC = 'Turns off loopjumppower'}
4694
CMDs[#CMDs + 1] = {NAME = 'maxslopeangle / msa [num]', DESC = 'Adjusts MaxSlopeAngle'}
4695
CMDs[#CMDs + 1] = {NAME = 'gravity / grav [num] (CLIENT)', DESC = 'Change your gravity'}
4696
CMDs[#CMDs + 1] = {NAME = 'sit', DESC = 'Makes your character sit'}
4697
CMDs[#CMDs + 1] = {NAME = 'lay / laydown', DESC = 'Makes your character lay down'}
4698
CMDs[#CMDs + 1] = {NAME = 'sitwalk', DESC = 'Makes your character sit while still being able to walk'}
4699
CMDs[#CMDs + 1] = {NAME = 'nosit', DESC = 'Prevents your character from sitting'}
4700
CMDs[#CMDs + 1] = {NAME = 'unnosit', DESC = 'Disables nosit'}
4701
CMDs[#CMDs + 1] = {NAME = 'jump', DESC = 'Makes your character jump'}
4702
CMDs[#CMDs + 1] = {NAME = 'infinitejump / infjump', DESC = 'Allows you to jump before hitting the ground'}
4703
CMDs[#CMDs + 1] = {NAME = 'uninfinitejump / uninfjump', DESC = 'Disables infjump'}
4704
CMDs[#CMDs + 1] = {NAME = 'flyjump', DESC = 'Allows you to hold space to fly up'}
4705
CMDs[#CMDs + 1] = {NAME = 'unflyjump', DESC = 'Disables flyjump'}
4706
CMDs[#CMDs + 1] = {NAME = 'autojump / ajump', DESC = 'Automatically jumps when you run into an object'}
4707
CMDs[#CMDs + 1] = {NAME = 'unautojump / unajump', DESC = 'Disables autojump'}
4708
CMDs[#CMDs + 1] = {NAME = 'edgejump / ejump', DESC = 'Automatically jumps when you get to the edge of an object'}
4709
CMDs[#CMDs + 1] = {NAME = 'unedgejump / unejump', DESC = 'Disables edgejump'}
4710
CMDs[#CMDs + 1] = {NAME = 'platformstand / stun', DESC = 'Enables PlatformStand'}
4711
CMDs[#CMDs + 1] = {NAME = 'unplatformstand / unstun', DESC = 'Disables PlatformStand'}
4712
CMDs[#CMDs + 1] = {NAME = 'norotate / noautorotate', DESC = 'Disables AutoRotate'}
4713
CMDs[#CMDs + 1] = {NAME = 'unnorotate / autorotate', DESC = 'Enables AutoRotate'}
4714
CMDs[#CMDs + 1] = {NAME = 'enablestate [StateType]', DESC = 'Enables a humanoid state type'}
4715
CMDs[#CMDs + 1] = {NAME = 'disablestate [StateType]', DESC = 'Disables a humanoid state type'}
4716
CMDs[#CMDs + 1] = {NAME = 'team [team name] (CLIENT)', DESC = 'Changes your team. Sometimes fools localscripts.'}
4717
CMDs[#CMDs + 1] = {NAME = 'nobillboardgui / nobgui / noname', DESC = 'Removes billboard and surface GUIs from your players (i.e. name GUIs at cafes)'}
4718
CMDs[#CMDs + 1] = {NAME = 'loopnobgui / loopnoname', DESC = 'Loop removes billboard and surface GUIs from your players (i.e. name GUIs at cafes)'}
4719
CMDs[#CMDs + 1] = {NAME = 'unloopnobgui / unloopnoname', DESC = 'Disables loopnobgui'}
4720
CMDs[#CMDs + 1] = {NAME = 'noarms', DESC = 'Removes your arms'}
4721
CMDs[#CMDs + 1] = {NAME = 'nolegs', DESC = 'Removes your legs'}
4722
CMDs[#CMDs + 1] = {NAME = 'nolimbs', DESC = 'Removes your limbs'}
4723
CMDs[#CMDs + 1] = {NAME = 'naked (CLIENT)', DESC = 'Removes your clothing'}
4724
CMDs[#CMDs + 1] = {NAME = 'noface / removeface', DESC = 'Removes your face'}
4725
CMDs[#CMDs + 1] = {NAME = 'blockhead', DESC = 'Turns your head into a block'}
4726
CMDs[#CMDs + 1] = {NAME = 'blockhats', DESC = 'Turns your hats into blocks'}
4727
CMDs[#CMDs + 1] = {NAME = 'blocktool', DESC = 'Turns the currently selected tool into a block'}
4728
CMDs[#CMDs + 1] = {NAME = 'creeper', DESC = 'Makes you look like a creeper'}
4729
CMDs[#CMDs + 1] = {NAME = 'drophats', DESC = 'Drops your hats'}
4730
CMDs[#CMDs + 1] = {NAME = 'nohats / deletehats / rhats', DESC = 'Deletes your hats'}
4731
CMDs[#CMDs + 1] = {NAME = 'hatspin / spinhats', DESC = 'Spins your characters accessories'}
4732
CMDs[#CMDs + 1] = {NAME = 'unhatspin / unspinhats', DESC = 'Undoes spinhats'}
4733
CMDs[#CMDs + 1] = {NAME = 'clearhats / cleanhats', DESC = 'Clears hats in the workspace'}
4734
CMDs[#CMDs + 1] = {NAME = 'chardelete / cd [instance name]', DESC = 'Removes any part with a certain name from your character'}
4735
CMDs[#CMDs + 1] = {NAME = 'chardeleteclass / cdc [class name]', DESC = 'Removes any part with a certain classname from your character'}
4736
CMDs[#CMDs + 1] = {NAME = 'deletevelocity / dv / removeforces', DESC = 'Removes any velocity / force instances in your character'}
4737
CMDs[#CMDs + 1] = {NAME = 'weaken [num]', DESC = 'Makes your character less dense'}
4738
CMDs[#CMDs + 1] = {NAME = 'unweaken', DESC = 'Sets your characters CustomPhysicalProperties to default'}
4739
CMDs[#CMDs + 1] = {NAME = 'strengthen [num]', DESC = 'Makes your character more dense (CustomPhysicalProperties)'}
4740
CMDs[#CMDs + 1] = {NAME = 'unstrengthen', DESC = 'Sets your characters CustomPhysicalProperties to default'}
4741
CMDs[#CMDs + 1] = {NAME = 'breakvelocity', DESC = 'Sets your characters velocity to 0'}
4742
CMDs[#CMDs + 1] = {NAME = 'spin [speed]', DESC = 'Spins your character'}
4743
CMDs[#CMDs + 1] = {NAME = 'unspin', DESC = 'Disables spin'}
4744
CMDs[#CMDs + 1] = {NAME = 'split', DESC = 'Splits your character in half'}
4745
CMDs[#CMDs + 1] = {NAME = 'nilchar', DESC = 'Sets your characters parent to nil'}
4746
CMDs[#CMDs + 1] = {NAME = 'unnilchar / nonilchar', DESC = 'Sets your characters parent to workspace'}
4747
CMDs[#CMDs + 1] = {NAME = 'noroot / removeroot / rroot', DESC = 'Removes your characters HumanoidRootPart'}
4748
CMDs[#CMDs + 1] = {NAME = 'replaceroot', DESC = 'Replaces your characters HumanoidRootPart'}
4749
CMDs[#CMDs + 1] = {NAME = 'clearcharappearance / clearchar / clrchar', DESC = 'Removes all accessory, shirt, pants, charactermesh, and bodycolors'}
4750
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4751
CMDs[#CMDs + 1] = {NAME = 'animation / anim [ID] [speed]', DESC = 'Makes your character perform an animation (must be by roblox to replicate)'}
4752
CMDs[#CMDs + 1] = {NAME = 'dance', DESC = 'Makes you  d a n c e'}
4753
CMDs[#CMDs + 1] = {NAME = 'undance', DESC = 'Stops dance animations'}
4754
CMDs[#CMDs + 1] = {NAME = 'spasm', DESC = 'Makes you  c r a z y'}
4755
CMDs[#CMDs + 1] = {NAME = 'unspasm', DESC = 'Stops spasm'}
4756
CMDs[#CMDs + 1] = {NAME = 'headthrow', DESC = 'Simply makes you throw your head'}
4757
CMDs[#CMDs + 1] = {NAME = 'noanim', DESC = 'Disables your animations'}
4758
CMDs[#CMDs + 1] = {NAME = 'reanim', DESC = 'Restores your animations'}
4759
CMDs[#CMDs + 1] = {NAME = 'animspeed [num]', DESC = 'Changes the speed of your current animation'}
4760
CMDs[#CMDs + 1] = {NAME = 'copyanimation / copyanim / copyemote [player]', DESC = 'Copies someone elses animation'}
4761
CMDs[#CMDs + 1] = {NAME = 'copyanimationid / copyanimid / copyemoteid [player]', DESC = 'Copies your animation id or someone elses to your clipboard'}
4762
CMDs[#CMDs + 1] = {NAME = 'loopanimation / loopanim', DESC = 'Loops your current animation'}
4763
CMDs[#CMDs + 1] = {NAME = 'stopanimations / stopanims', DESC = 'Stops running animations'}
4764
CMDs[#CMDs + 1] = {NAME = 'refreshanimations / refreshanims', DESC = 'Refreshes animations'}
4765
CMDs[#CMDs + 1] = {NAME = 'allowcustomanim / allowcustomanimations', DESC = 'Lets you use custom animation packs instead'}
4766
CMDs[#CMDs + 1] = {NAME = 'unallowcustomanim / unallowcustomanimations', DESC = 'Doesn\'t let you use custom animation packs instead'}
4767
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4768
CMDs[#CMDs + 1] = {NAME = 'autoclick [click delay] [release delay]', DESC = 'Automatically clicks your mouse with a set delay'}
4769
CMDs[#CMDs + 1] = {NAME = 'unautoclick / noautoclick', DESC = 'Turns off autoclick'}
4770
CMDs[#CMDs + 1] = {NAME = 'autokeypress [key] [down delay] [up delay]', DESC = 'Automatically presses a key with a set delay'}
4771
CMDs[#CMDs + 1] = {NAME = 'unautokeypress', DESC = 'Stops autokeypress'}
4772
CMDs[#CMDs + 1] = {NAME = 'hovername', DESC = 'Shows a players username when your mouse is hovered over them'}
4773
CMDs[#CMDs + 1] = {NAME = 'unhovername / nohovername', DESC = 'Turns off hovername'}
4774
CMDs[#CMDs + 1] = {NAME = 'mousesensitivity / ms [0-10]', DESC = 'Sets your mouse sensitivity (affects first person and right click drag) (default is 1)'}
4775
CMDs[#CMDs + 1] = {NAME = 'clickdelete', DESC = 'Go to Settings > Keybinds > Add for click delete'}
4776
CMDs[#CMDs + 1] = {NAME = 'clickteleport', DESC = 'Go to Settings > Keybinds > Add for click teleport'}
4777
CMDs[#CMDs + 1] = {NAME = 'mouseteleport / mousetp', DESC = 'Teleports your character to your mouse. This is recommended as a keybind'}
4778
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4779
CMDs[#CMDs + 1] = {NAME = 'tools', DESC = 'Copies tools from ReplicatedStorage and Lighting'}
4780
CMDs[#CMDs + 1] = {NAME = 'notools / removetools / deletetools', DESC = 'Removes tools from character and backpack'}
4781
CMDs[#CMDs + 1] = {NAME = 'deleteselectedtool / dst', DESC = 'Removes any currently selected tools'}
4782
CMDs[#CMDs + 1] = {NAME = 'grabtools', DESC = 'Automatically get tools that are dropped'}
4783
CMDs[#CMDs + 1] = {NAME = 'ungrabtools / nograbtools', DESC = 'Disables grabtools'}
4784
CMDs[#CMDs + 1] = {NAME = 'copytools [player] (CLIENT)', DESC = 'Copies a players tools'}
4785
CMDs[#CMDs + 1] = {NAME = 'dupetools / clonetools [num]', DESC = 'Duplicates your inventory tools a set amount of times'}
4786
CMDs[#CMDs + 1] = {NAME = 'droptools', DESC = 'Drops your tools'}
4787
CMDs[#CMDs + 1] = {NAME = 'droppabletools', DESC = 'Makes your tools droppable'}
4788
CMDs[#CMDs + 1] = {NAME = 'equiptools', DESC = 'Equips every tool in your inventory at once'}
4789
CMDs[#CMDs + 1] = {NAME = 'unequiptools', DESC = 'Unequips every tool you are currently holding at once'}
4790
CMDs[#CMDs + 1] = {NAME = 'removespecifictool [name]', DESC = 'Automatically remove a specific tool from your inventory'}
4791
CMDs[#CMDs + 1] = {NAME = 'unremovespecifictool [name]', DESC = 'Stops removing a specific tool from your inventory'}
4792
CMDs[#CMDs + 1] = {NAME = 'clearremovespecifictool', DESC = 'Stop removing all specific tools from your inventory'}
4793
CMDs[#CMDs + 1] = {NAME = 'reach [num]', DESC = 'Increases the hitbox of your held tool'}
4794
CMDs[#CMDs + 1] = {NAME = 'boxreach [num]', DESC = 'Increases the hitbox of your held tool in a box shape'}
4795
CMDs[#CMDs + 1] = {NAME = 'unreach / noreach', DESC = 'Turns off reach'}
4796
CMDs[#CMDs + 1] = {NAME = 'grippos [X Y Z]', DESC = 'Changes your current tools grip position'}
4797
CMDs[#CMDs + 1] = {NAME = 'usetools [amount] [delay]', DESC = 'Activates all tools in your backpack at the same time'}
4798
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4799
CMDs[#CMDs + 1] = {NAME = 'addalias [cmd] [alias]', DESC = 'Adds an alias to a command'}
4800
CMDs[#CMDs + 1] = {NAME = 'removealias [alias]', DESC = 'Removes a custom alias'}
4801
CMDs[#CMDs + 1] = {NAME = 'clraliases', DESC = 'Removes all custom aliases'}
4802
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4803
CMDs[#CMDs + 1] = {NAME = 'addplugin / plugin [name]', DESC = 'Add a plugin via command'}
4804
CMDs[#CMDs + 1] = {NAME = 'removeplugin / deleteplugin [name]', DESC = 'Remove a plugin via command'}
4805
CMDs[#CMDs + 1] = {NAME = 'reloadplugin [name]', DESC = 'Reloads a plugin'}
4806
CMDs[#CMDs + 1] = {NAME = 'addallplugins / loadallplugins', DESC = 'Adds all available plugins from the workspace folder'}
4807
CMDs[#CMDs + 1] = {NAME = '', DESC = ''}
4808
CMDs[#CMDs + 1] = {NAME = 'breakloops / break (cmd loops)', DESC = 'Stops any cmd loops (;100^1^cmd)'}
4809
CMDs[#CMDs + 1] = {NAME = 'removecmd / deletecmd', DESC = 'Removes a command until the admin is reloaded'}
4810
CMDs[#CMDs + 1] = {NAME = 'tpwalk / teleportwalk [num]', DESC = 'Teleports you to your move direction'}
4811
CMDs[#CMDs + 1] = {NAME = 'untpwalk / unteleportwalk', DESC = 'Undoes tpwalk / teleportwalk'}
4812
CMDs[#CMDs + 1] = {NAME = 'notifyping / ping', DESC = 'Notify yourself your ping'}
4813
CMDs[#CMDs + 1] = {NAME = 'trip', DESC = 'Makes your character fall over'}
4814
CMDs[#CMDs + 1] = {NAME = 'norender', DESC = 'Disable 3d Rendering to decrease the amount of CPU the client uses'}
4815
CMDs[#CMDs + 1] = {NAME = 'render', DESC = 'Enable 3d Rendering'}
4816
CMDs[#CMDs + 1] = {NAME = 'use2022materials / 2022materials', DESC = 'Enables 2022 material textures'}
4817
CMDs[#CMDs + 1] = {NAME = 'unuse2022materials / un2022materials', DESC = 'Disables 2022 material textures'}
4818
CMDs[#CMDs + 1] = {NAME = 'promptr6', DESC = 'Prompts the game to switch your rig type to R6'}
4819
CMDs[#CMDs + 1] = {NAME = 'promptr15', DESC = 'Prompts the game to switch your rig type to R15'}
4820
CMDs[#CMDs + 1] = {NAME = 'wallwalk / walkonwalls', DESC = 'Walk on walls'}
4821
CMDs[#CMDs + 1] = {NAME = 'removeads / adblock', DESC = 'Automatically removes ad billboards'}
4822
CMDs[#CMDs + 1] = {NAME = 'scare / spook [player]', DESC = 'Teleports in front of a player for half a second'}
4823
CMDs[#CMDs + 1] = {NAME = 'alignmentkeys', DESC = 'Enables the left and right alignment keys (comma and period)'}
4824
CMDs[#CMDs + 1] = {NAME = 'unalignmentkeys / noalignmentkeys', DESC = 'Disables the alignment keys'}
4825
CMDs[#CMDs + 1] = {NAME = 'ctrllock', DESC = 'Binds Shiftlock to LeftControl'}
4826
CMDs[#CMDs + 1] = {NAME = 'unctrllock', DESC = 'Re-binds Shiftlock to LeftShift'}
4827
CMDs[#CMDs + 1] = {NAME = 'listento [player]', DESC = 'Listens to the area around a player. Can also eavesdrop with vc'}
4828
CMDs[#CMDs + 1] = {NAME = 'unlistento', DESC = 'Disables listento'}
4829
CMDs[#CMDs + 1] = {NAME = 'jerk', DESC = 'Makes you jork it'}
4830
CMDs[#CMDs + 1] = {NAME = 'unsuspendvc', DESC = 'Unsuspends you from voice chat'}
4831
wait()
4832
4833
for i = 1, #CMDs do
4834
	local newcmd = Example:Clone()
4835
	newcmd.Parent = CMDsF
4836
	newcmd.Visible = false
4837
	newcmd.Text = CMDs[i].NAME
4838
	newcmd.Name = "CMD"
4839
	table.insert(text1, newcmd)
4840
	if CMDs[i].DESC ~= "" then
4841
		newcmd:SetAttribute("Title", CMDs[i].NAME)
4842
		newcmd:SetAttribute("Desc", CMDs[i].DESC)
4843
		newcmd.MouseButton1Down:Connect(function()
4844
			if not IsOnMobile and newcmd.Visible and newcmd.TextTransparency == 0 then
4845
				local currentText = Cmdbar.Text
4846
				Cmdbar:CaptureFocus()
4847
				autoComplete(newcmd.Text, currentText)
4848
				maximizeHolder()
4849
			end
4850
		end)
4851
	end
4852
end
4853
4854
IndexContents("", true)
4855
4856
function checkTT()
4857
	local t
4858
	local guisAtPosition = COREGUI:GetGuiObjectsAtPosition(IYMouse.X, IYMouse.Y)
4859
4860
	for _, gui in pairs(guisAtPosition) do
4861
		if gui.Parent == CMDsF then
4862
			t = gui
4863
		end
4864
	end
4865
4866
	if t ~= nil and t:GetAttribute("Title") ~= nil then
4867
		local x = IYMouse.X
4868
		local y = IYMouse.Y
4869
		local xP
4870
		local yP
4871
		if IYMouse.X > 200 then
4872
			xP = x - 201
4873
		else
4874
			xP = x + 21
4875
		end
4876
		if IYMouse.Y > (IYMouse.ViewSizeY-96) then
4877
			yP = y - 97
4878
		else
4879
			yP = y
4880
		end
4881
		Tooltip.Position = UDim2.new(0, xP, 0, yP)
4882
		Description.Text = t:GetAttribute("Desc")
4883
		if t:GetAttribute("Title") ~= nil then
4884
			Title_3.Text = t:GetAttribute("Title")
4885
		else
4886
			Title_3.Text = ''
4887
		end
4888
		Tooltip.Visible = true
4889
	else
4890
		Tooltip.Visible = false
4891
	end
4892
end
4893
4894
function FindInTable(tbl,val)
4895
	if tbl == nil then return false end
4896
	for _,v in pairs(tbl) do
4897
		if v == val then return true end
4898
	end 
4899
	return false
4900
end
4901
4902
function GetInTable(Table, Name)
4903
	for i = 1, #Table do
4904
		if Table[i] == Name then
4905
			return i
4906
		end
4907
	end
4908
	return false
4909
end
4910
4911
function permadeath(plr)
4912
    if replicatesignal then
4913
        replicatesignal(plr.ConnectDiedSignalBackend)
4914
        task.wait(Players.RespawnTime - 0.1)
4915
    end
4916
end
4917
4918
function respawn(plr)
4919
    if invisRunning then TurnVisible() end
4920
4921
    local rcdEnabled, wasHidden = false, false
4922
    if gethidden then
4923
        rcdEnabled, wasHidden = gethidden(workspace, "RejectCharacterDeletions") ~= Enum.RejectCharacterDeletions.Disabled
4924
    end
4925
4926
    if rcdEnabled and replicatesignal then
4927
        replicatesignal(plr.ConnectDiedSignalBackend)
4928
        task.wait(Players.RespawnTime - 0.1)
4929
        replicatesignal(plr.Kill)
4930
    elseif rcdEnabled and not replicatesignal then
4931
        notify("Incompatible Exploit", "Your exploit does not support this command (missing replicatesignal)")
4932
    else
4933
        local char = plr.Character
4934
        local hum = char:FindFirstChildWhichIsA("Humanoid")
4935
        if hum then hum:ChangeState(Enum.HumanoidStateType.Dead) end
4936
        char:ClearAllChildren()
4937
        local newChar = Instance.new("Model")
4938
        newChar.Parent = workspace
4939
        plr.Character = newChar
4940
        task.wait()
4941
        plr.Character = char
4942
        newChar:Destroy()
4943
    end
4944
end
4945
4946
local refreshCmd = false
4947
function refresh(plr)
4948
    refreshCmd = true
4949
    local root = plr.Character:WaitForChild("HumanoidRootPart")
4950
    local pos = root.CFrame
4951
    local pos1 = workspace.CurrentCamera.CFrame
4952
    respawn(plr)
4953
    task.spawn(function()
4954
        plr.CharacterAdded:Wait():WaitForChild("HumanoidRootPart").CFrame, workspace.CurrentCamera.CFrame = pos, task.wait() and pos1
4955
        refreshCmd = false
4956
    end)
4957
end
4958
4959
local lastDeath
4960
4961
function onDied()
4962
	task.spawn(function()
4963
		if pcall(function() Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid') end) and Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid') then
4964
			Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid').Died:Connect(function()
4965
				if getRoot(Players.LocalPlayer.Character) then
4966
					lastDeath = getRoot(Players.LocalPlayer.Character).CFrame
4967
				end
4968
			end)
4969
		else
4970
			wait(2)
4971
			onDied()
4972
		end
4973
	end)
4974
end
4975
4976
Clip = true
4977
spDelay = 0.1
4978
Players.LocalPlayer.CharacterAdded:Connect(function()
4979
	NOFLY()
4980
	Floating = false
4981
4982
	if not Clip then
4983
		execCmd('clip')
4984
	end
4985
4986
	repeat wait() until getRoot(Players.LocalPlayer.Character)
4987
4988
	pcall(function()
4989
		if spawnpoint and not refreshCmd and spawnpos ~= nil then
4990
			wait(spDelay)
4991
			getRoot(Players.LocalPlayer.Character).CFrame = spawnpos
4992
		end
4993
	end)
4994
4995
	onDied()
4996
end)
4997
4998
onDied()
4999
5000
function getstring(begin)
5001
	local start = begin-1
5002
	local AA = '' for i,v in pairs(cargs) do
5003
		if i > start then
5004
			if AA ~= '' then
5005
				AA = AA .. ' ' .. v
5006
			else
5007
				AA = AA .. v
5008
			end
5009
		end
5010
	end
5011
	return AA
5012
end
5013
5014
findCmd=function(cmd_name)
5015
	for i,v in pairs(cmds)do
5016
		if v.NAME:lower()==cmd_name:lower() or FindInTable(v.ALIAS,cmd_name:lower()) then
5017
			return v
5018
		end
5019
	end
5020
	return customAlias[cmd_name:lower()]
5021
end
5022
5023
function splitString(str,delim)
5024
	local broken = {}
5025
	if delim == nil then delim = "," end
5026
	for w in string.gmatch(str,"[^"..delim.."]+") do
5027
		table.insert(broken,w)
5028
	end
5029
	return broken
5030
end
5031
5032
cmdHistory = {}
5033
local lastCmds = {}
5034
local historyCount = 0
5035
local split=" "
5036
local lastBreakTime = 0
5037
function execCmd(cmdStr,speaker,store)
5038
	cmdStr = cmdStr:gsub("%s+$","")
5039
	task.spawn(function()
5040
		local rawCmdStr = cmdStr
5041
		cmdStr = string.gsub(cmdStr,"\\\\","%%BackSlash%%")
5042
		local commandsToRun = splitString(cmdStr,"\\")
5043
		for i,v in pairs(commandsToRun) do
5044
			v = string.gsub(v,"%%BackSlash%%","\\")
5045
			local x,y,num = v:find("^(%d+)%^")
5046
			local cmdDelay = 0
5047
			local infTimes = false
5048
			if num then
5049
				v = v:sub(y+1)
5050
				local x,y,del = v:find("^([%d%.]+)%^")
5051
				if del then
5052
					v = v:sub(y+1)
5053
					cmdDelay = tonumber(del) or 0
5054
				end
5055
			else
5056
				local x,y = v:find("^inf%^")
5057
				if x then
5058
					infTimes = true
5059
					v = v:sub(y+1)
5060
					local x,y,del = v:find("^([%d%.]+)%^")
5061
					if del then
5062
						v = v:sub(y+1)
5063
						del = tonumber(del) or 1
5064
						cmdDelay = (del > 0 and del or 1)
5065
					else
5066
						cmdDelay = 1
5067
					end
5068
				end
5069
			end
5070
			num = tonumber(num or 1)
5071
5072
			if v:sub(1,1) == "!" then
5073
				local chunks = splitString(v:sub(2),split)
5074
				if chunks[1] and lastCmds[chunks[1]] then v = lastCmds[chunks[1]] end
5075
			end
5076
5077
			local args = splitString(v,split)
5078
			local cmdName = args[1]
5079
			local cmd = findCmd(cmdName)
5080
			if cmd then
5081
				table.remove(args,1)
5082
				cargs = args
5083
				if not speaker then speaker = Players.LocalPlayer end
5084
				if store then
5085
					if speaker == Players.LocalPlayer then
5086
						if cmdHistory[1] ~= rawCmdStr and rawCmdStr:sub(1,11) ~= 'lastcommand' and rawCmdStr:sub(1,7) ~= 'lastcmd' then
5087
							table.insert(cmdHistory,1,rawCmdStr)
5088
						end
5089
					end
5090
					if #cmdHistory > 30 then table.remove(cmdHistory) end
5091
5092
					lastCmds[cmdName] = v
5093
				end
5094
				local cmdStartTime = tick()
5095
				if infTimes then
5096
					while lastBreakTime < cmdStartTime do
5097
						local success,err = pcall(cmd.FUNC,args, speaker)
5098
						if not success and _G.IY_DEBUG then
5099
							warn("Command Error:", cmdName, err)
5100
						end
5101
						wait(cmdDelay)
5102
					end
5103
				else
5104
					for rep = 1,num do
5105
						if lastBreakTime > cmdStartTime then break end
5106
						local success,err = pcall(function()
5107
							cmd.FUNC(args, speaker)
5108
						end)
5109
						if not success and _G.IY_DEBUG then
5110
							warn("Command Error:", cmdName, err)
5111
						end
5112
						if cmdDelay ~= 0 then wait(cmdDelay) end
5113
					end
5114
				end
5115
			end
5116
		end
5117
	end)
5118
end	
5119
5120
function addcmd(name,alias,func,plgn)
5121
	cmds[#cmds+1]=
5122
		{
5123
			NAME=name;
5124
			ALIAS=alias or {};
5125
			FUNC=func;
5126
			PLUGIN=plgn;
5127
		}
5128
end
5129
5130
function removecmd(cmd)
5131
	if cmd ~= " " then
5132
		for i = #cmds,1,-1 do
5133
			if cmds[i].NAME == cmd or FindInTable(cmds[i].ALIAS,cmd) then
5134
				table.remove(cmds, i)
5135
				for a,c in pairs(CMDsF:GetChildren()) do
5136
					if string.find(c.Text, "^"..cmd.."$") or string.find(c.Text, "^"..cmd.." ") or string.find(c.Text, " "..cmd.."$") or string.find(c.Text, " "..cmd.." ") then
5137
						c.TextTransparency = 0.7
5138
						c.MouseButton1Click:Connect(function()
5139
							notify(c.Text, "Command has been disabled by you or a plugin")
5140
						end)
5141
					end
5142
				end
5143
			end
5144
		end
5145
	end
5146
end
5147
5148
function overridecmd(name, func)
5149
    local cmd = findCmd(name)
5150
    if cmd and cmd.FUNC then cmd.FUNC = func end
5151
end
5152
5153
function addbind(cmd,key,iskeyup,toggle)
5154
	if toggle then
5155
		binds[#binds+1]=
5156
			{
5157
				COMMAND=cmd;
5158
				KEY=key;
5159
				ISKEYUP=iskeyup;
5160
				TOGGLE = toggle;
5161
			}
5162
	else
5163
		binds[#binds+1]=
5164
			{
5165
				COMMAND=cmd;
5166
				KEY=key;
5167
				ISKEYUP=iskeyup;
5168
			}
5169
	end
5170
end
5171
5172
function addcmdtext(text,name,desc)
5173
	local newcmd = Example:Clone()
5174
	local tooltipText = tostring(text)
5175
	local tooltipDesc = tostring(desc)
5176
	newcmd.Parent = CMDsF
5177
	newcmd.Visible = false
5178
	newcmd.Text = text
5179
	newcmd.Name = 'PLUGIN_'..name
5180
	table.insert(text1,newcmd)
5181
	if desc and desc ~= '' then
5182
		newcmd:SetAttribute("Title", tooltipText)
5183
		newcmd:SetAttribute("Desc", tooltipDesc)
5184
		newcmd.MouseButton1Down:Connect(function()
5185
			if newcmd.Visible and newcmd.TextTransparency == 0 then
5186
				Cmdbar:CaptureFocus()
5187
				autoComplete(newcmd.Text)
5188
				maximizeHolder()
5189
			end
5190
		end)
5191
	end
5192
end
5193
5194
local WorldToScreen = function(Object)
5195
	local ObjectVector = workspace.CurrentCamera:WorldToScreenPoint(Object.Position)
5196
	return Vector2.new(ObjectVector.X, ObjectVector.Y)
5197
end
5198
5199
local MousePositionToVector2 = function()
5200
	return Vector2.new(IYMouse.X, IYMouse.Y)
5201
end
5202
5203
local GetClosestPlayerFromCursor = function()
5204
	local found = nil
5205
	local ClosestDistance = math.huge
5206
	for i, v in pairs(Players:GetPlayers()) do
5207
		if v ~= Players.LocalPlayer and v.Character and v.Character:FindFirstChildOfClass("Humanoid") then
5208
			for k, x in pairs(v.Character:GetChildren()) do
5209
				if string.find(x.Name, "Torso") then
5210
					local Distance = (WorldToScreen(x) - MousePositionToVector2()).Magnitude
5211
					if Distance < ClosestDistance then
5212
						ClosestDistance = Distance
5213
						found = v
5214
					end
5215
				end
5216
			end
5217
		end
5218
	end
5219
	return found
5220
end
5221
5222
SpecialPlayerCases = {
5223
	["all"] = function(speaker) return Players:GetPlayers() end,
5224
	["others"] = function(speaker)
5225
		local plrs = {}
5226
		for i,v in pairs(Players:GetPlayers()) do
5227
			if v ~= speaker then
5228
				table.insert(plrs,v)
5229
			end
5230
		end
5231
		return plrs
5232
	end,
5233
	["me"] = function(speaker)return {speaker} end,
5234
	["#(%d+)"] = function(speaker,args,currentList)
5235
		local returns = {}
5236
		local randAmount = tonumber(args[1])
5237
		local players = {unpack(currentList)}
5238
		for i = 1,randAmount do
5239
			if #players == 0 then break end
5240
			local randIndex = math.random(1,#players)
5241
			table.insert(returns,players[randIndex])
5242
			table.remove(players,randIndex)
5243
		end
5244
		return returns
5245
	end,
5246
	["random"] = function(speaker,args,currentList)
5247
		local players = Players:GetPlayers()
5248
		local localplayer = Players.LocalPlayer
5249
		table.remove(players, table.find(players, localplayer))
5250
		return {players[math.random(1,#players)]}
5251
	end,
5252
	["%%(.+)"] = function(speaker,args)
5253
		local returns = {}
5254
		local team = args[1]
5255
		for _,plr in pairs(Players:GetPlayers()) do
5256
			if plr.Team and string.sub(string.lower(plr.Team.Name),1,#team) == string.lower(team) then
5257
				table.insert(returns,plr)
5258
			end
5259
		end
5260
		return returns
5261
	end,
5262
	["allies"] = function(speaker)
5263
		local returns = {}
5264
		local team = speaker.Team
5265
		for _,plr in pairs(Players:GetPlayers()) do
5266
			if plr.Team == team then
5267
				table.insert(returns,plr)
5268
			end
5269
		end
5270
		return returns
5271
	end,
5272
	["enemies"] = function(speaker)
5273
		local returns = {}
5274
		local team = speaker.Team
5275
		for _,plr in pairs(Players:GetPlayers()) do
5276
			if plr.Team ~= team then
5277
				table.insert(returns,plr)
5278
			end
5279
		end
5280
		return returns
5281
	end,
5282
	["team"] = function(speaker)
5283
		local returns = {}
5284
		local team = speaker.Team
5285
		for _,plr in pairs(Players:GetPlayers()) do
5286
			if plr.Team == team then
5287
				table.insert(returns,plr)
5288
			end
5289
		end
5290
		return returns
5291
	end,
5292
	["nonteam"] = function(speaker)
5293
		local returns = {}
5294
		local team = speaker.Team
5295
		for _,plr in pairs(Players:GetPlayers()) do
5296
			if plr.Team ~= team then
5297
				table.insert(returns,plr)
5298
			end
5299
		end
5300
		return returns
5301
	end,
5302
	["friends"] = function(speaker,args)
5303
		local returns = {}
5304
		for _,plr in pairs(Players:GetPlayers()) do
5305
			if plr:IsFriendsWith(speaker.UserId) and plr ~= speaker then
5306
				table.insert(returns,plr)
5307
			end
5308
		end
5309
		return returns
5310
	end,
5311
	["nonfriends"] = function(speaker,args)
5312
		local returns = {}
5313
		for _,plr in pairs(Players:GetPlayers()) do
5314
			if not plr:IsFriendsWith(speaker.UserId) and plr ~= speaker then
5315
				table.insert(returns,plr)
5316
			end
5317
		end
5318
		return returns
5319
	end,
5320
	["guests"] = function(speaker,args)
5321
		local returns = {}
5322
		for _,plr in pairs(Players:GetPlayers()) do
5323
			if plr.Guest then
5324
				table.insert(returns,plr)
5325
			end
5326
		end
5327
		return returns
5328
	end,
5329
	["bacons"] = function(speaker,args)
5330
		local returns = {}
5331
		for _,plr in pairs(Players:GetPlayers()) do
5332
			if plr.Character:FindFirstChild('Pal Hair') or plr.Character:FindFirstChild('Kate Hair') then
5333
				table.insert(returns,plr)
5334
			end
5335
		end
5336
		return returns
5337
	end,
5338
	["age(%d+)"] = function(speaker,args)
5339
		local returns = {}
5340
		local age = tonumber(args[1])
5341
		if not age == nil then return end
5342
		for _,plr in pairs(Players:GetPlayers()) do
5343
			if plr.AccountAge <= age then
5344
				table.insert(returns,plr)
5345
			end
5346
		end
5347
		return returns
5348
	end,
5349
	["nearest"] = function(speaker,args,currentList)
5350
		local speakerChar = speaker.Character
5351
		if not speakerChar or not getRoot(speakerChar) then return end
5352
		local lowest = math.huge
5353
		local NearestPlayer = nil
5354
		for _,plr in pairs(currentList) do
5355
			if plr ~= speaker and plr.Character then
5356
				local distance = plr:DistanceFromCharacter(getRoot(speakerChar).Position)
5357
				if distance < lowest then
5358
					lowest = distance
5359
					NearestPlayer = {plr}
5360
				end
5361
			end
5362
		end
5363
		return NearestPlayer
5364
	end,
5365
	["farthest"] = function(speaker,args,currentList)
5366
		local speakerChar = speaker.Character
5367
		if not speakerChar or not getRoot(speakerChar) then return end
5368
		local highest = 0
5369
		local Farthest = nil
5370
		for _,plr in pairs(currentList) do
5371
			if plr ~= speaker and plr.Character then
5372
				local distance = plr:DistanceFromCharacter(getRoot(speakerChar).Position)
5373
				if distance > highest then
5374
					highest = distance
5375
					Farthest = {plr}
5376
				end
5377
			end
5378
		end
5379
		return Farthest
5380
	end,
5381
	["group(%d+)"] = function(speaker,args)
5382
		local returns = {}
5383
		local groupID = tonumber(args[1])
5384
		for _,plr in pairs(Players:GetPlayers()) do
5385
			if plr:IsInGroup(groupID) then  
5386
				table.insert(returns,plr)
5387
			end
5388
		end
5389
		return returns
5390
	end,
5391
	["alive"] = function(speaker,args)
5392
		local returns = {}
5393
		for _,plr in pairs(Players:GetPlayers()) do
5394
			if plr.Character and plr.Character:FindFirstChildOfClass("Humanoid") and plr.Character:FindFirstChildOfClass("Humanoid").Health > 0 then
5395
				table.insert(returns,plr)
5396
			end
5397
		end
5398
		return returns
5399
	end,
5400
	["dead"] = function(speaker,args)
5401
		local returns = {}
5402
		for _,plr in pairs(Players:GetPlayers()) do
5403
			if (not plr.Character or not plr.Character:FindFirstChildOfClass("Humanoid")) or plr.Character:FindFirstChildOfClass("Humanoid").Health <= 0 then
5404
				table.insert(returns,plr)
5405
			end
5406
		end
5407
		return returns
5408
	end,
5409
	["rad(%d+)"] = function(speaker,args)
5410
		local returns = {}
5411
		local radius = tonumber(args[1])
5412
		local speakerChar = speaker.Character
5413
		if not speakerChar or not getRoot(speakerChar) then return end
5414
		for _,plr in pairs(Players:GetPlayers()) do
5415
			if plr.Character and getRoot(plr.Character) then
5416
				local magnitude = (getRoot(plr.Character).Position-getRoot(speakerChar).Position).magnitude
5417
				if magnitude <= radius then table.insert(returns,plr) end
5418
			end
5419
		end
5420
		return returns
5421
	end,
5422
	["cursor"] = function(speaker)
5423
		local plrs = {}
5424
		local v = GetClosestPlayerFromCursor()
5425
		if v ~= nil then table.insert(plrs, v) end
5426
		return plrs
5427
	end,
5428
	["npcs"] = function(speaker,args)
5429
		local returns = {}
5430
		for _, v in pairs(workspace:GetDescendants()) do
5431
			if v:IsA("Model") and getRoot(v) and v:FindFirstChildWhichIsA("Humanoid") and Players:GetPlayerFromCharacter(v) == nil then
5432
				local clone = Instance.new("Player")
5433
				clone.Name = v.Name .. " - " .. v:FindFirstChildWhichIsA("Humanoid").DisplayName
5434
				clone.Character = v
5435
				table.insert(returns, clone)
5436
			end
5437
		end
5438
		return returns
5439
	end,
5440
}
5441
5442
function toTokens(str)
5443
	local tokens = {}
5444
	for op,name in string.gmatch(str,"([+-])([^+-]+)") do
5445
		table.insert(tokens,{Operator = op,Name = name})
5446
	end
5447
	return tokens
5448
end
5449
5450
function onlyIncludeInTable(tab,matches)
5451
	local matchTable = {}
5452
	local resultTable = {}
5453
	for i,v in pairs(matches) do matchTable[v.Name] = true end
5454
	for i,v in pairs(tab) do if matchTable[v.Name] then table.insert(resultTable,v) end end
5455
	return resultTable
5456
end
5457
5458
function removeTableMatches(tab,matches)
5459
	local matchTable = {}
5460
	local resultTable = {}
5461
	for i,v in pairs(matches) do matchTable[v.Name] = true end
5462
	for i,v in pairs(tab) do if not matchTable[v.Name] then table.insert(resultTable,v) end end
5463
	return resultTable
5464
end
5465
5466
function getPlayersByName(Name)
5467
	local Name,Len,Found = string.lower(Name),#Name,{}
5468
	for _,v in pairs(Players:GetPlayers()) do
5469
		if Name:sub(0,1) == '@' then
5470
			if string.sub(string.lower(v.Name),1,Len-1) == Name:sub(2) then
5471
				table.insert(Found,v)
5472
			end
5473
		else
5474
			if string.sub(string.lower(v.Name),1,Len) == Name or string.sub(string.lower(v.DisplayName),1,Len) == Name then
5475
				table.insert(Found,v)
5476
			end
5477
		end
5478
	end
5479
	return Found
5480
end
5481
5482
function getPlayer(list,speaker)
5483
	if list == nil then return {speaker.Name} end
5484
	local nameList = splitString(list,",")
5485
5486
	local foundList = {}
5487
5488
	for _,name in pairs(nameList) do
5489
		if string.sub(name,1,1) ~= "+" and string.sub(name,1,1) ~= "-" then name = "+"..name end
5490
		local tokens = toTokens(name)
5491
		local initialPlayers = Players:GetPlayers()
5492
5493
		for i,v in pairs(tokens) do
5494
			if v.Operator == "+" then
5495
				local tokenContent = v.Name
5496
				local foundCase = false
5497
				for regex,case in pairs(SpecialPlayerCases) do
5498
					local matches = {string.match(tokenContent,"^"..regex.."$")}
5499
					if #matches > 0 then
5500
						foundCase = true
5501
						initialPlayers = onlyIncludeInTable(initialPlayers,case(speaker,matches,initialPlayers))
5502
					end
5503
				end
5504
				if not foundCase then
5505
					initialPlayers = onlyIncludeInTable(initialPlayers,getPlayersByName(tokenContent))
5506
				end
5507
			else
5508
				local tokenContent = v.Name
5509
				local foundCase = false
5510
				for regex,case in pairs(SpecialPlayerCases) do
5511
					local matches = {string.match(tokenContent,"^"..regex.."$")}
5512
					if #matches > 0 then
5513
						foundCase = true
5514
						initialPlayers = removeTableMatches(initialPlayers,case(speaker,matches,initialPlayers))
5515
					end
5516
				end
5517
				if not foundCase then
5518
					initialPlayers = removeTableMatches(initialPlayers,getPlayersByName(tokenContent))
5519
				end
5520
			end
5521
		end
5522
5523
		for i,v in pairs(initialPlayers) do table.insert(foundList,v) end
5524
	end
5525
5526
	local foundNames = {}
5527
	for i,v in pairs(foundList) do table.insert(foundNames,v.Name) end
5528
5529
	return foundNames
5530
end
5531
5532
function formatUsername(player)
5533
    if player.DisplayName ~= player.Name then
5534
        return string.format("%s (%s)", player.Name, player.DisplayName)
5535
    end
5536
    return player.Name
5537
end
5538
5539
getprfx=function(strn)
5540
	if strn:sub(1,string.len(prefix))==prefix then return{'cmd',string.len(prefix)+1}
5541
	end return
5542
end
5543
5544
function do_exec(str, plr)
5545
	str = str:gsub('/e ', '')
5546
	local t = getprfx(str)
5547
	if not t then return end
5548
	str = str:sub(t[2])
5549
	if t[1]=='cmd' then
5550
		execCmd(str, plr, true)
5551
		IndexContents('',true,false,true)
5552
		CMDsF.CanvasPosition = canvasPos
5553
	end
5554
end
5555
5556
lastTextBoxString,lastTextBoxCon,lastEnteredString = nil,nil,nil
5557
5558
UserInputService.TextBoxFocused:Connect(function(obj)
5559
	if lastTextBoxCon then lastTextBoxCon:Disconnect() end
5560
	if obj == Cmdbar then lastTextBoxString = nil return end
5561
	lastTextBoxString = obj.Text
5562
	lastTextBoxCon = obj:GetPropertyChangedSignal("Text"):Connect(function()
5563
		if not (UserInputService:IsKeyDown(Enum.KeyCode.Return) or UserInputService:IsKeyDown(Enum.KeyCode.KeypadEnter)) then
5564
			lastTextBoxString = obj.Text
5565
		end
5566
	end)
5567
end)
5568
5569
UserInputService.InputBegan:Connect(function(input,gameProcessed)
5570
	if gameProcessed then
5571
		if Cmdbar and Cmdbar:IsFocused() then
5572
			if input.KeyCode == Enum.KeyCode.Up then
5573
				historyCount = historyCount + 1
5574
				if historyCount > #cmdHistory then historyCount = #cmdHistory end
5575
				Cmdbar.Text = cmdHistory[historyCount] or ""
5576
				Cmdbar.CursorPosition = 1020
5577
			elseif input.KeyCode == Enum.KeyCode.Down then
5578
				historyCount = historyCount - 1
5579
				if historyCount < 0 then historyCount = 0 end
5580
				Cmdbar.Text = cmdHistory[historyCount] or ""
5581
				Cmdbar.CursorPosition = 1020
5582
			end
5583
		elseif input.KeyCode == Enum.KeyCode.Return or input.KeyCode == Enum.KeyCode.KeypadEnter then
5584
			lastEnteredString = lastTextBoxString
5585
		end
5586
	end
5587
end)
5588
5589
Players.LocalPlayer.Chatted:Connect(function()
5590
	wait()
5591
	if lastEnteredString then
5592
		local message = lastEnteredString
5593
		lastEnteredString = nil
5594
		do_exec(message, Players.LocalPlayer)
5595
	end
5596
end)
5597
5598
Cmdbar.PlaceholderText = "Command Bar ("..prefix..")"
5599
Cmdbar:GetPropertyChangedSignal("Text"):Connect(function()
5600
	if Cmdbar:IsFocused() then
5601
		IndexContents(Cmdbar.Text,true,true)
5602
	end
5603
end)
5604
5605
local tabComplete = nil
5606
tabAllowed = true
5607
Cmdbar.FocusLost:Connect(function(enterpressed)
5608
	if enterpressed then
5609
		local cmdbarText = Cmdbar.Text:gsub("^"..prefix,"")
5610
		execCmd(cmdbarText,Players.LocalPlayer,true)
5611
	end
5612
	if tabComplete then tabComplete:Disconnect() end
5613
	wait()
5614
	if not Cmdbar:IsFocused() then
5615
		Cmdbar.Text = ""
5616
		IndexContents('',true,false,true)
5617
		if SettingsOpen == true then
5618
			wait(0.2)
5619
			Settings:TweenPosition(UDim2.new(0, 0, 0, 45), "InOut", "Quart", 0.2, true, nil)
5620
			CMDsF.Visible = false
5621
		end
5622
	end
5623
	CMDsF.CanvasPosition = canvasPos
5624
end)
5625
5626
Cmdbar.Focused:Connect(function()
5627
	historyCount = 0
5628
	canvasPos = CMDsF.CanvasPosition
5629
	if SettingsOpen == true then
5630
		wait(0.2)
5631
		CMDsF.Visible = true
5632
		Settings:TweenPosition(UDim2.new(0, 0, 0, 220), "InOut", "Quart", 0.2, true, nil)
5633
	end
5634
	tabComplete = UserInputService.InputBegan:Connect(function(input,gameProcessed)
5635
		if Cmdbar:IsFocused() then
5636
			if tabAllowed == true and input.KeyCode == Enum.KeyCode.Tab and topCommand ~= nil then
5637
				autoComplete(topCommand)
5638
			end
5639
		else
5640
			tabComplete:Disconnect()
5641
		end
5642
	end)
5643
end)
5644
5645
ESPenabled = false
5646
CHMSenabled = false
5647
5648
function round(num, numDecimalPlaces)
5649
	local mult = 10^(numDecimalPlaces or 0)
5650
	return math.floor(num * mult + 0.5) / mult
5651
end
5652
5653
function ESP(plr, logic)
5654
	task.spawn(function()
5655
		for i,v in pairs(COREGUI:GetChildren()) do
5656
			if v.Name == plr.Name..'_ESP' then
5657
				v:Destroy()
5658
			end
5659
		end
5660
		wait()
5661
		if plr.Character and plr.Name ~= Players.LocalPlayer.Name and not COREGUI:FindFirstChild(plr.Name..'_ESP') then
5662
			local ESPholder = Instance.new("Folder")
5663
			ESPholder.Name = plr.Name..'_ESP'
5664
			ESPholder.Parent = COREGUI
5665
			repeat wait(1) until plr.Character and getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid")
5666
			for b,n in pairs (plr.Character:GetChildren()) do
5667
				if (n:IsA("BasePart")) then
5668
					local a = Instance.new("BoxHandleAdornment")
5669
					a.Name = plr.Name
5670
					a.Parent = ESPholder
5671
					a.Adornee = n
5672
					a.AlwaysOnTop = true
5673
					a.ZIndex = 10
5674
					a.Size = n.Size
5675
					a.Transparency = espTransparency
5676
					if logic == true then
5677
						a.Color = BrickColor.new(plr.TeamColor == Players.LocalPlayer.TeamColor and "Bright green" or "Bright red")
5678
					else
5679
						a.Color = plr.TeamColor
5680
					end
5681
				end
5682
			end
5683
			if plr.Character and plr.Character:FindFirstChild('Head') then
5684
				local BillboardGui = Instance.new("BillboardGui")
5685
				local TextLabel = Instance.new("TextLabel")
5686
				BillboardGui.Adornee = plr.Character.Head
5687
				BillboardGui.Name = plr.Name
5688
				BillboardGui.Parent = ESPholder
5689
				BillboardGui.Size = UDim2.new(0, 100, 0, 150)
5690
				BillboardGui.StudsOffset = Vector3.new(0, 1, 0)
5691
				BillboardGui.AlwaysOnTop = true
5692
				TextLabel.Parent = BillboardGui
5693
				TextLabel.BackgroundTransparency = 1
5694
				TextLabel.Position = UDim2.new(0, 0, 0, -50)
5695
				TextLabel.Size = UDim2.new(0, 100, 0, 100)
5696
				TextLabel.Font = Enum.Font.SourceSansSemibold
5697
				TextLabel.TextSize = 20
5698
				TextLabel.TextColor3 = Color3.new(1, 1, 1)
5699
				TextLabel.TextStrokeTransparency = 0
5700
				TextLabel.TextYAlignment = Enum.TextYAlignment.Bottom
5701
				TextLabel.Text = 'Name: '..plr.Name
5702
				TextLabel.ZIndex = 10
5703
				local espLoopFunc
5704
				local teamChange
5705
				local addedFunc
5706
				addedFunc = plr.CharacterAdded:Connect(function()
5707
					if ESPenabled then
5708
						espLoopFunc:Disconnect()
5709
						teamChange:Disconnect()
5710
						ESPholder:Destroy()
5711
						repeat wait(1) until getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid")
5712
						ESP(plr, logic)
5713
						addedFunc:Disconnect()
5714
					else
5715
						teamChange:Disconnect()
5716
						addedFunc:Disconnect()
5717
					end
5718
				end)
5719
				teamChange = plr:GetPropertyChangedSignal("TeamColor"):Connect(function()
5720
					if ESPenabled then
5721
						espLoopFunc:Disconnect()
5722
						addedFunc:Disconnect()
5723
						ESPholder:Destroy()
5724
						repeat wait(1) until getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid")
5725
						ESP(plr, logic)
5726
						teamChange:Disconnect()
5727
					else
5728
						teamChange:Disconnect()
5729
					end
5730
				end)
5731
				local function espLoop()
5732
					if COREGUI:FindFirstChild(plr.Name..'_ESP') then
5733
						if plr.Character and getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid") and Players.LocalPlayer.Character and getRoot(Players.LocalPlayer.Character) and Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
5734
							local pos = math.floor((getRoot(Players.LocalPlayer.Character).Position - getRoot(plr.Character).Position).magnitude)
5735
							TextLabel.Text = 'Name: '..plr.Name..' | Health: '..round(plr.Character:FindFirstChildOfClass('Humanoid').Health, 1)..' | Studs: '..pos
5736
						end
5737
					else
5738
						teamChange:Disconnect()
5739
						addedFunc:Disconnect()
5740
						espLoopFunc:Disconnect()
5741
					end
5742
				end
5743
				espLoopFunc = RunService.RenderStepped:Connect(espLoop)
5744
			end
5745
		end
5746
	end)
5747
end
5748
5749
function CHMS(plr)
5750
	task.spawn(function()
5751
		for i,v in pairs(COREGUI:GetChildren()) do
5752
			if v.Name == plr.Name..'_CHMS' then
5753
				v:Destroy()
5754
			end
5755
		end
5756
		wait()
5757
		if plr.Character and plr.Name ~= Players.LocalPlayer.Name and not COREGUI:FindFirstChild(plr.Name..'_CHMS') then
5758
			local ESPholder = Instance.new("Folder")
5759
			ESPholder.Name = plr.Name..'_CHMS'
5760
			ESPholder.Parent = COREGUI
5761
			repeat wait(1) until plr.Character and getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid")
5762
			for b,n in pairs (plr.Character:GetChildren()) do
5763
				if (n:IsA("BasePart")) then
5764
					local a = Instance.new("BoxHandleAdornment")
5765
					a.Name = plr.Name
5766
					a.Parent = ESPholder
5767
					a.Adornee = n
5768
					a.AlwaysOnTop = true
5769
					a.ZIndex = 10
5770
					a.Size = n.Size
5771
					a.Transparency = espTransparency
5772
					a.Color = plr.TeamColor
5773
				end
5774
			end
5775
			local addedFunc
5776
			local teamChange
5777
			local CHMSremoved
5778
			addedFunc = plr.CharacterAdded:Connect(function()
5779
				if CHMSenabled then
5780
					ESPholder:Destroy()
5781
					teamChange:Disconnect()
5782
					repeat wait(1) until getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid")
5783
					CHMS(plr)
5784
					addedFunc:Disconnect()
5785
				else
5786
					teamChange:Disconnect()
5787
					addedFunc:Disconnect()
5788
				end
5789
			end)
5790
			teamChange = plr:GetPropertyChangedSignal("TeamColor"):Connect(function()
5791
				if CHMSenabled then
5792
					ESPholder:Destroy()
5793
					addedFunc:Disconnect()
5794
					repeat wait(1) until getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid")
5795
					CHMS(plr)
5796
					teamChange:Disconnect()
5797
				else
5798
					teamChange:Disconnect()
5799
				end
5800
			end)
5801
			CHMSremoved = ESPholder.AncestryChanged:Connect(function()
5802
				teamChange:Disconnect()
5803
				addedFunc:Disconnect()
5804
				CHMSremoved:Disconnect()
5805
			end)
5806
		end
5807
	end)
5808
end
5809
5810
function Locate(plr)
5811
	task.spawn(function()
5812
		for i,v in pairs(COREGUI:GetChildren()) do
5813
			if v.Name == plr.Name..'_LC' then
5814
				v:Destroy()
5815
			end
5816
		end
5817
		wait()
5818
		if plr.Character and plr.Name ~= Players.LocalPlayer.Name and not COREGUI:FindFirstChild(plr.Name..'_LC') then
5819
			local ESPholder = Instance.new("Folder")
5820
			ESPholder.Name = plr.Name..'_LC'
5821
			ESPholder.Parent = COREGUI
5822
			repeat wait(1) until plr.Character and getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid")
5823
			for b,n in pairs (plr.Character:GetChildren()) do
5824
				if (n:IsA("BasePart")) then
5825
					local a = Instance.new("BoxHandleAdornment")
5826
					a.Name = plr.Name
5827
					a.Parent = ESPholder
5828
					a.Adornee = n
5829
					a.AlwaysOnTop = true
5830
					a.ZIndex = 10
5831
					a.Size = n.Size
5832
					a.Transparency = espTransparency
5833
					a.Color = plr.TeamColor
5834
				end
5835
			end
5836
			if plr.Character and plr.Character:FindFirstChild('Head') then
5837
				local BillboardGui = Instance.new("BillboardGui")
5838
				local TextLabel = Instance.new("TextLabel")
5839
				BillboardGui.Adornee = plr.Character.Head
5840
				BillboardGui.Name = plr.Name
5841
				BillboardGui.Parent = ESPholder
5842
				BillboardGui.Size = UDim2.new(0, 100, 0, 150)
5843
				BillboardGui.StudsOffset = Vector3.new(0, 1, 0)
5844
				BillboardGui.AlwaysOnTop = true
5845
				TextLabel.Parent = BillboardGui
5846
				TextLabel.BackgroundTransparency = 1
5847
				TextLabel.Position = UDim2.new(0, 0, 0, -50)
5848
				TextLabel.Size = UDim2.new(0, 100, 0, 100)
5849
				TextLabel.Font = Enum.Font.SourceSansSemibold
5850
				TextLabel.TextSize = 20
5851
				TextLabel.TextColor3 = Color3.new(1, 1, 1)
5852
				TextLabel.TextStrokeTransparency = 0
5853
				TextLabel.TextYAlignment = Enum.TextYAlignment.Bottom
5854
				TextLabel.Text = 'Name: '..plr.Name
5855
				TextLabel.ZIndex = 10
5856
				local lcLoopFunc
5857
				local addedFunc
5858
				local teamChange
5859
				addedFunc = plr.CharacterAdded:Connect(function()
5860
					if ESPholder ~= nil and ESPholder.Parent ~= nil then
5861
						lcLoopFunc:Disconnect()
5862
						teamChange:Disconnect()
5863
						ESPholder:Destroy()
5864
						repeat wait(1) until getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid")
5865
						Locate(plr)
5866
						addedFunc:Disconnect()
5867
					else
5868
						teamChange:Disconnect()
5869
						addedFunc:Disconnect()
5870
					end
5871
				end)
5872
				teamChange = plr:GetPropertyChangedSignal("TeamColor"):Connect(function()
5873
					if ESPholder ~= nil and ESPholder.Parent ~= nil then
5874
						lcLoopFunc:Disconnect()
5875
						addedFunc:Disconnect()
5876
						ESPholder:Destroy()
5877
						repeat wait(1) until getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid")
5878
						Locate(plr)
5879
						teamChange:Disconnect()
5880
					else
5881
						teamChange:Disconnect()
5882
					end
5883
				end)
5884
				local function lcLoop()
5885
					if COREGUI:FindFirstChild(plr.Name..'_LC') then
5886
						if plr.Character and getRoot(plr.Character) and plr.Character:FindFirstChildOfClass("Humanoid") and Players.LocalPlayer.Character and getRoot(Players.LocalPlayer.Character) and Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
5887
							local pos = math.floor((getRoot(Players.LocalPlayer.Character).Position - getRoot(plr.Character).Position).magnitude)
5888
							TextLabel.Text = 'Name: '..plr.Name..' | Health: '..round(plr.Character:FindFirstChildOfClass('Humanoid').Health, 1)..' | Studs: '..pos
5889
						end
5890
					else
5891
						teamChange:Disconnect()
5892
						addedFunc:Disconnect()
5893
						lcLoopFunc:Disconnect()
5894
					end
5895
				end
5896
				lcLoopFunc = RunService.RenderStepped:Connect(lcLoop)
5897
			end
5898
		end
5899
	end)
5900
end
5901
5902
local bindsGUI = KeybindEditor
5903
local awaitingInput = false
5904
local keySelected = false
5905
5906
function refreshbinds()
5907
	if Holder_2 then
5908
		Holder_2:ClearAllChildren()
5909
		Holder_2.CanvasSize = UDim2.new(0, 0, 0, 10)
5910
		for i = 1, #binds do
5911
			local YSize = 25
5912
			local Position = ((i * YSize) - YSize)
5913
			local newbind = Example_2:Clone()
5914
			newbind.Parent = Holder_2
5915
			newbind.Visible = true
5916
			newbind.Position = UDim2.new(0,0,0, Position + 5)
5917
			table.insert(shade2,newbind)
5918
			table.insert(shade2,newbind.Text)
5919
			table.insert(text1,newbind.Text)
5920
			table.insert(shade3,newbind.Text.Delete)
5921
			table.insert(text2,newbind.Text.Delete)
5922
			local input = tostring(binds[i].KEY)
5923
			local key
5924
			if input == 'RightClick' or input == 'LeftClick' then
5925
				key = input
5926
			else
5927
				key = input:sub(14)
5928
			end
5929
			if binds[i].TOGGLE then
5930
				newbind.Text.Text = key.." > "..binds[i].COMMAND.." / "..binds[i].TOGGLE
5931
			else
5932
				newbind.Text.Text = key.." > "..binds[i].COMMAND.."  "..(binds[i].ISKEYUP and "(keyup)" or "(keydown)")
5933
			end
5934
			Holder_2.CanvasSize = UDim2.new(0,0,0, Position + 30)
5935
			newbind.Text.Delete.MouseButton1Click:Connect(function()
5936
				unkeybind(binds[i].COMMAND,binds[i].KEY)
5937
			end)
5938
		end
5939
	end
5940
end
5941
5942
refreshbinds()
5943
5944
toggleOn = {}
5945
5946
function unkeybind(cmd,key)
5947
	for i = #binds,1,-1 do
5948
		if binds[i].COMMAND == cmd and binds[i].KEY == key then
5949
			toggleOn[binds[i]] = nil
5950
			table.remove(binds, i)
5951
		end
5952
	end
5953
	refreshbinds()
5954
	updatesaves()
5955
	if key == 'RightClick' or key == 'LeftClick' then
5956
		notify('Keybinds Updated','Unbinded '..key..' from '..cmd)
5957
	else
5958
		notify('Keybinds Updated','Unbinded '..key:sub(14)..' from '..cmd)
5959
	end
5960
end
5961
5962
PositionsFrame.Delete.MouseButton1Click:Connect(function()
5963
	execCmd('cpos')
5964
end)
5965
5966
function refreshwaypoints()
5967
	if #WayPoints > 0 or #pWayPoints > 0 then
5968
		PositionsHint:Destroy()
5969
	end
5970
	if Holder_4 then
5971
		Holder_4:ClearAllChildren()
5972
		Holder_4.CanvasSize = UDim2.new(0, 0, 0, 10)
5973
		local YSize = 25
5974
		local num = 1
5975
		for i = 1, #WayPoints do
5976
			local Position = ((num * YSize) - YSize)
5977
			local newpoint = Example_4:Clone()
5978
			newpoint.Parent = Holder_4
5979
			newpoint.Visible = true
5980
			newpoint.Position = UDim2.new(0,0,0, Position + 5)
5981
			newpoint.Text.Text = WayPoints[i].NAME
5982
			table.insert(shade2,newpoint)
5983
			table.insert(shade2,newpoint.Text)
5984
			table.insert(text1,newpoint.Text)
5985
			table.insert(shade3,newpoint.Text.Delete)
5986
			table.insert(text2,newpoint.Text.Delete)
5987
			table.insert(shade3,newpoint.Text.TP)
5988
			table.insert(text2,newpoint.Text.TP)
5989
			Holder_4.CanvasSize = UDim2.new(0,0,0, Position + 30)
5990
			newpoint.Text.Delete.MouseButton1Click:Connect(function()
5991
				execCmd('dpos '..WayPoints[i].NAME)
5992
			end)
5993
			newpoint.Text.TP.MouseButton1Click:Connect(function()
5994
				execCmd("loadpos "..WayPoints[i].NAME)
5995
			end)
5996
			num = num+1
5997
		end
5998
		for i = 1, #pWayPoints do
5999
			local Position = ((num * YSize) - YSize)
6000
			local newpoint = Example_4:Clone()
6001
			newpoint.Parent = Holder_4
6002
			newpoint.Visible = true
6003
			newpoint.Position = UDim2.new(0,0,0, Position + 5)
6004
			newpoint.Text.Text = pWayPoints[i].NAME
6005
			table.insert(shade2,newpoint)
6006
			table.insert(shade2,newpoint.Text)
6007
			table.insert(text1,newpoint.Text)
6008
			table.insert(shade3,newpoint.Text.Delete)
6009
			table.insert(text2,newpoint.Text.Delete)
6010
			table.insert(shade3,newpoint.Text.TP)
6011
			table.insert(text2,newpoint.Text.TP)
6012
			Holder_4.CanvasSize = UDim2.new(0,0,0, Position + 30)
6013
			newpoint.Text.Delete.MouseButton1Click:Connect(function()
6014
				execCmd('dpos '..pWayPoints[i].NAME)
6015
			end)
6016
			newpoint.Text.TP.MouseButton1Click:Connect(function()
6017
				execCmd("loadpos "..pWayPoints[i].NAME)
6018
			end)
6019
			num = num+1
6020
		end
6021
	end
6022
end
6023
6024
refreshwaypoints()
6025
6026
function refreshaliases()
6027
	if #aliases > 0 then
6028
		AliasHint:Destroy()
6029
	end
6030
	if Holder_3 then
6031
		Holder_3:ClearAllChildren()
6032
		Holder_3.CanvasSize = UDim2.new(0, 0, 0, 10)
6033
		for i = 1, #aliases do
6034
			local YSize = 25
6035
			local Position = ((i * YSize) - YSize)
6036
			local newalias = Example_3:Clone()
6037
			newalias.Parent = Holder_3
6038
			newalias.Visible = true
6039
			newalias.Position = UDim2.new(0,0,0, Position + 5)
6040
			newalias.Text.Text = aliases[i].CMD.." > "..aliases[i].ALIAS
6041
			table.insert(shade2,newalias)
6042
			table.insert(shade2,newalias.Text)
6043
			table.insert(text1,newalias.Text)
6044
			table.insert(shade3,newalias.Text.Delete)
6045
			table.insert(text2,newalias.Text.Delete)
6046
			Holder_3.CanvasSize = UDim2.new(0,0,0, Position + 30)
6047
			newalias.Text.Delete.MouseButton1Click:Connect(function()
6048
				execCmd('removealias '..aliases[i].ALIAS)
6049
			end)
6050
		end
6051
	end
6052
end
6053
6054
local bindChosenKeyUp = false
6055
6056
BindTo.MouseButton1Click:Connect(function()
6057
	awaitingInput = true
6058
	BindTo.Text = 'Press something'
6059
end)
6060
6061
BindTriggerSelect.MouseButton1Click:Connect(function()
6062
	bindChosenKeyUp = not bindChosenKeyUp
6063
	BindTriggerSelect.Text = bindChosenKeyUp and "KeyUp" or "KeyDown"
6064
end)
6065
6066
newToggle = false
6067
Cmdbar_3.Parent.Visible = false
6068
On_2.MouseButton1Click:Connect(function()
6069
	if newToggle == false then newToggle = true
6070
		On_2.BackgroundTransparency = 0
6071
		Cmdbar_3.Parent.Visible = true
6072
		BindTriggerSelect.Visible = false
6073
	else newToggle = false
6074
		On_2.BackgroundTransparency = 1
6075
		Cmdbar_3.Parent.Visible = false
6076
		BindTriggerSelect.Visible = true
6077
	end
6078
end)
6079
6080
Add_2.MouseButton1Click:Connect(function()
6081
	if keySelected then
6082
		if string.find(Cmdbar_2.Text, "\\\\") or string.find(Cmdbar_3.Text, "\\\\") then
6083
			notify('Keybind Error','Only use one backslash to keybind multiple commands into one keybind or command')
6084
		else
6085
			if newToggle and Cmdbar_3.Text ~= '' and Cmdbar_2.text ~= '' then
6086
				addbind(Cmdbar_2.Text,keyPressed,false,Cmdbar_3.Text)
6087
			elseif not newToggle and Cmdbar_2.text ~= '' then
6088
				addbind(Cmdbar_2.Text,keyPressed,bindChosenKeyUp)
6089
			else
6090
				return
6091
			end
6092
			refreshbinds()
6093
			updatesaves()
6094
			if keyPressed == 'RightClick' or keyPressed == 'LeftClick' then
6095
				notify('Keybinds Updated','Binded '..keyPressed..' to '..Cmdbar_2.Text..(newToggle and " / "..Cmdbar_3.Text or ""))
6096
			else
6097
				notify('Keybinds Updated','Binded '..keyPressed:sub(14)..' to '..Cmdbar_2.Text..(newToggle and " / "..Cmdbar_3.Text or ""))
6098
			end
6099
		end
6100
	end
6101
end)
6102
6103
Exit_2.MouseButton1Click:Connect(function()
6104
	Cmdbar_2.Text = 'Command'
6105
	Cmdbar_3.Text = 'Command 2'
6106
	BindTo.Text = 'Click to bind'
6107
	bindChosenKeyUp = false
6108
	BindTriggerSelect.Text = "KeyDown"
6109
	keySelected = false
6110
	KeybindEditor:TweenPosition(UDim2.new(0.5, -180, 0, -500), "InOut", "Quart", 0.5, true, nil)
6111
end)
6112
6113
function onInputBegan(input,gameProcessed)
6114
	if awaitingInput then
6115
		if input.UserInputType == Enum.UserInputType.Keyboard then
6116
			keyPressed = tostring(input.KeyCode)
6117
			BindTo.Text = keyPressed:sub(14)
6118
		elseif input.UserInputType == Enum.UserInputType.MouseButton1 then
6119
			keyPressed = 'LeftClick'
6120
			BindTo.Text = 'LeftClick'
6121
		elseif input.UserInputType == Enum.UserInputType.MouseButton2 then
6122
			keyPressed = 'RightClick'
6123
			BindTo.Text = 'RightClick'
6124
		end
6125
		awaitingInput = false
6126
		keySelected = true
6127
	end
6128
	if not gameProcessed and #binds > 0 then
6129
		for i,v in pairs(binds) do
6130
			if not v.ISKEYUP then
6131
				if (input.UserInputType == Enum.UserInputType.Keyboard and v.KEY:lower()==tostring(input.KeyCode):lower()) or (input.UserInputType == Enum.UserInputType.MouseButton1 and v.KEY:lower()=='leftclick') or (input.UserInputType == Enum.UserInputType.MouseButton2 and v.KEY:lower()=='rightclick') then
6132
					if v.TOGGLE then
6133
						local isOn = toggleOn[v] == true
6134
						toggleOn[v] = not isOn
6135
						if isOn then
6136
							execCmd(v.TOGGLE,Players.LocalPlayer)
6137
						else
6138
							execCmd(v.COMMAND,Players.LocalPlayer)
6139
						end
6140
					else
6141
						execCmd(v.COMMAND,Players.LocalPlayer)
6142
					end
6143
				end
6144
			end
6145
		end
6146
	end
6147
end
6148
6149
function onInputEnded(input,gameProcessed)
6150
	if not gameProcessed and #binds > 0 then
6151
		for i,v in pairs(binds) do
6152
			if v.ISKEYUP then
6153
				if (input.UserInputType == Enum.UserInputType.Keyboard and v.KEY:lower()==tostring(input.KeyCode):lower()) or (input.UserInputType == Enum.UserInputType.MouseButton1 and v.KEY:lower()=='leftclick') or (input.UserInputType == Enum.UserInputType.MouseButton2 and v.KEY:lower()=='rightclick') then
6154
					execCmd(v.COMMAND,Players.LocalPlayer)
6155
				end
6156
			end
6157
		end
6158
	end
6159
end
6160
6161
UserInputService.InputBegan:Connect(onInputBegan)
6162
UserInputService.InputEnded:Connect(onInputEnded)
6163
6164
ClickTP.Select.MouseButton1Click:Connect(function()
6165
	if keySelected then
6166
		addbind('clicktp',keyPressed,bindChosenKeyUp)
6167
		refreshbinds()
6168
		updatesaves()
6169
		if keyPressed == 'RightClick' or keyPressed == 'LeftClick' then
6170
			notify('Keybinds Updated','Binded '..keyPressed..' to click tp')
6171
		else
6172
			notify('Keybinds Updated','Binded '..keyPressed:sub(14)..' to click tp')
6173
		end
6174
	end
6175
end)
6176
6177
ClickDelete.Select.MouseButton1Click:Connect(function()
6178
	if keySelected then
6179
		addbind('clickdel',keyPressed,bindChosenKeyUp)
6180
		refreshbinds()
6181
		updatesaves()
6182
		if keyPressed == 'RightClick' or keyPressed == 'LeftClick' then
6183
			notify('Keybinds Updated','Binded '..keyPressed..' to click delete')
6184
		else
6185
			notify('Keybinds Updated','Binded '..keyPressed:sub(14)..' to click delete')
6186
		end
6187
	end
6188
end)
6189
6190
local function clicktpFunc()
6191
	pcall(function()
6192
		local character = Players.LocalPlayer.Character
6193
		local humanoid = character:FindFirstChildOfClass("Humanoid")
6194
		if humanoid and humanoid.SeatPart then
6195
			humanoid.Sit = false
6196
			wait(0.1)
6197
		end
6198
6199
		local hipHeight = humanoid and humanoid.HipHeight > 0 and (humanoid.HipHeight + 1)
6200
		local rootPart = getRoot(character)
6201
		local rootPartPosition = rootPart.Position
6202
		local hitPosition = IYMouse.Hit.Position
6203
		local newCFrame = CFrame.new(
6204
			hitPosition, 
6205
			Vector3.new(rootPartPosition.X, hitPosition.Y, rootPartPosition.Z)
6206
		) * CFrame.Angles(0, math.pi, 0)
6207
6208
		rootPart.CFrame = newCFrame + Vector3.new(0, hipHeight or 4, 0)
6209
	end)
6210
end
6211
6212
IYMouse.Button1Down:Connect(function()
6213
	for i,v in pairs(binds) do
6214
		if v.COMMAND == 'clicktp' then
6215
			local input = v.KEY
6216
			if input == 'RightClick' and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) and Players.LocalPlayer.Character then
6217
				clicktpFunc()
6218
			elseif input == 'LeftClick' and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) and Players.LocalPlayer.Character then
6219
				clicktpFunc()
6220
			elseif UserInputService:IsKeyDown(Enum.KeyCode[input:sub(14)]) and Players.LocalPlayer.Character then
6221
				clicktpFunc()
6222
			end
6223
		elseif v.COMMAND == 'clickdel' then
6224
			local input = v.KEY
6225
			if input == 'RightClick' and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
6226
				pcall(function() IYMouse.Target:Destroy() end)
6227
			elseif input == 'LeftClick' and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) then
6228
				pcall(function() IYMouse.Target:Destroy() end)
6229
			elseif UserInputService:IsKeyDown(Enum.KeyCode[input:sub(14)]) then
6230
				pcall(function() IYMouse.Target:Destroy() end)
6231
			end
6232
		end
6233
	end
6234
end)
6235
6236
PluginsGUI = PluginEditor.background
6237
6238
function addPlugin(name)
6239
	if name:lower() == 'plugin file name' or name:lower() == 'iy_fe.iy' or name == 'iy_fe' then
6240
		notify('Plugin Error','Please enter a valid plugin')
6241
	else
6242
		local file
6243
		local fileName
6244
		if name:sub(-3) == '.iy' then
6245
			pcall(function() file = readfile(name) end)
6246
			fileName = name
6247
		else
6248
			pcall(function() file = readfile(name..'.iy') end)
6249
			fileName = name..'.iy'
6250
		end
6251
		if file then
6252
			if not FindInTable(PluginsTable, fileName) then
6253
				table.insert(PluginsTable, fileName)
6254
				LoadPlugin(fileName)
6255
				refreshplugins()
6256
				pcall(eventEditor.Refresh)
6257
			else
6258
				notify('Plugin Error','This plugin is already added')
6259
			end
6260
		else
6261
			notify('Plugin Error','Cannot locate file "'..fileName..'". Is the file in the correct folder?')
6262
		end
6263
	end
6264
end
6265
6266
function deletePlugin(name)
6267
	local pName = name..'.iy'
6268
	if name:sub(-3) == '.iy' then
6269
		pName = name
6270
	end
6271
	for i = #cmds,1,-1 do
6272
		if cmds[i].PLUGIN == pName then
6273
			table.remove(cmds, i)
6274
		end
6275
	end
6276
	for i,v in pairs(CMDsF:GetChildren()) do
6277
		if v.Name == 'PLUGIN_'..pName then
6278
			v:Destroy()
6279
		end
6280
	end
6281
	for i,v in pairs(PluginsTable) do
6282
		if v == pName then
6283
			table.remove(PluginsTable, i)
6284
			notify('Removed Plugin',pName..' was removed')
6285
		end
6286
	end
6287
	IndexContents('',true)
6288
	refreshplugins()
6289
end
6290
6291
function refreshplugins(dontSave)
6292
	if #PluginsTable > 0 then
6293
		PluginsHint:Destroy()
6294
	end
6295
	if Holder_5 then
6296
		Holder_5:ClearAllChildren()
6297
		Holder_5.CanvasSize = UDim2.new(0, 0, 0, 10)
6298
		for i,v in pairs(PluginsTable) do
6299
			local pName = v
6300
			local YSize = 25
6301
			local Position = ((i * YSize) - YSize)
6302
			local newplugin = Example_5:Clone()
6303
			newplugin.Parent = Holder_5
6304
			newplugin.Visible = true
6305
			newplugin.Position = UDim2.new(0,0,0, Position + 5)
6306
			newplugin.Text.Text = pName
6307
			table.insert(shade2,newplugin)
6308
			table.insert(shade2,newplugin.Text)
6309
			table.insert(text1,newplugin.Text)
6310
			table.insert(shade3,newplugin.Text.Delete)
6311
			table.insert(text2,newplugin.Text.Delete)
6312
			Holder_5.CanvasSize = UDim2.new(0,0,0, Position + 30)
6313
			newplugin.Text.Delete.MouseButton1Click:Connect(function()
6314
				deletePlugin(pName)
6315
			end)
6316
		end
6317
		if not dontSave then
6318
			updatesaves()
6319
		end
6320
	end
6321
end
6322
6323
local PluginCache
6324
function LoadPlugin(val,startup)
6325
	local plugin
6326
6327
	function CatchedPluginLoad()
6328
		plugin = loadfile(val)()
6329
	end
6330
6331
	function handlePluginError(plerror)
6332
		notify('Plugin Error','An error occurred with the plugin, "'..val..'" and it could not be loaded')
6333
		if FindInTable(PluginsTable,val) then
6334
			for i,v in pairs(PluginsTable) do
6335
				if v == val then
6336
					table.remove(PluginsTable,i)
6337
				end
6338
			end
6339
		end
6340
		updatesaves()
6341
6342
		print("Original Error: "..tostring(plerror))
6343
		print("Plugin Error, stack traceback: "..tostring(debug.traceback()))
6344
6345
		plugin = nil
6346
6347
		return false
6348
	end
6349
6350
	xpcall(CatchedPluginLoad, handlePluginError)
6351
6352
	if plugin ~= nil then
6353
		if not startup then
6354
			notify('Loaded Plugin',"Name: "..plugin["PluginName"].."\n".."Description: "..plugin["PluginDescription"])
6355
		end
6356
		addcmdtext('',val)
6357
		addcmdtext(string.upper('--'..plugin["PluginName"]),val,plugin["PluginDescription"])
6358
		if plugin["Commands"] then
6359
			for i,v in pairs(plugin["Commands"]) do 
6360
				local cmdExt = ''
6361
				local cmdName = i
6362
				local function handleNames()
6363
					cmdName = i
6364
					if findCmd(cmdName..cmdExt) then
6365
						if isNumber(cmdExt) then
6366
							cmdExt = cmdExt+1
6367
						else
6368
							cmdExt = 1
6369
						end
6370
						handleNames()
6371
					else
6372
						cmdName = cmdName..cmdExt
6373
					end
6374
				end
6375
				handleNames()
6376
				addcmd(cmdName, v["Aliases"], v["Function"], val)
6377
				if v["ListName"] then
6378
					local newName = v.ListName
6379
					local cmdNames = {i,unpack(v.Aliases)}
6380
					for i,v in pairs(cmdNames) do
6381
						newName = newName:gsub(v,v..cmdExt)
6382
					end
6383
					addcmdtext(newName,val,v["Description"])
6384
				else
6385
					addcmdtext(cmdName,val,v["Description"])
6386
				end
6387
			end
6388
		end
6389
		IndexContents('',true)
6390
	elseif plugin == nil then
6391
		plugin = nil
6392
	end
6393
end
6394
6395
function FindPlugins()
6396
	if PluginsTable ~= nil and type(PluginsTable) == "table" then
6397
		for i,v in pairs(PluginsTable) do
6398
			LoadPlugin(v,true)
6399
		end
6400
		refreshplugins(true)
6401
	end
6402
end
6403
6404
AddPlugin.MouseButton1Click:Connect(function()
6405
	addPlugin(PluginsGUI.FileName.Text)
6406
end)
6407
6408
Exit_3.MouseButton1Click:Connect(function()
6409
	PluginEditor:TweenPosition(UDim2.new(0.5, -180, 0, -500), "InOut", "Quart", 0.5, true, nil)
6410
	FileName.Text = 'Plugin File Name'
6411
end)
6412
6413
Add_3.MouseButton1Click:Connect(function()
6414
	PluginEditor:TweenPosition(UDim2.new(0.5, -180, 0, 310), "InOut", "Quart", 0.5, true, nil)
6415
end)
6416
6417
Plugins.MouseButton1Click:Connect(function()
6418
	if writefileExploit() then
6419
		PluginsFrame:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true, nil)
6420
		wait(0.5)
6421
		SettingsHolder.Visible = false
6422
	else
6423
		notify('Incompatible Exploit','Your exploit is unable to use plugins (missing read/writefile)')
6424
	end
6425
end)
6426
6427
Close_4.MouseButton1Click:Connect(function()
6428
	SettingsHolder.Visible = true
6429
	PluginsFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil)
6430
end)
6431
6432
local TeleportCheck = false
6433
Players.LocalPlayer.OnTeleport:Connect(function(State)
6434
	if KeepInfYield and (not TeleportCheck) and queueteleport then
6435
		TeleportCheck = true
6436
		queueteleport("loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))()")
6437
	end
6438
end)
6439
6440
addcmd('addalias',{},function(args, speaker)
6441
	if #args < 2 then return end
6442
	local cmd = string.lower(args[1])
6443
	local alias = string.lower(args[2])
6444
	for i,v in pairs(cmds) do
6445
		if v.NAME:lower()==cmd or FindInTable(v.ALIAS,cmd) then
6446
			customAlias[alias] = v
6447
			aliases[#aliases + 1] = {CMD = cmd, ALIAS = alias}
6448
			notify('Aliases Modified',"Added "..alias.." as an alias to "..cmd)
6449
			updatesaves()
6450
			refreshaliases()
6451
			break
6452
		end
6453
	end
6454
end)
6455
6456
addcmd('removealias',{},function(args, speaker)
6457
	if #args < 1 then return end
6458
	local alias = string.lower(args[1])
6459
	if customAlias[alias] then
6460
		local cmd = customAlias[alias].NAME
6461
		customAlias[alias] = nil
6462
		for i = #aliases,1,-1 do
6463
			if aliases[i].ALIAS == tostring(alias) then
6464
				table.remove(aliases, i)
6465
			end
6466
		end
6467
		notify('Aliases Modified',"Removed the alias "..alias.." from "..cmd)
6468
		updatesaves()
6469
		refreshaliases()
6470
	end
6471
end)
6472
6473
addcmd('clraliases',{},function(args, speaker)
6474
	customAlias = {}
6475
	aliases = {}
6476
	notify('Aliases Modified','Removed all aliases')
6477
	updatesaves()
6478
	refreshaliases()
6479
end)
6480
6481
addcmd('discord', {'support', 'help'}, function(args, speaker)
6482
	if everyClipboard then
6483
		toClipboard('https://discord.com/invite/dYHag43eeU')
6484
		notify('Discord Invite', 'Copied to clipboard!\ndiscord.gg/dYHag43eeU')
6485
	else
6486
		notify('Discord Invite', 'discord.gg/dYHag43eeU')
6487
	end
6488
	if httprequest then
6489
		httprequest({
6490
			Url = 'http://127.0.0.1:6463/rpc?v=1',
6491
			Method = 'POST',
6492
			Headers = {
6493
				['Content-Type'] = 'application/json',
6494
				Origin = 'https://discord.com'
6495
			},
6496
			Body = HttpService:JSONEncode({
6497
				cmd = 'INVITE_BROWSER',
6498
				nonce = HttpService:GenerateGUID(false),
6499
				args = {code = 'dYHag43eeU'}
6500
			})
6501
		})
6502
	end
6503
end)
6504
6505
addcmd('keepiy', {}, function(args, speaker)
6506
	if queueteleport then
6507
		KeepInfYield = true
6508
		updatesaves()
6509
	else
6510
		notify('Incompatible Exploit','Your exploit does not support this command (missing queue_on_teleport)')
6511
	end
6512
end)
6513
6514
addcmd('unkeepiy', {}, function(args, speaker)
6515
	if queueteleport then
6516
		KeepInfYield = false
6517
		updatesaves()
6518
	else
6519
		notify('Incompatible Exploit','Your exploit does not support this command (missing queue_on_teleport)')
6520
	end
6521
end)
6522
6523
addcmd('togglekeepiy', {}, function(args, speaker)
6524
	if queueteleport then
6525
		KeepInfYield = not KeepInfYield
6526
		updatesaves()
6527
	else
6528
		notify('Incompatible Exploit','Your exploit does not support this command (missing queue_on_teleport)')
6529
	end
6530
end)
6531
6532
local canOpenServerinfo = true
6533
addcmd('serverinfo',{'info','sinfo'},function(args, speaker)
6534
	if not canOpenServerinfo then return end
6535
	canOpenServerinfo = false
6536
	task.spawn(function()
6537
		local FRAME = Instance.new("Frame")
6538
		local shadow = Instance.new("Frame")
6539
		local PopupText = Instance.new("TextLabel")
6540
		local Exit = Instance.new("TextButton")
6541
		local ExitImage = Instance.new("ImageLabel")
6542
		local background = Instance.new("Frame")
6543
		local TextLabel = Instance.new("TextLabel")
6544
		local TextLabel2 = Instance.new("TextLabel")
6545
		local TextLabel3 = Instance.new("TextLabel")
6546
		local Time = Instance.new("TextLabel")
6547
		local appearance = Instance.new("TextLabel")
6548
		local maxplayers = Instance.new("TextLabel")
6549
		local name = Instance.new("TextLabel")
6550
		local placeid = Instance.new("TextLabel")
6551
		local playerid = Instance.new("TextLabel")
6552
		local players = Instance.new("TextLabel")
6553
		local CopyApp = Instance.new("TextButton")
6554
		local CopyPlrID = Instance.new("TextButton")
6555
		local CopyPlcID = Instance.new("TextButton")
6556
		local CopyPlcName = Instance.new("TextButton")
6557
6558
		FRAME.Name = randomString()
6559
		FRAME.Parent = ScaledHolder
6560
		FRAME.Active = true
6561
		FRAME.BackgroundTransparency = 1
6562
		FRAME.Position = UDim2.new(0.5, -130, 0, -500)
6563
		FRAME.Size = UDim2.new(0, 250, 0, 20)
6564
		FRAME.ZIndex = 10
6565
		dragGUI(FRAME)
6566
6567
		shadow.Name = "shadow"
6568
		shadow.Parent = FRAME
6569
		shadow.BackgroundColor3 = currentShade2
6570
		shadow.BorderSizePixel = 0
6571
		shadow.Size = UDim2.new(0, 250, 0, 20)
6572
		shadow.ZIndex = 10
6573
		table.insert(shade2,shadow)
6574
6575
		PopupText.Name = "PopupText"
6576
		PopupText.Parent = shadow
6577
		PopupText.BackgroundTransparency = 1
6578
		PopupText.Size = UDim2.new(1, 0, 0.95, 0)
6579
		PopupText.ZIndex = 10
6580
		PopupText.Font = Enum.Font.SourceSans
6581
		PopupText.TextSize = 14
6582
		PopupText.Text = "Server"
6583
		PopupText.TextColor3 = currentText1
6584
		PopupText.TextWrapped = true
6585
		table.insert(text1,PopupText)
6586
6587
		Exit.Name = "Exit"
6588
		Exit.Parent = shadow
6589
		Exit.BackgroundTransparency = 1
6590
		Exit.Position = UDim2.new(1, -20, 0, 0)
6591
		Exit.Size = UDim2.new(0, 20, 0, 20)
6592
		Exit.Text = ""
6593
		Exit.ZIndex = 10
6594
6595
		ExitImage.Parent = Exit
6596
		ExitImage.BackgroundColor3 = Color3.new(1, 1, 1)
6597
		ExitImage.BackgroundTransparency = 1
6598
		ExitImage.Position = UDim2.new(0, 5, 0, 5)
6599
		ExitImage.Size = UDim2.new(0, 10, 0, 10)
6600
		ExitImage.Image = getcustomasset("infiniteyield/assets/close.png")
6601
		ExitImage.ZIndex = 10
6602
6603
		background.Name = "background"
6604
		background.Parent = FRAME
6605
		background.Active = true
6606
		background.BackgroundColor3 = currentShade1
6607
		background.BorderSizePixel = 0
6608
		background.Position = UDim2.new(0, 0, 1, 0)
6609
		background.Size = UDim2.new(0, 250, 0, 250)
6610
		background.ZIndex = 10
6611
		table.insert(shade1,background)
6612
6613
		TextLabel.Name = "Text Label"
6614
		TextLabel.Parent = background
6615
		TextLabel.BackgroundTransparency = 1
6616
		TextLabel.BorderSizePixel = 0
6617
		TextLabel.Position = UDim2.new(0, 5, 0, 80)
6618
		TextLabel.Size = UDim2.new(0, 100, 0, 20)
6619
		TextLabel.ZIndex = 10
6620
		TextLabel.Font = Enum.Font.SourceSansLight
6621
		TextLabel.TextSize = 20
6622
		TextLabel.Text = "Run Time:"
6623
		TextLabel.TextColor3 = currentText1
6624
		TextLabel.TextXAlignment = Enum.TextXAlignment.Left
6625
		table.insert(text1,TextLabel)
6626
6627
		TextLabel2.Name = "Text Label2"
6628
		TextLabel2.Parent = background
6629
		TextLabel2.BackgroundTransparency = 1
6630
		TextLabel2.BorderSizePixel = 0
6631
		TextLabel2.Position = UDim2.new(0, 5, 0, 130)
6632
		TextLabel2.Size = UDim2.new(0, 100, 0, 20)
6633
		TextLabel2.ZIndex = 10
6634
		TextLabel2.Font = Enum.Font.SourceSansLight
6635
		TextLabel2.TextSize = 20
6636
		TextLabel2.Text = "Statistics:"
6637
		TextLabel2.TextColor3 = currentText1
6638
		TextLabel2.TextXAlignment = Enum.TextXAlignment.Left
6639
		table.insert(text1,TextLabel2)
6640
6641
		TextLabel3.Name = "Text Label3"
6642
		TextLabel3.Parent = background
6643
		TextLabel3.BackgroundTransparency = 1
6644
		TextLabel3.BorderSizePixel = 0
6645
		TextLabel3.Position = UDim2.new(0, 5, 0, 10)
6646
		TextLabel3.Size = UDim2.new(0, 100, 0, 20)
6647
		TextLabel3.ZIndex = 10
6648
		TextLabel3.Font = Enum.Font.SourceSansLight
6649
		TextLabel3.TextSize = 20
6650
		TextLabel3.Text = "Local Player:"
6651
		TextLabel3.TextColor3 = currentText1
6652
		TextLabel3.TextXAlignment = Enum.TextXAlignment.Left
6653
		table.insert(text1,TextLabel3)
6654
6655
		Time.Name = "Time"
6656
		Time.Parent = background
6657
		Time.BackgroundTransparency = 1
6658
		Time.BorderSizePixel = 0
6659
		Time.Position = UDim2.new(0, 5, 0, 105)
6660
		Time.Size = UDim2.new(0, 100, 0, 20)
6661
		Time.ZIndex = 10
6662
		Time.Font = Enum.Font.SourceSans
6663
		Time.FontSize = Enum.FontSize.Size14
6664
		Time.Text = "LOADING"
6665
		Time.TextColor3 = currentText1
6666
		Time.TextXAlignment = Enum.TextXAlignment.Left
6667
		table.insert(text1,Time)
6668
6669
		appearance.Name = "appearance"
6670
		appearance.Parent = background
6671
		appearance.BackgroundTransparency = 1
6672
		appearance.BorderSizePixel = 0
6673
		appearance.Position = UDim2.new(0, 5, 0, 55)
6674
		appearance.Size = UDim2.new(0, 100, 0, 20)
6675
		appearance.ZIndex = 10
6676
		appearance.Font = Enum.Font.SourceSans
6677
		appearance.FontSize = Enum.FontSize.Size14
6678
		appearance.Text = "Appearance: LOADING"
6679
		appearance.TextColor3 = currentText1
6680
		appearance.TextXAlignment = Enum.TextXAlignment.Left
6681
		table.insert(text1,appearance)
6682
6683
		maxplayers.Name = "maxplayers"
6684
		maxplayers.Parent = background
6685
		maxplayers.BackgroundTransparency = 1
6686
		maxplayers.BorderSizePixel = 0
6687
		maxplayers.Position = UDim2.new(0, 5, 0, 175)
6688
		maxplayers.Size = UDim2.new(0, 100, 0, 20)
6689
		maxplayers.ZIndex = 10
6690
		maxplayers.Font = Enum.Font.SourceSans
6691
		maxplayers.FontSize = Enum.FontSize.Size14
6692
		maxplayers.Text = "LOADING"
6693
		maxplayers.TextColor3 = currentText1
6694
		maxplayers.TextXAlignment = Enum.TextXAlignment.Left
6695
		table.insert(text1,maxplayers)
6696
6697
		name.Name = "name"
6698
		name.Parent = background
6699
		name.BackgroundTransparency = 1
6700
		name.BorderSizePixel = 0
6701
		name.Position = UDim2.new(0, 5, 0, 215)
6702
		name.Size = UDim2.new(0, 240, 0, 30)
6703
		name.ZIndex = 10
6704
		name.Font = Enum.Font.SourceSans
6705
		name.FontSize = Enum.FontSize.Size14
6706
		name.Text = "Place Name: LOADING"
6707
		name.TextColor3 = currentText1
6708
		name.TextWrapped = true
6709
		name.TextXAlignment = Enum.TextXAlignment.Left
6710
		name.TextYAlignment = Enum.TextYAlignment.Top
6711
		table.insert(text1,name)
6712
6713
		placeid.Name = "placeid"
6714
		placeid.Parent = background
6715
		placeid.BackgroundTransparency = 1
6716
		placeid.BorderSizePixel = 0
6717
		placeid.Position = UDim2.new(0, 5, 0, 195)
6718
		placeid.Size = UDim2.new(0, 100, 0, 20)
6719
		placeid.ZIndex = 10
6720
		placeid.Font = Enum.Font.SourceSans
6721
		placeid.FontSize = Enum.FontSize.Size14
6722
		placeid.Text = "Place ID: LOADING"
6723
		placeid.TextColor3 = currentText1
6724
		placeid.TextXAlignment = Enum.TextXAlignment.Left
6725
		table.insert(text1,placeid)
6726
6727
		playerid.Name = "playerid"
6728
		playerid.Parent = background
6729
		playerid.BackgroundTransparency = 1
6730
		playerid.BorderSizePixel = 0
6731
		playerid.Position = UDim2.new(0, 5, 0, 35)
6732
		playerid.Size = UDim2.new(0, 100, 0, 20)
6733
		playerid.ZIndex = 10
6734
		playerid.Font = Enum.Font.SourceSans
6735
		playerid.FontSize = Enum.FontSize.Size14
6736
		playerid.Text = "Player ID: LOADING"
6737
		playerid.TextColor3 = currentText1
6738
		playerid.TextXAlignment = Enum.TextXAlignment.Left
6739
		table.insert(text1,playerid)
6740
6741
		players.Name = "players"
6742
		players.Parent = background
6743
		players.BackgroundTransparency = 1
6744
		players.BorderSizePixel = 0
6745
		players.Position = UDim2.new(0, 5, 0, 155)
6746
		players.Size = UDim2.new(0, 100, 0, 20)
6747
		players.ZIndex = 10
6748
		players.Font = Enum.Font.SourceSans
6749
		players.FontSize = Enum.FontSize.Size14
6750
		players.Text = "LOADING"
6751
		players.TextColor3 = currentText1
6752
		players.TextXAlignment = Enum.TextXAlignment.Left
6753
		table.insert(text1,players)
6754
6755
		CopyApp.Name = "CopyApp"
6756
		CopyApp.Parent = background
6757
		CopyApp.BackgroundColor3 = currentShade2
6758
		CopyApp.BorderSizePixel = 0
6759
		CopyApp.Position = UDim2.new(0, 210, 0, 55)
6760
		CopyApp.Size = UDim2.new(0, 35, 0, 20)
6761
		CopyApp.Font = Enum.Font.SourceSans
6762
		CopyApp.TextSize = 14
6763
		CopyApp.Text = "Copy"
6764
		CopyApp.TextColor3 = currentText1
6765
		CopyApp.ZIndex = 10
6766
		table.insert(shade2,CopyApp)
6767
		table.insert(text1,CopyApp)
6768
6769
		CopyPlrID.Name = "CopyPlrID"
6770
		CopyPlrID.Parent = background
6771
		CopyPlrID.BackgroundColor3 = currentShade2
6772
		CopyPlrID.BorderSizePixel = 0
6773
		CopyPlrID.Position = UDim2.new(0, 210, 0, 35)
6774
		CopyPlrID.Size = UDim2.new(0, 35, 0, 20)
6775
		CopyPlrID.Font = Enum.Font.SourceSans
6776
		CopyPlrID.TextSize = 14
6777
		CopyPlrID.Text = "Copy"
6778
		CopyPlrID.TextColor3 = currentText1
6779
		CopyPlrID.ZIndex = 10
6780
		table.insert(shade2,CopyPlrID)
6781
		table.insert(text1,CopyPlrID)
6782
6783
		CopyPlcID.Name = "CopyPlcID"
6784
		CopyPlcID.Parent = background
6785
		CopyPlcID.BackgroundColor3 = currentShade2
6786
		CopyPlcID.BorderSizePixel = 0
6787
		CopyPlcID.Position = UDim2.new(0, 210, 0, 195)
6788
		CopyPlcID.Size = UDim2.new(0, 35, 0, 20)
6789
		CopyPlcID.Font = Enum.Font.SourceSans
6790
		CopyPlcID.TextSize = 14
6791
		CopyPlcID.Text = "Copy"
6792
		CopyPlcID.TextColor3 = currentText1
6793
		CopyPlcID.ZIndex = 10
6794
		table.insert(shade2,CopyPlcID)
6795
		table.insert(text1,CopyPlcID)
6796
6797
		CopyPlcName.Name = "CopyPlcName"
6798
		CopyPlcName.Parent = background
6799
		CopyPlcName.BackgroundColor3 = currentShade2
6800
		CopyPlcName.BorderSizePixel = 0
6801
		CopyPlcName.Position = UDim2.new(0, 210, 0, 215)
6802
		CopyPlcName.Size = UDim2.new(0, 35, 0, 20)
6803
		CopyPlcName.Font = Enum.Font.SourceSans
6804
		CopyPlcName.TextSize = 14
6805
		CopyPlcName.Text = "Copy"
6806
		CopyPlcName.TextColor3 = currentText1
6807
		CopyPlcName.ZIndex = 10
6808
		table.insert(shade2,CopyPlcName)
6809
		table.insert(text1,CopyPlcName)
6810
6811
		local SINFOGUI = background
6812
		FRAME:TweenPosition(UDim2.new(0.5, -130, 0, 100), "InOut", "Quart", 0.5, true, nil) 
6813
		wait(0.5)
6814
		Exit.MouseButton1Click:Connect(function()
6815
			FRAME:TweenPosition(UDim2.new(0.5, -130, 0, -500), "InOut", "Quart", 0.5, true, nil) 
6816
			wait(0.6)
6817
			FRAME:Destroy()
6818
			canOpenServerinfo = true
6819
		end)
6820
		local Asset = MarketplaceService:GetProductInfo(PlaceId)
6821
		SINFOGUI.name.Text = "Place Name: " .. Asset.Name
6822
		SINFOGUI.playerid.Text = "Player ID: " ..speaker.UserId
6823
		SINFOGUI.maxplayers.Text = Players.MaxPlayers.. " Players Max"
6824
		SINFOGUI.placeid.Text = "Place ID: " ..PlaceId
6825
6826
		CopyApp.MouseButton1Click:Connect(function()
6827
			toClipboard(speaker.CharacterAppearanceId)
6828
		end)
6829
		CopyPlrID.MouseButton1Click:Connect(function()
6830
			toClipboard(speaker.UserId)
6831
		end)
6832
		CopyPlcID.MouseButton1Click:Connect(function()
6833
			toClipboard(PlaceId)
6834
		end)
6835
		CopyPlcName.MouseButton1Click:Connect(function()
6836
			toClipboard(Asset.Name)
6837
		end)
6838
6839
		repeat
6840
			players = Players:GetPlayers()
6841
			SINFOGUI.players.Text = #players.. " Player(s)"
6842
			SINFOGUI.appearance.Text = "Appearance: " ..speaker.CharacterAppearanceId
6843
			local seconds = math.floor(workspace.DistributedGameTime)
6844
			local minutes = math.floor(workspace.DistributedGameTime / 60)
6845
			local hours = math.floor(workspace.DistributedGameTime / 60 / 60)
6846
			local seconds = seconds - (minutes * 60)
6847
			local minutes = minutes - (hours * 60)
6848
			if hours < 1 then if minutes < 1 then
6849
					SINFOGUI.Time.Text = seconds .. " Second(s)" else
6850
					SINFOGUI.Time.Text = minutes .. " Minute(s), " .. seconds .. " Second(s)"
6851
				end
6852
			else
6853
				SINFOGUI.Time.Text = hours .. " Hour(s), " .. minutes .. " Minute(s), " .. seconds .. " Second(s)"
6854
			end
6855
			wait(1)
6856
		until SINFOGUI.Parent == nil
6857
	end)
6858
end)
6859
6860
addcmd("jobid", {}, function(args, speaker)
6861
    toClipboard("roblox://placeId=" .. PlaceId .. "&gameInstanceId=" .. JobId)
6862
end)
6863
6864
addcmd('notifyjobid',{},function(args, speaker)
6865
	notify('JobId / PlaceId',JobId..' / '..PlaceId)
6866
end)
6867
6868
addcmd('breakloops',{'break'},function(args, speaker)
6869
	lastBreakTime = tick()
6870
end)
6871
6872
addcmd('gametp',{'gameteleport'},function(args, speaker)
6873
	TeleportService:Teleport(args[1])
6874
end)
6875
6876
addcmd("rejoin", {"rj"}, function(args, speaker)
6877
	if #Players:GetPlayers() <= 1 then
6878
		Players.LocalPlayer:Kick("\nRejoining...")
6879
		wait()
6880
		TeleportService:Teleport(PlaceId, Players.LocalPlayer)
6881
	else
6882
		TeleportService:TeleportToPlaceInstance(PlaceId, JobId, Players.LocalPlayer)
6883
	end
6884
end)
6885
6886
addcmd("autorejoin", {"autorj"}, function(args, speaker)
6887
	GuiService.ErrorMessageChanged:Connect(function()
6888
		execCmd("rejoin")
6889
	end)
6890
	notify("Auto Rejoin", "Auto rejoin enabled")
6891
end)
6892
6893
addcmd("serverhop", {"shop"}, function(args, speaker)
6894
    -- thanks to Amity for fixing
6895
    local servers = {}
6896
    local req = game:HttpGet("https://games.roblox.com/v1/games/" .. PlaceId .. "/servers/Public?sortOrder=Desc&limit=100&excludeFullGames=true")
6897
    local body = HttpService:JSONDecode(req)
6898
6899
    if body and body.data then
6900
        for i, v in next, body.data do
6901
            if type(v) == "table" and tonumber(v.playing) and tonumber(v.maxPlayers) and v.playing < v.maxPlayers and v.id ~= JobId then
6902
                table.insert(servers, 1, v.id)
6903
            end
6904
        end
6905
    end
6906
6907
    if #servers > 0 then
6908
        TeleportService:TeleportToPlaceInstance(PlaceId, servers[math.random(1, #servers)], Players.LocalPlayer)
6909
    else
6910
        return notify("Serverhop", "Couldn't find a server.")
6911
    end
6912
end)
6913
6914
addcmd("exit", {}, function(args, speaker)
6915
    game:Shutdown()
6916
end)
6917
6918
local Noclipping = nil
6919
addcmd('noclip',{},function(args, speaker)
6920
	Clip = false
6921
	wait(0.1)
6922
	local function NoclipLoop()
6923
		if Clip == false and speaker.Character ~= nil then
6924
			for _, child in pairs(speaker.Character:GetDescendants()) do
6925
				if child:IsA("BasePart") and child.CanCollide == true and child.Name ~= floatName then
6926
					child.CanCollide = false
6927
				end
6928
			end
6929
		end
6930
	end
6931
	Noclipping = RunService.Stepped:Connect(NoclipLoop)
6932
	if args[1] and args[1] == 'nonotify' then return end
6933
	notify('Noclip','Noclip Enabled')
6934
end)
6935
6936
addcmd('clip',{'unnoclip'},function(args, speaker)
6937
	if Noclipping then
6938
		Noclipping:Disconnect()
6939
	end
6940
	Clip = true
6941
	if args[1] and args[1] == 'nonotify' then return end
6942
	notify('Noclip','Noclip Disabled')
6943
end)
6944
6945
addcmd('togglenoclip',{},function(args, speaker)
6946
	if Clip then
6947
		execCmd('noclip')
6948
	else
6949
		execCmd('clip')
6950
	end
6951
end)
6952
6953
FLYING = false
6954
QEfly = true
6955
iyflyspeed = 1
6956
vehicleflyspeed = 1
6957
function sFLY(vfly)
6958
	repeat wait() until Players.LocalPlayer and Players.LocalPlayer.Character and getRoot(Players.LocalPlayer.Character) and Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
6959
	repeat wait() until IYMouse
6960
	if flyKeyDown or flyKeyUp then flyKeyDown:Disconnect() flyKeyUp:Disconnect() end
6961
6962
	local T = getRoot(Players.LocalPlayer.Character)
6963
	local CONTROL = {F = 0, B = 0, L = 0, R = 0, Q = 0, E = 0}
6964
	local lCONTROL = {F = 0, B = 0, L = 0, R = 0, Q = 0, E = 0}
6965
	local SPEED = 0
6966
6967
	local function FLY()
6968
		FLYING = true
6969
		local BG = Instance.new('BodyGyro')
6970
		local BV = Instance.new('BodyVelocity')
6971
		BG.P = 9e4
6972
		BG.Parent = T
6973
		BV.Parent = T
6974
		BG.maxTorque = Vector3.new(9e9, 9e9, 9e9)
6975
		BG.cframe = T.CFrame
6976
		BV.velocity = Vector3.new(0, 0, 0)
6977
		BV.maxForce = Vector3.new(9e9, 9e9, 9e9)
6978
		task.spawn(function()
6979
			repeat wait()
6980
				if not vfly and Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid') then
6981
					Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid').PlatformStand = true
6982
				end
6983
				if CONTROL.L + CONTROL.R ~= 0 or CONTROL.F + CONTROL.B ~= 0 or CONTROL.Q + CONTROL.E ~= 0 then
6984
					SPEED = 50
6985
				elseif not (CONTROL.L + CONTROL.R ~= 0 or CONTROL.F + CONTROL.B ~= 0 or CONTROL.Q + CONTROL.E ~= 0) and SPEED ~= 0 then
6986
					SPEED = 0
6987
				end
6988
				if (CONTROL.L + CONTROL.R) ~= 0 or (CONTROL.F + CONTROL.B) ~= 0 or (CONTROL.Q + CONTROL.E) ~= 0 then
6989
					BV.velocity = ((workspace.CurrentCamera.CoordinateFrame.lookVector * (CONTROL.F + CONTROL.B)) + ((workspace.CurrentCamera.CoordinateFrame * CFrame.new(CONTROL.L + CONTROL.R, (CONTROL.F + CONTROL.B + CONTROL.Q + CONTROL.E) * 0.2, 0).p) - workspace.CurrentCamera.CoordinateFrame.p)) * SPEED
6990
					lCONTROL = {F = CONTROL.F, B = CONTROL.B, L = CONTROL.L, R = CONTROL.R}
6991
				elseif (CONTROL.L + CONTROL.R) == 0 and (CONTROL.F + CONTROL.B) == 0 and (CONTROL.Q + CONTROL.E) == 0 and SPEED ~= 0 then
6992
					BV.velocity = ((workspace.CurrentCamera.CoordinateFrame.lookVector * (lCONTROL.F + lCONTROL.B)) + ((workspace.CurrentCamera.CoordinateFrame * CFrame.new(lCONTROL.L + lCONTROL.R, (lCONTROL.F + lCONTROL.B + CONTROL.Q + CONTROL.E) * 0.2, 0).p) - workspace.CurrentCamera.CoordinateFrame.p)) * SPEED
6993
				else
6994
					BV.velocity = Vector3.new(0, 0, 0)
6995
				end
6996
				BG.cframe = workspace.CurrentCamera.CoordinateFrame
6997
			until not FLYING
6998
			CONTROL = {F = 0, B = 0, L = 0, R = 0, Q = 0, E = 0}
6999
			lCONTROL = {F = 0, B = 0, L = 0, R = 0, Q = 0, E = 0}
7000
			SPEED = 0
7001
			BG:Destroy()
7002
			BV:Destroy()
7003
			if Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid') then
7004
				Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid').PlatformStand = false
7005
			end
7006
		end)
7007
	end
7008
	flyKeyDown = IYMouse.KeyDown:Connect(function(KEY)
7009
		if KEY:lower() == 'w' then
7010
			CONTROL.F = (vfly and vehicleflyspeed or iyflyspeed)
7011
		elseif KEY:lower() == 's' then
7012
			CONTROL.B = - (vfly and vehicleflyspeed or iyflyspeed)
7013
		elseif KEY:lower() == 'a' then
7014
			CONTROL.L = - (vfly and vehicleflyspeed or iyflyspeed)
7015
		elseif KEY:lower() == 'd' then 
7016
			CONTROL.R = (vfly and vehicleflyspeed or iyflyspeed)
7017
		elseif QEfly and KEY:lower() == 'e' then
7018
			CONTROL.Q = (vfly and vehicleflyspeed or iyflyspeed)*2
7019
		elseif QEfly and KEY:lower() == 'q' then
7020
			CONTROL.E = -(vfly and vehicleflyspeed or iyflyspeed)*2
7021
		end
7022
		pcall(function() workspace.CurrentCamera.CameraType = Enum.CameraType.Track end)
7023
	end)
7024
	flyKeyUp = IYMouse.KeyUp:Connect(function(KEY)
7025
		if KEY:lower() == 'w' then
7026
			CONTROL.F = 0
7027
		elseif KEY:lower() == 's' then
7028
			CONTROL.B = 0
7029
		elseif KEY:lower() == 'a' then
7030
			CONTROL.L = 0
7031
		elseif KEY:lower() == 'd' then
7032
			CONTROL.R = 0
7033
		elseif KEY:lower() == 'e' then
7034
			CONTROL.Q = 0
7035
		elseif KEY:lower() == 'q' then
7036
			CONTROL.E = 0
7037
		end
7038
	end)
7039
	FLY()
7040
end
7041
7042
function NOFLY()
7043
	FLYING = false
7044
	if flyKeyDown or flyKeyUp then flyKeyDown:Disconnect() flyKeyUp:Disconnect() end
7045
	if Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid') then
7046
		Players.LocalPlayer.Character:FindFirstChildOfClass('Humanoid').PlatformStand = false
7047
	end
7048
	pcall(function() workspace.CurrentCamera.CameraType = Enum.CameraType.Custom end)
7049
end
7050
7051
local velocityHandlerName = randomString()
7052
local gyroHandlerName = randomString()
7053
local mfly1
7054
local mfly2
7055
7056
local unmobilefly = function(speaker)
7057
	pcall(function()
7058
		FLYING = false
7059
		local root = getRoot(speaker.Character)
7060
		root:FindFirstChild(velocityHandlerName):Destroy()
7061
		root:FindFirstChild(gyroHandlerName):Destroy()
7062
		speaker.Character:FindFirstChildWhichIsA("Humanoid").PlatformStand = false
7063
		mfly1:Disconnect()
7064
		mfly2:Disconnect()
7065
	end)
7066
end
7067
7068
local mobilefly = function(speaker, vfly)
7069
	unmobilefly(speaker)
7070
	FLYING = true
7071
7072
	local root = getRoot(speaker.Character)
7073
	local camera = workspace.CurrentCamera
7074
	local v3none = Vector3.new()
7075
	local v3zero = Vector3.new(0, 0, 0)
7076
	local v3inf = Vector3.new(9e9, 9e9, 9e9)
7077
7078
	local controlModule = require(speaker.PlayerScripts:WaitForChild("PlayerModule"):WaitForChild("ControlModule"))
7079
	local bv = Instance.new("BodyVelocity")
7080
	bv.Name = velocityHandlerName
7081
	bv.Parent = root
7082
	bv.MaxForce = v3zero
7083
	bv.Velocity = v3zero
7084
7085
	local bg = Instance.new("BodyGyro")
7086
	bg.Name = gyroHandlerName
7087
	bg.Parent = root
7088
	bg.MaxTorque = v3inf
7089
	bg.P = 1000
7090
	bg.D = 50
7091
7092
	mfly1 = speaker.CharacterAdded:Connect(function()
7093
		local bv = Instance.new("BodyVelocity")
7094
		bv.Name = velocityHandlerName
7095
		bv.Parent = root
7096
		bv.MaxForce = v3zero
7097
		bv.Velocity = v3zero
7098
7099
		local bg = Instance.new("BodyGyro")
7100
		bg.Name = gyroHandlerName
7101
		bg.Parent = root
7102
		bg.MaxTorque = v3inf
7103
		bg.P = 1000
7104
		bg.D = 50
7105
	end)
7106
7107
	mfly2 = RunService.RenderStepped:Connect(function()
7108
		root = getRoot(speaker.Character)
7109
		camera = workspace.CurrentCamera
7110
		if speaker.Character:FindFirstChildWhichIsA("Humanoid") and root and root:FindFirstChild(velocityHandlerName) and root:FindFirstChild(gyroHandlerName) then
7111
			local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid")
7112
			local VelocityHandler = root:FindFirstChild(velocityHandlerName)
7113
			local GyroHandler = root:FindFirstChild(gyroHandlerName)
7114
7115
			VelocityHandler.MaxForce = v3inf
7116
			GyroHandler.MaxTorque = v3inf
7117
			if not vfly then humanoid.PlatformStand = true end
7118
			GyroHandler.CFrame = camera.CoordinateFrame
7119
			VelocityHandler.Velocity = v3none
7120
7121
			local direction = controlModule:GetMoveVector()
7122
			if direction.X > 0 then
7123
				VelocityHandler.Velocity = VelocityHandler.Velocity + camera.CFrame.RightVector * (direction.X * ((vfly and vehicleflyspeed or iyflyspeed) * 50))
7124
			end
7125
			if direction.X < 0 then
7126
				VelocityHandler.Velocity = VelocityHandler.Velocity + camera.CFrame.RightVector * (direction.X * ((vfly and vehicleflyspeed or iyflyspeed) * 50))
7127
			end
7128
			if direction.Z > 0 then
7129
				VelocityHandler.Velocity = VelocityHandler.Velocity - camera.CFrame.LookVector * (direction.Z * ((vfly and vehicleflyspeed or iyflyspeed) * 50))
7130
			end
7131
			if direction.Z < 0 then
7132
				VelocityHandler.Velocity = VelocityHandler.Velocity - camera.CFrame.LookVector * (direction.Z * ((vfly and vehicleflyspeed or iyflyspeed) * 50))
7133
			end
7134
		end
7135
	end)
7136
end
7137
7138
addcmd('fly',{},function(args, speaker)
7139
	if not IsOnMobile then
7140
		NOFLY()
7141
		wait()
7142
		sFLY()
7143
	else
7144
		mobilefly(speaker)
7145
	end
7146
	if args[1] and isNumber(args[1]) then
7147
		iyflyspeed = args[1]
7148
	end
7149
end)
7150
7151
addcmd('flyspeed',{'flysp'},function(args, speaker)
7152
	local speed = args[1] or 1
7153
	if isNumber(speed) then
7154
		iyflyspeed = speed
7155
	end
7156
end)
7157
7158
addcmd('unfly',{'nofly','novfly','unvehiclefly','novehiclefly','unvfly'},function(args, speaker)
7159
	if not IsOnMobile then NOFLY() else unmobilefly(speaker) end
7160
end)
7161
7162
addcmd('vfly',{'vehiclefly'},function(args, speaker)
7163
	if not IsOnMobile then
7164
		NOFLY()
7165
		wait()
7166
		sFLY(true)
7167
	else
7168
		mobilefly(speaker, true)
7169
	end
7170
	if args[1] and isNumber(args[1]) then
7171
		vehicleflyspeed = args[1]
7172
	end
7173
end)
7174
7175
addcmd('togglevfly',{},function(args, speaker)
7176
	if FLYING then
7177
		if not IsOnMobile then NOFLY() else unmobilefly(speaker) end
7178
	else
7179
		if not IsOnMobile then sFLY(true) else mobilefly(speaker, true) end
7180
	end
7181
end)
7182
7183
addcmd('vflyspeed',{'vflysp','vehicleflyspeed','vehicleflysp'},function(args, speaker)
7184
	local speed = args[1] or 1
7185
	if isNumber(speed) then
7186
		vehicleflyspeed = speed
7187
	end
7188
end)
7189
7190
addcmd('qefly',{'flyqe'},function(args, speaker)
7191
	if args[1] == 'false' then
7192
		QEfly = false
7193
	else
7194
		QEfly = true
7195
	end
7196
end)
7197
7198
addcmd('togglefly',{},function(args, speaker)
7199
	if FLYING then
7200
		if not IsOnMobile then NOFLY() else unmobilefly(speaker) end
7201
	else
7202
		if not IsOnMobile then sFLY() else mobilefly(speaker) end
7203
	end
7204
end)
7205
7206
CFspeed = 50
7207
addcmd('cframefly', {'cfly'}, function(args, speaker)
7208
	-- Full credit to peyton#9148 (apeyton)
7209
	speaker.Character:FindFirstChildOfClass('Humanoid').PlatformStand = true
7210
	local Head = speaker.Character:WaitForChild("Head")
7211
	Head.Anchored = true
7212
	if CFloop then CFloop:Disconnect() end
7213
	CFloop = RunService.Heartbeat:Connect(function(deltaTime)
7214
		local moveDirection = speaker.Character:FindFirstChildOfClass('Humanoid').MoveDirection * (CFspeed * deltaTime)
7215
		local headCFrame = Head.CFrame
7216
		local cameraCFrame = workspace.CurrentCamera.CFrame
7217
		local cameraOffset = headCFrame:ToObjectSpace(cameraCFrame).Position
7218
		cameraCFrame = cameraCFrame * CFrame.new(-cameraOffset.X, -cameraOffset.Y, -cameraOffset.Z + 1)
7219
		local cameraPosition = cameraCFrame.Position
7220
		local headPosition = headCFrame.Position
7221
7222
		local objectSpaceVelocity = CFrame.new(cameraPosition, Vector3.new(headPosition.X, cameraPosition.Y, headPosition.Z)):VectorToObjectSpace(moveDirection)
7223
		Head.CFrame = CFrame.new(headPosition) * (cameraCFrame - cameraPosition) * CFrame.new(objectSpaceVelocity)
7224
	end)
7225
end)
7226
7227
addcmd('uncframefly',{'uncfly'},function(args, speaker)
7228
	if CFloop then
7229
		CFloop:Disconnect()
7230
		speaker.Character:FindFirstChildOfClass('Humanoid').PlatformStand = false
7231
		local Head = speaker.Character:WaitForChild("Head")
7232
		Head.Anchored = false
7233
	end
7234
end)
7235
7236
addcmd('cframeflyspeed',{'cflyspeed'},function(args, speaker)
7237
	if isNumber(args[1]) then
7238
		CFspeed = args[1]
7239
	end
7240
end)
7241
7242
Floating = false
7243
floatName = randomString()
7244
addcmd('float', {'platform'},function(args, speaker)
7245
	Floating = true
7246
	local pchar = speaker.Character
7247
	if pchar and not pchar:FindFirstChild(floatName) then
7248
		task.spawn(function()
7249
			local Float = Instance.new('Part')
7250
			Float.Name = floatName
7251
			Float.Parent = pchar
7252
			Float.Transparency = 1
7253
			Float.Size = Vector3.new(2,0.2,1.5)
7254
			Float.Anchored = true
7255
			local FloatValue = -3.1
7256
			Float.CFrame = getRoot(pchar).CFrame * CFrame.new(0,FloatValue,0)
7257
			notify('Float','Float Enabled (Q = down & E = up)')
7258
			qUp = IYMouse.KeyUp:Connect(function(KEY)
7259
				if KEY == 'q' then
7260
					FloatValue = FloatValue + 0.5
7261
				end
7262
			end)
7263
			eUp = IYMouse.KeyUp:Connect(function(KEY)
7264
				if KEY == 'e' then
7265
					FloatValue = FloatValue - 1.5
7266
				end
7267
			end)
7268
			qDown = IYMouse.KeyDown:Connect(function(KEY)
7269
				if KEY == 'q' then
7270
					FloatValue = FloatValue - 0.5
7271
				end
7272
			end)
7273
			eDown = IYMouse.KeyDown:Connect(function(KEY)
7274
				if KEY == 'e' then
7275
					FloatValue = FloatValue + 1.5
7276
				end
7277
			end)
7278
			floatDied = speaker.Character:FindFirstChildOfClass('Humanoid').Died:Connect(function()
7279
				FloatingFunc:Disconnect()
7280
				Float:Destroy()
7281
				qUp:Disconnect()
7282
				eUp:Disconnect()
7283
				qDown:Disconnect()
7284
				eDown:Disconnect()
7285
				floatDied:Disconnect()
7286
			end)
7287
			local function FloatPadLoop()
7288
				if pchar:FindFirstChild(floatName) and getRoot(pchar) then
7289
					Float.CFrame = getRoot(pchar).CFrame * CFrame.new(0,FloatValue,0)
7290
				else
7291
					FloatingFunc:Disconnect()
7292
					Float:Destroy()
7293
					qUp:Disconnect()
7294
					eUp:Disconnect()
7295
					qDown:Disconnect()
7296
					eDown:Disconnect()
7297
					floatDied:Disconnect()
7298
				end
7299
			end			
7300
			FloatingFunc = RunService.Heartbeat:Connect(FloatPadLoop)
7301
		end)
7302
	end
7303
end)
7304
7305
addcmd('unfloat',{'nofloat','unplatform','noplatform'},function(args, speaker)
7306
	Floating = false
7307
	local pchar = speaker.Character
7308
	notify('Float','Float Disabled')
7309
	if pchar:FindFirstChild(floatName) then
7310
		pchar:FindFirstChild(floatName):Destroy()
7311
	end
7312
	if floatDied then
7313
		FloatingFunc:Disconnect()
7314
		qUp:Disconnect()
7315
		eUp:Disconnect()
7316
		qDown:Disconnect()
7317
		eDown:Disconnect()
7318
		floatDied:Disconnect()
7319
	end
7320
end)
7321
7322
addcmd('togglefloat',{},function(args, speaker)
7323
	if Floating then
7324
		execCmd('unfloat')
7325
	else
7326
		execCmd('float')
7327
	end
7328
end)
7329
7330
swimming = false
7331
local oldgrav = workspace.Gravity
7332
local swimbeat = nil
7333
addcmd('swim',{},function(args, speaker)
7334
	if not swimming and speaker and speaker.Character and speaker.Character:FindFirstChildWhichIsA("Humanoid") then
7335
		oldgrav = workspace.Gravity
7336
		workspace.Gravity = 0
7337
		local swimDied = function()
7338
			workspace.Gravity = oldgrav
7339
			swimming = false
7340
		end
7341
		local Humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid")
7342
		gravReset = Humanoid.Died:Connect(swimDied)
7343
		local enums = Enum.HumanoidStateType:GetEnumItems()
7344
		table.remove(enums, table.find(enums, Enum.HumanoidStateType.None))
7345
		for i, v in pairs(enums) do
7346
			Humanoid:SetStateEnabled(v, false)
7347
		end
7348
		Humanoid:ChangeState(Enum.HumanoidStateType.Swimming)
7349
		swimbeat = RunService.Heartbeat:Connect(function()
7350
			pcall(function()
7351
				speaker.Character.HumanoidRootPart.Velocity = ((Humanoid.MoveDirection ~= Vector3.new() or UserInputService:IsKeyDown(Enum.KeyCode.Space)) and speaker.Character.HumanoidRootPart.Velocity or Vector3.new())
7352
			end)
7353
		end)
7354
		swimming = true
7355
	end
7356
end)
7357
7358
addcmd('unswim',{'noswim'},function(args, speaker)
7359
	if speaker and speaker.Character and speaker.Character:FindFirstChildWhichIsA("Humanoid") then
7360
		workspace.Gravity = oldgrav
7361
		swimming = false
7362
		if gravReset then
7363
			gravReset:Disconnect()
7364
		end
7365
		if swimbeat ~= nil then
7366
			swimbeat:Disconnect()
7367
			swimbeat = nil
7368
		end
7369
		local Humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid")
7370
		local enums = Enum.HumanoidStateType:GetEnumItems()
7371
		table.remove(enums, table.find(enums, Enum.HumanoidStateType.None))
7372
		for i, v in pairs(enums) do
7373
			Humanoid:SetStateEnabled(v, true)
7374
		end
7375
	end
7376
end)
7377
7378
addcmd('toggleswim',{},function(args, speaker)
7379
	if swimming then
7380
		execCmd('unswim')
7381
	else
7382
		execCmd('swim')
7383
	end
7384
end)
7385
7386
addcmd('setwaypoint',{'swp','setwp','spos','saveposition','savepos'},function(args, speaker)
7387
	local WPName = tostring(getstring(1))
7388
	if getRoot(speaker.Character) then
7389
		notify('Modified Waypoints',"Created waypoint: "..getstring(1))
7390
		local torso = getRoot(speaker.Character)
7391
		WayPoints[#WayPoints + 1] = {NAME = WPName, COORD = {math.floor(torso.Position.X), math.floor(torso.Position.Y), math.floor(torso.Position.Z)}, GAME = PlaceId}
7392
		if AllWaypoints ~= nil then
7393
			AllWaypoints[#AllWaypoints + 1] = {NAME = WPName, COORD = {math.floor(torso.Position.X), math.floor(torso.Position.Y), math.floor(torso.Position.Z)}, GAME = PlaceId}
7394
		end
7395
	end	
7396
	refreshwaypoints()
7397
	updatesaves()
7398
end)
7399
7400
addcmd('waypointpos',{'wpp','setwaypointposition','setpos','setwaypoint','setwaypointpos'},function(args, speaker)
7401
	local WPName = tostring(getstring(1))
7402
	if getRoot(speaker.Character) then
7403
		notify('Modified Waypoints',"Created waypoint: "..getstring(1))
7404
		WayPoints[#WayPoints + 1] = {NAME = WPName, COORD = {args[2], args[3], args[4]}, GAME = PlaceId}
7405
		if AllWaypoints ~= nil then
7406
			AllWaypoints[#AllWaypoints + 1] = {NAME = WPName, COORD = {args[2], args[3], args[4]}, GAME = PlaceId}
7407
		end
7408
	end	
7409
	refreshwaypoints()
7410
	updatesaves()
7411
end)
7412
7413
addcmd('waypoints',{'positions'},function(args, speaker)
7414
	if SettingsOpen == false then SettingsOpen = true
7415
		Settings:TweenPosition(UDim2.new(0, 0, 0, 45), "InOut", "Quart", 0.5, true, nil)
7416
		CMDsF.Visible = false
7417
	end
7418
	KeybindsFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil)
7419
	AliasesFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil)
7420
	PluginsFrame:TweenPosition(UDim2.new(0, 0, 0, 175), "InOut", "Quart", 0.5, true, nil)
7421
	PositionsFrame:TweenPosition(UDim2.new(0, 0, 0, 0), "InOut", "Quart", 0.5, true, nil)
7422
	wait(0.5)
7423
	SettingsHolder.Visible = false
7424
	maximizeHolder()
7425
end)
7426
7427
waypointParts = {}
7428
addcmd('showwaypoints',{'showwp','showwps'},function(args, speaker)
7429
	execCmd('hidewaypoints')
7430
	wait()
7431
	for i,_ in pairs(WayPoints) do
7432
		local x = WayPoints[i].COORD[1]
7433
		local y = WayPoints[i].COORD[2]
7434
		local z = WayPoints[i].COORD[3]
7435
		local part = Instance.new("Part")
7436
		part.Size = Vector3.new(5,5,5)
7437
		part.CFrame = CFrame.new(x,y,z)
7438
		part.Parent = workspace
7439
		part.Anchored = true
7440
		part.CanCollide = false
7441
		table.insert(waypointParts,part)
7442
		local view = Instance.new("BoxHandleAdornment")
7443
		view.Adornee = part
7444
		view.AlwaysOnTop = true
7445
		view.ZIndex = 10
7446
		view.Size = part.Size
7447
		view.Parent = part
7448
	end
7449
	for i,v in pairs(pWayPoints) do
7450
		local view = Instance.new("BoxHandleAdornment")
7451
		view.Adornee = pWayPoints[i].COORD[1]
7452
		view.AlwaysOnTop = true
7453
		view.ZIndex = 10
7454
		view.Size = pWayPoints[i].COORD[1].Size
7455
		view.Parent = pWayPoints[i].COORD[1]
7456
		table.insert(waypointParts,view)
7457
	end
7458
end)
7459
7460
addcmd('hidewaypoints',{'hidewp','hidewps'},function(args, speaker)
7461
	for i,v in pairs(waypointParts) do
7462
		v:Destroy()
7463
	end
7464
	waypointParts = {}
7465
end)
7466
7467
addcmd('waypoint',{'wp','lpos','loadposition','loadpos'},function(args, speaker)
7468
	local WPName = tostring(getstring(1))
7469
	if speaker.Character then
7470
		for i,_ in pairs(WayPoints) do
7471
			if tostring(WayPoints[i].NAME):lower() == tostring(WPName):lower() then
7472
				local x = WayPoints[i].COORD[1]
7473
				local y = WayPoints[i].COORD[2]
7474
				local z = WayPoints[i].COORD[3]
7475
				getRoot(speaker.Character).CFrame = CFrame.new(x,y,z)
7476
			end
7477
		end
7478
		for i,_ in pairs(pWayPoints) do
7479
			if tostring(pWayPoints[i].NAME):lower() == tostring(WPName):lower() then
7480
				getRoot(speaker.Character).CFrame = CFrame.new(pWayPoints[i].COORD[1].Position)
7481
			end
7482
		end
7483
	end
7484
end)
7485
7486
tweenSpeed = 1
7487
addcmd('tweenspeed',{'tspeed'},function(args, speaker)
7488
	local newSpeed = args[1] or 1
7489
	if tonumber(newSpeed) then
7490
		tweenSpeed = tonumber(newSpeed)
7491
	end
7492
end)
7493
7494
addcmd('tweenwaypoint',{'twp'},function(args, speaker)
7495
	local WPName = tostring(getstring(1))
7496
	if speaker.Character then
7497
		for i,_ in pairs(WayPoints) do
7498
			local x = WayPoints[i].COORD[1]
7499
			local y = WayPoints[i].COORD[2]
7500
			local z = WayPoints[i].COORD[3]
7501
			if tostring(WayPoints[i].NAME):lower() == tostring(WPName):lower() then
7502
				TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = CFrame.new(x,y,z)}):Play()
7503
			end
7504
		end
7505
		for i,_ in pairs(pWayPoints) do
7506
			if tostring(pWayPoints[i].NAME):lower() == tostring(WPName):lower() then
7507
				TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = CFrame.new(pWayPoints[i].COORD[1].Position)}):Play()
7508
			end
7509
		end
7510
	end
7511
end)
7512
7513
addcmd('walktowaypoint',{'wtwp'},function(args, speaker)
7514
	local WPName = tostring(getstring(1))
7515
	if speaker.Character then
7516
		for i,_ in pairs(WayPoints) do
7517
			local x = WayPoints[i].COORD[1]
7518
			local y = WayPoints[i].COORD[2]
7519
			local z = WayPoints[i].COORD[3]
7520
			if tostring(WayPoints[i].NAME):lower() == tostring(WPName):lower() then
7521
				if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
7522
					speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
7523
					wait(.1)
7524
				end
7525
				speaker.Character:FindFirstChildOfClass('Humanoid').WalkToPoint = Vector3.new(x,y,z)
7526
			end
7527
		end
7528
		for i,_ in pairs(pWayPoints) do
7529
			if tostring(pWayPoints[i].NAME):lower() == tostring(WPName):lower() then
7530
				if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
7531
					speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
7532
					wait(.1)
7533
				end
7534
				speaker.Character:FindFirstChildOfClass('Humanoid').WalkToPoint = Vector3.new(pWayPoints[i].COORD[1].Position)
7535
			end
7536
		end
7537
	end
7538
end)
7539
7540
addcmd('deletewaypoint',{'dwp','dpos','deleteposition','deletepos'},function(args, speaker)
7541
	for i,v in pairs(WayPoints) do
7542
		if v.NAME:lower() == tostring(getstring(1)):lower() then
7543
			notify('Modified Waypoints',"Deleted waypoint: " .. v.NAME)
7544
			table.remove(WayPoints, i)
7545
		end
7546
	end
7547
	if AllWaypoints ~= nil and #AllWaypoints > 0 then
7548
		for i,v in pairs(AllWaypoints) do
7549
			if v.NAME:lower() == tostring(getstring(1)):lower() then
7550
				if not v.GAME or v.GAME == PlaceId then
7551
					table.remove(AllWaypoints, i)
7552
				end
7553
			end
7554
		end
7555
	end
7556
	for i,v in pairs(pWayPoints) do
7557
		if v.NAME:lower() == tostring(getstring(1)):lower() then
7558
			notify('Modified Waypoints',"Deleted waypoint: " .. v.NAME)
7559
			table.remove(pWayPoints, i)
7560
		end
7561
	end
7562
	refreshwaypoints()
7563
	updatesaves()
7564
end)
7565
7566
addcmd('clearwaypoints',{'cwp','clearpositions','cpos','clearpos'},function(args, speaker)
7567
	WayPoints = {}
7568
	pWayPoints = {}
7569
	refreshwaypoints()
7570
	updatesaves()
7571
	AllWaypoints = {}
7572
	notify('Modified Waypoints','Removed all waypoints')
7573
end)
7574
7575
addcmd('cleargamewaypoints',{'cgamewp'},function(args, speaker)
7576
	for i,v in pairs(WayPoints) do
7577
		if v.GAME == PlaceId then
7578
			table.remove(WayPoints, i)
7579
		end
7580
	end
7581
	if AllWaypoints ~= nil and #AllWaypoints > 0 then
7582
		for i,v in pairs(AllWaypoints) do
7583
			if v.GAME == PlaceId then
7584
				table.remove(AllWaypoints, i)
7585
			end
7586
		end
7587
	end
7588
	for i,v in pairs(pWayPoints) do
7589
		if v.GAME == PlaceId then
7590
			table.remove(pWayPoints, i)
7591
		end
7592
	end
7593
	refreshwaypoints()
7594
	updatesaves()
7595
	notify('Modified Waypoints','Deleted game waypoints')
7596
end)
7597
7598
7599
local coreGuiTypeNames = {
7600
	-- predefined aliases
7601
	["inventory"] = Enum.CoreGuiType.Backpack,
7602
	["leaderboard"] = Enum.CoreGuiType.PlayerList,
7603
	["emotes"] = Enum.CoreGuiType.EmotesMenu
7604
}
7605
7606
-- Load the full list of enums
7607
for _, enumItem in ipairs(Enum.CoreGuiType:GetEnumItems()) do
7608
	coreGuiTypeNames[enumItem.Name:lower()] = enumItem
7609
end
7610
7611
addcmd('enable',{},function(args, speaker)
7612
	local input = args[1] and args[1]:lower()
7613
	if input then
7614
		if input == "reset" then
7615
			StarterGui:SetCore("ResetButtonCallback", true)
7616
		else
7617
			local coreGuiType = coreGuiTypeNames[input]
7618
			if coreGuiType then
7619
				StarterGui:SetCoreGuiEnabled(coreGuiType, true)
7620
			end
7621
		end
7622
	end
7623
end)
7624
7625
addcmd('disable',{},function(args, speaker)
7626
	local input = args[1] and args[1]:lower()
7627
	if input then
7628
		if input == "reset" then
7629
			StarterGui:SetCore("ResetButtonCallback", false)
7630
		else
7631
			local coreGuiType = coreGuiTypeNames[input]
7632
			if coreGuiType then
7633
				StarterGui:SetCoreGuiEnabled(coreGuiType, false)
7634
			end
7635
		end
7636
	end
7637
end)
7638
7639
7640
local invisGUIS = {}
7641
addcmd('showguis',{},function(args, speaker)
7642
	for i,v in pairs(PlayerGui:GetDescendants()) do
7643
		if (v:IsA("Frame") or v:IsA("ImageLabel") or v:IsA("ScrollingFrame")) and not v.Visible then
7644
			v.Visible = true
7645
			if not FindInTable(invisGUIS,v) then
7646
				table.insert(invisGUIS,v)
7647
			end
7648
		end
7649
	end
7650
end)
7651
7652
addcmd('unshowguis',{},function(args, speaker)
7653
	for i,v in pairs(invisGUIS) do
7654
		v.Visible = false
7655
	end
7656
	invisGUIS = {}
7657
end)
7658
7659
local hiddenGUIS = {}
7660
addcmd('hideguis',{},function(args, speaker)
7661
	for i,v in pairs(PlayerGui:GetDescendants()) do
7662
		if (v:IsA("Frame") or v:IsA("ImageLabel") or v:IsA("ScrollingFrame")) and v.Visible then
7663
			v.Visible = false
7664
			if not FindInTable(hiddenGUIS,v) then
7665
				table.insert(hiddenGUIS,v)
7666
			end
7667
		end
7668
	end
7669
end)
7670
7671
addcmd('unhideguis',{},function(args, speaker)
7672
	for i,v in pairs(hiddenGUIS) do
7673
		v.Visible = true
7674
	end
7675
	hiddenGUIS = {}
7676
end)
7677
7678
function deleteGuisAtPos()
7679
	pcall(function()
7680
		local guisAtPosition = PlayerGui:GetGuiObjectsAtPosition(IYMouse.X, IYMouse.Y)
7681
		for _, gui in pairs(guisAtPosition) do
7682
			if gui.Visible == true then
7683
				gui:Destroy()
7684
			end
7685
		end
7686
	end)
7687
end
7688
7689
local deleteGuiInput
7690
addcmd('guidelete',{},function(args, speaker)
7691
	deleteGuiInput = UserInputService.InputBegan:Connect(function(input, gameProcessedEvent)
7692
		if not gameProcessedEvent then
7693
			if input.KeyCode == Enum.KeyCode.Backspace then
7694
				deleteGuisAtPos()
7695
			end
7696
		end
7697
	end)
7698
	notify('GUI Delete Enabled','Hover over a GUI and press backspace to delete it')
7699
end)
7700
7701
addcmd('unguidelete',{'noguidelete'},function(args, speaker)
7702
	if deleteGuiInput then deleteGuiInput:Disconnect() end
7703
	notify('GUI Delete Disabled','GUI backspace delete has been disabled')
7704
end)
7705
7706
local wasStayOpen = StayOpen
7707
addcmd('hideiy',{},function(args, speaker)
7708
	isHidden = true
7709
	wasStayOpen = StayOpen
7710
	if StayOpen == true then
7711
		StayOpen = false
7712
		On.BackgroundTransparency = 1
7713
	end
7714
	minimizeNum = 0
7715
	minimizeHolder()
7716
	if not (args[1] and tostring(args[1]) == 'nonotify') then notify('IY Hidden','You can press the prefix key to access the command bar') end
7717
end)
7718
7719
addcmd('showiy',{'unhideiy'},function(args, speaker)
7720
	isHidden = false
7721
	minimizeNum = -20
7722
	if wasStayOpen then
7723
		maximizeHolder()
7724
		StayOpen = true
7725
		On.BackgroundTransparency = 0
7726
	else
7727
		minimizeHolder()
7728
	end
7729
end)
7730
7731
addcmd('rec', {'record'}, function(args, speaker)
7732
	return COREGUI:ToggleRecording()
7733
end)
7734
7735
addcmd('screenshot', {'scrnshot'}, function(args, speaker)
7736
	return COREGUI:TakeScreenshot()
7737
end)
7738
7739
addcmd('togglefs', {'togglefullscreen'}, function(args, speaker)
7740
	return GuiService:ToggleFullscreen()
7741
end)
7742
7743
addcmd('inspect', {'examine'}, function(args, speaker)
7744
	for _, v in ipairs(getPlayer(args[1], speaker)) do
7745
		GuiService:CloseInspectMenu()
7746
		GuiService:InspectPlayerFromUserId(Players[v].UserId)
7747
	end
7748
end)
7749
7750
addcmd("savegame", {"saveplace"}, function(args, speaker)
7751
    if saveinstance then
7752
        notify("Loading", "Downloading game. This will take a while")
7753
        saveinstance()
7754
        notify("Game Saved", "Saved place to the workspace folder within your exploit folder.")
7755
    else
7756
        notify("Incompatible Exploit", "Your exploit does not support this command (missing saveinstance)")
7757
    end
7758
end)
7759
7760
addcmd('clearerror',{'clearerrors'},function(args, speaker)
7761
	GuiService:ClearError()
7762
end)
7763
7764
addcmd('clientantikick',{'antikick'},function(args, speaker)
7765
	if not hookmetamethod then 
7766
	    return notify('Incompatible Exploit','Your exploit does not support this command (missing hookmetamethod)')
7767
	end
7768
	local LocalPlayer = Players.LocalPlayer
7769
	local oldhmmi
7770
	local oldhmmnc
7771
	local oldKickFunction
7772
	if hookfunction then
7773
	    oldKickFunction = hookfunction(LocalPlayer.Kick, function() end)
7774
	end
7775
	oldhmmi = hookmetamethod(game, "__index", function(self, method)
7776
	    if self == LocalPlayer and method:lower() == "kick" then
7777
	        return error("Expected ':' not '.' calling member function Kick", 2)
7778
	    end
7779
	    return oldhmmi(self, method)
7780
	end)
7781
	oldhmmnc = hookmetamethod(game, "__namecall", function(self, ...)
7782
	    if self == LocalPlayer and getnamecallmethod():lower() == "kick" then
7783
	        return
7784
	    end
7785
	    return oldhmmnc(self, ...)
7786
	end)
7787
	
7788
	notify('Client Antikick','Client anti kick is now active (only effective on localscript kick)')
7789
end)
7790
7791
allow_rj = true
7792
addcmd('clientantiteleport',{'antiteleport'},function(args, speaker)
7793
	if not hookmetamethod then 
7794
		return notify('Incompatible Exploit','Your exploit does not support this command (missing hookmetamethod)')
7795
	end
7796
	local TeleportService = TeleportService
7797
	local oldhmmi
7798
	local oldhmmnc
7799
	oldhmmi = hookmetamethod(game, "__index", function(self, method)
7800
		if self == TeleportService then
7801
			if method:lower() == "teleport" then
7802
				return error("Expected ':' not '.' calling member function Kick", 2)
7803
			elseif method == "TeleportToPlaceInstance" then
7804
				return error("Expected ':' not '.' calling member function TeleportToPlaceInstance", 2)
7805
			end
7806
		end
7807
		return oldhmmi(self, method)
7808
	end)
7809
	oldhmmnc = hookmetamethod(game, "__namecall", function(self, ...)
7810
		if self == TeleportService and getnamecallmethod():lower() == "teleport" or getnamecallmethod() == "TeleportToPlaceInstance" then
7811
			return
7812
		end
7813
		return oldhmmnc(self, ...)
7814
	end)
7815
7816
	notify('Client AntiTP','Client anti teleport is now active (only effective on localscript teleport)')
7817
end)
7818
7819
addcmd('allowrejoin',{'allowrj'},function(args, speaker)
7820
	if args[1] and args[1] == 'false' then
7821
		allow_rj = false
7822
		notify('Client AntiTP','Allow rejoin set to false')
7823
	else
7824
		allow_rj = true
7825
		notify('Client AntiTP','Allow rejoin set to true')
7826
	end
7827
end)
7828
7829
addcmd('cancelteleport',{'canceltp'},function(args, speaker)
7830
	TeleportService:TeleportCancel()
7831
end)
7832
7833
addcmd('volume',{'vol'},function(args, speaker)
7834
	local level = args[1]/10
7835
	UserSettings():GetService("UserGameSettings").MasterVolume = level
7836
end)
7837
7838
addcmd('antilag',{'boostfps','lowgraphics'},function(args, speaker)
7839
	local Terrain = workspace:FindFirstChildOfClass('Terrain')
7840
	Terrain.WaterWaveSize = 0
7841
	Terrain.WaterWaveSpeed = 0
7842
	Terrain.WaterReflectance = 0
7843
	Terrain.WaterTransparency = 1
7844
	Lighting.GlobalShadows = false
7845
	Lighting.FogEnd = 9e9
7846
	Lighting.FogStart = 9e9
7847
	settings().Rendering.QualityLevel = 1
7848
	for i,v in pairs(game:GetDescendants()) do
7849
		if v:IsA("BasePart") then
7850
			v.Material = "Plastic"
7851
			v.Reflectance = 0
7852
			v.BackSurface = "SmoothNoOutlines"
7853
			v.BottomSurface = "SmoothNoOutlines"
7854
			v.FrontSurface = "SmoothNoOutlines"
7855
			v.LeftSurface = "SmoothNoOutlines"
7856
			v.RightSurface = "SmoothNoOutlines"
7857
			v.TopSurface = "SmoothNoOutlines"
7858
		elseif v:IsA("Decal") then
7859
			v.Transparency = 1
7860
		elseif v:IsA("ParticleEmitter") or v:IsA("Trail") then
7861
			v.Lifetime = NumberRange.new(0)
7862
		end
7863
	end
7864
	for i,v in pairs(Lighting:GetDescendants()) do
7865
		if v:IsA("PostEffect") then
7866
			v.Enabled = false
7867
		end
7868
	end
7869
	workspace.DescendantAdded:Connect(function(child)
7870
		task.spawn(function()
7871
			if child:IsA('ForceField') or child:IsA('Sparkles') or child:IsA('Smoke') or child:IsA('Fire') or child:IsA('Beam') then
7872
				RunService.Heartbeat:Wait()
7873
				child:Destroy()
7874
			end
7875
		end)
7876
	end)
7877
end)
7878
7879
addcmd("setfpscap", {"fpscap", "maxfps"}, function(args, speaker)
7880
    if fpscaploop then
7881
        task.cancel(fpscaploop)
7882
        fpscaploop = nil
7883
    end
7884
7885
    local fpsCap = 60
7886
    local num = tonumber(args[1]) or 1e6
7887
    if num == "none" then
7888
        return
7889
    elseif num > 0 then
7890
        fpsCap = num
7891
    else
7892
        return notify("Invalid argument", "Please provide a number above 0 or 'none'.")
7893
    end
7894
7895
    if setfpscap and type(setfpscap) == "function" then
7896
        setfpscap(fpsCap)
7897
    else
7898
        fpscaploop = task.spawn(function()
7899
            local timer = os.clock()
7900
            while true do
7901
                if os.clock() >= timer + 1 / fpsCap then
7902
                    timer = os.clock()
7903
                    task.wait()
7904
                end
7905
            end
7906
        end)
7907
    end
7908
end)
7909
7910
addcmd('notify',{},function(args, speaker)
7911
	notify(getstring(1))
7912
end)
7913
7914
addcmd('lastcommand',{'lastcmd'},function(args, speaker)
7915
	if cmdHistory[1]:sub(1,11) ~= 'lastcommand' and cmdHistory[1]:sub(1,7) ~= 'lastcmd' then
7916
		execCmd(cmdHistory[1])
7917
	end
7918
end)
7919
7920
addcmd('esp',{},function(args, speaker)
7921
	if not CHMSenabled then
7922
		ESPenabled = true
7923
		for i,v in pairs(Players:GetPlayers()) do
7924
			if v.Name ~= speaker.Name then
7925
				ESP(v)
7926
			end
7927
		end
7928
	else
7929
		notify('ESP','Disable chams (nochams) before using esp')
7930
	end
7931
end)
7932
7933
addcmd('espteam',{},function(args, speaker)
7934
	if not CHMSenabled then
7935
		ESPenabled = true
7936
		for i,v in pairs(Players:GetPlayers()) do
7937
			if v.Name ~= speaker.Name then
7938
				ESP(v, true)
7939
			end
7940
		end
7941
	else
7942
		notify('ESP','Disable chams (nochams) before using esp')
7943
	end
7944
end)
7945
7946
addcmd('noesp',{'unesp','unespteam'},function(args, speaker)
7947
	ESPenabled = false
7948
	for i,c in pairs(COREGUI:GetChildren()) do
7949
		if string.sub(c.Name, -4) == '_ESP' then
7950
			c:Destroy()
7951
		end
7952
	end
7953
end)
7954
7955
addcmd('esptransparency',{},function(args, speaker)
7956
	espTransparency = (args[1] and isNumber(args[1]) and args[1]) or 0.3
7957
	updatesaves()
7958
end)
7959
7960
local espParts = {}
7961
local partEspTrigger = nil
7962
function partAdded(part)
7963
	if #espParts > 0 then
7964
		if FindInTable(espParts,part.Name:lower()) then
7965
			local a = Instance.new("BoxHandleAdornment")
7966
			a.Name = part.Name:lower().."_PESP"
7967
			a.Parent = part
7968
			a.Adornee = part
7969
			a.AlwaysOnTop = true
7970
			a.ZIndex = 0
7971
			a.Size = part.Size
7972
			a.Transparency = espTransparency
7973
			a.Color = BrickColor.new("Lime green")
7974
		end
7975
	else
7976
		partEspTrigger:Disconnect()
7977
		partEspTrigger = nil
7978
	end
7979
end
7980
7981
addcmd('partesp',{},function(args, speaker)
7982
	local partEspName = getstring(1):lower()
7983
	if not FindInTable(espParts,partEspName) then
7984
		table.insert(espParts,partEspName)
7985
		for i,v in pairs(workspace:GetDescendants()) do
7986
			if v:IsA("BasePart") and v.Name:lower() == partEspName then
7987
				local a = Instance.new("BoxHandleAdornment")
7988
				a.Name = partEspName.."_PESP"
7989
				a.Parent = v
7990
				a.Adornee = v
7991
				a.AlwaysOnTop = true
7992
				a.ZIndex = 0
7993
				a.Size = v.Size
7994
				a.Transparency = espTransparency
7995
				a.Color = BrickColor.new("Lime green")
7996
			end
7997
		end
7998
	end
7999
	if partEspTrigger == nil then
8000
		partEspTrigger = workspace.DescendantAdded:Connect(partAdded)
8001
	end
8002
end)
8003
8004
addcmd('unpartesp',{'nopartesp'},function(args, speaker)
8005
	if args[1] then
8006
		local partEspName = getstring(1):lower()
8007
		if FindInTable(espParts,partEspName) then
8008
			table.remove(espParts, GetInTable(espParts, partEspName))
8009
		end
8010
		for i,v in pairs(workspace:GetDescendants()) do
8011
			if v:IsA("BoxHandleAdornment") and v.Name == partEspName..'_PESP' then
8012
				v:Destroy()
8013
			end
8014
		end
8015
	else
8016
		partEspTrigger:Disconnect()
8017
		partEspTrigger = nil
8018
		espParts = {}
8019
		for i,v in pairs(workspace:GetDescendants()) do
8020
			if v:IsA("BoxHandleAdornment") and v.Name:sub(-5) == '_PESP' then
8021
				v:Destroy()
8022
			end
8023
		end
8024
	end
8025
end)
8026
8027
addcmd('chams',{},function(args, speaker)
8028
	if not ESPenabled then
8029
		CHMSenabled = true
8030
		for i,v in pairs(Players:GetPlayers()) do
8031
			if v.Name ~= speaker.Name then
8032
				CHMS(v)
8033
			end
8034
		end
8035
	else
8036
		notify('Chams','Disable ESP (noesp) before using chams')
8037
	end
8038
end)
8039
8040
addcmd('nochams',{'unchams'},function(args, speaker)
8041
	CHMSenabled = false
8042
	for i,v in pairs(Players:GetPlayers()) do
8043
		local chmsplr = v
8044
		for i,c in pairs(COREGUI:GetChildren()) do
8045
			if c.Name == chmsplr.Name..'_CHMS' then
8046
				c:Destroy()
8047
			end
8048
		end
8049
	end
8050
end)
8051
8052
addcmd('locate',{},function(args, speaker)
8053
	local players = getPlayer(args[1], speaker)
8054
	for i,v in pairs(players) do
8055
		Locate(Players[v])
8056
	end
8057
end)
8058
8059
addcmd('nolocate',{'unlocate'},function(args, speaker)
8060
	local players = getPlayer(args[1], speaker)
8061
	if args[1] then
8062
		for i,v in pairs(players) do
8063
			for i,c in pairs(COREGUI:GetChildren()) do
8064
				if c.Name == Players[v].Name..'_LC' then
8065
					c:Destroy()
8066
				end
8067
			end
8068
		end
8069
	else
8070
		for i,c in pairs(COREGUI:GetChildren()) do
8071
			if string.sub(c.Name, -3) == '_LC' then
8072
				c:Destroy()
8073
			end
8074
		end
8075
	end
8076
end)
8077
8078
viewing = nil
8079
addcmd('view',{'spectate'},function(args, speaker)
8080
	StopFreecam()
8081
	local players = getPlayer(args[1], speaker)
8082
	for i,v in pairs(players) do
8083
		if viewDied then
8084
			viewDied:Disconnect()
8085
			viewChanged:Disconnect()
8086
		end
8087
		viewing = Players[v]
8088
		workspace.CurrentCamera.CameraSubject = viewing.Character
8089
		notify('Spectate','Viewing ' .. Players[v].Name)
8090
		local function viewDiedFunc()
8091
			repeat wait() until Players[v].Character ~= nil and getRoot(Players[v].Character)
8092
			workspace.CurrentCamera.CameraSubject = viewing.Character
8093
		end
8094
		viewDied = Players[v].CharacterAdded:Connect(viewDiedFunc)
8095
		local function viewChangedFunc()
8096
			workspace.CurrentCamera.CameraSubject = viewing.Character
8097
		end
8098
		viewChanged = workspace.CurrentCamera:GetPropertyChangedSignal("CameraSubject"):Connect(viewChangedFunc)
8099
	end
8100
end)
8101
8102
addcmd('viewpart',{'viewp'},function(args, speaker)
8103
	StopFreecam()
8104
	if args[1] then
8105
		for i,v in pairs(workspace:GetDescendants()) do
8106
			if v.Name:lower() == getstring(1):lower() and v:IsA("BasePart") then
8107
				wait(0.1)
8108
				workspace.CurrentCamera.CameraSubject = v
8109
			end
8110
		end
8111
	end
8112
end)
8113
8114
addcmd('unview',{'unspectate'},function(args, speaker)
8115
	StopFreecam()
8116
	if viewing ~= nil then
8117
		viewing = nil
8118
		notify('Spectate','View turned off')
8119
	end
8120
	if viewDied then
8121
		viewDied:Disconnect()
8122
		viewChanged:Disconnect()
8123
	end
8124
	workspace.CurrentCamera.CameraSubject = speaker.Character
8125
end)
8126
8127
8128
fcRunning = false
8129
local Camera = workspace.CurrentCamera
8130
workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(function()
8131
	local newCamera = workspace.CurrentCamera
8132
	if newCamera then
8133
		Camera = newCamera
8134
	end
8135
end)
8136
8137
local INPUT_PRIORITY = Enum.ContextActionPriority.High.Value
8138
8139
Spring = {} do
8140
	Spring.__index = Spring
8141
8142
	function Spring.new(freq, pos)
8143
		local self = setmetatable({}, Spring)
8144
		self.f = freq
8145
		self.p = pos
8146
		self.v = pos*0
8147
		return self
8148
	end
8149
8150
	function Spring:Update(dt, goal)
8151
		local f = self.f*2*math.pi
8152
		local p0 = self.p
8153
		local v0 = self.v
8154
8155
		local offset = goal - p0
8156
		local decay = math.exp(-f*dt)
8157
8158
		local p1 = goal + (v0*dt - offset*(f*dt + 1))*decay
8159
		local v1 = (f*dt*(offset*f - v0) + v0)*decay
8160
8161
		self.p = p1
8162
		self.v = v1
8163
8164
		return p1
8165
	end
8166
8167
	function Spring:Reset(pos)
8168
		self.p = pos
8169
		self.v = pos*0
8170
	end
8171
end
8172
8173
local cameraPos = Vector3.new()
8174
local cameraRot = Vector2.new()
8175
8176
local velSpring = Spring.new(5, Vector3.new())
8177
local panSpring = Spring.new(5, Vector2.new())
8178
8179
Input = {} do
8180
8181
	keyboard = {
8182
		W = 0,
8183
		A = 0,
8184
		S = 0,
8185
		D = 0,
8186
		E = 0,
8187
		Q = 0,
8188
		Up = 0,
8189
		Down = 0,
8190
		LeftShift = 0,
8191
	}
8192
8193
	mouse = {
8194
		Delta = Vector2.new(),
8195
	}
8196
8197
	NAV_KEYBOARD_SPEED = Vector3.new(1, 1, 1)
8198
	PAN_MOUSE_SPEED = Vector2.new(1, 1)*(math.pi/64)
8199
	NAV_ADJ_SPEED = 0.75
8200
	NAV_SHIFT_MUL = 0.25
8201
8202
	navSpeed = 1
8203
8204
	function Input.Vel(dt)
8205
		navSpeed = math.clamp(navSpeed + dt*(keyboard.Up - keyboard.Down)*NAV_ADJ_SPEED, 0.01, 4)
8206
8207
		local kKeyboard = Vector3.new(
8208
			keyboard.D - keyboard.A,
8209
			keyboard.E - keyboard.Q,
8210
			keyboard.S - keyboard.W
8211
		)*NAV_KEYBOARD_SPEED
8212
8213
		local shift = UserInputService:IsKeyDown(Enum.KeyCode.LeftShift)
8214
8215
		return (kKeyboard)*(navSpeed*(shift and NAV_SHIFT_MUL or 1))
8216
	end
8217
8218
	function Input.Pan(dt)
8219
		local kMouse = mouse.Delta*PAN_MOUSE_SPEED
8220
		mouse.Delta = Vector2.new()
8221
		return kMouse
8222
	end
8223
8224
	do
8225
		function Keypress(action, state, input)
8226
			keyboard[input.KeyCode.Name] = state == Enum.UserInputState.Begin and 1 or 0
8227
			return Enum.ContextActionResult.Sink
8228
		end
8229
8230
		function MousePan(action, state, input)
8231
			local delta = input.Delta
8232
			mouse.Delta = Vector2.new(-delta.y, -delta.x)
8233
			return Enum.ContextActionResult.Sink
8234
		end
8235
8236
		function Zero(t)
8237
			for k, v in pairs(t) do
8238
				t[k] = v*0
8239
			end
8240
		end
8241
8242
		function Input.StartCapture()
8243
			ContextActionService:BindActionAtPriority("FreecamKeyboard",Keypress,false,INPUT_PRIORITY,
8244
				Enum.KeyCode.W,
8245
				Enum.KeyCode.A,
8246
				Enum.KeyCode.S,
8247
				Enum.KeyCode.D,
8248
				Enum.KeyCode.E,
8249
				Enum.KeyCode.Q,
8250
				Enum.KeyCode.Up,
8251
				Enum.KeyCode.Down
8252
			)
8253
			ContextActionService:BindActionAtPriority("FreecamMousePan",MousePan,false,INPUT_PRIORITY,Enum.UserInputType.MouseMovement)
8254
		end
8255
8256
		function Input.StopCapture()
8257
			navSpeed = 1
8258
			Zero(keyboard)
8259
			Zero(mouse)
8260
			ContextActionService:UnbindAction("FreecamKeyboard")
8261
			ContextActionService:UnbindAction("FreecamMousePan")
8262
		end
8263
	end
8264
end
8265
8266
function GetFocusDistance(cameraFrame)
8267
	local znear = 0.1
8268
	local viewport = Camera.ViewportSize
8269
	local projy = 2*math.tan(cameraFov/2)
8270
	local projx = viewport.x/viewport.y*projy
8271
	local fx = cameraFrame.rightVector
8272
	local fy = cameraFrame.upVector
8273
	local fz = cameraFrame.lookVector
8274
8275
	local minVect = Vector3.new()
8276
	local minDist = 512
8277
8278
	for x = 0, 1, 0.5 do
8279
		for y = 0, 1, 0.5 do
8280
			local cx = (x - 0.5)*projx
8281
			local cy = (y - 0.5)*projy
8282
			local offset = fx*cx - fy*cy + fz
8283
			local origin = cameraFrame.p + offset*znear
8284
			local _, hit = workspace:FindPartOnRay(Ray.new(origin, offset.unit*minDist))
8285
			local dist = (hit - origin).magnitude
8286
			if minDist > dist then
8287
				minDist = dist
8288
				minVect = offset.unit
8289
			end
8290
		end
8291
	end
8292
8293
	return fz:Dot(minVect)*minDist
8294
end
8295
8296
local function StepFreecam(dt)
8297
	local vel = velSpring:Update(dt, Input.Vel(dt))
8298
	local pan = panSpring:Update(dt, Input.Pan(dt))
8299
8300
	local zoomFactor = math.sqrt(math.tan(math.rad(70/2))/math.tan(math.rad(cameraFov/2)))
8301
8302
	cameraRot = cameraRot + pan*Vector2.new(0.75, 1)*8*(dt/zoomFactor)
8303
	cameraRot = Vector2.new(math.clamp(cameraRot.x, -math.rad(90), math.rad(90)), cameraRot.y%(2*math.pi))
8304
8305
	local cameraCFrame = CFrame.new(cameraPos)*CFrame.fromOrientation(cameraRot.x, cameraRot.y, 0)*CFrame.new(vel*Vector3.new(1, 1, 1)*64*dt)
8306
	cameraPos = cameraCFrame.p
8307
8308
	Camera.CFrame = cameraCFrame
8309
	Camera.Focus = cameraCFrame*CFrame.new(0, 0, -GetFocusDistance(cameraCFrame))
8310
	Camera.FieldOfView = cameraFov
8311
end
8312
8313
local PlayerState = {} do
8314
	mouseBehavior = ""
8315
	mouseIconEnabled = ""
8316
	cameraType = ""
8317
	cameraFocus = ""
8318
	cameraCFrame = ""
8319
	cameraFieldOfView = ""
8320
8321
	function PlayerState.Push()
8322
		cameraFieldOfView = Camera.FieldOfView
8323
		Camera.FieldOfView = 70
8324
8325
		cameraType = Camera.CameraType
8326
		Camera.CameraType = Enum.CameraType.Custom
8327
8328
		cameraCFrame = Camera.CFrame
8329
		cameraFocus = Camera.Focus
8330
8331
		mouseIconEnabled = UserInputService.MouseIconEnabled
8332
		UserInputService.MouseIconEnabled = true
8333
8334
		mouseBehavior = UserInputService.MouseBehavior
8335
		UserInputService.MouseBehavior = Enum.MouseBehavior.Default
8336
	end
8337
8338
	function PlayerState.Pop()
8339
		Camera.FieldOfView = 70
8340
8341
		Camera.CameraType = cameraType
8342
		cameraType = nil
8343
8344
		Camera.CFrame = cameraCFrame
8345
		cameraCFrame = nil
8346
8347
		Camera.Focus = cameraFocus
8348
		cameraFocus = nil
8349
8350
		UserInputService.MouseIconEnabled = mouseIconEnabled
8351
		mouseIconEnabled = nil
8352
8353
		UserInputService.MouseBehavior = mouseBehavior
8354
		mouseBehavior = nil
8355
	end
8356
end
8357
8358
function StartFreecam(pos)
8359
	if fcRunning then
8360
		StopFreecam()
8361
	end
8362
	local cameraCFrame = Camera.CFrame
8363
	if pos then
8364
		cameraCFrame = pos
8365
	end
8366
	cameraRot = Vector2.new()
8367
	cameraPos = cameraCFrame.p
8368
	cameraFov = Camera.FieldOfView
8369
8370
	velSpring:Reset(Vector3.new())
8371
	panSpring:Reset(Vector2.new())
8372
8373
	PlayerState.Push()
8374
	RunService:BindToRenderStep("Freecam", Enum.RenderPriority.Camera.Value, StepFreecam)
8375
	Input.StartCapture()
8376
	fcRunning = true
8377
end
8378
8379
function StopFreecam()
8380
	if not fcRunning then return end
8381
	Input.StopCapture()
8382
	RunService:UnbindFromRenderStep("Freecam")
8383
	PlayerState.Pop()
8384
	workspace.Camera.FieldOfView = 70
8385
	fcRunning = false
8386
end
8387
8388
addcmd('freecam',{'fc'},function(args, speaker)
8389
	StartFreecam()
8390
end)
8391
8392
addcmd('freecampos',{'fcpos','fcp','freecamposition','fcposition'},function(args, speaker)
8393
	if not args[1] then return end
8394
	local freecamPos = CFrame.new(args[1],args[2],args[3])
8395
	StartFreecam(freecamPos)
8396
end)
8397
8398
addcmd('freecamwaypoint',{'fcwp'},function(args, speaker)
8399
	local WPName = tostring(getstring(1))
8400
	if speaker.Character then
8401
		for i,_ in pairs(WayPoints) do
8402
			local x = WayPoints[i].COORD[1]
8403
			local y = WayPoints[i].COORD[2]
8404
			local z = WayPoints[i].COORD[3]
8405
			if tostring(WayPoints[i].NAME):lower() == tostring(WPName):lower() then
8406
				StartFreecam(CFrame.new(x,y,z))
8407
			end
8408
		end
8409
		for i,_ in pairs(pWayPoints) do
8410
			if tostring(pWayPoints[i].NAME):lower() == tostring(WPName):lower() then
8411
				StartFreecam(CFrame.new(pWayPoints[i].COORD[1].Position))
8412
			end
8413
		end
8414
	end
8415
end)
8416
8417
addcmd('freecamgoto',{'fcgoto','freecamtp','fctp'},function(args, speaker)
8418
	local players = getPlayer(args[1], speaker)
8419
	for i,v in pairs(players) do
8420
		StartFreecam(getRoot(Players[v].Character).CFrame)
8421
	end
8422
end)
8423
8424
addcmd('unfreecam',{'nofreecam','unfc','nofc'},function(args, speaker)
8425
	StopFreecam()
8426
end)
8427
8428
addcmd('freecamspeed',{'fcspeed'},function(args, speaker)
8429
	local FCspeed = args[1] or 1
8430
	if isNumber(FCspeed) then
8431
		NAV_KEYBOARD_SPEED = Vector3.new(FCspeed, FCspeed, FCspeed)
8432
	end
8433
end)
8434
8435
addcmd('notifyfreecamposition',{'notifyfcpos'},function(args, speaker)
8436
	if fcRunning then
8437
		local X,Y,Z = workspace.CurrentCamera.CFrame.Position.X,workspace.CurrentCamera.CFrame.Position.Y,workspace.CurrentCamera.CFrame.Position.Z
8438
		local Format, Round = string.format, math.round
8439
		notify("Current Position", Format("%s, %s, %s", Round(X), Round(Y), Round(Z)))
8440
	end
8441
end)
8442
8443
addcmd('copyfreecamposition',{'copyfcpos'},function(args, speaker)
8444
	if fcRunning then
8445
		local X,Y,Z = workspace.CurrentCamera.CFrame.Position.X,workspace.CurrentCamera.CFrame.Position.Y,workspace.CurrentCamera.CFrame.Position.Z
8446
		local Format, Round = string.format, math.round
8447
		toClipboard(Format("%s, %s, %s", Round(X), Round(Y), Round(Z)))
8448
	end
8449
end)
8450
8451
addcmd('gotocamera',{'gotocam','tocam'},function(args, speaker)
8452
	getRoot(speaker.Character).CFrame = workspace.Camera.CFrame
8453
end)
8454
8455
addcmd('tweengotocamera',{'tweengotocam','tgotocam','ttocam'},function(args, speaker)
8456
	TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = workspace.Camera.CFrame}):Play()
8457
end)
8458
8459
addcmd('fov',{},function(args, speaker)
8460
	local fov = args[1] or 70
8461
	if isNumber(fov) then
8462
		workspace.CurrentCamera.FieldOfView = fov
8463
	end
8464
end)
8465
8466
local preMaxZoom = Players.LocalPlayer.CameraMaxZoomDistance
8467
local preMinZoom = Players.LocalPlayer.CameraMinZoomDistance
8468
addcmd('lookat',{},function(args, speaker)
8469
	if speaker.CameraMaxZoomDistance ~= 0.5 then
8470
		preMaxZoom = speaker.CameraMaxZoomDistance
8471
		preMinZoom = speaker.CameraMinZoomDistance
8472
	end
8473
	speaker.CameraMaxZoomDistance = 0.5
8474
	speaker.CameraMinZoomDistance = 0.5
8475
	wait()
8476
	local players = getPlayer(args[1], speaker)
8477
	for i,v in pairs(players) do
8478
		local target = Players[v].Character
8479
		if target and target:FindFirstChild('Head') then
8480
			workspace.CurrentCamera.CFrame = CFrame.new(workspace.CurrentCamera.CFrame.p, target.Head.CFrame.p)
8481
			wait(0.1)
8482
		end
8483
	end
8484
	speaker.CameraMaxZoomDistance = preMaxZoom
8485
	speaker.CameraMinZoomDistance = preMinZoom
8486
end)
8487
8488
addcmd('fixcam',{'restorecam'},function(args, speaker)
8489
	StopFreecam()
8490
	execCmd('unview')
8491
	workspace.CurrentCamera:remove()
8492
	wait(.1)
8493
	repeat wait() until speaker.Character ~= nil
8494
	workspace.CurrentCamera.CameraSubject = speaker.Character:FindFirstChildWhichIsA('Humanoid')
8495
	workspace.CurrentCamera.CameraType = "Custom"
8496
	speaker.CameraMinZoomDistance = 0.5
8497
	speaker.CameraMaxZoomDistance = 400
8498
	speaker.CameraMode = "Classic"
8499
	speaker.Character.Head.Anchored = false
8500
end)
8501
8502
addcmd("enableshiftlock", {"enablesl", "shiftlock"}, function(args, speaker)
8503
    local function enableShiftlock() 
8504
        speaker.DevEnableMouseLock = true 
8505
    end
8506
    speaker:GetPropertyChangedSignal("DevEnableMouseLock"):Connect(enableShiftlock)
8507
    enableShiftlock()
8508
    notify("Shiftlock", "Shift lock should now be available")
8509
end)
8510
8511
addcmd('firstp',{},function(args, speaker)
8512
	speaker.CameraMode = "LockFirstPerson"
8513
end)
8514
8515
addcmd('thirdp',{},function(args, speaker)
8516
	speaker.CameraMode = "Classic"
8517
end)
8518
8519
addcmd('noclipcam', {'nccam'}, function(args, speaker)
8520
	local sc = (debug and debug.setconstant) or setconstant
8521
	local gc = (debug and debug.getconstants) or getconstants
8522
	if not sc or not getgc or not gc then
8523
		return notify('Incompatible Exploit', 'Your exploit does not support this command (missing setconstant or getconstants or getgc)')
8524
	end
8525
	local pop = speaker.PlayerScripts.PlayerModule.CameraModule.ZoomController.Popper
8526
	for _, v in pairs(getgc()) do
8527
		if type(v) == 'function' and getfenv(v).script == pop then
8528
			for i, v1 in pairs(gc(v)) do
8529
				if tonumber(v1) == .25 then
8530
					sc(v, i, 0)
8531
				elseif tonumber(v1) == 0 then
8532
					sc(v, i, .25)
8533
				end
8534
			end
8535
		end
8536
	end
8537
end)
8538
8539
addcmd('maxzoom',{},function(args, speaker)
8540
	speaker.CameraMaxZoomDistance = args[1]
8541
end)
8542
8543
addcmd('minzoom',{},function(args, speaker)
8544
	speaker.CameraMinZoomDistance = args[1]
8545
end)
8546
8547
addcmd('camdistance',{},function(args, speaker)
8548
	local camMax = speaker.CameraMaxZoomDistance
8549
	local camMin = speaker.CameraMinZoomDistance
8550
	if camMax < tonumber(args[1]) then
8551
		camMax = args[1]
8552
	end
8553
	speaker.CameraMaxZoomDistance = args[1]
8554
	speaker.CameraMinZoomDistance = args[1]
8555
	wait()
8556
	speaker.CameraMaxZoomDistance = camMax
8557
	speaker.CameraMinZoomDistance = camMin
8558
end)
8559
8560
addcmd('unlockws',{'unlockworkspace'},function(args, speaker)
8561
	for i,v in pairs(workspace:GetDescendants()) do
8562
		if v:IsA("BasePart") then
8563
			v.Locked = false
8564
		end
8565
	end
8566
end)
8567
8568
addcmd('lockws',{'lockworkspace'},function(args, speaker) 
8569
	for i,v in pairs(workspace:GetDescendants()) do
8570
		if v:IsA("BasePart") then
8571
			v.Locked = true
8572
		end
8573
	end
8574
end)
8575
8576
addcmd('delete',{'remove'},function(args, speaker)
8577
	for i,v in pairs(workspace:GetDescendants()) do
8578
		if v.Name:lower() == getstring(1):lower() then
8579
			v:Destroy()
8580
		end
8581
	end
8582
	notify('Item(s) Deleted','Deleted ' ..getstring(1))
8583
end)
8584
8585
addcmd('deleteclass',{'removeclass','deleteclassname','removeclassname','dc'},function(args, speaker)
8586
	for i,v in pairs(workspace:GetDescendants()) do
8587
		if v.ClassName:lower() == getstring(1):lower() then
8588
			v:Destroy()
8589
		end
8590
	end
8591
	notify('Item(s) Deleted','Deleted items with ClassName ' ..getstring(1))
8592
end)
8593
8594
addcmd('chardelete',{'charremove','cd'},function(args, speaker)
8595
	for i,v in pairs(speaker.Character:GetDescendants()) do
8596
		if v.Name:lower() == getstring(1):lower() then
8597
			v:Destroy()
8598
		end
8599
	end
8600
	notify('Item(s) Deleted','Deleted ' ..getstring(1))
8601
end)
8602
8603
addcmd('chardeleteclass',{'charremoveclass','chardeleteclassname','charremoveclassname','cdc'},function(args, speaker)
8604
	for i,v in pairs(speaker.Character:GetDescendants()) do
8605
		if v.ClassName:lower() == getstring(1):lower() then
8606
			v:Destroy()
8607
		end
8608
	end
8609
	notify('Item(s) Deleted','Deleted items with ClassName ' ..getstring(1))
8610
end)
8611
8612
addcmd('deletevelocity',{'dv','removevelocity','removeforces'},function(args, speaker)
8613
	for i,v in pairs(speaker.Character:GetDescendants()) do
8614
		if v:IsA("BodyVelocity") or v:IsA("BodyGyro") or v:IsA("RocketPropulsion") or v:IsA("BodyThrust") or v:IsA("BodyAngularVelocity") or v:IsA("AngularVelocity") or v:IsA("BodyForce") or v:IsA("VectorForce") or v:IsA("LineForce") then
8615
			v:Destroy()
8616
		end
8617
	end
8618
end)
8619
8620
addcmd('deleteinvisparts',{'deleteinvisibleparts','dip'},function(args, speaker)
8621
	for i,v in pairs(workspace:GetDescendants()) do
8622
		if v:IsA("BasePart") and v.Transparency == 1 and v.CanCollide then
8623
			v:Destroy()
8624
		end
8625
	end
8626
end)
8627
8628
local shownParts = {}
8629
addcmd('invisibleparts',{'invisparts'},function(args, speaker)
8630
	for i,v in pairs(workspace:GetDescendants()) do
8631
		if v:IsA("BasePart") and v.Transparency == 1 then
8632
			if not table.find(shownParts,v) then
8633
				table.insert(shownParts,v)
8634
			end
8635
			v.Transparency = 0
8636
		end
8637
	end
8638
end)
8639
8640
addcmd('uninvisibleparts',{'uninvisparts'},function(args, speaker)
8641
	for i,v in pairs(shownParts) do
8642
		v.Transparency = 1
8643
	end
8644
	shownParts = {}
8645
end)
8646
8647
addcmd('btools',{},function(args, speaker)
8648
	for i = 1, 4 do
8649
		local Tool = Instance.new("HopperBin")
8650
		Tool.BinType = i
8651
		Tool.Name = randomString()
8652
		Tool.Parent = speaker:FindFirstChildOfClass("Backpack")
8653
	end
8654
end)
8655
8656
addcmd('f3x',{'fex'},function(args, speaker)
8657
    loadstring(game:HttpGet("https://raw.githubusercontent.com/infyiff/backup/refs/heads/main/f3x.lua"))()
8658
end)
8659
8660
addcmd('partpath',{'partname'},function(args, speaker)
8661
	selectPart()
8662
end)
8663
8664
addcmd('antiafk',{'antiidle'},function(args, speaker)
8665
	local GC = getconnections or get_signal_cons
8666
	if GC then
8667
		for i,v in pairs(GC(Players.LocalPlayer.Idled)) do
8668
			if v["Disable"] then
8669
				v["Disable"](v)
8670
			elseif v["Disconnect"] then
8671
				v["Disconnect"](v)
8672
			end
8673
		end
8674
	else
8675
		local VirtualUser = cloneref(game:GetService("VirtualUser"))
8676
		Players.LocalPlayer.Idled:Connect(function()
8677
			VirtualUser:CaptureController()
8678
			VirtualUser:ClickButton2(Vector2.new())
8679
		end)
8680
	end
8681
	if not (args[1] and tostring(args[1]) == 'nonotify') then notify('Anti Idle','Anti idle is enabled') end
8682
end)
8683
8684
addcmd("datalimit", {}, function(args, speaker)
8685
    local kbps = tonumber(args[1])
8686
    if kbps then
8687
        local NetworkClient = cloneref(game:GetService("NetworkClient"))
8688
        NetworkClient:SetOutgoingKBPSLimit(kbps)
8689
    end
8690
end)
8691
8692
addcmd("replicationlag", {"backtrack"}, function(args, speaker)
8693
	if tonumber(args[1]) then
8694
		settings():GetService("NetworkSettings").IncomingReplicationLag = args[1]
8695
	end
8696
end)
8697
8698
addcmd("noprompts", {"nopurchaseprompts"}, function(args, speaker)
8699
	COREGUI.PurchasePromptApp.Enabled = false
8700
end)
8701
8702
addcmd("showprompts", {"showpurchaseprompts"}, function(args, speaker)
8703
	COREGUI.PurchasePromptApp.Enabled = true
8704
end)
8705
8706
promptNewRig = function(speaker, rig)
8707
	local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid")
8708
	if humanoid then
8709
		AvatarEditorService:PromptSaveAvatar(humanoid.HumanoidDescription, Enum.HumanoidRigType[rig])
8710
		local result = AvatarEditorService.PromptSaveAvatarCompleted:Wait()
8711
		if result == Enum.AvatarPromptResult.Success then
8712
			execCmd("reset")
8713
		end
8714
	end
8715
end
8716
8717
addcmd("promptr6", {}, function(args, speaker)
8718
	promptNewRig(speaker, "R6")
8719
end)
8720
8721
addcmd("promptr15", {}, function(args, speaker)
8722
	promptNewRig(speaker, "R15")
8723
end)
8724
8725
addcmd("wallwalk", {"walkonwalls"}, function(args, speaker)
8726
    loadstring(game:HttpGet("https://raw.githubusercontent.com/infyiff/backup/main/wallwalker.lua"))()
8727
end)
8728
8729
addcmd('age',{},function(args, speaker)
8730
	local players = getPlayer(args[1], speaker)
8731
	local ages = {}
8732
	for i,v in pairs(players) do
8733
		local p = Players[v]
8734
		table.insert(ages, p.Name.."'s age is: "..p.AccountAge)
8735
	end
8736
	notify('Account Age',table.concat(ages, ',\n'))
8737
end)
8738
8739
addcmd('chatage',{},function(args, speaker)
8740
	local players = getPlayer(args[1], speaker)
8741
	local ages = {}
8742
	for i,v in pairs(players) do
8743
		local p = Players[v]
8744
		table.insert(ages, p.Name.."'s age is: "..p.AccountAge)
8745
	end
8746
	local chatString = table.concat(ages, ', ')
8747
	chatMessage(chatString)
8748
end)
8749
8750
addcmd('joindate',{'jd'},function(args, speaker)
8751
	local players = getPlayer(args[1], speaker)
8752
	local dates = {}
8753
	notify("Loading",'Hold on a sec')
8754
	for i,v in pairs(players) do
8755
		local user = game:HttpGet("https://users.roblox.com/v1/users/"..Players[v].UserId)
8756
		local json = HttpService:JSONDecode(user)
8757
		local date = json["created"]:sub(1,10)
8758
		local splitDates = string.split(date,"-")
8759
		table.insert(dates,Players[v].Name.." joined: "..splitDates[2].."/"..splitDates[3].."/"..splitDates[1])
8760
	end
8761
	notify('Join Date (Month/Day/Year)',table.concat(dates, ',\n'))
8762
end)
8763
8764
addcmd('chatjoindate',{'cjd'},function(args, speaker)
8765
	local players = getPlayer(args[1], speaker)
8766
	local dates = {}
8767
	notify("Loading",'Hold on a sec')
8768
	for i,v in pairs(players) do
8769
		local user = game:HttpGet("https://users.roblox.com/v1/users/"..Players[v].UserId)
8770
		local json = HttpService:JSONDecode(user)
8771
		local date = json["created"]:sub(1,10)
8772
		local splitDates = string.split(date,"-")
8773
		table.insert(dates,Players[v].Name.." joined: "..splitDates[2].."/"..splitDates[3].."/"..splitDates[1])
8774
	end
8775
	local chatString = table.concat(dates, ', ')
8776
	chatMessage(chatString)
8777
end)
8778
8779
addcmd('copyname',{'copyuser'},function(args, speaker)
8780
	local players = getPlayer(args[1], speaker)
8781
	for i,v in pairs(players) do
8782
		local name = tostring(Players[v].Name)
8783
		toClipboard(name)
8784
	end
8785
end)
8786
8787
addcmd('userid',{'id'},function(args, speaker)
8788
	local players = getPlayer(args[1], speaker)
8789
	for i,v in pairs(players) do
8790
		local id = tostring(Players[v].UserId)
8791
		notify('User ID',id)
8792
	end
8793
end)
8794
8795
addcmd('copyid',{'copyuserid'},function(args, speaker)
8796
	local players = getPlayer(args[1], speaker)
8797
	for i,v in pairs(players) do
8798
		local id = tostring(Players[v].UserId)
8799
		toClipboard(id)
8800
	end
8801
end)
8802
8803
addcmd('creatorid',{'creator'},function(args, speaker)
8804
	if game.CreatorType == Enum.CreatorType.User then
8805
		notify('Creator ID',game.CreatorId)
8806
	elseif game.CreatorType == Enum.CreatorType.Group then
8807
		local OwnerID = GroupService:GetGroupInfoAsync(game.CreatorId).Owner.Id
8808
		speaker.UserId = OwnerID
8809
		notify('Creator ID',OwnerID)
8810
	end
8811
end)
8812
8813
addcmd('copycreatorid',{'copycreator'},function(args, speaker)
8814
	if game.CreatorType == Enum.CreatorType.User then
8815
		toClipboard(game.CreatorId)
8816
		notify('Copied ID','Copied creator ID to clipboard')
8817
	elseif game.CreatorType == Enum.CreatorType.Group then
8818
		local OwnerID = GroupService:GetGroupInfoAsync(game.CreatorId).Owner.Id
8819
		toClipboard(OwnerID)
8820
		notify('Copied ID','Copied creator ID to clipboard')
8821
	end
8822
end)
8823
8824
addcmd('setcreatorid',{'setcreator'},function(args, speaker)
8825
	if game.CreatorType == Enum.CreatorType.User then
8826
		speaker.UserId = game.CreatorId
8827
		notify('Set ID','Set UserId to '..game.CreatorId)
8828
	elseif game.CreatorType == Enum.CreatorType.Group then
8829
		local OwnerID = GroupService:GetGroupInfoAsync(game.CreatorId).Owner.Id
8830
		speaker.UserId = OwnerID
8831
		notify('Set ID','Set UserId to '..OwnerID)
8832
	end
8833
end)
8834
8835
addcmd('appearanceid',{'aid'},function(args, speaker)
8836
	local players = getPlayer(args[1], speaker)
8837
	for i,v in pairs(players) do
8838
		local aid = tostring(Players[v].CharacterAppearanceId)
8839
		notify('Appearance ID',aid)
8840
	end
8841
end)
8842
8843
addcmd('copyappearanceid',{'caid'},function(args, speaker)
8844
	local players = getPlayer(args[1], speaker)
8845
	for i,v in pairs(players) do
8846
		local aid = tostring(Players[v].CharacterAppearanceId)
8847
		toClipboard(aid)
8848
	end
8849
end)
8850
8851
addcmd('norender',{},function(args, speaker)
8852
	RunService:Set3dRenderingEnabled(false)
8853
end)
8854
8855
addcmd('render',{},function(args, speaker)
8856
	RunService:Set3dRenderingEnabled(true)
8857
end)
8858
8859
addcmd('2022materials',{'use2022materials'},function(args, speaker)
8860
	if sethidden then
8861
		sethidden(MaterialService, "Use2022Materials", true)
8862
	else
8863
		notify('Incompatible Exploit','Your exploit does not support this command (missing sethiddenproperty)')
8864
	end
8865
end)
8866
8867
addcmd('un2022materials',{'unuse2022materials'},function(args, speaker)
8868
	if sethidden then
8869
		sethidden(MaterialService, "Use2022Materials", false)
8870
	else
8871
		notify('Incompatible Exploit','Your exploit does not support this command (missing sethiddenproperty)')
8872
	end
8873
end)
8874
8875
addcmd('goto',{'to'},function(args, speaker)
8876
	local players = getPlayer(args[1], speaker)
8877
	for i,v in pairs(players)do
8878
		if Players[v].Character ~= nil then
8879
			if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
8880
				speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
8881
				wait(.1)
8882
			end
8883
			getRoot(speaker.Character).CFrame = getRoot(Players[v].Character).CFrame + Vector3.new(3,1,0)
8884
		end
8885
	end
8886
	execCmd('breakvelocity')
8887
end)
8888
8889
addcmd('tweengoto',{'tgoto','tto','tweento'},function(args, speaker)
8890
	local players = getPlayer(args[1], speaker)
8891
	for i,v in pairs(players)do
8892
		if Players[v].Character ~= nil then
8893
			if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
8894
				speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
8895
				wait(.1)
8896
			end
8897
			TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = getRoot(Players[v].Character).CFrame + Vector3.new(3,1,0)}):Play()
8898
		end
8899
	end
8900
	execCmd('breakvelocity')
8901
end)
8902
8903
addcmd('vehiclegoto',{'vgoto','vtp','vehicletp'},function(args, speaker)
8904
	local players = getPlayer(args[1], speaker)
8905
	for i,v in pairs(players)do
8906
		if Players[v].Character ~= nil then
8907
			local seat = speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart
8908
			local vehicleModel = seat:FindFirstAncestorWhichIsA("Model")
8909
			vehicleModel:MoveTo(getRoot(Players[v].Character).Position)
8910
		end
8911
	end
8912
end)
8913
8914
addcmd('pulsetp',{'ptp'},function(args, speaker)
8915
	local players = getPlayer(args[1], speaker)
8916
	for i,v in pairs(players)do
8917
		if Players[v].Character ~= nil then
8918
			local startPos = getRoot(speaker.Character).CFrame
8919
			local seconds = args[2] or 1
8920
			if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
8921
				speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
8922
				wait(.1)
8923
			end
8924
			getRoot(speaker.Character).CFrame = getRoot(Players[v].Character).CFrame + Vector3.new(3,1,0)
8925
			wait(seconds)
8926
			getRoot(speaker.Character).CFrame = startPos
8927
		end
8928
	end
8929
	execCmd('breakvelocity')
8930
end)
8931
8932
local vnoclipParts = {}
8933
addcmd('vehiclenoclip',{'vnoclip'},function(args, speaker)
8934
	vnoclipParts = {}
8935
	local seat = speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart
8936
	local vehicleModel = seat.Parent
8937
	repeat
8938
		if vehicleModel.ClassName ~= "Model" then
8939
			vehicleModel = vehicleModel.Parent
8940
		end
8941
	until vehicleModel.ClassName == "Model"
8942
	wait(0.1)
8943
	execCmd('noclip')
8944
	for i,v in pairs(vehicleModel:GetDescendants()) do
8945
		if v:IsA("BasePart") and v.CanCollide then
8946
			table.insert(vnoclipParts,v)
8947
			v.CanCollide = false
8948
		end
8949
	end
8950
end)
8951
8952
addcmd("vehicleclip", {"vclip", "unvnoclip", "unvehiclenoclip"}, function(args, speaker)
8953
	execCmd("clip")
8954
	for i, v in pairs(vnoclipParts) do
8955
		v.CanCollide = true
8956
	end
8957
	vnoclipParts = {}
8958
end)
8959
8960
addcmd("togglevnoclip", {}, function(args, speaker)
8961
	execCmd(Clip and "vnoclip" or "vclip")
8962
end)
8963
8964
addcmd('clientbring',{'cbring'},function(args, speaker)
8965
	local players = getPlayer(args[1], speaker)
8966
	for i,v in pairs(players)do
8967
		if Players[v].Character ~= nil then
8968
			if Players[v].Character:FindFirstChildOfClass('Humanoid') then
8969
				Players[v].Character:FindFirstChildOfClass('Humanoid').Sit = false
8970
			end
8971
			wait()
8972
			getRoot(Players[v].Character).CFrame = getRoot(speaker.Character).CFrame + Vector3.new(3,1,0)
8973
		end
8974
	end
8975
end)
8976
8977
local bringT = {}
8978
addcmd('loopbring',{},function(args, speaker)
8979
	local players = getPlayer(args[1], speaker)
8980
	for i,v in pairs(players)do
8981
		task.spawn(function()
8982
			if Players[v].Name ~= speaker.Name and not FindInTable(bringT, Players[v].Name) then
8983
				table.insert(bringT, Players[v].Name)
8984
				local plrName = Players[v].Name
8985
				local pchar=Players[v].Character
8986
				local distance = 3
8987
				if args[2] and isNumber(args[2]) then
8988
					distance = args[2]
8989
				end
8990
				local lDelay = 0
8991
				if args[3] and isNumber(args[3]) then
8992
					lDelay = args[3]
8993
				end
8994
				repeat
8995
					for i,c in pairs(players) do
8996
						if Players:FindFirstChild(v) then
8997
							pchar = Players[v].Character
8998
							if pchar~= nil and Players[v].Character ~= nil and getRoot(pchar) and speaker.Character ~= nil and getRoot(speaker.Character) then
8999
								getRoot(pchar).CFrame = getRoot(speaker.Character).CFrame + Vector3.new(distance,1,0)
9000
							end
9001
							wait(lDelay)
9002
						else 
9003
							for a,b in pairs(bringT) do if b == plrName then table.remove(bringT, a) end end
9004
						end
9005
					end
9006
				until not FindInTable(bringT, plrName)
9007
			end
9008
		end)
9009
	end
9010
end)
9011
9012
addcmd('unloopbring',{'noloopbring'},function(args, speaker)
9013
	local players = getPlayer(args[1], speaker)
9014
	for i,v in pairs(players)do
9015
		task.spawn(function()
9016
			for a,b in pairs(bringT) do if b == Players[v].Name then table.remove(bringT, a) end end
9017
		end)
9018
	end
9019
end)
9020
9021
local walkto = false
9022
local waypointwalkto = false
9023
addcmd('walkto',{'follow'},function(args, speaker)
9024
	local players = getPlayer(args[1], speaker)
9025
	for i,v in pairs(players)do
9026
		if Players[v].Character ~= nil then
9027
			if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
9028
				speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
9029
				wait(.1)
9030
			end
9031
			walkto = true
9032
			repeat wait()
9033
				speaker.Character:FindFirstChildOfClass('Humanoid'):MoveTo(getRoot(Players[v].Character).Position)
9034
			until Players[v].Character == nil or not getRoot(Players[v].Character) or walkto == false
9035
		end
9036
	end
9037
end)
9038
9039
addcmd('pathfindwalkto',{'pathfindfollow'},function(args, speaker)
9040
	walkto = false
9041
	wait()
9042
	local players = getPlayer(args[1], speaker)
9043
	local hum = Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
9044
	local path = PathService:CreatePath()
9045
	for i,v in pairs(players)do
9046
		if Players[v].Character ~= nil then
9047
			if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
9048
				speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
9049
				wait(.1)
9050
			end
9051
			walkto = true
9052
			repeat wait()
9053
				local success, response = pcall(function()
9054
					path:ComputeAsync(getRoot(speaker.Character).Position, getRoot(Players[v].Character).Position)
9055
					local waypoints = path:GetWaypoints()
9056
					local distance 
9057
					for waypointIndex, waypoint in pairs(waypoints) do
9058
						local waypointPosition = waypoint.Position
9059
						hum:MoveTo(waypointPosition)
9060
						repeat 
9061
							distance = (waypointPosition - hum.Parent.PrimaryPart.Position).magnitude
9062
							wait()
9063
						until
9064
						distance <= 5
9065
					end	 
9066
				end)
9067
				if not success then
9068
					speaker.Character:FindFirstChildOfClass('Humanoid'):MoveTo(getRoot(Players[v].Character).Position)
9069
				end
9070
			until Players[v].Character == nil or not getRoot(Players[v].Character) or walkto == false
9071
		end
9072
	end
9073
end)
9074
9075
addcmd('pathfindwalktowaypoint',{'pathfindwalktowp'},function(args, speaker)
9076
	waypointwalkto = false
9077
	wait()
9078
	local WPName = tostring(getstring(1))
9079
	local hum = Players.LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
9080
	local path = PathService:CreatePath()
9081
	if speaker.Character then
9082
		for i,_ in pairs(WayPoints) do
9083
			if tostring(WayPoints[i].NAME):lower() == tostring(WPName):lower() then
9084
				if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
9085
					speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
9086
					wait(.1)
9087
				end
9088
				local TrueCoords = Vector3.new(WayPoints[i].COORD[1], WayPoints[i].COORD[2], WayPoints[i].COORD[3])
9089
				waypointwalkto = true
9090
				repeat wait()
9091
					local success, response = pcall(function()
9092
						path:ComputeAsync(getRoot(speaker.Character).Position, TrueCoords)
9093
						local waypoints = path:GetWaypoints()
9094
						local distance 
9095
						for waypointIndex, waypoint in pairs(waypoints) do
9096
							local waypointPosition = waypoint.Position
9097
							hum:MoveTo(waypointPosition)
9098
							repeat 
9099
								distance = (waypointPosition - hum.Parent.PrimaryPart.Position).magnitude
9100
								wait()
9101
							until
9102
							distance <= 5
9103
						end
9104
					end)
9105
					if not success then
9106
						speaker.Character:FindFirstChildOfClass('Humanoid'):MoveTo(TrueCoords)
9107
					end
9108
				until not speaker.Character or waypointwalkto == false
9109
			end
9110
		end
9111
		for i,_ in pairs(pWayPoints) do
9112
			if tostring(pWayPoints[i].NAME):lower() == tostring(WPName):lower() then
9113
				if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
9114
					speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
9115
					wait(.1)
9116
				end
9117
				local TrueCoords = pWayPoints[i].COORD[1].Position
9118
				waypointwalkto = true
9119
				repeat wait()
9120
					local success, response = pcall(function()
9121
						path:ComputeAsync(getRoot(speaker.Character).Position, TrueCoords)
9122
						local waypoints = path:GetWaypoints()
9123
						local distance 
9124
						for waypointIndex, waypoint in pairs(waypoints) do
9125
							local waypointPosition = waypoint.Position
9126
							hum:MoveTo(waypointPosition)
9127
							repeat 
9128
								distance = (waypointPosition - hum.Parent.PrimaryPart.Position).magnitude
9129
								wait()
9130
							until
9131
							distance <= 5
9132
						end
9133
					end)
9134
					if not success then
9135
						speaker.Character:FindFirstChildOfClass('Humanoid'):MoveTo(TrueCoords)
9136
					end
9137
				until not speaker.Character or waypointwalkto == false
9138
			end
9139
		end
9140
	end
9141
end)
9142
9143
addcmd('unwalkto',{'nowalkto','unfollow','nofollow'},function(args, speaker)
9144
	walkto = false
9145
	waypointwalkto = false
9146
end)
9147
9148
addcmd("orbit", {}, function(args, speaker)
9149
    execCmd("unorbit nonotify")
9150
    local target = Players:FindFirstChild(getPlayer(args[1], speaker)[1])
9151
    local root = getRoot(speaker.Character)
9152
    local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid")
9153
    if target and target.Character and getRoot(target.Character) and root and humanoid then
9154
        local rotation = 0
9155
        local speed = tonumber(args[2]) or 0.2
9156
        local distance = tonumber(args[3]) or 6
9157
        orbit1 = RunService.Heartbeat:Connect(function()
9158
            pcall(function()
9159
                rotation = rotation + speed
9160
                root.CFrame = CFrame.new(getRoot(target.Character).Position) * CFrame.Angles(0, math.rad(rotation), 0) * CFrame.new(distance, 0, 0)
9161
            end)
9162
        end)
9163
        orbit2 = RunService.RenderStepped:Connect(function()
9164
            pcall(function()
9165
                root.CFrame = CFrame.new(root.Position, getRoot(target.Character).Position)
9166
            end)
9167
        end)
9168
        orbit3 = humanoid.Died:Connect(function() execCmd("unorbit") end)
9169
        orbit4 = humanoid.Seated:Connect(function(value) if value then execCmd("unorbit") end end)
9170
        notify("Orbit", "Started orbiting " .. formatUsername(target))
9171
    end
9172
end)
9173
9174
addcmd("unorbit", {}, function(args, speaker)
9175
    if orbit1 then orbit1:Disconnect() end
9176
    if orbit2 then orbit2:Disconnect() end
9177
    if orbit3 then orbit3:Disconnect() end
9178
    if orbit4 then orbit4:Disconnect() end
9179
    if args[1] ~= "nonotify" then notify("Orbit", "Stopped orbiting player") end
9180
end)
9181
9182
addcmd('freeze',{'fr'},function(args, speaker)
9183
	local players = getPlayer(args[1], speaker)
9184
	if players ~= nil then
9185
		for i,v in pairs(players) do
9186
			task.spawn(function()
9187
				for i, x in next, Players[v].Character:GetDescendants() do
9188
					if x:IsA("BasePart") and not x.Anchored then
9189
						x.Anchored = true
9190
					end
9191
				end
9192
			end)
9193
		end
9194
	end
9195
end)
9196
9197
9198
addcmd('thaw',{'unfreeze','unfr'},function(args, speaker)
9199
	local players = getPlayer(args[1], speaker)
9200
	if players ~= nil then
9201
		for i,v in pairs(players) do
9202
			task.spawn(function()
9203
				for i, x in next, Players[v].Character:GetDescendants() do
9204
					if x.Name ~= floatName and x:IsA("BasePart") and x.Anchored then
9205
						x.Anchored = false
9206
					end
9207
				end
9208
			end)
9209
		end
9210
	end
9211
end)
9212
9213
oofing = false
9214
addcmd('loopoof',{},function(args, speaker)
9215
	oofing = true
9216
	repeat wait(0.1)
9217
		for i,v in pairs(Players:GetPlayers()) do
9218
			if v.Character ~= nil and v.Character:FindFirstChild'Head' then
9219
				for _,x in pairs(v.Character.Head:GetChildren()) do
9220
					if x:IsA'Sound' then x.Playing = true end
9221
				end
9222
			end
9223
		end
9224
	until oofing == false
9225
end)
9226
9227
addcmd('unloopoof',{},function(args, speaker)
9228
	oofing = false
9229
end)
9230
9231
local notifiedRespectFiltering = false
9232
addcmd('muteboombox',{},function(args, speaker)
9233
	if not notifiedRespectFiltering and SoundService.RespectFilteringEnabled then notifiedRespectFiltering = true notify('RespectFilteringEnabled','RespectFilteringEnabled is set to true (the command will still work but may only be clientsided)') end
9234
	local players = getPlayer(args[1], speaker)
9235
	if players ~= nil then
9236
		for i,v in pairs(players) do
9237
			task.spawn(function()
9238
				for i, x in next, Players[v].Character:GetDescendants() do
9239
					if x:IsA("Sound") and x.Playing == true then
9240
						x.Playing = false
9241
					end
9242
				end
9243
				for i, x in next, Players[v]:FindFirstChildOfClass("Backpack"):GetDescendants() do
9244
					if x:IsA("Sound") and x.Playing == true then
9245
						x.Playing = false
9246
					end
9247
				end
9248
			end)
9249
		end
9250
	end
9251
end)
9252
9253
addcmd('unmuteboombox',{},function(args, speaker)
9254
	if not notifiedRespectFiltering and SoundService.RespectFilteringEnabled then notifiedRespectFiltering = true notify('RespectFilteringEnabled','RespectFilteringEnabled is set to true (the command will still work but may only be clientsided)') end
9255
	local players = getPlayer(args[1], speaker)
9256
	if players ~= nil then
9257
		for i,v in pairs(players) do
9258
			task.spawn(function()
9259
				for i, x in next, Players[v].Character:GetDescendants() do
9260
					if x:IsA("Sound") and x.Playing == false then
9261
						x.Playing = true
9262
					end
9263
				end
9264
			end)
9265
		end
9266
	end
9267
end)
9268
9269
addcmd("reset", {}, function(args, speaker)
9270
    local humanoid = speaker.Character and speaker.Character:FindFirstChildWhichIsA("Humanoid")
9271
    if replicatesignal then
9272
        replicatesignal(speaker.Kill)
9273
    elseif humanoid then
9274
        humanoid:ChangeState(Enum.HumanoidStateType.Dead)
9275
    else
9276
        speaker.Character:BreakJoints()
9277
    end
9278
end)
9279
9280
addcmd('freezeanims',{},function(args, speaker)
9281
	local Humanoid = speaker.Character:FindFirstChildOfClass("Humanoid") or speaker.Character:FindFirstChildOfClass("AnimationController")
9282
	local ActiveTracks = Humanoid:GetPlayingAnimationTracks()
9283
	for _, v in pairs(ActiveTracks) do
9284
		v:AdjustSpeed(0)
9285
	end
9286
end)
9287
9288
addcmd('unfreezeanims',{},function(args, speaker)
9289
	local Humanoid = speaker.Character:FindFirstChildOfClass("Humanoid") or speaker.Character:FindFirstChildOfClass("AnimationController")
9290
	local ActiveTracks = Humanoid:GetPlayingAnimationTracks()
9291
	for _, v in pairs(ActiveTracks) do
9292
		v:AdjustSpeed(1)
9293
	end
9294
end)
9295
9296
addcmd("respawn", {}, function(args, speaker)
9297
    respawn(speaker)
9298
end)
9299
9300
addcmd("refresh", {"re"}, function(args, speaker)
9301
    refresh(speaker)
9302
end)
9303
9304
addcmd("god", {}, function(args, speaker)
9305
    permadeath(speaker)
9306
    local Cam = workspace.CurrentCamera
9307
    local Char, Pos = speaker.Character, Cam.CFrame
9308
    local Human = Char and Char:FindFirstChildWhichIsA("Humanoid")
9309
    local nHuman = Human:Clone()
9310
    nHuman.Parent = char
9311
    speaker.Character = nil
9312
    nHuman:SetStateEnabled(15, false)
9313
    nHuman:SetStateEnabled(1, false)
9314
    nHuman:SetStateEnabled(0, false)
9315
    nHuman.BreakJointsOnDeath = true
9316
    Human:Destroy()
9317
    speaker.Character = char
9318
    Cam.CameraSubject = nHuman
9319
    Cam.CFrame = task.wait() and pos
9320
    nHuman.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
9321
    local Script = Char:FindFirstChild("Animate")
9322
    if Script then
9323
        Script.Disabled = true
9324
        task.wait()
9325
        Script.Disabled = false
9326
    end
9327
    nHuman.Health = nHuman.MaxHealth
9328
end)
9329
9330
invisRunning = false
9331
addcmd('invisible',{'invis'},function(args, speaker)
9332
	if invisRunning then return end
9333
	invisRunning = true
9334
	-- Full credit to AmokahFox @V3rmillion
9335
	local Player = speaker
9336
	repeat wait(.1) until Player.Character
9337
	local Character = Player.Character
9338
	Character.Archivable = true
9339
	local IsInvis = false
9340
	local IsRunning = true
9341
	local InvisibleCharacter = Character:Clone()
9342
	InvisibleCharacter.Parent = Lighting
9343
	local Void = workspace.FallenPartsDestroyHeight
9344
	InvisibleCharacter.Name = ""
9345
	local CF
9346
9347
	local invisFix = RunService.Stepped:Connect(function()
9348
		pcall(function()
9349
			local IsInteger
9350
			if tostring(Void):find'-' then
9351
				IsInteger = true
9352
			else
9353
				IsInteger = false
9354
			end
9355
			local Pos = Player.Character.HumanoidRootPart.Position
9356
			local Pos_String = tostring(Pos)
9357
			local Pos_Seperate = Pos_String:split(', ')
9358
			local X = tonumber(Pos_Seperate[1])
9359
			local Y = tonumber(Pos_Seperate[2])
9360
			local Z = tonumber(Pos_Seperate[3])
9361
			if IsInteger == true then
9362
				if Y <= Void then
9363
					Respawn()
9364
				end
9365
			elseif IsInteger == false then
9366
				if Y >= Void then
9367
					Respawn()
9368
				end
9369
			end
9370
		end)
9371
	end)
9372
9373
	for i,v in pairs(InvisibleCharacter:GetDescendants())do
9374
		if v:IsA("BasePart") then
9375
			if v.Name == "HumanoidRootPart" then
9376
				v.Transparency = 1
9377
			else
9378
				v.Transparency = .5
9379
			end
9380
		end
9381
	end
9382
9383
	function Respawn()
9384
		IsRunning = false
9385
		if IsInvis == true then
9386
			pcall(function()
9387
				Player.Character = Character
9388
				wait()
9389
				Character.Parent = workspace
9390
				Character:FindFirstChildWhichIsA'Humanoid':Destroy()
9391
				IsInvis = false
9392
				InvisibleCharacter.Parent = nil
9393
				invisRunning = false
9394
			end)
9395
		elseif IsInvis == false then
9396
			pcall(function()
9397
				Player.Character = Character
9398
				wait()
9399
				Character.Parent = workspace
9400
				Character:FindFirstChildWhichIsA'Humanoid':Destroy()
9401
				TurnVisible()
9402
			end)
9403
		end
9404
	end
9405
9406
	local invisDied
9407
	invisDied = InvisibleCharacter:FindFirstChildOfClass'Humanoid'.Died:Connect(function()
9408
		Respawn()
9409
		invisDied:Disconnect()
9410
	end)
9411
9412
	if IsInvis == true then return end
9413
	IsInvis = true
9414
	CF = workspace.CurrentCamera.CFrame
9415
	local CF_1 = Player.Character.HumanoidRootPart.CFrame
9416
	Character:MoveTo(Vector3.new(0,math.pi*1000000,0))
9417
	workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
9418
	wait(.2)
9419
	workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
9420
	InvisibleCharacter = InvisibleCharacter
9421
	Character.Parent = Lighting
9422
	InvisibleCharacter.Parent = workspace
9423
	InvisibleCharacter.HumanoidRootPart.CFrame = CF_1
9424
	Player.Character = InvisibleCharacter
9425
	execCmd('fixcam')
9426
	Player.Character.Animate.Disabled = true
9427
	Player.Character.Animate.Disabled = false
9428
9429
	function TurnVisible()
9430
		if IsInvis == false then return end
9431
		invisFix:Disconnect()
9432
		invisDied:Disconnect()
9433
		CF = workspace.CurrentCamera.CFrame
9434
		Character = Character
9435
		local CF_1 = Player.Character.HumanoidRootPart.CFrame
9436
		Character.HumanoidRootPart.CFrame = CF_1
9437
		InvisibleCharacter:Destroy()
9438
		Player.Character = Character
9439
		Character.Parent = workspace
9440
		IsInvis = false
9441
		Player.Character.Animate.Disabled = true
9442
		Player.Character.Animate.Disabled = false
9443
		invisDied = Character:FindFirstChildOfClass'Humanoid'.Died:Connect(function()
9444
			Respawn()
9445
			invisDied:Disconnect()
9446
		end)
9447
		invisRunning = false
9448
	end
9449
	notify('Invisible','You now appear invisible to other players')
9450
end)
9451
9452
addcmd("visible", {"vis","uninvisible"}, function(args, speaker)
9453
	TurnVisible()
9454
end)
9455
9456
addcmd("toggleinvis", {}, function(args, speaker)
9457
	execCmd(invisRunning and "visible" or "invisible")
9458
end)
9459
9460
addcmd('toolinvisible',{'toolinvis','tinvis'},function(args, speaker)
9461
	local Char  = Players.LocalPlayer.Character
9462
	local touched = false
9463
	local tpdback = false
9464
	local box = Instance.new('Part')
9465
	box.Anchored = true
9466
	box.CanCollide = true
9467
	box.Size = Vector3.new(10,1,10)
9468
	box.Position = Vector3.new(0,10000,0)
9469
	box.Parent = workspace
9470
	local boxTouched = box.Touched:connect(function(part)
9471
		if (part.Parent.Name == Players.LocalPlayer.Name) then
9472
			if touched == false then
9473
				touched = true
9474
				local function apply()
9475
					local no = Char.HumanoidRootPart:Clone()
9476
					wait(.25)
9477
					Char.HumanoidRootPart:Destroy()
9478
					no.Parent = Char
9479
					Char:MoveTo(loc)
9480
					touched = false
9481
				end
9482
				if Char then
9483
					apply()
9484
				end
9485
			end
9486
		end
9487
	end)
9488
	repeat wait() until Char
9489
	local cleanUp
9490
	cleanUp = Players.LocalPlayer.CharacterAdded:connect(function(char)
9491
		boxTouched:Disconnect()
9492
		box:Destroy()
9493
		cleanUp:Disconnect()
9494
	end)
9495
	loc = Char.HumanoidRootPart.Position
9496
	Char:MoveTo(box.Position + Vector3.new(0,.5,0))
9497
end)
9498
9499
addcmd("strengthen", {}, function(args, speaker)
9500
	for _, child in pairs(speaker.Character:GetDescendants()) do
9501
		if child.ClassName == "Part" then
9502
			if args[1] then
9503
				child.CustomPhysicalProperties = PhysicalProperties.new(args[1], 0.3, 0.5)
9504
			else
9505
				child.CustomPhysicalProperties = PhysicalProperties.new(100, 0.3, 0.5)
9506
			end
9507
		end
9508
	end
9509
end)
9510
9511
addcmd("weaken", {}, function(args, speaker)
9512
	for _, child in pairs(speaker.Character:GetDescendants()) do
9513
		if child.ClassName == "Part" then
9514
			if args[1] then
9515
				child.CustomPhysicalProperties = PhysicalProperties.new(-args[1], 0.3, 0.5)
9516
			else
9517
				child.CustomPhysicalProperties = PhysicalProperties.new(0, 0.3, 0.5)
9518
			end
9519
		end
9520
	end
9521
end)
9522
9523
addcmd("unweaken", {"unstrengthen"}, function(args, speaker)
9524
	for _, child in pairs(speaker.Character:GetDescendants()) do
9525
		if child.ClassName == "Part" then
9526
			child.CustomPhysicalProperties = PhysicalProperties.new(0.7, 0.3, 0.5)
9527
		end
9528
	end
9529
end)
9530
9531
addcmd("breakvelocity", {}, function(args, speaker)
9532
	local BeenASecond, V3 = false, Vector3.new(0, 0, 0)
9533
	delay(1, function()
9534
		BeenASecond = true
9535
	end)
9536
	while not BeenASecond do
9537
		for _, v in ipairs(speaker.Character:GetDescendants()) do
9538
			if v:IsA("BasePart") then
9539
				v.Velocity, v.RotVelocity = V3, V3
9540
			end
9541
		end
9542
		wait()
9543
	end
9544
end)
9545
9546
addcmd('jpower',{'jumppower','jp'},function(args, speaker)
9547
	local jpower = args[1] or 50
9548
	if isNumber(jpower) then
9549
		if speaker.Character:FindFirstChildOfClass('Humanoid').UseJumpPower then
9550
			speaker.Character:FindFirstChildOfClass('Humanoid').JumpPower = jpower
9551
		else
9552
			speaker.Character:FindFirstChildOfClass('Humanoid').JumpHeight  = jpower
9553
		end
9554
	end
9555
end)
9556
9557
addcmd("maxslopeangle", {"msa"}, function(args, speaker)
9558
	local sangle = args[1] or 89
9559
	if isNumber(sangle) then
9560
		speaker.Character:FindFirstChildWhichIsA("Humanoid").MaxSlopeAngle = sangle
9561
	end
9562
end)
9563
9564
addcmd("gravity", {"grav"}, function(args, speaker)
9565
	local grav = args[1] or 196.2
9566
	if isNumber(grav) then
9567
		workspace.Gravity = grav
9568
	end
9569
end)
9570
9571
addcmd("hipheight", {"hheight"}, function(args, speaker)
9572
    local hipHeight = args[1] or (r15(speaker) and 2.1 or 0)
9573
    if isNumber(hipHeight) then
9574
        speaker.Character:FindFirstChildWhichIsA("Humanoid").HipHeight = hipHeight
9575
    end
9576
end)
9577
9578
addcmd("dance", {}, function(args, speaker)
9579
	pcall(execCmd, "undance")
9580
	local dances = {"27789359", "30196114", "248263260", "45834924", "33796059", "28488254", "52155728"}
9581
	if r15(speaker) then
9582
		dances = {"3333432454", "4555808220", "4049037604", "4555782893", "10214311282", "10714010337", "10713981723", "10714372526", "10714076981", "10714392151", "11444443576"}
9583
	end
9584
	local animation = Instance.new("Animation")
9585
	animation.AnimationId = "rbxassetid://" .. dances[math.random(1, #dances)]
9586
	danceTrack = speaker.Character:FindFirstChildWhichIsA("Humanoid"):LoadAnimation(animation)
9587
	danceTrack.Looped = true
9588
	danceTrack:Play()
9589
end)
9590
9591
addcmd("undance", {"nodance"}, function(args, speaker)
9592
	danceTrack:Stop()
9593
	danceTrack:Destroy()
9594
end)
9595
9596
addcmd('nolimbs',{'rlimbs'},function(args, speaker)
9597
	if r15(speaker) then
9598
		for i,v in pairs(speaker.Character:GetChildren()) do
9599
			if v:IsA("BasePart") and
9600
				v.Name == "RightUpperLeg" or
9601
				v.Name == "LeftUpperLeg" or
9602
				v.Name == "RightUpperArm" or
9603
				v.Name == "LeftUpperArm" then
9604
				v:Destroy()
9605
			end
9606
		end
9607
	else
9608
		for i,v in pairs(speaker.Character:GetChildren()) do
9609
			if v:IsA("BasePart") and
9610
				v.Name == "Right Leg" or
9611
				v.Name == "Left Leg" or
9612
				v.Name == "Right Arm" or
9613
				v.Name == "Left Arm" then
9614
				v:Destroy()
9615
			end
9616
		end
9617
	end
9618
end)
9619
9620
addcmd('noarms',{'rarms'},function(args, speaker)
9621
	if r15(speaker) then
9622
		for i,v in pairs(speaker.Character:GetChildren()) do
9623
			if v:IsA("BasePart") and
9624
				v.Name == "RightUpperArm" or
9625
				v.Name == "LeftUpperArm" then
9626
				v:Destroy()
9627
			end
9628
		end
9629
	else
9630
		for i,v in pairs(speaker.Character:GetChildren()) do
9631
			if v:IsA("BasePart") and
9632
				v.Name == "Right Arm" or
9633
				v.Name == "Left Arm" then
9634
				v:Destroy()
9635
			end
9636
		end
9637
	end
9638
end)
9639
9640
addcmd('nolegs',{'rlegs'},function(args, speaker)
9641
	if r15(speaker) then
9642
		for i,v in pairs(speaker.Character:GetChildren()) do
9643
			if v:IsA("BasePart") and
9644
				v.Name == "RightUpperLeg" or
9645
				v.Name == "LeftUpperLeg" then
9646
				v:Destroy()
9647
			end
9648
		end
9649
	else
9650
		for i,v in pairs(speaker.Character:GetChildren()) do
9651
			if v:IsA("BasePart") and
9652
				v.Name == "Right Leg" or
9653
				v.Name == "Left Leg" then
9654
				v:Destroy()
9655
			end
9656
		end
9657
	end
9658
end)
9659
9660
addcmd("sit", {}, function(args, speaker)
9661
	speaker.Character:FindFirstChildWhichIsA("Humanoid").Sit = true
9662
end)
9663
9664
addcmd("lay", {"laydown"}, function(args, speaker)
9665
	local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid")
9666
	humanoid.Sit = true
9667
	task.wait(0.1)
9668
	humanoid.RootPart.CFrame = humanoid.RootPart.CFrame * CFrame.Angles(math.pi * 0.5, 0, 0)
9669
	for _, v in ipairs(humanoid:GetPlayingAnimationTracks()) do
9670
		v:Stop()
9671
	end
9672
end)
9673
9674
addcmd("sitwalk", {}, function(args, speaker)
9675
	local anims = speaker.Character.Animate
9676
	local sit = anims.sit:FindFirstChildWhichIsA("Animation").AnimationId
9677
	anims.idle:FindFirstChildWhichIsA("Animation").AnimationId = sit
9678
	anims.walk:FindFirstChildWhichIsA("Animation").AnimationId = sit
9679
	anims.run:FindFirstChildWhichIsA("Animation").AnimationId = sit
9680
	anims.jump:FindFirstChildWhichIsA("Animation").AnimationId = sit
9681
	speaker.Character:FindFirstChildWhichIsA("Humanoid").HipHeight = not r15(speaker) and -1.5 or 0.5
9682
end)
9683
9684
addcmd("nosit", {}, function(args, speaker)
9685
    speaker.Character:FindFirstChildWhichIsA("Humanoid"):SetStateEnabled(Enum.HumanoidStateType.Seated, false)
9686
end)
9687
9688
addcmd("unnosit", {}, function(args, speaker)
9689
    speaker.Character:FindFirstChildWhichIsA("Humanoid"):SetStateEnabled(Enum.HumanoidStateType.Seated, true)
9690
end)
9691
9692
addcmd("jump", {}, function(args, speaker)
9693
	speaker.Character:FindFirstChildWhichIsA("Humanoid"):ChangeState(Enum.HumanoidStateType.Jumping)
9694
end)
9695
9696
local infJump
9697
infJumpDebounce = false
9698
addcmd("infjump", {"infinitejump"}, function(args, speaker)
9699
	if infJump then infJump:Disconnect() end
9700
	infJumpDebounce = false
9701
	infJump = UserInputService.JumpRequest:Connect(function()
9702
		if not infJumpDebounce then
9703
			infJumpDebounce = true
9704
			speaker.Character:FindFirstChildWhichIsA("Humanoid"):ChangeState(Enum.HumanoidStateType.Jumping)
9705
			wait()
9706
			infJumpDebounce = false
9707
		end
9708
	end)
9709
end)
9710
9711
addcmd("uninfjump", {"uninfinitejump", "noinfjump", "noinfinitejump"}, function(args, speaker)
9712
	if infJump then infJump:Disconnect() end
9713
	infJumpDebounce = false
9714
end)
9715
9716
local flyjump
9717
addcmd("flyjump", {}, function(args, speaker)
9718
	if flyjump then flyjump:Disconnect() end
9719
	flyjump = UserInputService.JumpRequest:Connect(function()
9720
		speaker.Character:FindFirstChildWhichIsA("Humanoid"):ChangeState(Enum.HumanoidStateType.Jumping)
9721
	end)
9722
end)
9723
9724
addcmd("unflyjump", {"noflyjump"}, function(args, speaker)
9725
	if flyjump then flyjump:Disconnect() end
9726
end)
9727
9728
local HumanModCons = {}
9729
addcmd('autojump',{'ajump'},function(args, speaker)
9730
	local Char = speaker.Character
9731
	local Human = Char and Char:FindFirstChildWhichIsA("Humanoid")
9732
	local function autoJump()
9733
		if Char and Human then
9734
			local check1 = workspace:FindPartOnRay(Ray.new(Human.RootPart.Position-Vector3.new(0,1.5,0), Human.RootPart.CFrame.lookVector*3), Human.Parent)
9735
			local check2 = workspace:FindPartOnRay(Ray.new(Human.RootPart.Position+Vector3.new(0,1.5,0), Human.RootPart.CFrame.lookVector*3), Human.Parent)
9736
			if check1 or check2 then
9737
				Human.Jump = true
9738
			end
9739
		end
9740
	end
9741
	autoJump()
9742
	HumanModCons.ajLoop = (HumanModCons.ajLoop and HumanModCons.ajLoop:Disconnect() and false) or RunService.RenderStepped:Connect(autoJump)
9743
	HumanModCons.ajCA = (HumanModCons.ajCA and HumanModCons.ajCA:Disconnect() and false) or speaker.CharacterAdded:Connect(function(nChar)
9744
		Char, Human = nChar, nChar:WaitForChild("Humanoid")
9745
		autoJump()
9746
		HumanModCons.ajLoop = (HumanModCons.ajLoop and HumanModCons.ajLoop:Disconnect() and false) or RunService.RenderStepped:Connect(autoJump)
9747
	end)
9748
end)
9749
9750
addcmd('unautojump',{'noautojump', 'noajump', 'unajump'},function(args, speaker)
9751
	HumanModCons.ajLoop = (HumanModCons.ajLoop and HumanModCons.ajLoop:Disconnect() and false) or nil
9752
	HumanModCons.ajCA = (HumanModCons.ajCA and HumanModCons.ajCA:Disconnect() and false) or nil
9753
end)
9754
9755
addcmd('edgejump',{'ejump'},function(args, speaker)
9756
	local Char = speaker.Character
9757
	local Human = Char and Char:FindFirstChildWhichIsA("Humanoid")
9758
	-- Full credit to NoelGamer06 @V3rmillion
9759
	local state
9760
	local laststate
9761
	local lastcf
9762
	local function edgejump()
9763
		if Char and Human then
9764
			laststate = state
9765
			state = Human:GetState()
9766
			if laststate ~= state and state == Enum.HumanoidStateType.Freefall and laststate ~= Enum.HumanoidStateType.Jumping then
9767
				Char.HumanoidRootPart.CFrame = lastcf
9768
				Char.HumanoidRootPart.Velocity = Vector3.new(Char.HumanoidRootPart.Velocity.X, Human.JumpPower or Human.JumpHeight, Char.HumanoidRootPart.Velocity.Z)
9769
			end
9770
			lastcf = Char.HumanoidRootPart.CFrame
9771
		end
9772
	end
9773
	edgejump()
9774
	HumanModCons.ejLoop = (HumanModCons.ejLoop and HumanModCons.ejLoop:Disconnect() and false) or RunService.RenderStepped:Connect(edgejump)
9775
	HumanModCons.ejCA = (HumanModCons.ejCA and HumanModCons.ejCA:Disconnect() and false) or speaker.CharacterAdded:Connect(function(nChar)
9776
		Char, Human = nChar, nChar:WaitForChild("Humanoid")
9777
		edgejump()
9778
		HumanModCons.ejLoop = (HumanModCons.ejLoop and HumanModCons.ejLoop:Disconnect() and false) or RunService.RenderStepped:Connect(edgejump)
9779
	end)
9780
end)
9781
9782
addcmd('unedgejump',{'noedgejump', 'noejump', 'unejump'},function(args, speaker)
9783
	HumanModCons.ejLoop = (HumanModCons.ejLoop and HumanModCons.ejLoop:Disconnect() and false) or nil
9784
	HumanModCons.ejCA = (HumanModCons.ejCA and HumanModCons.ejCA:Disconnect() and false) or nil
9785
end)
9786
9787
addcmd("team", {}, function(args, speaker)
9788
    local teamName = getstring(1)
9789
    local team = nil
9790
    local root = speaker.Character and getRoot(speaker.Character)
9791
    for _, v in ipairs(Teams:GetChildren()) do
9792
        if v.Name:lower():match(teamName:lower()) then
9793
            team = v
9794
            break
9795
        end
9796
    end
9797
    if not team then
9798
        return notify("Invalid Team", teamName .. " is not a valid team")
9799
    end
9800
    if root and firetouchinterest then
9801
        for _, v in ipairs(workspace:GetDescendants()) do
9802
            if v:IsA("SpawnLocation") and v.BrickColor == team.TeamColor and v.AllowTeamChangeOnTouch == true then
9803
                firetouchinterest(v, root, 0)
9804
                firetouchinterest(v, root, 1)
9805
                break
9806
            end
9807
        end
9808
    else
9809
        speaker.Team = team
9810
    end
9811
end)
9812
9813
addcmd('nobgui',{'unbgui','nobillboardgui','unbillboardgui','noname','rohg'},function(args, speaker)
9814
	for i,v in pairs(speaker.Character:GetDescendants())do
9815
		if v:IsA("BillboardGui") or v:IsA("SurfaceGui") then
9816
			v:Destroy()
9817
		end
9818
	end
9819
end)
9820
9821
addcmd('loopnobgui',{'loopunbgui','loopnobillboardgui','loopunbillboardgui','loopnoname','looprohg'},function(args, speaker)
9822
	for i,v in pairs(speaker.Character:GetDescendants())do
9823
		if v:IsA("BillboardGui") or v:IsA("SurfaceGui") then
9824
			v:Destroy()
9825
		end
9826
	end
9827
	local function charPartAdded(part)
9828
		if part:IsA("BillboardGui") or part:IsA("SurfaceGui") then
9829
			wait()
9830
			part:Destroy()
9831
		end
9832
	end
9833
	charPartTrigger = speaker.Character.DescendantAdded:Connect(charPartAdded)
9834
end)
9835
9836
addcmd('unloopnobgui',{'unloopunbgui','unloopnobillboardgui','unloopunbillboardgui','unloopnoname','unlooprohg'},function(args, speaker)
9837
	if charPartTrigger then
9838
		charPartTrigger:Disconnect()
9839
	end
9840
end)
9841
9842
addcmd('spasm',{},function(args, speaker)
9843
	if not r15(speaker) then
9844
		local pchar=speaker.Character
9845
		local AnimationId = "33796059"
9846
		SpasmAnim = Instance.new("Animation")
9847
		SpasmAnim.AnimationId = "rbxassetid://"..AnimationId
9848
		Spasm = pchar:FindFirstChildOfClass('Humanoid'):LoadAnimation(SpasmAnim)
9849
		Spasm:Play()
9850
		Spasm:AdjustSpeed(99)
9851
	else
9852
		notify('R6 Required','This command requires the r6 rig type')
9853
	end
9854
end)
9855
9856
addcmd('unspasm',{'nospasm'},function(args, speaker)
9857
	Spasm:Stop()
9858
	SpasmAnim:Destroy()
9859
end)
9860
9861
addcmd('headthrow',{},function(args, speaker)
9862
	if not r15(speaker) then
9863
		local AnimationId = "35154961"
9864
		local Anim = Instance.new("Animation")
9865
		Anim.AnimationId = "rbxassetid://"..AnimationId
9866
		local k = speaker.Character:FindFirstChildOfClass('Humanoid'):LoadAnimation(Anim)
9867
		k:Play(0)
9868
		k:AdjustSpeed(1)
9869
	else
9870
		notify('R6 Required','This command requires the r6 rig type')
9871
	end
9872
end)
9873
9874
addcmd("animation", {"anim"}, function(args, speaker)
9875
    local animation = Instance.new("Animation")
9876
    animation.AnimationId = "rbxassetid://" .. tostring(args[1])
9877
    local anim = speaker.Character:FindFirstChildWhichIsA("Humanoid"):LoadAnimation(animation)
9878
    anim:Play()
9879
    if args[2] then anim:AdjustSpeed(tostring(args[2])) end
9880
end)
9881
9882
addcmd('noanim',{},function(args, speaker)
9883
	speaker.Character.Animate.Disabled = true
9884
end)
9885
9886
addcmd('reanim',{},function(args, speaker)
9887
	speaker.Character.Animate.Disabled = false
9888
end)
9889
9890
addcmd('animspeed',{},function(args, speaker)
9891
	local Char = speaker.Character
9892
	local Hum = Char:FindFirstChildOfClass("Humanoid") or Char:FindFirstChildOfClass("AnimationController")
9893
9894
	for i,v in next, Hum:GetPlayingAnimationTracks() do
9895
		v:AdjustSpeed(tonumber(args[1] or 1))
9896
	end
9897
end)
9898
9899
addcmd('copyanimation',{'copyanim','copyemote'},function(args, speaker)
9900
	local players = getPlayer(args[1], speaker)
9901
	for _,v in ipairs(players)do
9902
		local char = Players[v].Character
9903
		for _, v1 in pairs(speaker.Character:FindFirstChildOfClass('Humanoid'):GetPlayingAnimationTracks()) do
9904
			v1:Stop()
9905
		end
9906
		for _, v1 in pairs(Players[v].Character:FindFirstChildOfClass('Humanoid'):GetPlayingAnimationTracks()) do
9907
			if not string.find(v1.Animation.AnimationId, "507768375") then
9908
				local ANIM = speaker.Character:FindFirstChildOfClass('Humanoid'):LoadAnimation(v1.Animation)
9909
				ANIM:Play(.1, 1, v1.Speed)
9910
				ANIM.TimePosition = v1.TimePosition
9911
				task.spawn(function()
9912
					v1.Stopped:Wait()
9913
					ANIM:Stop()
9914
					ANIM:Destroy()
9915
				end)
9916
			end
9917
		end
9918
	end
9919
end)
9920
9921
addcmd("copyanimationid", {"copyanimid", "copyemoteid"}, function(args, speaker)
9922
    local copyAnimId = function(player)
9923
        local found = "Animations Copied"
9924
9925
        for _, v in pairs(player.Character:FindFirstChildWhichIsA("Humanoid"):GetPlayingAnimationTracks()) do
9926
            local animationId = v.Animation.AnimationId
9927
            local assetId = animationId:find("rbxassetid://") and animationId:match("%d+")
9928
9929
            if not string.find(animationId, "507768375") and not string.find(animationId, "180435571") then
9930
                if assetId then
9931
                    local success, result = pcall(function()
9932
                        return MarketplaceService:GetProductInfo(tonumber(assetId)).Name
9933
                    end)
9934
                    local name = success and result or "Failed to get name"
9935
                    found = found .. "\n\nName: " .. name .. "\nAnimation Id: " .. animationId
9936
                else
9937
                    found = found .. "\n\nAnimation Id: " .. animationId
9938
                end
9939
            end
9940
        end
9941
9942
        if found ~= "Animations Copied" then
9943
            toClipboard(found)
9944
        else
9945
            notify("Animations", "No animations to copy")
9946
        end
9947
    end
9948
9949
    if args[1] then
9950
        copyAnimId(Players[getPlayer(args[1], speaker)[1]])
9951
    else
9952
        copyAnimId(speaker)
9953
    end
9954
end)
9955
9956
addcmd('stopanimations',{'stopanims','stopanim'},function(args, speaker)
9957
	local Char = speaker.Character
9958
	local Hum = Char:FindFirstChildOfClass("Humanoid") or Char:FindFirstChildOfClass("AnimationController")
9959
9960
	for i,v in next, Hum:GetPlayingAnimationTracks() do
9961
		v:Stop()
9962
	end
9963
end)
9964
9965
addcmd('refreshanimations', {'refreshanimation', 'refreshanims', 'refreshanim'}, function(args, speaker)
9966
	local Char = speaker.Character or speaker.CharacterAdded:Wait()
9967
	local Human = Char and Char:WaitForChild('Humanoid', 15)
9968
	local Animate = Char and Char:WaitForChild('Animate', 15)
9969
	if not Human or not Animate then
9970
		return notify('Refresh Animations', 'Failed to get Animate/Humanoid')
9971
	end
9972
	Animate.Disabled = true
9973
	for _, v in ipairs(Human:GetPlayingAnimationTracks()) do
9974
		v:Stop()
9975
	end
9976
	Animate.Disabled = false
9977
end)
9978
9979
addcmd('allowcustomanim', {'allowcustomanimations'}, function(args, speaker)
9980
	StarterPlayer.AllowCustomAnimations = true
9981
	execCmd('refreshanimations')
9982
end)
9983
9984
addcmd('unallowcustomanim', {'unallowcustomanimations'}, function(args, speaker)
9985
	StarterPlayer.AllowCustomAnimations = false
9986
	execCmd('refreshanimations')
9987
end)
9988
9989
addcmd('loopanimation', {'loopanim'},function(args, speaker)
9990
	local Char = speaker.Character
9991
	local Human = Char and Char.FindFirstChildWhichIsA(Char, "Humanoid")
9992
	for _, v in ipairs(Human.GetPlayingAnimationTracks(Human)) do
9993
		v.Looped = true
9994
	end
9995
end)
9996
9997
addcmd('tpposition',{'tppos'},function(args, speaker)
9998
	if #args < 3 then return end
9999
	local tpX,tpY,tpZ = tonumber((args[1]:gsub(",", ""))),tonumber((args[2]:gsub(",", ""))),tonumber((args[3]:gsub(",", "")))
10000
	local char = speaker.Character
10001
	if char and getRoot(char) then
10002
		getRoot(char).CFrame = CFrame.new(tpX,tpY,tpZ)
10003
	end
10004
end)
10005
10006
addcmd('tweentpposition',{'ttppos'},function(args, speaker)
10007
	if #args < 3 then return end
10008
	local tpX,tpY,tpZ = tonumber((args[1]:gsub(",", ""))),tonumber((args[2]:gsub(",", ""))),tonumber((args[3]:gsub(",", "")))
10009
	local char = speaker.Character
10010
	if char and getRoot(char) then
10011
		TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = CFrame.new(tpX,tpY,tpZ)}):Play()
10012
	end
10013
end)
10014
10015
addcmd('offset',{},function(args, speaker)
10016
	if #args < 3 then
10017
		return 
10018
	end
10019
	if speaker.Character then
10020
		speaker.Character:TranslateBy(Vector3.new(tonumber(args[1]) or 0, tonumber(args[2]) or 0, tonumber(args[3]) or 0))
10021
	end
10022
end)
10023
10024
addcmd('tweenoffset',{'toffset'},function(args, speaker)
10025
	if #args < 3 then return end
10026
	local tpX,tpY,tpZ = tonumber(args[1]),tonumber(args[2]),tonumber(args[3])
10027
	local char = speaker.Character
10028
	if char and getRoot(char) then
10029
		TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = CFrame.new(tpX,tpY,tpZ)}):Play()
10030
	end
10031
end)
10032
10033
addcmd('clickteleport',{},function(args, speaker)
10034
	if speaker == Players.LocalPlayer then
10035
		notify('Click TP','Go to Settings > Keybinds > Add to set up click teleport')
10036
	end
10037
end)
10038
10039
addcmd("mouseteleport", {"mousetp"}, function(args, speaker)
10040
    local root = getRoot(speaker.Character)
10041
    local pos = IYMouse.Hit
10042
    if root and pos then
10043
        root.CFrame = CFrame.new(pos.X, pos.Y + 3, pos.Z, select(4, root.CFrame:components()))
10044
    end
10045
end)
10046
10047
addcmd('tptool', {'teleporttool'}, function(args, speaker)
10048
	local TpTool = Instance.new("Tool")
10049
	TpTool.Name = "Teleport Tool"
10050
	TpTool.RequiresHandle = false
10051
	TpTool.Parent = speaker.Backpack
10052
	TpTool.Activated:Connect(function()
10053
		local Char = speaker.Character or workspace:FindFirstChild(speaker.Name)
10054
		local HRP = Char and Char:FindFirstChild("HumanoidRootPart")
10055
		if not Char or not HRP then
10056
			return warn("Failed to find HumanoidRootPart")
10057
		end
10058
		HRP.CFrame = CFrame.new(IYMouse.Hit.X, IYMouse.Hit.Y + 3, IYMouse.Hit.Z, select(4, HRP.CFrame:components()))
10059
	end)
10060
end)
10061
10062
addcmd('clickdelete',{},function(args, speaker)
10063
	if speaker == Players.LocalPlayer then
10064
		notify('Click Delete','Go to Settings > Keybinds > Add to set up click delete')
10065
	end
10066
end)
10067
10068
addcmd('getposition',{'getpos','notifypos','notifyposition'},function(args, speaker)
10069
	local players = getPlayer(args[1], speaker)
10070
	for i,v in pairs(players)do
10071
		local char = Players[v].Character
10072
		local pos = char and (getRoot(char) or char:FindFirstChildWhichIsA("BasePart"))
10073
		pos = pos and pos.Position
10074
		if not pos then
10075
			return notify('Getposition Error','Missing character')
10076
		end
10077
		local roundedPos = math.round(pos.X) .. ", " .. math.round(pos.Y) .. ", " .. math.round(pos.Z)
10078
		notify('Current Position',roundedPos)
10079
	end
10080
end)
10081
10082
addcmd('copyposition',{'copypos'},function(args, speaker)
10083
	local players = getPlayer(args[1], speaker)
10084
	for i,v in pairs(players)do
10085
		local char = Players[v].Character
10086
		local pos = char and (getRoot(char) or char:FindFirstChildWhichIsA("BasePart"))
10087
		pos = pos and pos.Position
10088
		if not pos then
10089
			return notify('Getposition Error','Missing character')
10090
		end
10091
		local roundedPos = math.round(pos.X) .. ", " .. math.round(pos.Y) .. ", " .. math.round(pos.Z)
10092
		toClipboard(roundedPos)
10093
	end
10094
end)
10095
10096
addcmd('walktopos',{'walktoposition'},function(args, speaker)
10097
	if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
10098
		speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
10099
		wait(.1)
10100
	end
10101
	speaker.Character:FindFirstChildOfClass('Humanoid').WalkToPoint = Vector3.new(args[1],args[2],args[3])
10102
end)
10103
10104
addcmd('speed',{'ws','walkspeed'},function(args, speaker)
10105
	if args[2] then
10106
		local speed = args[2] or 16
10107
		if isNumber(speed) then
10108
			speaker.Character:FindFirstChildOfClass('Humanoid').WalkSpeed = speed
10109
		end
10110
	else
10111
		local speed = args[1] or 16
10112
		if isNumber(speed) then
10113
			speaker.Character:FindFirstChildOfClass('Humanoid').WalkSpeed = speed
10114
		end
10115
	end
10116
end)
10117
10118
addcmd('spoofspeed',{'spoofws','spoofwalkspeed'},function(args, speaker)
10119
	if args[1] and isNumber(args[1]) then
10120
		if hookmetamethod then
10121
			local char = speaker.Character
10122
			local setspeed;
10123
			local index; index = hookmetamethod(game, "__index", function(self, key)
10124
				if not checkcaller() and typeof(self) == "Instance" and self:IsA("Humanoid") and (key == "WalkSpeed" or key == "walkSpeed") and self:IsDescendantOf(char) then
10125
					return setspeed or args[1]
10126
				end
10127
				return index(self, key)
10128
			end)
10129
			local newindex; newindex = hookmetamethod(game, "__newindex", function(self, key, value)
10130
				if not checkcaller() and typeof(self) == "Instance" and self:IsA("Humanoid") and (key == "WalkSpeed" or key == "walkSpeed") and self:IsDescendantOf(char) then
10131
					setspeed = tonumber(value)
10132
				end
10133
				return newindex(self, key, value)
10134
			end)
10135
		else
10136
			notify('Incompatible Exploit','Your exploit does not support this command (missing hookmetamethod)')
10137
		end
10138
	end
10139
end)
10140
10141
addcmd('loopspeed',{'loopws'},function(args, speaker)
10142
	local speed = args[1] or 16
10143
	if args[2] then
10144
		speed = args[2] or 16
10145
	end
10146
	if isNumber(speed) then
10147
		local Char = speaker.Character or workspace:FindFirstChild(speaker.Name)
10148
		local Human = Char and Char:FindFirstChildWhichIsA("Humanoid")
10149
		local function WalkSpeedChange()
10150
			if Char and Human then
10151
				Human.WalkSpeed = speed
10152
			end
10153
		end
10154
		WalkSpeedChange()
10155
		HumanModCons.wsLoop = (HumanModCons.wsLoop and HumanModCons.wsLoop:Disconnect() and false) or Human:GetPropertyChangedSignal("WalkSpeed"):Connect(WalkSpeedChange)
10156
		HumanModCons.wsCA = (HumanModCons.wsCA and HumanModCons.wsCA:Disconnect() and false) or speaker.CharacterAdded:Connect(function(nChar)
10157
			Char, Human = nChar, nChar:WaitForChild("Humanoid")
10158
			WalkSpeedChange()
10159
			HumanModCons.wsLoop = (HumanModCons.wsLoop and HumanModCons.wsLoop:Disconnect() and false) or Human:GetPropertyChangedSignal("WalkSpeed"):Connect(WalkSpeedChange)
10160
		end)
10161
	end
10162
end)
10163
10164
addcmd('unloopspeed',{'unloopws'},function(args, speaker)
10165
	HumanModCons.wsLoop = (HumanModCons.wsLoop and HumanModCons.wsLoop:Disconnect() and false) or nil
10166
	HumanModCons.wsCA = (HumanModCons.wsCA and HumanModCons.wsCA:Disconnect() and false) or nil
10167
end)
10168
10169
addcmd('spoofjumppower',{'spoofjp'},function(args, speaker)
10170
	if args[1] and isNumber(args[1]) then
10171
		if hookmetamethod then
10172
			local char = speaker.Character
10173
			local setpower;
10174
			local index; index = hookmetamethod(game, "__index", function(self, key)
10175
				if not checkcaller() and typeof(self) == "Instance" and self:IsA("Humanoid") and (key == "JumpPower" or key == "jumpPower") and self:IsDescendantOf(char) then
10176
					return setpower or args[1]
10177
				end
10178
				return index(self, key)
10179
			end)
10180
			local newindex; newindex = hookmetamethod(game, "__newindex", function(self, key, value)
10181
				if not checkcaller() and typeof(self) == "Instance" and self:IsA("Humanoid") and (key == "JumpPower" or key == "jumpPower") and self:IsDescendantOf(char) then
10182
					setpower = tonumber(value)
10183
				end
10184
				return newindex(self, key, value)
10185
			end)
10186
		else
10187
			notify('Incompatible Exploit','Your exploit does not support this command (missing hookmetamethod)')
10188
		end
10189
	end
10190
end)
10191
10192
addcmd('loopjumppower',{'loopjp','loopjpower'},function(args, speaker)
10193
	local jpower = args[1] or 50
10194
	if isNumber(jpower) then
10195
		local Char = speaker.Character or workspace:FindFirstChild(speaker.Name)
10196
		local Human = Char and Char:FindFirstChildWhichIsA("Humanoid")
10197
		local function JumpPowerChange()
10198
			if Char and Human then
10199
				if speaker.Character:FindFirstChildOfClass('Humanoid').UseJumpPower then
10200
					speaker.Character:FindFirstChildOfClass('Humanoid').JumpPower = jpower
10201
				else
10202
					speaker.Character:FindFirstChildOfClass('Humanoid').JumpHeight  = jpower
10203
				end
10204
			end
10205
		end
10206
		JumpPowerChange()
10207
		HumanModCons.jpLoop = (HumanModCons.jpLoop and HumanModCons.jpLoop:Disconnect() and false) or Human:GetPropertyChangedSignal("JumpPower"):Connect(JumpPowerChange)
10208
		HumanModCons.jpCA = (HumanModCons.jpCA and HumanModCons.jpCA:Disconnect() and false) or speaker.CharacterAdded:Connect(function(nChar)
10209
			Char, Human = nChar, nChar:WaitForChild("Humanoid")
10210
			JumpPowerChange()
10211
			HumanModCons.jpLoop = (HumanModCons.jpLoop and HumanModCons.jpLoop:Disconnect() and false) or Human:GetPropertyChangedSignal("JumpPower"):Connect(JumpPowerChange)
10212
		end)
10213
	end
10214
end)
10215
10216
addcmd('unloopjumppower',{'unloopjp','unloopjpower'},function(args, speaker)
10217
	local Char = speaker.Character or workspace:FindFirstChild(speaker.Name)
10218
	local Human = Char and Char:FindFirstChildWhichIsA("Humanoid")
10219
	HumanModCons.jpLoop = (HumanModCons.jpLoop and HumanModCons.jpLoop:Disconnect() and false) or nil
10220
	HumanModCons.jpCA = (HumanModCons.jpCA and HumanModCons.jpCA:Disconnect() and false) or nil
10221
	if Char and Human then
10222
		if speaker.Character:FindFirstChildOfClass('Humanoid').UseJumpPower then
10223
			speaker.Character:FindFirstChildOfClass('Humanoid').JumpPower = 50
10224
		else
10225
			speaker.Character:FindFirstChildOfClass('Humanoid').JumpHeight  = 50
10226
		end
10227
	end
10228
end)
10229
10230
addcmd('tools',{'gears'},function(args, speaker)
10231
	local function copy(instance)
10232
		for i,c in pairs(instance:GetChildren())do
10233
			if c:IsA('Tool') or c:IsA('HopperBin') then
10234
				c:Clone().Parent = speaker:FindFirstChildOfClass("Backpack")
10235
			end
10236
			copy(c)
10237
		end
10238
	end
10239
	copy(Lighting)
10240
	local function copy(instance)
10241
		for i,c in pairs(instance:GetChildren())do
10242
			if c:IsA('Tool') or c:IsA('HopperBin') then
10243
				c:Clone().Parent = speaker:FindFirstChildOfClass("Backpack")
10244
			end
10245
			copy(c)
10246
		end
10247
	end
10248
	copy(ReplicatedStorage)
10249
	notify('Tools','Copied tools from ReplicatedStorage and Lighting')
10250
end)
10251
10252
addcmd('notools',{'rtools','clrtools','removetools','deletetools','dtools'},function(args, speaker)
10253
	for i,v in pairs(speaker:FindFirstChildOfClass("Backpack"):GetDescendants()) do
10254
		if v:IsA('Tool') or v:IsA('HopperBin') then
10255
			v:Destroy()
10256
		end
10257
	end
10258
	for i,v in pairs(speaker.Character:GetDescendants()) do
10259
		if v:IsA('Tool') or v:IsA('HopperBin') then
10260
			v:Destroy()
10261
		end
10262
	end
10263
end)
10264
10265
addcmd('deleteselectedtool',{'dst'},function(args, speaker)
10266
	for i,v in pairs(speaker.Character:GetDescendants()) do
10267
		if v:IsA('Tool') or v:IsA('HopperBin') then
10268
			v:Destroy()
10269
		end
10270
	end
10271
end)
10272
10273
addcmd("console", {}, function(args, speaker)
10274
    StarterGui:SetCore("DevConsoleVisible", true)
10275
end)
10276
10277
addcmd('oldconsole',{},function(args, speaker)
10278
	-- Thanks wally!!
10279
	notify("Loading",'Hold on a sec')
10280
	local _, str = pcall(function()
10281
		return game:HttpGet("https://raw.githubusercontent.com/infyiff/backup/main/console.lua", true)
10282
	end)
10283
10284
	local s, e = loadstring(str)
10285
	if typeof(s) ~= "function" then
10286
		return
10287
	end
10288
10289
	local success, message = pcall(s)
10290
	if (not success) then
10291
		if printconsole then
10292
			printconsole(message)
10293
		elseif printoutput then
10294
			printoutput(message)
10295
		end
10296
	end
10297
	wait(1)
10298
	notify('Console','Press F9 to open the console')
10299
end)
10300
10301
addcmd("explorer", {"dex"}, function(args, speaker)
10302
    notify("Loading", "Hold on a sec")
10303
    loadstring(game:HttpGet("https://raw.githubusercontent.com/infyiff/backup/main/dex.lua"))()
10304
end)
10305
10306
addcmd('olddex', {'odex'}, function(args, speaker)
10307
	notify('Loading old explorer', 'Hold on a sec')
10308
10309
	local getobjects = function(a)
10310
		local Objects = {}
10311
		if a then
10312
			local b = InsertService:LoadLocalAsset(a)
10313
			if b then 
10314
				table.insert(Objects, b) 
10315
			end
10316
		end
10317
		return Objects
10318
	end
10319
10320
	local Dex = getobjects("rbxassetid://10055842438")[1]
10321
	Dex.Parent = PARENT
10322
10323
	local function Load(Obj, Url)
10324
		local function GiveOwnGlobals(Func, Script)
10325
			-- Fix for this edit of dex being poorly made
10326
			-- I (Alex) would like to commemorate whoever added this dex in somehow finding the worst dex to ever exist
10327
			local Fenv, RealFenv, FenvMt = {}, {
10328
				script = Script,
10329
				getupvalue = function(a, b)
10330
					return nil -- force it to use globals
10331
				end,
10332
				getreg = function() -- It loops registry for some idiotic reason so stop it from doing that and just use a global
10333
					return {} -- force it to use globals
10334
				end,
10335
				getprops = getprops or function(inst)
10336
					if getproperties then
10337
						local props = getproperties(inst)
10338
						if props[1] and gethiddenproperty then
10339
							local results = {}
10340
							for _,name in pairs(props) do
10341
								local success, res = pcall(gethiddenproperty, inst, name)
10342
								if success then
10343
									results[name] = res
10344
								end
10345
							end
10346
10347
							return results
10348
						end
10349
10350
						return props
10351
					end
10352
10353
					return {}
10354
				end
10355
			}, {}
10356
			FenvMt.__index = function(a,b)
10357
				return RealFenv[b] == nil and getgenv()[b] or RealFenv[b]
10358
			end
10359
			FenvMt.__newindex = function(a, b, c)
10360
				if RealFenv[b] == nil then 
10361
					getgenv()[b] = c 
10362
				else 
10363
					RealFenv[b] = c 
10364
				end
10365
			end
10366
			setmetatable(Fenv, FenvMt)
10367
			pcall(setfenv, Func, Fenv)
10368
			return Func
10369
		end
10370
10371
		local function LoadScripts(_, Script)
10372
			if Script:IsA("LocalScript") then
10373
				task.spawn(function()
10374
					GiveOwnGlobals(loadstring(Script.Source,"="..Script:GetFullName()), Script)()
10375
				end)
10376
			end
10377
			table.foreach(Script:GetChildren(), LoadScripts)
10378
		end
10379
10380
		LoadScripts(nil, Obj)
10381
	end
10382
10383
	Load(Dex)
10384
end)
10385
10386
addcmd('remotespy',{'rspy'},function(args, speaker)
10387
	notify("Loading",'Hold on a sec')
10388
	-- Full credit to exx, creator of SimpleSpy
10389
	-- also thanks to Amity for fixing
10390
	loadstring(game:HttpGet("https://raw.githubusercontent.com/infyiff/backup/main/SimpleSpyV3/main.lua"))()
10391
end)
10392
10393
addcmd('audiologger',{'alogger'},function(args, speaker)
10394
	notify("Loading",'Hold on a sec')
10395
	loadstring(game:HttpGet(('https://raw.githubusercontent.com/infyiff/backup/main/audiologger.lua'),true))()
10396
end)
10397
10398
local loopgoto = nil
10399
addcmd('loopgoto',{},function(args, speaker)
10400
	local players = getPlayer(args[1], speaker)
10401
	for i,v in pairs(players)do
10402
		loopgoto = nil
10403
		if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
10404
			speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
10405
			wait(.1)
10406
		end
10407
		loopgoto = Players[v]
10408
		local distance = 3
10409
		if args[2] and isNumber(args[2]) then
10410
			distance = args[2]
10411
		end
10412
		local lDelay = 0
10413
		if args[3] and isNumber(args[3]) then
10414
			lDelay = args[3]
10415
		end
10416
		repeat
10417
			if Players:FindFirstChild(v) then
10418
				if Players[v].Character ~= nil then
10419
					getRoot(speaker.Character).CFrame = getRoot(Players[v].Character).CFrame + Vector3.new(distance,1,0)
10420
				end
10421
				wait(lDelay)
10422
			else
10423
				loopgoto = nil
10424
			end
10425
		until loopgoto ~= Players[v]
10426
	end
10427
end)
10428
10429
addcmd('unloopgoto',{'noloopgoto'},function(args, speaker)
10430
	loopgoto = nil
10431
end)
10432
10433
addcmd('headsit',{},function(args, speaker)
10434
	local players = getPlayer(args[1], speaker)
10435
	if headSit then headSit:Disconnect() end
10436
	for i,v in pairs(players)do
10437
		speaker.Character:FindFirstChildOfClass('Humanoid').Sit = true
10438
		headSit = RunService.Heartbeat:Connect(function()
10439
			if Players:FindFirstChild(Players[v].Name) and Players[v].Character ~= nil and getRoot(Players[v].Character) and getRoot(speaker.Character) and speaker.Character:FindFirstChildOfClass('Humanoid').Sit == true then
10440
				getRoot(speaker.Character).CFrame = getRoot(Players[v].Character).CFrame * CFrame.Angles(0,math.rad(0),0)* CFrame.new(0,1.6,0.4)
10441
			else
10442
				headSit:Disconnect()
10443
			end
10444
		end)
10445
	end
10446
end)
10447
10448
addcmd('chat',{'say'},function(args, speaker)
10449
	local cString = getstring(1)
10450
	chatMessage(cString)
10451
end)
10452
10453
10454
spamming = false
10455
spamspeed = 1
10456
addcmd('spam',{},function(args, speaker)
10457
	spamming = true
10458
	local spamstring = getstring(1)
10459
	repeat wait(spamspeed)
10460
		chatMessage(spamstring)
10461
	until spamming == false
10462
end)
10463
10464
addcmd('nospam',{'unspam'},function(args, speaker)
10465
	spamming = false
10466
end)
10467
10468
addcmd('whisper',{'pm'},function(args, speaker)
10469
	local players = getPlayer(args[1], speaker)
10470
	for i,v in pairs(players)do
10471
		task.spawn(function()
10472
			local plrName = Players[v].Name
10473
			local pmstring = getstring(2)
10474
			chatMessage("/w "..plrName.." "..pmstring)
10475
		end)
10476
	end
10477
end)
10478
10479
pmspamming = {}
10480
addcmd('pmspam',{},function(args, speaker)
10481
	local players = getPlayer(args[1], speaker)
10482
	for i,v in pairs(players)do
10483
		task.spawn(function()
10484
			local plrName = Players[v].Name
10485
			if FindInTable(pmspamming, plrName) then return end
10486
			table.insert(pmspamming, plrName)
10487
			local pmspamstring = getstring(2)
10488
			repeat
10489
				if Players:FindFirstChild(v) then
10490
					wait(spamspeed)
10491
					chatMessage("/w "..plrName.." "..pmspamstring)
10492
				else
10493
					for a,b in pairs(pmspamming) do if b == plrName then table.remove(pmspamming, a) end end
10494
				end
10495
			until not FindInTable(pmspamming, plrName)
10496
		end)
10497
	end
10498
end)
10499
10500
addcmd('nopmspam',{'unpmspam'},function(args, speaker)
10501
	local players = getPlayer(args[1], speaker)
10502
	for i,v in pairs(players)do
10503
		task.spawn(function()
10504
			for a,b in pairs(pmspamming) do
10505
				if b == Players[v].Name then
10506
					table.remove(pmspamming, a)
10507
				end
10508
			end
10509
		end)
10510
	end
10511
end)
10512
10513
addcmd('spamspeed',{},function(args, speaker)
10514
	local speed = args[1] or 1
10515
	if isNumber(speed) then
10516
		spamspeed = speed
10517
	end
10518
end)
10519
10520
addcmd('bubblechat',{},function(args, speaker)
10521
	if isLegacyChat then
10522
		ChatService.BubbleChatEnabled = true
10523
	else
10524
		TextChatService.BubbleChatConfiguration.Enabled = true
10525
	end
10526
end)
10527
10528
addcmd('unbubblechat',{'nobubblechat'},function(args, speaker)
10529
	if isLegacyChat then
10530
		ChatService.BubbleChatEnabled = false
10531
	else
10532
		TextChatService.BubbleChatConfiguration.Enabled = false
10533
	end
10534
end)
10535
10536
addcmd('blockhead',{},function(args, speaker)
10537
	speaker.Character.Head:FindFirstChildOfClass("SpecialMesh"):Destroy()
10538
end)
10539
10540
addcmd('blockhats',{},function(args, speaker)
10541
	for _,v in pairs(speaker.Character:FindFirstChildOfClass('Humanoid'):GetAccessories()) do
10542
		for i,c in pairs(v:GetDescendants()) do
10543
			if c:IsA("SpecialMesh") then
10544
				c:Destroy()
10545
			end
10546
		end
10547
	end
10548
end)
10549
10550
addcmd('blocktool',{},function(args, speaker)
10551
	for _,v in pairs(speaker.Character:GetChildren()) do
10552
		if v:IsA("Tool") or v:IsA("HopperBin") then
10553
			for i,c in pairs(v:GetDescendants()) do
10554
				if c:IsA("SpecialMesh") then
10555
					c:Destroy()
10556
				end
10557
			end
10558
		end
10559
	end
10560
end)
10561
10562
addcmd('creeper',{},function(args, speaker)
10563
	if r15(speaker) then
10564
		speaker.Character.Head:FindFirstChildOfClass("SpecialMesh"):Destroy()
10565
		speaker.Character.LeftUpperArm:Destroy()
10566
		speaker.Character.RightUpperArm:Destroy()
10567
		speaker.Character:FindFirstChildOfClass("Humanoid"):RemoveAccessories()
10568
	else
10569
		speaker.Character.Head:FindFirstChildOfClass("SpecialMesh"):Destroy()
10570
		speaker.Character["Left Arm"]:Destroy()
10571
		speaker.Character["Right Arm"]:Destroy()
10572
		speaker.Character:FindFirstChildOfClass("Humanoid"):RemoveAccessories()
10573
	end
10574
end)
10575
10576
function getTorso(x)
10577
	x = x or Players.LocalPlayer.Character
10578
	return x:FindFirstChild("Torso") or x:FindFirstChild("UpperTorso") or x:FindFirstChild("LowerTorso") or x:FindFirstChild("HumanoidRootPart")
10579
end
10580
10581
addcmd("bang", {"rape"}, function(args, speaker)
10582
	execCmd("unbang")
10583
	wait()
10584
	local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid")
10585
	bangAnim = Instance.new("Animation")
10586
	bangAnim.AnimationId = not r15(speaker) and "rbxassetid://148840371" or "rbxassetid://5918726674"
10587
	bang = humanoid:LoadAnimation(bangAnim)
10588
	bang:Play(0.1, 1, 1)
10589
	bang:AdjustSpeed(args[2] or 3)
10590
	bangDied = humanoid.Died:Connect(function()
10591
		bang:Stop()
10592
		bangAnim:Destroy()
10593
		bangDied:Disconnect()
10594
		bangLoop:Disconnect()
10595
	end)
10596
	if args[1] then
10597
		local players = getPlayer(args[1], speaker)
10598
		for _, v in pairs(players) do
10599
			local bangplr = Players[v].Name
10600
			local bangOffet = CFrame.new(0, 0, 1.1)
10601
			bangLoop = RunService.Stepped:Connect(function()
10602
				pcall(function()
10603
					local otherRoot = getTorso(Players[bangplr].Character)
10604
					getRoot(speaker.Character).CFrame = otherRoot.CFrame * bangOffet
10605
				end)
10606
			end)
10607
		end
10608
	end
10609
end)
10610
10611
addcmd("unbang", {"unrape"}, function(args, speaker)
10612
	if bangDied then
10613
		bangDied:Disconnect()
10614
		bang:Stop()
10615
		bangAnim:Destroy()
10616
		bangLoop:Disconnect()
10617
	end
10618
end)
10619
10620
addcmd('carpet',{},function(args, speaker)
10621
	if not r15(speaker) then
10622
		execCmd('uncarpet')
10623
		wait()
10624
		local players = getPlayer(args[1], speaker)
10625
		for i,v in pairs(players)do
10626
			carpetAnim = Instance.new("Animation")
10627
			carpetAnim.AnimationId = "rbxassetid://282574440"
10628
			carpet = speaker.Character:FindFirstChildOfClass('Humanoid'):LoadAnimation(carpetAnim)
10629
			carpet:Play(.1, 1, 1)
10630
			local carpetplr = Players[v].Name
10631
			carpetDied = speaker.Character:FindFirstChildOfClass'Humanoid'.Died:Connect(function()
10632
				carpetLoop:Disconnect()
10633
				carpet:Stop()
10634
				carpetAnim:Destroy()
10635
				carpetDied:Disconnect()
10636
			end)
10637
			carpetLoop = RunService.Heartbeat:Connect(function()
10638
				pcall(function()
10639
					getRoot(Players.LocalPlayer.Character).CFrame = getRoot(Players[carpetplr].Character).CFrame
10640
				end)
10641
			end)
10642
		end
10643
	else
10644
		notify('R6 Required','This command requires the r6 rig type')
10645
	end
10646
end)
10647
10648
addcmd('uncarpet',{'nocarpet'},function(args, speaker)
10649
	if carpetLoop then
10650
		carpetLoop:Disconnect()
10651
		carpetDied:Disconnect()
10652
		carpet:Stop()
10653
		carpetAnim:Destroy()
10654
	end
10655
end)
10656
10657
addcmd('friend',{},function(args, speaker)
10658
	local players = getPlayer(args[1], speaker)
10659
	for i,v in pairs(players)do
10660
		speaker:RequestFriendship(Players[v])
10661
	end
10662
end)
10663
10664
addcmd('unfriend',{},function(args, speaker)
10665
	local players = getPlayer(args[1], speaker)
10666
	for i,v in pairs(players)do
10667
		speaker:RevokeFriendship(Players[v])
10668
	end
10669
end)
10670
10671
addcmd('bringpart',{},function(args, speaker)
10672
	for i,v in pairs(workspace:GetDescendants()) do
10673
		if v.Name:lower() == getstring(1):lower() and v:IsA("BasePart") then
10674
			v.CFrame = getRoot(speaker.Character).CFrame
10675
		end
10676
	end
10677
end)
10678
10679
addcmd('bringpartclass',{'bpc'},function(args, speaker)
10680
	for i,v in pairs(workspace:GetDescendants()) do
10681
		if v.ClassName:lower() == getstring(1):lower() and v:IsA("BasePart") then
10682
			v.CFrame = getRoot(speaker.Character).CFrame
10683
		end
10684
	end
10685
end)
10686
10687
gotopartDelay = 0.1
10688
addcmd('gotopart',{'topart'},function(args, speaker)
10689
	for i,v in pairs(workspace:GetDescendants()) do
10690
		if v.Name:lower() == getstring(1):lower() and v:IsA("BasePart") then
10691
			if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
10692
				speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
10693
				wait(.1)
10694
			end
10695
			wait(gotopartDelay)
10696
			getRoot(speaker.Character).CFrame = v.CFrame
10697
		end
10698
	end
10699
end)
10700
10701
addcmd('tweengotopart',{'tgotopart','ttopart'},function(args, speaker)
10702
	for i,v in pairs(workspace:GetDescendants()) do
10703
		if v.Name:lower() == getstring(1):lower() and v:IsA("BasePart") then
10704
			if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
10705
				speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
10706
				wait(.1)
10707
			end
10708
			wait(gotopartDelay)
10709
			TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = v.CFrame}):Play()
10710
		end
10711
	end
10712
end)
10713
10714
addcmd('gotopartclass',{'gpc'},function(args, speaker)
10715
	for i,v in pairs(workspace:GetDescendants()) do
10716
		if v.ClassName:lower() == getstring(1):lower() and v:IsA("BasePart") then
10717
			if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
10718
				speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
10719
				wait(.1)
10720
			end
10721
			wait(gotopartDelay)
10722
			getRoot(speaker.Character).CFrame = v.CFrame
10723
		end
10724
	end
10725
end)
10726
10727
addcmd('tweengotopartclass',{'tgpc'},function(args, speaker)
10728
	for i,v in pairs(workspace:GetDescendants()) do
10729
		if v.ClassName:lower() == getstring(1):lower() and v:IsA("BasePart") then
10730
			if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
10731
				speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
10732
				wait(.1)
10733
			end
10734
			wait(gotopartDelay)
10735
			TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = v.CFrame}):Play()
10736
		end
10737
	end
10738
end)
10739
10740
addcmd('gotomodel',{'tomodel'},function(args, speaker)
10741
	for i,v in pairs(workspace:GetDescendants()) do
10742
		if v.Name:lower() == getstring(1):lower() and v:IsA("Model") then
10743
			if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
10744
				speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
10745
				wait(.1)
10746
			end
10747
			wait(gotopartDelay)
10748
			getRoot(speaker.Character).CFrame = v:GetModelCFrame()
10749
		end
10750
	end
10751
end)
10752
10753
addcmd('tweengotomodel',{'tgotomodel','ttomodel'},function(args, speaker)
10754
	for i,v in pairs(workspace:GetDescendants()) do
10755
		if v.Name:lower() == getstring(1):lower() and v:IsA("Model") then
10756
			if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
10757
				speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
10758
				wait(.1)
10759
			end
10760
			wait(gotopartDelay)
10761
			TweenService:Create(getRoot(speaker.Character), TweenInfo.new(tweenSpeed, Enum.EasingStyle.Linear), {CFrame = v:GetModelCFrame()}):Play()
10762
		end
10763
	end
10764
end)
10765
10766
addcmd('gotopartdelay',{},function(args, speaker)
10767
	local gtpDelay = args[1] or 0.1
10768
	if isNumber(gtpDelay) then
10769
		gotopartDelay = gtpDelay
10770
	end
10771
end)
10772
10773
addcmd('noclickdetectorlimits',{'nocdlimits','removecdlimits'},function(args, speaker)
10774
	for i,v in ipairs(workspace:GetDescendants()) do
10775
		if v:IsA("ClickDetector") then
10776
			v.MaxActivationDistance = math.huge
10777
		end
10778
	end
10779
end)
10780
10781
addcmd('fireclickdetectors',{'firecd','firecds'}, function(args, speaker)
10782
	if fireclickdetector then
10783
		if args[1] then
10784
			local name = getstring(1)
10785
			for _, descendant in ipairs(workspace:GetDescendants()) do
10786
				if descendant:IsA("ClickDetector") and descendant.Name == name or descendant.Parent.Name == name then
10787
					fireclickdetector(descendant)
10788
				end
10789
			end
10790
		else
10791
			for _, descendant in ipairs(workspace:GetDescendants()) do
10792
				if descendant:IsA("ClickDetector") then
10793
					fireclickdetector(descendant)
10794
				end
10795
			end
10796
		end
10797
	else
10798
		notify("Incompatible Exploit", "Your exploit does not support this command (missing fireclickdetector)")
10799
	end
10800
end)
10801
10802
addcmd('noproximitypromptlimits',{'nopplimits','removepplimits'},function(args, speaker)
10803
	for i,v in pairs(workspace:GetDescendants()) do
10804
		if v:IsA("ProximityPrompt") then
10805
			v.MaxActivationDistance = math.huge
10806
		end
10807
	end
10808
end)
10809
10810
addcmd('fireproximityprompts',{'firepp'},function(args, speaker)
10811
	if fireproximityprompt then
10812
		if args[1] then
10813
			local name = getstring(1)
10814
			for _, descendant in ipairs(workspace:GetDescendants()) do
10815
				if descendant:IsA("ProximityPrompt") and descendant.Name == name or descendant.Parent.Name == name then
10816
					fireproximityprompt(descendant)
10817
				end
10818
			end
10819
		else
10820
			for _, descendant in ipairs(workspace:GetDescendants()) do
10821
				if descendant:IsA("ProximityPrompt") then
10822
					fireproximityprompt(descendant)
10823
				end
10824
			end
10825
		end
10826
	else
10827
		notify("Incompatible Exploit", "Your exploit does not support this command (missing fireproximityprompt)")
10828
	end
10829
end)
10830
10831
local PromptButtonHoldBegan = nil
10832
addcmd('instantproximityprompts',{'instantpp'},function(args, speaker)
10833
	if fireproximityprompt then
10834
		execCmd("uninstantproximityprompts")
10835
		wait(0.1)
10836
		PromptButtonHoldBegan = ProximityPromptService.PromptButtonHoldBegan:Connect(function(prompt)
10837
			fireproximityprompt(prompt)
10838
		end)
10839
	else
10840
		notify('Incompatible Exploit','Your exploit does not support this command (missing fireproximityprompt)')
10841
	end
10842
end)
10843
10844
addcmd('uninstantproximityprompts',{'uninstantpp'},function(args, speaker)
10845
	if PromptButtonHoldBegan ~= nil then
10846
		PromptButtonHoldBegan:Disconnect()
10847
		PromptButtonHoldBegan = nil
10848
	end
10849
end)
10850
10851
addcmd('notifyping',{'ping'},function(args, speaker)
10852
	notify("Ping", math.round(speaker:GetNetworkPing() * 1000) .. "ms")
10853
end)
10854
10855
addcmd('grabtools', {}, function(args, speaker)
10856
	local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid")
10857
	for _, child in ipairs(workspace:GetChildren()) do
10858
		if speaker.Character and child:IsA("BackpackItem") and child:FindFirstChild("Handle") then
10859
			humanoid:EquipTool(child)
10860
		end
10861
	end
10862
10863
	if grabtoolsFunc then 
10864
		grabtoolsFunc:Disconnect() 
10865
	end
10866
10867
	grabtoolsFunc = workspace.ChildAdded:Connect(function(child)
10868
		if speaker.Character and child:IsA("BackpackItem") and child:FindFirstChild("Handle") then
10869
			humanoid:EquipTool(child)
10870
		end
10871
	end)
10872
10873
	notify("Grabtools", "Picking up any dropped tools")
10874
end)
10875
10876
addcmd('nograbtools',{'ungrabtools'},function(args, speaker)
10877
	if grabtoolsFunc then 
10878
		grabtoolsFunc:Disconnect() 
10879
	end
10880
10881
	notify("Grabtools", "Grabtools has been disabled")
10882
end)
10883
10884
local specifictoolremoval = {}
10885
addcmd('removespecifictool',{},function(args, speaker)
10886
	if args[1] and speaker:FindFirstChildOfClass("Backpack") then
10887
		local tool = string.lower(getstring(1))
10888
		local RST = RunService.RenderStepped:Connect(function()
10889
			if speaker:FindFirstChildOfClass("Backpack") then
10890
				for i,v in pairs(speaker:FindFirstChildOfClass("Backpack"):GetChildren()) do
10891
					if v.Name:lower() == tool then
10892
						v:Remove()
10893
					end
10894
				end
10895
			end
10896
		end)
10897
		specifictoolremoval[tool] = RST
10898
	end
10899
end)
10900
10901
addcmd('unremovespecifictool',{},function(args, speaker)
10902
	if args[1] then
10903
		local tool = string.lower(getstring(1))
10904
		if specifictoolremoval[tool] ~= nil then
10905
			specifictoolremoval[tool]:Disconnect()
10906
			specifictoolremoval[tool] = nil
10907
		end
10908
	end
10909
end)
10910
10911
addcmd('clearremovespecifictool',{},function(args, speaker)
10912
	for obj in pairs(specifictoolremoval) do
10913
		specifictoolremoval[obj]:Disconnect()
10914
		specifictoolremoval[obj] = nil
10915
	end
10916
end)
10917
10918
addcmd('light',{},function(args, speaker)
10919
	local light = Instance.new("PointLight")
10920
	light.Parent = getRoot(speaker.Character)
10921
	light.Range = 30
10922
	if args[1] then
10923
		light.Brightness = args[2]
10924
		light.Range = args[1]
10925
	else
10926
		light.Brightness = 5
10927
	end
10928
end)
10929
10930
addcmd('unlight',{'nolight'},function(args, speaker)
10931
	for i,v in pairs(speaker.Character:GetDescendants()) do
10932
		if v.ClassName == "PointLight" then
10933
			v:Destroy()
10934
		end
10935
	end
10936
end)
10937
10938
addcmd('copytools',{},function(args, speaker)
10939
	local players = getPlayer(args[1], speaker)
10940
	for i,v in pairs(players)do
10941
		task.spawn(function()
10942
			for i,v in pairs(Players[v]:FindFirstChildOfClass("Backpack"):GetChildren()) do
10943
				if v:IsA('Tool') or v:IsA('HopperBin') then
10944
					v:Clone().Parent = speaker:FindFirstChildOfClass("Backpack")
10945
				end
10946
			end
10947
		end)
10948
	end
10949
end)
10950
10951
addcmd('naked',{},function(args, speaker)
10952
	for i,v in pairs(speaker.Character:GetDescendants()) do
10953
		if v:IsA("Clothing") or v:IsA("ShirtGraphic") then
10954
			v:Destroy()
10955
		end
10956
	end
10957
end)
10958
10959
addcmd('noface',{'removeface'},function(args, speaker)
10960
	for i,v in pairs(speaker.Character:GetDescendants()) do
10961
		if v:IsA("Decal") and v.Name == 'face' then
10962
			v:Destroy()
10963
		end
10964
	end
10965
end)
10966
10967
addcmd('spawnpoint',{'spawn'},function(args, speaker)
10968
	spawnpos = getRoot(speaker.Character).CFrame
10969
	spawnpoint = true
10970
	spDelay = tonumber(args[1]) or 0.1
10971
	notify('Spawn Point','Spawn point created at '..tostring(spawnpos))
10972
end)
10973
10974
addcmd('nospawnpoint',{'nospawn','removespawnpoint'},function(args, speaker)
10975
	spawnpoint = false
10976
	notify('Spawn Point','Removed spawn point')
10977
end)
10978
10979
addcmd('flashback',{'diedtp'},function(args, speaker)
10980
	if lastDeath ~= nil then
10981
		if speaker.Character:FindFirstChildOfClass('Humanoid') and speaker.Character:FindFirstChildOfClass('Humanoid').SeatPart then
10982
			speaker.Character:FindFirstChildOfClass('Humanoid').Sit = false
10983
			wait(.1)
10984
		end
10985
		getRoot(speaker.Character).CFrame = lastDeath
10986
	end
10987
end)
10988
10989
addcmd('hatspin',{'spinhats'},function(args, speaker)
10990
	execCmd('unhatspin')
10991
	wait(.5)
10992
	for _,v in pairs(speaker.Character:FindFirstChildOfClass('Humanoid'):GetAccessories()) do
10993
		local keep = Instance.new("BodyPosition") keep.Name = randomString() keep.Parent = v.Handle
10994
		local spin = Instance.new("BodyAngularVelocity") spin.Name = randomString() spin.Parent = v.Handle
10995
		v.Handle:FindFirstChildOfClass("Weld"):Destroy()
10996
		if args[1] then
10997
			spin.AngularVelocity = Vector3.new(0, args[1], 0)
10998
			spin.MaxTorque = Vector3.new(0, args[1] * 2, 0)
10999
		else
11000
			spin.AngularVelocity = Vector3.new(0, 100, 0)
11001
			spin.MaxTorque = Vector3.new(0, 200, 0)
11002
		end
11003
		keep.P = 30000
11004
		keep.D = 50
11005
		spinhats = RunService.Stepped:Connect(function()
11006
			pcall(function()
11007
				keep.Position = Players.LocalPlayer.Character.Head.Position
11008
			end)
11009
		end)
11010
	end
11011
end)
11012
11013
addcmd('unhatspin',{'unspinhats'},function(args, speaker)
11014
	if spinhats then
11015
		spinhats:Disconnect()
11016
	end
11017
	for _,v in pairs(speaker.Character:FindFirstChildOfClass('Humanoid'):GetAccessories()) do
11018
		v.Parent = workspace
11019
		for i,c in pairs(v.Handle) do
11020
			if c:IsA("BodyPosition") or c:IsA("BodyAngularVelocity") then
11021
				c:Destroy()
11022
			end
11023
		end
11024
		wait()
11025
		v.Parent = speaker.Character
11026
	end
11027
end)
11028
11029
addcmd('clearhats',{'cleanhats'},function(args, speaker)
11030
	if firetouchinterest then
11031
		local Player = Players.LocalPlayer
11032
		local Character = Player.Character
11033
		local Old = Character:FindFirstChild("HumanoidRootPart").CFrame
11034
		local Hats = {}
11035
11036
		for _, child in ipairs(workspace:GetChildren()) do
11037
			if child:IsA("Accessory") then
11038
				table.insert(Hats, child)
11039
			end
11040
		end
11041
11042
		for _, accessory in ipairs(Character:FindFirstChildOfClass("Humanoid"):GetAccessories()) do
11043
			accessory:Destroy()
11044
		end
11045
11046
		for i = 1, #Hats do
11047
			repeat RunService.Heartbeat:wait() until Hats[i]
11048
			firetouchinterest(Hats[i].Handle,Character:FindFirstChild("HumanoidRootPart"),0)
11049
			repeat RunService.Heartbeat:wait() until Character:FindFirstChildOfClass("Accessory")
11050
			Character:FindFirstChildOfClass("Accessory"):Destroy()
11051
			repeat RunService.Heartbeat:wait() until not Character:FindFirstChildOfClass("Accessory")
11052
		end
11053
11054
		execCmd("reset")
11055
11056
		Player.CharacterAdded:Wait()
11057
11058
		for i = 1,20 do 
11059
			RunService.Heartbeat:Wait()
11060
			if Player.Character:FindFirstChild("HumanoidRootPart") then
11061
				Player.Character:FindFirstChild("HumanoidRootPart").CFrame = Old
11062
			end
11063
		end
11064
	else
11065
		notify("Incompatible Exploit","Your exploit does not support this command (missing firetouchinterest)")
11066
	end
11067
end)
11068
11069
addcmd('split',{},function(args, speaker)
11070
	if r15(speaker) then
11071
		speaker.Character.UpperTorso.Waist:Destroy()
11072
	else
11073
		notify('R15 Required','This command requires the r15 rig type')
11074
	end
11075
end)
11076
11077
addcmd('nilchar',{},function(args, speaker)
11078
	if speaker.Character ~= nil then
11079
		speaker.Character.Parent = nil
11080
	end
11081
end)
11082
11083
addcmd('unnilchar',{'nonilchar'},function(args, speaker)
11084
	if speaker.Character ~= nil then
11085
		speaker.Character.Parent = workspace
11086
	end
11087
end)
11088
11089
addcmd('noroot',{'removeroot','rroot'},function(args, speaker)
11090
	if speaker.Character ~= nil then
11091
		local char = Players.LocalPlayer.Character
11092
		char.Parent = nil
11093
		char.HumanoidRootPart:Destroy()
11094
		char.Parent = workspace
11095
	end
11096
end)
11097
11098
addcmd('replaceroot',{'replacerootpart'},function(args, speaker)
11099
	if speaker.Character ~= nil and speaker.Character:FindFirstChild("HumanoidRootPart") then
11100
		local Char = speaker.Character
11101
		local OldParent = Char.Parent
11102
		local HRP = Char and Char:FindFirstChild("HumanoidRootPart")
11103
		local OldPos = HRP.CFrame
11104
		Char.Parent = game
11105
		local HRP1 = HRP:Clone()
11106
		HRP1.Parent = Char
11107
		HRP = HRP:Destroy()
11108
		HRP1.CFrame = OldPos
11109
		Char.Parent = OldParent
11110
	end
11111
end)
11112
11113
addcmd('clearcharappearance',{'clearchar','clrchar'},function(args, speaker)
11114
	speaker:ClearCharacterAppearance()
11115
end)
11116
11117
addcmd('equiptools',{},function(args, speaker)
11118
	for i,v in pairs(speaker:FindFirstChildOfClass("Backpack"):GetChildren()) do
11119
		if v:IsA("Tool") or v:IsA("HopperBin") then
11120
			v.Parent = speaker.Character
11121
		end
11122
	end
11123
end)
11124
11125
addcmd('unequiptools',{},function(args, speaker)
11126
	speaker.Character:FindFirstChildOfClass('Humanoid'):UnequipTools()
11127
end)
11128
11129
local function GetHandleTools(p)
11130
	p = p or Players.LocalPlayer
11131
	local r = {}
11132
	for _, v in ipairs(p.Character and p.Character:GetChildren() or {}) do
11133
		if v.IsA(v, "BackpackItem") and v.FindFirstChild(v, "Handle") then
11134
			r[#r + 1] = v
11135
		end
11136
	end
11137
	for _, v in ipairs(p.Backpack:GetChildren()) do
11138
		if v.IsA(v, "BackpackItem") and v.FindFirstChild(v, "Handle") then
11139
			r[#r + 1] = v
11140
		end
11141
	end
11142
	return r
11143
end
11144
addcmd('dupetools', {'clonetools'}, function(args, speaker)
11145
	local LOOP_NUM = tonumber(args[1]) or 1
11146
	local OrigPos = speaker.Character.HumanoidRootPart.Position
11147
	local Tools, TempPos = {}, Vector3.new(math.random(-2e5, 2e5), 2e5, math.random(-2e5, 2e5))
11148
	for i = 1, LOOP_NUM do
11149
		local Human = speaker.Character:WaitForChild("Humanoid")
11150
		wait(.1, Human.Parent:MoveTo(TempPos))
11151
		Human.RootPart.Anchored = speaker:ClearCharacterAppearance(wait(.1)) or true
11152
		local t = GetHandleTools(speaker)
11153
		while #t > 0 do
11154
			for _, v in ipairs(t) do
11155
				task.spawn(function()
11156
					for _ = 1, 25 do
11157
						v.Parent = speaker.Character
11158
						v.Handle.Anchored = true
11159
					end
11160
					for _ = 1, 5 do
11161
						v.Parent = workspace
11162
					end
11163
					table.insert(Tools, v.Handle)
11164
				end)
11165
			end
11166
			t = GetHandleTools(speaker)
11167
		end
11168
		wait(.1)
11169
		speaker.Character = speaker.Character:Destroy()
11170
		speaker.CharacterAdded:Wait():WaitForChild("Humanoid").Parent:MoveTo(LOOP_NUM == i and OrigPos or TempPos, wait(.1))
11171
		if i == LOOP_NUM or i % 5 == 0 then
11172
			local HRP = speaker.Character.HumanoidRootPart
11173
			if type(firetouchinterest) == "function" then
11174
				for _, v in ipairs(Tools) do
11175
					v.Anchored = not firetouchinterest(v, HRP, 1, firetouchinterest(v, HRP, 0)) and false or false
11176
				end
11177
			else
11178
				for _, v in ipairs(Tools) do
11179
					task.spawn(function()
11180
						local x = v.CanCollide
11181
						v.CanCollide = false
11182
						v.Anchored = false
11183
						for _ = 1, 10 do
11184
							v.CFrame = HRP.CFrame
11185
							wait()
11186
						end
11187
						v.CanCollide = x
11188
					end)
11189
				end
11190
			end
11191
			wait(.1)
11192
			Tools = {}
11193
		end
11194
		TempPos = TempPos + Vector3.new(10, math.random(-5, 5), 0)
11195
	end
11196
end)
11197
11198
local RS = RunService.RenderStepped
11199
11200
addcmd('touchinterests', {'touchinterest', 'firetouchinterests', 'firetouchinterest'}, function(args, speaker)
11201
	if not firetouchinterest then
11202
		notify("Incompatible Exploit", "Your exploit does not support this command (missing firetouchinterest)")
11203
		return
11204
	end
11205
11206
	local root = getRoot(speaker.Character) or speaker.Character:FindFirstChildWhichIsA("BasePart")
11207
11208
	local function touch(x)
11209
		x = x:FindFirstAncestorWhichIsA("Part")
11210
		if x then
11211
			if firetouchinterest then
11212
				task.spawn(function()
11213
					firetouchinterest(x, root, 1)
11214
					wait()
11215
					firetouchinterest(x, root, 0)
11216
				end)
11217
			end
11218
			x.CFrame = root.CFrame
11219
		end
11220
	end
11221
11222
	if args[1] then
11223
		local name = getstring(1)
11224
		for _, descendant in ipairs(workspace:GetDescendants()) do
11225
			if descendant:IsA("TouchTransmitter") and descendant.Name == name or descendant.Parent.Name == name then
11226
				touch(descendant)
11227
			end
11228
		end
11229
	else
11230
		for _, descendant in ipairs(workspace:GetDescendants()) do
11231
			if descendant:IsA("TouchTransmitter") then
11232
				touch(descendant)
11233
			end
11234
		end
11235
	end
11236
end)
11237
11238
addcmd('fullbright',{'fb','fullbrightness'},function(args, speaker)
11239
	Lighting.Brightness = 2
11240
	Lighting.ClockTime = 14
11241
	Lighting.FogEnd = 100000
11242
	Lighting.GlobalShadows = false
11243
	Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128)
11244
end)
11245
11246
addcmd('loopfullbright',{'loopfb'},function(args, speaker)
11247
	if brightLoop then
11248
		brightLoop:Disconnect()
11249
	end
11250
	local function brightFunc()
11251
		Lighting.Brightness = 2
11252
		Lighting.ClockTime = 14
11253
		Lighting.FogEnd = 100000
11254
		Lighting.GlobalShadows = false
11255
		Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128)
11256
	end
11257
11258
	brightLoop = RunService.RenderStepped:Connect(brightFunc)
11259
end)
11260
11261
addcmd('unloopfullbright',{'unloopfb'},function(args, speaker)
11262
	if brightLoop then
11263
		brightLoop:Disconnect()
11264
	end
11265
end)
11266
11267
addcmd('ambient',{},function(args, speaker)
11268
	Lighting.Ambient = Color3.new(args[1],args[2],args[3])
11269
	Lighting.OutdoorAmbient = Color3.new(args[1],args[2],args[3])
11270
end)
11271
11272
addcmd('day',{},function(args, speaker)
11273
	Lighting.ClockTime = 14
11274
end)
11275
11276
addcmd('night',{},function(args, speaker)
11277
	Lighting.ClockTime = 0
11278
end)
11279
11280
addcmd('nofog',{},function(args, speaker)
11281
	Lighting.FogEnd = 100000
11282
	for i,v in pairs(Lighting:GetDescendants()) do
11283
		if v:IsA("Atmosphere") then
11284
			v:Destroy()
11285
		end
11286
	end
11287
end)
11288
11289
addcmd('brightness',{},function(args, speaker)
11290
	Lighting.Brightness = args[1]
11291
end)
11292
11293
addcmd('globalshadows',{'gshadows'},function(args, speaker)
11294
	Lighting.GlobalShadows = true
11295
end)
11296
11297
addcmd('unglobalshadows',{'nogshadows','ungshadows','noglobalshadows'},function(args, speaker)
11298
	Lighting.GlobalShadows = false
11299
end)
11300
11301
origsettings = {abt = Lighting.Ambient, oabt = Lighting.OutdoorAmbient, brt = Lighting.Brightness, time = Lighting.ClockTime, fe = Lighting.FogEnd, fs = Lighting.FogStart, gs = Lighting.GlobalShadows}
11302
11303
addcmd('restorelighting',{'rlighting'},function(args, speaker)
11304
	Lighting.Ambient = origsettings.abt
11305
	Lighting.OutdoorAmbient = origsettings.oabt
11306
	Lighting.Brightness = origsettings.brt
11307
	Lighting.ClockTime = origsettings.time
11308
	Lighting.FogEnd = origsettings.fe
11309
	Lighting.FogStart = origsettings.fs
11310
	Lighting.GlobalShadows = origsettings.gs
11311
end)
11312
11313
addcmd('stun',{'platformstand'},function(args, speaker)
11314
	speaker.Character:FindFirstChildOfClass('Humanoid').PlatformStand = true
11315
end)
11316
11317
addcmd('unstun',{'nostun','unplatformstand','noplatformstand'},function(args, speaker)
11318
	speaker.Character:FindFirstChildOfClass('Humanoid').PlatformStand = false
11319
end)
11320
11321
addcmd('norotate',{'noautorotate'},function(args, speaker)
11322
	speaker.Character:FindFirstChildOfClass('Humanoid').AutoRotate  = false
11323
end)
11324
11325
addcmd('unnorotate',{'autorotate'},function(args, speaker)
11326
	speaker.Character:FindFirstChildOfClass('Humanoid').AutoRotate  = true
11327
end)
11328
11329
addcmd('enablestate',{},function(args, speaker)
11330
	local x = args[1]
11331
	if not tonumber(x) then
11332
		local x = Enum.HumanoidStateType[args[1]]
11333
	end
11334
	speaker.Character:FindFirstChildOfClass("Humanoid"):SetStateEnabled(x, true)
11335
end)
11336
11337
addcmd('disablestate',{},function(args, speaker)
11338
	local x = args[1]
11339
	if not tonumber(x) then
11340
		local x = Enum.HumanoidStateType[args[1]]
11341
	end
11342
	speaker.Character:FindFirstChildOfClass("Humanoid"):SetStateEnabled(x, false)
11343
end)
11344
11345
addcmd('drophats',{'drophat'},function(args, speaker)
11346
	if speaker.Character then
11347
		for _,v in pairs(speaker.Character:FindFirstChildOfClass('Humanoid'):GetAccessories()) do
11348
			v.Parent = workspace
11349
		end
11350
	end
11351
end)
11352
11353
addcmd('deletehats',{'nohats','rhats'},function(args, speaker)
11354
	for i,v in next, speaker.Character:GetDescendants() do
11355
		if v:IsA("Accessory") then
11356
			for i,p in next, v:GetDescendants() do
11357
				if p:IsA("Weld") then
11358
					p:Destroy()
11359
				end
11360
			end
11361
		end
11362
	end
11363
end)
11364
11365
addcmd('droptools',{'droptool'},function(args, speaker)
11366
	for i,v in pairs(Players.LocalPlayer.Backpack:GetChildren()) do
11367
		if v:IsA("Tool") then
11368
			v.Parent = Players.LocalPlayer.Character
11369
		end
11370
	end
11371
	wait()
11372
	for i,v in pairs(Players.LocalPlayer.Character:GetChildren()) do
11373
		if v:IsA("Tool") then
11374
			v.Parent = workspace
11375
		end
11376
	end
11377
end)
11378
11379
addcmd('droppabletools',{},function(args, speaker)
11380
	if speaker.Character then
11381
		for _,obj in pairs(speaker.Character:GetChildren()) do
11382
			if obj:IsA("Tool") then
11383
				obj.CanBeDropped = true
11384
			end
11385
		end
11386
	end
11387
	if speaker:FindFirstChildOfClass("Backpack") then
11388
		for _,obj in pairs(speaker:FindFirstChildOfClass("Backpack"):GetChildren()) do
11389
			if obj:IsA("Tool") then
11390
				obj.CanBeDropped = true
11391
			end
11392
		end
11393
	end
11394
end)
11395
11396
local currentToolSize = ""
11397
local currentGripPos = ""
11398
addcmd('reach',{},function(args, speaker)
11399
	execCmd('unreach')
11400
	wait()
11401
	for i,v in pairs(speaker.Character:GetDescendants()) do
11402
		if v:IsA("Tool") then
11403
			if args[1] then
11404
				currentToolSize = v.Handle.Size
11405
				currentGripPos = v.GripPos
11406
				local a = Instance.new("SelectionBox")
11407
				a.Name = "SelectionBoxCreated"
11408
				a.Parent = v.Handle
11409
				a.Adornee = v.Handle
11410
				v.Handle.Massless = true
11411
				v.Handle.Size = Vector3.new(0.5,0.5,args[1])
11412
				v.GripPos = Vector3.new(0,0,0)
11413
				speaker.Character:FindFirstChildOfClass('Humanoid'):UnequipTools()
11414
			else
11415
				currentToolSize = v.Handle.Size
11416
				currentGripPos = v.GripPos
11417
				local a = Instance.new("SelectionBox")
11418
				a.Name = "SelectionBoxCreated"
11419
				a.Parent = v.Handle
11420
				a.Adornee = v.Handle
11421
				v.Handle.Massless = true
11422
				v.Handle.Size = Vector3.new(0.5,0.5,60)
11423
				v.GripPos = Vector3.new(0,0,0)
11424
				speaker.Character:FindFirstChildOfClass('Humanoid'):UnequipTools()
11425
			end
11426
		end
11427
	end
11428
end)
11429
11430
addcmd("boxreach", {}, function(args, speaker)
11431
    execCmd("unreach")
11432
    wait()
11433
    for i, v in pairs(speaker.Character:GetDescendants()) do
11434
        if v:IsA("Tool") then
11435
            local size = tonumber(args[1]) or 60
11436
            currentToolSize = v.Handle.Size
11437
            currentGripPos = v.GripPos
11438
            local a = Instance.new("SelectionBox")
11439
            a.Name = "SelectionBoxCreated"
11440
            a.Parent = v.Handle
11441
            a.Adornee = v.Handle
11442
            v.Handle.Massless = true
11443
            v.Handle.Size = Vector3.new(size, size, size)
11444
            v.GripPos = Vector3.new(0, 0, 0)
11445
            speaker.Character:FindFirstChildOfClass("Humanoid"):UnequipTools()
11446
        end
11447
    end
11448
end)
11449
11450
addcmd('unreach',{'noreach','unboxreach'},function(args, speaker)
11451
	for i,v in pairs(speaker.Character:GetDescendants()) do
11452
		if v:IsA("Tool") then
11453
			v.Handle.Size = currentToolSize
11454
			v.GripPos = currentGripPos
11455
			v.Handle.SelectionBoxCreated:Destroy()
11456
		end
11457
	end
11458
end)
11459
11460
addcmd('grippos',{},function(args, speaker)
11461
	for i,v in pairs(speaker.Character:GetDescendants()) do
11462
		if v:IsA("Tool") then
11463
			v.Parent = speaker:FindFirstChildOfClass("Backpack")
11464
			v.GripPos = Vector3.new(args[1],args[2],args[3])
11465
			v.Parent = speaker.Character
11466
		end
11467
	end
11468
end)
11469
11470
addcmd('usetools', {}, function(args, speaker)
11471
	local Backpack = speaker:FindFirstChildOfClass("Backpack")
11472
	local amount = tonumber(args[1]) or 1
11473
	local delay_ = tonumber(args[2]) or false
11474
	for _, v in ipairs(Backpack:GetChildren()) do
11475
		v.Parent = speaker.Character
11476
		task.spawn(function()
11477
			for _ = 1, amount do
11478
				v:Activate()
11479
				if delay_ then
11480
					wait(delay_)
11481
				end
11482
			end
11483
			v.Parent = Backpack
11484
		end)
11485
	end
11486
end)
11487
11488
addcmd('logs',{},function(args, speaker)
11489
	logs:TweenPosition(UDim2.new(0, 0, 1, -265), "InOut", "Quart", 0.3, true, nil)
11490
end)
11491
11492
addcmd('chatlogs',{'clogs'},function(args, speaker)
11493
	join.Visible = false
11494
	chat.Visible = true
11495
	table.remove(shade3,table.find(shade3,selectChat))
11496
	table.remove(shade2,table.find(shade2,selectJoin))
11497
	table.insert(shade2,selectChat)
11498
	table.insert(shade3,selectJoin)
11499
	selectJoin.BackgroundColor3 = currentShade3
11500
	selectChat.BackgroundColor3 = currentShade2
11501
	logs:TweenPosition(UDim2.new(0, 0, 1, -265), "InOut", "Quart", 0.3, true, nil)
11502
end)
11503
11504
addcmd('joinlogs',{'jlogs'},function(args, speaker)
11505
	chat.Visible = false
11506
	join.Visible = true	
11507
	table.remove(shade3,table.find(shade3,selectJoin))
11508
	table.remove(shade2,table.find(shade2,selectChat))
11509
	table.insert(shade2,selectJoin)
11510
	table.insert(shade3,selectChat)
11511
	selectChat.BackgroundColor3 = currentShade3
11512
	selectJoin.BackgroundColor3 = currentShade2
11513
	logs:TweenPosition(UDim2.new(0, 0, 1, -265), "InOut", "Quart", 0.3, true, nil)
11514
end)
11515
11516
addcmd("chatlogswebhook", {"logswebhook"}, function(args, speaker)
11517
    if httprequest then
11518
        logsWebhook = args[1] or nil
11519
        updatesaves()
11520
    else
11521
        notify("Incompatible Exploit", "Your exploit does not support this command (missing request)")
11522
    end
11523
end)
11524
11525
addcmd("antichatlogs", {"antichatlogger"}, function(args, speaker)
11526
    if not isLegacyChat then
11527
        return notify("antichatlogs", "Game needs the legacy chat")
11528
    end
11529
    local MessagePosted, _ = pcall(function()
11530
        rawset(require(speaker:FindFirstChild("PlayerScripts"):FindFirstChild("ChatScript").ChatMain), "MessagePosted", {
11531
            ["fire"] = function(msg)
11532
                return msg
11533
            end,
11534
            ["wait"] = function()
11535
                return
11536
            end,
11537
            ["connect"] = function()
11538
                return
11539
            end
11540
        })
11541
    end)
11542
    notify("antichatlogs", MessagePosted and "Enabled" or "Failed to enable antichatlogs")
11543
end)
11544
11545
flinging = false
11546
addcmd('fling',{},function(args, speaker)
11547
	flinging = false
11548
	for _, child in pairs(speaker.Character:GetDescendants()) do
11549
		if child:IsA("BasePart") then
11550
			child.CustomPhysicalProperties = PhysicalProperties.new(100, 0.3, 0.5)
11551
		end
11552
	end
11553
	execCmd('noclip')
11554
	wait(.1)
11555
	local bambam = Instance.new("BodyAngularVelocity")
11556
	bambam.Name = randomString()
11557
	bambam.Parent = getRoot(speaker.Character)
11558
	bambam.AngularVelocity = Vector3.new(0,99999,0)
11559
	bambam.MaxTorque = Vector3.new(0,math.huge,0)
11560
	bambam.P = math.huge
11561
	local Char = speaker.Character:GetChildren()
11562
	for i, v in next, Char do
11563
		if v:IsA("BasePart") then
11564
			v.CanCollide = false
11565
			v.Massless = true
11566
			v.Velocity = Vector3.new(0, 0, 0)
11567
		end
11568
	end
11569
	flinging = true
11570
	local function flingDiedF()
11571
		execCmd('unfling')
11572
	end
11573
	flingDied = speaker.Character:FindFirstChildOfClass('Humanoid').Died:Connect(flingDiedF)
11574
	repeat
11575
		bambam.AngularVelocity = Vector3.new(0,99999,0)
11576
		wait(.2)
11577
		bambam.AngularVelocity = Vector3.new(0,0,0)
11578
		wait(.1)
11579
	until flinging == false
11580
end)
11581
11582
addcmd('unfling',{'nofling'},function(args, speaker)
11583
	execCmd('clip')
11584
	if flingDied then
11585
		flingDied:Disconnect()
11586
	end
11587
	flinging = false
11588
	wait(.1)
11589
	local speakerChar = speaker.Character
11590
	if not speakerChar or not getRoot(speakerChar) then return end
11591
	for i,v in pairs(getRoot(speakerChar):GetChildren()) do
11592
		if v.ClassName == 'BodyAngularVelocity' then
11593
			v:Destroy()
11594
		end
11595
	end
11596
	for _, child in pairs(speakerChar:GetDescendants()) do
11597
		if child.ClassName == "Part" or child.ClassName == "MeshPart" then
11598
			child.CustomPhysicalProperties = PhysicalProperties.new(0.7, 0.3, 0.5)
11599
		end
11600
	end
11601
end)
11602
11603
addcmd('togglefling',{},function(args, speaker)
11604
	if flinging then
11605
		execCmd('unfling')
11606
	else
11607
		execCmd('fling')
11608
	end
11609
end)
11610
11611
addcmd("flyfling", {}, function(args, speaker)
11612
    execCmd("unvehiclefly\\unwalkfling")
11613
    wait()
11614
    if args[1] and isNumber(args[1]) then
11615
        vehicleflyspeed = args[1]
11616
    end
11617
    execCmd("vehiclefly\\walkfling")
11618
end)
11619
11620
addcmd("unflyfling", {}, function(args, speaker)
11621
    execCmd("unvehiclefly\\unwalkfling\\breakvelocity")
11622
end)
11623
11624
addcmd("toggleflyfling", {}, function(args, speaker)
11625
    execCmd(flinging and "unflyfling" or "flyfling")
11626
end)
11627
11628
walkflinging = false
11629
addcmd("walkfling", {}, function(args, speaker)
11630
    execCmd("unwalkfling")
11631
    local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid")
11632
    if humanoid then
11633
        humanoid.Died:Connect(function()
11634
            execCmd("unwalkfling")
11635
        end)
11636
    end
11637
11638
    execCmd("noclip nonotify")
11639
    walkflinging = true
11640
    repeat RunService.Heartbeat:Wait()
11641
        local character = speaker.Character
11642
        local root = getRoot(character)
11643
        local vel, movel = nil, 0.1
11644
11645
        while not (character and character.Parent and root and root.Parent) do
11646
            RunService.Heartbeat:Wait()
11647
            character = speaker.Character
11648
            root = getRoot(character)
11649
        end
11650
11651
        vel = root.Velocity
11652
        root.Velocity = vel * 10000 + Vector3.new(0, 10000, 0)
11653
11654
        RunService.RenderStepped:Wait()
11655
        if character and character.Parent and root and root.Parent then
11656
            root.Velocity = vel
11657
        end
11658
11659
        RunService.Stepped:Wait()
11660
        if character and character.Parent and root and root.Parent then
11661
            root.Velocity = vel + Vector3.new(0, movel, 0)
11662
            movel = movel * -1
11663
        end
11664
    until walkflinging == false
11665
end)
11666
11667
addcmd("unwalkfling", {"nowalkfling"}, function(args, speaker)
11668
    walkflinging = false
11669
    execCmd("unnoclip nonotify")
11670
end)
11671
11672
addcmd("togglewalkfling", {}, function(args, speaker)
11673
    execCmd(walkflinging and "unwalkfling" or "walkfling")
11674
end)
11675
11676
addcmd('invisfling',{},function(args, speaker)
11677
	local ch = speaker.Character
11678
	ch:FindFirstChildWhichIsA("Humanoid"):SetStateEnabled(Enum.HumanoidStateType.Dead, false)
11679
	local prt=Instance.new("Model")
11680
	prt.Parent = speaker.Character
11681
	local z1 = Instance.new("Part")
11682
	z1.Name="Torso"
11683
	z1.CanCollide = false
11684
	z1.Anchored = true
11685
	local z2 = Instance.new("Part")
11686
	z2.Name="Head"
11687
	z2.Parent = prt
11688
	z2.Anchored = true
11689
	z2.CanCollide = false
11690
	local z3 =Instance.new("Humanoid")
11691
	z3.Name="Humanoid"
11692
	z3.Parent = prt
11693
	z1.Position = Vector3.new(0,9999,0)
11694
	speaker.Character=prt
11695
	wait(3)
11696
	speaker.Character=ch
11697
	wait(3)
11698
	local Hum = Instance.new("Humanoid")
11699
	z2:Clone()
11700
	Hum.Parent = speaker.Character
11701
	local root =  getRoot(speaker.Character)
11702
	for i,v in pairs(speaker.Character:GetChildren()) do
11703
		if v ~= root and  v.Name ~= "Humanoid" then
11704
			v:Destroy()
11705
		end
11706
	end
11707
	root.Transparency = 0
11708
	root.Color = Color3.new(1, 1, 1)
11709
	local invisflingStepped
11710
	invisflingStepped = RunService.Stepped:Connect(function()
11711
		if speaker.Character and getRoot(speaker.Character) then
11712
			getRoot(speaker.Character).CanCollide = false
11713
		else
11714
			invisflingStepped:Disconnect()
11715
		end
11716
	end)
11717
	sFLY()
11718
	workspace.CurrentCamera.CameraSubject = root
11719
	local bambam = Instance.new("BodyThrust")
11720
	bambam.Parent = getRoot(speaker.Character)
11721
	bambam.Force = Vector3.new(99999,99999*10,99999)
11722
	bambam.Location = getRoot(speaker.Character).Position
11723
end)
11724
11725
addcmd("antifling", {}, function(args, speaker)
11726
    if antifling then
11727
        antifling:Disconnect()
11728
        antifling = nil
11729
    end
11730
    antifling = RunService.Stepped:Connect(function()
11731
        for _, player in pairs(Players:GetPlayers()) do
11732
            if player ~= speaker and player.Character then
11733
                for _, v in pairs(player.Character:GetDescendants()) do
11734
                    if v:IsA("BasePart") then
11735
                        v.CanCollide = false
11736
                    end
11737
                end
11738
            end
11739
        end
11740
    end)
11741
end)
11742
11743
addcmd("unantifling", {}, function(args, speaker)
11744
    if antifling then
11745
        antifling:Disconnect()
11746
        antifling = nil
11747
    end
11748
end)
11749
11750
addcmd("toggleantifling", {}, function(args, speaker)
11751
    execCmd(antifling and "unantifling" or "antifling")
11752
end)
11753
11754
function attach(speaker,target)
11755
	if tools(speaker) then
11756
		local char = speaker.Character
11757
		local tchar = target.Character
11758
		local hum = speaker.Character:FindFirstChildOfClass("Humanoid")
11759
		local hrp = getRoot(speaker.Character)
11760
		local hrp2 = getRoot(target.Character)
11761
		hum.Name = "1"
11762
		local newHum = hum:Clone()
11763
		newHum.Parent = char
11764
		newHum.Name = "Humanoid"
11765
		wait()
11766
		hum:Destroy()
11767
		workspace.CurrentCamera.CameraSubject = char
11768
		newHum.DisplayDistanceType = "None"
11769
		local tool = speaker:FindFirstChildOfClass("Backpack"):FindFirstChildOfClass("Tool") or speaker.Character:FindFirstChildOfClass("Tool")
11770
		tool.Parent = char
11771
		hrp.CFrame = hrp2.CFrame * CFrame.new(0, 0, 0) * CFrame.new(math.random(-100, 100)/200,math.random(-100, 100)/200,math.random(-100, 100)/200)
11772
		local n = 0
11773
		repeat
11774
			wait(.1)
11775
			n = n + 1
11776
			hrp.CFrame = hrp2.CFrame
11777
		until (tool.Parent ~= char or not hrp or not hrp2 or not hrp.Parent or not hrp2.Parent or n > 250) and n > 2
11778
	else
11779
		notify('Tool Required','You need to have an item in your inventory to use this command')
11780
	end
11781
end
11782
11783
function kill(speaker,target,fast)
11784
	if tools(speaker) then
11785
		if target ~= nil then
11786
			local NormPos = getRoot(speaker.Character).CFrame
11787
			if not fast then
11788
				refresh(speaker)
11789
				wait()
11790
				repeat wait() until speaker.Character ~= nil and getRoot(speaker.Character)
11791
				wait(0.3)
11792
			end
11793
			local hrp = getRoot(speaker.Character)
11794
			attach(speaker,target)
11795
			repeat
11796
				wait()
11797
				hrp.CFrame = CFrame.new(999999, workspace.FallenPartsDestroyHeight + 5,999999)
11798
			until not getRoot(target.Character) or not getRoot(speaker.Character)
11799
			speaker.CharacterAdded:Wait():WaitForChild("HumanoidRootPart").CFrame = NormPos
11800
		end
11801
	else
11802
		notify('Tool Required','You need to have an item in your inventory to use this command')
11803
	end
11804
end
11805
11806
addcmd("handlekill", {"hkill"}, function(args, speaker)
11807
	if not firetouchinterest then
11808
		return notify("Incompatible Exploit", "Your exploit does not support this command (missing firetouchinterest)")
11809
	end
11810
	if not speaker.Character then return end
11811
	local tool = speaker.Character:FindFirstChildWhichIsA("Tool")
11812
	local handle = tool and tool:FindFirstChild("Handle")
11813
	if not handle then
11814
		return notify("Handle Kill", "You need to hold a \"Tool\" that does damage on touch. For example a common Sword tool.")
11815
	end
11816
	local range = tonumber(args[2]) or math.huge
11817
    if range ~= math.huge then notify("Handle Kill", ("Started!\nRadius: %s"):format(tostring(range):upper())) end
11818
11819
	while task.wait() and speaker.Character and tool.Parent and tool.Parent == speaker.Character do
11820
		for _, plr in next, getPlayer(args[1], speaker) do
11821
			plr = Players[plr]
11822
			if plr ~= speaker and plr.Character then
11823
				local hum = plr.Character:FindFirstChildWhichIsA("Humanoid")
11824
				local root = hum and getRoot(plr.Character)
11825
11826
				if root and hum.Health > 0 and hum:GetState() ~= Enum.HumanoidStateType.Dead and speaker:DistanceFromCharacter(root.Position) <= range then
11827
					firetouchinterest(handle, root, 1)
11828
					firetouchinterest(handle, root, 0)
11829
				end
11830
			end
11831
		end
11832
	end
11833
11834
	notify("Handle Kill", "Stopped!")
11835
end)
11836
11837
local hb = RunService.Heartbeat
11838
addcmd('tpwalk', {'teleportwalk'}, function(args, speaker)
11839
	tpwalking = true
11840
	local chr = speaker.Character
11841
	local hum = chr and chr:FindFirstChildWhichIsA("Humanoid")
11842
	while tpwalking and chr and hum and hum.Parent do
11843
		local delta = hb:Wait()
11844
		if hum.MoveDirection.Magnitude > 0 then
11845
			if args[1] and isNumber(args[1]) then
11846
				chr:TranslateBy(hum.MoveDirection * tonumber(args[1]) * delta * 10)
11847
			else
11848
				chr:TranslateBy(hum.MoveDirection * delta * 10)
11849
			end
11850
		end
11851
	end
11852
end)
11853
11854
addcmd('untpwalk', {'unteleportwalk'}, function(args, speaker)
11855
	tpwalking = false
11856
end)
11857
11858
function bring(speaker,target,fast)
11859
	if tools(speaker) then
11860
		if target ~= nil then
11861
			local NormPos = getRoot(speaker.Character).CFrame
11862
			if not fast then
11863
				refresh(speaker)
11864
				wait()
11865
				repeat wait() until speaker.Character ~= nil and getRoot(speaker.Character)
11866
				wait(0.3)
11867
			end
11868
			local hrp = getRoot(speaker.Character)
11869
			attach(speaker,target)
11870
			repeat
11871
				wait()
11872
				hrp.CFrame = NormPos
11873
			until not getRoot(target.Character) or not getRoot(speaker.Character)
11874
			speaker.CharacterAdded:Wait():WaitForChild("HumanoidRootPart").CFrame = NormPos
11875
		end
11876
	else
11877
		notify('Tool Required','You need to have an item in your inventory to use this command')
11878
	end
11879
end
11880
11881
function teleport(speaker,target,target2,fast)
11882
	if tools(speaker) then
11883
		if target ~= nil then
11884
			local NormPos = getRoot(speaker.Character).CFrame
11885
			if not fast then
11886
				refresh(speaker)
11887
				wait()
11888
				repeat wait() until speaker.Character ~= nil and getRoot(speaker.Character)
11889
				wait(0.3)
11890
			end
11891
			local hrp = getRoot(speaker.Character)
11892
			local hrp2 = getRoot(target2.Character)
11893
			attach(speaker,target)
11894
			repeat
11895
				wait()
11896
				hrp.CFrame = hrp2.CFrame
11897
			until not getRoot(target.Character) or not getRoot(speaker.Character)
11898
			wait(1)
11899
			speaker.CharacterAdded:Wait():WaitForChild("HumanoidRootPart").CFrame = NormPos
11900
		end
11901
	else
11902
		notify('Tool Required','You need to have an item in your inventory to use this command')
11903
	end
11904
end
11905
11906
addcmd('spin',{},function(args, speaker)
11907
	local spinSpeed = 20
11908
	if args[1] and isNumber(args[1]) then
11909
		spinSpeed = args[1]
11910
	end
11911
	for i,v in pairs(getRoot(speaker.Character):GetChildren()) do
11912
		if v.Name == "Spinning" then
11913
			v:Destroy()
11914
		end
11915
	end
11916
	local Spin = Instance.new("BodyAngularVelocity")
11917
	Spin.Name = "Spinning"
11918
	Spin.Parent = getRoot(speaker.Character)
11919
	Spin.MaxTorque = Vector3.new(0, math.huge, 0)
11920
	Spin.AngularVelocity = Vector3.new(0,spinSpeed,0)
11921
end)
11922
11923
addcmd('unspin',{},function(args, speaker)
11924
	for i,v in pairs(getRoot(speaker.Character):GetChildren()) do
11925
		if v.Name == "Spinning" then
11926
			v:Destroy()
11927
		end
11928
	end
11929
end)
11930
11931
xrayEnabled = false
11932
function xray()
11933
    for _, v in pairs(workspace:GetDescendants()) do
11934
        if v:IsA("BasePart") and not v.Parent:FindFirstChildWhichIsA("Humanoid") and not v.Parent.Parent:FindFirstChildWhichIsA("Humanoid") then
11935
            v.LocalTransparencyModifier = xrayEnabled and 0.5 or 0
11936
        end
11937
    end
11938
end
11939
11940
addcmd("xray", {}, function(args, speaker)
11941
    xrayEnabled = true
11942
    xray()
11943
end)
11944
11945
addcmd("unxray", {"noxray"}, function(args, speaker)
11946
    xrayEnabled = false
11947
    xray()
11948
end)
11949
11950
addcmd("togglexray", {}, function(args, speaker)
11951
    xrayEnabled = not xrayEnabled
11952
    xray()
11953
end)
11954
11955
addcmd("loopxray", {}, function(args, speaker)
11956
    pcall(function() xrayLoop:Disconnect() end)
11957
    xrayLoop = RunService.RenderStepped:Connect(function()
11958
        xrayEnabled = true
11959
        xray()
11960
    end)
11961
end)
11962
11963
addcmd("unloopxray", {}, function(args, speaker)
11964
    pcall(function() xrayLoop:Disconnect() end)
11965
    xrayEnabled = false
11966
    xray()
11967
end)
11968
11969
local walltpTouch = nil
11970
addcmd('walltp',{},function(args, speaker)
11971
	local torso
11972
	if r15(speaker) then
11973
		torso = speaker.Character.UpperTorso
11974
	else
11975
		torso = speaker.Character.Torso
11976
	end
11977
	local function touchedFunc(hit)
11978
		local Root = getRoot(speaker.Character)
11979
		if hit:IsA("BasePart") and hit.Position.Y > Root.Position.Y - speaker.Character:FindFirstChildOfClass('Humanoid').HipHeight then
11980
			local hitP = getRoot(hit.Parent)
11981
			if hitP ~= nil then
11982
				Root.CFrame = hit.CFrame * CFrame.new(Root.CFrame.lookVector.X,hitP.Size.Z/2 + speaker.Character:FindFirstChildOfClass('Humanoid').HipHeight,Root.CFrame.lookVector.Z)
11983
			elseif hitP == nil then
11984
				Root.CFrame = hit.CFrame * CFrame.new(Root.CFrame.lookVector.X,hit.Size.Y/2 + speaker.Character:FindFirstChildOfClass('Humanoid').HipHeight,Root.CFrame.lookVector.Z)
11985
			end
11986
		end
11987
	end
11988
	walltpTouch = torso.Touched:Connect(touchedFunc)
11989
end)
11990
11991
addcmd('unwalltp',{'nowalltp'},function(args, speaker)
11992
	if walltpTouch then
11993
		walltpTouch:Disconnect()
11994
	end
11995
end)
11996
11997
autoclicking = false
11998
addcmd('autoclick',{},function(args, speaker)
11999
	if mouse1press and mouse1release then
12000
		execCmd('unautoclick')
12001
		wait()
12002
		local clickDelay = 0.1
12003
		local releaseDelay = 0.1
12004
		if args[1] and isNumber(args[1]) then clickDelay = args[1] end
12005
		if args[2] and isNumber(args[2]) then releaseDelay = args[2] end
12006
		autoclicking = true
12007
		cancelAutoClick = UserInputService.InputBegan:Connect(function(input, gameProcessedEvent)
12008
			if not gameProcessedEvent then
12009
				if (input.KeyCode == Enum.KeyCode.Backspace and UserInputService:IsKeyDown(Enum.KeyCode.Equals)) or (input.KeyCode == Enum.KeyCode.Equals and UserInputService:IsKeyDown(Enum.KeyCode.Backspace)) then
12010
					autoclicking = false
12011
					cancelAutoClick:Disconnect()
12012
				end
12013
			end
12014
		end)
12015
		notify('Auto Clicker',"Press [backspace] and [=] at the same time to stop")
12016
		repeat wait(clickDelay)
12017
			mouse1press()
12018
			wait(releaseDelay)
12019
			mouse1release()
12020
		until autoclicking == false
12021
	else
12022
		notify('Auto Clicker',"Your exploit doesn't have the ability to use the autoclick")
12023
	end
12024
end)
12025
12026
addcmd('unautoclick',{'noautoclick'},function(args, speaker)
12027
	autoclicking = false
12028
	if cancelAutoClick then cancelAutoClick:Disconnect() end
12029
end)
12030
12031
addcmd('mousesensitivity',{'ms'},function(args, speaker)
12032
	UserInputService.MouseDeltaSensitivity = args[1]
12033
end)
12034
12035
local nameBox = nil
12036
local nbSelection = nil
12037
addcmd('hovername',{},function(args, speaker)
12038
	execCmd('unhovername')
12039
	wait()
12040
	nameBox = Instance.new("TextLabel")
12041
	nameBox.Name = randomString()
12042
	nameBox.Parent = ScaledHolder
12043
	nameBox.BackgroundTransparency = 1
12044
	nameBox.Size = UDim2.new(0,200,0,30)
12045
	nameBox.Font = Enum.Font.Code
12046
	nameBox.TextSize = 16
12047
	nameBox.Text = ""
12048
	nameBox.TextColor3 = Color3.new(1, 1, 1)
12049
	nameBox.TextStrokeTransparency = 0
12050
	nameBox.TextXAlignment = Enum.TextXAlignment.Left
12051
	nameBox.ZIndex = 10
12052
	nbSelection = Instance.new('SelectionBox')
12053
	nbSelection.Name = randomString()
12054
	nbSelection.LineThickness = 0.03
12055
	nbSelection.Color3 = Color3.new(1, 1, 1)
12056
	local function updateNameBox()
12057
		local t
12058
		local target = IYMouse.Target
12059
12060
		if target then
12061
			local humanoid = target.Parent:FindFirstChildOfClass("Humanoid") or target.Parent.Parent:FindFirstChildOfClass("Humanoid")
12062
			if humanoid then
12063
				t = humanoid.Parent
12064
			end
12065
		end
12066
12067
		if t ~= nil then
12068
			local x = IYMouse.X
12069
			local y = IYMouse.Y
12070
			local xP
12071
			local yP
12072
			if IYMouse.X > 200 then
12073
				xP = x - 205
12074
				nameBox.TextXAlignment = Enum.TextXAlignment.Right
12075
			else
12076
				xP = x + 25
12077
				nameBox.TextXAlignment = Enum.TextXAlignment.Left
12078
			end
12079
			nameBox.Position = UDim2.new(0, xP, 0, y)
12080
			nameBox.Text = t.Name
12081
			nameBox.Visible = true
12082
			nbSelection.Parent = t
12083
			nbSelection.Adornee = t
12084
		else
12085
			nameBox.Visible = false
12086
			nbSelection.Parent = nil
12087
			nbSelection.Adornee = nil
12088
		end
12089
	end
12090
	nbUpdateFunc = IYMouse.Move:Connect(updateNameBox)
12091
end)
12092
12093
addcmd('unhovername',{'nohovername'},function(args, speaker)
12094
	if nbUpdateFunc then
12095
		nbUpdateFunc:Disconnect()
12096
		nameBox:Destroy()
12097
		nbSelection:Destroy()
12098
	end
12099
end)
12100
12101
addcmd('headsize',{},function(args, speaker)
12102
	local players = getPlayer(args[1], speaker)
12103
	for i,v in pairs(players) do
12104
		if Players[v] ~= speaker and Players[v].Character:FindFirstChild('Head') then
12105
			local sizeArg = tonumber(args[2])
12106
			local Size = Vector3.new(sizeArg,sizeArg,sizeArg)
12107
			local Head = Players[v].Character:FindFirstChild('Head')
12108
			if Head:IsA("BasePart") then
12109
				if not args[2] or sizeArg == 1 then
12110
					Head.Size = Vector3.new(2,1,1)
12111
				else
12112
					Head.Size = Size
12113
				end
12114
			end
12115
		end
12116
	end
12117
end)
12118
12119
addcmd('hitbox',{},function(args, speaker)
12120
	local players = getPlayer(args[1], speaker)
12121
	local transparency = args[3] and tonumber(args[3]) or 0.4
12122
	for i,v in pairs(players) do
12123
		if Players[v] ~= speaker and Players[v].Character:FindFirstChild('HumanoidRootPart') then
12124
			local sizeArg = tonumber(args[2])
12125
			local Size = Vector3.new(sizeArg,sizeArg,sizeArg)
12126
			local Root = Players[v].Character:FindFirstChild('HumanoidRootPart')
12127
			if Root:IsA("BasePart") then
12128
				if not args[2] or sizeArg == 1 then
12129
					Root.Size = Vector3.new(2,1,1)
12130
					Root.Transparency = transparency
12131
				else
12132
					Root.Size = Size
12133
					Root.Transparency = transparency
12134
				end
12135
			end
12136
		end
12137
	end
12138
end)
12139
12140
addcmd('stareat',{'stare'},function(args, speaker)
12141
	local players = getPlayer(args[1], speaker)
12142
	for i,v in pairs(players) do
12143
		if stareLoop then
12144
			stareLoop:Disconnect()
12145
		end
12146
		if not Players.LocalPlayer.Character:FindFirstChild("HumanoidRootPart") and Players[v].Character:FindFirstChild("HumanoidRootPart") then return end
12147
		local function stareFunc()
12148
			if Players.LocalPlayer.Character.PrimaryPart and Players:FindFirstChild(v) and Players[v].Character ~= nil and Players[v].Character:FindFirstChild("HumanoidRootPart") then
12149
				local chrPos=Players.LocalPlayer.Character.PrimaryPart.Position
12150
				local tPos=Players[v].Character:FindFirstChild("HumanoidRootPart").Position
12151
				local modTPos=Vector3.new(tPos.X,chrPos.Y,tPos.Z)
12152
				local newCF=CFrame.new(chrPos,modTPos)
12153
				Players.LocalPlayer.Character:SetPrimaryPartCFrame(newCF)
12154
			elseif not Players:FindFirstChild(v) then
12155
				stareLoop:Disconnect()
12156
			end
12157
		end
12158
12159
		stareLoop = RunService.RenderStepped:Connect(stareFunc)
12160
	end
12161
end)
12162
12163
addcmd('unstareat',{'unstare','nostare','nostareat'},function(args, speaker)
12164
	if stareLoop then
12165
		stareLoop:Disconnect()
12166
	end
12167
end)
12168
12169
RolewatchData = {Group = 0, Role = "", Leave = false}
12170
RolewatchConnection = Players.PlayerAdded:Connect(function(player)
12171
	if RolewatchData.Group == 0 then return end
12172
	if player:IsInGroup(RolewatchData.Group) then
12173
		if tostring(player:GetRoleInGroup(RolewatchData.Group)):lower() == RolewatchData.Role:lower() then
12174
			if RolewatchData.Leave == true then
12175
				Players.LocalPlayer:Kick("\n\nRolewatch\nPlayer \"" .. tostring(player.Name) .. "\" has joined with the Role \"" .. RolewatchData.Role .. "\"\n")
12176
			else
12177
				notify("Rolewatch", "Player \"" .. tostring(player.Name) .. "\" has joined with the Role \"" .. RolewatchData.Role .. "\"")
12178
			end
12179
		end
12180
	end
12181
end)
12182
12183
addcmd("rolewatch", {}, function(args, speaker)
12184
    local groupId = tonumber(args[1] or 0)
12185
    local roleName = args[2] and tostring(getstring(2))
12186
    if groupId and roleName then
12187
        RolewatchData.Group = groupId
12188
        RolewatchData.Role = roleName
12189
        notify("Rolewatch", "Watching Group ID \"" .. tostring(groupId) .. "\" for Role \"" .. roleName .. "\"")
12190
    end
12191
end)
12192
12193
addcmd("rolewatchstop", {}, function(args, speaker)
12194
    RolewatchData.Group = 0
12195
    RolewatchData.Role = ""
12196
    RolewatchData.Leave = false
12197
    notify("Rolewatch", "Disabled")
12198
end)
12199
12200
addcmd("rolewatchleave", {"unrolewatch"}, function(args, speaker)
12201
    RolewatchData.Leave = not RolewatchData.Leave
12202
    notify("Rolewatch", RolewatchData.Leave and "Leave has been Enabled" or "Leave has been Disabled")
12203
end)
12204
12205
staffRoles = {"mod", "admin", "staff", "dev", "founder", "owner", "supervis", "manager", "management", "executive", "president", "chairman", "chairwoman", "chairperson", "director"}
12206
12207
getStaffRole = function(player)
12208
    local playerRole = player:GetRoleInGroup(game.CreatorId)
12209
    local result = {Role = playerRole, Staff = false}
12210
    if player:IsInGroup(1200769) then
12211
        result.Role = "Roblox Employee"
12212
        result.Staff = true
12213
    end
12214
    for _, role in pairs(staffRoles) do
12215
        if string.find(string.lower(playerRole), role) then
12216
            result.Staff = true
12217
        end
12218
    end
12219
    return result
12220
end
12221
12222
addcmd("staffwatch", {}, function(args, speaker)
12223
    if staffwatchjoin then
12224
        staffwatchjoin:Disconnect()
12225
    end
12226
    if game.CreatorType == Enum.CreatorType.Group then
12227
        local found = {}
12228
        staffwatchjoin = Players.PlayerAdded:Connect(function(player)
12229
            local result = getStaffRole(player)
12230
            if result.Staff then
12231
                notify("Staffwatch", formatUsername(player) .. " is a " .. result.Role)
12232
            end
12233
        end)
12234
        for _, player in pairs(Players:GetPlayers()) do
12235
            local result = getStaffRole(player)
12236
            if result.Staff then
12237
                table.insert(found, formatUsername(player) .. " is a " .. result.Role)
12238
            end
12239
        end
12240
        if #found > 0 then
12241
            notify("Staffwatch", table.concat(found, ",\n"))
12242
        else
12243
            notify("Staffwatch", "Enabled")
12244
        end
12245
    else
12246
        notify("Staffwatch", "Game is not owned by a Group")
12247
    end
12248
end)
12249
12250
addcmd("unstaffwatch", {}, function(args, speaker)
12251
    if staffwatchjoin then
12252
        staffwatchjoin:Disconnect()
12253
    end
12254
    notify("Staffwatch", "Disabled")
12255
end)
12256
12257
addcmd('removeterrain',{'rterrain','noterrain'},function(args, speaker)
12258
	workspace:FindFirstChildOfClass('Terrain'):Clear()
12259
end)
12260
12261
addcmd('clearnilinstances',{'nonilinstances','cni'},function(args, speaker)
12262
	if getnilinstances then
12263
		for i,v in pairs(getnilinstances()) do
12264
			v:Destroy()
12265
		end
12266
	else
12267
		notify('Incompatible Exploit','Your exploit does not support this command (missing getnilinstances)')
12268
	end
12269
end)
12270
12271
addcmd('destroyheight',{'dh'},function(args, speaker)
12272
	local dh = args[1] or -500
12273
	if isNumber(dh) then
12274
		workspace.FallenPartsDestroyHeight = dh
12275
	end
12276
end)
12277
12278
OrgDestroyHeight = workspace.FallenPartsDestroyHeight
12279
addcmd("antivoid", {}, function(args, speaker)
12280
    execCmd("unantivoid nonotify")
12281
    task.wait()
12282
    antivoidloop = RunService.Stepped:Connect(function()
12283
        local root = getRoot(speaker.Character)
12284
        if root and root.Position.Y <= OrgDestroyHeight + 25 then
12285
            root.Velocity = root.Velocity + Vector3.new(0, 250, 0)
12286
        end
12287
    end)
12288
    if args[1] ~= "nonotify" then notify("antivoid", "Enabled") end
12289
end)
12290
12291
addcmd("unantivoid", {"noantivoid"}, function(args, speaker)
12292
    pcall(function() antivoidloop:Disconnect() end)
12293
    antivoidloop = nil
12294
    if args[1] ~= "nonotify" then notify("antivoid", "Disabled") end
12295
end)
12296
12297
antivoidWasEnabled = false
12298
addcmd("fakeout", {}, function(args, speaker)
12299
    local root = getRoot(speaker.Character)
12300
    local oldpos = root.CFrame
12301
    if antivoidloop then
12302
        execCmd("unantivoid nonotify")
12303
        antivoidWasEnabled = true
12304
    end
12305
    workspace.FallenPartsDestroyHeight = 0/1/0
12306
    root.CFrame = CFrame.new(Vector3.new(0, OrgDestroyHeight - 25, 0))
12307
    task.wait(1)
12308
    root.CFrame = oldpos
12309
    workspace.FallenPartsDestroyHeight = OrgDestroyHeight
12310
    if antivoidWasEnabled then
12311
        execCmd("antivoid nonotify")
12312
        antivoidWasEnabled = false
12313
    end
12314
end)
12315
12316
addcmd("trip", {}, function(args, speaker)
12317
    local humanoid = speaker.Character and speaker.Character:FindFirstChildWhichIsA("Humanoid")
12318
    local root = speaker.Character and getRoot(speaker.Character)
12319
    if humanoid and root then
12320
        humanoid:ChangeState(Enum.HumanoidStateType.FallingDown)
12321
        root.Velocity = root.CFrame.LookVector * 30
12322
    end
12323
end)
12324
12325
addcmd("removeads", {"adblock"}, function(args, speaker)
12326
    while wait() do
12327
        pcall(function()
12328
            for i, v in pairs(workspace:GetDescendants()) do
12329
                if v:IsA("PackageLink") then
12330
                    if v.Parent:FindFirstChild("ADpart") then
12331
                        v.Parent:Destroy()
12332
                    end
12333
                    if v.Parent:FindFirstChild("AdGuiAdornee") then
12334
                        v.Parent.Parent:Destroy()
12335
                    end
12336
                end
12337
            end
12338
        end)
12339
    end
12340
end)
12341
12342
addcmd("scare", {"spook"}, function(args, speaker)
12343
    local players = getPlayer(args[1], speaker)
12344
    local oldpos = nil
12345
12346
    for _, v in pairs(players) do
12347
        local root = speaker.Character and getRoot(speaker.Character)
12348
        local target = Players[v]
12349
        local targetRoot = target and target.Character and getRoot(target.Character)
12350
12351
        if root and targetRoot and target ~= speaker then
12352
            oldpos = root.CFrame
12353
            root.CFrame = targetRoot.CFrame + targetRoot.CFrame.lookVector * 2
12354
            root.CFrame = CFrame.new(root.Position, targetRoot.Position)
12355
            task.wait(0.5)
12356
            root.CFrame = oldpos
12357
        end
12358
    end
12359
end)
12360
12361
addcmd("alignmentkeys", {}, function(args, speaker)
12362
    alignmentKeys = UserInputService.InputBegan:Connect(function(input, gameProcessed)
12363
        if gameProcessed then return end
12364
        if input.KeyCode == Enum.KeyCode.Comma then workspace.CurrentCamera:PanUnits(-1) end
12365
        if input.KeyCode == Enum.KeyCode.Period then workspace.CurrentCamera:PanUnits(1) end
12366
    end)
12367
    alignmentKeysEmotes = StarterGui:GetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu)
12368
    StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, false)
12369
end)
12370
12371
addcmd("unalignmentkeys", {"noalignmentkeys"}, function(args, speaker)
12372
    if type(alignmentKeysEmotes) == "boolean" then
12373
        StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.EmotesMenu, alignmentKeysEmotes)
12374
    end
12375
    alignmentKeys:Disconnect()
12376
end)
12377
12378
addcmd("ctrllock", {}, function(args, speaker)
12379
    local mouseLockController = speaker.PlayerScripts:WaitForChild("PlayerModule"):WaitForChild("CameraModule"):WaitForChild("MouseLockController")
12380
    local boundKeys = mouseLockController:FindFirstChild("BoundKeys")
12381
12382
    if boundKeys then
12383
        boundKeys.Value = "LeftControl"
12384
    else
12385
        boundKeys = Instance.new("StringValue")
12386
        boundKeys.Name = "BoundKeys"
12387
        boundKeys.Value = "LeftControl"
12388
        boundKeys.Parent = mouseLockController
12389
    end
12390
end)
12391
12392
addcmd("unctrllock", {}, function(args, speaker)
12393
    local mouseLockController = speaker.PlayerScripts:WaitForChild("PlayerModule"):WaitForChild("CameraModule"):WaitForChild("MouseLockController")
12394
    local boundKeys = mouseLockController:FindFirstChild("BoundKeys")
12395
12396
    if boundKeys then
12397
        boundKeys.Value = "LeftShift"
12398
    else
12399
        boundKeys = Instance.new("StringValue")
12400
        boundKeys.Name = "BoundKeys"
12401
        boundKeys.Value = "LeftShift"
12402
        boundKeys.Parent = mouseLockController
12403
    end
12404
end)
12405
12406
addcmd("listento", {}, function(args, speaker)
12407
    execCmd("unlistento")
12408
    if not args[1] then return end
12409
12410
    local player = Players:FindFirstChild(getPlayer(args[1], speaker)[1])
12411
    local root = player and player.Character and getRoot(player.Character)
12412
12413
    if root then
12414
        SoundService:SetListener(Enum.ListenerType.ObjectPosition, root)
12415
        listentoChar = player.CharacterAdded:Connect(function()
12416
            repeat task.wait() until Players[player.Name].Character ~= nil and getRoot(Players[player.Name].Character)
12417
            SoundService:SetListener(Enum.ListenerType.ObjectPosition, getRoot(Players[player.Name].Character))
12418
        end)
12419
    end
12420
end)
12421
12422
addcmd("unlistento", {}, function(args, speaker)
12423
    SoundService:SetListener(Enum.ListenerType.Camera)
12424
    listentoChar:Disconnect()
12425
end)
12426
12427
addcmd("jerk", {}, function(args, speaker)
12428
    local humanoid = speaker.Character:FindFirstChildWhichIsA("Humanoid")
12429
    local backpack = speaker:FindFirstChildWhichIsA("Backpack")
12430
    if not humanoid or not backpack then return end
12431
12432
    local tool = Instance.new("Tool")
12433
    tool.Name = "Jerk Off"
12434
    tool.ToolTip = "in the stripped club. straight up \"jorking it\" . and by \"it\" , haha, well. let's justr say. My peanits."
12435
    tool.RequiresHandle = false
12436
    tool.Parent = backpack
12437
12438
    local jorkin = false
12439
    local track = nil
12440
12441
    local function stopTomfoolery()
12442
        jorkin = false
12443
        if track then
12444
            track:Stop()
12445
            track = nil
12446
        end
12447
    end
12448
12449
    tool.Equipped:Connect(function() jorkin = true end)
12450
    tool.Unequipped:Connect(stopTomfoolery)
12451
    humanoid.Died:Connect(stopTomfoolery)
12452
12453
    while task.wait() do
12454
        if not jorkin then continue end
12455
12456
        local isR15 = r15(speaker)
12457
        if not track then
12458
            local anim = Instance.new("Animation")
12459
            anim.AnimationId = not isR15 and "rbxassetid://72042024" or "rbxassetid://698251653"
12460
            track = humanoid:LoadAnimation(anim)
12461
        end
12462
12463
        track:Play()
12464
        track:AdjustSpeed(isR15 and 0.7 or 0.65)
12465
        track.TimePosition = 0.6
12466
        task.wait(0.1)
12467
        while track and track.TimePosition < (not isR15 and 0.65 or 0.7) do task.wait(0.1) end
12468
        if track then
12469
            track:Stop()
12470
            track = nil
12471
        end
12472
    end
12473
end)
12474
12475
addcmd("guiscale", {}, function(args, speaker)
12476
    if args[1] and isNumber(args[1]) then
12477
        local scale = tonumber(args[1])
12478
        if scale % 1 == 0 then scale = scale / 100 end
12479
        -- me when i divide and it explodes
12480
        if scale == 0.01 then scale = 1 end
12481
        if scale == 0.02 then scale = 2 end
12482
12483
        if scale >= 0.4 and scale <= 2 then
12484
            guiScale = scale
12485
        end
12486
    else
12487
        guiScale = defaultGuiScale
12488
    end
12489
12490
    Scale.Scale = math.max(Holder.AbsoluteSize.X / 1920, guiScale)
12491
    updatesaves()
12492
end)
12493
12494
addcmd("unsuspendvc", {}, function(args, speaker)
12495
    VoiceChatService:joinVoice()
12496
12497
    if typeof(onVoiceModerated) ~= "RBXScriptConnection" then
12498
        onVoiceModerated = cloneref(game:GetService("VoiceChatInternal")).LocalPlayerModerated:Connect(function()
12499
            task.wait(1)
12500
            VoiceChatService:joinVoice()
12501
        end)
12502
    end
12503
end)
12504
12505
addcmd("permadeath", {}, function(args, speaker)
12506
    if replicatesignal then
12507
        permadeath(speaker)
12508
        notify("Permadeath", "Enabled")
12509
    else
12510
        notify("Incompatible Exploit", "Your exploit does not support this command (missing replicatesignal)")
12511
    end
12512
end)
12513
12514
local freezingua = nil
12515
frozenParts = {}
12516
addcmd('freezeunanchored',{'freezeua'},function(args, speaker)
12517
    local badnames = {
12518
        "Head",
12519
        "UpperTorso",
12520
        "LowerTorso",
12521
        "RightUpperArm",
12522
        "LeftUpperArm",
12523
        "RightLowerArm",
12524
        "LeftLowerArm",
12525
        "RightHand",
12526
        "LeftHand",
12527
        "RightUpperLeg",
12528
        "LeftUpperLeg",
12529
        "RightLowerLeg",
12530
        "LeftLowerLeg",
12531
        "RightFoot",
12532
        "LeftFoot",
12533
        "Torso",
12534
        "Right Arm",
12535
        "Left Arm",
12536
        "Right Leg",
12537
        "Left Leg",
12538
        "HumanoidRootPart"
12539
    }
12540
    local function FREEZENOOB(v)
12541
        if v:IsA("BasePart" or "UnionOperation") and v.Anchored == false then
12542
            local BADD = false
12543
            for i = 1,#badnames do
12544
                if v.Name == badnames[i] then
12545
                    BADD = true
12546
                end
12547
            end
12548
            if speaker.Character and v:IsDescendantOf(speaker.Character) then
12549
                BADD = true
12550
            end
12551
            if BADD == false then
12552
                for i,c in pairs(v:GetChildren()) do
12553
                    if c:IsA("BodyPosition") or c:IsA("BodyGyro") then
12554
                        c:Destroy()
12555
                    end
12556
                end
12557
                local bodypos = Instance.new("BodyPosition")
12558
                bodypos.Parent = v
12559
                bodypos.Position = v.Position
12560
                bodypos.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
12561
                local bodygyro = Instance.new("BodyGyro")
12562
                bodygyro.Parent = v
12563
                bodygyro.CFrame = v.CFrame
12564
                bodygyro.MaxTorque = Vector3.new(math.huge,math.huge,math.huge)
12565
                if not table.find(frozenParts,v) then
12566
                    table.insert(frozenParts,v)
12567
                end
12568
            end
12569
        end
12570
    end
12571
    for i,v in pairs(workspace:GetDescendants()) do
12572
        FREEZENOOB(v)
12573
    end
12574
    freezingua = workspace.DescendantAdded:Connect(FREEZENOOB)
12575
end)
12576
12577
addcmd('thawunanchored',{'thawua','unfreezeunanchored','unfreezeua'},function(args, speaker)
12578
    if freezingua then
12579
        freezingua:Disconnect()
12580
    end
12581
    for i,v in pairs(frozenParts) do
12582
        for i,c in pairs(v:GetChildren()) do
12583
            if c:IsA("BodyPosition") or c:IsA("BodyGyro") then
12584
                c:Destroy()
12585
            end
12586
        end
12587
    end
12588
    frozenParts = {}
12589
end)
12590
12591
addcmd('tpunanchored',{'tpua'},function(args, speaker)
12592
    local players = getPlayer(args[1], speaker)
12593
    for i,v in pairs(players) do
12594
        local Forces = {}
12595
        for _,part in pairs(workspace:GetDescendants()) do
12596
            if Players[v].Character:FindFirstChild('Head') and part:IsA("BasePart" or "UnionOperation" or "Model") and part.Anchored == false and not part:IsDescendantOf(speaker.Character) and part.Name == "Torso" == false and part.Name == "Head" == false and part.Name == "Right Arm" == false and part.Name == "Left Arm" == false and part.Name == "Right Leg" == false and part.Name == "Left Leg" == false and part.Name == "HumanoidRootPart" == false then
12597
                for i,c in pairs(part:GetChildren()) do
12598
                    if c:IsA("BodyPosition") or c:IsA("BodyGyro") then
12599
                        c:Destroy()
12600
                    end
12601
                end
12602
                local ForceInstance = Instance.new("BodyPosition")
12603
                ForceInstance.Parent = part
12604
                ForceInstance.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
12605
                table.insert(Forces, ForceInstance)
12606
                if not table.find(frozenParts,part) then
12607
                    table.insert(frozenParts,part)
12608
                end
12609
            end
12610
        end
12611
        for i,c in pairs(Forces) do
12612
            c.Position = Players[v].Character.Head.Position
12613
        end
12614
    end
12615
end)
12616
12617
keycodeMap = {
12618
	["0"] = 0x30,
12619
	["1"] = 0x31,
12620
	["2"] = 0x32,
12621
	["3"] = 0x33,
12622
	["4"] = 0x34,
12623
	["5"] = 0x35,
12624
	["6"] = 0x36,
12625
	["7"] = 0x37,
12626
	["8"] = 0x38,
12627
	["9"] = 0x39,
12628
	["a"] = 0x41,
12629
	["b"] = 0x42,
12630
	["c"] = 0x43,
12631
	["d"] = 0x44,
12632
	["e"] = 0x45,
12633
	["f"] = 0x46,
12634
	["g"] = 0x47,
12635
	["h"] = 0x48,
12636
	["i"] = 0x49,
12637
	["j"] = 0x4A,
12638
	["k"] = 0x4B,
12639
	["l"] = 0x4C,
12640
	["m"] = 0x4D,
12641
	["n"] = 0x4E,
12642
	["o"] = 0x4F,
12643
	["p"] = 0x50,
12644
	["q"] = 0x51,
12645
	["r"] = 0x52,
12646
	["s"] = 0x53,
12647
	["t"] = 0x54,
12648
	["u"] = 0x55,
12649
	["v"] = 0x56,
12650
	["w"] = 0x57,
12651
	["x"] = 0x58,
12652
	["y"] = 0x59,
12653
	["z"] = 0x5A,
12654
	["enter"] = 0x0D,
12655
	["shift"] = 0x10,
12656
	["ctrl"] = 0x11,
12657
	["alt"] = 0x12,
12658
	["pause"] = 0x13,
12659
	["capslock"] = 0x14,
12660
	["spacebar"] = 0x20,
12661
	["space"] = 0x20,
12662
	["pageup"] = 0x21,
12663
	["pagedown"] = 0x22,
12664
	["end"] = 0x23,
12665
	["home"] = 0x24,
12666
	["left"] = 0x25,
12667
	["up"] = 0x26,
12668
	["right"] = 0x27,
12669
	["down"] = 0x28,
12670
	["insert"] = 0x2D,
12671
	["delete"] = 0x2E,
12672
	["f1"] = 0x70,
12673
	["f2"] = 0x71,
12674
	["f3"] = 0x72,
12675
	["f4"] = 0x73,
12676
	["f5"] = 0x74,
12677
	["f6"] = 0x75,
12678
	["f7"] = 0x76,
12679
	["f8"] = 0x77,
12680
	["f9"] = 0x78,
12681
	["f10"] = 0x79,
12682
	["f11"] = 0x7A,
12683
	["f12"] = 0x7B,
12684
}
12685
autoKeyPressing = false
12686
cancelAutoKeyPress = nil
12687
12688
addcmd('autokeypress',{'keypress'},function(args, speaker)
12689
	if keypress and keyrelease and args[1] then
12690
		local code = keycodeMap[args[1]:lower()]
12691
		if not code then notify('Auto Key Press',"Invalid key") return end
12692
		execCmd('unautokeypress')
12693
		wait()
12694
		local clickDelay = 0.1
12695
		local releaseDelay = 0.1
12696
		if args[2] and isNumber(args[2]) then clickDelay = args[2] end
12697
		if args[3] and isNumber(args[3]) then releaseDelay = args[3] end
12698
		autoKeyPressing = true
12699
		cancelAutoKeyPress = UserInputService.InputBegan:Connect(function(input, gameProcessedEvent)
12700
			if not gameProcessedEvent then
12701
				if (input.KeyCode == Enum.KeyCode.Backspace and UserInputService:IsKeyDown(Enum.KeyCode.Equals)) or (input.KeyCode == Enum.KeyCode.Equals and UserInputService:IsKeyDown(Enum.KeyCode.Backspace)) then
12702
					autoKeyPressing = false
12703
					cancelAutoKeyPress:Disconnect()
12704
				end
12705
			end
12706
		end)
12707
		notify('Auto Key Press',"Press [backspace] and [=] at the same time to stop")
12708
		repeat wait(clickDelay)
12709
			keypress(code)
12710
			wait(releaseDelay)
12711
			keyrelease(code)
12712
		until autoKeyPressing == false
12713
		if cancelAutoKeyPress then cancelAutoKeyPress:Disconnect() keyrelease(code) end
12714
	else
12715
		notify('Auto Key Press',"Your exploit doesn't have the ability to use auto key press")
12716
	end
12717
end)
12718
12719
addcmd('unautokeypress',{'noautokeypress','unkeypress','nokeypress'},function(args, speaker)
12720
	autoKeyPressing = false
12721
	if cancelAutoKeyPress then cancelAutoKeyPress:Disconnect() end
12722
end)
12723
12724
addcmd('addplugin',{'plugin'},function(args, speaker)
12725
	addPlugin(getstring(1))
12726
end)
12727
12728
addcmd('removeplugin',{'deleteplugin'},function(args, speaker)
12729
	deletePlugin(getstring(1))
12730
end)
12731
12732
addcmd('reloadplugin',{},function(args, speaker)
12733
	local pluginName = getstring(1)
12734
	deletePlugin(pluginName)
12735
	wait(1)
12736
	addPlugin(pluginName)
12737
end)
12738
12739
addcmd("addallplugins", {"loadallplugins"}, function(args, speaker)
12740
    if not listfiles or not isfolder then
12741
        notify("Incompatible Exploit", "Your exploit does not support this command (missing listfiles/isfolder)")
12742
        return
12743
    end
12744
12745
    for _, filePath in ipairs(listfiles("")) do
12746
        local fileName = filePath:match("([^/\\]+%.iy)$")
12747
12748
        if fileName and
12749
            fileName:lower() ~= "iy_fe.iy" and
12750
            not isfolder(fileName) and
12751
            not table.find(PluginsTable, fileName)
12752
        then
12753
            addPlugin(fileName)
12754
        end
12755
    end
12756
end)
12757
12758
addcmd('removecmd',{'deletecmd'},function(args, speaker)
12759
	removecmd(args[1])
12760
end)
12761
12762
if IsOnMobile then
12763
	local QuickCapture = Instance.new("TextButton")
12764
	local UICorner = Instance.new("UICorner")
12765
	QuickCapture.Name = randomString()
12766
	QuickCapture.Parent = PARENT
12767
	QuickCapture.BackgroundColor3 = Color3.fromRGB(46, 46, 47)
12768
	QuickCapture.BackgroundTransparency = 0.14
12769
	QuickCapture.Position = UDim2.new(0.489, 0, 0, 0)
12770
	QuickCapture.Size = UDim2.new(0, 32, 0, 33)
12771
	QuickCapture.Font = Enum.Font.SourceSansBold
12772
	QuickCapture.Text = "IY"
12773
	QuickCapture.TextColor3 = Color3.fromRGB(255, 255, 255)
12774
	QuickCapture.TextSize = 20
12775
	QuickCapture.TextWrapped = true
12776
	QuickCapture.ZIndex = 10
12777
	QuickCapture.Draggable = true
12778
	UICorner.Name = randomString()
12779
	UICorner.CornerRadius = UDim.new(0.5, 0)
12780
	UICorner.Parent = QuickCapture
12781
	QuickCapture.MouseButton1Click:Connect(function()
12782
		Cmdbar:CaptureFocus()
12783
		maximizeHolder()
12784
	end)
12785
	table.insert(shade1, QuickCapture)
12786
	table.insert(text1, QuickCapture)
12787
end
12788
12789
pcall(function() Scale.Scale = math.max(Holder.AbsoluteSize.X / 1920, guiScale) end)
12790
Scale.Parent = ScaledHolder
12791
ScaledHolder.Size = UDim2.fromScale(1 / Scale.Scale, 1 / Scale.Scale)
12792
Scale:GetPropertyChangedSignal("Scale"):Connect(function()
12793
    ScaledHolder.Size = UDim2.fromScale(1 / Scale.Scale, 1 / Scale.Scale)
12794
    for _, v in ScaledHolder:GetDescendants() do
12795
        if v:IsA("GuiObject") and v.Visible then
12796
            v.Visible = false
12797
            v.Visible = true
12798
        end
12799
    end
12800
end)
12801
12802
updateColors(currentShade1,shade1)
12803
updateColors(currentShade2,shade2)
12804
updateColors(currentShade3,shade3)
12805
updateColors(currentText1,text1)
12806
updateColors(currentText2,text2)
12807
updateColors(currentScroll,scroll)
12808
12809
if PluginsTable ~= nil or PluginsTable ~= {} then
12810
	FindPlugins(PluginsTable)
12811
end
12812
12813
-- Events
12814
eventEditor.RegisterEvent("OnExecute")
12815
eventEditor.RegisterEvent("OnSpawn",{
12816
	{Type="Player",Name="Player Filter ($1)"}
12817
})
12818
eventEditor.RegisterEvent("OnDied",{
12819
	{Type="Player",Name="Player Filter ($1)"}
12820
})
12821
eventEditor.RegisterEvent("OnDamage",{
12822
	{Type="Player",Name="Player Filter ($1)"},
12823
	{Type="Number",Name="Below Health ($2)"}
12824
})
12825
eventEditor.RegisterEvent("OnKilled",{
12826
	{Type="Player",Name="Victim Player ($1)"},
12827
	{Type="Player",Name="Killer Player ($2)",Default = 1}
12828
})
12829
eventEditor.RegisterEvent("OnJoin",{
12830
	{Type="Player",Name="Player Filter ($1)",Default = 1}
12831
})
12832
eventEditor.RegisterEvent("OnLeave",{
12833
	{Type="Player",Name="Player Filter ($1)",Default = 1}
12834
})
12835
eventEditor.RegisterEvent("OnChatted",{
12836
	{Type="Player",Name="Player Filter ($1)",Default = 1},
12837
	{Type="String",Name="Message Filter ($2)"}
12838
})
12839
12840
function hookCharEvents(plr,instant)
12841
	task.spawn(function()
12842
		local char = plr.Character
12843
		if not char then return end
12844
12845
		local humanoid = char:WaitForChild("Humanoid",10)
12846
		if not humanoid then return end
12847
12848
		local oldHealth = humanoid.Health
12849
		humanoid.HealthChanged:Connect(function(health)
12850
			local change = math.abs(oldHealth - health)
12851
			if oldHealth > health then
12852
				eventEditor.FireEvent("OnDamage",plr.Name,tonumber(health))
12853
			end
12854
			oldHealth = health
12855
		end)
12856
12857
		humanoid.Died:Connect(function()
12858
			eventEditor.FireEvent("OnDied",plr.Name)
12859
12860
			local killedBy = humanoid:FindFirstChild("creator")
12861
			if killedBy and killedBy.Value and killedBy.Value.Parent then
12862
				eventEditor.FireEvent("OnKilled",plr.Name,killedBy.Name)
12863
			end
12864
		end)
12865
	end)
12866
end
12867
12868
Players.PlayerAdded:Connect(function(plr)
12869
	eventEditor.FireEvent("OnJoin",plr.Name)
12870
	if isLegacyChat then plr.Chatted:Connect(function(msg) eventEditor.FireEvent("OnChatted",tostring(plr),msg) end) end
12871
	plr.CharacterAdded:Connect(function() eventEditor.FireEvent("OnSpawn",tostring(plr)) hookCharEvents(plr) end)
12872
	JoinLog(plr)
12873
	if isLegacyChat then ChatLog(plr) end
12874
	if ESPenabled then
12875
		repeat wait(1) until plr.Character and getRoot(plr.Character)
12876
		ESP(plr)
12877
	end
12878
	if CHMSenabled then
12879
		repeat wait(1) until plr.Character and getRoot(plr.Character)
12880
		CHMS(plr)
12881
	end
12882
end)
12883
12884
if not isLegacyChat then
12885
    TextChatService.MessageReceived:Connect(function(message)
12886
        if message.TextSource then
12887
            local player = Players:GetPlayerByUserId(message.TextSource.UserId)
12888
            if not player then return end
12889
12890
            if logsEnabled == true then
12891
                CreateLabel(player.Name, message.Text)
12892
            end
12893
            if player.UserId == Players.LocalPlayer.UserId then
12894
                do_exec(message.Text, Players.LocalPlayer)
12895
            end
12896
            eventEditor.FireEvent("OnChatted", player.Name, message.Text)
12897
            sendChatWebhook(player, message.Text)
12898
        end
12899
    end)
12900
end
12901
12902
for _,plr in pairs(Players:GetPlayers()) do
12903
	pcall(function()
12904
		plr.CharacterAdded:Connect(function() eventEditor.FireEvent("OnSpawn",tostring(plr)) hookCharEvents(plr) end)
12905
		hookCharEvents(plr)
12906
	end)
12907
end
12908
12909
if spawnCmds and #spawnCmds > 0 then
12910
	for i,v in pairs(spawnCmds) do
12911
		eventEditor.AddCmd("OnSpawn",{v.COMMAND or "",{0},v.DELAY or 0})
12912
	end
12913
	updatesaves()
12914
end
12915
12916
if loadedEventData then eventEditor.LoadData(loadedEventData) end
12917
eventEditor.Refresh()
12918
12919
eventEditor.FireEvent("OnExecute")
12920
12921
if aliases and #aliases > 0 then
12922
	local cmdMap = {}
12923
	for i,v in pairs(cmds) do
12924
		cmdMap[v.NAME:lower()] = v
12925
		for _,alias in pairs(v.ALIAS) do
12926
			cmdMap[alias:lower()] = v
12927
		end
12928
	end
12929
	for i = 1, #aliases do
12930
		local cmd = string.lower(aliases[i].CMD)
12931
		local alias = string.lower(aliases[i].ALIAS)
12932
		if cmdMap[cmd] then
12933
			customAlias[alias] = cmdMap[cmd]
12934
		end
12935
	end
12936
	refreshaliases()
12937
end
12938
12939
IYMouse.Move:Connect(checkTT)
12940
12941
CaptureService.CaptureBegan:Connect(function()
12942
    PARENT.Enabled = false
12943
end)
12944
12945
CaptureService.CaptureEnded:Connect(function()
12946
    task.delay(0.1, function()
12947
        PARENT.Enabled = true
12948
    end)
12949
end)
12950
12951
task.spawn(function()
12952
	local success, latestVersionInfo = pcall(function() 
12953
		local versionJson = game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/version")
12954
		return HttpService:JSONDecode(versionJson)
12955
	end)
12956
12957
	if success then
12958
		if currentVersion ~= latestVersionInfo.Version then
12959
			notify("Outdated", "Get the new version at infyiff.github.io")
12960
		end
12961
12962
		if latestVersionInfo.Announcement and latestVersionInfo.Announcement ~= "" then
12963
			local AnnGUI = Instance.new("Frame")
12964
			local background = Instance.new("Frame")
12965
			local TextBox = Instance.new("TextLabel")
12966
			local shadow = Instance.new("Frame")
12967
			local PopupText = Instance.new("TextLabel")
12968
			local Exit = Instance.new("TextButton")
12969
			local ExitImage = Instance.new("ImageLabel")
12970
12971
			AnnGUI.Name = randomString()
12972
			AnnGUI.Parent = ScaledHolder
12973
			AnnGUI.Active = true
12974
			AnnGUI.BackgroundTransparency = 1
12975
			AnnGUI.Position = UDim2.new(0.5, -180, 0, -500)
12976
			AnnGUI.Size = UDim2.new(0, 360, 0, 20)
12977
			AnnGUI.ZIndex = 10
12978
12979
			background.Name = "background"
12980
			background.Parent = AnnGUI
12981
			background.Active = true
12982
			background.BackgroundColor3 = currentShade1
12983
			background.BorderSizePixel = 0
12984
			background.Position = UDim2.new(0, 0, 0, 20)
12985
			background.Size = UDim2.new(0, 360, 0, 150)
12986
			background.ZIndex = 10
12987
12988
			TextBox.Parent = background
12989
			TextBox.BackgroundTransparency = 1
12990
			TextBox.Position = UDim2.new(0, 5, 0, 5)
12991
			TextBox.Size = UDim2.new(0, 350, 0, 140)
12992
			TextBox.Font = Enum.Font.SourceSans
12993
			TextBox.TextSize = 18
12994
			TextBox.TextWrapped = true
12995
			TextBox.Text = latestVersionInfo.Announcement
12996
			TextBox.TextColor3 = currentText1
12997
			TextBox.TextXAlignment = Enum.TextXAlignment.Left
12998
			TextBox.TextYAlignment = Enum.TextYAlignment.Top
12999
			TextBox.ZIndex = 10
13000
13001
			shadow.Name = "shadow"
13002
			shadow.Parent = AnnGUI
13003
			shadow.BackgroundColor3 = currentShade2
13004
			shadow.BorderSizePixel = 0
13005
			shadow.Size = UDim2.new(0, 360, 0, 20)
13006
			shadow.ZIndex = 10
13007
13008
			PopupText.Name = "PopupText"
13009
			PopupText.Parent = shadow
13010
			PopupText.BackgroundTransparency = 1
13011
			PopupText.Size = UDim2.new(1, 0, 0.95, 0)
13012
			PopupText.ZIndex = 10
13013
			PopupText.Font = Enum.Font.SourceSans
13014
			PopupText.TextSize = 14
13015
			PopupText.Text = "Server Announcement"
13016
			PopupText.TextColor3 = currentText1
13017
			PopupText.TextWrapped = true
13018
13019
			Exit.Name = "Exit"
13020
			Exit.Parent = shadow
13021
			Exit.BackgroundTransparency = 1
13022
			Exit.Position = UDim2.new(1, -20, 0, 0)
13023
			Exit.Size = UDim2.new(0, 20, 0, 20)
13024
			Exit.Text = ""
13025
			Exit.ZIndex = 10
13026
13027
			ExitImage.Parent = Exit
13028
			ExitImage.BackgroundColor3 = Color3.new(1, 1, 1)
13029
			ExitImage.BackgroundTransparency = 1
13030
			ExitImage.Position = UDim2.new(0, 5, 0, 5)
13031
			ExitImage.Size = UDim2.new(0, 10, 0, 10)
13032
			ExitImage.Image = getcustomasset("infiniteyield/assets/close.png")
13033
			ExitImage.ZIndex = 10
13034
13035
			wait(1)
13036
			AnnGUI:TweenPosition(UDim2.new(0.5, -180, 0, 150), "InOut", "Quart", 0.5, true, nil)
13037
13038
			Exit.MouseButton1Click:Connect(function()
13039
				AnnGUI:TweenPosition(UDim2.new(0.5, -180, 0, -500), "InOut", "Quart", 0.5, true, nil)
13040
				wait(0.6)
13041
				AnnGUI:Destroy()
13042
			end)
13043
		end
13044
	end
13045
end)
13046
13047
task.spawn(function()
13048
	wait()
13049
	Credits:TweenPosition(UDim2.new(0, 0, 0.9, 0), "Out", "Quart", 0.2)
13050
	Logo:TweenSizeAndPosition(UDim2.new(0, 175, 0, 175), UDim2.new(0, 37, 0, 45), "Out", "Quart", 0.3)
13051
	wait(1)
13052
	local OutInfo = TweenInfo.new(1.6809, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, 0, false, 0)
13053
	TweenService:Create(Logo, OutInfo, {ImageTransparency = 1}):Play()
13054
	TweenService:Create(IntroBackground, OutInfo, {BackgroundTransparency = 1}):Play()
13055
	Credits:TweenPosition(UDim2.new(0, 0, 0.9, 30), "Out", "Quart", 0.2)
13056
	wait(0.2)
13057
	Logo:Destroy()
13058
	Credits:Destroy()
13059
	IntroBackground:Destroy()
13060
	minimizeHolder()
13061
end)