R

osiris

public
rrixh May 13, 2024 Never 69
Clone
Plaintext osirisdahood 6474 lines (6215 loc) | 245.38 KB
1
--[[
2
3
██╗░░░░░██╗░░░██╗███╗░░██╗░█████╗░██████╗░░░░██╗░░░██╗██╗██████╗░
4
██║░░░░░██║░░░██║████╗░██║██╔══██╗██╔══██╗░░░██║░░░██║██║██╔══██╗
5
██║░░░░░██║░░░██║██╔██╗██║███████║██████╔╝░░░╚██╗░██╔╝██║██████╔╝
6
██║░░░░░██║░░░██║██║╚████║██╔══██║██╔══██╗░░░░╚████╔╝░██║██╔═══╝░
7
███████╗╚██████╔╝██║░╚███║██║░░██║██║░░██║██╗░░╚██╔╝░░██║██║░░░░░
8
╚══════╝░╚═════╝░╚═╝░░╚══╝╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░░╚═╝░░░╚═╝╚═╝░░░░░
9
10
Last updated 18/03/24
11
]]
12
13
if isfile("menu_plex.font") then
14
delfile("menu_plex.font")
15
end
16
17
writefile("ProggyClean.ttf", game:HttpGet("https://github.com/f1nobe7650/other/raw/main/ProggyClean.ttf"))
18
19
-- // Custom Font
20
do
21
getsynasset = getcustomasset or getsynasset
22
Font = setreadonly(Font, false);
23
function Font:Register(Name, Weight, Style, Asset)
24
if not isfile(Name .. ".font") then
25
if not isfile(Asset.Id) then
26
writefile(Asset.Id, Asset.Font);
27
end;
28
--
29
local Data = {
30
name = Name,
31
faces = {{
32
name = "Regular",
33
weight = Weight,
34
style = Style,
35
assetId = getsynasset(Asset.Id);
36
}}
37
};
38
--
39
writefile(Name .. ".font", game:GetService("HttpService"):JSONEncode(Data));
40
return getsynasset(Name .. ".font");
41
else
42
warn("Font already registered");
43
end;
44
end;
45
--
46
function Font:GetRegistry(Name)
47
if isfile(Name .. ".font") then
48
return getsynasset(Name .. ".font");
49
end;
50
end;
51
52
Font:Register("menu_plex", 400, "normal", {Id = "ProggyClean.ttf", Font = ""});
53
end
54
55
if not LPH_OBFUSCATED then
56
getfenv().LPH_NO_VIRTUALIZE = function(...) return (...) end;
57
end
58
59
local font = Enum.Font.Ubuntu;
60
local Library = {};
61
local Library = {
62
Open = true;
63
Folders = {
64
main = "test";
65
configs = "test/Configs";
66
};
67
Accent = Color3.fromRGB(132,108,188);
68
Pages = {};
69
Sections = {};
70
Flags = {};
71
UnNamedFlags = 0;
72
ThemeObjects = {};
73
Instances = {};
74
Holder = nil;
75
PageHolder = nil;
76
Gradient = nil;
77
UIGradient = nil;
78
CopiedColor = Color3.new(1,1,1);
79
CopiedAlpha = 0;
80
AllowedCharacters = {
81
[1] = ' ',
82
[2] = '!',
83
[3] = '"',
84
[4] = '#',
85
[5] = '$',
86
[6] = '%',
87
[7] = '&',
88
[8] = "'",
89
[9] = '(',
90
[10] = ')',
91
[11] = '*',
92
[12] = '+',
93
[13] = ',',
94
[14] = '-',
95
[15] = '.',
96
[16] = '/',
97
[17] = '0',
98
[18] = '1',
99
[19] = '2',
100
[20] = '3',
101
[21] = '4',
102
[22] = '5',
103
[23] = '6',
104
[24] = '7',
105
[25] = '8',
106
[26] = '9',
107
[27] = ':',
108
[28] = ';',
109
[29] = '<',
110
[30] = '=',
111
[31] = '>',
112
[32] = '?',
113
[33] = '@',
114
[34] = 'A',
115
[35] = 'B',
116
[36] = 'C',
117
[37] = 'D',
118
[38] = 'E',
119
[39] = 'F',
120
[40] = 'G',
121
[41] = 'H',
122
[42] = 'I',
123
[43] = 'J',
124
[44] = 'K',
125
[45] = 'L',
126
[46] = 'M',
127
[47] = 'N',
128
[48] = 'O',
129
[49] = 'P',
130
[50] = 'Q',
131
[51] = 'R',
132
[52] = 'S',
133
[53] = 'T',
134
[54] = 'U',
135
[55] = 'V',
136
[56] = 'W',
137
[57] = 'X',
138
[58] = 'Y',
139
[59] = 'Z',
140
[60] = '[',
141
[61] = "\\",
142
[62] = ']',
143
[63] = '^',
144
[64] = '_',
145
[65] = '`',
146
[66] = 'a',
147
[67] = 'b',
148
[68] = 'c',
149
[69] = 'd',
150
[70] = 'e',
151
[71] = 'f',
152
[72] = 'g',
153
[73] = 'h',
154
[74] = 'i',
155
[75] = 'j',
156
[76] = 'k',
157
[77] = 'l',
158
[78] = 'm',
159
[79] = 'n',
160
[80] = 'o',
161
[81] = 'p',
162
[82] = 'q',
163
[83] = 'r',
164
[84] = 's',
165
[85] = 't',
166
[86] = 'u',
167
[87] = 'v',
168
[88] = 'w',
169
[89] = 'x',
170
[90] = 'y',
171
[91] = 'z',
172
[92] = '{',
173
[93] = '|',
174
[94] = '}',
175
[95] = '~'
176
};
177
ShiftCharacters = {
178
["1"] = "!",
179
["2"] = "@",
180
["3"] = "#",
181
["4"] = "$",
182
["5"] = "%",
183
["6"] = "^",
184
["7"] = "&",
185
["8"] = "*",
186
["9"] = "(",
187
["0"] = ")",
188
["-"] = "_",
189
["="] = "+",
190
["["] = "{",
191
["\\"] = "|",
192
[";"] = ":",
193
["'"] = "\"",
194
[","] = "<",
195
["."] = ">",
196
["/"] = "?",
197
["`"] = "~"
198
};
199
Keys = {
200
[Enum.KeyCode.LeftShift] = "LShift",
201
[Enum.KeyCode.RightShift] = "RShift",
202
[Enum.KeyCode.LeftControl] = "LCtrl",
203
[Enum.KeyCode.RightControl] = "RCtrl",
204
[Enum.KeyCode.LeftAlt] = "LAlt",
205
[Enum.KeyCode.RightAlt] = "RAlt",
206
[Enum.KeyCode.CapsLock] = "Caps",
207
[Enum.KeyCode.One] = "1",
208
[Enum.KeyCode.Two] = "2",
209
[Enum.KeyCode.Three] = "3",
210
[Enum.KeyCode.Four] = "4",
211
[Enum.KeyCode.Five] = "5",
212
[Enum.KeyCode.Six] = "6",
213
[Enum.KeyCode.Seven] = "7",
214
[Enum.KeyCode.Eight] = "8",
215
[Enum.KeyCode.Nine] = "9",
216
[Enum.KeyCode.Zero] = "0",
217
[Enum.KeyCode.KeypadOne] = "Num1",
218
[Enum.KeyCode.KeypadTwo] = "Num2",
219
[Enum.KeyCode.KeypadThree] = "Num3",
220
[Enum.KeyCode.KeypadFour] = "Num4",
221
[Enum.KeyCode.KeypadFive] = "Num5",
222
[Enum.KeyCode.KeypadSix] = "Num6",
223
[Enum.KeyCode.KeypadSeven] = "Num7",
224
[Enum.KeyCode.KeypadEight] = "Num8",
225
[Enum.KeyCode.KeypadNine] = "Num9",
226
[Enum.KeyCode.KeypadZero] = "Num0",
227
[Enum.KeyCode.Minus] = "-",
228
[Enum.KeyCode.Equals] = "=",
229
[Enum.KeyCode.Tilde] = "~",
230
[Enum.KeyCode.LeftBracket] = "[",
231
[Enum.KeyCode.RightBracket] = "]",
232
[Enum.KeyCode.RightParenthesis] = ")",
233
[Enum.KeyCode.LeftParenthesis] = "(",
234
[Enum.KeyCode.Semicolon] = ",",
235
[Enum.KeyCode.Quote] = "'",
236
[Enum.KeyCode.BackSlash] = "\\",
237
[Enum.KeyCode.Comma] = ",",
238
[Enum.KeyCode.Period] = ".",
239
[Enum.KeyCode.Slash] = "/",
240
[Enum.KeyCode.Asterisk] = "*",
241
[Enum.KeyCode.Plus] = "+",
242
[Enum.KeyCode.Period] = ".",
243
[Enum.KeyCode.Backquote] = "`",
244
[Enum.UserInputType.MouseButton1] = "MB1",
245
[Enum.UserInputType.MouseButton2] = "MB2",
246
[Enum.UserInputType.MouseButton3] = "MB3"
247
};
248
Connections = {};
249
Font = Enum.Font.Ubuntu;
250
FontSize = 12;
251
Notifs = {};
252
KeyList = nil;
253
UIKey = Enum.KeyCode.End;
254
ScreenGUI = nil;
255
}
256
257
local InputService = game:GetService("UserInputService");
258
local TeleportService = game:GetService("TeleportService");
259
local RunService = game:GetService("RunService");
260
local Workspace = game:GetService("Workspace");
261
local Lighting = game:GetService("Lighting");
262
local Players = game:GetService("Players");
263
local HttpService = game:GetService("HttpService");
264
local StarterGui = game:GetService("StarterGui");
265
local ReplicatedStorage = game:GetService("ReplicatedStorage");
266
local TweenService = game:GetService("TweenService");
267
local VirtualUser = game:GetService("VirtualUser");
268
local PathFindingService = game:GetService("PathfindingService");
269
270
local utility = {
271
Circle = nil,
272
bodyParts = {},
273
target = nil,
274
angle = 0,
275
drawings = {},
276
folders = {}
277
};
278
local framework = {connections = {}};
279
local Flags = {};
280
local flags = Library.Flags;
281
local ESP = {};
282
local IgnoreList = {};
283
local HitReg = {};
284
local loadingTime = tick()
285
local Visuals = {
286
["Drawings"] = {},
287
["Bases"] = {},
288
["Base"] = {},
289
["Settings"] = {
290
["Line"] = {
291
Thickness = 1,
292
Color = Color3.fromRGB(0, 255, 0)
293
},
294
["Text"] = {
295
Size = 13,
296
Center = true,
297
Outline = true,
298
Font = Drawing.Fonts.Plex,
299
Color = Color3.fromRGB(255, 255, 255)
300
},
301
["Square"] = {
302
Thickness = 1,
303
Color = Color3.fromRGB(255, 255, 255),
304
Filled = false,
305
},
306
["Triangle"] = {
307
Color = Color3.fromRGB(255, 255, 255),
308
Filled = true,
309
Visible = false,
310
Thickness = 1,
311
},
312
["Image"] = {
313
Transparency = 1,
314
Data = game:HttpGet("https://raw.githubusercontent.com/portallol/luna/main/Gradient.png")
315
}
316
},
317
}
318
local NovaPart = game:GetObjects("rbxassetid://14745759584")[1]; NovaPart.Parent = ReplicatedStorage;
319
local Nova = NovaPart.Attachment;
320
local Sparkles = game:GetObjects("rbxassetid://16883621036")[1]; Sparkles.Parent = ReplicatedStorage;
321
local SparklesEffect = Sparkles.LevelParticle;
322
local sfx = {["Bameware"] = "16910460773",["Skeet"] = "4753603610",["Bonk"] = "3765689841",["Lazer Beam"] = "130791043",["Windows XP Error"] = "160715357",["TF2 Hitsound"] = "3455144981",["TF2 Critical"] = "296102734",["TF2 Bat"] = "3333907347",['Bow Hit'] = "1053296915",['Bow'] = "3442683707",['OSU'] = "7147454322",['Minecraft Hit'] = "4018616850",['Steve'] = "5869422451",['1nn'] = "7349055654",['Rust'] = "3744371091",["TF2 Pan"] = "3431749479",["Neverlose"] = "8679627751",["Mario"] = "5709456554",};
323
local sfx_names = {"Bameware", "Skeet", "Bonk", "Lazer Beam", "Windows XP Error", "TF2 Hitsound", "TF2 Critical", "TF2 Bat", "Bow Hit", "Bow", "OSU", "Minecraft Hit", "Steve", "1nn", "Rust", "TF2 Pan", "Neverlose", "Mario"};
324
local LocalPlayer = Players.LocalPlayer;
325
local Mouse = LocalPlayer:GetMouse();
326
local Camera = Workspace.Camera;
327
local viewportSize = game.Workspace.Camera.ViewportSize;
328
local hitmodule = game:GetObjects("rbxassetid://7255773215")[1]; hitmodule.Parent = ReplicatedStorage;
329
local Offset = game:GetService("GuiService"):GetGuiInset().Y;
330
local Math = loadstring(game:HttpGet("https://raw.githubusercontent.com/f1nobe7650/Lynx/main/Math.lua"))();
331
local NotifiactionSGui = Instance.new("ScreenGui", game.CoreGui); NotifiactionSGui.Enabled = true
332
local Remote = ReplicatedStorage.MainEvent
333
local NewVector2 = Vector2.new;
334
local NewVector3 = Vector3.new;
335
local NewCFrame = CFrame.new;
336
local Angle = CFrame.Angles;
337
local NewHex = Color3.fromHex;
338
local Floor = math.floor;
339
local Random = math.random;
340
local Find = table.find;
341
local Round = math.round;
342
local Cos = math.cos;
343
local Sin = math.sin;
344
local Rad = math.rad;
345
local Clamp = math.clamp;
346
local Ceil = math.ceil;
347
local Pi = math.pi;
348
local Sqrt = math.sqrt;
349
local Lighting_Save = {["ColorShift_Bottom"] = Lighting.ColorShift_Bottom, ["Ambient"]=Lighting.Ambient, ["OutdoorAmbient"]=Lighting.OutdoorAmbient, ["ColorShift_Top"]=Lighting.ColorShift_Top, ["FogColor"]=Lighting.FogColor, ["FogEnd"]=Lighting.FogEnd, ["FogStart"]=Lighting.FogStart, ["ClockTime"]=Lighting.ClockTime, ["Brightness"]=Lighting.Brightness}
350
local bodyClone = game:GetObjects("rbxassetid://8246626421")[1]; bodyClone.Humanoid:Destroy(); bodyClone.Head.Face:Destroy(); bodyClone.Parent = game.Workspace; bodyClone.HumanoidRootPart.Velocity = Vector3.new(); bodyClone.HumanoidRootPart.CFrame = NewCFrame(9999,9999,9999); bodyClone.HumanoidRootPart.Transparency = 1; bodyClone.HumanoidRootPart.CanCollide = false
351
local visualizeChams = Instance.new("Highlight"); visualizeChams.Enabled = true; visualizeChams.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop; visualizeChams.FillColor = Color3.fromRGB(102, 60, 153); visualizeChams.OutlineColor = Color3.fromRGB(0, 0, 0); visualizeChams.Adornee = bodyClone; visualizeChams.OutlineTransparency = 0.2; visualizeChams.FillTransparency = 0.5; visualizeChams.Parent = game.CoreGui
352
local targetHighlight = Instance.new("Highlight", game.CoreGui); targetHighlight.Enabled = true; targetHighlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop; targetHighlight.FillColor = Color3.fromRGB(0,0,0); targetHighlight.OutlineColor = Color3.fromRGB(255,255,255); targetHighlight.OutlineTransparency = 0.5; targetHighlight.FillTransparency = 0;
353
local IgnoreList = {};
354
local Tween = {};
355
local crosshair_Lines = {};
356
local crosshair_Outlines = {};
357
local C_Desync = {Enabled = false, OldPosition = nil, PredictedPosition = nil};
358
local connections = {};
359
local highlights = {};
360
local Dropdowns = {};
361
local Pickers = {};
362
local VisValues = {};
363
local Typing = false;
364
local aimAssistTarget;
365
local checks;
366
local prediction;
367
local partClosest;
368
local antiCheattick = 0;
369
local CursorSize = 0;
370
local statsTick = 0;
371
local crosshair_LineAmount = 4;
372
local crosshair_SpinAngle = 0;
373
local crosshair_tick = 0;
374
local buying = false;
375
local PlaceHolderUI = Instance.new("ScreenGui", game.CoreGui);
376
PlaceHolderUI.Enabled = false
377
local Path =
378
"https://raw.githubusercontent.com/fortniteisveryepic/assets/main/"
379
local images = {
380
["[AK47]"] = game:HttpGet(Path.. "ak.png"),
381
["[AR]"] = game:HttpGet(Path.. "ar.png"),
382
["[AUG]"] = game:HttpGet(Path.. "aug.png"),
383
["[Double-Barrel SG]"] = game:HttpGet(Path.. "db.png"),
384
["[DrumGun]"] = game:HttpGet(Path.. "drumgun.png"),
385
["[Flamethrower]"] = game:HttpGet(Path.. "flame.png"),
386
["[Glock]"] = game:HttpGet(Path.. "glock.png"),
387
["[LMG]"] = game:HttpGet(Path.. "lmg.png"),
388
["[P90]"]= game:HttpGet(Path.. "p90.png"),
389
["[Revolver]"] = game:HttpGet(Path.. "rev.png"),
390
["[SMG]"] = game:HttpGet(Path.. "smg.png"),
391
["[Shotgun]"] = game:HttpGet(Path.. "shotgun.png"),
392
["[SilencerAR]"] = game:HttpGet(Path.. "ar.png"),
393
["[TacticalShotgun]"] = game:HttpGet(Path.. "tac.png"),
394
["[Knife]"] = game:HttpGet(Path.. "knife.png"),
395
["[Rifle]"] = game:HttpGet(Path.. "rifle.png")
396
}
397
local Languages = {
398
A = {English = "A", Arabic = "أ", Albanian = "A", Japanese = "あ", Spanish = "A", Russian = "А", Chinese = "阿", Urdu = "ا", French = "A", Portuguese = "A", Hindi = "अ"},
399
B = {English = "B", Arabic = "ب", Albanian = "B", Japanese = "い", Spanish = "B", Russian = "Б", Chinese = "波", Urdu = "ب", French = "B", Portuguese = "B", Hindi = "ब"},
400
C = {English = "C", Arabic = "ت", Albanian = "C", Japanese = "う", Spanish = "C", Russian = "Ц", Chinese = "西", Urdu = "س", French = "C", Portuguese = "C", Hindi = "स"},
401
D = {English = "D", Arabic = "د", Albanian = "D", Japanese = "え", Spanish = "D", Russian = "Д", Chinese = "德", Urdu = "ڈ", French = "D", Portuguese = "D", Hindi = "ड"},
402
E = {English = "E", Arabic = "إ", Albanian = "E", Japanese = "お", Spanish = "E", Russian = "Е", Chinese = "俄", Urdu = "اے", French = "E", Portuguese = "E", Hindi = "ए"},
403
F = {English = "F", Arabic = "ف", Albanian = "F", Japanese = "か", Spanish = "F", Russian = "Ф", Chinese = "夫", Urdu = "ف", French = "F", Portuguese = "F", Hindi = "फ"},
404
G = {English = "G", Arabic = "ج", Albanian = "G", Japanese = "き", Spanish = "G", Russian = "Г", Chinese = "吉", Urdu = "ج", French = "G", Portuguese = "G", Hindi = "ग"},
405
H = {English = "H", Arabic = "ح", Albanian = "H", Japanese = "く", Spanish = "H", Russian = "Х", Chinese = "艾尺", Urdu = "ح", French = "H", Portuguese = "H", Hindi = "ह"},
406
I = {English = "I", Arabic = "ي", Albanian = "I", Japanese = "け", Spanish = "I", Russian = "И", Chinese = "伊", Urdu = "آئی", French = "I", Portuguese = "I", Hindi = "इ"},
407
J = {English = "J", Arabic = "ج", Albanian = "J", Japanese = "こ", Spanish = "J", Russian = "Й", Chinese = "杰", Urdu = "جے", French = "J", Portuguese = "J", Hindi = "ज"},
408
K = {English = "K", Arabic = "ك", Albanian = "K", Japanese = "さ", Spanish = "K", Russian = "К", Chinese = "开", Urdu = "کے", French = "K", Portuguese = "K", Hindi = "क"},
409
L = {English = "L", Arabic = "ل", Albanian = "L", Japanese = "し", Spanish = "L", Russian = "Л", Chinese = "艾勒", Urdu = "ل", French = "L", Portuguese = "L", Hindi = "ल"},
410
M = {English = "M", Arabic = "م", Albanian = "M", Japanese = "す", Spanish = "M", Russian = "М", Chinese = "艾马", Urdu = "م", French = "M", Portuguese = "M", Hindi = "म"},
411
N = {English = "N", Arabic = "ن", Albanian = "N", Japanese = "せ", Spanish = "N", Russian = "Н", Chinese = "艾娜", Urdu = "ن", French = "N", Portuguese = "N", Hindi = "न"},
412
O = {English = "O", Arabic = "أو", Albanian = "O", Japanese = "そ", Spanish = "O", Russian = "О", Chinese = "哦", Urdu = "او", French = "O", Portuguese = "O", Hindi = "ओ"},
413
P = {English = "P", Arabic = "ب", Albanian = "P", Japanese = "た", Spanish = "P", Russian = "П", Chinese = "屁", Urdu = "پ", French = "P", Portuguese = "P", Hindi = "प"},
414
Q = {English = "Q", Arabic = "ق", Albanian = "Q", Japanese = "ち", Spanish = "Q", Russian = "К", Chinese = "丘", Urdu = "ق", French = "Q", Portuguese = "Q", Hindi = "क्यू"},
415
R = {English = "R", Arabic = "ر", Albanian = "R", Japanese = "つ", Spanish = "R", Russian = "Р", Chinese = "艾儿", Urdu = "ر", French = "R", Portuguese = "R", Hindi = "र"},
416
S = {English = "S", Arabic = "س", Albanian = "S", Japanese = "て", Spanish = "S", Russian = "С", Chinese = "艾丝", Urdu = "س", French = "S", Portuguese = "S", Hindi = "एस"},
417
T = {English = "T", Arabic = "ت", Albanian = "T", Japanese = "と", Spanish = "T", Russian = "Т", Chinese = "提", Urdu = "ٹ", French = "T", Portuguese = "T", Hindi = "ट"},
418
U = {English = "U", Arabic = "أو", Albanian = "U", Japanese = "な", Spanish = "U", Russian = "У", Chinese = "优", Urdu = "یو", French = "U", Portuguese = "U", Hindi = "यू"},
419
V = {English = "V", Arabic = "ف", Albanian = "V", Japanese = "に", Spanish = "V", Russian = "В", Chinese = "维", Urdu = "وی", French = "V", Portuguese = "V", Hindi = "व"},
420
W = {English = "W", Arabic = "و", Albanian = "W", Japanese = "ぬ", Spanish = "W", Russian = "В", Chinese = "豆贝尔维", Urdu = "ڈبلیو", French = "W", Portuguese = "W", Hindi = "डब्ल्यू"},
421
X = {English = "X", Arabic = "إكس", Albanian = "X", Japanese = "ね", Spanish = "X", Russian = "Х", Chinese = "艾克斯", Urdu = "اکس", French = "X", Portuguese = "X", Hindi = "एक्स"},
422
Y = {English = "Y", Arabic = "ي", Albanian = "Y", Japanese = "の", Spanish = "Y", Russian = "У", Chinese = "伊儿", Urdu = "وائی", French = "Y", Portuguese = "Y", Hindi = "वाई"},
423
Z = {English = "Z", Arabic = "ز", Albanian = "Z", Japanese = "は", Spanish = "Z", Russian = "З", Chinese = "贼德", Urdu = "زیڈ", French = "Z", Portuguese = "Z", Hindi = "जेड"}
424
}
425
local utx = {}
426
local Messages = {}
427
local drawingCache = {}
428
429
utility.folders["Part Chams"] = Instance.new("Folder", Workspace);
430
utility.folders["Hit Chams"] = Instance.new("Folder", Workspace);
431
Library.__index = Library;
432
Library.Pages.__index = Library.Pages;
433
Library.Sections.__index = Library.Sections;
434
435
-- // Functions
436
do
437
-- // Library Functions
438
do
439
function Library:Connection(Signal, Callback)
440
local Con = Signal:Connect(Callback)
441
return Con
442
end
443
--
444
function Library:updateNotifsPositions(position)
445
for i, v in pairs(Library.Notifs) do
446
local Position = position == "Middle" and NewVector2(viewportSize.X/2 - (v["Objects"][3].TextBounds.X + 4)/2,600) or NewVector2(20, 20)
447
game:GetService("TweenService"):Create(v.Container, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = UDim2.new(0,Position.X,0,Position.Y + (i * 25))}):Play()
448
end
449
end
450
--
451
function Library:Notification(message, duration, color, position)
452
local notification = {Container = nil, Objects = {}}
453
--
454
local NotifContainer = Instance.new('Frame', NotifiactionSGui)
455
local Background = Instance.new('Frame', NotifContainer)
456
local Outline = Instance.new('Frame', Background)
457
local UIStroke = Instance.new('UIStroke', Outline)
458
local TextLabel = Instance.new('TextLabel', Background)
459
local Accemt = Instance.new('Frame', Background)
460
local Progress = Instance.new('Frame', Background)
461
--
462
local Position = position == "Middle" and NewVector2(viewportSize.X/2 - (TextLabel.TextBounds.X + 4)/2, 600) or NewVector2(20, 20)
463
--
464
NotifContainer.Name = "NotifContainer"
465
NotifContainer.Position = UDim2.new(0,Position.X, 0, Position.Y)
466
NotifContainer.Size = UDim2.new(0,TextLabel.TextBounds.X + 4,0,20)
467
NotifContainer.BackgroundColor3 = Color3.new(1,1,1)
468
NotifContainer.BackgroundTransparency = 1
469
NotifContainer.BorderSizePixel = 0
470
NotifContainer.BorderColor3 = Color3.new(0,0,0)
471
NotifContainer.ZIndex = 99999999
472
notification.Container = NotifContainer
473
--
474
Background.Name = "Background"
475
Background.Size = UDim2.new(1,0,1,0)
476
Background.BackgroundColor3 = Color3.new(0.0588,0.0588,0.0784)
477
Background.BorderColor3 = Color3.new(0.1373,0.1373,0.1569)
478
table.insert(notification.Objects, Background)
479
--
480
Outline.Name = "Outline"
481
Outline.Position = UDim2.new(0,-1,0,-1)
482
Outline.Size = UDim2.new(1,2,1,2)
483
Outline.BackgroundColor3 = Color3.new(1,1,1)
484
Outline.BackgroundTransparency = 1
485
Outline.BorderSizePixel = 0
486
Outline.BorderColor3 = Color3.new(0,0,0)
487
table.insert(notification.Objects, Outline)
488
--
489
TextLabel.Name = "TextLabel"
490
TextLabel.Position = UDim2.new(0,1,0,0)
491
TextLabel.Size = UDim2.new(1,0,1,0)
492
TextLabel.BackgroundColor3 = Color3.new(1,1,1)
493
TextLabel.BackgroundTransparency = 1
494
TextLabel.BorderSizePixel = 0
495
TextLabel.BorderColor3 = Color3.new(0,0,0)
496
TextLabel.Text = message
497
TextLabel.TextColor3 = Color3.new(0.9216,0.9216,0.9216)
498
TextLabel.FontFace = Font.new(Font:GetRegistry("menu_plex"))
499
TextLabel.TextSize = Library.FontSize
500
TextLabel.AutomaticSize = Enum.AutomaticSize.X
501
TextLabel.TextXAlignment = Enum.TextXAlignment.Left
502
table.insert(notification.Objects, TextLabel)
503
--
504
Accemt.Name = "Accemt"
505
Accemt.Size = UDim2.new(1,0,0,1)
506
Accemt.BackgroundColor3 = Library.Accent
507
Accemt.BorderSizePixel = 0
508
Accemt.BorderColor3 = Color3.new(0,0,0)
509
table.insert(notification.Objects, Accemt)
510
--
511
Progress.Name = "Progress"
512
Progress.Position = UDim2.new(0,0,1,-1)
513
Progress.Size = UDim2.new(0,0,0,1)
514
Progress.BackgroundColor3 = Color3.new(1,0,0)
515
Progress.BorderSizePixel = 0
516
Progress.BorderColor3 = Color3.new(0,0,0)
517
table.insert(notification.Objects, Progress)
518
519
if color ~= nil then
520
Progress.BackgroundColor3 = color
521
Accemt.BackgroundColor3 = color
522
end
523
524
function notification:remove()
525
table.remove(Library.Notifs, table.find(Library.Notifs, notification))
526
Library:updateNotifsPositions(position)
527
notification.Container:Destroy()
528
end
529
530
task.spawn(function()
531
Background.AnchorPoint = NewVector2(1,0)
532
local Tween1 = game:GetService("TweenService"):Create(Background, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {AnchorPoint = NewVector2(0,0)}):Play()
533
local Tween2 = game:GetService("TweenService"):Create(Progress, TweenInfo.new(duration or 5, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {Size = UDim2.new(1,0,0,1)}):Play()
534
game:GetService("TweenService"):Create(Progress, TweenInfo.new(duration or 5, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {BackgroundColor3 = Color3.new(0,1,0)}):Play()
535
task.wait(duration)
536
game:GetService("TweenService"):Create(Background, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {AnchorPoint = NewVector2(1,0)}):Play()
537
for i,v in next, notification.Objects do
538
game:GetService("TweenService"):Create(v, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 1}):Play()
539
end
540
game:GetService("TweenService"):Create(TextLabel, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {TextTransparency = 1}):Play()
541
game:GetService("TweenService"):Create(UIStroke, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Transparency = 1}):Play()
542
end)
543
544
task.delay(0.25 + duration + 0.25, function()
545
notification:remove()
546
end)
547
548
table.insert(Library.Notifs, notification)
549
NotifContainer.Position = UDim2.new(0,Position.X,0,Position.Y + (table.find(Library.Notifs, notification) * 25))
550
NotifContainer.Size = UDim2.new(0,TextLabel.TextBounds.X + 4,0,18)
551
Library:updateNotifsPositions(position)
552
553
return notification
554
end
555
--
556
function Library:Disconnect(Connection)
557
Connection:Disconnect()
558
end
559
--
560
function Library:Round(Number, Float)
561
return Float * math.floor(Number / Float)
562
end
563
--
564
function Library.NextFlag()
565
Library.UnNamedFlags = Library.UnNamedFlags + 1
566
return string.format("%.14g", Library.UnNamedFlags)
567
end
568
--
569
function Library:GetConfig()
570
local Config = ""
571
for Index, Value in pairs(self.Flags) do
572
if
573
Index ~= "ConfigConfig_List"
574
and Index ~= "ConfigConfig_Load"
575
and Index ~= "ConfigConfig_Save"
576
then
577
local Value2 = Value
578
local Final = ""
579
--
580
if typeof(Value2) == "Color3" then
581
local hue, sat, val = Value2:ToHSV()
582
--
583
Final = ("rgb(%s,%s,%s,%s)"):format(hue, sat, val, 1)
584
elseif typeof(Value2) == "table" and Value2.Color and Value2.Transparency then
585
local hue, sat, val = Value2.Color:ToHSV()
586
--
587
Final = ("rgb(%s,%s,%s,%s)"):format(hue, sat, val, Value2.Transparency)
588
elseif typeof(Value2) == "table" and Value.Mode then
589
local Values = Value.current
590
--
591
Final = ("key(%s,%s,%s)"):format(Values[1] or "nil", Values[2] or "nil", Value.Mode)
592
elseif Value2 ~= nil then
593
if typeof(Value2) == "boolean" then
594
Value2 = ("bool(%s)"):format(tostring(Value2))
595
elseif typeof(Value2) == "table" then
596
local New = "table("
597
--
598
for Index2, Value3 in pairs(Value2) do
599
New = New .. Value3 .. ","
600
end
601
--
602
if New:sub(#New) == "," then
603
New = New:sub(0, #New - 1)
604
end
605
--
606
Value2 = New .. ")"
607
elseif typeof(Value2) == "string" then
608
Value2 = ("string(%s)"):format(Value2)
609
elseif typeof(Value2) == "number" then
610
Value2 = ("number(%s)"):format(Value2)
611
end
612
--
613
Final = Value2
614
end
615
--
616
Config = Config .. Index .. ": " .. tostring(Final) .. "\n"
617
end
618
end
619
--
620
return Config
621
end
622
--
623
function Library:LoadConfig(Config)
624
for i = 1, 10 do
625
local Table = string.split(Config, "\n")
626
local Table2 = {}
627
for Index, Value in pairs(Table) do
628
local Table3 = string.split(Value, ":")
629
--
630
if Table3[1] ~= "ConfigConfig_List" and #Table3 >= 2 then
631
local Value = Table3[2]:sub(2, #Table3[2])
632
--
633
if Value:sub(1, 3) == "rgb" then
634
local Table4 = string.split(Value:sub(5, #Value - 1), ",")
635
--
636
Value = Table4
637
elseif Value:sub(1, 3) == "key" then
638
local Table4 = string.split(Value:sub(5, #Value - 1), ",")
639
--
640
if Table4[1] == "nil" and Table4[2] == "nil" then
641
Table4[1] = nil
642
Table4[2] = nil
643
end
644
--
645
Value = Table4
646
elseif Value:sub(1, 4) == "bool" then
647
local Bool = Value:sub(6, #Value - 1)
648
--
649
Value = Bool == "true"
650
elseif Value:sub(1, 5) == "table" then
651
local Table4 = string.split(Value:sub(7, #Value - 1), ",")
652
--
653
Value = Table4
654
elseif Value:sub(1, 6) == "string" then
655
local String = Value:sub(8, #Value - 1)
656
--
657
Value = String
658
elseif Value:sub(1, 6) == "number" then
659
local Number = tonumber(Value:sub(8, #Value - 1))
660
--
661
Value = Number
662
end
663
--
664
Table2[Table3[1]] = Value
665
end
666
end
667
--
668
for i, v in pairs(Table2) do
669
if Flags[i] then
670
if typeof(Flags[i]) == "table" then
671
Flags[i]:Set(v)
672
else
673
Flags[i](v)
674
end
675
end
676
end
677
end
678
end
679
--
680
function Library:SetOpen(bool)
681
if typeof(bool) == 'boolean' then
682
Library.Open = bool;
683
Library.Holder.Visible = bool;
684
end
685
end;
686
--
687
function Library:ChangeAccent(Color)
688
Library.Accent = Color
689
690
for obj, theme in next, Library.ThemeObjects do
691
if theme:IsA("Frame") or theme:IsA("TextButton") then
692
theme.BackgroundColor3 = Color
693
elseif theme:IsA("TextLabel") then
694
theme.TextColor3 = Color
695
elseif theme:IsA("TextButton") and theme.BackgroundTransparency == 1 then
696
theme.TextColor3 = Color
697
end
698
end
699
end
700
--
701
function Library:IsMouseOverFrame(Frame)
702
local AbsPos, AbsSize = Frame.AbsolutePosition, Frame.AbsoluteSize;
703
704
if Mouse.X >= AbsPos.X and Mouse.X <= AbsPos.X + AbsSize.X
705
and Mouse.Y >= AbsPos.Y and Mouse.Y <= AbsPos.Y + AbsSize.Y then
706
707
return true;
708
end;
709
end;
710
--
711
function Library:KeybindList()
712
local KeyList = {Keybinds = {}};
713
Library.KeyList = KeyList
714
--
715
local KeyOutline = Instance.new('Frame', PlaceHolderUI)
716
local KeyInline = Instance.new('Frame', KeyOutline)
717
local KeyAccent = Instance.new('Frame', KeyInline)
718
local KeyHolder = Instance.new('Frame', KeyInline)
719
local UIListLayout = Instance.new('UIListLayout', KeyHolder)
720
local KeyTitle = Instance.new('TextLabel', KeyInline)
721
local LineThing = Instance.new('Frame', KeyInline)
722
--
723
KeyOutline.Name = "KeyOutline"
724
KeyOutline.Position = UDim2.new(0.01,0,0.5,0)
725
KeyOutline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
726
KeyOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
727
KeyOutline.AnchorPoint = NewVector2(0.009999999776482582,0.5)
728
KeyOutline.AutomaticSize = Enum.AutomaticSize.XY
729
--
730
KeyInline.Name = "KeyInline"
731
KeyInline.Position = UDim2.new(0,1,0,1)
732
KeyInline.Size = UDim2.new(0,-2,0,-2)
733
KeyInline.BackgroundColor3 = Color3.new(0.0745,0.0745,0.0745)
734
KeyInline.BorderSizePixel = 0
735
KeyInline.BorderColor3 = Color3.new(0,0,0)
736
KeyInline.AutomaticSize = Enum.AutomaticSize.XY
737
--
738
KeyAccent.Name = "KeyAccent"
739
KeyAccent.Size = UDim2.new(1,0,0,1)
740
KeyAccent.BackgroundColor3 = Library.Accent
741
KeyAccent.BorderSizePixel = 0
742
KeyAccent.BorderColor3 = Color3.new(0,0,0)
743
--
744
KeyHolder.Name = "KeyHolder"
745
KeyHolder.Position = UDim2.new(0,0,0,22)
746
KeyHolder.BackgroundColor3 = Color3.new(1,1,1)
747
KeyHolder.BackgroundTransparency = 1
748
KeyHolder.BorderSizePixel = 0
749
KeyHolder.BorderColor3 = Color3.new(0,0,0)
750
KeyHolder.AutomaticSize = Enum.AutomaticSize.XY
751
--
752
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
753
--
754
KeyTitle.Name = "KeyTitle"
755
KeyTitle.Size = UDim2.new(1,0,0,20)
756
KeyTitle.BackgroundColor3 = Color3.new(1,1,1)
757
KeyTitle.BackgroundTransparency = 1
758
KeyTitle.BorderSizePixel = 0
759
KeyTitle.BorderColor3 = Color3.new(0,0,0)
760
KeyTitle.Text = "Keybinds"
761
KeyTitle.TextColor3 = Color3.new(1,1,1)
762
KeyTitle.FontFace = Font.new(Font:GetRegistry("menu_plex"))
763
KeyTitle.TextSize = 12
764
KeyTitle.TextStrokeTransparency = 0
765
--
766
LineThing.Name = "LineThing"
767
LineThing.Position = UDim2.new(0,0,0,20)
768
LineThing.Size = UDim2.new(1,0,0,1)
769
LineThing.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
770
LineThing.BorderSizePixel = 0
771
LineThing.BorderColor3 = Color3.new(0,0,0)
772
-- Functions
773
function KeyList:SetVisible(State)
774
KeyOutline.Visible = State;
775
end;
776
--
777
function KeyList:NewKey(Name, Key, Mode)
778
local KeyValue = {}
779
--
780
local NewValue = Instance.new('TextLabel', KeyHolder)
781
--
782
NewValue.Name = "NewValue"
783
NewValue.Size = UDim2.new(0,0,0,15)
784
NewValue.BackgroundColor3 = Color3.new(1,1,1)
785
NewValue.BackgroundTransparency = 1
786
NewValue.BorderSizePixel = 0
787
NewValue.BorderColor3 = Color3.new(0,0,0)
788
NewValue.Text = tostring(" ["..Key.."] " .. Name .. " (" .. Mode ..") ")
789
NewValue.TextColor3 = Color3.new(1,1,1)
790
NewValue.FontFace = Font.new(Font:GetRegistry("menu_plex"))
791
NewValue.TextSize = 12
792
NewValue.AutomaticSize = Enum.AutomaticSize.X
793
NewValue.TextXAlignment = Enum.TextXAlignment.Left
794
NewValue.Visible = false
795
--
796
function KeyValue:SetVisible(State)
797
NewValue.Visible = State;
798
end;
799
--
800
function KeyValue:Update(NewName, NewKey, NewMode)
801
NewValue.Text = tostring(" ["..NewName.."] " .. NewKey .. " (" .. NewMode ..") ")
802
end;
803
return KeyValue
804
end;
805
return KeyList
806
end
807
end
808
-- // Color Picker Functions
809
do
810
function Library:NewPicker(name, default, defaultalpha, parent, count, flag, callback)
811
-- // Instances
812
local Icon = Instance.new('TextButton', parent)
813
local IconInline = Instance.new('Frame', Icon)
814
local ColorWindow = Instance.new('Frame', parent)
815
local WindowInline = Instance.new('Frame', ColorWindow)
816
local Color = Instance.new('TextButton', WindowInline)
817
local Sat = Instance.new('ImageLabel', Color)
818
local Val = Instance.new('ImageLabel', Color)
819
local Pointer = Instance.new('Frame', Color)
820
local Container = Instance.new('Frame', Color)
821
local ColorOutline = Instance.new('Frame', Color)
822
local UIStroke = Instance.new('UIStroke', ColorOutline)
823
local Hue = Instance.new('ImageButton', Color)
824
local HueOutline = Instance.new('Frame', Hue)
825
local UIStroke2 = Instance.new('UIStroke', HueOutline)
826
local Alpha = Instance.new('ImageButton', Color)
827
local AlphaOutline = Instance.new('Frame', Alpha)
828
local UIStroke3 = Instance.new('UIStroke', AlphaOutline)
829
local HueSlide = Instance.new('Frame', Hue)
830
local AlphaSlide = Instance.new('Frame', Alpha)
831
local ModeOutline = Instance.new('Frame', parent)
832
local ModeInline = Instance.new('Frame', ModeOutline)
833
local UIListLayout = Instance.new('UIListLayout', ModeInline)
834
local Hold = Instance.new('TextButton', ModeInline)
835
local Toggle = Instance.new('TextButton', ModeInline)
836
--
837
Icon.Name = "Icon"
838
Icon.Position = UDim2.new(1, - (count * 20) - (count * 6),0.5,0)
839
Icon.Size = UDim2.new(0,20,0,10)
840
Icon.BackgroundColor3 = Color3.fromRGB(45,45,45)
841
Icon.BorderColor3 = Color3.fromRGB(10,10,10)
842
Icon.AnchorPoint = NewVector2(1,0.5)
843
Icon.AutoButtonColor = false
844
Icon.Text = ""
845
--
846
IconInline.Name = "IconInline"
847
IconInline.Position = UDim2.new(0,1,0,1)
848
IconInline.Size = UDim2.new(1,-2,1,-2)
849
IconInline.BackgroundColor3 = default
850
IconInline.BorderSizePixel = 0
851
--
852
ColorWindow.Name = "ColorWindow"
853
ColorWindow.Position = UDim2.new(1,-2,1,2)
854
ColorWindow.Size = UDim2.new(0,206,0,170)
855
ColorWindow.BackgroundColor3 = Color3.fromRGB(45,45,45)
856
ColorWindow.BorderColor3 = Color3.fromRGB(10,10,10)
857
ColorWindow.AnchorPoint = NewVector2(1,0)
858
ColorWindow.ZIndex = 100
859
ColorWindow.Visible = false
860
--
861
WindowInline.Name = "WindowInline"
862
WindowInline.Position = UDim2.new(0,1,0,1)
863
WindowInline.Size = UDim2.new(1,-2,1,-2)
864
WindowInline.BackgroundColor3 = Color3.fromRGB(20,20,20)
865
WindowInline.BorderSizePixel = 0;
866
WindowInline.ZIndex = 100
867
--
868
Color.Name = "Color"
869
Color.Position = UDim2.new(0,8,0,10)
870
Color.Size = UDim2.new(0,150,0,150)
871
Color.BackgroundColor3 = default
872
Color.BorderColor3 = Color3.new(0,0,0)
873
Color.Text = ""
874
Color.TextColor3 = Color3.new(0,0,0)
875
Color.AutoButtonColor = false
876
Color.FontFace = Font.new(Font:GetRegistry("menu_plex"))
877
Color.TextSize = 14
878
Color.ZIndex = 100
879
--
880
Sat.Name = "Sat"
881
Sat.Size = UDim2.new(1,0,1,0)
882
Sat.BackgroundColor3 = Color3.new(1,1,1)
883
Sat.BackgroundTransparency = 1
884
Sat.BorderSizePixel = 0
885
Sat.BorderColor3 = Color3.new(0,0,0)
886
Sat.Image = "http://www.roblox.com/asset/?id=14684562507"
887
Sat.ZIndex = 100
888
--
889
Val.Name = "Val"
890
Val.Size = UDim2.new(1,0,1,0)
891
Val.BackgroundColor3 = Color3.new(1,1,1)
892
Val.BackgroundTransparency = 1
893
Val.BorderSizePixel = 0
894
Val.BorderColor3 = Color3.new(0,0,0)
895
Val.Image = "http://www.roblox.com/asset/?id=14684563800"
896
Val.ZIndex = 100
897
--
898
Pointer.Name = "Pointer"
899
Pointer.Position = UDim2.new(1,0,1,0)
900
Pointer.Size = UDim2.new(0,1,0,1)
901
Pointer.BackgroundColor3 = Color3.new(1,1,1)
902
Pointer.BorderColor3 = Color3.new(0,0,0)
903
Pointer.ZIndex = 100
904
--
905
Container.Name = "Container"
906
Container.Position = UDim2.new(0,-2,1,5)
907
Container.Size = UDim2.new(0,189,0,55)
908
Container.BackgroundColor3 = Color3.new(1,1,1)
909
Container.BackgroundTransparency = 1
910
Container.BorderColor3 = Color3.new(0,0,0)
911
Container.ZIndex = 100
912
--
913
ColorOutline.Name = "ColorOutline"
914
ColorOutline.Position = UDim2.new(0,-1,0,-1)
915
ColorOutline.Size = UDim2.new(1,2,1,2)
916
ColorOutline.BackgroundColor3 = Color3.new(1,1,1)
917
ColorOutline.BackgroundTransparency = 1
918
ColorOutline.BorderSizePixel = 0
919
ColorOutline.BorderColor3 = Color3.new(0,0,0)
920
ColorOutline.ZIndex = 100
921
--
922
UIStroke.Color = Color3.fromRGB(45,45,45)
923
--
924
Hue.Name = "Hue"
925
Hue.Position = UDim2.new(1,10,0,0)
926
Hue.Size = UDim2.new(0,10,1,0)
927
Hue.BackgroundColor3 = Color3.new(1,1,1)
928
Hue.BorderColor3 = Color3.new(0,0,0)
929
Hue.Image = "http://www.roblox.com/asset/?id=14684557999"
930
Hue.AutoButtonColor = false
931
Hue.ZIndex = 100
932
--
933
HueOutline.Name = "HueOutline"
934
HueOutline.Position = UDim2.new(0,-1,0,-1)
935
HueOutline.Size = UDim2.new(1,2,1,2)
936
HueOutline.BackgroundColor3 = Color3.new(1,1,1)
937
HueOutline.BackgroundTransparency = 1
938
HueOutline.BorderSizePixel = 0
939
HueOutline.BorderColor3 = Color3.new(0,0,0)
940
HueOutline.ZIndex = 100
941
--
942
UIStroke2.Color = Color3.fromRGB(45,45,45)
943
--
944
Alpha.Name = "Alpha"
945
Alpha.Position = UDim2.new(1,30,0,0)
946
Alpha.Size = UDim2.new(0,10,1,0)
947
Alpha.BackgroundColor3 = Color3.new(1,1,1)
948
Alpha.BorderColor3 = Color3.new(0,0,0)
949
Alpha.Image = "http://www.roblox.com/asset/?id=14684560169"
950
Alpha.AutoButtonColor = false
951
Alpha.ZIndex = 100
952
--
953
AlphaOutline.Name = "AlphaOutline"
954
AlphaOutline.Position = UDim2.new(0,-1,0,-1)
955
AlphaOutline.Size = UDim2.new(1,2,1,2)
956
AlphaOutline.BackgroundColor3 = Color3.new(1,1,1)
957
AlphaOutline.BackgroundTransparency = 1
958
AlphaOutline.BorderSizePixel = 0
959
AlphaOutline.BorderColor3 = Color3.new(0,0,0)
960
AlphaOutline.ZIndex = 100
961
--
962
UIStroke3.Color = Color3.fromRGB(45,45,45)
963
--
964
HueSlide.Name = "HueSlide"
965
HueSlide.Size = UDim2.new(1,0,0,3)
966
HueSlide.BackgroundColor3 = Color3.new(1,1,1)
967
HueSlide.BorderColor3 = Color3.new(0,0,0)
968
--
969
AlphaSlide.Name = "AlphaSlide"
970
AlphaSlide.Size = UDim2.new(1,0,0,3)
971
AlphaSlide.BackgroundColor3 = Color3.new(1,1,1)
972
AlphaSlide.BorderColor3 = Color3.new(0,0,0)
973
AlphaSlide.ZIndex = 100
974
--
975
ModeOutline.Name = "ModeOutline"
976
ModeOutline.Position = UDim2.new(1,65,0.5,0)
977
ModeOutline.Size = UDim2.new(0,60,0,12)
978
ModeOutline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
979
ModeOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
980
ModeOutline.AnchorPoint = NewVector2(1,0.5)
981
ModeOutline.AutomaticSize = Enum.AutomaticSize.Y
982
ModeOutline.Visible = false
983
ModeOutline.ZIndex = 1020000010
984
--
985
ModeInline.Name = "ModeInline"
986
ModeInline.Position = UDim2.new(0,1,0,1)
987
ModeInline.Size = UDim2.new(1,-2,1,-2)
988
ModeInline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
989
ModeInline.BorderSizePixel = 0
990
ModeInline.BorderColor3 = Color3.new(0,0,0)
991
ModeInline.ZIndex = 100
992
--
993
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
994
--
995
Hold.Name = "Hold"
996
Hold.Size = UDim2.new(1,0,0,15)
997
Hold.BackgroundColor3 = Color3.new(1,1,1)
998
Hold.BackgroundTransparency = 1
999
Hold.BorderSizePixel = 0
1000
Hold.BorderColor3 = Color3.new(0,0,0)
1001
Hold.Text = "Copy"
1002
Hold.TextColor3 = Color3.fromRGB(145,145,145)
1003
Hold.AutoButtonColor = false
1004
Hold.FontFace = Font.new(Font:GetRegistry("menu_plex"))
1005
Hold.TextSize = Library.FontSize
1006
Hold.TextStrokeTransparency = 0
1007
Hold.ZIndex = 100
1008
--
1009
Toggle.Name = "Toggle"
1010
Toggle.Size = UDim2.new(1,0,0,15)
1011
Toggle.BackgroundColor3 = Color3.new(1,1,1)
1012
Toggle.BackgroundTransparency = 1
1013
Toggle.BorderSizePixel = 0
1014
Toggle.BorderColor3 = Color3.new(0,0,0)
1015
Toggle.Text = "Paste"
1016
Toggle.TextColor3 = Color3.fromRGB(145,145,145)
1017
Toggle.AutoButtonColor = false
1018
Toggle.FontFace = Font.new(Font:GetRegistry("menu_plex"))
1019
Toggle.TextSize = Library.FontSize
1020
Toggle.TextStrokeTransparency = 0
1021
Toggle.ZIndex = 100
1022
1023
Library:Connection(Icon.MouseEnter, function()
1024
Icon.BorderColor3 = Library.Accent
1025
end)
1026
--
1027
Library:Connection(Icon.MouseLeave, function()
1028
Icon.BorderColor3 = Color3.fromRGB(10,10,10)
1029
end)
1030
1031
-- // Connections
1032
local mouseover = false
1033
local hue, sat, val = default:ToHSV()
1034
local hsv = default:ToHSV()
1035
local alpha = defaultalpha
1036
local oldcolor = hsv
1037
local slidingsaturation = false
1038
local slidinghue = false
1039
local slidingalpha = false
1040
1041
local function update()
1042
local real_pos = game:GetService("UserInputService"):GetMouseLocation()
1043
local mouse_position = NewVector2(real_pos.X, real_pos.Y - 40)
1044
local relative_palette = (mouse_position - Color.AbsolutePosition)
1045
local relative_hue = (mouse_position - Hue.AbsolutePosition)
1046
local relative_opacity = (mouse_position - Alpha.AbsolutePosition)
1047
--
1048
if slidingsaturation then
1049
sat = math.clamp(1 - relative_palette.X / Color.AbsoluteSize.X, 0, 1)
1050
val = math.clamp(1 - relative_palette.Y / Color.AbsoluteSize.Y, 0, 1)
1051
end
1052
--
1053
if slidinghue then
1054
hue = math.clamp(relative_hue.Y / Hue.AbsoluteSize.Y, 0, 1)
1055
end
1056
--
1057
if slidingalpha then
1058
alpha = math.clamp(relative_opacity.Y / Alpha.AbsoluteSize.Y, 0, 1)
1059
end
1060
-- edited by finobe (yes these fucking alphas crash on roexec? nice executor for $8 a week :[ )
1061
hsv = Color3.fromHSV(hue, sat, val)
1062
Pointer.Position = UDim2.new(math.clamp(1 - sat, 0.005, 0.995), 0, math.clamp(1 - val, 0.005, 0.995), 0)
1063
Color.BackgroundColor3 = Color3.fromHSV(hue, 1, 1)
1064
Alpha.BackgroundColor3 = Color3.fromHSV(hue, 1, 1)
1065
IconInline.BackgroundColor3 = hsv
1066
1067
HueSlide.Position = UDim2.new(0,0,math.clamp(hue, 0.005, 0.995),0)
1068
AlphaSlide.Position = UDim2.new(0,0,math.clamp(alpha, 0.005, 0.995),0)
1069
1070
if flag then
1071
Library.Flags[flag] = {}
1072
Library.Flags[flag]["Color"] = Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255)
1073
Library.Flags[flag]["Transparency"] = alpha
1074
end
1075
1076
callback(Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255), alpha)
1077
end
1078
1079
local function set(color, a)
1080
if type(color) == "table" then
1081
a = color[4]
1082
color = Color3.fromHSV(color[1], color[2], color[3])
1083
end
1084
if type(color) == "string" then
1085
color = Color3.fromHex(color)
1086
end
1087
1088
local oldcolor = hsv
1089
local oldalpha = alpha
1090
1091
hue, sat, val = color:ToHSV()
1092
alpha = a or 1
1093
hsv = Color3.fromHSV(hue, sat, val)
1094
1095
if hsv ~= oldcolor then
1096
IconInline.BackgroundColor3 = hsv
1097
Color.BackgroundColor3 = Color3.fromHSV(hue, 1, 1)
1098
Pointer.Position = UDim2.new(math.clamp(1 - sat, 0.005, 0.995), 0, math.clamp(1 - val, 0.005, 0.995), 0)
1099
Alpha.BackgroundColor3 = Color3.fromHSV(hue, 1, 1)
1100
HueSlide.Position = UDim2.new(0,0,math.clamp(hue, 0.005, 0.995),0)
1101
AlphaSlide.Position = UDim2.new(0,0,math.clamp(alpha, 0.005, 0.995),0)
1102
1103
if flag then
1104
Library.Flags[flag] = {}
1105
Library.Flags[flag]["Color"] = Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255)
1106
Library.Flags[flag]["Transparency"] = alpha
1107
end
1108
1109
callback(Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255), alpha)
1110
end
1111
end
1112
1113
Flags[flag] = set
1114
1115
set(default, defaultalpha)
1116
1117
Sat.InputBegan:Connect(function(input)
1118
if input.UserInputType == Enum.UserInputType.MouseButton1 then
1119
slidingsaturation = true
1120
update()
1121
end
1122
end)
1123
1124
Sat.InputEnded:Connect(function(input)
1125
if input.UserInputType == Enum.UserInputType.MouseButton1 then
1126
slidingsaturation = false
1127
update()
1128
end
1129
end)
1130
1131
Hue.InputBegan:Connect(function(input)
1132
if input.UserInputType == Enum.UserInputType.MouseButton1 then
1133
slidinghue = true
1134
update()
1135
end
1136
end)
1137
1138
Hue.InputEnded:Connect(function(input)
1139
if input.UserInputType == Enum.UserInputType.MouseButton1 then
1140
slidinghue = false
1141
update()
1142
end
1143
end)
1144
1145
Alpha.InputBegan:Connect(function(input)
1146
if input.UserInputType == Enum.UserInputType.MouseButton1 then
1147
slidingalpha = true
1148
update()
1149
end
1150
end)
1151
1152
Alpha.InputEnded:Connect(function(input)
1153
if input.UserInputType == Enum.UserInputType.MouseButton1 then
1154
slidingalpha = false
1155
update()
1156
end
1157
end)
1158
1159
Library:Connection(game:GetService("UserInputService").InputChanged, function(input)
1160
if input.UserInputType == Enum.UserInputType.MouseMovement then
1161
if slidingalpha then
1162
update()
1163
end
1164
1165
if slidinghue then
1166
update()
1167
end
1168
1169
if slidingsaturation then
1170
update()
1171
end
1172
end
1173
end)
1174
1175
Icon.MouseButton1Down:Connect(function()
1176
ColorWindow.Visible = not ColorWindow.Visible
1177
parent.ZIndex = ColorWindow.Visible and 5 or 1
1178
1179
if slidinghue then
1180
slidinghue = false
1181
end
1182
1183
if slidingsaturation then
1184
slidingsaturation = false
1185
end
1186
1187
if slidingalpha then
1188
slidingalpha = false
1189
end
1190
end)
1191
1192
Library:Connection(Icon.MouseButton2Down, function()
1193
ModeOutline.Visible = not ModeOutline.Visible
1194
end)
1195
--
1196
Library:Connection(Hold.MouseButton1Down, function()
1197
Library.CopiedColor = hsv
1198
Library.CopiedAlpha = alpha
1199
end)
1200
--
1201
Library:Connection(Toggle.MouseButton1Down, function()
1202
set(Library.CopiedColor or Color3.new(1,1,1), Library.CopiedAlpha or 0)
1203
end)
1204
--
1205
Library:Connection(game:GetService("UserInputService").InputBegan, function(Input)
1206
if ModeOutline.Visible and Input.UserInputType == Enum.UserInputType.MouseButton1 then
1207
if not Library:IsMouseOverFrame(Icon) then
1208
ModeOutline.Visible = false
1209
end
1210
end
1211
end)
1212
1213
local colorpickertypes = {}
1214
1215
function colorpickertypes:Set(color, newalpha)
1216
set(color, newalpha)
1217
end
1218
1219
Library:Connection(game:GetService("UserInputService").InputBegan, function(Input)
1220
if ColorWindow.Visible and Input.UserInputType == Enum.UserInputType.MouseButton1 then
1221
if not Library:IsMouseOverFrame(ColorWindow) and not Library:IsMouseOverFrame(Icon) then
1222
ColorWindow.Visible = false
1223
parent.ZIndex = 1
1224
end
1225
end
1226
end)
1227
1228
return colorpickertypes, ColorWindow
1229
end
1230
end
1231
-- // Doc Functions
1232
do
1233
local Pages = Library.Pages;
1234
local Sections = Library.Sections;
1235
function Library:Window(Options)
1236
local Window = {
1237
Pages = {};
1238
Sections = {};
1239
Elements = {};
1240
Dragging = { false, UDim2.new(0, 0, 0, 0) };
1241
Size = Options.Size or Options.size or UDim2.new(0, 550,0, 600);
1242
};
1243
--
1244
local ScreenGui = Instance.new('ScreenGui', game.CoreGui)
1245
local Outline = Instance.new('Frame', ScreenGui)
1246
local Inline = Instance.new('Frame', Outline)
1247
local Accent = Instance.new('Frame', Inline)
1248
local HolderOutline = Instance.new('Frame', Inline)
1249
local HolderInline = Instance.new('Frame', HolderOutline)
1250
local Tabs = Instance.new('Frame', HolderInline)
1251
local UIListLayout = Instance.new('UIListLayout', Tabs)
1252
local DragButton = Instance.new('TextButton', Outline)
1253
local KeybindList = Library:KeybindList()
1254
--
1255
ScreenGui.DisplayOrder = 2
1256
--
1257
Outline.Name = "Outline"
1258
Outline.Position = UDim2.new(0.5,0,0.5,0)
1259
Outline.Size = Window.Size
1260
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
1261
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
1262
Outline.AnchorPoint = Vector2.new(0.5,0.5)
1263
Library.Holder = Outline
1264
--
1265
Inline.Name = "Inline"
1266
Inline.Position = UDim2.new(0,1,0,1)
1267
Inline.Size = UDim2.new(1,-2,1,-2)
1268
Inline.BackgroundColor3 = Color3.new(0.0784,0.0784,0.0784)
1269
Inline.BorderSizePixel = 0
1270
Inline.BorderColor3 = Color3.new(0,0,0)
1271
--
1272
Accent.Name = "Accent"
1273
Accent.Size = UDim2.new(1,0,0,1)
1274
Accent.BackgroundColor3 = Library.Accent
1275
Accent.BorderSizePixel = 0
1276
Accent.BorderColor3 = Color3.new(0,0,0)
1277
table.insert(Library.ThemeObjects, Accent)
1278
--
1279
HolderOutline.Name = "HolderOutline"
1280
HolderOutline.Position = UDim2.new(0,7,0,11)
1281
HolderOutline.Size = UDim2.new(1,-14,1,-18)
1282
HolderOutline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
1283
HolderOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
1284
--
1285
HolderInline.Name = "HolderInline"
1286
HolderInline.Position = UDim2.new(0,1,0,1)
1287
HolderInline.Size = UDim2.new(1,-2,1,-2)
1288
HolderInline.BackgroundColor3 = Color3.new(0.0784,0.0784,0.0784)
1289
HolderInline.BorderSizePixel = 0
1290
HolderInline.BorderColor3 = Color3.new(0,0,0)
1291
--
1292
Tabs.Name = "Tabs"
1293
Tabs.Size = UDim2.new(1,0,0,22)
1294
Tabs.BackgroundColor3 = Color3.new(1,1,1)
1295
Tabs.BackgroundTransparency = 1
1296
Tabs.BorderSizePixel = 0
1297
Tabs.BorderColor3 = Color3.new(0,0,0)
1298
--
1299
UIListLayout.FillDirection = Enum.FillDirection.Horizontal
1300
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
1301
--
1302
DragButton.Name = "DragButton"
1303
DragButton.Size = UDim2.new(1,0,0,10)
1304
DragButton.BackgroundColor3 = Color3.new(1,1,1)
1305
DragButton.BackgroundTransparency = 1
1306
DragButton.BorderSizePixel = 0
1307
DragButton.BorderColor3 = Color3.new(0,0,0)
1308
DragButton.Text = ""
1309
DragButton.TextColor3 = Color3.new(0,0,0)
1310
DragButton.AutoButtonColor = false
1311
DragButton.FontFace = Font.new(Font:GetRegistry("menu_plex"))
1312
DragButton.TextSize = 14
1313
1314
1315
1316
-- // Elements
1317
Window.Elements = {
1318
TabHolder = Tabs,
1319
Holder = HolderInline
1320
}
1321
1322
-- // Dragging
1323
Library:Connection(DragButton.MouseButton1Down, function()
1324
local Location = game:GetService("UserInputService"):GetMouseLocation()
1325
Window.Dragging[1] = true
1326
Window.Dragging[2] = UDim2.new(0, Location.X - Outline.AbsolutePosition.X, 0, Location.Y - Outline.AbsolutePosition.Y)
1327
end)
1328
Library:Connection(game:GetService("UserInputService").InputEnded, function(Input)
1329
if Input.UserInputType == Enum.UserInputType.MouseButton1 and Window.Dragging[1] then
1330
local Location = game:GetService("UserInputService"):GetMouseLocation()
1331
Window.Dragging[1] = false
1332
Window.Dragging[2] = UDim2.new(0, 0, 0, 0)
1333
end
1334
end)
1335
Library:Connection(game:GetService("UserInputService").InputChanged, function(Input)
1336
local Location = game:GetService("UserInputService"):GetMouseLocation()
1337
local ActualLocation = nil
1338
1339
-- Dragging
1340
if Window.Dragging[1] then
1341
Outline.Position = UDim2.new(
1342
0,
1343
Location.X - Window.Dragging[2].X.Offset + (Outline.Size.X.Offset * Outline.AnchorPoint.X),
1344
0,
1345
Location.Y - Window.Dragging[2].Y.Offset + (Outline.Size.Y.Offset * Outline.AnchorPoint.Y)
1346
)
1347
end
1348
end)
1349
Library:Connection(game:GetService("UserInputService").InputBegan, function(Input)
1350
if Input.KeyCode == Library.UIKey then
1351
Library:SetOpen(not Library.Open)
1352
end
1353
end)
1354
1355
-- // Functions
1356
function Window:UpdateTabs()
1357
for Index, Page in pairs(Window.Pages) do
1358
Page.Elements.Button.Size = UDim2.new(1/#Window.Pages,0,1,0)
1359
Page:Turn(Page.Open)
1360
end
1361
end
1362
1363
-- // Returns
1364
Library.Holder = Outline
1365
return setmetatable(Window, Library)
1366
end
1367
--
1368
function Library:Page(Properties)
1369
if not Properties then
1370
Properties = {}
1371
end
1372
--
1373
local Page = {
1374
Name = Properties.Name or "Page",
1375
Window = self,
1376
Open = false,
1377
Sections = {},
1378
Elements = {},
1379
Weapons = {},
1380
Icons = Properties.Weapons or Properties.weapons or false,
1381
}
1382
--
1383
local TabButton = Instance.new('TextButton', Page.Window.Elements.TabHolder)
1384
local TabAccent = Instance.new('Frame', TabButton)
1385
local TabLine = Instance.new('Frame', TabButton)
1386
local WeaponOutline = Instance.new("Frame", Page.Window.Elements.Holder)
1387
local WeaponInline = Instance.new("Frame", WeaponOutline)
1388
local UIListLayout3 = Instance.new("UIListLayout", WeaponInline)
1389
local Left = Instance.new('Frame', Page.Window.Elements.Holder)
1390
local Right = Instance.new('Frame', Page.Window.Elements.Holder)
1391
local UIListLayout = Instance.new('UIListLayout', Left)
1392
local UIListLayout_2 = Instance.new('UIListLayout', Right)
1393
Left.Name = "Left"
1394
Left.Position = UDim2.new(0,5,0,35)
1395
Left.Size = UDim2.new(0.485,-3,1,-40)
1396
Left.BackgroundColor3 = Color3.new(1,1,1)
1397
Left.BorderSizePixel = 0
1398
Left.BackgroundTransparency = 1
1399
Left.BorderColor3 = Color3.new(0,0,0)
1400
Left.Visible = false
1401
Left.ZIndex = 3
1402
--
1403
Right.Name = "Right"
1404
Right.Position = UDim2.new(1,-5,0,35)
1405
Right.Size = UDim2.new(0.485,-3,1,-40)
1406
Right.BackgroundColor3 = Color3.new(1,1,1)
1407
Right.BorderSizePixel = 0
1408
Right.BorderColor3 = Color3.new(0,0,0)
1409
Right.AnchorPoint = Vector2.new(1,0)
1410
Right.Visible = false
1411
Right.BackgroundTransparency = 1
1412
--
1413
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
1414
UIListLayout.Padding = UDim.new(0,12)
1415
--
1416
UIListLayout_2.SortOrder = Enum.SortOrder.LayoutOrder
1417
UIListLayout_2.Padding = UDim.new(0,12)
1418
--
1419
TabButton.Name = "TabButton"
1420
TabButton.Size = UDim2.new(0.25,0,1,0)
1421
TabButton.BackgroundColor3 = Color3.new(1,1,1)
1422
TabButton.BackgroundTransparency = 1
1423
TabButton.BorderSizePixel = 0
1424
TabButton.BorderColor3 = Color3.new(0,0,0)
1425
TabButton.Text = Page.Name
1426
TabButton.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
1427
TabButton.AutoButtonColor = false
1428
TabButton.FontFace = Font.new(Font:GetRegistry("menu_plex"))
1429
TabButton.TextSize = Library.FontSize
1430
TabButton.TextStrokeTransparency = 0
1431
TabButton.LineHeight = 1.1
1432
--
1433
TabAccent.Name = "TabAccent"
1434
TabAccent.Size = UDim2.new(1,0,0,1)
1435
TabAccent.BackgroundColor3 = Library.Accent
1436
TabAccent.BorderSizePixel = 0
1437
TabAccent.BorderColor3 = Color3.new(0,0,0)
1438
TabAccent.Visible = false
1439
table.insert(Library.ThemeObjects, TabAccent)
1440
--
1441
TabLine.Name = "TabLine"
1442
TabLine.Position = UDim2.new(0,0,1,-1)
1443
TabLine.Size = UDim2.new(1,0,0,1)
1444
TabLine.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
1445
TabLine.BorderSizePixel = 0
1446
TabLine.BorderColor3 = Color3.new(0,0,0)
1447
1448
WeaponOutline.Name = "WeaponOutline"
1449
WeaponOutline.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
1450
WeaponOutline.BorderColor3 = Color3.fromRGB(10, 10, 10)
1451
WeaponOutline.Position = UDim2.new(0, 5, 0, 25)
1452
WeaponOutline.Size = UDim2.new(1, -10, 0, 40)
1453
WeaponOutline.Visible = false
1454
1455
WeaponInline.Name = "WeaponInline"
1456
WeaponInline.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
1457
WeaponInline.BorderColor3 = Color3.fromRGB(0, 0, 0)
1458
WeaponInline.BorderSizePixel = 0
1459
WeaponInline.Position = UDim2.new(0, 1, 0, 1)
1460
WeaponInline.Size = UDim2.new(1, -2, 1, -2)
1461
1462
UIListLayout3.FillDirection = Enum.FillDirection.Horizontal
1463
UIListLayout3.SortOrder = Enum.SortOrder.LayoutOrder
1464
1465
function Page:Turn(bool)
1466
Page.Open = bool
1467
if not Page.Icons then
1468
Left.Visible = Page.Open
1469
Right.Visible = Page.Open
1470
else
1471
WeaponOutline.Visible = Page.Open
1472
for Index, Weapon in pairs(Page.Weapons) do
1473
Weapon:Turn(Weapon.Open)
1474
end
1475
end
1476
TabAccent.Visible = Page.Open
1477
TabLine.Visible = not Page.Open
1478
TabButton.TextColor3 = Page.Open and Color3.fromRGB(255,255,255) or Color3.fromRGB(145,145,145)
1479
end
1480
--
1481
Library:Connection(TabButton.MouseButton1Down, function()
1482
if not Page.Open then
1483
Page:Turn(true)
1484
for _, Pages in pairs(Page.Window.Pages) do
1485
if Pages.Open and Pages ~= Page then
1486
Pages:Turn(false)
1487
end
1488
end
1489
end
1490
end)
1491
--
1492
Library:Connection(TabButton.MouseEnter, function()
1493
if not Page.Open then
1494
TabButton.TextColor3 = Library.Accent
1495
end
1496
end)
1497
--
1498
Library:Connection(TabButton.MouseLeave, function()
1499
if not Page.Open then
1500
TabButton.TextColor3 = Color3.fromRGB(145,145,145)
1501
end
1502
end)
1503
1504
-- // Functions
1505
function Page:UpdateWeapons()
1506
for Index, Weapon in pairs(Page.Weapons) do
1507
Weapon.Elements.Button.Size = UDim2.new(1/#Page.Weapons,0,1,0)
1508
Weapon:Turn(Weapon.Open)
1509
end
1510
end
1511
1512
-- // Elements
1513
Page.Elements = {
1514
Left = Page.Icons and nil or Left,
1515
Right = Page.Icons and nil or Right,
1516
Button = TabButton,
1517
WeaponOutline = WeaponOutline,
1518
WeaponInline = WeaponInline,
1519
}
1520
1521
-- // Drawings
1522
if #Page.Window.Pages == 0 then
1523
Page:Turn(true)
1524
end
1525
Page.Window.Pages[#Page.Window.Pages + 1] = Page
1526
Page.Window:UpdateTabs()
1527
return setmetatable(Page, Library.Pages)
1528
end
1529
--
1530
function Pages:Weapon(Properties)
1531
if not Properties then
1532
Properties = {}
1533
end
1534
--
1535
local Weapon = {
1536
Icon = Properties.Icon or Properties.icon or "rbxassetid://11127408662",
1537
Window = self,
1538
Open = false,
1539
Sections = {},
1540
Elements = {},
1541
}
1542
--
1543
--Weapon.Window.Elements.WeaponOutline.Visible = true
1544
1545
local Left = Instance.new('Frame', Weapon.Window.Window.Elements.Holder)
1546
local Right = Instance.new('Frame', Weapon.Window.Window.Elements.Holder)
1547
local UIListLayout = Instance.new('UIListLayout', Left)
1548
local UIListLayout_2 = Instance.new('UIListLayout', Right)
1549
local New = Instance.new("ImageButton")
1550
--
1551
New.Name = "New"
1552
New.Parent = Weapon.Window.Elements.WeaponInline
1553
New.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
1554
New.BackgroundTransparency = 1.000
1555
New.BorderColor3 = Color3.fromRGB(0, 0, 0)
1556
New.BorderSizePixel = 0
1557
New.Size = UDim2.new(0.200000003, 0, 1, 0)
1558
New.Image = Weapon.Icon
1559
New.ScaleType = Enum.ScaleType.Fit
1560
--
1561
Left.Name = "Left"
1562
Left.Position = UDim2.new(0,5,0,75)
1563
Left.Size = UDim2.new(0.485,-3,1, -80)
1564
Left.BackgroundColor3 = Color3.new(1,1,1)
1565
Left.BorderSizePixel = 0
1566
Left.BackgroundTransparency = 1
1567
Left.BorderColor3 = Color3.new(0,0,0)
1568
Left.Visible = false
1569
Left.ZIndex = 3
1570
--
1571
Right.Name = "Right"
1572
Right.Position = UDim2.new(1,-5,0,75)
1573
Right.Size = UDim2.new(0.485,-3,1, -80)
1574
Right.BackgroundColor3 = Color3.new(1,1,1)
1575
Right.BorderSizePixel = 0
1576
Right.BorderColor3 = Color3.new(0,0,0)
1577
Right.AnchorPoint = Vector2.new(1,0)
1578
Right.Visible = false
1579
Right.BackgroundTransparency = 1
1580
--
1581
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
1582
UIListLayout.Padding = UDim.new(0,12)
1583
--
1584
UIListLayout_2.SortOrder = Enum.SortOrder.LayoutOrder
1585
UIListLayout_2.Padding = UDim.new(0,12)
1586
1587
function Weapon:Turn(bool)
1588
Weapon.Open = bool
1589
Left.Visible = Weapon.Open and Weapon.Window.Open
1590
Right.Visible = Weapon.Open and Weapon.Window.Open
1591
New.ImageColor3 = Weapon.Open and Color3.new(1,1,1) or Color3.fromRGB(145,145,145)
1592
end
1593
--
1594
Library:Connection(New.MouseButton1Down, function()
1595
if not Weapon.Open then
1596
Weapon:Turn(true)
1597
for _, Weapons in pairs(Weapon.Window.Weapons) do
1598
if Weapons.Open and Weapons ~= Weapon then
1599
Weapons:Turn(false)
1600
end
1601
end
1602
end
1603
end)
1604
--
1605
1606
-- // Elements
1607
Weapon.Elements = {
1608
Left = Left,
1609
Right = Right,
1610
Button = New
1611
}
1612
1613
-- // Drawings
1614
if #Weapon.Window.Weapons == 0 then
1615
Weapon:Turn(true)
1616
end
1617
Weapon.Window.Weapons[#Weapon.Window.Weapons + 1] = Weapon
1618
Weapon.Window:UpdateWeapons()
1619
return setmetatable(Weapon, Library.Pages)
1620
end
1621
--
1622
function Pages:Section(Properties)
1623
if not Properties then
1624
Properties = {}
1625
end
1626
--
1627
local Section = {
1628
Name = Properties.Name or "Section",
1629
Page = self,
1630
Side = (Properties.side or Properties.Side or "left"):lower(),
1631
ZIndex = Properties.ZIndex or 1, -- Idfk why
1632
Elements = {},
1633
Content = {},
1634
}
1635
--
1636
local SectionOutline = Instance.new('Frame', Section.Side == "left" and Section.Page.Elements.Left or Section.Side == "right" and Section.Page.Elements.Right)
1637
local SectionInline = Instance.new('Frame', SectionOutline)
1638
local Container = Instance.new('Frame', SectionInline)
1639
local UIListLayout = Instance.new('UIListLayout', Container)
1640
local Space = Instance.new('Frame', Container)
1641
local SectionAccent = Instance.new('Frame', SectionInline)
1642
local Title = Instance.new('TextLabel', SectionOutline)
1643
local TextBorder = Instance.new('Frame', SectionOutline)
1644
--
1645
SectionOutline.Name = "SectionOutline"
1646
SectionOutline.Size = UDim2.new(1,0,0,20)
1647
SectionOutline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
1648
SectionOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
1649
SectionOutline.AutomaticSize = Enum.AutomaticSize.Y
1650
SectionOutline.ZIndex = Section.ZIndex
1651
--
1652
1653
--
1654
SectionInline.Name = "SectionInline"
1655
SectionInline.Position = UDim2.new(0,1,0,1)
1656
SectionInline.Size = UDim2.new(1,-2,1,-2)
1657
SectionInline.BackgroundColor3 = Color3.new(0.0784,0.0784,0.0784)
1658
SectionInline.BorderSizePixel = 0
1659
SectionInline.BorderColor3 = Color3.new(0,0,0)
1660
--
1661
Container.Name = "Container"
1662
Container.Position = UDim2.new(0,7,0,10)
1663
Container.Size = UDim2.new(1,-14,1,-10)
1664
Container.BackgroundColor3 = Color3.new(1,1,1)
1665
Container.BackgroundTransparency = 1
1666
Container.BorderSizePixel = 0
1667
Container.BorderColor3 = Color3.new(0,0,0)
1668
Container.AutomaticSize = Enum.AutomaticSize.Y
1669
--
1670
Space.Name = "Space"
1671
Space.Position = UDim2.new(0,0,1,0)
1672
Space.Size = UDim2.new(1,0,0,1)
1673
Space.BackgroundColor3 = Color3.new(1,1,1)
1674
Space.BackgroundTransparency = 1
1675
Space.BorderSizePixel = 0
1676
Space.BorderColor3 = Color3.new(0,0,0)
1677
Space.LayoutOrder = 1000
1678
--
1679
SectionAccent.Name = "SectionAccent"
1680
SectionAccent.Size = UDim2.new(1,0,0,1)
1681
SectionAccent.BackgroundColor3 = Library.Accent
1682
SectionAccent.BorderSizePixel = 0
1683
SectionAccent.BorderColor3 = Color3.new(0,0,0)
1684
table.insert(Library.ThemeObjects, SectionAccent)
1685
table.insert(Library.ThemeObjects, SectionAccent)
1686
--
1687
Title.Name = "Title"
1688
Title.Position = UDim2.new(0,10,0,-8)
1689
Title.Size = UDim2.new(0,100,0,16)
1690
Title.BackgroundColor3 = Color3.new(1,1,1)
1691
Title.BackgroundTransparency = 1
1692
Title.BorderSizePixel = 0
1693
Title.BorderColor3 = Color3.new(0,0,0)
1694
Title.TextColor3 = Color3.new(1,1,1)
1695
Title.FontFace = Font.new(Font:GetRegistry("menu_plex"))
1696
Title.TextSize = Library.FontSize
1697
Title.ZIndex = 3
1698
Title.TextXAlignment = Enum.TextXAlignment.Left
1699
Title.Text = Section.Name
1700
Title.TextStrokeTransparency = 0
1701
--
1702
TextBorder.Name = "TextBorder"
1703
TextBorder.Position = UDim2.new(0,6,0,-2)
1704
TextBorder.Size = UDim2.new(0,Title.TextBounds.X + 8,0,4)
1705
TextBorder.BackgroundColor3 = Color3.new(0.0784,0.0784,0.0784)
1706
TextBorder.BorderSizePixel = 0
1707
TextBorder.BorderColor3 = Color3.new(0,0,0)
1708
--
1709
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
1710
UIListLayout.Padding = UDim.new(0,10)
1711
1712
-- // Elements
1713
Section.Elements = {
1714
SectionContent = Container;
1715
SectionHolder = SectionOutline;
1716
}
1717
1718
-- // Returning
1719
Section.Page.Sections[#Section.Page.Sections + 1] = Section
1720
wait(0.01)
1721
TextBorder.Size = UDim2.new(0,Title.TextBounds.X + 8,0,4)
1722
return setmetatable(Section, Library.Sections)
1723
end
1724
--
1725
function Sections:Toggle(Properties)
1726
if not Properties then
1727
Properties = {}
1728
end
1729
--
1730
local Toggle = {
1731
Window = self.Window,
1732
Page = self.Page,
1733
Section = self,
1734
Risk = Properties.Risk or false,
1735
Name = Properties.Name or "Toggle",
1736
State = (
1737
Properties.state
1738
or Properties.State
1739
or Properties.def
1740
or Properties.Def
1741
or Properties.default
1742
or Properties.Default
1743
or false
1744
),
1745
Callback = (
1746
Properties.callback
1747
or Properties.Callback
1748
or Properties.callBack
1749
or Properties.CallBack
1750
or function() end
1751
),
1752
Flag = (
1753
Properties.flag
1754
or Properties.Flag
1755
or Properties.pointer
1756
or Properties.Pointer
1757
or Library.NextFlag()
1758
),
1759
Toggled = false,
1760
Colorpickers = 0,
1761
}
1762
--
1763
local NewToggle = Instance.new('TextButton', Toggle.Section.Elements.SectionContent)
1764
local Outline = Instance.new('Frame', NewToggle)
1765
local Inline = Instance.new('Frame', Outline)
1766
local Title = Instance.new('TextLabel', NewToggle)
1767
--
1768
NewToggle.Name = "NewToggle"
1769
NewToggle.Size = UDim2.new(1,0,0,10)
1770
NewToggle.BackgroundColor3 = Color3.new(1,1,1)
1771
NewToggle.BackgroundTransparency = 1
1772
NewToggle.BorderSizePixel = 0
1773
NewToggle.BorderColor3 = Color3.new(0,0,0)
1774
NewToggle.Text = ""
1775
NewToggle.TextColor3 = Color3.new(0,0,0)
1776
NewToggle.AutoButtonColor = false
1777
NewToggle.FontFace = Font.new(Font:GetRegistry("menu_plex"))
1778
NewToggle.TextSize = 14
1779
--
1780
Outline.Name = "Outline"
1781
Outline.Size = UDim2.new(0,10,0,10)
1782
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
1783
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
1784
--
1785
Inline.Name = "Inline"
1786
Inline.Position = UDim2.new(0,1,0,1)
1787
Inline.Size = UDim2.new(1,-2,1,-2)
1788
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
1789
Inline.BorderSizePixel = 0
1790
Inline.BorderColor3 = Color3.new(0,0,0)
1791
--
1792
--[[local inputText = string.upper(Toggle.Name)
1793
local targetLanguage = "Chinese" -- // English, Arabic, Albanian, Japanese, Spanish, Russian, Chinese, Urdu, French, Portuguese, Hindi
1794
local translatedText = utility:TranslateString(inputText, targetLanguage)]]
1795
--
1796
Title.Name = "Title"
1797
Title.Position = UDim2.new(0,15,0,0)
1798
Title.Size = UDim2.new(1,0,0,10)
1799
Title.BackgroundColor3 = Color3.new(1,1,1)
1800
Title.BackgroundTransparency = 1
1801
Title.BorderSizePixel = 0
1802
Title.BorderColor3 = Color3.new(0,0,0)
1803
Title.TextColor3 = Toggle.Risk and Color3.fromRGB(158, 158, 24) or Color3.new(0.5686,0.5686,0.5686)
1804
Title.FontFace = Font.new(Font:GetRegistry("menu_plex"))
1805
Title.TextSize = Library.FontSize
1806
Title.TextXAlignment = Enum.TextXAlignment.Left
1807
Title.Text = Toggle.Name
1808
Title.TextStrokeTransparency = 0
1809
1810
-- // Functions
1811
local function SetState()
1812
Toggle.Toggled = not Toggle.Toggled
1813
if Toggle.Toggled then
1814
table.insert(Library.ThemeObjects, Inline)
1815
Inline.BackgroundColor3 = Library.Accent
1816
if Toggle.Risk then
1817
Title.TextColor3 = Color3.fromRGB(227, 227, 34)
1818
else
1819
Title.TextColor3 = Color3.fromRGB(255,255,255)
1820
end
1821
else
1822
table.remove(Library.ThemeObjects, table.find(Library.ThemeObjects, Inline))
1823
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
1824
if Toggle.Risk then
1825
Title.TextColor3 = Color3.fromRGB(158, 158, 24)
1826
else
1827
Title.TextColor3 = Color3.fromRGB(145,145,145)
1828
end
1829
end
1830
Library.Flags[Toggle.Flag] = Toggle.Toggled
1831
Toggle.Callback(Toggle.Toggled)
1832
end
1833
--
1834
Library:Connection(NewToggle.MouseButton1Down, SetState)
1835
Library:Connection(NewToggle.MouseEnter, function()
1836
if not Toggle.Toggled then
1837
table.insert(Library.ThemeObjects, Title)
1838
Title.TextColor3 = Library.Accent
1839
end
1840
end)
1841
--
1842
Library:Connection(NewToggle.MouseLeave, function()
1843
if not Toggle.Toggled then
1844
table.remove(Library.ThemeObjects, table.find(Library.ThemeObjects, Title))
1845
if Toggle.Risk then
1846
Title.TextColor3 = Color3.fromRGB(158, 158, 24)
1847
else
1848
Title.TextColor3 = Color3.fromRGB(145,145,145)
1849
end
1850
else
1851
table.remove(Library.ThemeObjects, table.find(Library.ThemeObjects, Title))
1852
end
1853
end)
1854
1855
function Toggle:Keybind(Properties)
1856
local Properties = Properties or {}
1857
local Keybind = {
1858
Section = self,
1859
State = (
1860
Properties.state
1861
or Properties.State
1862
or Properties.def
1863
or Properties.Def
1864
or Properties.default
1865
or Properties.Default
1866
or nil
1867
),
1868
Mode = (Properties.mode or Properties.Mode or "Toggle"),
1869
Callback = (
1870
Properties.callback
1871
or Properties.Callback
1872
or Properties.callBack
1873
or Properties.CallBack
1874
or function() end
1875
),
1876
Flag = (
1877
Properties.flag
1878
or Properties.Flag
1879
or Properties.pointer
1880
or Properties.Pointer
1881
or Library.NextFlag()
1882
),
1883
Name = Properties.name or Properties.Name or "Keybind",
1884
Binding = nil,
1885
}
1886
local Key
1887
local State = false
1888
--
1889
local Outline = Instance.new('TextButton', NewToggle)
1890
local Inline = Instance.new('Frame', Outline)
1891
local Value = Instance.new('TextLabel', Inline)
1892
local ModeOutline = Instance.new('Frame', NewToggle)
1893
local ModeInline = Instance.new('Frame', ModeOutline)
1894
local UIListLayout = Instance.new('UIListLayout', ModeInline)
1895
local Hold = Instance.new('TextButton', ModeInline)
1896
local Toggle = Instance.new('TextButton', ModeInline)
1897
local Always = Instance.new('TextButton', ModeInline)
1898
local ListValue = Library.KeyList:NewKey(tostring(Keybind.State):gsub("Enum.KeyCode.", ""), Title.Text, Keybind.Mode)
1899
--
1900
Outline.Name = "Outline"
1901
Outline.Position = UDim2.new(1,0,0.5,0)
1902
Outline.Size = UDim2.new(0,40,0,12)
1903
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
1904
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
1905
Outline.AnchorPoint = NewVector2(1,0.5)
1906
Outline.Text = ""
1907
Outline.AutoButtonColor = false
1908
--
1909
Inline.Name = "Inline"
1910
Inline.Position = UDim2.new(0,1,0,1)
1911
Inline.Size = UDim2.new(1,-2,1,-2)
1912
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
1913
Inline.BorderSizePixel = 0
1914
Inline.BorderColor3 = Color3.new(0,0,0)
1915
--
1916
Value.Name = "Value"
1917
Value.Size = UDim2.new(1,0,1,0)
1918
Value.BackgroundColor3 = Color3.new(1,1,1)
1919
Value.BackgroundTransparency = 1
1920
Value.BorderSizePixel = 0
1921
Value.BorderColor3 = Color3.new(0,0,0)
1922
Value.Text = "MB2"
1923
Value.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
1924
Value.FontFace = Font.new(Font:GetRegistry("menu_plex"))
1925
Value.TextSize = Library.FontSize
1926
Value.TextStrokeTransparency = 0
1927
--
1928
ModeOutline.Name = "ModeOutline"
1929
ModeOutline.Position = UDim2.new(1,65,0.5,0)
1930
ModeOutline.Size = UDim2.new(0,60,0,12)
1931
ModeOutline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
1932
ModeOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
1933
ModeOutline.AnchorPoint = NewVector2(1,0.5)
1934
ModeOutline.AutomaticSize = Enum.AutomaticSize.Y
1935
ModeOutline.Visible = false
1936
--
1937
ModeInline.Name = "ModeInline"
1938
ModeInline.Position = UDim2.new(0,1,0,1)
1939
ModeInline.Size = UDim2.new(1,-2,1,-2)
1940
ModeInline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
1941
ModeInline.BorderSizePixel = 0
1942
ModeInline.BorderColor3 = Color3.new(0,0,0)
1943
--
1944
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
1945
--
1946
Hold.Name = "Hold"
1947
Hold.Size = UDim2.new(1,0,0,15)
1948
Hold.BackgroundColor3 = Color3.new(1,1,1)
1949
Hold.BackgroundTransparency = 1
1950
Hold.BorderSizePixel = 0
1951
Hold.BorderColor3 = Color3.new(0,0,0)
1952
Hold.Text = "Hold"
1953
Hold.TextColor3 = Keybind.Mode == "Hold" and Color3.new(1,1,1) or Color3.new(0.5686,0.5686,0.5686)
1954
Hold.AutoButtonColor = false
1955
Hold.FontFace = Font.new(Font:GetRegistry("menu_plex"))
1956
Hold.TextSize = Library.FontSize
1957
Hold.TextStrokeTransparency = 0
1958
--
1959
Toggle.Name = "Toggle"
1960
Toggle.Size = UDim2.new(1,0,0,15)
1961
Toggle.BackgroundColor3 = Color3.new(1,1,1)
1962
Toggle.BackgroundTransparency = 1
1963
Toggle.BorderSizePixel = 0
1964
Toggle.BorderColor3 = Color3.new(0,0,0)
1965
Toggle.Text = "Toggle"
1966
Toggle.TextColor3 = Keybind.Mode == "Toggle" and Color3.new(1,1,1) or Color3.new(0.5686,0.5686,0.5686)
1967
Toggle.AutoButtonColor = false
1968
Toggle.FontFace = Font.new(Font:GetRegistry("menu_plex"))
1969
Toggle.TextSize = Library.FontSize
1970
Toggle.TextStrokeTransparency = 0
1971
--
1972
Always.Name = "Always"
1973
Always.Size = UDim2.new(1,0,0,15)
1974
Always.BackgroundColor3 = Color3.new(1,1,1)
1975
Always.BackgroundTransparency = 1
1976
Always.BorderSizePixel = 0
1977
Always.BorderColor3 = Color3.new(0,0,0)
1978
Always.Text = "Always"
1979
Always.TextColor3 = Keybind.Mode == "Always" and Color3.new(1,1,1) or Color3.new(0.5686,0.5686,0.5686)
1980
Always.AutoButtonColor = false
1981
Always.FontFace = Font.new(Font:GetRegistry("menu_plex"))
1982
Always.TextSize = Library.FontSize
1983
Always.TextStrokeTransparency = 0
1984
1985
-- // Functions
1986
local function set(newkey)
1987
if string.find(tostring(newkey), "Enum") then
1988
if c then
1989
c:Disconnect()
1990
if Keybind.Flag then
1991
Library.Flags[Keybind.Flag] = false
1992
end
1993
Keybind.Callback(false)
1994
end
1995
if tostring(newkey):find("Enum.KeyCode.") then
1996
newkey = Enum.KeyCode[tostring(newkey):gsub("Enum.KeyCode.", "")]
1997
elseif tostring(newkey):find("Enum.UserInputType.") then
1998
newkey = Enum.UserInputType[tostring(newkey):gsub("Enum.UserInputType.", "")]
1999
end
2000
if newkey == Enum.KeyCode.Backspace then
2001
Key = nil
2002
2003
local text = "None"
2004
2005
Value.Text = text
2006
ListValue:Update(text, Keybind.Name, Keybind.Mode)
2007
elseif newkey ~= nil then
2008
Key = newkey
2009
2010
local text = (Library.Keys[newkey] or tostring(newkey):gsub("Enum.KeyCode.", ""))
2011
2012
Value.Text = text
2013
ListValue:Update(text, Keybind.Name, Keybind.Mode)
2014
end
2015
2016
Library.Flags[Keybind.Flag .. "_KEY"] = newkey
2017
elseif table.find({ "Always", "Toggle", "Hold" }, newkey) then
2018
Library.Flags[Keybind.Flag .. "_KEY STATE"] = newkey
2019
Keybind.Mode = newkey
2020
ListValue:Update((Library.Keys[Key] or tostring(Key):gsub("Enum.KeyCode.", "")), Keybind.Name, Keybind.Mode)
2021
if Keybind.Mode == "Always" then
2022
State = true
2023
if Keybind.Flag then
2024
Library.Flags[Keybind.Flag] = State
2025
end
2026
Keybind.Callback(true)
2027
ListValue:SetVisible(true)
2028
end
2029
else
2030
State = newkey
2031
if Keybind.Flag then
2032
Library.Flags[Keybind.Flag] = newkey
2033
end
2034
Keybind.Callback(newkey)
2035
end
2036
end
2037
--
2038
set(Keybind.State)
2039
set(Keybind.Mode)
2040
Outline.MouseButton1Click:Connect(function()
2041
if not Keybind.Binding then
2042
2043
Value.Text = "..."
2044
2045
Keybind.Binding = Library:Connection(
2046
game:GetService("UserInputService").InputBegan,
2047
function(input, gpe)
2048
set(
2049
input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode
2050
or input.UserInputType
2051
)
2052
Library:Disconnect(Keybind.Binding)
2053
task.wait()
2054
Keybind.Binding = nil
2055
end
2056
)
2057
end
2058
end)
2059
--
2060
local HoldLoop;
2061
Library:Connection(game:GetService("UserInputService").InputBegan, function(inp, Typing)
2062
if Typing then return end
2063
2064
if HoldLoop then
2065
HoldLoop:Disconnect()
2066
end
2067
--
2068
if (inp.KeyCode == Key or inp.UserInputType == Key) and not Keybind.Binding then
2069
if Keybind.Mode == "Hold" then
2070
if Keybind.Flag then
2071
Library.Flags[Keybind.Flag] = true
2072
end
2073
HoldLoop = Library:Connection(game:GetService("RunService").RenderStepped, function()
2074
if Keybind.Callback then
2075
Keybind.Callback(true)
2076
end
2077
end)
2078
ListValue:SetVisible(true)
2079
elseif Keybind.Mode == "Toggle" then
2080
State = not State
2081
if Keybind.Flag then
2082
Library.Flags[Keybind.Flag] = State
2083
end
2084
Keybind.Callback(State)
2085
ListValue:SetVisible(State)
2086
end
2087
end
2088
end)
2089
--
2090
Library:Connection(game:GetService("UserInputService").InputEnded, function(inp, Typing)
2091
if Typing then return end
2092
if Keybind.Mode == "Hold" then
2093
if Key ~= "" or Key ~= nil then
2094
if inp.KeyCode == Key or inp.UserInputType == Key then
2095
if c then
2096
c:Disconnect()
2097
if Keybind.Flag then
2098
Library.Flags[Keybind.Flag] = false
2099
end
2100
if Keybind.Callback then
2101
Keybind.Callback(false)
2102
end
2103
ListValue:SetVisible(false)
2104
end
2105
end
2106
end
2107
end
2108
end)
2109
Library:Connection(Outline.MouseEnter, function()
2110
Outline.BorderColor3 = Library.Accent
2111
end)
2112
--
2113
Library:Connection(Outline.MouseLeave, function()
2114
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
2115
end)
2116
--
2117
Library:Connection(Outline.MouseButton2Down, function()
2118
ModeOutline.Visible = not ModeOutline.Visible
2119
end)
2120
--
2121
Library:Connection(Hold.MouseButton1Down, function()
2122
set("Hold")
2123
Hold.TextColor3 = Color3.new(1,1,1)
2124
Toggle.TextColor3 = Color3.fromRGB(145,145,145)
2125
Always.TextColor3 = Color3.fromRGB(145,145,145)
2126
end)
2127
--
2128
Library:Connection(Toggle.MouseButton1Down, function()
2129
set("Toggle")
2130
Hold.TextColor3 = Color3.fromRGB(145,145,145)
2131
Toggle.TextColor3 = Color3.new(1,1,1)
2132
Always.TextColor3 = Color3.fromRGB(145,145,145)
2133
end)
2134
--
2135
Library:Connection(Always.MouseButton1Down, function()
2136
set("Always")
2137
Hold.TextColor3 = Color3.fromRGB(145,145,145)
2138
Toggle.TextColor3 = Color3.fromRGB(145,145,145)
2139
Always.TextColor3 = Color3.new(1,1,1)
2140
end)
2141
--
2142
Library:Connection(game:GetService("UserInputService").InputBegan, function(Input)
2143
if ModeOutline.Visible and Input.UserInputType == Enum.UserInputType.MouseButton1 then
2144
if not Library:IsMouseOverFrame(ModeOutline) then
2145
ModeOutline.Visible = false
2146
end
2147
end
2148
end)
2149
--
2150
Library.Flags[Keybind.Flag .. "_KEY"] = Keybind.State
2151
Library.Flags[Keybind.Flag .. "_KEY STATE"] = Keybind.Mode
2152
Flags[Keybind.Flag] = set
2153
Flags[Keybind.Flag .. "_KEY"] = set
2154
Flags[Keybind.Flag .. "_KEY STATE"] = set
2155
--
2156
function Keybind:Set(key)
2157
set(key)
2158
end
2159
2160
-- // Returning
2161
return Keybind
2162
end
2163
2164
function Toggle:Colorpicker(Properties)
2165
local Properties = Properties or {}
2166
local Colorpicker = {
2167
State = (
2168
Properties.state
2169
or Properties.State
2170
or Properties.def
2171
or Properties.Def
2172
or Properties.default
2173
or Properties.Default
2174
or Color3.fromRGB(255, 0, 0)
2175
),
2176
Alpha = (
2177
Properties.alpha
2178
or Properties.Alpha
2179
or Properties.transparency
2180
or Properties.Transparency
2181
or 1
2182
),
2183
Callback = (
2184
Properties.callback
2185
or Properties.Callback
2186
or Properties.callBack
2187
or Properties.CallBack
2188
or function() end
2189
),
2190
Flag = (
2191
Properties.flag
2192
or Properties.Flag
2193
or Properties.pointer
2194
or Properties.Pointer
2195
or Library.NextFlag()
2196
),
2197
}
2198
-- // Functions
2199
Toggle.Colorpickers = Toggle.Colorpickers + 1
2200
local colorpickertypes = Library:NewPicker(
2201
"",
2202
Colorpicker.State,
2203
Colorpicker.Alpha,
2204
NewToggle,
2205
Toggle.Colorpickers - 1,
2206
Colorpicker.Flag,
2207
Colorpicker.Callback
2208
)
2209
2210
function Colorpicker:Set(color)
2211
colorpickertypes:set(color)
2212
end
2213
2214
-- // Returning
2215
return Colorpicker
2216
end
2217
2218
-- // Misc Functions
2219
function Toggle.Set(bool)
2220
bool = type(bool) == "boolean" and bool or false
2221
if Toggle.Toggled ~= bool then
2222
SetState()
2223
end
2224
end
2225
Toggle.Set(Toggle.State)
2226
Library.Flags[Toggle.Flag] = Toggle.State
2227
Flags[Toggle.Flag] = Toggle.Set
2228
2229
-- // Returning
2230
return Toggle
2231
end
2232
--
2233
function Sections:Slider(Properties)
2234
if not Properties then
2235
Properties = {}
2236
end
2237
--
2238
local Slider = {
2239
Window = self.Window,
2240
Page = self.Page,
2241
Section = self,
2242
Name = Properties.Name or nil,
2243
Min = (Properties.min or Properties.Min or Properties.minimum or Properties.Minimum or 0),
2244
State = (
2245
Properties.state
2246
or Properties.State
2247
or Properties.def
2248
or Properties.Def
2249
or Properties.default
2250
or Properties.Default
2251
or 10
2252
),
2253
Max = (Properties.max or Properties.Max or Properties.maximum or Properties.Maximum or 100),
2254
Sub = (
2255
Properties.suffix
2256
or Properties.Suffix
2257
or Properties.ending
2258
or Properties.Ending
2259
or Properties.prefix
2260
or Properties.Prefix
2261
or Properties.measurement
2262
or Properties.Measurement
2263
or ""
2264
),
2265
Decimals = (Properties.decimals or Properties.Decimals or 1),
2266
Callback = (
2267
Properties.callback
2268
or Properties.Callback
2269
or Properties.callBack
2270
or Properties.CallBack
2271
or function() end
2272
),
2273
Flag = (
2274
Properties.flag
2275
or Properties.Flag
2276
or Properties.pointer
2277
or Properties.Pointer
2278
or Library.NextFlag()
2279
),
2280
Disabled = (Properties.Disabled or Properties.disable or nil),
2281
}
2282
local TextValue = ("[value]" .. Slider.Sub)
2283
--
2284
local NewSlider = Instance.new('TextButton', Slider.Section.Elements.SectionContent)
2285
local Outline = Instance.new('Frame', NewSlider)
2286
local Inline = Instance.new('Frame', Outline)
2287
local Accent = Instance.new('TextButton', Inline)
2288
local Add = Instance.new('TextButton', Outline)
2289
local Subtract = Instance.new('TextButton', Outline)
2290
local Title = Instance.new('TextLabel', NewSlider)
2291
local Value = Instance.new('TextLabel', NewSlider)
2292
--
2293
NewSlider.Name = "NewSlider"
2294
NewSlider.Size = UDim2.new(1,0,0,22)
2295
NewSlider.BackgroundColor3 = Color3.new(1,1,1)
2296
NewSlider.BackgroundTransparency = 1
2297
NewSlider.BorderSizePixel = 0
2298
NewSlider.BorderColor3 = Color3.new(0,0,0)
2299
NewSlider.Text = ""
2300
NewSlider.TextColor3 = Color3.new(0,0,0)
2301
NewSlider.AutoButtonColor = false
2302
NewSlider.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2303
NewSlider.TextSize = 14
2304
--
2305
Outline.Name = "Outline"
2306
Outline.Position = UDim2.new(0,15,1,0)
2307
Outline.Size = UDim2.new(1,-30,0,7)
2308
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
2309
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
2310
Outline.AnchorPoint = NewVector2(0,1)
2311
--
2312
Inline.Name = "Inline"
2313
Inline.Position = UDim2.new(0,1,0,1)
2314
Inline.Size = UDim2.new(1,-2,1,-2)
2315
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
2316
Inline.BorderSizePixel = 0
2317
Inline.BorderColor3 = Color3.new(0,0,0)
2318
--
2319
Accent.Name = "Accent"
2320
Accent.Size = UDim2.new(0,0,1,0)
2321
Accent.BackgroundColor3 = Library.Accent
2322
Accent.BorderSizePixel = 0
2323
Accent.BorderColor3 = Color3.new(0,0,0)
2324
Accent.Text = ""
2325
Accent.TextColor3 = Color3.new(0,0,0)
2326
Accent.AutoButtonColor = false
2327
Accent.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2328
Accent.TextSize = 14
2329
table.insert(Library.ThemeObjects, Accent)
2330
table.insert(Library.ThemeObjects, Accent)
2331
--
2332
Add.Name = "Add"
2333
Add.Position = UDim2.new(1,5,0.5,0)
2334
Add.Size = UDim2.new(0,10,0,10)
2335
Add.BackgroundColor3 = Color3.new(1,1,1)
2336
Add.BackgroundTransparency = 1
2337
Add.BorderSizePixel = 0
2338
Add.BorderColor3 = Color3.new(0,0,0)
2339
Add.AnchorPoint = NewVector2(0,0.5)
2340
Add.Text = "+"
2341
Add.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
2342
Add.AutoButtonColor = false
2343
Add.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2344
Add.TextSize = Library.FontSize
2345
Add.TextStrokeTransparency = 0
2346
--
2347
Subtract.Name = "Subtract"
2348
Subtract.Position = UDim2.new(0,-15,0.5,0)
2349
Subtract.Size = UDim2.new(0,10,0,10)
2350
Subtract.BackgroundColor3 = Color3.new(1,1,1)
2351
Subtract.BackgroundTransparency = 1
2352
Subtract.BorderSizePixel = 0
2353
Subtract.BorderColor3 = Color3.new(0,0,0)
2354
Subtract.AnchorPoint = NewVector2(0,0.5)
2355
Subtract.Text = "-"
2356
Subtract.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
2357
Subtract.AutoButtonColor = false
2358
Subtract.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2359
Subtract.TextSize = Library.FontSize
2360
Subtract.TextStrokeTransparency = 0
2361
--
2362
Title.Name = "Title"
2363
Title.Position = UDim2.new(0,15,0,0)
2364
Title.Size = UDim2.new(1,0,0,10)
2365
Title.BackgroundColor3 = Color3.new(1,1,1)
2366
Title.BackgroundTransparency = 1
2367
Title.BorderSizePixel = 0
2368
Title.BorderColor3 = Color3.new(0,0,0)
2369
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
2370
Title.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2371
Title.TextSize = Library.FontSize
2372
Title.TextXAlignment = Enum.TextXAlignment.Left
2373
Title.Text = Slider.Name
2374
Title.TextStrokeTransparency = 0
2375
--
2376
Value.Name = "Value"
2377
Value.Position = UDim2.new(0,15,0,0)
2378
Value.Size = UDim2.new(1,-30,0,10)
2379
Value.BackgroundColor3 = Color3.new(1,1,1)
2380
Value.BackgroundTransparency = 1
2381
Value.BorderSizePixel = 0
2382
Value.BorderColor3 = Color3.new(0,0,0)
2383
Value.TextColor3 = Color3.new(1,1,1)
2384
Value.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2385
Value.TextSize = Library.FontSize
2386
Value.TextXAlignment = Enum.TextXAlignment.Right
2387
Value.TextStrokeTransparency = 0
2388
2389
-- // Functions
2390
local Sliding = false
2391
local Val = Slider.State
2392
local function Set(value)
2393
value = math.clamp(Library:Round(value, Slider.Decimals), Slider.Min, Slider.Max)
2394
2395
local sizeX = ((value - Slider.Min) / (Slider.Max - Slider.Min))
2396
Accent.Size = UDim2.new(sizeX, 0, 1, 0)
2397
--Value.Text = TextValue:gsub("%[value%]", string.format("%.14g", value))
2398
if Slider.Disabled and value == Slider.Min then
2399
Value.Text = Slider.Disabled
2400
else
2401
Value.Text = TextValue:gsub("%[value%]", string.format("%.14g", value))
2402
end
2403
Val = value
2404
2405
Library.Flags[Slider.Flag] = value
2406
Slider.Callback(value)
2407
end
2408
--
2409
local function Slide(input)
2410
local sizeX = (input.Position.X - Outline.AbsolutePosition.X) / Outline.AbsoluteSize.X
2411
local value = ((Slider.Max - Slider.Min) * sizeX) + Slider.Min
2412
Set(value)
2413
end
2414
--
2415
Library:Connection(NewSlider.InputBegan, function(input)
2416
if input.UserInputType == Enum.UserInputType.MouseButton1 then
2417
Sliding = true
2418
Slide(input)
2419
end
2420
end)
2421
Library:Connection(NewSlider.InputEnded, function(input)
2422
if input.UserInputType == Enum.UserInputType.MouseButton1 then
2423
Sliding = false
2424
end
2425
end)
2426
Library:Connection(Accent.InputBegan, function(input)
2427
if input.UserInputType == Enum.UserInputType.MouseButton1 then
2428
Sliding = true
2429
Slide(input)
2430
end
2431
end)
2432
Library:Connection(Accent.InputEnded, function(input)
2433
if input.UserInputType == Enum.UserInputType.MouseButton1 then
2434
Sliding = false
2435
end
2436
end)
2437
Library:Connection(game:GetService("UserInputService").InputChanged, function(input)
2438
if input.UserInputType == Enum.UserInputType.MouseMovement then
2439
if Sliding then
2440
Slide(input)
2441
end
2442
end
2443
end)
2444
Library:Connection(NewSlider.MouseEnter, function()
2445
table.insert(Library.ThemeObjects, Title)
2446
Title.TextColor3 = Library.Accent
2447
end)
2448
--
2449
Library:Connection(NewSlider.MouseLeave, function()
2450
table.remove(Library.ThemeObjects, table.find(Library.ThemeObjects, Title))
2451
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
2452
end)
2453
--
2454
Library:Connection(Add.MouseButton1Down, function()
2455
Set(Val + 1)
2456
end)
2457
--
2458
Library:Connection(Subtract.MouseButton1Down, function()
2459
Set(Val - 1)
2460
end)
2461
--
2462
function Slider:Set(Value)
2463
Set(Value)
2464
end
2465
--
2466
function Slider:SetVisible(Bool)
2467
NewSlider.Visible = Bool
2468
end
2469
--
2470
Flags[Slider.Flag] = Set
2471
Library.Flags[Slider.Flag] = Slider.State
2472
Set(Slider.State)
2473
2474
-- // Returning
2475
return Slider
2476
end
2477
--
2478
function Sections:Dropdown(Properties)
2479
local Properties = Properties or {};
2480
local Dropdown = {
2481
Window = self.Window,
2482
Page = self.Page,
2483
Section = self,
2484
Open = false,
2485
Name = Properties.Name or Properties.name or nil,
2486
Options = (Properties.options or Properties.Options or Properties.values or Properties.Values or {
2487
"1",
2488
"2",
2489
"3",
2490
}),
2491
Max = (Properties.Max or Properties.max or nil),
2492
State = (
2493
Properties.state
2494
or Properties.State
2495
or Properties.def
2496
or Properties.Def
2497
or Properties.default
2498
or Properties.Default
2499
or nil
2500
),
2501
Callback = (
2502
Properties.callback
2503
or Properties.Callback
2504
or Properties.callBack
2505
or Properties.CallBack
2506
or function() end
2507
),
2508
Flag = (
2509
Properties.flag
2510
or Properties.Flag
2511
or Properties.pointer
2512
or Properties.Pointer
2513
or Library.NextFlag()
2514
),
2515
OptionInsts = {},
2516
}
2517
--
2518
local NewDrop = Instance.new('Frame', Dropdown.Section.Elements.SectionContent)
2519
local Outline = Instance.new('TextButton', NewDrop)
2520
local Inline = Instance.new('Frame', Outline)
2521
local Value = Instance.new('TextLabel', Inline)
2522
local Icon = Instance.new('TextLabel', Inline)
2523
local Title = Instance.new('TextLabel', NewDrop)
2524
local ContainerOutline = Instance.new('Frame', NewDrop)
2525
local ContainerInline = Instance.new('Frame', ContainerOutline)
2526
local UIListLayout = Instance.new('UIListLayout', ContainerInline)
2527
--
2528
NewDrop.Name = "NewDrop"
2529
NewDrop.Size = UDim2.new(1,0,0,30)
2530
NewDrop.BackgroundColor3 = Color3.new(1,1,1)
2531
NewDrop.BackgroundTransparency = 1
2532
NewDrop.BorderSizePixel = 0
2533
NewDrop.BorderColor3 = Color3.new(0,0,0)
2534
--
2535
Outline.Name = "Outline"
2536
Outline.Position = UDim2.new(0,15,1,0)
2537
Outline.Size = UDim2.new(1,-30,0,16)
2538
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
2539
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
2540
Outline.AnchorPoint = NewVector2(0,1)
2541
Outline.Text = ""
2542
Outline.AutoButtonColor = false
2543
--
2544
Inline.Name = "Inline"
2545
Inline.Position = UDim2.new(0,1,0,1)
2546
Inline.Size = UDim2.new(1,-2,1,-2)
2547
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
2548
Inline.BorderSizePixel = 0
2549
Inline.BorderColor3 = Color3.new(0,0,0)
2550
--
2551
Value.Name = "Value"
2552
Value.Position = UDim2.new(0,2,0,0)
2553
Value.Size = UDim2.new(1,-30,1,0)
2554
Value.BackgroundColor3 = Color3.new(1,1,1)
2555
Value.BackgroundTransparency = 1
2556
Value.BorderSizePixel = 0
2557
Value.BorderColor3 = Color3.new(0,0,0)
2558
Value.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
2559
Value.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2560
Value.TextSize = Library.FontSize
2561
Value.TextXAlignment = Enum.TextXAlignment.Left
2562
Value.TextStrokeTransparency = 0
2563
Value.TextWrapped = true
2564
--
2565
Icon.Name = "Icon"
2566
Icon.Position = UDim2.new(0,-5,0,0)
2567
Icon.Size = UDim2.new(1,0,1,0)
2568
Icon.BackgroundColor3 = Color3.new(1,1,1)
2569
Icon.BackgroundTransparency = 1
2570
Icon.BorderSizePixel = 0
2571
Icon.BorderColor3 = Color3.new(0,0,0)
2572
Icon.Text = "+"
2573
Icon.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
2574
Icon.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2575
Icon.TextSize = Library.FontSize
2576
Icon.TextXAlignment = Enum.TextXAlignment.Right
2577
Icon.TextStrokeTransparency = 0
2578
--
2579
Title.Name = "Title"
2580
Title.Position = UDim2.new(0,15,0,0)
2581
Title.Size = UDim2.new(1,0,0,10)
2582
Title.BackgroundColor3 = Color3.new(1,1,1)
2583
Title.BackgroundTransparency = 1
2584
Title.BorderSizePixel = 0
2585
Title.BorderColor3 = Color3.new(0,0,0)
2586
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
2587
Title.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2588
Title.TextSize = Library.FontSize
2589
Title.TextXAlignment = Enum.TextXAlignment.Left
2590
Title.TextStrokeTransparency = 0
2591
Title.Text = Dropdown.Name
2592
--
2593
ContainerOutline.Name = "ContainerOutline"
2594
ContainerOutline.Position = UDim2.new(0,15,1,2)
2595
ContainerOutline.Size = UDim2.new(1,-30,0,10)
2596
ContainerOutline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
2597
ContainerOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
2598
ContainerOutline.Visible = false
2599
ContainerOutline.AutomaticSize = Enum.AutomaticSize.Y
2600
ContainerOutline.ZIndex = 5
2601
--
2602
ContainerInline.Name = "ContainerInline"
2603
ContainerInline.Position = UDim2.new(0,1,0,1)
2604
ContainerInline.Size = UDim2.new(1,-2,1,-2)
2605
ContainerInline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
2606
ContainerInline.BorderSizePixel = 0
2607
ContainerInline.BorderColor3 = Color3.new(0,0,0)
2608
ContainerInline.ZIndex = 6;
2609
--
2610
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
2611
2612
-- // Connections
2613
Library:Connection(Outline.MouseButton1Down, function()
2614
ContainerOutline.Visible = not ContainerOutline.Visible
2615
if ContainerOutline.Visible then
2616
NewDrop.ZIndex = 2
2617
Icon.Text = "-"
2618
else
2619
NewDrop.ZIndex = 1
2620
Icon.Text = "+"
2621
end
2622
end)
2623
Library:Connection(game:GetService("UserInputService").InputBegan, function(Input)
2624
if ContainerOutline.Visible and Input.UserInputType == Enum.UserInputType.MouseButton1 then
2625
if not Library:IsMouseOverFrame(ContainerOutline) and not Library:IsMouseOverFrame(NewDrop) then
2626
ContainerOutline.Visible = false
2627
NewDrop.ZIndex = 1
2628
Icon.Text = "+"
2629
end
2630
end
2631
end)
2632
Library:Connection(NewDrop.MouseEnter, function()
2633
Outline.BorderColor3 = Library.Accent
2634
table.insert(Library.ThemeObjects, Title)
2635
Title.TextColor3 = Library.Accent
2636
end)
2637
--
2638
Library:Connection(NewDrop.MouseLeave, function()
2639
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
2640
table.remove(Library.ThemeObjects, table.find(Library.ThemeObjects, Title))
2641
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
2642
end)
2643
--
2644
local chosen = Dropdown.Max and {} or nil
2645
--
2646
local function handleoptionclick(option, button, text)
2647
button.MouseButton1Down:Connect(function()
2648
if Dropdown.Max then
2649
if table.find(chosen, option) then
2650
table.remove(chosen, table.find(chosen, option))
2651
2652
local textchosen = {}
2653
local cutobject = false
2654
2655
for _, opt in next, chosen do
2656
table.insert(textchosen, opt)
2657
end
2658
2659
Value.Text = #chosen == 0 and "" or table.concat(textchosen, ",") .. (cutobject and ", ..." or "")
2660
2661
text.TextColor3 = Color3.fromRGB(145,145,145)
2662
2663
Library.Flags[Dropdown.Flag] = chosen
2664
Dropdown.Callback(chosen)
2665
else
2666
if #chosen == Dropdown.Max then
2667
Dropdown.OptionInsts[chosen[1]].text.TextColor3 = Color3.fromRGB(145,145,145)
2668
table.remove(chosen, 1)
2669
end
2670
2671
table.insert(chosen, option)
2672
2673
local textchosen = {}
2674
local cutobject = false
2675
2676
for _, opt in next, chosen do
2677
table.insert(textchosen, opt)
2678
end
2679
2680
Value.Text = #chosen == 0 and "" or table.concat(textchosen, ",") .. (cutobject and ", ..." or "")
2681
2682
text.TextColor3 = Color3.fromRGB(255,255,255)
2683
2684
Library.Flags[Dropdown.Flag] = chosen
2685
Dropdown.Callback(chosen)
2686
end
2687
else
2688
for opt, tbl in next, Dropdown.OptionInsts do
2689
if opt ~= option then
2690
tbl.text.TextColor3 = Color3.fromRGB(145,145,145)
2691
end
2692
end
2693
chosen = option
2694
Value.Text = option
2695
text.TextColor3 = Color3.fromRGB(255,255,255)
2696
Library.Flags[Dropdown.Flag] = option
2697
Dropdown.Callback(option)
2698
end
2699
end)
2700
end
2701
--
2702
local function createoptions(tbl)
2703
for _, option in next, tbl do
2704
Dropdown.OptionInsts[option] = {}
2705
local NewOption = Instance.new('TextButton', ContainerInline)
2706
local OptionName = Instance.new('TextLabel', NewOption)
2707
NewOption.Name = "NewOption"
2708
NewOption.Size = UDim2.new(1,0,0,15)
2709
NewOption.BackgroundColor3 = Color3.new(1,1,1)
2710
NewOption.BackgroundTransparency = 1
2711
NewOption.BorderSizePixel = 0
2712
NewOption.BorderColor3 = Color3.new(0,0,0)
2713
NewOption.Text = ""
2714
NewOption.TextColor3 = Color3.new(0,0,0)
2715
NewOption.AutoButtonColor = false
2716
NewOption.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2717
NewOption.TextSize = 14
2718
NewOption.ZIndex = 7;
2719
Dropdown.OptionInsts[option].button = NewOption
2720
--
2721
OptionName.Name = "OptionName"
2722
OptionName.Position = UDim2.new(0,2,0,0)
2723
OptionName.Size = UDim2.new(1,0,1,0)
2724
OptionName.BackgroundColor3 = Color3.new(1,1,1)
2725
OptionName.BackgroundTransparency = 1
2726
OptionName.BorderSizePixel = 0
2727
OptionName.BorderColor3 = Color3.new(0,0,0)
2728
OptionName.Text = option
2729
OptionName.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
2730
OptionName.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2731
OptionName.TextSize = Library.FontSize
2732
OptionName.TextXAlignment = Enum.TextXAlignment.Left
2733
OptionName.TextStrokeTransparency = 0
2734
OptionName.ZIndex = 8;
2735
Dropdown.OptionInsts[option].text = OptionName
2736
2737
handleoptionclick(option, NewOption, OptionName)
2738
end
2739
end
2740
createoptions(Dropdown.Options)
2741
--
2742
local set
2743
set = function(option)
2744
if Dropdown.Max then
2745
table.clear(chosen)
2746
option = type(option) == "table" and option or {}
2747
2748
for opt, tbl in next, Dropdown.OptionInsts do
2749
if not table.find(option, opt) then
2750
tbl.text.TextColor3 = Color3.fromRGB(145,145,145)
2751
end
2752
end
2753
2754
for i, opt in next, option do
2755
if table.find(Dropdown.Options, opt) and #chosen < Dropdown.Max then
2756
table.insert(chosen, opt)
2757
Dropdown.OptionInsts[opt].text.TextColor3 = Color3.fromRGB(255,255,255)
2758
end
2759
end
2760
2761
local textchosen = {}
2762
local cutobject = false
2763
2764
for _, opt in next, chosen do
2765
table.insert(textchosen, opt)
2766
end
2767
2768
Value.Text = #chosen == 0 and "" or table.concat(textchosen, ",") .. (cutobject and ", ..." or "")
2769
2770
Library.Flags[Dropdown.Flag] = chosen
2771
Dropdown.Callback(chosen)
2772
end
2773
end
2774
--
2775
function Dropdown:Set(option)
2776
if Dropdown.Max then
2777
set(option)
2778
else
2779
for opt, tbl in next, Dropdown.OptionInsts do
2780
if opt ~= option then
2781
tbl.text.TextColor3 = Color3.fromRGB(145,145,145)
2782
end
2783
end
2784
if table.find(Dropdown.Options, option) then
2785
chosen = option
2786
Value.Text = option
2787
Dropdown.OptionInsts[option].text.TextColor3 = Color3.fromRGB(255,255,255)
2788
Library.Flags[Dropdown.Flag] = chosen
2789
Dropdown.Callback(chosen)
2790
else
2791
chosen = nil
2792
Value.Text = ""
2793
Library.Flags[Dropdown.Flag] = chosen
2794
Dropdown.Callback(chosen)
2795
end
2796
end
2797
end
2798
--
2799
function Dropdown:Refresh(tbl)
2800
for _, opt in next, Dropdown.OptionInsts do
2801
coroutine.wrap(function()
2802
opt.button:Destroy()
2803
end)()
2804
end
2805
table.clear(Dropdown.OptionInsts)
2806
2807
createoptions(tbl)
2808
2809
if Dropdown.Max then
2810
table.clear(chosen)
2811
else
2812
chosen = nil
2813
end
2814
2815
Library.Flags[Dropdown.Flag] = chosen
2816
Dropdown.Callback(chosen)
2817
end
2818
2819
-- // Returning
2820
if Dropdown.Max then
2821
Flags[Dropdown.Flag] = set
2822
else
2823
Flags[Dropdown.Flag] = Dropdown
2824
end
2825
Dropdown:Set(Dropdown.State)
2826
function Dropdown:SetVisible(Bool)
2827
NewDrop.Visible = Bool
2828
end
2829
return Dropdown
2830
end
2831
--
2832
function Sections:Keybind(Properties)
2833
local Properties = Properties or {}
2834
local Keybind = {
2835
Section = self,
2836
Name = Properties.name or Properties.Name or "Keybind",
2837
State = (
2838
Properties.state
2839
or Properties.State
2840
or Properties.def
2841
or Properties.Def
2842
or Properties.default
2843
or Properties.Default
2844
or nil
2845
),
2846
Mode = (Properties.mode or Properties.Mode or "Toggle"),
2847
UseKey = (Properties.UseKey or false),
2848
Ignore = (Properties.ignore or Properties.Ignore or false),
2849
Callback = (
2850
Properties.callback
2851
or Properties.Callback
2852
or Properties.callBack
2853
or Properties.CallBack
2854
or function() end
2855
),
2856
Flag = (
2857
Properties.flag
2858
or Properties.Flag
2859
or Properties.pointer
2860
or Properties.Pointer
2861
or Library.NextFlag()
2862
),
2863
Binding = nil,
2864
}
2865
local Key
2866
local State = false
2867
--
2868
local NewKey = Instance.new('Frame', Keybind.Section.Elements.SectionContent)
2869
local Outline = Instance.new('TextButton', NewKey)
2870
local Inline = Instance.new('Frame', Outline)
2871
local Value = Instance.new('TextLabel', Inline)
2872
local Title = Instance.new('TextLabel', NewKey)
2873
local ModeOutline = Instance.new('Frame', NewKey)
2874
local ModeInline = Instance.new('Frame', ModeOutline)
2875
local UIListLayout = Instance.new('UIListLayout', ModeInline)
2876
local Hold = Instance.new('TextButton', ModeInline)
2877
local Toggle = Instance.new('TextButton', ModeInline)
2878
local Always = Instance.new('TextButton', ModeInline)
2879
local ListValue = Library.KeyList:NewKey(tostring(Keybind.State):gsub("Enum.KeyCode.", ""), Keybind.Name, Keybind.Mode)
2880
--
2881
NewKey.Name = "NewKey"
2882
NewKey.Size = UDim2.new(1,0,0,12)
2883
NewKey.BackgroundColor3 = Color3.new(1,1,1)
2884
NewKey.BackgroundTransparency = 1
2885
NewKey.BorderSizePixel = 0
2886
NewKey.BorderColor3 = Color3.new(0,0,0)
2887
--
2888
Outline.Name = "Outline"
2889
Outline.Position = UDim2.new(1,0,0.5,0)
2890
Outline.Size = UDim2.new(0,40,0,12)
2891
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
2892
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
2893
Outline.AnchorPoint = NewVector2(1,0.5)
2894
Outline.Text = ""
2895
Outline.AutoButtonColor = false
2896
--
2897
Inline.Name = "Inline"
2898
Inline.Position = UDim2.new(0,1,0,1)
2899
Inline.Size = UDim2.new(1,-2,1,-2)
2900
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
2901
Inline.BorderSizePixel = 0
2902
Inline.BorderColor3 = Color3.new(0,0,0)
2903
--
2904
Value.Name = "Value"
2905
Value.Size = UDim2.new(1,0,1,0)
2906
Value.BackgroundColor3 = Color3.new(1,1,1)
2907
Value.BackgroundTransparency = 1
2908
Value.BorderSizePixel = 0
2909
Value.BorderColor3 = Color3.new(0,0,0)
2910
Value.Text = "MB2"
2911
Value.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
2912
Value.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2913
Value.TextSize = Library.FontSize
2914
Value.TextStrokeTransparency = 0
2915
--
2916
Title.Name = "Title"
2917
Title.Position = UDim2.new(0,15,0,0)
2918
Title.Size = UDim2.new(1,0,0,10)
2919
Title.BackgroundColor3 = Color3.new(1,1,1)
2920
Title.BackgroundTransparency = 1
2921
Title.BorderSizePixel = 0
2922
Title.BorderColor3 = Color3.new(0,0,0)
2923
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
2924
Title.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2925
Title.TextSize = Library.FontSize
2926
Title.TextXAlignment = Enum.TextXAlignment.Left
2927
Title.Text = Keybind.Name
2928
Title.TextStrokeTransparency = 0
2929
--
2930
ModeOutline.Name = "ModeOutline"
2931
ModeOutline.Position = UDim2.new(1,65,0.5,0)
2932
ModeOutline.Size = UDim2.new(0,60,0,12)
2933
ModeOutline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
2934
ModeOutline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
2935
ModeOutline.AnchorPoint = NewVector2(1,0.5)
2936
ModeOutline.AutomaticSize = Enum.AutomaticSize.Y
2937
ModeOutline.Visible = false
2938
--
2939
ModeInline.Name = "ModeInline"
2940
ModeInline.Position = UDim2.new(0,1,0,1)
2941
ModeInline.Size = UDim2.new(1,-2,1,-2)
2942
ModeInline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
2943
ModeInline.BorderSizePixel = 0
2944
ModeInline.BorderColor3 = Color3.new(0,0,0)
2945
--
2946
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
2947
--
2948
Hold.Name = "Hold"
2949
Hold.Size = UDim2.new(1,0,0,15)
2950
Hold.BackgroundColor3 = Color3.new(1,1,1)
2951
Hold.BackgroundTransparency = 1
2952
Hold.BorderSizePixel = 0
2953
Hold.BorderColor3 = Color3.new(0,0,0)
2954
Hold.Text = "Hold"
2955
Hold.TextColor3 = Keybind.Mode == "Hold" and Color3.new(1,1,1) or Color3.new(0.5686,0.5686,0.5686)
2956
Hold.AutoButtonColor = false
2957
Hold.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2958
Hold.TextSize = Library.FontSize
2959
Hold.TextStrokeTransparency = 0
2960
--
2961
Toggle.Name = "Toggle"
2962
Toggle.Size = UDim2.new(1,0,0,15)
2963
Toggle.BackgroundColor3 = Color3.new(1,1,1)
2964
Toggle.BackgroundTransparency = 1
2965
Toggle.BorderSizePixel = 0
2966
Toggle.BorderColor3 = Color3.new(0,0,0)
2967
Toggle.Text = "Toggle"
2968
Toggle.TextColor3 = Keybind.Mode == "Toggle" and Color3.new(1,1,1) or Color3.new(0.5686,0.5686,0.5686)
2969
Toggle.AutoButtonColor = false
2970
Toggle.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2971
Toggle.TextSize = Library.FontSize
2972
Toggle.TextStrokeTransparency = 0
2973
--
2974
Always.Name = "Always"
2975
Always.Size = UDim2.new(1,0,0,15)
2976
Always.BackgroundColor3 = Color3.new(1,1,1)
2977
Always.BackgroundTransparency = 1
2978
Always.BorderSizePixel = 0
2979
Always.BorderColor3 = Color3.new(0,0,0)
2980
Always.Text = "Always"
2981
Always.TextColor3 = Keybind.Mode == "Always" and Color3.new(1,1,1) or Color3.new(0.5686,0.5686,0.5686)
2982
Always.AutoButtonColor = false
2983
Always.FontFace = Font.new(Font:GetRegistry("menu_plex"))
2984
Always.TextSize = Library.FontSize
2985
Always.TextStrokeTransparency = 0
2986
2987
-- // Functions
2988
local function set(newkey)
2989
if string.find(tostring(newkey), "Enum") then
2990
if c then
2991
c:Disconnect()
2992
if Keybind.Flag then
2993
Library.Flags[Keybind.Flag] = false
2994
end
2995
Keybind.Callback(false)
2996
end
2997
if tostring(newkey):find("Enum.KeyCode.") then
2998
newkey = Enum.KeyCode[tostring(newkey):gsub("Enum.KeyCode.", "")]
2999
elseif tostring(newkey):find("Enum.UserInputType.") then
3000
newkey = Enum.UserInputType[tostring(newkey):gsub("Enum.UserInputType.", "")]
3001
end
3002
if newkey == Enum.KeyCode.Backspace then
3003
Key = nil
3004
if Keybind.UseKey then
3005
if Keybind.Flag then
3006
Library.Flags[Keybind.Flag] = Key
3007
end
3008
Keybind.Callback(Key)
3009
end
3010
local text = "None"
3011
3012
Value.Text = text
3013
ListValue:Update(text, Keybind.Name, Keybind.Mode)
3014
elseif newkey ~= nil then
3015
Key = newkey
3016
if Keybind.UseKey then
3017
if Keybind.Flag then
3018
Library.Flags[Keybind.Flag] = Key
3019
end
3020
Keybind.Callback(Key)
3021
end
3022
local text = (Library.Keys[newkey] or tostring(newkey):gsub("Enum.KeyCode.", ""))
3023
3024
Value.Text = text
3025
ListValue:Update(text, Keybind.Name, Keybind.Mode)
3026
end
3027
3028
Library.Flags[Keybind.Flag .. "_KEY"] = newkey
3029
elseif table.find({ "Always", "Toggle", "Hold" }, newkey) then
3030
if not Keybind.UseKey then
3031
Library.Flags[Keybind.Flag .. "_KEY STATE"] = newkey
3032
Keybind.Mode = newkey
3033
ListValue:Update((Library.Keys[Key] or tostring(Key):gsub("Enum.KeyCode.", "")), Toggle.Name, Keybind.Mode)
3034
if Keybind.Mode == "Always" then
3035
State = true
3036
if Keybind.Flag then
3037
Library.Flags[Keybind.Flag] = State
3038
end
3039
Keybind.Callback(true)
3040
ListValue:SetVisible(true)
3041
end
3042
end
3043
else
3044
State = newkey
3045
if Keybind.Flag then
3046
Library.Flags[Keybind.Flag] = newkey
3047
end
3048
Keybind.Callback(newkey)
3049
end
3050
end
3051
--
3052
set(Keybind.State)
3053
set(Keybind.Mode)
3054
Outline.MouseButton1Click:Connect(function()
3055
if not Keybind.Binding then
3056
3057
Value.Text = "..."
3058
3059
Keybind.Binding = Library:Connection(
3060
game:GetService("UserInputService").InputBegan,
3061
function(input, gpe)
3062
set(
3063
input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode
3064
or input.UserInputType
3065
)
3066
Library:Disconnect(Keybind.Binding)
3067
task.wait()
3068
Keybind.Binding = nil
3069
end
3070
)
3071
end
3072
end)
3073
--
3074
Library:Connection(game:GetService("UserInputService").InputBegan, function(inp, Chatting)
3075
if not Chatting then
3076
if (inp.KeyCode == Key or inp.UserInputType == Key) and not Keybind.Binding and not Keybind.UseKey then
3077
if Keybind.Mode == "Hold" then
3078
if Keybind.Flag then
3079
Library.Flags[Keybind.Flag] = true
3080
end
3081
c = Library:Connection(game:GetService("RunService").RenderStepped, function()
3082
if Keybind.Callback then
3083
Keybind.Callback(true)
3084
end
3085
end)
3086
ListValue:SetVisible(true)
3087
elseif Keybind.Mode == "Toggle" then
3088
State = not State
3089
if Keybind.Flag then
3090
Library.Flags[Keybind.Flag] = State
3091
end
3092
Keybind.Callback(State)
3093
ListValue:SetVisible(State)
3094
end
3095
end
3096
end
3097
end)
3098
--
3099
Library:Connection(game:GetService("UserInputService").InputEnded, function(inp, Chatting)
3100
if not Chatting then
3101
if Keybind.Mode == "Hold" and not Keybind.UseKey then
3102
if Key ~= "" or Key ~= nil then
3103
if inp.KeyCode == Key or inp.UserInputType == Key then
3104
if c then
3105
c:Disconnect()
3106
if Keybind.Flag then
3107
Library.Flags[Keybind.Flag] = false
3108
end
3109
if Keybind.Callback then
3110
Keybind.Callback(false)
3111
end
3112
ListValue:SetVisible(false)
3113
end
3114
end
3115
end
3116
end
3117
end
3118
end)
3119
Library:Connection(Outline.MouseEnter, function()
3120
Outline.BorderColor3 = Library.Accent
3121
end)
3122
--
3123
Library:Connection(Outline.MouseLeave, function()
3124
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
3125
end)
3126
--
3127
Library:Connection(Outline.MouseButton2Down, function()
3128
ModeOutline.Visible = not ModeOutline.Visible
3129
end)
3130
--
3131
Library:Connection(NewKey.MouseEnter, function()
3132
table.insert(Library.ThemeObjects, Title)
3133
Title.TextColor3 = Library.Accent
3134
end)
3135
--
3136
Library:Connection(NewKey.MouseLeave, function()
3137
table.remove(Library.ThemeObjects, table.find(Library.ThemeObjects, Title))
3138
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
3139
end)
3140
--
3141
Library:Connection(Hold.MouseButton1Down, function()
3142
set("Hold")
3143
Hold.TextColor3 = Color3.new(1,1,1)
3144
Toggle.TextColor3 = Color3.fromRGB(145,145,145)
3145
Always.TextColor3 = Color3.fromRGB(145,145,145)
3146
end)
3147
--
3148
Library:Connection(Toggle.MouseButton1Down, function()
3149
set("Toggle")
3150
Hold.TextColor3 = Color3.fromRGB(145,145,145)
3151
Toggle.TextColor3 = Color3.new(1,1,1)
3152
Always.TextColor3 = Color3.fromRGB(145,145,145)
3153
end)
3154
--
3155
Library:Connection(Always.MouseButton1Down, function()
3156
set("Always")
3157
Hold.TextColor3 = Color3.fromRGB(145,145,145)
3158
Toggle.TextColor3 = Color3.fromRGB(145,145,145)
3159
Always.TextColor3 = Color3.new(1,1,1)
3160
end)
3161
--
3162
Library:Connection(game:GetService("UserInputService").InputBegan, function(Input, Chatting)
3163
if ModeOutline.Visible and Input.UserInputType == Enum.UserInputType.MouseButton1 then
3164
if not Library:IsMouseOverFrame(ModeOutline) then
3165
ModeOutline.Visible = false
3166
end
3167
end
3168
end)
3169
--
3170
Library.Flags[Keybind.Flag .. "_KEY"] = Keybind.State
3171
Library.Flags[Keybind.Flag .. "_KEY STATE"] = Keybind.Mode
3172
Flags[Keybind.Flag] = set
3173
Flags[Keybind.Flag .. "_KEY"] = set
3174
Flags[Keybind.Flag .. "_KEY STATE"] = set
3175
--
3176
function Keybind:Set(key)
3177
set(key)
3178
end
3179
3180
-- // Returning
3181
return Keybind
3182
end
3183
--
3184
function Sections:Colorpicker(Properties)
3185
local Properties = Properties or {}
3186
local Colorpicker = {
3187
Window = self.Window,
3188
Page = self.Page,
3189
Section = self,
3190
Name = (Properties.Name or "Colorpicker"),
3191
State = (
3192
Properties.state
3193
or Properties.State
3194
or Properties.def
3195
or Properties.Def
3196
or Properties.default
3197
or Properties.Default
3198
or Color3.fromRGB(255, 0, 0)
3199
),
3200
Alpha = (
3201
Properties.alpha
3202
or Properties.Alpha
3203
or Properties.transparency
3204
or Properties.Transparency
3205
or 1
3206
),
3207
Callback = (
3208
Properties.callback
3209
or Properties.Callback
3210
or Properties.callBack
3211
or Properties.CallBack
3212
or function() end
3213
),
3214
Flag = (
3215
Properties.flag
3216
or Properties.Flag
3217
or Properties.pointer
3218
or Properties.Pointer
3219
or Library.NextFlag()
3220
),
3221
Colorpickers = 0,
3222
}
3223
--
3224
local NewToggle = Instance.new('Frame', Colorpicker.Section.Elements.SectionContent)
3225
local TextLabel = Instance.new('TextLabel', NewToggle)
3226
--
3227
NewToggle.Name = "NewToggle"
3228
NewToggle.Size = UDim2.new(1,0,0,10)
3229
NewToggle.BackgroundColor3 = Color3.new(1,1,1)
3230
NewToggle.BackgroundTransparency = 1
3231
NewToggle.BorderSizePixel = 0
3232
NewToggle.BorderColor3 = Color3.new(0,0,0)
3233
--
3234
TextLabel.Position = UDim2.new(0,15,0,0)
3235
TextLabel.Size = UDim2.new(0,100,1,0)
3236
TextLabel.BackgroundColor3 = Color3.new(1,1,1)
3237
TextLabel.BackgroundTransparency = 1
3238
TextLabel.BorderSizePixel = 0
3239
TextLabel.BorderColor3 = Color3.new(0,0,0)
3240
TextLabel.Text = Colorpicker.Name
3241
TextLabel.TextColor3 = Color3.fromRGB(145, 145, 145)
3242
TextLabel.FontFace = Font.new(Font:GetRegistry("menu_plex"))
3243
TextLabel.TextSize = Library.FontSize
3244
TextLabel.TextXAlignment = Enum.TextXAlignment.Left
3245
TextLabel.TextStrokeTransparency = 0
3246
3247
Library:Connection(NewToggle.MouseEnter, function()
3248
table.insert(Library.ThemeObjects, TextLabel)
3249
TextLabel.TextColor3 = Library.Accent
3250
end)
3251
--
3252
Library:Connection(NewToggle.MouseLeave, function()
3253
table.remove(Library.ThemeObjects, table.find(Library.ThemeObjects, TextLabel))
3254
TextLabel.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
3255
end)
3256
3257
-- // Functions
3258
Colorpicker.Colorpickers = Colorpicker.Colorpickers + 1
3259
local colorpickertypes = Library:NewPicker(
3260
Colorpicker.Name,
3261
Colorpicker.State,
3262
Colorpicker.Alpha,
3263
NewToggle,
3264
Colorpicker.Colorpickers - 1,
3265
Colorpicker.Flag,
3266
Colorpicker.Callback
3267
)
3268
3269
function Colorpicker:Set(color)
3270
colorpickertypes:set(color, false, true)
3271
end
3272
3273
-- // Returning
3274
return Colorpicker
3275
end
3276
--
3277
function Sections:Textbox(Properties)
3278
local Properties = Properties or {}
3279
local Textbox = {
3280
Window = self.Window,
3281
Page = self.Page,
3282
Section = self,
3283
Name = (Properties.Name or Properties.name or "textbox"),
3284
Placeholder = (
3285
Properties.placeholder
3286
or Properties.Placeholder
3287
or Properties.holder
3288
or Properties.Holder
3289
or ""
3290
),
3291
State = (
3292
Properties.state
3293
or Properties.State
3294
or Properties.def
3295
or Properties.Def
3296
or Properties.default
3297
or Properties.Default
3298
or ""
3299
),
3300
Callback = (
3301
Properties.callback
3302
or Properties.Callback
3303
or Properties.callBack
3304
or Properties.CallBack
3305
or function() end
3306
),
3307
Flag = (
3308
Properties.flag
3309
or Properties.Flag
3310
or Properties.pointer
3311
or Properties.Pointer
3312
or Library.NextFlag()
3313
),
3314
}
3315
--
3316
local NewDrop = Instance.new('Frame', Textbox.Section.Elements.SectionContent)
3317
local Outline = Instance.new('TextButton', NewDrop)
3318
local Inline = Instance.new('Frame', Outline)
3319
local Value = Instance.new('TextBox', Inline)
3320
local Title = Instance.new('TextLabel', NewDrop)
3321
--
3322
NewDrop.Name = "NewDrop"
3323
NewDrop.Size = UDim2.new(1,0,0,30)
3324
NewDrop.BackgroundColor3 = Color3.new(1,1,1)
3325
NewDrop.BackgroundTransparency = 1
3326
NewDrop.BorderSizePixel = 0
3327
NewDrop.BorderColor3 = Color3.new(0,0,0)
3328
--
3329
Outline.Name = "Outline"
3330
Outline.Position = UDim2.new(0,15,1,0)
3331
Outline.Size = UDim2.new(1,-30,0,16)
3332
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
3333
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
3334
Outline.AnchorPoint = NewVector2(0,1)
3335
Outline.Text = ""
3336
Outline.AutoButtonColor = false
3337
--
3338
Inline.Name = "Inline"
3339
Inline.Position = UDim2.new(0,1,0,1)
3340
Inline.Size = UDim2.new(1,-2,1,-2)
3341
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
3342
Inline.BorderSizePixel = 0
3343
Inline.BorderColor3 = Color3.new(0,0,0)
3344
--
3345
Value.Name = "Value"
3346
Value.Position = UDim2.new(0,2,0,0)
3347
Value.Size = UDim2.new(1,0,1,0)
3348
Value.BackgroundColor3 = Color3.new(1,1,1)
3349
Value.BackgroundTransparency = 1
3350
Value.BorderSizePixel = 0
3351
Value.BorderColor3 = Color3.new(0,0,0)
3352
Value.TextColor3 = Color3.fromRGB(145,145,145)
3353
Value.FontFace = Font.new(Font:GetRegistry("menu_plex"))
3354
Value.TextSize = Library.FontSize
3355
Value.TextXAlignment = Enum.TextXAlignment.Left
3356
Value.TextStrokeTransparency = 0
3357
Value.TextWrapped = true
3358
Value.Text = Textbox.State
3359
Value.ClearTextOnFocus = false
3360
--
3361
Title.Name = "Title"
3362
Title.Position = UDim2.new(0,15,0,0)
3363
Title.Size = UDim2.new(1,0,0,10)
3364
Title.BackgroundColor3 = Color3.new(1,1,1)
3365
Title.BackgroundTransparency = 1
3366
Title.BorderSizePixel = 0
3367
Title.BorderColor3 = Color3.new(0,0,0)
3368
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
3369
Title.FontFace = Font.new(Font:GetRegistry("menu_plex"))
3370
Title.TextSize = Library.FontSize
3371
Title.TextXAlignment = Enum.TextXAlignment.Left
3372
Title.TextStrokeTransparency = 0
3373
Title.Text = Textbox.Name
3374
3375
-- // Connections
3376
Library:Connection(NewDrop.MouseEnter, function()
3377
Outline.BorderColor3 = Library.Accent
3378
table.insert(Library.ThemeObjects, Title)
3379
Title.TextColor3 = Library.Accent
3380
end)
3381
--
3382
Library:Connection(NewDrop.MouseLeave, function()
3383
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
3384
table.remove(Library.ThemeObjects, table.find(Library.ThemeObjects, Title))
3385
Title.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
3386
end)
3387
Value.FocusLost:Connect(function()
3388
Textbox.Callback(Value.Text)
3389
Library.Flags[Textbox.Flag] = Value.Text
3390
end)
3391
--
3392
local function set(str)
3393
Value.Text = str
3394
Library.Flags[Textbox.Flag] = str
3395
Textbox.Callback(str)
3396
end
3397
3398
-- // Return
3399
Flags[Textbox.Flag] = set
3400
return Textbox
3401
end
3402
--
3403
function Sections:Button(Properties)
3404
local Properties = Properties or {}
3405
local Button = {
3406
Window = self.Window,
3407
Page = self.Page,
3408
Section = self,
3409
Name = Properties.Name or "button",
3410
Callback = (
3411
Properties.callback
3412
or Properties.Callback
3413
or Properties.callBack
3414
or Properties.CallBack
3415
or function() end
3416
),
3417
}
3418
--
3419
local NewButton = Instance.new('TextButton', Button.Section.Elements.SectionContent)
3420
local Outline = Instance.new('Frame', NewButton)
3421
local Inline = Instance.new('Frame', Outline)
3422
local Value = Instance.new('TextLabel', Inline)
3423
--
3424
NewButton.Name = "NewButton"
3425
NewButton.Size = UDim2.new(1,0,0,14)
3426
NewButton.BackgroundColor3 = Color3.new(1,1,1)
3427
NewButton.BackgroundTransparency = 1
3428
NewButton.BorderSizePixel = 0
3429
NewButton.BorderColor3 = Color3.new(0,0,0)
3430
NewButton.Text = ""
3431
NewButton.TextColor3 = Color3.new(0,0,0)
3432
NewButton.AutoButtonColor = false
3433
NewButton.FontFace = Font.new(Font:GetRegistry("menu_plex"))
3434
NewButton.TextSize = 14
3435
--
3436
Outline.Name = "Outline"
3437
Outline.Position = UDim2.new(0,15,1,0)
3438
Outline.Size = UDim2.new(1,-30,0,14)
3439
Outline.BackgroundColor3 = Color3.new(0.1765,0.1765,0.1765)
3440
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
3441
Outline.AnchorPoint = NewVector2(0,1)
3442
--
3443
Inline.Name = "Inline"
3444
Inline.Position = UDim2.new(0,1,0,1)
3445
Inline.Size = UDim2.new(1,-2,1,-2)
3446
Inline.BackgroundColor3 = Color3.new(0.1294,0.1294,0.1294)
3447
Inline.BorderSizePixel = 0
3448
Inline.BorderColor3 = Color3.new(0,0,0)
3449
--
3450
Value.Name = "Value"
3451
Value.Size = UDim2.new(1,0,1,0)
3452
Value.BackgroundColor3 = Color3.new(1,1,1)
3453
Value.BackgroundTransparency = 1
3454
Value.BorderSizePixel = 0
3455
Value.BorderColor3 = Color3.new(0,0,0)
3456
Value.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
3457
Value.FontFace = Font.new(Font:GetRegistry("menu_plex"))
3458
Value.TextSize = Library.FontSize
3459
Value.Text = Button.Name
3460
Value.TextStrokeTransparency = 0
3461
3462
Library:Connection(NewButton.MouseEnter, function()
3463
Outline.BorderColor3 = Library.Accent
3464
end)
3465
--
3466
Library:Connection(NewButton.MouseLeave, function()
3467
Outline.BorderColor3 = Color3.new(0.0392,0.0392,0.0392)
3468
end)
3469
--
3470
Library:Connection(NewButton.MouseButton1Down, function()
3471
Button.Callback()
3472
Value.TextColor3 = Library.Accent
3473
end)
3474
--
3475
Library:Connection(NewButton.MouseButton1Up, function()
3476
Value.TextColor3 = Color3.new(0.5686,0.5686,0.5686)
3477
end)
3478
end
3479
--
3480
function Sections:Label(Properties) -- fuck finobe
3481
local Properties = Properties or {}
3482
local Label = {
3483
Window = self.Window,
3484
Page = self.Page,
3485
Section = self,
3486
Name = Properties.Name or "label",
3487
Centered = Properties.Centered or false,
3488
}
3489
local NewButton = Instance.new('TextLabel', Label.Section.Elements.SectionContent) -- ya im lazy
3490
--
3491
NewButton.Name = "NewButton"
3492
NewButton.Size = UDim2.new(1,0,0,12)
3493
NewButton.BackgroundColor3 = Color3.new(1,1,1)
3494
NewButton.BackgroundTransparency = 1
3495
NewButton.BorderSizePixel = 0
3496
NewButton.BorderColor3 = Color3.new(0,0,0)
3497
NewButton.Text = Label.Name
3498
NewButton.TextColor3 = Color3.fromRGB(255,255,255)
3499
NewButton.FontFace = Font.new(Font:GetRegistry("menu_plex"))
3500
NewButton.TextSize = Library.FontSize
3501
NewButton.TextXAlignment = Label.Centered and Enum.TextXAlignment.Center or Enum.TextXAlignment.Left
3502
NewButton.TextStrokeTransparency = 0
3503
NewButton.TextStrokeColor3 = Color3.new(0,0,0)
3504
end
3505
end
3506
-- // Base Functions
3507
do
3508
-- // Utility Functions
3509
do
3510
function utility:ValidateClient(Player)
3511
return Player and Player.Character and Player.Character:FindFirstChild("Humanoid") and true or false
3512
end
3513
--
3514
function utility:getPlayerInformation(Player)
3515
local Object = Player.Character
3516
local Humanoid = (Object and Object:FindFirstChildOfClass("Humanoid"))
3517
local RootPart = (Humanoid and Humanoid.RootPart)
3518
--
3519
return Object, Humanoid, RootPart
3520
end
3521
--
3522
function utility:safeUnit(unit)
3523
if unit.Magnitude > 1e-8 then
3524
return unit
3525
end
3526
--
3527
return Vector3.zero
3528
end
3529
local devdevdevdev = print("devdevdevdev")
3530
function utility:CreateBeam(Origin, End, Color1, FaceCamera, Width, TextureSpeed, Brightness)
3531
local BeamPart = Instance.new("Part", Workspace)
3532
BeamPart.Name = "BeamPart"
3533
BeamPart.Transparency = 1
3534
--
3535
local Part = Instance.new("Part", BeamPart)
3536
Part.Size = NewVector3(1, 1, 1)
3537
Part.Transparency = 1
3538
Part.CanCollide = false
3539
Part.CFrame = typeof(Origin) == "CFrame" and Origin or NewCFrame(Origin)
3540
Part.Anchored = true
3541
local Attachment = Instance.new("Attachment", Part)
3542
local Part2 = Instance.new("Part", BeamPart)
3543
Part2.Size = NewVector3(1, 1, 1)
3544
Part2.Transparency = 1
3545
Part2.CanCollide = false
3546
Part2.CFrame = typeof(End) == "CFrame" and End or NewCFrame(End)
3547
Part2.Anchored = true
3548
Part2.Color = Color3.fromRGB(255, 255, 255)
3549
local Attachment2 = Instance.new("Attachment", Part2)
3550
local Beam = Instance.new("Beam", Part)
3551
Beam.FaceCamera = FaceCamera
3552
Beam.Color = ColorSequence.new{
3553
ColorSequenceKeypoint.new(0.00, Color1),
3554
ColorSequenceKeypoint.new(1, Color1),
3555
}
3556
Beam.Attachment0 = Attachment
3557
Beam.Attachment1 = Attachment2
3558
Beam.Transparency = NumberSequence.new{
3559
NumberSequenceKeypoint.new(0, 0),
3560
NumberSequenceKeypoint.new(1, 0),
3561
}
3562
Beam.LightEmission = Brightness
3563
Beam.LightInfluence = 1
3564
Beam.Width0 = Width
3565
Beam.Width1 = Width
3566
Beam.Texture = "rbxassetid://7151778302"
3567
Beam.LightEmission = 1
3568
Beam.LightInfluence = 1
3569
Beam.TextureMode = Enum.TextureMode.Wrap
3570
Beam.TextureLength = 3
3571
Beam.TextureSpeed = TextureSpeed
3572
delay(flags["Tracers Life Time"], function()
3573
task.spawn(function()
3574
for i = 0, 100 do
3575
task.wait(0.01)
3576
Beam.Transparency = NumberSequence.new{
3577
NumberSequenceKeypoint.new(0, i/100),
3578
NumberSequenceKeypoint.new(1, i/100),
3579
}
3580
end
3581
--
3582
Part:Destroy()
3583
Part2:Destroy()
3584
BeamPart:Destroy()
3585
end)
3586
end)
3587
end
3588
--
3589
function utility:generateAngles(numLines)
3590
local angles = {}
3591
local angleIncrement = 2 * math.pi / numLines
3592
3593
for i = 1, numLines do
3594
local angle = (i - 1) * angleIncrement
3595
table.insert(angles, angle)
3596
end
3597
3598
return angles
3599
end
3600
--
3601
function utility:Shift(Number)
3602
return math.acos(math.cos(Number * math.pi)) / math.pi
3603
end
3604
--
3605
function utility:checkMessage(tbl)
3606
local msg = tbl[math.random(1, #tbl)]
3607
3608
if msg == oldMsg then
3609
return utility:checkMessage(tbl)
3610
else
3611
oldMsg = msg
3612
return msg
3613
end
3614
end
3615
--
3616
function utility:calculateAimViewerEndPoint()
3617
if utility.target and utility.target.Character and flags["Aim Viewer Bypass"] then
3618
local part = (flags["Jump Prediction"] and utility.target.Character.Humanoid.FloorMaterial == Enum.Material.Air and "RightFoot") or (flags["Nearest Part"] and partClosest) or flags["Single Hit Part"]
3619
local yOffset = utility.target.Character.Humanoid.FloorMaterial == Enum.Material.Air and flags["Manual Offset Value"] or 0
3620
--
3621
if (checks == true) then
3622
if flags["Resolver"] then
3623
local endpoint = utility.target.Character[tostring(part)].Position + offset + NewVector3(0, yOffset, 0)
3624
Remote:FireServer("UpdateMousePos", endpoint)
3625
else
3626
local endpoint = utility.target.Character[tostring(part)].Position + (utility.target.Character.HumanoidRootPart.Velocity * prediction) + NewVector3(0, yOffset, 0)
3627
Remote:FireServer("UpdateMousePos", endpoint)
3628
end
3629
end
3630
end
3631
end
3632
--
3633
function utility:getHeld()
3634
if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildWhichIsA("Tool") and LocalPlayer.Character then
3635
return LocalPlayer.Character:FindFirstChildWhichIsA("Tool") or nil;
3636
end
3637
end
3638
--
3639
function utility:TranslateString(inputString, targetLanguage)
3640
local translatedString = ""
3641
for i = 1, #inputString do
3642
local char = inputString:sub(i, i)
3643
local translation = Languages[char] and Languages[char][targetLanguage]
3644
translatedString = translatedString .. (translation or char)
3645
end
3646
return translatedString
3647
end
3648
--
3649
function utility:GetComponents(Player)
3650
if utility:ValidateClient(Player) then
3651
return Player.Character, Player.Character:FindFirstChild("HumanoidRootPart"), Player.Character:FindFirstChild("Humanoid")
3652
end
3653
end
3654
--
3655
function utility:getClosestPlayerToCursor(Radius)
3656
local shortestDistance = Radius or math.huge
3657
3658
local closestPlayer
3659
for i, v in pairs(Players:GetPlayers()) do
3660
if v ~= LocalPlayer and utility:ValidateClient(v) and v.Character:FindFirstChild("HumanoidRootPart") then
3661
local pos, OnScreen = Camera:WorldToViewportPoint(v.Character.HumanoidRootPart.Position)
3662
local magnitude = (NewVector2(pos.X, pos.Y) - NewVector2(Mouse.X, Mouse.Y)).magnitude
3663
if magnitude < shortestDistance and OnScreen then
3664
closestPlayer = v
3665
shortestDistance = magnitude
3666
end
3667
end
3668
end
3669
return closestPlayer
3670
end
3671
--
3672
function utility:RecalculateVelocity(Player)
3673
if utility:ValidateClient(Player) then
3674
local Character, RootPart, Humanoid = utility:GetComponents(Player)
3675
3676
local currentPosition = RootPart.Position
3677
local currentTime = tick()
3678
3679
task.wait()
3680
3681
local newPosition = RootPart.Position
3682
local newTime = tick()
3683
3684
local distanceTraveled = (newPosition - currentPosition)
3685
3686
local timeInterval = newTime - currentTime
3687
local velocity = distanceTraveled / timeInterval
3688
currentPosition = newPosition
3689
currentTime = newTime
3690
return velocity
3691
end
3692
end
3693
--
3694
function utility:drawObject(type, prop)
3695
local obj = Drawing.new(type)
3696
--
3697
if prop then
3698
for i,v in next, prop do
3699
obj[i] = v;
3700
end
3701
end
3702
return obj
3703
end
3704
--
3705
function utility:characterClone(Player, Color, Material, Transparency, Parent)
3706
for i,v in pairs(Player.Character:GetChildren()) do
3707
if table.find(utility.bodyParts, v.Name) and v:IsA("MeshPart") and v.Name ~= "HumanoidRootPart" then
3708
if v.Name == "UpperTorso" or v.Name == "LowerTorso" then
3709
local ClonedPart = Instance.new("Part")
3710
ClonedPart.Anchored = true
3711
ClonedPart.CanCollide = false
3712
ClonedPart.Position = v.Position
3713
ClonedPart.Parent = Parent
3714
ClonedPart.Material = Enum.Material[Material]
3715
ClonedPart.Transparency = Transparency
3716
ClonedPart.Color = Color
3717
ClonedPart.Size = v.Size + Vector3.new(0.01,0.01,0.01)
3718
ClonedPart.Name = v.Name
3719
ClonedPart.Rotation = v.Rotation
3720
ClonedPart.Shape = "Block"
3721
else
3722
local ClonedPart = Instance.new("MeshPart")
3723
ClonedPart.Anchored = true
3724
ClonedPart.CanCollide = false
3725
ClonedPart.Position = v.Position
3726
ClonedPart.Parent = Parent
3727
ClonedPart.Material = Enum.Material[Material]
3728
ClonedPart.Transparency = Transparency
3729
ClonedPart.Color = Color
3730
ClonedPart.Size = v.Size + Vector3.new(0.01,0.01,0.01)
3731
ClonedPart.Name = v.Name
3732
ClonedPart.Rotation = v.Rotation
3733
ClonedPart.MeshId = v.MeshId
3734
end
3735
end
3736
end
3737
end
3738
--
3739
function utility:Remove(Player)
3740
if connections[Player] then
3741
connections[Player]:Disconnect();
3742
end
3743
--
3744
if highlights[Player] then
3745
highlights[Player].Parent = nil;
3746
end
3747
end
3748
--
3749
function utility:AngleToEdge(angle, inset) -- credits to whoever made this Im just porting over my old arrows 😭
3750
local pos
3751
local ox = Cos(angle)
3752
local oy = Sin(angle)
3753
local slope = oy / ox
3754
--
3755
local h_edge = viewportSize.x - inset
3756
local v_edge = viewportSize.y - inset
3757
if oy < 0 then
3758
v_edge = inset
3759
end
3760
if ox < 0 then
3761
h_edge = inset
3762
end
3763
local y = (slope * h_edge) + (viewportSize.y / 2) - slope * (viewportSize.x / 2)
3764
if y > 0 and y < viewportSize.y - inset then
3765
pos = NewVector2(h_edge, y)
3766
else
3767
pos = NewVector2(
3768
(v_edge - viewportSize.y / 2 + slope * (viewportSize.x / 2)) / slope,
3769
v_edge
3770
)
3771
end
3772
return pos
3773
end
3774
--
3775
function utility:Map(N, OldMin, OldMax, Min, Max) -- I love my 1 line funcs I use once ♥😻
3776
return (N - OldMin) / (OldMax - OldMin) * (Max - Min) + Min
3777
end
3778
--
3779
function utility:getRotate(Vec, Rads) -- I didnt make this math credits to whoever can code cool maths!
3780
local vec = Vec.Unit
3781
local sin = math.sin(Rads)
3782
local cos = math.cos(Rads)
3783
local x = (cos * vec.x) - (sin * vec.y)
3784
local y = (sin * vec.x) + (cos * vec.y)
3785
--
3786
return NewVector2(x, y).Unit * Vec.Magnitude
3787
end
3788
--
3789
function utility:BoxCalculation(TorsoSize)
3790
local UpCalculation = NewCFrame(TorsoSize)
3791
local VTop = TorsoSize + (UpCalculation.UpVector * 1.8) + Camera.CFrame.UpVector;
3792
local VBottom = TorsoSize - (UpCalculation.UpVector * 2.5) - Camera.CFrame.UpVector;
3793
3794
local Top, TopIsRendered = Camera:WorldToViewportPoint(VTop);
3795
local Bottom, BottomIsRendered = Camera:WorldToViewportPoint(VBottom);
3796
3797
local Width = math.max(math.floor(math.abs(Top.x - Bottom.x)), 3);
3798
local Height = math.max(math.floor(math.max(math.abs(Bottom.y - Top.y), Width / 2)), 3);
3799
local BoxSize = NewVector2(math.floor(math.max(Height / 1.5, Width)), Height);
3800
local BoxPosition = NewVector2(math.floor(Top.x * 0.5 + Bottom.x * 0.5 - BoxSize.x * 0.5), math.floor(math.min(Top.y, Bottom.y)));
3801
3802
return BoxSize, BoxPosition;
3803
end
3804
--
3805
local LastRayIgnoreUpdate, RayIgnoreList = 0, {}
3806
--
3807
function utility:checkRay(Instance, Distance, Position, Unit)
3808
local Pass = true;
3809
local Model = Instance.Character;
3810
3811
if Distance > 999 then return false; end
3812
3813
if not Model then return false end
3814
3815
local _Ray = Ray.new(Position, Unit * Distance)
3816
if tick() - LastRayIgnoreUpdate > 3 then
3817
LastRayIgnoreUpdate = tick()
3818
3819
table.clear(RayIgnoreList)
3820
3821
table.insert(RayIgnoreList, LocalPlayer.Character)
3822
if utility:getHeld() then
3823
table.insert(RayIgnoreList, utility:getHeld().Handle)
3824
end
3825
table.insert(RayIgnoreList, Camera)
3826
3827
if Mouse.TargetFilter then table.insert(RayIgnoreList, Mouse.TargetFilter) end
3828
3829
if #IgnoreList > 64 then
3830
while #IgnoreList > 64 do
3831
table.remove(IgnoreList, 1)
3832
end
3833
end
3834
3835
for i, v in pairs(IgnoreList) do table.insert(RayIgnoreList, v) end
3836
end
3837
3838
local Hit = workspace:FindPartOnRayWithIgnoreList(_Ray, RayIgnoreList)
3839
3840
if Hit and not Hit:IsDescendantOf(Model) then
3841
Pass = false;
3842
if Hit.Transparency >= .3 or not Hit.CanCollide and Hit.ClassName ~= Terrain then
3843
table.insert(IgnoreList, Hit)
3844
end
3845
end
3846
3847
return Pass;
3848
end
3849
--
3850
function utility:GetOrigin()
3851
local Tool = utility:getHeld()
3852
--
3853
return (Tool ~= "None" and Tool.Handle.Position) or Camera.CFrame.Position
3854
end
3855
--
3856
function utility:Lerp(Value, MinColor, MaxColor)
3857
if Value <= 0 then return MaxColor end
3858
if Value >= 100 then return MinColor end
3859
--
3860
return Color3.new(
3861
MaxColor.R + (MinColor.R - MaxColor.R) * Value,
3862
MaxColor.G + (MinColor.G - MaxColor.G) * Value,
3863
MaxColor.B + (MinColor.B - MaxColor.B) * Value
3864
)
3865
end
3866
end
3867
3868
-- // Framework Functions
3869
do
3870
function framework:selectTarget()
3871
local deathLoop;
3872
local deathLoopRestore;
3873
local espTarget = false;
3874
--
3875
if flags["Target Auto Select"] then return end
3876
if flags["Silent Enabled"] then
3877
if flags["Silent_Bind"] then
3878
utility.target = utility:getClosestPlayerToCursor(math.huge);
3879
--
3880
if (flags["Target Esp"] and flags["PlayerESP_Enabled"] == false) then
3881
Visuals:Create({Player = utility.target})
3882
espTarget = true
3883
end
3884
--
3885
if flags["Notify"] then
3886
Library:Notification("Locked onto: " .. utility.target.Name .. "", 3, Library.Accent, flags["Notification Position"])
3887
end
3888
--
3889
if (flags["Back Track Enabled"] and flags["Back Track Method"] == "Follow") then
3890
utility:characterClone(utility.target, flags["Back Track Settings"].Color, flags["Back Track Material"], flags["Back Track Settings"].Transparency, utility.folders["Part Chams"])
3891
end
3892
--
3893
if flags["Spectate"] then
3894
Camera.CameraSubject = utility.target.Character.Humanoid
3895
end
3896
else
3897
-- What the fuck why does this break? I dont know dont ask me >:(
3898
LocalPlayer.Character.Humanoid.AutoRotate = true;
3899
Camera.CameraSubject = LocalPlayer.Character.Humanoid;
3900
utility.folders["Part Chams"]:ClearAllChildren();
3901
--
3902
if (Visuals.Bases[utility.target] and flags["PlayerESP_Enabled"] == false) then
3903
Visuals.Bases[utility.target]:Remove()
3904
end
3905
--
3906
if utility.target then
3907
utility:Remove(utility.target);
3908
end
3909
--
3910
utility.drawings["Tracer"].Visible = false;
3911
utility.target = nil;
3912
end
3913
end
3914
end
3915
--
3916
function framework:aimAssist()
3917
local Enabled = flags["Aim Assist"] and flags["Aim Assist Bind"]
3918
if not Enabled then return end
3919
--
3920
local endPosition;
3921
local fovCheck;
3922
local Resolver, Prediction = flags["Resolver"], flags["Aim Assist Manual Prediction Value"] or 0.1413
3923
local Target = utility.target or aimAssistTarget
3924
local Part = (flags["Aim Assist Jump Prediction"] and Target.Character.Humanoid.FloorMaterial == Enum.Material.Air and "RightFoot") or flags["Aim Assist Single Hit Part"]
3925
local characterOffset = Resolver and framework:calculateResolverOffset(Target) * Prediction or Target.Character.HumanoidRootPart.Velocity * Prediction
3926
local yOffset = Target.Character.Humanoid.FloorMaterial == Enum.Material.Air and flags["Aim Assist Manual Offset Value"] or 0
3927
local Checks = framework:getChecks(Target, table.find(flags["Aim Assist Checks"], "Friend Check"), table.find(flags["Aim Assist Checks"], "Wall Check"), table.find(flags["Aim Assist Checks"], "Knocked Check"), table.find(flags["Aim Assist Checks"], "Grabbed Check"));
3928
--
3929
local characterPosition = Target.Character[Part].Position + characterOffset + NewVector3(0, yOffset, 0)
3930
--
3931
local Position = Camera:WorldToViewportPoint(Target.Character.PrimaryPart.Position)
3932
local Magnitude = (NewVector2(Position.X, Position.Y) - NewVector2(Mouse.X, Mouse.Y)).magnitude
3933
--
3934
if utility.drawings["Aim Assist FOV"].Visible then
3935
fovCheck = Magnitude < utility.drawings["Aim Assist FOV"].Radius
3936
else
3937
fovCheck = true
3938
end
3939
--
3940
if Checks and fovCheck then
3941
fovCheck = Magnitude
3942
--
3943
if flags["Aim Assist Method"] == "Use Mouse" then
3944
endPosition, OnScreen = Camera:WorldToScreenPoint(characterPosition)
3945
--
3946
if OnScreen then
3947
mousemoverel(NewVector2(endPosition.X - Mouse.X, endPosition.Y - Mouse.Y).X / (flags["Horizontal Smoothness"] + 1), NewVector2(endPosition.X - Mouse.X, endPosition.Y - Mouse.Y).Y / (flags["Vertical Smoothness"] + 1))
3948
end
3949
else
3950
Camera.CFrame = Camera.CFrame:Lerp(NewCFrame(Camera.CFrame.p, characterPosition), (100 - flags["Smoothness"]) / 100)
3951
end
3952
end
3953
end
3954
--
3955
function framework:desyncInit() -- thanks wendigo for this or whoever made it
3956
local Root = LocalPlayer.Character.HumanoidRootPart
3957
local rootVel = Root.Velocity;
3958
local rootAng = Random(-180, 180)
3959
local rootOffset do
3960
local X = Random(-128^2, 128^2);
3961
local Y = Random(0, 128^2);
3962
local Z = Random(-128^2, 128^2);
3963
3964
rootOffset = NewVector3(X, -Y, Z);
3965
end;
3966
3967
LocalPlayer.Character.HumanoidRootPart.CFrame *= Angle(0, Rad(rootAng), 0);
3968
LocalPlayer.Character.HumanoidRootPart.Velocity = rootOffset;
3969
3970
RunService.RenderStepped:Wait();
3971
3972
LocalPlayer.Character.HumanoidRootPart.CFrame *= Angle(0, Rad(-rootAng), 0);
3973
LocalPlayer.Character.HumanoidRootPart.Velocity = rootVel;
3974
end
3975
--
3976
function framework:autoReload()
3977
local Tool = utility:getHeld()
3978
if flags["Auto Reload"] then
3979
if Tool.Ammo.Value == 0 then
3980
Remote:FireServer("Reload", Tool)
3981
end
3982
end
3983
end
3984
--
3985
function framework:worldVisuals()
3986
if flags["Master Switch"] then
3987
if flags["Clock Time Enabled"] and Lighting.ClockTime ~= flags["Clock Time"] then
3988
Lighting.ClockTime = flags["Clock Time"]
3989
end
3990
--
3991
if flags["Color Shift Bottom"] and Lighting.ColorShift_Bottom ~= flags["Color Shift Bottom Color"] then
3992
Lighting.ColorShift_Bottom = flags["Color Shift Bottom Color"].Color
3993
end
3994
3995
if flags["Ambient"] and Lighting.Ambient ~= flags["Ambience Color"] then
3996
Lighting.Ambient = flags["Ambience Color"].Color
3997
end
3998
--
3999
if flags["Outdoor Ambience"] and Lighting.OutdoorAmbient ~= flags["Outdoor Ambience color"] then
4000
Lighting.OutdoorAmbient = flags["Outdoor Ambience color"].Color
4001
end
4002
--
4003
if flags["Brightness Enabled"] and Lighting.Brightness ~= flags["Brightness"] then
4004
Lighting.Brightness = flags["Brightness"]
4005
end
4006
--
4007
if flags["Color Shift Top"] and Lighting.ColorShift_Top ~= flags["Color Shift Top Color"] then
4008
Lighting.ColorShift_Top = flags["Color Shift Top Color"].Color
4009
end
4010
--
4011
if flags["Fog"] and Lighting.FogColor ~= flags["Fog Color"] then
4012
Lighting.FogColor = flags["Fog Color"].Color
4013
end
4014
end
4015
end
4016
--
4017
function framework:cframeSpeed()
4018
if flags["Speed Enabled"] and flags["Speed Key"] then
4019
local Character = LocalPlayer.Character
4020
local Move_Direction = Character.Humanoid.MoveDirection
4021
--
4022
Character.HumanoidRootPart.CFrame = Character.HumanoidRootPart.CFrame + (Move_Direction * (flags["Speed"] / 25))
4023
end
4024
end
4025
--
4026
function framework:chatSpam(Type, Repeat, Emojis, Symbols)
4027
local message = ""
4028
-- tp, rp, emojis, symbols
4029
for i = 1, Repeat and math.random(2, 5) or 1 do
4030
for i = 1, math.random(1, 5) do
4031
local index = math.random(0, 1) == 0 and "symbols" or "emojis"
4032
4033
if index == "symbols" and Symbols then
4034
message ..= tostring(utx[index][math.random(1, #utx[index])])
4035
elseif index == "emojis" and Emojis then
4036
message ..= tostring(utx[index][math.random(1, #utx[index])])
4037
end
4038
end
4039
4040
message ..= utility:checkMessage(Messages[Type])
4041
4042
for i = 1, math.random(1, 5) do
4043
local index = math.random(0, 1) == 0 and "symbols" or "emojis"
4044
4045
if index == "symbols" and Symbols then
4046
message ..= tostring(utx[index][math.random(1, #utx[index])])
4047
elseif index == "emojis" and Emojis then
4048
message ..= tostring(utx[index][math.random(1, #utx[index])])
4049
end
4050
end
4051
4052
message ..= " "
4053
end
4054
4055
return message
4056
end
4057
--
4058
function framework:fly(delta)
4059
if flags["Fly Enabled"] and flags["Fly Key"] then
4060
LocalPlayer.Character.HumanoidRootPart.Velocity = Vector3.zero;
4061
local x = 0
4062
local y = 0
4063
local z = 0
4064
--
4065
if not Typing then
4066
if InputService:IsKeyDown(Enum.KeyCode.W) then
4067
z -= 1
4068
end
4069
--
4070
if InputService:IsKeyDown(Enum.KeyCode.S) then
4071
z += 1
4072
end
4073
--
4074
if InputService:IsKeyDown(Enum.KeyCode.D) then
4075
x += 1
4076
end
4077
--
4078
if InputService:IsKeyDown(Enum.KeyCode.A) then
4079
x -= 1
4080
end
4081
--
4082
if InputService:IsKeyDown(Enum.KeyCode.Space) then
4083
y += 1
4084
end
4085
--
4086
if InputService:IsKeyDown(Enum.KeyCode.LeftShift) then
4087
y -= 1
4088
end
4089
end
4090
--
4091
local direction = utility:safeUnit(Camera.CFrame:VectorToWorldSpace(NewVector3(x, 0, z)).Unit)
4092
LocalPlayer.Character.HumanoidRootPart.CFrame += (direction + NewVector3(0, y, 0)) * (flags["Fly Speed"] / 10) * (delta * 60)
4093
end
4094
end
4095
--
4096
function framework:selectPrediction()
4097
local Prediction;
4098
4099
local Predictions = {
4100
0.113,
4101
0.115,
4102
0.117,
4103
0.11923283912031938191231281632312637123821763333312731833,
4104
0.121316378910319876472890149871624,
4105
0.124521314351673817351423414,
4106
0.131314253678192031927365421456789331,
4107
0.1355991245213413214231231123121,
4108
0.138312341526738912,
4109
0.146432786576847627781237813281381382038198391293,
4110
0.1512783311111111111111111111111111111111111,
4111
0.15132132132132132555555555555555,
4112
}
4113
4114
if flags["Auto Prediction"] then
4115
for i = 1, #Predictions do
4116
if game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValue() <= i * 10 then
4117
Prediction = Predictions[i]
4118
end
4119
end
4120
end
4121
4122
return Prediction or tonumber(flags["Manual Prediction Value"]) or 0.1413
4123
end
4124
--
4125
function framework:calculateResolverOffset(player)
4126
local Offset;
4127
local Prediction = framework:selectPrediction()
4128
--
4129
if flags["Resolver"] then
4130
if flags["Resolver Method"] == "Recalculate Velocity" then
4131
Offset = utility:RecalculateVelocity(player) * Prediction
4132
elseif flags["Resolver Method"] == "Suppress Velocity" then
4133
Offset = Vector3.new(player.Character.HumanoidRootPart.Velocity.X, 0, player.Character.HumanoidRootPart.Velocity.Z) * Prediction
4134
elseif flags["Resolver Method"] == "Move Direction" then
4135
Offset = player.Character.Humanoid.MoveDirection * 19.64285714289 * Prediction
4136
end
4137
end
4138
--
4139
return Offset
4140
end
4141
--
4142
function framework:calculateNearestPart(Player, List)
4143
local shortestDistance = math.huge
4144
local closestPart
4145
if Player and Player.Character and Player.Character:FindFirstChild("Humanoid") and Player.Character:FindFirstChild("Head") and Player.Character.Humanoid.Health ~= 0 and Player.Character:FindFirstChild("HumanoidRootPart") then
4146
for i, v in pairs(Player.Character:GetChildren()) do
4147
if v:IsA("BasePart") then
4148
local pos = Camera:WorldToViewportPoint(v.Position)
4149
local magnitude = (NewVector2(pos.X, pos.Y) - NewVector2(Mouse.X, Mouse.Y+36)).magnitude
4150
if magnitude < shortestDistance and table.find(List, v.Name) then
4151
closestPart = v
4152
shortestDistance = magnitude
4153
end
4154
end
4155
end
4156
return closestPart
4157
end
4158
end
4159
--
4160
local autoSelectTick = 0;
4161
function framework:autoSelect()
4162
if autoSelectTick - tick() < flags["Auto Select Delay"]/1000 then
4163
autoSelectTick = tick()
4164
local closestPlayer
4165
local shortestDistance = math.huge -- Start with a very large distance
4166
for _, player in next, Players:GetPlayers() do
4167
if player.Character and player.Character:FindFirstChild("HumanoidRootPart") and player ~= game.Players.LocalPlayer and framework:getChecks(player, table.find(flags["Silent Checks"], "Friend Check"), table.find(flags["Silent Checks"], "Wall Check"), table.find(flags["Silent Checks"], "Knocked Check"), table.find(flags["Silent Checks"], "Grabbed Check")) then
4168
local distance = (LocalPlayer.Character.HumanoidRootPart.Position - player.Character.HumanoidRootPart.Position).magnitude
4169
if distance < shortestDistance then
4170
utility.target = player
4171
shortestDistance = distance
4172
end
4173
end
4174
end
4175
end
4176
end
4177
--
4178
function framework:getChecks(Player, Friend, Wall, Knocked, Grabbed, ToolHeld)
4179
local Checks = true
4180
--
4181
if Friend and LocalPlayer:IsFriendsWith(Player.UserId) then Checks = false end
4182
if Wall then Checks = utility:checkRay(Player, (Camera.CFrame.Position - Player.Character.Head.Position).Magnitude, Camera.CFrame.Position, (Player.Character.Head.Position - Camera.CFrame.Position).unit) end
4183
if Knocked and Player.Character.BodyEffects["K.O"].Value == true then Checks = false end
4184
if Grabbed and Player.Character:FindFirstChild("GRABBING_CONSTRAINT") then Checks = false end
4185
if ToolHeld and not (LocalPlayer.Character and LocalPlayer.Character:FindFirstChildWhichIsA("Tool")) then Checks = false end
4186
--
4187
return Checks
4188
end
4189
end
4190
4191
-- // Esp Functions
4192
do
4193
-- functions for drawing the mf esp :money_face:
4194
function Visuals:Draw(Type, Properties)
4195
local Drawing = Drawing.new(Type)
4196
--
4197
for Property, Value in pairs(Properties) do
4198
Drawing[Property] = Value
4199
end
4200
--
4201
table.insert(Visuals.Drawings, Drawing)
4202
--
4203
return Drawing
4204
end
4205
--
4206
function Visuals:Create(Properties)
4207
if Properties then
4208
if Properties.Player then
4209
local Self = setmetatable({
4210
Player = Properties.Player,
4211
Info = {
4212
Tick = tick(),
4213
gunTick = tick()
4214
},
4215
Renders = {
4216
Weapon = Visuals:Draw("Text", {Text = "Weapon", Visible = false, Size = 13, Center = true, Color = NewHex("#ffffff"), Outline = true, OutlineColor = NewHex("#000000"), Font = Drawing.Fonts.Plex}),
4217
--Distance = Visuals:Draw("Text", {Text = "Distance", Visible = false, Size = 13, Center = true, Color = NewHex("#ffffff"), Outline = true, OutlineColor = NewHex("#000000"), Font = Drawing.Fonts.Plex}),
4218
HealthOutline = Visuals:Draw("Square", {Thickness = 1, Visible = false, Filled = true, Color = NewHex("#000000")}),
4219
Health = Visuals:Draw("Square", {Thickness = 1, Visible = false, Filled = true, Color = NewHex("#09ff00")}),
4220
HealthText = Visuals:Draw("Text", {Text = "100", Visible = false, Size = 13, Center = true, Color = NewHex("#09ff00"), Outline = true, OutlineColor = NewHex("#000000"), Font = 2}),
4221
Box = Visuals:Draw("Square", {Thickness = 1, Visible = false, Filled = false, Color = NewHex("#000000")}),
4222
BoxFill = Visuals:Draw("Square", {Thickness = 1, Visible = false, Filled = true, Color = NewHex("#000000")}),
4223
BoxOutline = Visuals:Draw("Square", {Thickness = 2, Visible = false, Filled = false, Color = NewHex("#000000")}),
4224
BoxInline = Visuals:Draw("Square", {Thickness = 1, Visible = false, Filled = false, Color = NewHex("#C30B00")}),
4225
Name = Visuals:Draw("Text", {Text = "Name", Visible = false, Size = 13, Center = true, Color = NewHex("#ffffff"), Outline = true, OutlineColor = NewHex("#000000"), Font = Drawing.Fonts.Plex}),
4226
Flag = Visuals:Draw("Text", {Text = "Flag", Visible = false, Size = 13, Center = false, Color = NewHex("#ffffff"), Outline = true, OutlineColor = NewHex("#000000"), Font = Drawing.Fonts.Plex}),
4227
Tool = Visuals:Draw("Text", {Text = "Tool", Visible = false, Size = 13, Center = false, Color = NewHex("#ffffff"), Outline = true, OutlineColor = NewHex("#000000"), Font = Drawing.Fonts.Plex}),
4228
ArmorBarOutline = Visuals:Draw("Square", {Thickness = 1, Visible = false, Filled = true, Color = NewHex("#000000")}),
4229
ArmorBar = Visuals:Draw("Square", {Thickness = 1, Visible = false, Filled = true, Color = NewHex("#09ff00")}),
4230
Arrow = Visuals:Draw("Triangle", {Visible = false, Color = NewHex("#ffffff")}),
4231
ArrowOutline = Visuals:Draw("Triangle", {Visible = false, Color = NewHex("#ffffff")}),
4232
ArmorBarText = Visuals:Draw("Text", {Text = "100", Visible = false, Size = 13, Center = true, Color = NewHex("#09ff00"), Outline = true, OutlineColor = NewHex("#000000"), Font = 2}),
4233
GunIcon = Visuals:Draw("Image", {Data = "", Transparency = 1, Visible = false, Size = NewVector2(129,55)}),
4234
Corners = {},
4235
},
4236
Highlight = Instance.new("Highlight", game.CoreGui),
4237
}, {__index = Visuals.Base})
4238
--
4239
do -- // Corner Boxes
4240
for Index = 9, 16 do
4241
Self.Renders.Corners[Index] = Visuals:Draw("Line", {Thickness = 3, Color = NewHex("#000000")})
4242
end
4243
--
4244
for Index = 1, 8 do
4245
Self.Renders.Corners[Index] = Visuals:Draw("Line", {Thickness = 0, Color = NewHex("#1A66FF")})
4246
end
4247
end
4248
--
4249
Self.Highlight.Parent = game.CoreGui
4250
--
4251
Visuals.Bases[Properties.Player] = Self
4252
--
4253
return Self
4254
end
4255
end
4256
end
4257
--
4258
function Visuals.Base:Opacity(State)
4259
local Self = self
4260
--
4261
if Self then
4262
local Renders = rawget(Self, "Renders")
4263
--
4264
for Index, Drawing in pairs(Renders) do
4265
if Index ~= "Corners" then
4266
Drawing.Visible = State -- what
4267
end
4268
end
4269
--
4270
for Index = 1, 16 do
4271
Self.Renders.Corners[Index].Visible = State
4272
end
4273
--
4274
if not State then
4275
Self.Info.RootPosition = nil
4276
Self.Info.Health = nil
4277
Self.Info.MaxHealth = nil
4278
end
4279
end
4280
end
4281
--
4282
function Visuals.Base:Remove()
4283
local Self = self
4284
--
4285
if Self then
4286
setmetatable(Self, {})
4287
--
4288
Visuals.Bases[Self.Player] = nil
4289
--
4290
Self.Object = nil
4291
--
4292
for Index, Drawing in pairs(Self.Renders) do
4293
if Index ~= "Corners" then
4294
Drawing:Remove()
4295
end
4296
end
4297
--
4298
for Index = 1, 16 do
4299
Self.Renders.Corners[Index]:Remove()
4300
end
4301
--
4302
Self.Highlight.Parent = nil;
4303
Self.Highlight = nil;
4304
--
4305
Self.Renders = nil
4306
Self = nil
4307
end
4308
end
4309
--
4310
function Visuals.Base:Update()
4311
local Self = self
4312
local Add = 0;
4313
--
4314
if Self then
4315
local Renders = rawget(Self, "Renders")
4316
local Player = rawget(Self, "Player")
4317
local Info = rawget(Self, "Info")
4318
local Highlights = rawget(Self, "Highlight")
4319
local Parent = Player.Parent
4320
--
4321
if (Player and Parent and Parent ~= nil) or (Info.RootPosition and Info.Health and Info.MaxHealth) then
4322
if Player then
4323
local Object, Humanoid, RootPart = utility:getPlayerInformation(Player)
4324
local TransparencyMultplier = 1
4325
--
4326
if Object and Object.Parent and (Humanoid and RootPart) then
4327
local Health, MaxHealth = Humanoid.Health, Humanoid.MaxHealth
4328
--
4329
if Health > 0 then
4330
Info.Pass = true
4331
Info.RootPosition = RootPart.Position
4332
Info.Health = Health
4333
Info.MaxHealth = MaxHealth
4334
Info.ArmorValue = Object:FindFirstChild("BodyEffects") and Object["BodyEffects"]:FindFirstChild("Armor") and Object["BodyEffects"]:FindFirstChild("Armor").Value
4335
Info.ToolHeld = (Object:FindFirstChildOfClass("Tool") and Object:FindFirstChildOfClass("Tool").Name) or "None"
4336
else
4337
Info.Pass = false
4338
end
4339
else
4340
Info.Pass = false
4341
end
4342
--
4343
if Info.Pass then
4344
Info.Tick = tick()
4345
else
4346
local FadeTime = (250 / (2 * 100))
4347
local Value = Info.Tick - tick()
4348
--
4349
if Value <= FadeTime then
4350
TransparencyMultplier = Clamp((Value + FadeTime) * 1 / FadeTime, 0, 1)
4351
else
4352
Info.RootPosition = nil
4353
Info.Health = nil
4354
Info.MaxHealth = nil
4355
end
4356
end
4357
--
4358
if Info.RootPosition and Info.Health and Info.MaxHealth and (Object and Humanoid and RootPart) then
4359
local DistanceToPlayer = (Camera.CFrame.Position - Info.RootPosition).Magnitude
4360
local Position, OnScreen = Camera:WorldToViewportPoint(Info.RootPosition)
4361
--
4362
local Size, BoxSize, BoxPosition, BoxCenter, TL, BL, TR, BR
4363
--
4364
if OnScreen then
4365
local MaxDistance = tonumber(flags["ESP Distance"])
4366
--
4367
if DistanceToPlayer <= MaxDistance then
4368
BoxSize, BoxPosition = utility:BoxCalculation(Info.RootPosition)
4369
--
4370
if (flags["PlayerESP_Box"] == true and flags["PlayerESP_Box_Type"] == "Corner") then -- // Corner Boxes
4371
BoxCenter = Math:RoundVector(NewVector2(BoxPosition.X + BoxSize.X / 2, BoxPosition.Y + BoxSize.Y / 2));
4372
TL = Math:RoundVector(NewVector2(BoxCenter.X - BoxSize.X / 2, BoxCenter.Y - BoxSize.Y / 2));
4373
BL = Math:RoundVector(NewVector2(BoxCenter.X - BoxSize.X / 2, BoxCenter.Y + BoxSize.Y / 2));
4374
TR = Math:RoundVector(NewVector2(BoxCenter.X + BoxSize.X / 2, BoxCenter.Y - BoxSize.Y / 2));
4375
BR = Math:RoundVector(NewVector2(BoxCenter.X + BoxSize.X / 2, BoxCenter.Y + BoxSize.Y / 2));
4376
end
4377
end
4378
end
4379
--
4380
if (BoxSize and BoxPosition) then
4381
local GeneralOpacity = ((1 - 0.2) * TransparencyMultplier)
4382
--
4383
for Index, Drawing in pairs(Renders) do
4384
if Index ~= "Corners" then
4385
if Drawing.Visible then
4386
Drawing.Visible = false
4387
end
4388
end
4389
end
4390
--
4391
Highlights.Enabled = false
4392
--
4393
for Index = 1, 16 do
4394
if Renders.Corners[Index].Visible then
4395
Renders.Corners[Index].Visible = false
4396
end
4397
end
4398
--
4399
if Player ~= LocalPlayer then
4400
do -- // Name
4401
if flags["PlayerESP_Name"] then
4402
local Name = Renders.Name
4403
--
4404
Name.Text = Player.Name
4405
Name.Position = NewVector2(BoxSize.X / 2 + BoxPosition.X, BoxPosition.Y - 16)
4406
Name.Visible = true
4407
Name.Transparency = GeneralOpacity
4408
Name.Color = flags["PlayerESP_Name_Color"].Color
4409
end
4410
end
4411
--
4412
do -- // Highlights
4413
if flags["PlayerESP_Highlights"] then
4414
Highlights.Enabled = true
4415
Highlights.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
4416
Highlights.FillColor = flags["PlayerESP_HighlightFillSettings"].Color
4417
Highlights.OutlineColor = flags["PlayerESP_HighlightOutlineSettings"].Color
4418
Highlights.Adornee = Object
4419
Highlights.OutlineTransparency = flags["PlayerESP_HighlightOutlineSettings"].Transparency
4420
Highlights.FillTransparency = flags["PlayerESP_HighlightOutlineSettings"].Transparency
4421
end
4422
end
4423
--
4424
do -- // Corner Boxes
4425
if flags["PlayerESP_Box"] then
4426
if flags["PlayerESP_Box_Type"] == "Corner" then
4427
local BoxCorners, BoxColor1, BoxColor2 = Renders.Corners, flags["PlayerESP_Box_Color1"].Color, flags["PlayerESP_Box_Color2"].Color
4428
-- // Inlines
4429
do
4430
BoxCorners[1].Visible = true
4431
BoxCorners[1].From = TL
4432
BoxCorners[1].To = BoxCorners[1].From + NewVector2(0, BoxSize.X / 3)
4433
BoxCorners[1].Color = BoxColor1
4434
--
4435
BoxCorners[2].Visible = true
4436
BoxCorners[2].From = TL + NewVector2(1, 0)
4437
BoxCorners[2].To = BoxCorners[2].From + NewVector2(BoxSize.X / 3, 0)
4438
BoxCorners[2].Color = BoxColor1
4439
--
4440
BoxCorners[3].Visible = true
4441
BoxCorners[3].From = TR
4442
BoxCorners[3].To = BoxCorners[3].From + NewVector2(-BoxSize.X / 3, 0)
4443
BoxCorners[3].Color = BoxColor1
4444
--
4445
BoxCorners[4].Visible = true
4446
BoxCorners[4].From = TR
4447
BoxCorners[4].To = BoxCorners[4].From + NewVector2(0, BoxSize.X / 3)
4448
BoxCorners[4].Color = BoxColor1
4449
--
4450
BoxCorners[5].Visible = true
4451
BoxCorners[5].From = BR + NewVector2(0, 1)
4452
BoxCorners[5].To = BoxCorners[5].From + NewVector2(0, -BoxSize.X / 3)
4453
BoxCorners[5].Color = BoxColor1
4454
--
4455
BoxCorners[6].Visible = true
4456
BoxCorners[6].From = BR
4457
BoxCorners[6].To = BoxCorners[6].From + NewVector2(-BoxSize.X / 3, 0)
4458
BoxCorners[6].Color = BoxColor1
4459
--
4460
BoxCorners[7].Visible = true
4461
BoxCorners[7].From = BL + NewVector2(0, 1)
4462
BoxCorners[7].To = BoxCorners[7].From + NewVector2(0, -BoxSize.X / 3)
4463
BoxCorners[7].Color = BoxColor1
4464
--
4465
BoxCorners[8].Visible = true
4466
BoxCorners[8].From = BL
4467
BoxCorners[8].To = BoxCorners[8].From + NewVector2(BoxSize.X / 3, 0)
4468
BoxCorners[8].Color = BoxColor1
4469
end
4470
-- // Outlines
4471
do
4472
BoxCorners[9].Visible = true
4473
BoxCorners[9].From = BoxCorners[1].From + NewVector2(0, -1)
4474
BoxCorners[9].To = BoxCorners[1].To + NewVector2(0, 1)
4475
BoxCorners[9].Color = BoxColor2
4476
--
4477
BoxCorners[10].Visible = true
4478
BoxCorners[10].From = BoxCorners[2].From
4479
BoxCorners[10].To = BoxCorners[2].To + NewVector2(1, 0)
4480
BoxCorners[10].Color = BoxColor2
4481
--
4482
BoxCorners[11].Visible = true
4483
BoxCorners[11].From = BoxCorners[3].From + NewVector2(2, 0)
4484
BoxCorners[11].To = BoxCorners[3].To + NewVector2(-1, 0)
4485
BoxCorners[11].Color = BoxColor2
4486
--
4487
BoxCorners[12].Visible = true
4488
BoxCorners[12].From = BoxCorners[4].From
4489
BoxCorners[12].To = BoxCorners[4].To + NewVector2(0, 1)
4490
BoxCorners[12].Color = BoxColor2
4491
--
4492
BoxCorners[13].Visible = true
4493
BoxCorners[13].From = BoxCorners[5].From
4494
BoxCorners[13].To = BoxCorners[5].To + NewVector2(0, -1)
4495
BoxCorners[13].Color = BoxColor2
4496
--
4497
BoxCorners[14].Visible = true
4498
BoxCorners[14].From = BoxCorners[6].From + NewVector2(2, 0)
4499
BoxCorners[14].To = BoxCorners[6].To + NewVector2(-1, 0)
4500
BoxCorners[14].Color = BoxColor2
4501
--
4502
BoxCorners[15].Visible = true
4503
BoxCorners[15].From = BoxCorners[7].From
4504
BoxCorners[15].To = BoxCorners[7].To + NewVector2(0, -1)
4505
BoxCorners[15].Color = BoxColor2
4506
--
4507
BoxCorners[16].Visible = true
4508
BoxCorners[16].From = BoxCorners[8].From + NewVector2(-1, 0)
4509
BoxCorners[16].To = BoxCorners[8].To + NewVector2(1, 0)
4510
BoxCorners[16].Color = BoxColor2
4511
end
4512
--
4513
for Index = 1, 16 do
4514
BoxCorners[Index].Transparency = GeneralOpacity
4515
end
4516
else
4517
local Box = Renders.BoxInline
4518
local BoxOutline = Renders.BoxOutline
4519
--
4520
Box.Size = BoxSize
4521
Box.Position = BoxPosition
4522
Box.Transparency = GeneralOpacity
4523
Box.Color = flags["PlayerESP_Box_Color1"].Color
4524
Box.Visible = true
4525
--
4526
BoxOutline.Size = BoxSize
4527
BoxOutline.Position = BoxPosition
4528
BoxOutline.Transparency = GeneralOpacity
4529
BoxOutline.Color = flags["PlayerESP_Box_Color2"].Color
4530
BoxOutline.Visible = true
4531
end
4532
end
4533
--
4534
if flags["PlayerESP_BoxFill"] then
4535
local BoxFill = Renders.BoxFill
4536
--
4537
BoxFill.Size = BoxSize
4538
BoxFill.Position = BoxPosition
4539
BoxFill.Transparency = TransparencyMultplier - flags["PlayerESP_BoxFill_Color"].Transparency
4540
BoxFill.Color = flags["PlayerESP_BoxFill_Color"].Color
4541
BoxFill.Visible = true
4542
end
4543
end
4544
--
4545
do -- // HeatlhBar
4546
if flags["PlayerESP_HealthBar"] then
4547
local ArmorColor = flags["PlayerESP_ArmorBarColor"].Color
4548
local HealthSize = (Floor(BoxSize.Y * (Info.Health / Info.MaxHealth)))
4549
local Color = utility:Lerp(Info.Health / Info.MaxHealth, flags["PlayerESP_HealthBar_Color_Higher"].Color, flags["PlayerESP_HealthBar_Color_Low"].Color)
4550
local Height = ((BoxPosition.Y + BoxSize.Y) - HealthSize)
4551
--
4552
-- // Bars
4553
local HealthBarInline, HealthBarOutline, HealthBarValue = Renders.Health, Renders.HealthOutline, Renders.HealthText
4554
local HealthBarTransparency = GeneralOpacity
4555
--
4556
HealthBarInline.Color = Color
4557
HealthBarInline.Size = NewVector2(2, HealthSize)
4558
HealthBarInline.Position = NewVector2(BoxPosition.X - 5, Height)
4559
HealthBarInline.Visible = true
4560
HealthBarInline.Transparency = HealthBarTransparency
4561
--
4562
HealthBarOutline.Size = NewVector2(4, BoxSize.Y + 2)
4563
HealthBarOutline.Position = NewVector2(BoxPosition.X - 6, BoxPosition.Y - 1)
4564
HealthBarOutline.Visible = true
4565
HealthBarOutline.Transparency = HealthBarTransparency
4566
--
4567
do -- // Value
4568
if flags["PlayerESP_HealthNumber"] then
4569
local Text = Floor(Info.Health), BoxSize.Y
4570
local ArmorText = Renders.ArmorBarText
4571
local HealthNumberPosition = NewVector2((BoxPosition.X + 1), BoxPosition.Y + BoxSize.Y)
4572
local Offset = flags["PlayerESP_ArmorBar"] and 23 or 18
4573
--
4574
HealthBarValue.Text = Text
4575
HealthBarValue.Color = Color
4576
HealthBarValue.Position = NewVector2(HealthNumberPosition.X - Offset, HealthNumberPosition.Y - (Info.Health / Info.MaxHealth) * BoxSize.Y)
4577
HealthBarValue.Visible = true
4578
HealthBarValue.Transparency = HealthBarTransparency
4579
--
4580
if flags["PlayerESP_ArmorBar"] then
4581
ArmorText.Text = tostring(Info.ArmorValue)
4582
ArmorText.Color = ArmorColor
4583
ArmorText.Position = NewVector2(HealthNumberPosition.X - Offset, HealthNumberPosition.Y - (Info.ArmorValue / 200) * BoxSize.Y)
4584
ArmorText.Visible = true
4585
ArmorText.Transparency = HealthBarTransparency
4586
end
4587
end
4588
end
4589
--
4590
do
4591
if flags["PlayerESP_ArmorBar"] then
4592
local ArmorBar, ArmorBarOutline = Renders.ArmorBar, Renders.ArmorBarOutline
4593
--
4594
local ArmorSize = (Floor(BoxSize.Y * (Info.ArmorValue / 200)))
4595
local ArmorHeight = ((BoxPosition.Y + BoxSize.Y) - ArmorSize)
4596
--
4597
ArmorBar.Color = ArmorColor
4598
ArmorBar.Size = NewVector2(2, ArmorSize)
4599
ArmorBar.Position = NewVector2(BoxPosition.X - 10, ArmorHeight)
4600
ArmorBar.Visible = true
4601
ArmorBar.Transparency = HealthBarTransparency
4602
--
4603
ArmorBarOutline.Size = NewVector2(4, BoxSize.Y + 2)
4604
ArmorBarOutline.Position = NewVector2(BoxPosition.X - 11, BoxPosition.Y - 1)
4605
ArmorBarOutline.Visible = true
4606
ArmorBarOutline.Transparency = HealthBarTransparency
4607
end
4608
end
4609
end
4610
end
4611
--
4612
do -- // Gun Icons
4613
if flags["PlayerESP_GunIcons"] and Info.ToolHeld ~= "None" and images[Info.ToolHeld] ~= nil then
4614
local Gun = Renders.GunIcon
4615
--
4616
if tick() - Info.gunTick > 0.2 then
4617
Info.gunTick = tick()
4618
Gun.Data = images[Info.ToolHeld]
4619
end
4620
Gun.Visible = true
4621
Gun.Size = NewVector2(51.9, 22.3)
4622
Gun.Position = BoxPosition + NewVector2(BoxSize.X / 2, (BoxSize.Y + 2)) - NewVector2(Gun.Size.X/2, 0)
4623
Add += 22.3
4624
else
4625
Add = 0
4626
end
4627
end
4628
--
4629
do -- // Weapon
4630
if flags["PlayerESP_Weapon"] then
4631
local Weapon = Renders.Weapon
4632
--
4633
Weapon.Text = Info.ToolHeld
4634
Weapon.Position = BoxPosition + NewVector2(BoxSize.X / 2, (BoxSize.Y + 2) + Add)
4635
Weapon.Color = flags["PlayerESP_Weapon_Color"].Color
4636
Weapon.Transparency = GeneralOpacity
4637
Weapon.Visible = true
4638
end
4639
end
4640
--
4641
do -- // Flag
4642
if flags["PlayerESP_Flags"] then
4643
local Flag = Renders.Flag
4644
local FlagStr = ""
4645
--
4646
if Find(flags["PlayerESP_Flag_Options"], "Distance") then
4647
FlagStr ..= ("%sm\n"):format(Round(DistanceToPlayer))
4648
end
4649
--
4650
if Find(flags["PlayerESP_Flag_Options"], "Knocked") and Player.Character.BodyEffects then
4651
FlagStr ..= ("%s\n"):format(tostring(Object.BodyEffects["K.O"].Value and "KNOCKED" or ""))
4652
end
4653
--
4654
Flag.Text = FlagStr
4655
Flag.Position = NewVector2(BoxSize.X + BoxPosition.X + 3, BoxPosition.Y - 2)
4656
Flag.Visible = true
4657
Flag.Color = flags["PlayerESP_FlagsColor"].Color
4658
Flag.Transparency = GeneralOpacity
4659
end
4660
end
4661
else
4662
do -- // Name
4663
if flags["Self_PlayerESP_Name"] then
4664
local Name = Renders.Name
4665
--
4666
Name.Text = Player.Name
4667
Name.Position = NewVector2(BoxSize.X / 2 + BoxPosition.X, BoxPosition.Y - 16)
4668
Name.Visible = true
4669
Name.Transparency = GeneralOpacity
4670
Name.Color = flags["Self_PlayerESP_Name_Color"].Color
4671
end
4672
end
4673
--
4674
do -- // Highlights
4675
if flags["Self_PlayerESP_Highlights"] then
4676
Highlights.Enabled = true
4677
Highlights.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
4678
Highlights.FillColor = flags["Self_PlayerESP_HighlightFillSettings"].Color
4679
Highlights.OutlineColor = flags["Self_PlayerESP_HighlightOutlineSettings"].Color
4680
Highlights.Adornee = Object
4681
Highlights.OutlineTransparency = flags["Self_PlayerESP_HighlightOutlineSettings"].Transparency
4682
Highlights.FillTransparency = flags["Self_PlayerESP_HighlightOutlineSettings"].Transparency
4683
end
4684
end
4685
--
4686
do -- // Corner Boxes
4687
if flags["Self_PlayerESP_Box"] then
4688
local Box = Renders.BoxInline
4689
local BoxOutline = Renders.BoxOutline
4690
--
4691
Box.Size = BoxSize
4692
Box.Position = BoxPosition
4693
Box.Transparency = GeneralOpacity
4694
Box.Color = flags["Self_PlayerESP_Box_Color1"].Color
4695
Box.Visible = true
4696
--
4697
BoxOutline.Size = BoxSize
4698
BoxOutline.Position = BoxPosition
4699
BoxOutline.Transparency = GeneralOpacity
4700
BoxOutline.Color = flags["Self_PlayerESP_Box_Color2"].Color
4701
BoxOutline.Visible = true
4702
end
4703
--
4704
if flags["Self_PlayerESP_Box"] then
4705
local BoxFill = Renders.BoxFill
4706
--
4707
BoxFill.Size = BoxSize
4708
BoxFill.Position = BoxPosition
4709
BoxFill.Transparency = TransparencyMultplier - flags["Self_PlayerESP_BoxFill_Color"].Transparency
4710
BoxFill.Color = flags["Self_PlayerESP_BoxFill_Color"].Color
4711
BoxFill.Visible = true
4712
end
4713
end
4714
--
4715
do -- // HeatlhBar
4716
if flags["Self_PlayerESP_HealthBar"] then
4717
local ArmorColor = flags["Self_PlayerESP_ArmorBarColor"].Color
4718
local HealthSize = (Floor(BoxSize.Y * (Info.Health / Info.MaxHealth)))
4719
local Color = utility:Lerp(Info.Health / Info.MaxHealth, flags["Self_PlayerESP_HealthBar_Color_Higher"].Color, flags["Self_PlayerESP_HealthBar_Color_Low"].Color)
4720
local Height = ((BoxPosition.Y + BoxSize.Y) - HealthSize)
4721
--
4722
-- // Bars
4723
local HealthBarInline, HealthBarOutline, HealthBarValue = Renders.Health, Renders.HealthOutline, Renders.HealthText
4724
local HealthBarTransparency = GeneralOpacity
4725
--
4726
HealthBarInline.Color = Color
4727
HealthBarInline.Size = NewVector2(2, HealthSize)
4728
HealthBarInline.Position = NewVector2(BoxPosition.X - 5, Height)
4729
HealthBarInline.Visible = true
4730
HealthBarInline.Transparency = HealthBarTransparency
4731
--
4732
HealthBarOutline.Size = NewVector2(4, BoxSize.Y + 2)
4733
HealthBarOutline.Position = NewVector2(BoxPosition.X - 6, BoxPosition.Y - 1)
4734
HealthBarOutline.Visible = true
4735
HealthBarOutline.Transparency = HealthBarTransparency
4736
--
4737
do -- // Value
4738
if flags["Self_PlayerESP_HealthNumber"] then
4739
local Text = Floor(Info.Health), BoxSize.Y
4740
local ArmorText = Renders.ArmorBarText
4741
local HealthNumberPosition = NewVector2((BoxPosition.X + 1), BoxPosition.Y + BoxSize.Y)
4742
local Offset = flags["Self_PlayerESP_ArmorBar"] and 23 or 18
4743
--
4744
HealthBarValue.Text = Text
4745
HealthBarValue.Color = Color
4746
HealthBarValue.Position = NewVector2(HealthNumberPosition.X - Offset, HealthNumberPosition.Y - (Info.Health / Info.MaxHealth) * BoxSize.Y)
4747
HealthBarValue.Visible = true
4748
HealthBarValue.Transparency = HealthBarTransparency
4749
--
4750
if flags["Self_PlayerESP_ArmorBar"] then
4751
ArmorText.Text = tostring(Info.ArmorValue)
4752
ArmorText.Color = ArmorColor
4753
ArmorText.Position = NewVector2(HealthNumberPosition.X - Offset, HealthNumberPosition.Y - (Info.ArmorValue / 200) * BoxSize.Y)
4754
ArmorText.Visible = true
4755
ArmorText.Transparency = HealthBarTransparency
4756
end
4757
end
4758
end
4759
--
4760
do
4761
if flags["Self_PlayerESP_ArmorBar"] then
4762
local ArmorBar, ArmorBarOutline = Renders.ArmorBar, Renders.ArmorBarOutline
4763
--
4764
local ArmorSize = (Floor(BoxSize.Y * (Info.ArmorValue / 200)))
4765
local ArmorHeight = ((BoxPosition.Y + BoxSize.Y) - ArmorSize)
4766
--
4767
ArmorBar.Color = ArmorColor
4768
ArmorBar.Size = NewVector2(2, ArmorSize)
4769
ArmorBar.Position = NewVector2(BoxPosition.X - 10, ArmorHeight)
4770
ArmorBar.Visible = true
4771
ArmorBar.Transparency = HealthBarTransparency
4772
--
4773
ArmorBarOutline.Size = NewVector2(4, BoxSize.Y + 2)
4774
ArmorBarOutline.Position = NewVector2(BoxPosition.X - 11, BoxPosition.Y - 1)
4775
ArmorBarOutline.Visible = true
4776
ArmorBarOutline.Transparency = HealthBarTransparency
4777
end
4778
end
4779
end
4780
end
4781
--
4782
do -- // Gun Icons
4783
if flags["Self_PlayerESP_GunIcons"] and Info.ToolHeld ~= "None" and images[Info.ToolHeld] ~= nil then
4784
local Gun = Renders.GunIcon
4785
--
4786
if tick() - Info.gunTick > 0.75 then
4787
Info.gunTick = tick()
4788
Gun.Data = images[Info.ToolHeld]
4789
end
4790
Gun.Visible = true
4791
Gun.Size = NewVector2(51.9, 22.3)
4792
Gun.Position = BoxPosition + NewVector2(BoxSize.X / 2, (BoxSize.Y + 2)) - NewVector2(Gun.Size.X/2, 0)
4793
Add += 22.3
4794
else
4795
Add = 0
4796
end
4797
end
4798
--
4799
do -- // Weapon
4800
if flags["Self_PlayerESP_Weapon"] then
4801
local Weapon = Renders.Weapon
4802
--
4803
Weapon.Text = Info.ToolHeld
4804
Weapon.Position = BoxPosition + NewVector2(BoxSize.X / 2, (BoxSize.Y + 2) + Add)
4805
Weapon.Color = flags["Self_PlayerESP_Weapon_Color"].Color
4806
Weapon.Transparency = GeneralOpacity
4807
Weapon.Visible = true
4808
end
4809
end
4810
--
4811
do -- // Flag
4812
if flags["Self_PlayerESP_Flags"] then
4813
local Flag = Renders.Flag
4814
local FlagStr = ""
4815
--
4816
if Find(flags["Self_PlayerESP_Flag_Options"], "Distance") then
4817
FlagStr ..= ("%sm\n"):format(Round(DistanceToPlayer))
4818
end
4819
--
4820
if Find(flags["Self_PlayerESP_Flag_Options"], "Knocked") and Player.Character.BodyEffects then
4821
FlagStr ..= ("%s\n"):format(tostring(Object.BodyEffects["K.O"].Value and "KNOCKED" or ""))
4822
end
4823
--
4824
Flag.Text = FlagStr
4825
Flag.Position = NewVector2(BoxSize.X + BoxPosition.X + 3, BoxPosition.Y - 2)
4826
Flag.Visible = true
4827
Flag.Color = flags["Self_PlayerESP_FlagsColor"].Color
4828
Flag.Transparency = GeneralOpacity
4829
end
4830
end
4831
end
4832
return
4833
end
4834
end
4835
end
4836
--
4837
return Self:Opacity(false)
4838
end
4839
--
4840
return Self:Remove()
4841
end
4842
end
4843
--
4844
function Visuals:Unload()
4845
for Index, Base in pairs(Visuals.Bases) do
4846
Base:Remove()
4847
end
4848
end
4849
end
4850
4851
-- // Creations + Setting Stuff
4852
do
4853
utility.drawings["Tracer"] = utility:drawObject("Line", {})
4854
utility.drawings["Aim Assist FOV"] = utility:drawObject("Circle", {Visible = false, Radius = 8, Color = Color3.fromRGB(0,0,0), Filled = false})
4855
utility.drawings["Sub"] = utility:drawObject("Text", {Outline = true, Text = "lunar", Color = Color3.new(1, 1, 1)})
4856
utility.drawings["Domain"] = utility:drawObject("Text", {Outline = true, Text = ".vip", Color = Color3.fromRGB(132, 108, 188)})
4857
--
4858
for i,v in pairs(bodyClone:GetDescendants()) do
4859
if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then
4860
v.CanCollide = false
4861
v.Transparency = 0
4862
end
4863
end
4864
4865
-- drawing lines for crosshair
4866
do
4867
for Index = 1, 4 do
4868
local line = utility:drawObject("Line",{
4869
Visible = false,
4870
Color = Color3.fromRGB(255,255,255),
4871
Thickness = 1,
4872
ZIndex = 2,
4873
Transparency = 1
4874
})
4875
--
4876
crosshair_Lines[Index] = line
4877
--
4878
local line_1 = utility:drawObject("Line",{
4879
Visible = false,
4880
Color = Color3.fromRGB(0, 0, 0),
4881
Thickness = 2.5,
4882
ZIndex = 1,
4883
Transparency = 1
4884
})
4885
--
4886
crosshair_Outlines[Index] = line_1
4887
end
4888
end
4889
4890
-- // Chat spam framework
4891
do
4892
Messages = {
4893
["Scottish"] = {
4894
"You Grandma Still Wears Shin Pads To Work 🤣🤣",
4895
"Melon Head",
4896
"Your Ma Is A Bin Man 🤣🤣",
4897
"Taped You Like I Did To Your Ma",
4898
"Fore Headed Mong",
4899
"Such A Fruit",
4900
"YoUr A BoOt",
4901
"keep Trying You Jobby",
4902
},
4903
["Lunar"] = {
4904
"Owned By Lunar",
4905
"Lunar Lunar Lunar RAHHHHH",
4906
"Slammed by Lunar",
4907
"YOU GOT SLAMMED BY LUNAR",
4908
"SEEMS LIKE YOU NEED LUNAR GG/LUNARVIP",
4909
"GG/LUNARVIP GG/LUNARVIP GG/LUNARVIP",
4910
"GG/LUNARVIP <-- THIS WILL LET YOU COPE WITH YOUR ISSUES",
4911
"WHAT YOU CANT BEAT LUNAR?",
4912
"PRO TIP: BUY LUNAR",
4913
},
4914
}
4915
utx = {
4916
["symbols"] = {
4917
"~",
4918
"!",
4919
"@",
4920
"#",
4921
"$",
4922
"%",
4923
"^",
4924
"&",
4925
"*",
4926
"(",
4927
")",
4928
"_",
4929
"+",
4930
"{",
4931
"}",
4932
"|",
4933
":",
4934
'"',
4935
"<",
4936
">",
4937
"?",
4938
".",
4939
",",
4940
"/",
4941
"'",
4942
},
4943
["emojis"] = {
4944
"😎",
4945
"🤣",
4946
"👀",
4947
"🙄",
4948
"🔥",
4949
"😅",
4950
"😂",
4951
"😹",
4952
"😛",
4953
"🤩",
4954
"🌈",
4955
"😎",
4956
"🤠",
4957
"😔",
4958
"🤡",
4959
"💤",
4960
"🚶",
4961
"🙀",
4962
"😂",
4963
"📈",
4964
"🤏",
4965
"🌈",
4966
"😎",
4967
"🤠",
4968
"😔",
4969
},
4970
}
4971
end
4972
end
4973
4974
-- // Hit Reg
4975
do
4976
function HitReg:HitMarker(Gap, Color, Time)
4977
local Lines = {}
4978
local Hitmarker = true
4979
--
4980
for i = 1, 4 do
4981
Lines[i] = utility:drawObject("Line", {Color = Color, Visible = true, Transparency = 1, Thickness = 1})
4982
end
4983
--
4984
local function setMarkerPos()
4985
Lines[1].From = NewVector2(Mouse.X + Gap, (Mouse.Y + Offset) + Gap)
4986
Lines[1].To = NewVector2(Mouse.X + (Gap * 2.5), (Mouse.Y + Offset) + (Gap * 2.5))
4987
--
4988
Lines[2].From = NewVector2(Mouse.X + Gap, (Mouse.Y + Offset) - Gap)
4989
Lines[2].To = NewVector2(Mouse.X + (Gap * 2.5), (Mouse.Y + Offset) - (Gap * 2.5))
4990
--
4991
Lines[3].From = NewVector2(Mouse.X - Gap, (Mouse.Y + Offset) + Gap)
4992
Lines[3].To = NewVector2(Mouse.X - (Gap * 2.5), (Mouse.Y + Offset) + (Gap * 2.5))
4993
--
4994
Lines[4].From = NewVector2(Mouse.X - Gap, (Mouse.Y + Offset) - Gap)
4995
Lines[4].To = NewVector2(Mouse.X - (Gap * 2.5), (Mouse.Y + Offset) - (Gap * 2.5))
4996
end
4997
--
4998
delay(Time, function()
4999
for i = Time, 0, -0.1 do
5000
task.wait()
5001
for _, Value in next, Lines do
5002
Value.Transparency = i
5003
end
5004
setMarkerPos()
5005
end
5006
--
5007
for _, Value in next, Lines do
5008
Value:Remove()
5009
end
5010
--
5011
Hitmarker = false
5012
end)
5013
end
5014
--
5015
function HitReg:HitMarker3D(Gap, Color, Time, Hit)
5016
local Lines = {}
5017
local Hitmarker = true
5018
--
5019
for i = 1, 4 do
5020
Lines[i] = utility:drawObject("Line", {Color = Color, Visible = true, Transparency = 1, Thickness = 1})
5021
end
5022
--
5023
task.spawn(function()
5024
while Hitmarker do
5025
local Position3D, OnScreen = Camera:WorldToViewportPoint(Hit)
5026
--
5027
Lines[1].From = NewVector2(Position3D.X + Gap, Position3D.Y + Gap)
5028
Lines[1].To = NewVector2(Position3D.X + (Gap * 2.5), Position3D.Y + (Gap * 2.5))
5029
--
5030
Lines[2].From = NewVector2(Position3D.X + Gap, Position3D.Y - Gap)
5031
Lines[2].To = NewVector2(Position3D.X + (Gap * 2.5), Position3D.Y - (Gap * 2.5))
5032
--
5033
Lines[3].From = NewVector2(Position3D.X - Gap, Position3D.Y + Gap)
5034
Lines[3].To = NewVector2(Position3D.X - (Gap * 2.5), Position3D.Y + (Gap * 2.5))
5035
--
5036
Lines[4].From = NewVector2(Position3D.X - Gap, Position3D.Y - Gap)
5037
Lines[4].To = NewVector2(Position3D.X - (Gap * 2.5), Position3D.Y - (Gap * 2.5))
5038
--
5039
for _, Value in next, Lines do
5040
Value.Visible = OnScreen
5041
end
5042
--
5043
task.wait()
5044
end
5045
end)
5046
--
5047
delay(Time, function()
5048
for i = Time, 0, -0.1 do
5049
task.wait()
5050
for _, Value in next, Lines do
5051
Value.Transparency = i
5052
end
5053
end
5054
--
5055
for _, Value in next, Lines do
5056
Value:Remove()
5057
end
5058
--
5059
Hitmarker = false
5060
end)
5061
end
5062
--
5063
function HitReg:HitEffect(Type, Character)
5064
local function convert(color)
5065
return color.r/5, color.g/5, color.b/5
5066
end
5067
--
5068
local function Weld(x,y)
5069
local W = Instance.new("Weld")
5070
W.Part0 = x
5071
W.Part1 = y
5072
local CJ = NewCFrame(x.Position)
5073
local C0 = x.CFrame:inverse()*CJ
5074
local C1 = y.CFrame:inverse()*CJ
5075
W.C0 = C0
5076
W.C1 = C1
5077
W.Parent = x
5078
end
5079
--
5080
if Type == "Confetti" then
5081
task.spawn(function()
5082
local Confetti_Amount = 20000
5083
local RootPart = Character.HumanoidRootPart
5084
local ConfettiClone = hitmodule:Clone()
5085
ConfettiClone.RainbowParticles.Rate = Confetti_Amount
5086
ConfettiClone.Parent = workspace
5087
ConfettiClone.CanCollide = false
5088
ConfettiClone.CFrame = RootPart.CFrame
5089
--
5090
for i = Confetti_Amount, 0 , -(Confetti_Amount/50) do
5091
task.wait()
5092
ConfettiClone.RainbowParticles.Rate = i
5093
end
5094
--
5095
delay(5, function()
5096
ConfettiClone:Destroy()
5097
end)
5098
end)
5099
elseif Type == "Nova" then
5100
local Effect = Nova:Clone()
5101
Effect.Parent = Character.HumanoidRootPart
5102
--
5103
for i,v in pairs(Effect:GetChildren()) do
5104
v.Rate = 0
5105
v.Color = ColorSequence.new({ColorSequenceKeypoint.new(0, Color3.new(0, 0, 0)), ColorSequenceKeypoint.new(0.5, Color3.new(convert(flags["Hit Effect Settings"].Color))),ColorSequenceKeypoint.new(1, Color3.new(0, 0, 0)),})
5106
v:Emit()
5107
end
5108
--
5109
delay(2, function()
5110
Effect:Destroy()
5111
end)
5112
else
5113
local Clone = SparklesEffect:Clone()
5114
Clone.Parent = Character.HumanoidRootPart
5115
Clone.LockedToPart = false
5116
Clone.Acceleration = Vector3.new(0,-100,0)
5117
--
5118
Clone:Emit(15)
5119
--
5120
delay(5, function() Clone:Destroy() end)
5121
end
5122
end
5123
--
5124
function HitReg:HitSound(Id, Volume, Pitch)
5125
local Sound = Instance.new("Sound", game:GetService("SoundService")); local PitchSound = Instance.new("PitchShiftSoundEffect", Sound)
5126
--
5127
Sound.SoundId = "rbxassetid://".. Id ..""
5128
--[[writefile("song.mp3", game:HttpGet("https://lunar.feet.media/osiris/cmwr7ecb.mp3"))
5129
Sound.SoundId = getcustomasset("song.mp3")]]
5130
Sound.Volume = Volume
5131
PitchSound.Octave = Pitch
5132
Sound.PlayOnRemove = true
5133
Sound:Destroy()
5134
end
5135
end
5136
5137
for i,v in pairs(LocalPlayer.Character:GetChildren()) do
5138
if v:IsA("BasePart") then
5139
table.insert(utility.bodyParts, v.Name)
5140
end
5141
end
5142
5143
-- // Tweens
5144
do
5145
Tween.EasingStyles = {
5146
[Enum.EasingStyle.Linear] = {
5147
[Enum.EasingDirection.In] = function(Delta)
5148
return Delta
5149
end,
5150
[Enum.EasingDirection.Out] = function(Delta)
5151
return Delta
5152
end,
5153
[Enum.EasingDirection.InOut] = function(Delta)
5154
return Delta
5155
end
5156
},
5157
[Enum.EasingStyle.Cubic] = {
5158
[Enum.EasingDirection.In] = function(Delta)
5159
return Delta ^ 3
5160
end,
5161
[Enum.EasingDirection.Out] = function(Delta)
5162
return ((Delta - 1) ^ 3) + 1
5163
end,
5164
[Enum.EasingDirection.InOut] = function(Delta)
5165
if 0 <= Delta and Delta <= 0.5 then
5166
return (4 * Delta ^ 3)
5167
elseif 0.5 <= Delta and Delta <= 1 then
5168
return (4 * (Delta - 1) ^ 3) + 1
5169
end
5170
end
5171
},
5172
[Enum.EasingStyle.Quad] = {
5173
[Enum.EasingDirection.In] = function(Delta)
5174
return Delta ^ 2
5175
end,
5176
[Enum.EasingDirection.Out] = function(Delta)
5177
return (-(Delta - 1) ^ 2) + 1
5178
end,
5179
[Enum.EasingDirection.InOut] = function(Delta)
5180
if 0 <= Delta and Delta <= 0.5 then
5181
return (2 * Delta ^ 2)
5182
elseif 0.5 <= Delta and Delta <= 1 then
5183
return -(2 * (Delta - 1) ^ 2) + 1
5184
end
5185
end
5186
},
5187
[Enum.EasingStyle.Quart] = {
5188
[Enum.EasingDirection.In] = function(Delta)
5189
return Delta ^ 4
5190
end,
5191
[Enum.EasingDirection.Out] = function(Delta)
5192
return (-(Delta - 1) ^ 4) + 1
5193
end,
5194
[Enum.EasingDirection.InOut] = function(Delta)
5195
if 0 <= Delta and Delta <= 0.5 then
5196
return (8 * Delta ^ 4)
5197
elseif 0.5 <= Delta and Delta <= 1 then
5198
return -(8 * (Delta - 1) ^ 4) + 1
5199
end
5200
end
5201
},
5202
[Enum.EasingStyle.Quint] = {
5203
[Enum.EasingDirection.In] = function(Delta)
5204
return Delta ^ 5
5205
end,
5206
[Enum.EasingDirection.Out] = function(Delta)
5207
return ((Delta - 1) ^ 5) + 1
5208
end,
5209
[Enum.EasingDirection.InOut] = function(Delta)
5210
if 0 <= Delta and Delta <= 0.5 then
5211
return (16 * Delta ^ 5)
5212
elseif 0.5 <= Delta and Delta <= 1 then
5213
return (16 * (Delta - 1) ^ 5) + 1
5214
end
5215
end
5216
},
5217
[Enum.EasingStyle.Sine] = {
5218
[Enum.EasingDirection.In] = function(Delta)
5219
return Sin(((Pi / 2) * Delta) - (Pi / 2)) + 1
5220
end,
5221
[Enum.EasingDirection.Out] = function(Delta)
5222
return Sin((Pi / 2) * Delta)
5223
end,
5224
[Enum.EasingDirection.InOut] = function(Delta)
5225
return (0.5 * Sin((Pi * Delta) - (Pi / 2))) + 0.5
5226
end
5227
},
5228
[Enum.EasingStyle.Exponential] = {
5229
[Enum.EasingDirection.In] = function(Delta)
5230
return (2 ^ ((10 * Delta) - 10)) - 0.001
5231
end,
5232
[Enum.EasingDirection.Out] = function(Delta)
5233
return 1.001 * (-2 ^ -(10 * Delta)) + 1
5234
end,
5235
[Enum.EasingDirection.InOut] = function(Delta)
5236
if 0 <= Delta and Delta <= 0.5 then
5237
return 0.5 * (2 ^ ((20 * Delta) - 10)) - 0.0005
5238
elseif 0.5 <= Delta and Delta <= 1 then
5239
return 0.50025 * (-2 ^ (-(20 * Delta) + 10)) + 1
5240
end
5241
end
5242
},
5243
[Enum.EasingStyle.Back] = {
5244
[Enum.EasingDirection.In] = function(Delta)
5245
return (Delta * Delta) * (Delta * (1.70158 + 1) - 1.70158)
5246
end,
5247
[Enum.EasingDirection.Out] = function(Delta)
5248
return ((Delta - 1) ^ 2) * ((Delta - 1) * (1.70158 + 1) + 1.70158) + 1
5249
end,
5250
[Enum.EasingDirection.InOut] = function(Delta)
5251
if 0 <= Delta and Delta <= 0.5 then
5252
return (2 * (Delta * Delta)) * ((2 * Delta) * (2.5949095 + 1) - 2.5949095)
5253
elseif 0.5 <= Delta and Delta <= 1 then
5254
return (0.5 * ((2 * Delta) - 2) ^ 2) * (((2 * Delta) - 2) * (2.5949095 + 1) + 2.5949095) + 1
5255
end
5256
end
5257
},
5258
[Enum.EasingStyle.Bounce] = {
5259
[Enum.EasingDirection.In] = function(Delta)
5260
if 0 <= Delta and Delta <= (1 / 2.75) then
5261
return 7.5625 * (Delta * Delta)
5262
elseif (1 / 2.75) <= Delta and Delta <= (2 / 2.75) then
5263
return 7.5625 * (Delta - (1.5 / 2.75)) ^ 2 + 0.75
5264
elseif (2 / 2.75) <= Delta and Delta <= (2.5 / 2.75) then
5265
return 7.5625 * (Delta - (2.25 / 2.75)) ^ 2 + 0.9375
5266
elseif (2.5 / 2.75) <= Delta and Delta <= 1 then
5267
return 7.5625 * (Delta - (2.625 / 2.75)) ^ 2 + 0.984375
5268
end
5269
end,
5270
[Enum.EasingDirection.Out] = function(Delta)
5271
if 0 <= Delta and Delta <= (0.25 / 2.75) then
5272
return -7.5625 * (1 - Delta - (2.625 / 2.75)) ^ 2 + 0.015625
5273
elseif (0.25 / 2.75) <= Delta and Delta <= (0.75 / 2.75) then
5274
return -7.5625 * (1 - Delta - (2.25 / 2.75)) ^ 2 + 0.0625
5275
elseif (0.75 / 2.75) <= Delta and Delta <= (1.75 / 2.75) then
5276
return -7.5625 * (1 - Delta - (1.5 / 2.75)) ^ 2 + 0.25
5277
elseif (1.75 / 2.75) <= Delta and Delta <= 1 then
5278
return 1 - 7.5625 * (1 - Delta) ^ 2
5279
end
5280
end,
5281
[Enum.EasingDirection.InOut] = function(Delta)
5282
if 0 <= Delta and Delta <= (0.125 / 2.75) then
5283
return 0.5 * (-7.5625 * (1 - (2 * Delta) - (2.625 / 2.75)) ^ 2 + 0.015625)
5284
elseif (0.125 / 2.75) <= Delta and Delta <= (0.375 / 2.75) then
5285
return 0.5 * (-7.5625 * (1 - (2 * Delta) - (2.25 / 2.75)) ^ 2 + 0.0625)
5286
elseif (0.375 / 2.75) <= Delta and Delta <= (0.875 / 2.75) then
5287
return 0.5 * (-7.5625 * (1 - (2 * Delta) - (1.5 / 2.75)) ^ 2 + 0.25)
5288
elseif (0.875 / 2.75) <= Delta and Delta <= 0.5 then
5289
return 0.5 * (1 - 7.5625 * (1 - (2 * Delta)) ^ 2)
5290
elseif 0.5 <= Delta and Delta <= (1.875 / 2.75) then
5291
return 0.5 + 3.78125 * ((2 * Delta) - 1) ^ 2
5292
elseif (1.875 / 2.75) <= Delta and Delta <= (2.375 / 2.75) then
5293
return 3.78125 * ((2 * Delta) - (4.25 / 2.75)) ^ 2 + 0.875
5294
elseif (2.375 / 2.75) <= Delta and Delta <= (2.625 / 2.75) then
5295
return 3.78125 * ((2 * Delta) - (5 / 2.75)) ^ 2 + 0.96875
5296
elseif (2.625 / 2.75) <= Delta and Delta <= 1 then
5297
return 3.78125 * ((2 * Delta) - (5.375 / 2.75)) ^ 2 + 0.9921875
5298
end
5299
end
5300
},
5301
[Enum.EasingStyle.Elastic] = {
5302
[Enum.EasingDirection.In] = function(Delta)
5303
return (-2 ^ (10 * (Delta - 1))) * Sin(((2 * Pi) * (Delta - 1 - (0.3 / 4))) / 0.3)
5304
end,
5305
[Enum.EasingDirection.Out] = function(Delta)
5306
return (2 ^ (-10 * Delta)) * Sin(((2 * Pi) * (Delta - (0.3 / 4))) / 0.3) + 1
5307
end,
5308
[Enum.EasingDirection.InOut] = function(Delta)
5309
if 0 <= Delta and Delta <= 0.5 then
5310
return -0.5 * (2 ^ ((20 * Delta) - 10)) * Sin(((2 * Pi) * ((2 * Delta) - 1.1125)) / 0.45)
5311
elseif 0.5 <= Delta and Delta <= 1 then
5312
return 0.5 * (2 ^ ((-20 * Delta) + 10)) * Sin(((2 * Pi) * ((2 * Delta) - 1.1125)) / 0.45) + 1
5313
end
5314
end
5315
},
5316
[Enum.EasingStyle.Circular] = {
5317
[Enum.EasingDirection.In] = function(Delta)
5318
return -Sqrt(1 - Delta ^ 2) + 1
5319
end,
5320
[Enum.EasingDirection.Out] = function(Delta)
5321
return Sqrt(-(Delta - 1) ^ 2 + 1)
5322
end,
5323
[Enum.EasingDirection.InOut] = function(Delta)
5324
if 0 <= Delta and Delta <= 0.5 then
5325
return -Sqrt(-Delta ^ 2 + 0.25) + 0.5
5326
elseif 0.5 <= Delta and Delta <= 1 then
5327
return Sqrt(-(Delta - 1) ^ 2 + 0.25) + 0.5
5328
end
5329
end
5330
}
5331
}
5332
end
5333
end
5334
end
5335
--
5336
local crosshair_lineOffsets = utility:generateAngles(4);
5337
local Window = Library:Window({Size = UDim2.new(0,580,0,600)}) do
5338
-- // Rage
5339
local aiming = Window:Page({Name = "Rage", Weapons = true}) do
5340
local Settings = aiming:Weapon({Icon = "rbxassetid://6031280882"})
5341
local Visuals = aiming:Weapon({Icon = "rbxassetid://7300480952"})
5342
--
5343
local mainTarget = Settings:Section({Name = "Main", Size = 330}) do
5344
mainTarget:Toggle({Name = "Enabled", Flag = "Silent Enabled", Risk = true})
5345
mainTarget:Keybind({Name = "Key", Flag = "Silent_Bind", Mode = "Toggle", callback = function()
5346
framework:selectTarget();
5347
bodyClone:SetPrimaryPartCFrame(NewCFrame(9959,9999,9990))
5348
end})
5349
end
5350
--
5351
local targetSettings = Settings:Section({Name = "Settings", Size = 330}) do
5352
targetSettings:Toggle({Name = "Look At", Flag = "Look At"})
5353
targetSettings:Toggle({Name = "Auto Shoot", Flag = "Auto Shoot"})
5354
targetSettings:Toggle({Name = "Spectate", Flag = "Spectate"})
5355
targetSettings:Toggle({Name = "Notify", Flag = "Notify"})
5356
targetSettings:Toggle({Name = "Aim Viewer Bypass", Flag = "Aim Viewer Bypass"})
5357
end
5358
--
5359
local targetMethods = Settings:Section({Name = "Methods", Size = 330}) do
5360
targetMethods:Toggle({Name = "Resolver", Flag = "Resolver"})
5361
targetMethods:Dropdown({Name = "Resolver Method", Flag = "Resolver Method", Options = {"Recalculate Velocity", "Suppress Velocity", "Move Direction"}, Default = "Recalculate Velocity"})
5362
end
5363
--
5364
local targetPrediction = Settings:Section({Name = "Prediction", Size = 330, Side = "Right"}) do
5365
targetPrediction:Toggle({Name = "Auto Prediction", Flag = "Auto Prediction"})
5366
targetPrediction:Textbox({Name = "Prediction", Flag = "Manual Prediction Value", Placeholder = "Prediction"})
5367
targetPrediction:Dropdown({Name = "Hit-Part", Flag = "Single Hit Part", Options = utility.bodyParts, Default = "HumanoidRootPart"})
5368
targetPrediction:Toggle({Name = "Nearest Part", Flag = "Nearest Part"})
5369
targetPrediction:Dropdown({Name = "Closest Hit Part", Flag = "Closest Hit Part", Options = utility.bodyParts, Default = {"HumanoidRootPart"}, Max = 9e9})
5370
targetPrediction:Toggle({Name = "Jump Prediction", Flag = "Jump Prediction"})
5371
targetPrediction:Textbox({Name = "Jump Prediction", Flag = "Manual Offset Value", Placeholder = "Jump Offset"})
5372
targetPrediction:Dropdown({Name = "Air Hit-Part", Flag = "Air Hit Part", Options = utility.bodyParts, Default = "RightFoot"})
5373
end
5374
--
5375
local targetChecks = Settings:Section({Name = "Checks", Size = 330, Side = "Right"}) do
5376
targetChecks:Dropdown({Name = "Checks", Flag = "Silent Checks", Options = {"Knocked Check", "Wall Check", "Friend Check", "Grabbed Check"}, Max = 9e9})
5377
end
5378
--
5379
local targetAutoSelect = Settings:Section({Name = "Auto Select", Size = 330, Side = "Right"}) do
5380
targetAutoSelect:Toggle({Name = "Enabled", Flag = "Target Auto Select"})
5381
targetAutoSelect:Slider({Name = "Delay", Suffix = "ms", Flag = 'Auto Select Delay', Min = 0, Max = 1000, Default = 100, Decimals = 1})
5382
end
5383
--
5384
local targetStrafe = Settings:Section({Name = "Target Strafe", Size = 330, Side = "Left"}) do
5385
targetStrafe:Toggle({Name = "Enabled", Flag = "Target Strafe Enabled", Risk = true})
5386
targetStrafe:Slider({Name = "Radius", Flag = 'Target Strafe Distance', Min = -15, Max = 15, Default = 10, Decimals = 1})
5387
targetStrafe:Slider({Name = "Speed", Flag = 'Target Strafe Speed', Min = -15, Max = 15, Default = 10, Decimals = 1})
5388
targetStrafe:Slider({Name = "Height", Flag = 'Target Strafe Height', Min = -15, Max = 15, Default = 0, Decimals = 1})
5389
end
5390
--
5391
local targetVisuals = Visuals:Section({Name = "Visuals", Size = 330, Side = "Left"}) do
5392
local line1 = targetVisuals:Toggle({Name = "Line", Flag = "Line Enabled"})
5393
line1:Colorpicker({Default = Color3.fromRGB(255,0,0), Flag = "Line Settings"});
5394
targetVisuals:Slider({Name = "Thickness", Flag = 'Line Thickness', Min = 0, Max = 2, Default = 1, Decimals = 0.01, Callback = function(Int)
5395
utility.drawings["Tracer"].Thickness = Int
5396
end})
5397
local highlight = targetVisuals:Toggle({Name = "Highlight", Flag = "Highlight Enabled"})
5398
highlight:Colorpicker({Default = Color3.fromRGB(0,255,0), Alpha = 0.5, Flag = "Highlight Fill Color"});
5399
highlight:Colorpicker({Default = Color3.fromRGB(0,125,0), Flag = "Highlight Outline Color"});
5400
local backtrack = targetVisuals:Toggle({Name = "Backtrack", Flag = "Back Track Enabled"})
5401
backtrack:Colorpicker({Default = Color3.fromRGB(255, 0, 0), alpha = 0.65, Flag = "Back Track Settings"});
5402
targetVisuals:Dropdown({Name = "Method", Flag = "Back Track Method", Options = {"Clone", "Follow"}, Default = "Follow"})
5403
targetVisuals:Dropdown({Name = "Material", Flag = "Back Track Material", Options = {"Neon", "Plastic", "ForceField"}, Default = "Neon"})
5404
targetVisuals:Slider({Name = "Delay", Flag = 'Back Track Delay', Min = 0, Max = 1, Default = 1, Decimals = 0.05})
5405
targetVisuals:Toggle({Name = "Target Esp", Flag = "Target Esp"})
5406
end
5407
end
5408
-- // Legit
5409
local legit = Window:Page({Name = "Legit"}) do
5410
local Vertical;
5411
local Horizontal;
5412
local Smoothness;
5413
--
5414
local aimAssist = legit:Section({Name = "Aim Assist", Size = 330}) do
5415
aimAssist:Toggle({Name = "Enabled", Flag = "Aim Assist"}):Keybind({Name = "Aim Assist", Flag = "Aim Assist Bind", Mode = "Toggle", Callback = function()
5416
aimAssistTarget = utility.target or utility:getClosestPlayerToCursor(math.huge)
5417
end}) -- portal is a fuckin g
5418
local Vertical = aimAssist:Slider({Name = "Horizontal Smoothness", Flag = "Horizontal Smoothness", Min = 0, Max = 100, Default = 20, Decimals = 1})
5419
Vertical:SetVisible(false)
5420
local Horizontal = aimAssist:Slider({Name = "Vertical Smoothness", Flag = 'Vertical Smoothness', Min = 0, Max = 100, Default = 20, Decimals = 1})
5421
Horizontal:SetVisible(false)
5422
local Smoothness = aimAssist:Slider({Name = "Smoothness", Flag = 'Smoothness', Min = 0, Max = 100, Default = 50, Decimals = 1})
5423
aimAssist:Dropdown({Name = "Method", Flag = "Aim Assist Method", Options = {"Use Mouse", "Use Camera"}, Default = "Use Camera", Callback = function(Option)
5424
if Option == "Use Mouse" then
5425
Vertical:SetVisible(true)
5426
Horizontal:SetVisible(true)
5427
Smoothness:SetVisible(false)
5428
else
5429
Vertical:SetVisible(false)
5430
Horizontal:SetVisible(false)
5431
Smoothness:SetVisible(true)
5432
end
5433
end})
5434
end
5435
--
5436
local aimAssist_Settings = legit:Section({Name = "Settings", Size = 330}) do
5437
aimAssist_Settings:Dropdown({Name = "Hit-Part", Flag = "Aim Assist Single Hit Part", Options = utility.bodyParts, Default = "HumanoidRootPart"})
5438
aimAssist_Settings:Toggle({Name = "Jump Prediction", Flag = "Aim Assist Jump Prediction"})
5439
aimAssist_Settings:Textbox({Name = "Prediction", Flag = "Aim Assist Manual Prediction Value", Placeholder = "Prediction"})
5440
aimAssist_Settings:Textbox({Name = "Jump Offset", Flag = "Aim Assist Manual Offset Value", Placeholder = "Jump Offset"})
5441
end
5442
--
5443
local aimAssistFov = legit:Section({Name = "Field Of View", Size = 330}) do
5444
aimAssistFov:Toggle({Name = "Enabled", Flag = "Aim Assist Field Of View", Callback = function(Bool)
5445
utility.drawings["Aim Assist FOV"].Visible = Bool
5446
end}):Colorpicker({Default = Color3.fromRGB(255, 0, 0), alpha = 0.65, Flag = "Field Of View Color", Callback = function()
5447
utility.drawings["Aim Assist FOV"].Color = flags["Field Of View Color"].Color
5448
utility.drawings["Aim Assist FOV"].Transparency = 1 - flags["Field Of View Color"].Transparency
5449
end});
5450
aimAssistFov:Slider({Name = "Radius", Flag = 'Aim Assist Field Of View Radius', Min = 0.1, Max = 500, Default = 50, Decimals = 0.1, Callback = function(Int)
5451
utility.drawings["Aim Assist FOV"].Radius = Int
5452
end})
5453
aimAssistFov:Toggle({Name = "Enabled", Flag = "Aim Assist Field Of View Filled", Callback = function(Bool)
5454
utility.drawings["Aim Assist FOV"].Filled = Bool
5455
end})
5456
aimAssistFov:Slider({Name = "Thickness", Flag = 'Aim Assist Field Of View Thickness', Min = 0.1, Max = 3, Default = 1, Decimals = 0.01, Callback = function(Int)
5457
utility.drawings["Aim Assist FOV"].Thickness = Int
5458
end})
5459
end
5460
--
5461
local aimAssistChecks = legit:Section({Name = "Checks", Size = 330}) do
5462
aimAssistChecks:Dropdown({Name = "Checks", Flag = "Aim Assist Checks", Options = {"Knocked Check", "Wall Check", "Friend Check", "Grabbed Check"}, Max = 9e9})
5463
end
5464
end
5465
-- // Esp
5466
local esp = Window:Page({Name = "Visuals", Weapons = true}) do
5467
local ESP = esp:Weapon({Icon = "rbxassetid://6034281935"})
5468
local World = esp:Weapon({Icon = "rbxassetid://16997762295"})
5469
--
5470
local playerEsp = ESP:Section({Name = "Player Esp", Size = 330, Side = "Left"}) do
5471
playerEsp:Toggle({Name = "Enabled", Flag = "PlayerESP_Enabled", Callback = function(Bool)
5472
if Bool then
5473
for i,v in next, Players:GetPlayers() do
5474
if v ~= LocalPlayer and not Visuals.Bases[v] then
5475
Visuals:Create({Player = v})
5476
end
5477
end
5478
else
5479
Visuals:Unload()
5480
end
5481
end})
5482
playerEsp:Slider({Name = "Distance", Flag = 'ESP Distance', Min = 0, Max = 5000, Default = 5000, Decimals = 5})
5483
local box = playerEsp:Toggle({Name = "Boxes", Flag = "PlayerESP_Box"})
5484
box:Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "PlayerESP_Box_Color1"});
5485
box:Colorpicker({Default = Color3.fromRGB(0, 0, 0), Flag = "PlayerESP_Box_Color2"});
5486
playerEsp:Toggle({Name = "Box-Fill", Flag = "PlayerESP_BoxFill"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Transparency = 0.7, Flag = "PlayerESP_BoxFill_Color"});
5487
playerEsp:Dropdown({Name = "Box Type", Flag = "PlayerESP_Box_Type", Options = {"Bounding", "Corner"}, Default = "Bounding"})
5488
playerEsp:Toggle({Name = "Name", Flag = "PlayerESP_Name"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "PlayerESP_Name_Color"});
5489
playerEsp:Toggle({Name = "Weapons", Flag = "PlayerESP_Weapon"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "PlayerESP_Weapon_Color"});
5490
playerEsp:Toggle({Name = "Flags", Flag = "PlayerESP_Flags"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "PlayerESP_FlagsColor"});
5491
playerEsp:Dropdown({Name = "Flags", Flag = "PlayerESP_Flag_Options", Options = {"Distance", "Knocked"}, Max = 9e9})
5492
playerEsp:Toggle({Name = "Gun Icons", Flag = "PlayerESP_GunIcons"})
5493
local highlight = playerEsp:Toggle({Name = "Chams", Flag = "PlayerESP_Highlights"})
5494
highlight:Colorpicker({Default = Color3.fromHex("#7D0DC3"), Transparency = 0.7, Flag = "PlayerESP_HighlightFillSettings"});
5495
highlight:Colorpicker({Default = Color3.new(0,0,0), Flag = "PlayerESP_HighlightOutlineSettings"});
5496
end
5497
--
5498
local Properties = ESP:Section({Name = "Properties", Size = 330, Side = "Left"})
5499
local health = Properties:Toggle({Name = "Health Bar", Flag = "PlayerESP_HealthBar"})
5500
health:Colorpicker({Default = Color3.fromRGB(0,255,0), Flag = "PlayerESP_HealthBar_Color_Higher"});
5501
health:Colorpicker({Default = Color3.fromRGB(255,0,0), Flag = "PlayerESP_HealthBar_Color_Low"});
5502
Properties:Toggle({Name = "Health Number", Flag = "PlayerESP_HealthNumber"})
5503
Properties:Toggle({Name = "Armor Bar", Flag = "PlayerESP_ArmorBar"}):Colorpicker({Default = Color3.fromRGB(0,0,255), Flag = "PlayerESP_ArmorBarColor"});
5504
--
5505
local selfEsp = ESP:Section({Name = "Self Esp", Size = 330, Side = "Right"}) do
5506
selfEsp:Toggle({Name = "Enabled", Flag = "Self_PlayerESP_Enabled", Callback = function(Bool)
5507
if Bool then
5508
Visuals:Create({Player = LocalPlayer})
5509
else
5510
Visuals.Bases[LocalPlayer]:Remove()
5511
end
5512
end})
5513
selfEsp:Slider({Name = "Distance", Flag = 'Self_ESP Distance', Min = 0, Max = 5000, Default = 5000, Decimals = 5})
5514
local box = selfEsp:Toggle({Name = "Boxes", Flag = "Self_PlayerESP_Box"})
5515
selfEsp:Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Self_PlayerESP_Box_Color1"});
5516
selfEsp:Colorpicker({Default = Color3.fromRGB(0, 0, 0), Flag = "Self_PlayerESP_Box_Color2"});
5517
selfEsp:Toggle({Name = "Box-Fill", Flag = "Self_PlayerESP_BoxFill"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Transparency = 0.7, Flag = "Self_PlayerESP_BoxFill_Color"});
5518
selfEsp:Toggle({Name = "Name", Flag = "Self_PlayerESP_Name"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Self_PlayerESP_Name_Color"});
5519
selfEsp:Toggle({Name = "Weapons", Flag = "Self_PlayerESP_Weapon"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Self_PlayerESP_Weapon_Color"});
5520
selfEsp:Toggle({Name = "Flags", Flag = "Self_PlayerESP_Flags"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Self_PlayerESP_FlagsColor"});
5521
selfEsp:Dropdown({Name = "Flags", Flag = "Self_PlayerESP_Flag_Options", Options = {"Distance", "Knocked"}, Max = 9e9})
5522
selfEsp:Toggle({Name = "Gun Icons", Flag = "Self_PlayerESP_GunIcons"})
5523
local highlight = selfEsp:Toggle({Name = "Chams", Flag = "Self_PlayerESP_Highlights"})
5524
highlight:Colorpicker({Default = Color3.fromHex("#7D0DC3"), Transparency = 0.7, Flag = "Self_PlayerESP_HighlightFillSettings"});
5525
highlight:Colorpicker({Default = Color3.new(0,0,0), Flag = "Self_PlayerESP_HighlightOutlineSettings"});
5526
end
5527
--
5528
local selfEspProperties = ESP:Section({Name = "Properties", Size = 330, Side = "Right"}) do
5529
local health = selfEspProperties:Toggle({Name = "Health Bar", Flag = "Self_PlayerESP_HealthBar"})
5530
health:Colorpicker({Default = Color3.fromRGB(0,255,0), Flag = "Self_PlayerESP_HealthBar_Color_Higher"});
5531
health:Colorpicker({Default = Color3.fromRGB(255,0,0), Flag = "Self_PlayerESP_HealthBar_Color_Low"});
5532
selfEspProperties:Toggle({Name = "Health Number", Flag = "Self_PlayerESP_HealthNumber"})
5533
selfEspProperties:Toggle({Name = "Armor Bar", Flag = "Self_PlayerESP_ArmorBar"}):Colorpicker({Default = Color3.fromRGB(0,0,255), Flag = "Self_PlayerESP_ArmorBarColor"});
5534
end
5535
-- seperate here
5536
local worldVisuals = World:Section({Name = "Lighting", Size = 330, Side = "Left"}) do
5537
worldVisuals:Toggle({Name = "Master Switch", Flag = "Master Switch", Callback = function()
5538
for i,v in pairs(Lighting_Save) do
5539
Lighting[i] = v
5540
end
5541
end})
5542
worldVisuals:Toggle({Name = "Clock Time", Flag = "Clock Time Enabled"})
5543
worldVisuals:Slider({Name = "Clock Time", Flag = 'Clock Time', Min = 0, Max = 24, Default = 12, Decimals = 0.1})
5544
worldVisuals:Toggle({Name = "Color Shift Bottom", Flag = "Color Shift Bottom"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Color Shift Bottom Color"});
5545
worldVisuals:Toggle({Name = "Ambient", Flag = "Ambient"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Ambience Color"});
5546
worldVisuals:Toggle({Name = "Outdoor Ambience", Flag = "Outdoor Ambience"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Outdoor Ambience color"});
5547
worldVisuals:Toggle({Name = "Brightness", Flag = "Brightness Enabled"})
5548
worldVisuals:Slider({Name = "Brightness", Flag = 'Brightness', Min = 0, Max = 20, Default = 3, Decimals = 1})
5549
worldVisuals:Toggle({Name = "Color Shift Top", Flag = "Color Shift Top"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Color Shift Top Color"});
5550
worldVisuals:Toggle({Name = "Fog", Flag = "Fog"}):Colorpicker({Default = Color3.fromRGB(255, 255, 255), Flag = "Fog Color"});
5551
end
5552
--
5553
local bulletTracers = World:Section({Name = "Bullet Modification", Size = 330, Side = "Left"}) do
5554
bulletTracers:Toggle({Name = "Bullet Tracers", Flag = "Bullet Tracers"}):Colorpicker({Default = Color3.new(1,1,1), Flag = "Bullet Tracers Color"});
5555
bulletTracers:Slider({Name = "Lifetime", Flag = 'Tracers Life Time', Min = 0, Max = 10, Default = 2, Decimals = 0.1})
5556
bulletTracers:Toggle({Name = "Face Camera", Flag = "Face Camera", Default = true})
5557
bulletTracers:Slider({Name = "Brightness", Flag = 'Bullet Brightness', Min = 0, Max = 20, Default = 6, Decimals = 1})
5558
bulletTracers:Slider({Name = "Speed", Flag = 'Bullet Speed', Min = 0, Max = 20, Default = 3, Decimals = 0.01})
5559
bulletTracers:Slider({Name = "Size", Flag = 'Bullet Size', Min = 1, Max = 20, Default = 1, Decimals = 0.01})
5560
bulletTracers:Toggle({Name = "Bullet Impacts", Flag = "Bullet Impacts"}):Colorpicker({Default = Color3.new(1,1,1), Alpha = 0, Flag = "Bullet Impacts Color"});
5561
bulletTracers:Slider({Name = "Size", Flag = 'Impact Size', Min = 0.01, Max = 5, Default = 0.25, Decimals = 0.01})
5562
end
5563
--
5564
local crosshairSection = World:Section({Name = "Crosshair", Size = 330, Side = "Right"}) do
5565
crosshairSection:Toggle({Name = "Crosshair", Flag = "Crosshair", Callback = function()
5566
for i = 1, #crosshair_Lines do
5567
crosshair_Lines[i].Visible = false;
5568
end
5569
--
5570
for i = 1, #crosshair_Outlines do
5571
crosshair_Outlines[i].Visible = false;
5572
end
5573
end}):Colorpicker({Default = Color3.fromRGB(255,255,255), Flag = "Crosshair Color", Callback = function()
5574
for i = 1, #crosshair_Lines do
5575
crosshair_Lines[i].Color = flags["Crosshair Color"].Color;
5576
crosshair_Lines[i].Transparency = flags["Crosshair Color"].Transparency;
5577
end
5578
end});
5579
crosshairSection:Toggle({Name = "Always Rotating", Flag = "Crosshair Always Rotating"})
5580
crosshairSection:Slider({Name = "Speed", Flag = 'Crosshair Speed', Min = 0, Max = 24, Default = 12, Decimals = 0.1})
5581
crosshairSection:Slider({Name = "Gap Size", Flag = 'Crosshair Gap Size', Min = 0, Max = 30, Default = 12, Decimals = 1})
5582
crosshairSection:Slider({Name = "Length", Flag = 'Crosshair Length', Min = 0, Max = 30, Default = 12, Decimals = 1})
5583
crosshairSection:Slider({Name = "Thickness", Flag = 'Crosshair Thickness', Min = 0.1, Max = 5, Default = 1.5, Decimals = 0.1, Callback = function(Int)
5584
for i = 1, #crosshair_Lines do
5585
crosshair_Lines[i].Thickness = Int;
5586
crosshair_Outlines[i].Thickness = Int;
5587
end
5588
end})
5589
crosshairSection:Slider({Name = "Sides", Flag = 'Crosshair Sides', Min = 1, Max = 10, Default = 4, Decimals = 1, callback = function(Int)
5590
crosshair_LineAmount = Int
5591
--
5592
crosshair_lineOffsets = utility:generateAngles(Int)
5593
--
5594
for i = 1, #crosshair_Lines do
5595
crosshair_Lines[i]:Remove();
5596
crosshair_Lines[i] = nil;
5597
end
5598
--
5599
for i = 1, #crosshair_Outlines do
5600
crosshair_Outlines[i]:Remove();
5601
crosshair_Outlines[i] = nil;
5602
end
5603
--
5604
do
5605
for Index = 1, Int do
5606
local line = utility:drawObject("Line",{
5607
Visible = false,
5608
Color = flags["Crosshair Color"].Color,
5609
Thickness = flags["Crosshair Thickness"],
5610
ZIndex = 2,
5611
Transparency = 1
5612
})
5613
--
5614
crosshair_Lines[Index] = line
5615
--
5616
local line_1 = utility:drawObject("Line",{
5617
Visible = false,
5618
Color = Color3.fromRGB(0, 0, 0),
5619
Thickness = flags["Crosshair Thickness"] * 2.5,
5620
ZIndex = 1,
5621
Transparency = 1
5622
})
5623
--
5624
crosshair_Outlines[Index] = line_1
5625
end
5626
end
5627
end})
5628
crosshairSection:Dropdown({Name = "Sizing Easing Style", Flag = "Crosshair Sizing Easing Style", Options = {"Off", "Linear", "Cubic", "Quad", "Quart", "Quint", "Sine", "Exponential", "Back", "Bounce", "Elastic", "Circular"}, Default = "Off"})
5629
crosshairSection:Dropdown({Name = "Speed Easing Style", Flag = "Crosshair Speed Easing Style", Options = {"Off", "Linear", "Cubic", "Quad", "Quart", "Quint", "Sine", "Exponential", "Back", "Bounce", "Elastic", "Circular"}, Default = "Off"})
5630
crosshairSection:Toggle({Name = "Show Text", Flag = "Script Name", Callback = function(Bool)
5631
local sub = utility.drawings["Sub"]
5632
local domain = utility.drawings["Domain"]
5633
--
5634
sub.Visible = Bool
5635
domain.Visible = Bool
5636
end})
5637
crosshairSection:Toggle({Name = "Pulse", Flag = "Pulse"})
5638
crosshairSection:Toggle({Name = "Attach to target", Flag = "Attach to target"})
5639
end
5640
--
5641
local ingameCrosshair = World:Section({Name = "In-Game Crosshair", Size = 330, Side = "Right"}) do
5642
ingameCrosshair:Toggle({Name = "Spinning", Flag = "In-Game Crosshair Spin", Callback = function()
5643
game:GetService("Players").LocalPlayer.PlayerGui.MainScreenGui.Aim.Rotation = 0
5644
end})
5645
ingameCrosshair:Slider({Name = "Speed", Flag = 'In-Game Crosshair Spin Speed', Min = 0, Max = 30, Default = 1, Decimals = 1})
5646
ingameCrosshair:Toggle({Name = "Dont Show", Flag = "In-Game Crosshair Invisible"})
5647
end
5648
end
5649
-- // Visuals
5650
local misc = Window:Page({Name = "Misc", Weapons = true}) do
5651
local Movement = misc:Weapon({Icon = "rbxassetid://6034509993"})
5652
local Exploits = misc:Weapon({Icon = "rbxassetid://16997954488"})
5653
local movementSection = Movement:Section({Name = "General", Size = 330}) do
5654
movementSection:Toggle({Name = "Speed", Flag = "Speed Enabled"}):Keybind({Name = "Speed", Flag = "Speed Key", Mode = "Toggle", Callback = function()
5655
if Chatting then return end
5656
end})
5657
movementSection:Slider({Name = "Speed", Flag = 'Speed', Min = 0, Max = 100, Default = 20, Decimals = 1})
5658
movementSection:Toggle({Name = "Fly", Flag = "Fly Enabled"}):Keybind({Name = "Fly", Flag = "Fly Key", Mode = "Toggle", Callback = function()
5659
if Chatting then return end
5660
LocalPlayer.Character.HumanoidRootPart.Anchored = false;
5661
end})
5662
movementSection:Slider({Name = "Fly", Flag = 'Fly Speed', Min = 0, Max = 100, Default = 20, Decimals = 1})
5663
end
5664
--
5665
local hitEffects = Movement:Section({Name = "Hit Effects", Size = 330, Side = "Right"}) do
5666
hitEffects:Toggle({Name = "Hit Marker", Flag = "Hit Marker"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Flag = "Hit Marker Settings"});
5667
hitEffects:Toggle({Name = "3D Hit Marker", Flag = "3D Hit Marker"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Flag = "3D Hit Marker Settings"});
5668
hitEffects:Slider({Name = "Fading Time", Flag = 'Hit Markers Time', Min = 0.1, Max = 10.0, Default = 5.0, Decimals = 0.1})
5669
hitEffects:Toggle({Name = "Hit Sounds", Flag = "Hit Sounds"})
5670
hitEffects:Dropdown({Name = "Hit Sounds", Flag = "Hit Sounds Sound", Options = sfx_names, Default = "Neverlose"})
5671
hitEffects:Slider({Name = "Volume", Flag = 'Hit Sounds Volume', Min = 0.1, Max = 10.0, Default = 5.0, Decimals = 0.1})
5672
hitEffects:Slider({Name = "Pitch", Flag = 'Hit Sounds Pitch', Min = 0.1, Max = 10.0, Default = 1.0, Decimals = 0.1})
5673
hitEffects:Toggle({Name = "Hit Effects", Flag = "Hit Effects"}):Colorpicker({Default = Color3.fromRGB(255,255,255), Flag = "Hit Effect Settings"});
5674
hitEffects:Dropdown({Name = "Hit Effects", Flag = "Hit Effects Option", Options = {"Confetti", "Nova", "Sparkle"}, Default = "Confetti"})
5675
hitEffects:Toggle({Name = "Hit Chams", Flag = "Hit Chams"}):Colorpicker({Default = Color3.fromRGB(255, 0, 0), Transparency = 0.8, Flag = "Hit Chams Settings"});
5676
hitEffects:Dropdown({Name = "Material", Flag = "Hit Chams Material", Options = {"ForceField", "Neon", "Plastic"}, Default = "Neon"})
5677
hitEffects:Slider({Name = "Fading Time", Flag = 'Hit Chams Fading Time', Min = 0.1, Max = 10.0, Default = 5.0, Decimals = 0.1})
5678
hitEffects:Toggle({Name = "Hit-Logs", Flag = "Hit Notify"})
5679
end
5680
--
5681
local chatSpam = Movement:Section({Name = "Chat Spam", Size = 330, Side = "Left"}) do
5682
chatSpam:Toggle({Name = "Enabled", Flag = "Chat Spam"})
5683
chatSpam:Dropdown({Name = "Type", Flag = "Chat Spam Type", Options = {"Lunar", "Scottish"}, Default = "Lunar"})
5684
chatSpam:Slider({Name = "Delay", Flag = 'Chat Spam Delay', Suffix = "s", Min = 0.1, Max = 10.0, Default = 5.0, Decimals = 0.1})
5685
chatSpam:Toggle({Name = "Emojis", Flag = "Emojis"})
5686
chatSpam:Toggle({Name = "Symbols", Flag = "Symbol"})
5687
chatSpam:Toggle({Name = "Repeat", Flag = "Repeat"})
5688
end
5689
--
5690
local characterMods = Movement:Section({Name = "Character", Size = 330, Side = "Left"}) do
5691
characterMods:Toggle({Name = "Remove Chairs", Flag = "Remove Chairs", Callback = function(Bool)
5692
for i,v in pairs(Workspace:GetDescendants()) do
5693
if v:IsA("Seat") then
5694
v.Disabled = Bool
5695
end
5696
end
5697
end})
5698
characterMods:Toggle({Name = "No Slow", Flag = "No Slow"})
5699
characterMods:Toggle({Name = "Auto Reload", Flag = "Auto Reload"})
5700
characterMods:Toggle({Name = "Auto Armor", Flag = "Auto Armor"})
5701
characterMods:Toggle({Name = "Anti Void Kill", Flag = "Anti Void Kill", Callback = function(Bool)
5702
Workspace.FallenPartsDestroyHeight = Bool and -50000 or -500
5703
end})
5704
end
5705
--
5706
local cframeDesync = Exploits:Section({Name = "Desync", Size = 330, Side = "Left"}) do
5707
local customSliders, strafeSliders, randomSliders = {}, {}, {}
5708
cframeDesync:Toggle({Name = "Enabled", Flag = "Desync"}):Keybind({Name = "Desync Key", Flag = "Desync Key", Mode = "Toggle", Callback = function()
5709
if flags["Desync Key"] == false and C_Desync["OldPosition"] then
5710
LocalPlayer.Character.HumanoidRootPart.CFrame = C_Desync["OldPosition"]
5711
C_Desync["OldPosition"] = nil
5712
end
5713
end})
5714
local Vis = cframeDesync:Toggle({Name = "Visualize", Flag = "Desync Visualize"}); Vis:Colorpicker({Default = Color3.fromRGB(0,0,0), Flag = "Desync Visualize Outline", Alpha = 0}); Vis:Colorpicker({Default = Color3.fromHex("#7D0DC3"), Flag = "Desync Visualize Fill", Alpha = 0.7});
5715
cframeDesync:Toggle({Name = "Attach onto target", Flag = "Attach Target"});
5716
cframeDesync:Dropdown({Name = "Type", Flag = "Desync Type", Options = {"Custom", "Random", "Target Strafe", "Roll"}, Default = "Target Strafe", Callback = function(Option)
5717
if #customSliders ~= 0 then
5718
for _,v in pairs(customSliders) do v:SetVisible(Option == "Custom" and true or false) end; for _,v in pairs(strafeSliders) do v:SetVisible(Option == "Target Strafe" and true or false) end; for _,v in pairs(randomSliders) do v:SetVisible(Option == "Random" and true or false) end
5719
end
5720
end})
5721
-- // Dropdown Sliders
5722
do
5723
local _ = cframeDesync:Slider({Name = "Position X", Flag = 'Desync X', Min = -15, Max = 15, Default = 0, Decimals = 1, Suffix = "m"}) table.insert(customSliders, _)
5724
local _ = cframeDesync:Slider({Name = "Position Y", Flag = 'Desync Y', Min = -15, Max = 15, Default = 0, Decimals = 1, Suffix = "m"}) table.insert(customSliders, _)
5725
local _ = cframeDesync:Slider({Name = "Position Z", Flag = 'Desync Z', Min = -15, Max = 15, Default = 0, Decimals = 1, Suffix = "m"}) table.insert(customSliders, _)
5726
--
5727
local _ = cframeDesync:Slider({Name = "Rotation X", Flag = 'Rotation X', Min = -180, Max = 180, Default = 0, Decimals = 1, Suffix = "°"}) table.insert(customSliders, _)
5728
local _ = cframeDesync:Slider({Name = "Rotation Y", Flag = 'Rotation Y', Min = -180, Max = 180, Default = 0, Decimals = 1, Suffix = "°"}) table.insert(customSliders, _)
5729
local _ = cframeDesync:Slider({Name = "Rotation Z", Flag = 'Rotation Z', Min = -180, Max = 180, Default = 0, Decimals = 1, Suffix = "°"}) table.insert(customSliders, _)
5730
--
5731
local _ = cframeDesync:Slider({Name = "Radius", Flag = 'Desync Strafe Radius', Min = -15, Max = 15, Default = 10, Decimals = 1, Suffix = "m"}) table.insert(strafeSliders, _)
5732
local _ = cframeDesync:Slider({Name = "Speed", Flag = 'Desync Strafe Speed', Min = -15, Max = 15, Default = 10, Decimals = 1, Suffix = "m/s"}) table.insert(strafeSliders, _)
5733
local _ = cframeDesync:Slider({Name = "Height", Flag = 'Desync Strafe Height', Min = -15, Max = 15, Default = 0, Decimals = 1, Suffix = "m"}) table.insert(strafeSliders, _)
5734
--
5735
local _ = cframeDesync:Slider({Name = "Random Range", Flag = 'Desync Random Range', Min = 0, Max = 50, Default = 0, Decimals = 1, Suffix = "st"}) table.insert(randomSliders, _)
5736
--
5737
for _,v in pairs(customSliders) do v:SetVisible(false) end
5738
for _,v in pairs(strafeSliders) do v:SetVisible(true) end
5739
for _,v in pairs(randomSliders) do v:SetVisible(false) end
5740
end
5741
end
5742
--
5743
local invisDesync = Exploits:Section({Name = "Exploits", Size = 330, Side = "Right"}) do
5744
local loop;
5745
invisDesync:Toggle({Name = "Invis Desync", Flag = "Invis Desync"}):Keybind({Name = "Invisible Desync", Flag = "Invis Desync Key", Mode = "Toggle", Callback = function()
5746
if flags["Invis Desync"] and flags["Invis Desync Key"] then
5747
if flags["Invis Desync Key"] then
5748
setfflag("S2PhysicsSenderRate", 2)
5749
loop = RunService.Heartbeat.Connect(RunService.Heartbeat, framework.desyncInit);
5750
end
5751
else
5752
-- skibidi sigma rizz
5753
if loop then
5754
loop:Disconnect()
5755
loop = nil
5756
setfflag("S2PhysicsSenderRate", 15)
5757
end
5758
end
5759
end})
5760
--
5761
invisDesync:Toggle({Name = "Destroy Cheaters", Flag = "Destroy Cheaters"}):Keybind({Name = "Destroy Cheaters", Flag = "Destroy Cheaters Key", Mode = "Toggle"})
5762
flags["Destroy Cheaters Key"] = true
5763
end
5764
--
5765
local fastFlags = Exploits:Section({Name = "Fast Flags", Size = 330, Side = "Right"}) do
5766
fastFlags:Toggle({Name = "Enabled", Flag = "Fast Flags", Callback = function()
5767
setfflag("S2PhysicsSenderRate", 15)
5768
end})
5769
fastFlags:Slider({Name = "Amount", Flag = 'Fast Flags Amount', Min = 1, Max = 15, Default = 2, Decimals = 0.01})
5770
--
5771
fastFlags:Toggle({Name = "Network Desync", Flag = "Network Desync", Callback = function()
5772
sethiddenproperty(LocalPlayer.Character.HumanoidRootPart, "NetworkIsSleeping", false)
5773
end})
5774
fastFlags:Slider({Name = "Delay", Flag = 'Network Delay', Suffix = "s", Min = 0.01, Max = 15, Default = 2, Decimals = 0.01})
5775
end
5776
end
5777
-- // Settings
5778
local Config = Window:Page({Name = "Settings"}) do
5779
local Menu = Config:Section({Name = "Menu", Size = 120})
5780
local Cfgs = Config:Section({Name = "Configs", Size = 200, Side = "Right"})
5781
--
5782
local abc = false
5783
Menu:Keybind({Name = "Menu key", Flag = "MenuKey", Default = Enum.KeyCode.End, Mode = "Toggle", Callback = function() abc = not abc Library:SetOpen(abc) end})
5784
Menu:Dropdown({Name = "Notification Position", Flag = "Notification Position", Options = {"Top Left", "Middle"}, Default = "Top Left"})
5785
Menu:Label({Centered = true, Name = "Credits: \nPortal : User Interface"})
5786
--
5787
local CFGList = Cfgs:Dropdown({Name = "Cfg List", Flag = "SettingConfigurationList", Options = {}})
5788
Cfgs:Textbox({Flag = "SettingsConfigurationName", Placeholder = "Config name"})
5789
--
5790
local CurrentList = {};
5791
if not isfolder("Lunar") then
5792
makefolder("Lunar")
5793
end
5794
if not isfolder("Lunar/Configs") then
5795
makefolder("Lunar/Configs")
5796
end
5797
local function UpdateConfigList()
5798
local List = {};
5799
for idx, file in ipairs(listfiles("Lunar/Configs")) do
5800
local FileName = file:gsub("Lunar/Configs\\", ""):gsub(".cfg", "")
5801
List[#List + 1] = FileName;
5802
end;
5803
5804
local IsNew = #List ~= #CurrentList
5805
if not IsNew then
5806
for idx, file in ipairs(List) do
5807
if file ~= CurrentList[idx] then
5808
IsNew = true;
5809
break;
5810
end;
5811
end;
5812
end;
5813
5814
if IsNew then
5815
CurrentList = List;
5816
CFGList:Refresh(CurrentList);
5817
end;
5818
end;
5819
--
5820
Cfgs:Button({Name = "Create", Callback = function()
5821
local ConfigName = flags.SettingsConfigurationName;
5822
if ConfigName == "" or isfile("Lunar/Configs/" .. ConfigName .. ".cfg") then
5823
return;
5824
end;
5825
writefile("Lunar/Configs/" .. ConfigName .. ".cfg", Library:GetConfig());
5826
UpdateConfigList();
5827
end})
5828
Cfgs:Button({Name = "Save", Callback = function()
5829
local SelectedConfig = flags.SettingConfigurationList;
5830
if SelectedConfig then
5831
writefile("Lunar/Configs/" .. SelectedConfig .. ".cfg", Library:GetConfig())
5832
end;
5833
end})
5834
Cfgs:Button({Name = "Load", Callback = function()
5835
local SelectedConfig = flags.SettingConfigurationList;
5836
if SelectedConfig then
5837
Library:LoadConfig(readfile("Lunar/Configs/" .. SelectedConfig .. ".cfg"))
5838
end
5839
end})
5840
Cfgs:Button({Name = "Delete", Callback = function()
5841
local SelectedConfig = flags.SettingConfigurationList;
5842
if SelectedConfig then
5843
delfile("Lunar/Configs/" .. SelectedConfig .. ".cfg")
5844
end
5845
UpdateConfigList();
5846
end})
5847
Cfgs:Button({Name = "Refresh", Callback = function()
5848
UpdateConfigList();
5849
end})
5850
Cfgs:Toggle({Name = "Keybind List", Flag = "Keybind List", Callback = function(Bool)
5851
PlaceHolderUI.Enabled = Bool
5852
end})
5853
UpdateConfigList();
5854
end
5855
end
5856
5857
-- // Framework
5858
do
5859
getgenv().offset = nil;
5860
local Origin;
5861
local Position, OnScreen, PreviousGun, PreviousAmmo, Sine, Radians = nil, nil, nil, nil, 0, 1;
5862
local NetworkTick, Networking = 0, false;
5863
local chatTick = 0;
5864
-- // Loops
5865
do
5866
framework["connections"]["Main Loop"] = RunService.Heartbeat:Connect(LPH_NO_VIRTUALIZE(function(Fps)
5867
-- // Framework Calls
5868
do
5869
framework:aimAssist()
5870
framework:worldVisuals()
5871
end
5872
--// Auto Armor
5873
do
5874
if flags["Auto Armor"] then
5875
if LocalPlayer.Character.BodyEffects.Armor.Value < 100 then
5876
local Pos = LocalPlayer.Character.HumanoidRootPart.CFrame
5877
LocalPlayer.Character.HumanoidRootPart.CFrame = workspace.Ignored.Shop["[High-Medium Armor] - $2440"].Head.CFrame
5878
fireclickdetector(workspace.Ignored.Shop["[High-Medium Armor] - $2440"].ClickDetector)
5879
RunService.RenderStepped:Wait()
5880
LocalPlayer.Character.HumanoidRootPart.CFrame = Pos
5881
end
5882
end
5883
end
5884
-- // No Slow Down
5885
do
5886
if flags["No Slow"] then
5887
if LocalPlayer.Character.BodyEffects.Reload.Value then
5888
LocalPlayer.Character.BodyEffects.Reload.Value = false
5889
end
5890
--
5891
local Slowdowns = LocalPlayer.Character.BodyEffects.Movement:FindFirstChild('NoJumping') or LocalPlayer.Character.BodyEffects.Movement:FindFirstChild('NoWalkSpeed') or LocalPlayer.Character.BodyEffects.Movement:FindFirstChild('ReduceWalk')
5892
if Slowdowns then
5893
Slowdowns:Destroy()
5894
end
5895
end
5896
end
5897
-- // Target Framework
5898
do
5899
if utility.target and utility:ValidateClient(utility.target) and flags["Silent_Bind"] then
5900
Position, OnScreen = Camera:WorldToViewportPoint(utility.target.Character.HumanoidRootPart.Position);
5901
prediction = framework:selectPrediction()
5902
--
5903
if flags["Target Auto Select"] then
5904
framework:autoSelect()
5905
end
5906
--
5907
if flags["Resolver"] then
5908
offset = framework:calculateResolverOffset(utility.target);
5909
end
5910
--
5911
if flags["Highlight Enabled"] then
5912
targetHighlight.Enabled = true
5913
targetHighlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
5914
targetHighlight.FillColor = flags["Highlight Fill Color"].Color
5915
targetHighlight.OutlineColor = flags["Highlight Outline Color"].Color
5916
targetHighlight.Adornee = utility.target.Character
5917
targetHighlight.OutlineTransparency = flags["Highlight Outline Color"].Transparency
5918
targetHighlight.FillTransparency = flags["Highlight Fill Color"].Transparency
5919
else
5920
targetHighlight.Enabled = false
5921
end
5922
--
5923
if flags["Nearest Part"] then
5924
partClosest = framework:calculateNearestPart(utility.target, flags["Closest Hit Part"]).Name
5925
end
5926
--
5927
checks = framework:getChecks(utility.target, table.find(flags["Silent Checks"], "Friend Check"), table.find(flags["Silent Checks"], "Wall Check"), table.find(flags["Silent Checks"], "Knocked Check"), table.find(flags["Silent Checks"], "Grabbed Check"));
5928
--
5929
if flags["Line Enabled"] then
5930
utility.drawings["Tracer"].Visible = OnScreen and true or false
5931
utility.drawings["Tracer"].From = NewVector2(Mouse.X, Mouse.Y + Offset)
5932
utility.drawings["Tracer"].To = NewVector2(Position.X, Position.Y)
5933
utility.drawings["Tracer"].Color = flags["Line Settings"].Color
5934
utility.drawings["Tracer"].Transparency = flags["Line Settings"].Transparency
5935
end
5936
--
5937
if flags["Target Strafe Enabled"] then
5938
utility.angle = utility.angle + flags["Target Strafe Speed"]
5939
local strafe = utility.target.Character.HumanoidRootPart.CFrame * CFrame.Angles(0, math.rad(utility.angle), 0) * NewCFrame(0, flags["Target Strafe Height"], flags["Target Strafe Distance"])
5940
--
5941
LocalPlayer.Character.HumanoidRootPart.CFrame = strafe
5942
end
5943
--
5944
if flags["Back Track Enabled"] and flags["Back Track Method"] == "Follow" then
5945
for _, Part in pairs(utility.folders["Part Chams"]:GetChildren()) do
5946
if Part:IsA("BasePart") and table.find(utility.bodyParts, Part.Name) then
5947
Part.Position = utility.target.Character[Part.Name].Position + utility.target.Character.HumanoidRootPart.Velocity * 0.1413
5948
Part.Rotation = utility.target.Character[Part.Name].Rotation
5949
end
5950
end
5951
end
5952
--
5953
if flags["Look At"] then
5954
LocalPlayer.Character.Humanoid.AutoRotate = false;
5955
local OldCframe = LocalPlayer.Character.PrimaryPart;
5956
local NearestRoot = utility.target.Character.HumanoidRootPart
5957
local NearestPos = NewCFrame(LocalPlayer.Character.PrimaryPart.Position, Vector3.new(NearestRoot.Position.X, OldCframe.Position.Y, NearestRoot.Position.Z));
5958
LocalPlayer.Character:SetPrimaryPartCFrame(NearestPos);
5959
end
5960
--
5961
if flags["Auto Shoot"] then
5962
local Tool = utility:getHeld();
5963
if Tool then
5964
Tool:Activate()
5965
end
5966
end
5967
else
5968
--
5969
if (utility.drawings["Tracer"].Visible == true) then
5970
utility.drawings["Tracer"].Visible = false
5971
end
5972
--
5973
targetHighlight.Enabled = false
5974
end
5975
end
5976
-- // Anti Cheat Bypass
5977
do
5978
if tick() - antiCheattick > 1 and LocalPlayer.Character then
5979
antiCheattick = tick()
5980
--
5981
for _, Script in pairs(LocalPlayer.Character:GetChildren()) do
5982
if Script:IsA("Script") and Script.Name ~= "Health" and Script.Name ~= "Sound" and Script:FindFirstChild("LocalScript") then
5983
Script:Destroy()
5984
end
5985
end
5986
end
5987
end
5988
-- // Movement
5989
do
5990
if LocalPlayer.Character and not (flags["Desync"] and flags["Desync Key"]) then
5991
framework:cframeSpeed()
5992
framework:fly(Fps)
5993
end
5994
end
5995
-- // Physics and Network shits
5996
do
5997
if flags["Fast Flags"] and getfflag("S2PhysicsSenderRate") ~= flags["Fast Flags Amount"] then
5998
setfflag("S2PhysicsSenderRate", flags["Fast Flags Amount"])
5999
end
6000
--
6001
if flags["Network Desync"] then
6002
if tick() - NetworkTick > flags["Network Delay"] then
6003
NetworkTick = tick()
6004
Networking = not Networking
6005
sethiddenproperty(LocalPlayer.Character.HumanoidRootPart, "NetworkIsSleeping", Networking)
6006
end
6007
end
6008
end
6009
-- // Chat Spam
6010
do
6011
if flags["Chat Spam"] then
6012
if tick() - chatTick > flags["Chat Spam Delay"] then
6013
chatTick = tick()
6014
local Message = framework:chatSpam(flags["Chat Spam Type"], flags["Repeat"], flags["Emojis"], flags["Symbol"])
6015
ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(Message, "All")
6016
end
6017
end
6018
end
6019
end))
6020
framework["connections"]["Desync"] = RunService.Heartbeat:Connect(LPH_NO_VIRTUALIZE(function(delta)
6021
-- // Desync
6022
do
6023
if ((flags["Desync"] and flags["Desync Key"]) or (flags["Destroy Cheaters"] and flags["Destroy Cheaters Key"]) and LocalPlayer.Character) then
6024
C_Desync["OldPosition"] = LocalPlayer.Character.HumanoidRootPart.CFrame
6025
local Origin = (flags["Attach Target"] and checks and utility.target and utility.target.Character and utility.target.Character.HumanoidRootPart) or LocalPlayer.Character.HumanoidRootPart
6026
local randomRange = flags["Desync Random Range"]
6027
Radians += flags["Desync Strafe Speed"]
6028
local calculatedPositions = {
6029
["Random"] = (NewCFrame(Origin.Position) + Vector3.new(Random(-randomRange, randomRange), Random(-randomRange, randomRange), Random(-randomRange, randomRange))) * CFrame.Angles(Rad(Random(-180, 180)), Rad(Random(-180, 180)), Rad(Random(-180, 180))),
6030
["Roll"] = Origin.CFrame * NewCFrame(0, -4 ,0) * CFrame.Angles(0, Rad(Random(1, 360)), Rad(-180)),
6031
["Target Strafe"] = Origin.CFrame * CFrame.Angles(0, Rad(Radians), 0) * NewCFrame(0, flags["Desync Strafe Height"], flags["Desync Strafe Radius"]),
6032
["Custom"] = Origin.CFrame * NewCFrame(flags["Desync X"], flags["Desync Y"], flags["Desync Z"]) * CFrame.Angles(Rad(flags["Rotation X"]), Rad(flags["Rotation Y"]), Rad(flags["Rotation Z"])),
6033
["Destroy Cheaters"] = Origin.CFrame * NewCFrame(9e9, 0/0, math.huge)
6034
}
6035
--
6036
C_Desync["PredictedPosition"] = flags["Destroy Cheaters"] and flags["Destroy Cheaters Key"] and calculatedPositions["Destroy Cheaters"] or calculatedPositions[flags["Desync Type"]]
6037
--
6038
LocalPlayer.Character.HumanoidRootPart.CFrame = C_Desync["PredictedPosition"]
6039
--
6040
if flags["Desync Visualize"] then
6041
bodyClone:SetPrimaryPartCFrame(LocalPlayer.Character.HumanoidRootPart.CFrame)
6042
visualizeChams.FillColor = flags["Desync Visualize Fill"].Color;
6043
visualizeChams.FillTransparency = flags["Desync Visualize Fill"].Transparency;
6044
visualizeChams.OutlineColor = flags["Desync Visualize Outline"].Color;
6045
visualizeChams.OutlineTransparency = flags["Desync Visualize Outline"].Transparency;
6046
end
6047
--
6048
game:GetService("RunService").RenderStepped:Wait()
6049
--
6050
LocalPlayer.Character.HumanoidRootPart.CFrame = C_Desync["OldPosition"]
6051
--
6052
framework:cframeSpeed()
6053
framework:fly(delta)
6054
else
6055
bodyClone:SetPrimaryPartCFrame(NewCFrame(9999,9999,9999))
6056
end
6057
end
6058
end))
6059
framework["connections"]["ESP Loop"] = RunService.RenderStepped:Connect(LPH_NO_VIRTUALIZE(function(Fps)
6060
for Index, Base in pairs(Visuals.Bases) do
6061
Base:Update()
6062
end
6063
-- // Crosshair Visuals
6064
do
6065
crosshair_SpinAngle = flags["Crosshair Always Rotating"] and crosshair_SpinAngle + math.rad((flags["Crosshair Speed"] * 10) * Fps) or 0;
6066
-- // Crosshair
6067
do
6068
if flags["Crosshair"] then
6069
local Radius = flags["Crosshair Length"] * 5
6070
local Gap = flags["Crosshair Gap Size"]
6071
--
6072
if flags["Attach to target"] and utility.target ~= nil and utility.target.Character and OnScreen then
6073
Origin = NewVector2(Position.X, Position.Y)
6074
else
6075
Origin = NewVector2(Mouse.X, Mouse.Y + Offset)
6076
end
6077
--
6078
CursorSize += 0.025
6079
--
6080
local SmoothAngle = flags["Crosshair Speed Easing Style"] ~= "Off" and Tween.EasingStyles[Enum.EasingStyle[flags["Crosshair Speed Easing Style"]]][Enum.EasingDirection.InOut](utility:Shift(crosshair_SpinAngle)) * (Pi * Pi/2) or crosshair_SpinAngle
6081
local Dynamic = Cos(CursorSize)
6082
local SmoothSize = flags["Crosshair Sizing Easing Style"] ~= "Off" and ((Radius / 2) * (Tween.EasingStyles[Enum.EasingStyle[flags["Crosshair Sizing Easing Style"]]][Enum.EasingDirection.In](utility:Shift(Dynamic)))) or 0
6083
local localRadius = Radius - SmoothSize
6084
--
6085
for i = 1, #crosshair_Lines do
6086
local Positions = NewVector2(Cos(SmoothAngle + crosshair_lineOffsets[i]), (Sin(SmoothAngle + crosshair_lineOffsets[i])))
6087
--
6088
crosshair_Lines[i].From = Origin + NewVector2(Positions.X, Positions.Y) * Gap
6089
crosshair_Lines[i].To = crosshair_Lines[i].From + NewVector2(Positions.X, Positions.Y) * localRadius
6090
--
6091
crosshair_Outlines[i].From = Origin + NewVector2(Positions.X, Positions.Y) * (Gap - 1)
6092
crosshair_Outlines[i].To = crosshair_Lines[i].From + NewVector2(Positions.X, Positions.Y) * (localRadius + 1)
6093
--
6094
crosshair_Lines[i].Visible = true
6095
crosshair_Outlines[i].Visible = true
6096
end
6097
end
6098
end
6099
-- // Crosshair Text
6100
do
6101
if flags["Script Name"] then
6102
local sub = utility.drawings["Sub"]
6103
local domain = utility.drawings["Domain"]
6104
--
6105
local yOffset = flags["Crosshair"] and ((flags["Crosshair Length"] * 5) + flags["Crosshair Gap Size"]) or 30
6106
--
6107
local textOrigin;
6108
if flags["Attach to target"] and utility.target ~= nil and utility.target.Character and OnScreen then
6109
textOrigin = NewVector2(Position.X - 23, Position.Y + yOffset)
6110
else
6111
textOrigin = NewVector2(Mouse.X - 23, Mouse.Y + Offset + yOffset)
6112
end
6113
--
6114
sub.Visible = true
6115
domain.Visible = true
6116
--
6117
sub.Position = textOrigin
6118
domain.Position = sub.Position + NewVector2(sub.TextBounds.X, 0)
6119
end
6120
--
6121
if flags["Pulse"] and flags["Script Name"] then
6122
local sub = utility.drawings["Sub"]
6123
--
6124
Sine = flags["Pulse"] and math.abs(math.sin(tick() * 4)) or 1
6125
sub.Transparency = Sine
6126
end
6127
end
6128
-- // In-Game Crosshair Shit
6129
do
6130
if flags["In-Game Crosshair Spin"] and not flags["In-Game Crosshair Invisible"] then
6131
LocalPlayer.PlayerGui.MainScreenGui.Aim.Rotation += flags["In-Game Crosshair Spin Speed"]
6132
end
6133
--
6134
if flags["In-Game Crosshair Invisible"] and LocalPlayer.PlayerGui.MainScreenGui.Aim.Visible == true then
6135
Players.LocalPlayer.PlayerGui.MainScreenGui.Aim.Visible = false
6136
end
6137
end
6138
end
6139
-- // Hit Detection
6140
do
6141
local Gun = LocalPlayer.Character:FindFirstChildWhichIsA("Tool")
6142
local Connection = framework["connections"]["Hit Detection"]
6143
6144
if Gun ~= PreviousGun and Connection then
6145
PreviousGun = Gun
6146
PreviousAmmo = 999
6147
Connection:Disconnect()
6148
framework["connections"]["Hit Detection"] = nil
6149
end
6150
6151
if not framework["connections"]["Hit Detection"] and Gun and Gun.Ammo.Value then
6152
framework["connections"]["Hit Detection"] = Gun.Ammo:GetPropertyChangedSignal("Value"):Connect(function()
6153
local CurrentAmmo = Gun.Ammo.Value
6154
if CurrentAmmo < PreviousAmmo then
6155
local ChildrenAdded = 0;
6156
local ChildAdded;
6157
local IgnoreList = {LocalPlayer.Character, Gun.Handle};
6158
ChildAdded = Workspace.Ignored.Siren.Radius.ChildAdded:Connect(function(Object)
6159
if Object.Name == "BULLET_RAYS" then
6160
ChildrenAdded += 1;
6161
if (table.find({"[Double-Barrel SG]", "[TacticalShotgun]", "[Shotgun]"}, Gun.Name) and ChildrenAdded <= 5) or (ChildrenAdded == 1) then
6162
local Pos = Object.CFrame.Position
6163
local LookVector = Object.CFrame.LookVector
6164
--
6165
local RayCastParams = RaycastParams.new()
6166
RayCastParams.FilterType = Enum.RaycastFilterType.Exclude
6167
RayCastParams.IgnoreWater = true
6168
RayCastParams.FilterDescendantsInstances = IgnoreList
6169
local Ray = Workspace:Raycast(Pos, LookVector * 1000, RayCastParams)
6170
if not Ray then return end
6171
local HitPosition = Ray.Position
6172
local HitInstance = Ray.Instance
6173
--
6174
delay(0.001, function()
6175
if flags["Bullet Tracers"] then
6176
Object:Destroy()
6177
utility:CreateBeam(Pos, HitPosition, flags["Bullet Tracers Color"].Color, flags["Face Camera"], flags["Bullet Size"], flags["Bullet Speed"], flags["Bullet Brightness"])
6178
end
6179
--
6180
if flags["Bullet Impacts"] then
6181
local Impact = Instance.new("Part")
6182
Impact.Anchored = true
6183
Impact.CanCollide = false
6184
Impact.Parent = game.Workspace
6185
Impact.Material = "Neon"
6186
Impact.Shape = Enum.PartType.Block
6187
Impact.Transparency = flags["Bullet Impacts Color"].Transparency
6188
Impact.Color = flags["Bullet Impacts Color"].Color
6189
Impact.Size = NewVector3(flags["Impact Size"], flags["Impact Size"], flags["Impact Size"])
6190
Impact.CFrame = NewCFrame(HitPosition)
6191
delay(3, function()
6192
Impact:Destroy()
6193
end)
6194
end
6195
--
6196
if HitInstance then
6197
local InstanceHit = HitInstance:FindFirstAncestorOfClass('Model')
6198
if not InstanceHit then return end
6199
6200
if InstanceHit:FindFirstChild("Humanoid") and InstanceHit:FindFirstChild("HumanoidRootPart") then
6201
if flags["Hit Sounds"] then
6202
HitReg:HitSound(sfx[flags["Hit Sounds Sound"]], flags["Hit Sounds Volume"], flags["Hit Sounds Pitch"])
6203
end
6204
--
6205
if flags["Hit Chams"] then
6206
local Model = Instance.new("Model", utility.folders["Hit Chams"])
6207
utility:characterClone(Players[InstanceHit.Name], flags["Hit Chams Settings"].Color, flags["Hit Chams Material"], flags["Hit Chams Settings"].Transparency, Model);
6208
delay(flags["Hit Chams Fading Time"], function()
6209
Model:Destroy()
6210
end)
6211
end
6212
--
6213
if flags["Hit Notify"] then
6214
local Text = string.format("You Hit %s in the %s!", Players[InstanceHit.Name].Name, HitInstance.Name)
6215
Library:Notification(Text, 3, Library.Accent, flags["Notification Position"])
6216
end
6217
--
6218
if flags["Hit Marker"] then
6219
HitReg:HitMarker(4, flags["Hit Marker Settings"].Color, flags["Hit Markers Time"])
6220
end
6221
--
6222
if flags["3D Hit Marker"] then
6223
HitReg:HitMarker3D(4, flags["3D Hit Marker Settings"].Color, flags["Hit Markers Time"], HitPosition)
6224
end
6225
--
6226
if flags["Hit Effects"] then
6227
HitReg:HitEffect(flags["Hit Effects Option"], Players[InstanceHit.Name].Character)
6228
end
6229
end
6230
end
6231
ChildAdded:Disconnect()
6232
end)
6233
end
6234
else
6235
ChildAdded:Disconnect()
6236
end
6237
end)
6238
end
6239
PreviousAmmo = CurrentAmmo
6240
end)
6241
end
6242
end
6243
end))
6244
framework["connections"]["Typing Check"] = InputService.InputBegan:Connect(function(_, Chatting)
6245
Typing = Chatting
6246
end)
6247
framework["connections"]["Text"] = InputService.InputChanged:Connect(function(_)
6248
if utility.drawings["Aim Assist FOV"].Visible then
6249
utility.drawings["Aim Assist FOV"].Position = NewVector2(Mouse.X, Mouse.Y + Offset)
6250
end
6251
end)
6252
framework["connections"]["ESP Player Find Loop"] = Players.PlayerAdded:Connect(LPH_NO_VIRTUALIZE(function(Player)
6253
if flags["PlayerESP_Enabled"] then
6254
Visuals:Create({Player = Player})
6255
end
6256
end))
6257
end
6258
-- // Gun Handling
6259
do
6260
local function Aimbot()
6261
utility:calculateAimViewerEndPoint()
6262
end
6263
--
6264
local function Ammo()
6265
framework:autoReload()
6266
end
6267
--
6268
framework["connections"]["Anti Aim Viewer"] = {}
6269
framework["connections"]["auto reload >_< :3"] = {}
6270
for i, v in pairs(LocalPlayer.Backpack:GetChildren()) do
6271
if v:IsA("Tool") and v:FindFirstChild("Ammo") then
6272
if not framework["connections"]["Anti Aim Viewer"][v] then
6273
framework["connections"]["Anti Aim Viewer"][v] = v.Activated:Connect(Aimbot)
6274
end
6275
--
6276
if not framework["connections"]["auto reload >_< :3"][v] then
6277
framework["connections"]["auto reload >_< :3"][v] = v.Ammo:GetPropertyChangedSignal("Value"):Connect(Ammo)
6278
end
6279
end
6280
end
6281
for i, v in pairs(LocalPlayer.Character:GetChildren()) do
6282
if v:IsA("Tool") and v:FindFirstChild("Ammo") then
6283
if not framework["connections"]["Anti Aim Viewer"][v] then
6284
framework["connections"]["Anti Aim Viewer"][v] = v.Activated:Connect(Aimbot)
6285
end
6286
--
6287
if not framework["connections"]["auto reload >_< :3"][v] then
6288
framework["connections"]["auto reload >_< :3"][v] = v.Ammo:GetPropertyChangedSignal("Value"):Connect(Ammo)
6289
end
6290
end
6291
end
6292
LocalPlayer.Character.ChildAdded:connect(function(v)
6293
if v:IsA("Tool") and v:FindFirstChild("Ammo") then
6294
if not framework["connections"]["Anti Aim Viewer"][v] then
6295
framework["connections"]["Anti Aim Viewer"][v] = v.Activated:Connect(Aimbot)
6296
end
6297
--
6298
if not framework["connections"]["auto reload >_< :3"][v] then
6299
framework["connections"]["auto reload >_< :3"][v] = v.Ammo:GetPropertyChangedSignal("Value"):Connect(Ammo)
6300
end
6301
end
6302
end)
6303
LocalPlayer.CharacterAdded:connect(function(v)
6304
for i = 1, #framework["connections"]["Anti Aim Viewer"], 1 do
6305
framework["connections"]["Anti Aim Viewer"][i]:Disconnect()
6306
framework["connections"]["Anti Aim Viewer"][i] = nil
6307
framework["connections"]["auto reload >_< :3"][i]:Disconnect()
6308
framework["connections"]["auto reload >_< :3"][i] = nil
6309
end
6310
v.ChildAdded:connect(function(v)
6311
if v:IsA("Tool") and v:FindFirstChild("Ammo") then
6312
if not framework["connections"]["Anti Aim Viewer"][v] then
6313
framework["connections"]["Anti Aim Viewer"][v] = v.Activated:Connect(Aimbot)
6314
end
6315
--
6316
if not framework["connections"]["auto reload >_< :3"][v] then
6317
framework["connections"]["auto reload >_< :3"][v] = v.Ammo:GetPropertyChangedSignal("Value"):Connect(Ammo)
6318
end
6319
end
6320
end)
6321
end)
6322
end
6323
-- // Target Back Track
6324
do
6325
task.spawn(function()
6326
while true do
6327
task.wait(flags["Back Track Delay"]/2)
6328
if utility.target and utility:ValidateClient(utility.target) then
6329
if flags["Back Track Enabled"] and flags["Back Track Method"] == "Clone" then
6330
utility:characterClone(utility.target, flags["Back Track Settings"].Color, flags["Back Track Material"], flags["Back Track Settings"].Transparency, utility.folders["Part Chams"]);
6331
task.wait(flags["Back Track Delay"]/2)
6332
utility.folders["Part Chams"]:ClearAllChildren();
6333
end
6334
end
6335
end
6336
end)
6337
end
6338
-- // Hooks
6339
do
6340
local Old;
6341
Old = hookmetamethod(game, "__namecall", LPH_NO_VIRTUALIZE(function(self, ...)
6342
if tostring(self.Name) == "MainEvent" then
6343
local Args = {...}
6344
--
6345
if getnamecallmethod() == "FireServer" and Args[1] == "UpdateMousePos" and not flags["Aim Viewer Bypass"] then
6346
if utility.target and utility.target.Character and flags["Silent_Bind"] then
6347
local part = (flags["Jump Prediction"] and utility.target.Character.Humanoid.FloorMaterial == Enum.Material.Air and "RightFoot") or (flags["Nearest Part"] and partClosest) or flags["Single Hit Part"]
6348
local yOffset = utility.target.Character.Humanoid.FloorMaterial == Enum.Material.Air and flags["Manual Offset Value"] or 0
6349
--
6350
if (checks == true) then
6351
if flags["Resolver"] then
6352
Args[2] = utility.target.Character[tostring(part)].Position + offset + NewVector3(0, yOffset, 0)
6353
else
6354
Args[2] = utility.target.Character[tostring(part)].Position + (utility.target.Character.HumanoidRootPart.Velocity * prediction) + NewVector3(0, yOffset, 0)
6355
end
6356
end
6357
end
6358
end
6359
--
6360
return Old(self, unpack(Args))
6361
end
6362
--
6363
return Old(self, ...)
6364
end))
6365
6366
--[[local IndexThing
6367
IndexThing = hookmetamethod(game, "__index", function(self, k)
6368
if (self:IsA("Mouse") and (k == "Hit" or k == "Target")) then
6369
if utility.target and utility.target.Character and flags["Silent_Bind"] and LocalPlayer.Character then
6370
local part = (flags["Jump Prediction"] and utility.target.Character.Humanoid:GetState() == Enum.HumanoidStateType.Freefall and flags["Air Hit Part"]) or (flags["Nearest Part"] and partClosest) or flags["Single Hit Part"]
6371
local yOffset = utility.target.Character.Humanoid.FloorMaterial == Enum.Material.Air and flags["Manual Offset Value"] or 0
6372
--
6373
if (checks == true) then
6374
if flags["Resolver"] then
6375
getgenv().Hit = utility.target.Character[tostring(part)].Position + offset + NewVector3(0, yOffset, 0)
6376
else
6377
getgenv().Hit = utility.target.Character[tostring(part)].Position + (utility.target.Character.HumanoidRootPart.Velocity * prediction) + NewVector3(0, yOffset, 0)
6378
end
6379
return (k == "Hit" and CFrame.new(getgenv().Hit))
6380
end
6381
end
6382
end
6383
return IndexThing(self, k)
6384
end)]]
6385
6386
local old
6387
old = hookmetamethod(game, "__index", LPH_NO_VIRTUALIZE(function(self, key)
6388
if not checkcaller() then
6389
if key == "CFrame" and LocalPlayer.Character and self == LocalPlayer.Character.HumanoidRootPart and ((flags["Desync"] and flags["Desync Key"]) or (flags["Destroy Cheaters Key"] and flags["Destroy Cheaters"])) and C_Desync["OldPosition"] ~= nil and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") and LocalPlayer.Character:FindFirstChild("Humanoid") and LocalPlayer.Character:FindFirstChild("Humanoid").Health > 0 then
6390
return C_Desync["OldPosition"]
6391
end
6392
end
6393
return old(self, key)
6394
end))
6395
end
6396
end
6397
6398
Library:Notification("Loaded lunar.vip in " .. Floor((tick() - loadingTime) * 1000) .."ms", 3, Library.Accent, flags["Notification Position"])
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
--[[
6471
6472
NICE TRY POORON >_< :3333
6473
6474
]]