· 5 years ago · Feb 24, 2021, 07:24 AM
1if not _G.require then
2 _G.require = require
3end
4
5--// API References
6local GUIData = (function()
7 -- Variables
8 _V = 1.11
9 local screenGui
10 local err,errcode=pcall(function()
11 screenGui = (script:FindFirstChild("ScreenGui")) or game:GetObjects("rbxassetid://2718157603")[1]:FindFirstChild("ScreenGui", true)
12 end)
13 if not err then
14 print("ERR:",errcode)
15 screenGui = game:GetService("ReplicatedStorage").CardinalityUI:Clone()
16 end
17 local Container = screenGui.Frame
18 local Opt = Container.OptionsFrame
19 local Checkbox = Opt.Checkbox
20 local Color = Opt.Color
21 local Frame = Opt.Frame
22 local Execute = Opt.Execute
23 local Mode = Opt.Mode
24 local Number = Opt.Number
25 local Toggle = Opt.Toggle
26 local Mods = screenGui.Mods
27 local ModLabel = Mods.Example
28
29 local TextService = game:GetService("TextService")
30 local UserInputService = game:GetService("UserInputService")
31 local HttpService = game:GetService("HttpService")
32 local Player = game:GetService("Players").LocalPlayer
33 local Mouse = Player:GetMouse()
34 syn = syn or nil
35 if syn then
36 syn.protect_gui(screenGui)
37 end
38 err,errcode=pcall(function()
39 screenGui.Parent = game:GetService("CoreGui")
40 end)
41 if not err then
42 print("ERR:",errcode)
43 screenGui.Parent = Player.PlayerGui
44 end
45
46 Container.Parent = nil
47 Checkbox.Parent = nil
48 Color.Parent = nil
49 Frame.Parent = nil
50 Execute.Parent = nil
51 Mode.Parent = nil
52 Number.Parent = nil
53 Toggle.Parent = nil
54 ModLabel.Parent = nil
55
56 local settingsArray = {{Object = screenGui},{}}
57 local saveData = {Options = {}, Hotkeys = {}}
58
59 local hotkeyFunctions = {}
60 local gui = {}
61
62 -- Save Functions
63 local writefile = writefile or function() end
64 local function Save()
65 local JSONData = HttpService:JSONEncode(saveData)
66 writefile("OpenGui.txt", JSONData)
67 end
68
69 -- Color Functions
70 local color = {}
71 local colors = {
72 TextDisabled = Color3.fromRGB(200, 200, 200),
73 TextEnabled = Color3.fromRGB(255, 255, 255),
74 }
75
76 local Colors = {
77 Color3.fromRGB(255, 73, 73),
78 Color3.fromRGB(255, 161, 66),
79 Color3.fromRGB(255, 233, 62),
80 Color3.fromRGB(137, 255, 64),
81 Color3.fromRGB(64, 255, 140),
82 Color3.fromRGB(66, 252, 255),
83 Color3.fromRGB(64, 147, 255),
84 Color3.fromRGB(255, 93, 253),
85 Color3.fromRGB(195, 110, 255),
86 Color3.fromRGB(255, 90, 134),
87 Color3.fromRGB(255, 255, 255),
88 Color3.fromRGB(209, 209, 209),
89 }
90
91 local function h2rgb(m1, m2, h)
92 if h<0 then h = h+1 end
93 if h>1 then h = h-1 end
94 if h*6<1 then
95 return m1+(m2-m1)*h*6
96 elseif h*2<1 then
97 return m2
98 elseif h*3<2 then
99 return m1+(m2-m1)*(2/3-h)*6
100 else
101 return m1
102 end
103 end
104
105 function color:rgbToHsv(r, g, b)
106 local a = 0
107 r, g, b, a = r / 255, g / 255, b / 255, a / 255
108 local max, min = math.max(r, g, b), math.min(r, g, b)
109 local h, s, v
110 v = max
111
112 local d = max - min
113 if max == 0 then s = 0 else s = d / max end
114
115 if max == min then
116 h = 0 -- achromatic
117 else
118 if max == r then
119 h = (g - b) / d
120 if g < b then h = h + 6 end
121 elseif max == g then h = (b - r) / d + 2
122 elseif max == b then h = (r - g) / d + 4
123 end
124 h = h / 6
125 end
126
127 return h, s, v
128 end
129
130 function color:hslToRgb(h, s, L)
131 h = h / 360
132 local m2 = L <= .5 and L*(s+1) or L+s-L*s
133 local m1 = L*2-m2
134 return
135 h2rgb(m1, m2, h+1/3), h2rgb(m1, m2, h), h2rgb(m1, m2, h-1/3)
136 end
137
138 function color:rgbToHsl(r, g, b)
139 local min = math.min(r, g, b)
140 local max = math.max(r, g, b)
141 local delta = max - min
142
143 local h, s, l = 0, 0, (min + max) / 2
144
145 if l > 0 and l < 0.5 then s = delta / (max + min) end
146 if l >= 0.5 and l < 1 then s = delta / (2 - max - min) end
147
148 if delta > 0 then
149 if max == r and max ~= g then h = h + (g-b) / delta end
150 if max == g and max ~= b then h = h + 2 + (b-r) / delta end
151 if max == b and max ~= r then h = h + 4 + (r-g) / delta end
152 h = h / 6
153 end
154
155 if h < 0 then h = h + 1 end
156 if h > 1 then h = h - 1 end
157
158 return h * 360, s, l
159 end
160
161 function color:adjustLightness(color3, amount)
162 local h, s, l = self:rgbToHsl(color3.r, color3.g, color3.b)
163 return Color3.new(self:hslToRgb(h, s, l + amount))
164 end
165
166 -- UI Functions
167 function gui.tween(object,style,direction,t,goal)
168 local tweenservice = game:GetService("TweenService")
169 local tweenInfo = TweenInfo.new(t,Enum.EasingStyle[style],Enum.EasingDirection[direction])
170 local tween = tweenservice:Create(object,tweenInfo,goal)
171 tween.Completed:Connect(function()
172 tween:Destroy()
173 end)
174 tween:Play()
175 return tween
176 end
177
178 function gui:makeDraggable(ui, callback)
179 local UserInputService = game:GetService("UserInputService")
180
181 local dragging
182 local dragInput
183 local dragStart
184 local startPos
185
186 local function update(input)
187 local delta = input.Position - dragStart
188 ui.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
189
190 if callback then
191 callback(ui.Position.X.Offset, ui.Position.Y.Offset)
192 end
193 end
194
195 ui.InputBegan:Connect(function(input)
196 if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
197 dragging = true
198 dragStart = input.Position
199 startPos = ui.Position
200
201 input.Changed:Connect(function()
202 if input.UserInputState == Enum.UserInputState.End then
203 dragging = false
204 end
205 end)
206 end
207 end)
208
209 ui.InputChanged:Connect(function(input)
210 if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
211 dragInput = input
212 end
213 end)
214
215 UserInputService.InputChanged:Connect(function(input)
216 if input == dragInput and dragging then
217 update(input)
218 end
219 end)
220 end
221
222 function gui:unpack(data, type)
223 if data == nil then return end
224 if type == "UDim2" then
225 return data and UDim2.new(data[1], data[2], data[3], data[4])
226 elseif type == "boolean" then
227 return data == 1 and true or false
228 elseif type == "Color3" then
229 return Color3.new(data[1], data[2], data[3])
230 end
231 return data
232 end
233
234 function gui:pack(data)
235 if typeof(data) == "UDim2" then
236 return {data.X.Scale, data.X.Offset, data.Y.Scale, data.Y.Offset}
237 elseif typeof(data) == "boolean" then
238 return data and 1 or 0
239 elseif typeof(data) == "Color3" then
240 return {data.r, data.g, data.b}
241 end
242 return data
243 end
244
245 function gui:getn(array)
246 local n = 0
247 for _, v in pairs(array) do
248 n = n + 1
249 end
250 return n
251 end
252
253 function gui:setText(textLabel, text)
254 text = tostring(text)
255 textLabel.Text = text
256 if textLabel:FindFirstChild("Opaque") then
257 textLabel.Opaque.Text = text
258 end
259 if textLabel:FindFirstChild("Shadow") then
260 textLabel.Shadow.Text = text
261 end
262 end
263
264 function gui:onDoubleTap(guiObject, callback)
265 local lastTap = tick()
266 guiObject.InputBegan:Connect(function(input)
267 if input.UserInputType == Enum.UserInputType.MouseButton1 then
268 if tick() - lastTap < 0.25 then
269 callback()
270 end
271 lastTap = tick()
272 end
273 end)
274 end
275
276 local connections = {}
277 function gui:connect(func)
278 table.insert(connections, func)
279 end
280
281 function gui:createList(guiObject, guiData)
282 local ListLayout = guiObject.OptionsFrame.UIListLayout
283 local Padding = guiObject.OptionsFrame.UIPadding
284 guiObject.OptionsFrame.UIListLayout.Changed:Connect(function(Property)
285 if Property == "AbsoluteContentSize" then
286 guiData.ySize = ListLayout.AbsoluteContentSize.Y + 2 + Padding.PaddingTop.Offset + ListLayout.Padding.Offset * 2
287 end
288 end)
289
290 gui:connect(function()
291 if guiObject:FindFirstChild("Title") then
292 local yRes = Mouse.ViewSizeY
293 local diff = yRes - (guiData.yPos + guiData.ySize)
294 local difference = math.clamp(diff, 0, 5000)
295 guiObject.OptionsFrame.CanvasSize = UDim2.new(1, 0, 1.001, guiData.ySize - 35)
296
297 if guiData.Open then
298 guiObject.OptionsFrame.Size = guiObject.OptionsFrame.Size:Lerp(UDim2.new(1, 0, 0, guiData.ySize + math.clamp(diff, -5000, 0)), 0.3)
299 else
300 guiObject.OptionsFrame.Size = guiObject.OptionsFrame.Size:Lerp(UDim2.new(1, 0, 0, 0), 0.3)
301 end
302
303 guiObject.Frame.Size = guiObject.OptionsFrame.Size
304 else
305 if guiData.Open then
306 guiObject.Size = guiObject.Size:Lerp(UDim2.new(1, -8, 0, 35 + guiData.ySize), 0.3)
307 else
308 guiObject.Size = guiObject.Size:Lerp(UDim2.new(1, -8, 0, 35), 0.3)
309 end
310 end
311 end)
312
313 if guiObject:FindFirstChild("Dropdown") then
314 guiObject.Dropdown.Visible = false
315 guiObject.Dropdown.MouseButton1Down:Connect(function()
316 guiData.Open = not guiData.Open
317 if guiData.Open then
318 guiObject.Dropdown.Image = "rbxassetid://3559638428"
319 else
320 guiObject.Dropdown.Image = "rbxassetid://3554238678"
321 end
322 end)
323 else
324 gui:onDoubleTap(guiObject, function()
325 guiData.Open = not guiData.Open
326 end)
327 end
328 end
329
330 function gui:textColorOnHover(guiObject, guiData)
331 local hover = guiData.baseColor or guiObject.TextColor3
332 local default = color:adjustLightness(hover, -0.075)
333 local mdown = color:adjustLightness(hover, -0.15)
334 local mouseIn
335
336 local function update()
337 if guiData.baseColor then
338 hover = guiData.baseColor or guiObject.TextColor3
339 default = color:adjustLightness(hover, -0.075)
340 mdown = color:adjustLightness(hover, -0.15)
341 end
342 end
343
344 guiObject.MouseEnter:Connect(function()
345 update()
346 gui.tween(guiObject, "Sine", "Out", 0.25, {
347 TextColor3 = hover;
348 })
349 mouseIn = true
350 end)
351
352 guiObject.MouseLeave:Connect(function()
353 mouseIn = false
354 update()
355 gui.tween(guiObject, "Sine", "Out", 0.25, {
356 TextColor3 = default;
357 })
358 end)
359
360 guiObject.InputBegan:Connect(function(input)
361 if input.UserInputType == Enum.UserInputType.MouseButton1 then
362 update()
363 gui.tween(guiObject, "Sine", "Out", 0.25, {
364 TextColor3 = mdown;
365 })
366 end
367 end)
368
369 guiObject.InputEnded:Connect(function(input)
370 if input.UserInputType == Enum.UserInputType.MouseButton1 then
371 update()
372 gui.tween(guiObject, "Sine", "Out", 0.25, {
373 TextColor3 = mouseIn and hover or default;
374 })
375 end
376 end)
377
378 guiObject.TextColor3 = default
379 end
380
381 function gui:sliderXY(sliderFrame, inputObjects, callback)
382 local inputDown = false
383
384 local function refresh(c1, c2)
385 local sliderX = sliderFrame.AbsolutePosition.X + sliderFrame.AbsoluteSize.X
386 local sliderY = sliderFrame.AbsolutePosition.Y + sliderFrame.AbsoluteSize.Y
387
388 local distX = sliderX - Mouse.X
389 local distY = sliderY - Mouse.Y
390
391 local deltaX = 1-math.clamp(distX / sliderFrame.AbsoluteSize.X, 0, 1)
392 local deltaY = 1-math.clamp(distY / sliderFrame.AbsoluteSize.Y, 0, 1)
393
394 if callback then
395 callback(c1 or deltaX, c2 or deltaY)
396 end
397 end
398
399 for _, obj in pairs(inputObjects) do
400 obj.InputBegan:Connect(function(input)
401 if input.UserInputType == Enum.UserInputType.MouseButton1 then
402 inputDown = true
403 refresh()
404 end
405 end)
406 obj.InputEnded:Connect(function(input)
407 if input.UserInputType == Enum.UserInputType.MouseButton1 then
408 inputDown = false
409 refresh()
410 end
411 end)
412 obj.InputChanged:Connect(function(input)
413 if input == nil or input.UserInputType == Enum.UserInputType.MouseMovement then
414 if inputDown then
415 refresh()
416 end
417 end
418 end)
419 end
420
421 return refresh
422 end
423
424 function gui:createSlider(sliderFrame, inputObjects, callback)
425 local slider = sliderFrame.Value
426 local inputDown = false
427
428 local absPos = sliderFrame.AbsolutePosition.X + sliderFrame.AbsoluteSize.X
429 local absSize = sliderFrame.AbsoluteSize.X
430
431 local function refresh(custom)
432 local mouseX = Mouse.X
433 local sliderX = absPos
434 local dist = sliderX - mouseX
435 local delta = 1 - math.clamp(dist / absSize, 0, 1)
436
437 if custom then
438 delta = custom
439 end
440
441 slider.Size = UDim2.new(delta, 0, 1, 0)
442 if callback then
443 callback(delta, custom)
444 end
445 end
446
447 for _, obj in pairs(inputObjects) do
448 obj.InputBegan:Connect(function(input)
449 if input.UserInputType == Enum.UserInputType.MouseButton1 then
450 inputDown = true
451 absPos = sliderFrame.AbsolutePosition.X + sliderFrame.AbsoluteSize.X
452 absSize = sliderFrame.AbsoluteSize.X
453 refresh()
454 end
455 end)
456 obj.InputEnded:Connect(function(input)
457 if input.UserInputType == Enum.UserInputType.MouseButton1 then
458 inputDown = false
459 refresh()
460 end
461 end)
462 obj.InputChanged:Connect(function(input)
463 if input == nil or input.UserInputType == Enum.UserInputType.MouseMovement then
464 if inputDown then
465 refresh()
466 end
467 end
468 end)
469 end
470
471 return refresh
472 end
473
474 function gui:textSize(txt, vSize)
475 return TextService:GetTextSize(txt.Text, txt.TextSize, txt.Font, vSize)
476 end
477
478 local currentHint = 0
479
480 function gui:addHint(guiObject, hintText)
481 local hintKey = math.random()
482 guiObject.MouseEnter:Connect(function()
483 hintKey = math.random()
484 currentHint = hintKey
485
486 wait(2)
487
488 if currentHint == hintKey then
489 gui:setText(screenGui.Hint, " " .. hintText .. " ")
490 local textSize = gui:textSize(screenGui.Hint, Vector2.new(2500, 500))
491 screenGui.Hint.Position = UDim2.new(0, Mouse.X, 0, Mouse.Y + 4)
492 screenGui.Hint.Size = UDim2.new(0, textSize.X, 0, textSize.Y)
493 screenGui.Hint.Visible = true
494 end
495 end)
496
497 guiObject.MouseLeave:Connect(function()
498 hintKey = math.random()
499 end)
500
501 Mouse.Move:Connect(function()
502 if currentHint == hintKey then
503 screenGui.Hint.Visible = false
504 end
505 end)
506 end
507
508 -- UI Type Library
509 local lib = {}
510
511 function lib.Color(data, dataArray)
512 local guiObject = Color:Clone()
513 local color3Value = gui:unpack(saveData.Options[data.ID].Value, "Color3") or data.Default or Color3.new(1, 1, 1)
514 local guiData = {}
515
516 local HSV = color3Value
517 local H, S, V = color:rgbToHsv(HSV.r * 255, HSV.g * 255, HSV.b * 255)
518
519 local newValue = function()
520 HSV = Color3.fromHSV(H, S, V)
521 guiObject.SV.BackgroundColor3 = Color3.fromHSV(H, 1, 1)
522 guiObject.Indicator.BackgroundColor3 = HSV
523 saveData.Options[data.ID].Value = gui:pack(HSV, "Color3")
524
525 guiObject.R.Text = math.floor(HSV.r * 255)
526 guiObject.G.Text = math.floor(HSV.g * 255)
527 guiObject.B.Text = math.floor(HSV.b * 255)
528
529 if data.Callback then
530 data.Callback(HSV)
531 end
532 end
533
534 local function updateHSV()
535 H, S, V = color:rgbToHsv(HSV.r * 255, HSV.g * 255, HSV.b * 255)
536 end
537
538 local H_set = gui:sliderXY(guiObject.H, {guiObject.H}, function(X, Y, u)
539 if not u then H = 1 - Y end
540 guiObject.H.Locator.Position = UDim2.new(0.5, 0, Y, 0)
541 newValue()
542 end)
543
544 local SV_set = gui:sliderXY(guiObject.SV, {guiObject.SV}, function(X, Y, u)
545 if not u then S = X; V = 1 - Y; end
546 guiObject.SV.Locator.Position = UDim2.new(X, 0, Y, 0)
547 newValue()
548 end)
549
550 guiObject.R.FocusLost:Connect(function()
551 HSV = Color3.new(guiObject.R.Text / 255, HSV.g, HSV.b)
552 updateHSV()
553 newValue()
554 end)
555 guiObject.G.FocusLost:Connect(function()
556 HSV = Color3.new(HSV.r, guiObject.G.Text / 255, HSV.b)
557 updateHSV()
558 newValue()
559 end)
560 guiObject.B.FocusLost:Connect(function()
561 HSV = Color3.new(HSV.r, HSV.g, guiObject.B.Text / 255)
562 updateHSV()
563 newValue()
564 end)
565
566 newValue()
567 SV_set(S, 1 - V)
568 H_set(0, H)
569
570 guiData.ySize = 0
571 guiData.Open = false
572 guiData.baseColor = colors.TextEnabled
573
574 gui:setText(guiObject.Label, data.Name)
575 gui:textColorOnHover(guiObject.Label, guiData)
576
577 return guiObject
578 end
579
580 function lib.Number(data, dataArray)
581 local guiObject = Number:Clone()
582 local Value = gui:unpack(saveData.Options[data.ID].Value, "number") or data.Default or math.floor(data.Min + (data.Max - data.Min) / 2)
583 local guiData = {}
584
585 local dMax = data.Max - data.Min
586 local dValue = (Value - data.Min) / dMax
587
588 data.Round = data.Round or 1
589
590 local newValue = function(delta)
591 local exactValue = data.Min + (data.Max - data.Min) * delta
592 Value = math.floor(exactValue / data.Round) * data.Round
593 Value = math.clamp(Value, data.Min, data.Max)
594 guiObject.Indicator.Value.Text = tostring(Value)
595
596 if data.Callback then
597 data.Callback(Value)
598 end
599 saveData.Options[data.ID].Value = gui:pack(Value, "number")
600 end
601
602 local slideSet = gui:createSlider(guiObject.ValueFrame, {guiObject.Label, guiObject.Indicator}, newValue)
603 slideSet(math.clamp(dValue, 0, 1))
604
605 guiObject.Indicator.MouseButton1Down:Connect(newValue)
606 guiObject.Label.MouseButton1Down:Connect(newValue)
607 newValue(math.clamp(dValue, 0, 1))
608
609 guiData.ySize = 0
610 guiData.Open = false
611 guiData.baseColor = colors.TextEnabled
612
613 gui:createList(guiObject, guiData)
614 gui:setText(guiObject.Label, data.Name)
615 gui:textColorOnHover(guiObject.Label, guiData)
616
617 return guiObject
618 end
619
620 function lib.Execute(data, dataArray)
621 local guiObject = Execute:Clone()
622 local guiData = {}
623
624 local newValue = function(val)
625 if data.Callback then
626 data.Callback()
627 end
628 end
629
630 guiObject.MouseEnter:Connect(function()
631 gui.tween(guiObject.Indicator, "Sine", "Out", .25, {Size = UDim2.new(0, 40, 0, 25)})
632 end)
633
634 guiObject.MouseLeave:Connect(function()
635 gui.tween(guiObject.Indicator, "Sine", "Out", .25, {Size = UDim2.new(0, 0, 0, 25)})
636 end)
637
638 guiObject.Indicator.MouseButton1Down:Connect(newValue)
639 guiObject.Label.MouseButton1Down:Connect(newValue)
640 newValue(true)
641
642 guiData.ySize = 0
643 guiData.Open = false
644 guiData.baseColor = colors.TextEnabled
645
646 gui:createList(guiObject, guiData)
647 gui:setText(guiObject.Label, data.Name)
648 gui:textColorOnHover(guiObject.Label, guiData)
649
650 return guiObject
651 end
652
653 function lib.Mode(data, dataArray)
654 local guiObject = Mode:Clone()
655 local valueIndex = gui:unpack(saveData.Options[data.ID].Value, "number") or data.Default or 1
656 local guiData = {}
657
658 local newValue = function(val)
659 if val == true then else
660 valueIndex = (valueIndex % #data.Modes) + 1
661 end
662
663 local Value = data.Modes[valueIndex]
664 gui:setText(guiObject.Mode, Value)
665
666 if data.Callback then
667 data.Callback(Value)
668 end
669 saveData.Options[data.ID].Value = gui:pack(valueIndex)
670 end
671
672 guiObject.Mode.MouseButton1Down:Connect(newValue)
673 guiObject.Label.MouseButton1Down:Connect(newValue)
674 newValue(true)
675
676 guiData.ySize = 0
677 guiData.Open = false
678 guiData.baseColor = colors.TextEnabled
679
680 gui:createList(guiObject, guiData)
681 gui:setText(guiObject.Label, data.Name)
682 gui:textColorOnHover(guiObject.Label, guiData)
683
684 return guiObject
685 end
686
687 function lib.Hotkey(data, dataArray)
688 local guiObject = Mode:Clone()
689 local hotkeyInput = gui:unpack(saveData.Hotkeys[data.ID], "string") or data.Hotkey or ""
690 local guiData = {}
691
692 local lastInput = hotkeyInput
693 local mouseIn = false
694
695 guiObject.Name = "Z"
696
697 local newValue = function(val)
698 local input
699 gui:setText(guiObject.Mode, "...")
700 saveData.Hotkeys[data.ID] = nil
701
702 if not val then
703 input = lastInput
704 mouseIn = true
705
706 lastInput = nil
707
708 repeat wait() until mouseIn == false or lastInput
709 end
710
711 if not lastInput then
712 lastInput = hotkeyInput
713 end
714
715 saveData.Hotkeys[data.ID] = tostring(lastInput)
716 hotkeyFunctions[data.ID] = data.callback
717
718 hotkeyInput = tostring(lastInput)
719 saveData.Options[data.ID].Value = hotkeyInput
720 gui:setText(guiObject.Mode, hotkeyInput:sub(14))
721 end
722
723 UserInputService.InputBegan:Connect(function(input)
724 if input.KeyCode == Enum.KeyCode.Unknown then return end
725 if input.KeyCode == Enum.KeyCode.Backspace then lastInput = "" return end
726 lastInput = tostring(input.KeyCode)
727 end)
728
729 guiObject.Mode.MouseButton1Down:Connect(function() newValue() end)
730 guiObject.Label.MouseButton1Down:Connect(function() newValue() end)
731 guiObject.MouseLeave:Connect(function()
732 mouseIn = false
733 end)
734 newValue(true)
735
736 guiData.ySize = 0
737 guiData.Open = false
738 guiData.baseColor = colors.TextEnabled
739
740 gui:createList(guiObject, guiData)
741 gui:setText(guiObject.Label, "Hotkey")
742 gui:textColorOnHover(guiObject.Label, guiData)
743
744 guiObject.Parent = dataArray.Object.OptionsFrame
745
746 return guiObject
747 end
748
749 function lib.Toggle(data, dataArray)
750 local guiObject = Toggle:Clone()
751 local Value = gui:unpack(saveData.Options[data.ID].Value, "boolean") or data.Default or false
752 local guiData = {}
753
754 local modFrame = ModLabel:Clone()
755 modFrame.Parent = Mods
756 modFrame.TextColor3 = Colors[math.random(1, #Colors)]
757 modFrame.Visible = false
758 gui:setText(modFrame, data.Name)
759
760 guiObject.Name = data.Name
761
762 local newValue = function(val, set)
763 if val == true then
764 else
765 if set then
766 Value = set
767 else
768 Value = not Value
769 end
770 end
771
772 if Value then
773 gui.tween(guiObject.Indicator, "Sine", "Out", .25, {BackgroundColor3 = Color3.fromRGB(60, 222, 60)})
774 guiObject.Indicator.Text = "ON"
775 guiData.baseColor = colors.TextEnabled
776 else
777 gui.tween(guiObject.Indicator, "Sine", "Out", .25, {BackgroundColor3 = Color3.fromRGB(222, 60, 60)})
778 guiObject.Indicator.Text = "OFF"
779 guiData.baseColor = colors.TextDisabled
780 end
781
782 if data.Callback then
783 data.Callback(Value)
784 end
785
786 saveData.Options[data.ID].Value = gui:pack(Value)
787 modFrame.Visible = Value
788
789 end
790
791 guiObject.MouseEnter:Connect(function()
792 gui.tween(guiObject.Indicator, "Sine", "Out", .25, {Size = UDim2.new(0, 40, 0, 25)})
793 end)
794
795 guiObject.MouseLeave:Connect(function()
796 gui.tween(guiObject.Indicator, "Sine", "Out", .25, {Size = UDim2.new(0, 0, 0, 25)})
797 end)
798
799 gui.tween(guiObject.Indicator, "Sine", "Out", .25, {Size = UDim2.new(0, 0, 0, 25)})
800 guiObject.Indicator.MouseButton1Down:Connect(function() newValue() end)
801 guiObject.Label.MouseButton1Down:Connect(function() newValue() end)
802 newValue(true)
803
804 guiData.ySize = 0
805 guiData.Open = false
806 guiData.baseColor = colors.TextDisabled
807
808 gui:createList(guiObject, guiData)
809 gui:setText(guiObject.Label, data.Name)
810 gui:textColorOnHover(guiObject.Label, guiData)
811
812 data.callback = newValue
813
814 return guiObject
815 end
816
817 function lib.Checkbox(data, dataArray)
818 local guiObject = Checkbox:Clone()
819 local Value = gui:unpack(saveData.Options[data.ID].Value, "boolean") or data.Default or false
820 local guiData = {}
821
822 guiObject.Name = "0"
823
824 local newValue = function(val)
825 if val == true then else
826 Value = not Value
827 end
828 if Value then
829 gui.tween(guiObject.Indicator, "Sine", "Out", .35, {Size = UDim2.new(0, 35, 0, 35)})
830 guiData.baseColor = colors.TextEnabled
831 else
832 gui.tween(guiObject.Indicator, "Sine", "Out", .35, {Size = UDim2.new(0, 0, 0, 35)})
833 guiData.baseColor = colors.TextDisabled
834 end
835 if data.Callback then
836 data.Callback(Value)
837 end
838 saveData.Options[data.ID].Value = gui:pack(Value)
839 end
840
841 guiObject.Indicator.MouseButton1Down:Connect(newValue)
842 guiObject.Label.MouseButton1Down:Connect(newValue)
843 newValue(true)
844
845 guiData.ySize = 0
846 guiData.Open = false
847 guiData.baseColor = colors.TextDisabled
848
849 gui:createList(guiObject, guiData)
850 gui:setText(guiObject.Label, data.Name)
851 gui:textColorOnHover(guiObject.Label, guiData)
852
853 return guiObject
854 end
855
856 function lib.Frame(data, dataArray)
857 local guiObject = Frame:Clone()
858
859 local guiData = {}
860 guiData.ySize = 0
861 guiData.Open = false
862
863 gui:createList(guiObject, guiData)
864 gui:setText(guiObject.Label, data.Name)
865 gui:textColorOnHover(guiObject.Label, guiData)
866
867 return guiObject
868 end
869
870 function lib.Container(data, dataArray)
871 local guiObject = Container:Clone()
872
873 guiObject.Position = gui:unpack(saveData.Options[data.ID].Position, "UDim2") or UDim2.new(0, 3, 0, 3 + gui:getn(settingsArray[2]) * 38)
874
875 local guiData = {}
876 guiData.yPos = 0
877 guiData.ySize = 0
878 guiData.Open = false
879
880 gui:textColorOnHover(guiObject.Title, guiData)
881 gui:createList(guiObject, guiData)
882 gui:setText(guiObject.Title, data.Name)
883 gui:makeDraggable(guiObject, function(x, y)
884 guiData.yPos = y
885 saveData.Options[data.ID].Position = gui:pack(guiObject.Position)
886 end)
887
888 return guiObject
889 end
890
891 -- UI Creation Library
892 function gui.create(self, guiType, data)
893 if self == gui then
894 self = settingsArray
895 end
896
897 data.ID = data.Name .. "_" .. (self[1].Name or "TOP")
898
899 if not saveData.Options[data.ID] then
900 saveData.Options[data.ID] = {}
901 end
902
903 if self[1].Object:FindFirstChild("Dropdown") then
904 self[1].Object.Dropdown.Visible = true
905 end
906
907 local dataArray = {}
908 local objectArray = {}
909 local selfArray = {dataArray, objectArray, create = gui.create, callback = data.Callback}
910 dataArray.Name = data.Name
911 dataArray.Data = data
912 dataArray.Object = lib[guiType](data, dataArray)
913 dataArray.self = selfArray
914
915 if guiType == "Toggle" then
916 lib.Hotkey(data, dataArray)
917 end
918 if data.Hint then
919 local Object = dataArray.Object
920 gui:addHint(Object:FindFirstChild("Title") or Object:FindFirstChild("Label"), data.Hint)
921 end
922
923 self[1][data.Name] = selfArray
924 self[2][data.Name] = dataArray.Object
925
926 dataArray.Object.Parent = self[1].Object:FindFirstChild("OptionsFrame") or self[1].Object
927
928 return dataArray
929 end
930
931 -- Connection Stuff
932 game:GetService("RunService").RenderStepped:Connect(function()
933 for _, func in pairs(connections) do
934 func()
935 end
936 end)
937
938 UserInputService.InputBegan:Connect(function(input, gameProcessed)
939 if gameProcessed then return end
940 for id, key in pairs(saveData.Hotkeys) do
941 if key == tostring(input.KeyCode) then
942 hotkeyFunctions[id]()
943 end
944 end
945 end)
946
947 Mods.Text = "OpenGui " .. _V
948
949 game.Close:Connect(function()
950 Save()
951 end)
952
953 return {gui, saveData, screenGui}
954end)()
955
956local notify = {Title ="HENTAI", Text ="Got It?", Duration = 120, Button1 = "OK"}
957
958local _ESP = (function()
959 local module = {}
960 module.Options = {
961 Enabled = false,
962 Color = Color3.new(0.647059, 0.298039, 0.741176),
963 Opacity = 0,
964 showself = false,
965 }
966 local storageobject ={}
967 --storageobject.ScreenViewport = Instance.new("ScreenGui")
968 local ScreenViewport = Instance.new("ScreenGui")
969 ScreenViewport.IgnoreGuiInset = true
970 storageobject.ScreenViewport = ScreenViewport
971 ScreenViewport = nil
972 local view = Instance.new("ViewportFrame",storageobject.ScreenViewport)
973 view.Ambient = game.Lighting.Ambient
974 view.BackgroundTransparency = 1
975 view.Size = UDim2.new(1,0,1,0)
976 view.CurrentCamera = workspace.CurrentCamera
977 storageobject.Viewport = view
978 if syn then
979 syn.protect_gui(storageobject.ScreenViewport)
980 end
981 storageobject.ScreenViewport.Parent = game:GetService("CoreGui")
982 local RunService = game:GetService("RunService")
983 local Players = game:GetService("Players")
984 local Player = Players.LocalPlayer
985
986 function module:Enable()
987 module.Options.Enabled = true
988 storageobject.ScreenViewport.Enabled = module.Options.Enabled
989 end
990 function module:Disable()
991 module.Options.Enabled = false
992 storageobject.ScreenViewport.Enabled = module.Options.Enabled
993 end
994 local function CloneCharacter(player)
995 local storearch = player.Character.Archivable
996 player.Character.Archivable = true
997 local model = player.Character:Clone()
998 player.Character.Archivable = storearch
999 storearch = false
1000 return model
1001 end
1002 local function ESP()
1003 if not module.Options.Enabled then
1004 return
1005 end
1006 for _,plr in pairs(Players:GetPlayers())do
1007 if plr ~= Player or module.Options.ShowSelf then
1008 local plrchar = storageobject.Viewport:FindFirstChild(plr.Name)
1009 if not plrchar then
1010 local plrchar = CloneCharacter(plr)
1011 plrchar.Parent = storageobject.Viewport
1012 end
1013 for _, bodypart in pairs(plr.Character:GetChildren())do
1014 if not plrchar:FindFirstChild(bodypart.Name) then
1015 plrchar:Destroy()
1016 break
1017 end
1018 plrchar[bodypart.Name].CFrame = bodypart.CFrame
1019 end
1020 end
1021 end
1022 end
1023 RunService:BindToRenderStep("ESP",1,ESP)
1024end)()
1025
1026local _ManaFly = (function()
1027 --// Variables
1028 local module = {}
1029
1030 local RunService = game:GetService("RunService")
1031 local Players = game:GetService("Players")
1032 local Player = Players.LocalPlayer
1033
1034 local MANAFLY = nil
1035 local leftorright,upordown,backorforward = 0,0,0
1036
1037 module.Options = {
1038 Enabled = false,
1039 Color = Color3.new(1, 0, 0),
1040 speed = 0,
1041 Opacity = 0,
1042 PartMaterial = Enum.Material.Air,
1043 Up="x",
1044 Down="z",
1045 Size = 2,
1046 CFrameOffset = 3.5,
1047 }
1048 function module:Enable()
1049 module.Options.Enabled = true
1050 leftorright,upordown,backorforward = 0,0,0
1051 end
1052
1053 function module:Disable()
1054 module.Options.Enabled = false
1055 leftorright,upordown,backorforward = 0,0,0
1056 end
1057 function module:SpeedChange(Speed)
1058 if leftorright > 0 then
1059 leftorright = Speed
1060 elseif leftorright < 0 then
1061 leftorright = -Speed
1062 end
1063 if upordown > 0 then
1064 upordown = Speed
1065 elseif upordown < 0 then
1066 upordown = -Speed
1067 end
1068 if backorforward > 0 then
1069 backorforward = Speed
1070 elseif backorforward < 0 then
1071 backorforward = -Speed
1072 end
1073 end
1074 local function fly()
1075 if not MANAFLY then
1076 MANAFLY = Instance.new("Part")
1077 end
1078 MANAFLY.Parent = workspace
1079 MANAFLY.Size = Vector3.new(module.Options.Size,1,module.Options.Size)
1080 MANAFLY.Transparency = module.Options.Opacity
1081 MANAFLY.Name = "MANAFLYPART"
1082 MANAFLY.Material = module.Options.PartMaterial
1083 MANAFLY.Color = module.Options.Color
1084 MANAFLY.Anchored = true
1085 if module.Options.Enabled then
1086 local Character = Player.Character
1087 local PrimaryPartCFrame = Character:GetPrimaryPartCFrame()
1088 Character:SetPrimaryPartCFrame(PrimaryPartCFrame:Lerp(PrimaryPartCFrame*CFrame.new(leftorright,upordown,backorforward),1))
1089 MANAFLY.CFrame = Character.HumanoidRootPart.CFrame * CFrame.new(0,-module.Options.CFrameOffset,0)
1090 end
1091 end
1092 coroutine.resume(coroutine.create(function()
1093 while true do
1094 RunService:BindToRenderStep("MANAFLY",1,fly)
1095 wait()
1096 end
1097 end))
1098 RunService:BindToRenderStep("MANAFLY",1,fly)
1099 Player:GetMouse().KeyDown:Connect(function(k)
1100 if not module.Options.Enabled then return end
1101 if k == "w" then
1102 backorforward = backorforward - module.Options.speed
1103 elseif k == "s" then
1104 backorforward = backorforward + module.Options.speed
1105 elseif k == "a" then
1106 leftorright = leftorright - module.Options.speed
1107 elseif k == "d" then
1108 leftorright = leftorright + module.Options.speed
1109 elseif k == module.Options.Down then
1110 upordown = upordown - module.Options.speed
1111 elseif k == module.Options.Up then
1112 upordown = upordown + module.Options.speed
1113 end
1114 end)
1115 Player:GetMouse().KeyUp:Connect(function(k)
1116 if not module.Options.Enabled then
1117 return
1118 end
1119 if backorforward == 0 and leftorright == 0 and upordown == 0 then
1120 return
1121 end
1122 if k == "w" then
1123 backorforward = backorforward + module.Options.speed
1124 elseif k == "s" then
1125 backorforward = backorforward - module.Options.speed
1126 elseif k == "a" then
1127 leftorright = leftorright + module.Options.speed
1128 elseif k == "d" then
1129 leftorright = leftorright - module.Options.speed
1130 elseif k == module.Options.Down then
1131 upordown = upordown + module.Options.speed
1132 elseif k == module.Options.Up then
1133 upordown = upordown - module.Options.speed
1134 end
1135 end)
1136 return module
1137end)()
1138
1139local _ManaRun= (function()
1140 --// Variables
1141 local module = {}
1142
1143 local RunService = game:GetService("RunService")
1144 local Players = game:GetService("Players")
1145 local Player = Players.LocalPlayer
1146
1147 local leftorright,backorforward = 0,0
1148
1149 module.Options = {
1150 Enabled = false,
1151 speed = 0,
1152 }
1153 function module:Enable()
1154 module.Options.Enabled = true
1155 leftorright,backorforward = 0,0
1156 end
1157
1158 function module:Disable()
1159 module.Options.Enabled = false
1160 leftorright,backorforward = 0,0
1161 end
1162 function module:SpeedChange(Speed)
1163 if leftorright > 0 then
1164 leftorright = Speed
1165 elseif leftorright < 0 then
1166 leftorright = -Speed
1167 end
1168 if backorforward > 0 then
1169 backorforward = Speed
1170 elseif backorforward < 0 then
1171 backorforward = -Speed
1172 end
1173 end
1174 RunService:BindToRenderStep("MANARUN",1,function()
1175 if module.Options.Enabled then
1176 Player.Character:SetPrimaryPartCFrame(Player.Character:GetPrimaryPartCFrame():Lerp(Player.Character:GetPrimaryPartCFrame()*CFrame.new(leftorright,0,backorforward),1))
1177 end
1178 end)
1179 Player:GetMouse().KeyDown:Connect(function(k)
1180 if k == "w" then
1181 backorforward = backorforward - module.Options.speed
1182 elseif k == "s" then
1183 backorforward = backorforward + module.Options.speed
1184 elseif k == "a" then
1185 leftorright = leftorright - module.Options.speed
1186 elseif k == "d" then
1187 leftorright = leftorright + module.Options.speed
1188 end
1189 end)
1190 Player:GetMouse().KeyUp:Connect(function(k)
1191 if k == "w" then
1192 backorforward = backorforward + module.Options.speed
1193 elseif k == "s" then
1194 backorforward = backorforward - module.Options.speed
1195 elseif k == "a" then
1196 leftorright = leftorright + module.Options.speed
1197 elseif k == "d" then
1198 leftorright = leftorright - module.Options.speed
1199 end
1200 end)
1201 return module
1202end)()
1203
1204local _FullBright = (function()
1205 --// Variables
1206 local module = {}
1207
1208 module.Options = {
1209 Enabled = false,
1210 ExposureCompensation=0,
1211 Brightness = 2
1212 }
1213
1214 local RunService = game:GetService("RunService")
1215 local Players = game:GetService("Players")
1216 local Player = Players.LocalPlayer
1217
1218 function module:Enable()
1219 module.Options.Enabled = true
1220 end
1221
1222 function module:Disable()
1223 module.Options.Enabled = false
1224 end
1225
1226 game:GetService("RunService"):BindToRenderStep("FULLBRIGHT",1,function()
1227 if module.Options.Enabled then
1228 game:GetService("Lighting").Ambient = Color3.new(1,1,1)
1229 game:GetService("Lighting").FogEnd = 100000000000000000000000
1230 game:GetService("Lighting").FogStart = 100000000000000000000000
1231 game:GetService("Lighting").Brightness = module.Options.Brightness
1232 game:GetService("Lighting").ExposureCompensation = module.Options.ExposureCompensation
1233 game:GetService("Lighting").GeographicLatitude = 41.733
1234 game:GetService("Lighting").ColorShift_Bottom = Color3.new(1,1,1)
1235 game:GetService("Lighting").ColorShift_Top = Color3.new(1,1,1)
1236 game:GetService("Lighting").FogColor = Color3.new(1,1,1)
1237 game:GetService("Lighting").ClockTime = 12
1238 end
1239 end)
1240
1241 return module
1242end)()
1243
1244local _Healing = (function()
1245 --// Variables
1246 local module = {}
1247
1248 module.Options = {
1249 Enabled = false,
1250 Heal=1,
1251 Threshold=1
1252 }
1253
1254 local RunService = game:GetService("RunService")
1255 local Players = game:GetService("Players")
1256 local Player = Players.LocalPlayer
1257
1258 function module:Enable()
1259 module.Options.Enabled = true
1260 end
1261
1262 function module:Disable()
1263 module.Options.Enabled = false
1264 end
1265
1266 RunService.Stepped:Connect(function()
1267 if module.Options.Enabled then
1268 local humanoid=Player.Character:FindFirstChildOfClass("Humanoid")
1269 if humanoid.Health > 0 then
1270 if humanoid.Health/humanoid.MaxHealth < module.Options.Threshold/100 then
1271 local args = {
1272 [1] = -module.Options.Heal
1273 }
1274 Player.Character.CharacterHandler.Events.Fall:FireServer(unpack(args))
1275 end
1276 end
1277 end
1278 end)
1279 return module
1280end)()
1281
1282local _Noclip = (function()
1283 --// Variables
1284 local module = {}
1285
1286 local RunService = game:GetService("RunService")
1287 local Players = game:GetService("Players")
1288 local Player = Players.LocalPlayer
1289 local MANAFLY = nil
1290
1291 module.Options = {
1292 Enabled = false,
1293 Color = Color3.new(1, 0, 0),
1294 speed = 0,
1295 Opacity = 0,
1296 Up="x",
1297 Down="z",
1298 }
1299
1300 function module:Enable()
1301 module.Options.Enabled = true
1302 end
1303
1304 function module:Disable()
1305 module.Options.Enabled = false
1306 end
1307 RunService.Stepped:Connect(function()
1308 if module.Options.Enabled then
1309 for _,v in pairs(Player.Character:GetDescendants())do
1310 if v:IsA("BasePart") then
1311 v.CanCollide = false
1312 end
1313 end
1314 end
1315 end)
1316 return module
1317end)()
1318
1319
1320--// Variables
1321local RunService = game:GetService("RunService")
1322local HttpService = game:GetService("HttpService")
1323local UserInputService = game:GetService("UserInputService")
1324local Players = game:GetService("Players")
1325local Player = Players.LocalPlayer
1326local Mouse = Player:GetMouse()
1327
1328local gui = GUIData[1]
1329local saveData = GUIData[2]
1330local screenGui = GUIData[3]
1331
1332local screenscale = 250
1333local opacity = 1
1334local backcolor = Color3.new()
1335
1336--// Saving
1337local readfile = readfile or function() end
1338pcall(function()
1339 local JSONData = readfile("OpenGui.txt")
1340 if JSONData then
1341 local LUAData = HttpService:JSONDecode(JSONData)
1342 saveData.Options = LUAData.Options
1343 saveData.Hotkeys = LUAData.Hotkeys
1344 print("Save Data found")
1345 else
1346 print("Save Data not found")
1347 end
1348end)
1349
1350
1351--// UI Creation
1352
1353--// Render Frame
1354local Render = gui:create("Container", {
1355 Name = "Render",
1356})--|
1357local OpenGui = Render.self:create("Toggle", {
1358 Name = "OpenGui",
1359 Default = true,
1360 Hotkey = tostring(Enum.KeyCode.RightControl),
1361 Hint = "The navigation GUI",
1362 Callback = function(enabled)
1363 for _, frame in pairs(screenGui:GetChildren()) do
1364 if frame:IsA("Frame") then
1365 frame.Visible = enabled
1366 end
1367 end
1368 screenGui.Modal.Visible = enabled
1369 screenGui.Hint.Visible = false
1370 end,
1371})--|
1372
1373local Opacity = OpenGui.self:create("Number", {
1374 Name = "Opacity",
1375 Min = 0,
1376 Max = 1,
1377 Round = 0.01,
1378 Default = 0.75,
1379 Hint = "Transparency of the navigation GUI",
1380 Callback = function(alpha)
1381 opacity = 1 - alpha
1382 for _, frame in pairs(screenGui:GetChildren()) do
1383 if frame:IsA("Frame") then
1384 frame.BackgroundTransparency = 1 - alpha
1385 frame.OptionsFrame.BackgroundTransparency = 1 - alpha
1386 end
1387 end
1388 end,
1389})
1390
1391local Width = OpenGui.self:create("Number", {
1392 Name = "Width",
1393 Min = 200,
1394 Max = 400,
1395 Round = 1,
1396 Default = 300,
1397 Hint = "Width of the navigation GUI",
1398 Callback = function(scale)
1399 screenscale = scale
1400 for _, frame in pairs(screenGui:GetChildren()) do
1401 if frame:IsA("Frame") then
1402 frame.Size = UDim2.new(0, scale, 0, frame.Size.Y.Offset)
1403 end
1404 end
1405 end,
1406})
1407
1408local Color = OpenGui.self:create("Color", {
1409 Name = "Background Color",
1410 Default = Color3.fromRGB(40, 40, 40),
1411 Hint = "Background color of the navigation GUI",
1412 Callback = function(color)
1413 backcolor = color
1414 for _, frame in pairs(screenGui:GetChildren()) do
1415 if frame:IsA("Frame") then
1416 frame.BackgroundColor3 = color
1417 frame.OptionsFrame.BackgroundColor3 = color
1418 end
1419 end
1420 end,
1421})
1422--[[
1423local ESP = Render.self:create("Toggle", {
1424 Name = "ESP",
1425 Default = false,
1426 Hint = "Toggle enemy ESP",
1427 Callback = function(enabled)
1428 _ESP.Options.Enabled = enabled
1429 if enabled then
1430 _ESP:Enable()
1431 else
1432 _ESP:Disable()
1433 end
1434 end,
1435})
1436
1437local ESPColor = ESP.self:create("Color", {
1438 Name = "ESP Color",
1439 Default = Color3.new(1, 1, 1),
1440 Hint = "Color of the enemy ESP",
1441 Callback = function(color)
1442 _ESP.Options.Color = color
1443 end,
1444})
1445
1446local ESPNpcsColor = ESP.self:create("Color", {
1447 Name = "Npcs Color",
1448 Default = Color3.new(1, 1, 1),
1449 Hint = "Color of Npcs enemy ESP",
1450 Callback = function(color)
1451 _ESP.Options.Npcs_Color = color
1452 end,
1453})
1454
1455local ESPShowTeam = ESP.self:create("Checkbox", {
1456 Name = "Show Magical/Legendary",
1457 Default = false,
1458 Hint = "Magical/Legendary are highlighted",
1459 Callback = function(enabled)
1460 _ESP.Options.MagicalOrLegendary = enabled
1461 end,
1462})
1463
1464local ESPMagicalColor = ESP.self:create("Color", {
1465 Name = "Magical Color",
1466 Default = Color3.new(0, 1, 1),
1467 Hint = "Color of Magical enemy ESP",
1468 Callback = function(color)
1469 _ESP.Options.Magical_Color = color
1470 end,
1471})
1472
1473local ESPLegendaryColor = ESP.self:create("Color", {
1474 Name = "Legendary Color",
1475 Default = Color3.new(1, 1, 0),
1476 Hint = "Color of Legendary enemy ESP",
1477 Callback = function(color)
1478 _ESP.Options.Legendary_Color = color
1479 end,
1480})
1481
1482local ESPOpacity = ESP.self:create("Number", {
1483 Name = "Opacity",
1484 Default = 0.5,
1485 Min = 0,
1486 Max = 1,
1487 Round = 0.001,
1488 Hint = "Visibility of the ESP",
1489 Callback = function(opacity)
1490 _ESP.Options.Opacity = opacity
1491 end,
1492})
1493]]
1494local FullBright = Render.self:create("Toggle", {
1495 Name = "FullBright",
1496 Default = false,
1497 Hint = "Toggle FullBright",
1498 Callback = function(enabled)
1499 _FullBright.Options.Enabled = enabled
1500 if enabled then
1501 _FullBright:Enable()
1502 else
1503 _FullBright:Disable()
1504 end
1505 end,
1506})
1507
1508local ExposureCompensation = FullBright.self:create("Number", {
1509 Name = "ExposureCompensation ",
1510 Default = 0.5,
1511 Min = 0,
1512 Max = 100,
1513 Round = 0.001,
1514 Hint = "Change ExposureCompensation",
1515 Callback = function(exposureCompensation)
1516 _FullBright.Options.ExposureCompensation = exposureCompensation
1517 end,
1518})
1519
1520local Brightness = FullBright.self:create("Number", {
1521 Name = "Brightness ",
1522 Default = 2,
1523 Min = 0,
1524 Max = 40,
1525 Round = 0.001,
1526 Hint = "Change Brightness",
1527 Callback = function(brightness)
1528 _FullBright.Options.Brightness = brightness
1529 end,
1530})
1531
1532local Mana = gui:create("Container", {
1533 Name = "Mana",
1534})
1535
1536local ManaFly = Mana.self:create("Toggle", {
1537 Name = "ManaFly",
1538 Default = false,
1539 Hint = "Toggle ManaFly",
1540 Hotkey = tostring(Enum.KeyCode.B),
1541 Callback = function(enabled)
1542 _ManaFly.Options.Enabled = enabled
1543 if enabled then
1544 _ManaFly:Enable()
1545 else
1546 _ManaFly:Disable()
1547 end
1548 end,
1549})
1550
1551local ManaFlySpeed = ManaFly.self:create("Number", {
1552 Name = "FlySpeed",
1553 Default = 0,
1554 Min = 0,
1555 Max = 100,
1556 Round = 0.001,
1557 Hint = "Speed Boost",
1558 Callback = function(Speed)
1559 _ManaFly:SpeedChange(Speed)
1560 _ManaFly.Options.speed = tonumber(Speed)
1561 end,
1562})
1563local ManaPartSize = ManaFly.self:create("Number", {
1564 Name = "PartSize",
1565 Default = 1,
1566 Min = 1,
1567 Max = 100,
1568 Round = 0.001,
1569 Hint = "PartSize",
1570 Callback = function(Size)
1571 _ManaFly.Options.Size= tonumber(Size)
1572 end,
1573})
1574
1575local ManaFlyOpacity = ManaFly.self:create("Number", {
1576 Name = "Opacity",
1577 Default = 0,
1578 Min = 0,
1579 Max = 1,
1580 Round = 0.001,
1581 Hint = "Visibility of the Part",
1582 Callback = function(opacity)
1583 _ManaFly.Options.Opacity = 1-opacity
1584 end,
1585})
1586
1587local ManaPartMaterial = ManaFly.self:create("Mode", {
1588 Name = "ManaPart Material",
1589 Hint = "Change ManaPart Material",
1590 Default = 1,
1591 Modes = {
1592 "Air",
1593 "ForceField"
1594 },
1595 Callback = function(value)
1596 _ManaFly.Options.PartMaterial = value
1597 end,
1598})
1599
1600local ManaSoul = Mana.self:create("Toggle", {
1601 Name = "ManaSoul",
1602 Default = false,
1603 Hint = "Toggle Noclip",
1604 Callback = function(enabled)
1605 _Noclip.Options.Enabled = enabled
1606 if enabled then
1607 _Noclip:Enable()
1608 else
1609 _Noclip:Disable()
1610 end
1611 end,
1612})
1613
1614
1615local ManaRun = Mana.self:create("Toggle", {
1616 Name = "ManaRun",
1617 Default = false,
1618 Hint = "Toggle ManaRun",
1619 Hotkey = tostring(Enum.KeyCode.V),
1620 Callback = function(enabled)
1621 _ManaRun.Options.Enabled = enabled
1622 if enabled then
1623 _ManaRun:Enable()
1624 else
1625 _ManaRun:Disable()
1626 end
1627 end,
1628})
1629local ManaRunSpeed = ManaRun.self:create("Number", {
1630 Name = "Boost Speed",
1631 Default = 0,
1632 Min = 0,
1633 Max = 100,
1634 Round = 0.001,
1635 Hint = "Speed Boost",
1636 Callback = function(Speed)
1637 _ManaRun:SpeedChange(Speed)
1638 _ManaRun.Options.speed = tonumber(Speed)
1639 end,
1640})
1641RunService.RenderStepped:Connect(function()
1642 for _, frame in pairs(screenGui:GetChildren()) do
1643 if frame:IsA("Frame") then
1644 frame.Size = UDim2.new(0, screenscale, 0, frame.Size.Y.Offset)
1645
1646 frame.BackgroundTransparency = opacity
1647 frame.OptionsFrame.BackgroundTransparency = opacity
1648
1649 frame.BackgroundColor3 = backcolor
1650 frame.OptionsFrame.BackgroundColor3 = backcolor
1651 end
1652 end
1653end)
1654
1655notify.Text = "Loaded"
1656game:GetService("StarterGui"):SetCore("SendNotification",notify)
1657notify.Text = "Got it?"