· 3 years ago · Nov 24, 2021, 10:10 AM
1if not _G.require then
2 _G.require = require
3end
4
5--// API References
6local GUIData = (function()
7 -- Variables
8 _V = 1
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 gui:textColorOnHover(guiObject.Title, guiData)
880 gui:createList(guiObject, guiData)
881 gui:setText(guiObject.Title, data.Name)
882 gui:makeDraggable(guiObject, function(x, y)
883 guiData.yPos = y
884 saveData.Options[data.ID].Position = gui:pack(guiObject.Position)
885 end)
886
887 return guiObject
888 end
889
890 -- UI Creation Library
891 function gui.create(self, guiType, data)
892 if self == gui then
893 self = settingsArray
894 end
895
896 data.ID = data.Name .. "_" .. (self[1].Name or "TOP")
897
898 if not saveData.Options[data.ID] then
899 saveData.Options[data.ID] = {}
900 end
901
902 if self[1].Object:FindFirstChild("Dropdown") then
903 self[1].Object.Dropdown.Visible = true
904 end
905
906 local dataArray = {}
907 local objectArray = {}
908 local selfArray = {dataArray, objectArray, create = gui.create, callback = data.Callback}
909 dataArray.Name = data.Name
910 dataArray.Data = data
911 dataArray.Object = lib[guiType](data, dataArray)
912 dataArray.self = selfArray
913
914 if guiType == "Toggle" then
915 lib.Hotkey(data, dataArray)
916 end
917 if data.Hint then
918 local Object = dataArray.Object
919 gui:addHint(Object:FindFirstChild("Title") or Object:FindFirstChild("Label"), data.Hint)
920 end
921
922 self[1][data.Name] = selfArray
923 self[2][data.Name] = dataArray.Object
924
925 dataArray.Object.Parent = self[1].Object:FindFirstChild("OptionsFrame") or self[1].Object
926
927 return dataArray
928 end
929
930 -- Connection Stuff
931 game:GetService("RunService").RenderStepped:Connect(function()
932 for _, func in pairs(connections) do
933 func()
934 end
935 end)
936
937 UserInputService.InputBegan:Connect(function(input, gameProcessed)
938 if gameProcessed then return end
939 for id, key in pairs(saveData.Hotkeys) do
940 if key == tostring(input.KeyCode) then
941 if hotkeyFunctions[id] then
942 hotkeyFunctions[id]()
943 end
944 end
945 end
946 end)
947
948 Mods.Text = "Own Hub " .. _V
949
950 game.Close:Connect(function()
951 Save()
952 end)
953
954 return {gui, saveData, screenGui}
955end)()
956
957local notify = {Title ="Own Hub", Text ="Loaded", Duration = 120, Button1 = "OK"}
958local _CustomChams=(function()
959 local modules = {}
960 modules.Options = {
961 Enable = true,
962 color = Color3.new(0.333333, 0, 1)
963 }
964 local function ChangedProperty(obj,property)
965 local event = Instance.new("BindableEvent")
966 spawn(function()
967 local oldproperty=obj[property]
968 while true do
969 game:GetService("RunService").RenderStepped:Wait()
970 if obj[property] ~= oldproperty then
971 event:fire(obj[property])
972 oldproperty=obj[property]
973 end
974 if not obj.Parent then
975 break
976 end
977 end
978 if not obj.Parent then
979 event:Destroy()
980 end
981 end)
982 return event.Event
983 end
984 modules.eventforkillswtich={}
985 function modules:Enable()
986 modules.ui = Instance.new("ScreenGui")
987 if syn then
988 --syn.protect_gui(modules.ui)
989 end
990 local succ,err = pcall(function()
991 modules.ui.Parent = game:GetService("CoreGui")
992 end)
993 if not succ then
994 print("ERROR:\n,",err)
995 modules.ui.Parent = game:GetService("Players").LocalPlayer.PlayerGui
996 end
997 modules.viewport = Instance.new("ViewportFrame",modules.ui)
998 modules.viewport.Size = UDim2.new(1, 0, 1, 0)
999 modules.viewport.BackgroundTransparency = 1
1000 modules.viewport.CurrentCamera = workspace.CurrentCamera
1001 modules.ui.IgnoreGuiInset = true
1002 modules.Options.Enable = true
1003 end
1004 local function _Esp(p)
1005 if not modules.viewport then
1006 return
1007 end
1008 local parent = modules.viewport:FindFirstChild(p.Name)
1009 if not parent then
1010 parent = Instance.new("Model",modules.viewport)
1011 local hum = Instance.new("Humanoid",parent)
1012 hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
1013 parent.Name = p.Name
1014 elseif not parent:IsA("Model") then
1015 parent:Destroy()
1016 _Esp(p)
1017 return
1018 end
1019 if parent then
1020 if p.Character ~= nil then
1021 for _,v in pairs(p.Character:GetDescendants())do
1022 if v.Name ~="HumanoidRootPart" and v:IsA("BasePart") then
1023 local clonedpart = parent:FindFirstChild(v.Name)
1024 if not clonedpart then
1025 clonedpart=v:Clone()
1026 local event = ChangedProperty(v,"CFrame")
1027 for _,v in pairs(clonedpart:GetDescendants())do
1028 if v:IsA("Decal") then
1029 v:Destroy()
1030 end
1031 end
1032 if modules.eventforkillswtich[v.Name..p.Name] then
1033 modules.eventforkillswtich[v.Name..p.Name]:Disconnect()
1034 end
1035 modules.eventforkillswtich[v.Name..p.Name]=event:Connect(function(cf)
1036 clonedpart.CFrame = cf
1037 end)
1038 end
1039 clonedpart.Name = v.Name
1040 clonedpart.Parent = parent
1041 clonedpart.Material = Enum.Material.ForceField
1042 clonedpart.Color = modules.Options.color
1043 end
1044 end
1045 end
1046 end
1047 end
1048 game:GetService("RunService"):BindToRenderStep("CustomESP",Enum.RenderPriority.Character.Value-1,function()
1049 if modules.Options.Enable then
1050 for _,plr in pairs(game:GetService("Players"):GetPlayers())do
1051 if not modules.Options.Enable then
1052 break
1053 end
1054 _Esp(plr)
1055 end
1056 end
1057 end)
1058 function modules:Disable()
1059 modules.Options.Enable = false
1060 game:GetService("RunService").RenderStepped:Wait()
1061 if modules.eventforkillswtich then
1062 for _,event in pairs(modules.eventforkillswtich)do
1063 event:Disconnect()
1064 end
1065 if modules.ui then
1066 modules.ui:Destroy()
1067 modules.ui = nil
1068 end
1069 end
1070 end
1071 return modules
1072end)()
1073
1074local _Chams = (function()
1075 --// Variables
1076 local RunService = game:GetService("RunService")
1077 local Players = game:GetService("Players")
1078 local Player = Players.LocalPlayer
1079 local Screen = Instance.new("ScreenGui")
1080 local Viewport = Instance.new("ViewportFrame", Screen)
1081
1082 local module = {}
1083 local characters = {}
1084 local clones = {}
1085 local parts = {}
1086
1087 module.Options = {
1088 Enabled = false,
1089 Parent = script.Parent or game.CoreGui,
1090 Color = Color3.new(1, 1, 1),
1091 ShowDescendants = false,
1092 TeamColor = false,
1093 ShowSelf = false,
1094 ShowTeam = false,
1095 Mode = "Shader",
1096 Opacity = 1,
1097 MaxDistance = 500,
1098 }
1099 --// Edits
1100 Viewport.Size = UDim2.new(1, 0, 1, 0)
1101 Viewport.BackgroundTransparency = 1
1102 Viewport.CurrentCamera = workspace.CurrentCamera
1103 Screen.IgnoreGuiInset = true
1104 --// Functions
1105 local function getParts(Model)
1106 local parts = {}
1107 local descendants = Model:GetDescendants()
1108 local descendantsn = #descendants
1109 for i = 1, descendantsn do
1110 local desc = descendants[i]
1111 if desc:IsA("BasePart") then
1112 table.insert(parts, desc)
1113 end
1114 end
1115 return parts
1116 end
1117 local function getPart(Model)
1118 return Model.PrimaryPart or Model:FindFirstChild("HumanoidRootPart") or Model:FindFirstChildWhichIsA("Part")
1119 end
1120 function module:Clone(Object)
1121 local isArchivable = Object.Archivable
1122 local Clone
1123 Object.Archivable = true
1124 Clone = Object:Clone()
1125 Object.Archivable = isArchivable
1126 if module.Options.Mode == "Shader" then
1127 Viewport.Ambient = Color3.fromRGB(200, 200, 200)
1128 else
1129 Viewport.Ambient = Color3.fromRGB(255, 255, 255)
1130 end
1131 for _, child in pairs(Clone:GetDescendants()) do
1132 if child:IsA("Script") or child:IsA("LocalScript") or child:IsA("Sound") then
1133 child:Destroy()
1134 elseif child:IsA("Humanoid") then
1135 child.DisplayDistanceType = "None"
1136 elseif module.Options.Mode ~= "Shader" then
1137 if child:IsA("SpecialMesh") then
1138 if module.Options.Mode ~= "ForceField" then
1139 child.TextureId = ""
1140 end
1141 elseif child:IsA("MeshPart") then
1142 if module.Options.Mode ~= "ForceField" then
1143 child.TextureID = ""
1144 end
1145 elseif child:IsA("BasePart") then
1146 if module.Options.Mode ~= "ForceField" then
1147 child.Material = Enum.Material.Neon
1148 else
1149 child.Material = Enum.Material.ForceField
1150 end
1151 elseif child:IsA("Clothing") or child:IsA("Decal") then
1152 child:Destroy()
1153 end
1154 end
1155 end
1156 return Clone
1157 end
1158 function module:Enable()
1159 module.Options.Enabled = true
1160 Screen.Parent = module.Options.Parent
1161 module:ReloadCharacters()
1162 end
1163
1164 function module:Disable()
1165 module.Options.Enabled = false
1166 Screen.Parent = nil
1167 end
1168
1169 function module:ReloadCharacters()
1170 Viewport:ClearAllChildren()
1171 for player, character in pairs(characters) do
1172 local clone = module:Clone(character)
1173 clone.Name = player.Name
1174 clone.Parent = Viewport
1175 clones[player] = clone
1176 end
1177 end
1178
1179 local function newPlayer(player)
1180 if player.Character then
1181 characters[player] = player.Character
1182
1183 local clone = module:Clone(player.Character)
1184 clone.Name = player.Name
1185 clone.Parent = Viewport
1186 clones[player] = clone
1187 end
1188 player.CharacterAdded:Connect(function(char)
1189 if clones[player] then
1190 clones[player]:Destroy()
1191 clones[player] = nil
1192 end;if characters[player] then
1193 characters[player]:Destroy()
1194 characters[player] = nil
1195 end
1196
1197 characters[player] = char
1198
1199 local clone = module:Clone(char)
1200 clone.Name = player.Name
1201 clone.Parent = Viewport
1202 clones[player] = clone
1203 end)
1204 end
1205
1206 Players.PlayerAdded:Connect(newPlayer)
1207 Players.PlayerRemoving:Connect(function(player)
1208 if clones[player] then
1209 clones[player]:Destroy()
1210 clones[player] = nil
1211 end;if characters[player] then
1212 characters[player]:Destroy()
1213 characters[player] = nil
1214 end
1215 end)
1216 for _, player in pairs(Players:GetPlayers()) do
1217 newPlayer(player)
1218 end
1219 RunService.RenderStepped:Connect(function()
1220 if module.Options.Enabled then
1221 for player, character in pairs(characters) do
1222 local clone = clones[player]
1223 local target = getPart(clone)
1224 if target then
1225 if ((player.Team == Player.Team and module.Options.ShowTeam) or player.Team ~= Player.Team) and target and (target.Position - workspace.CurrentCamera.CFrame.p).Magnitude <= module.Options.MaxDistance then
1226 if (player == Player and module.Options.ShowSelf) or player ~= Player then
1227 local parts = getParts(clone)
1228 for i = 1, #parts do
1229 local obj = parts[i]
1230 local cor = character:FindFirstChild(obj.Name, true)
1231 if character:FindFirstChild(obj.Parent.Name) then
1232 cor = character:FindFirstChild(obj.Parent.Name):FindFirstChild(obj.Name)
1233 end
1234 if cor and obj then
1235 if module.Options.TeamColor then
1236 obj.Color = player.TeamColor.Color
1237 elseif module.Options.Mode ~= "Shader" then
1238 obj.Color = Color3.new(1, 1, 1)
1239 end
1240 if module.Options.ShowDescendants then
1241 obj.CFrame = cor.CFrame
1242 elseif obj.Parent == clone then
1243 obj.CFrame = cor.CFrame
1244 else
1245 obj.CFrame = CFrame.new(10000, 10000, 10000)
1246 end
1247 end
1248 end
1249 if clone.Parent == nil then
1250 clone.Parent = Viewport
1251 end
1252 else
1253 clone.Parent = nil
1254 end
1255 else
1256 clone.Parent = nil
1257 end
1258 else
1259 clone.Parent = nil
1260 end
1261 end
1262 Viewport.ImageColor3 = module.Options.Color
1263 Viewport.ImageTransparency = 1 - module.Options.Opacity
1264 end
1265 end)
1266 return module
1267end)()
1268--[[]]
1269local _ManaFly = (function()
1270 local tweenservice = game:GetService("TweenService")
1271 local module = {}
1272
1273 local RunService = game:GetService("RunService")
1274 local Players = game:GetService("Players")
1275 local Player = Players.LocalPlayer
1276 local x,y,z = 0,0,0
1277 module.Options = {
1278 Enabled = false,
1279 Color = Color3.new(1, 0, 0),
1280 speed = 0,
1281 Opacity = 0,
1282 PartMaterial = Enum.Material.Air,
1283 Up="x",
1284 Down="z",
1285 Size = 2,
1286 CFrameOffset = 3.5,
1287 }
1288 function module:Enable()
1289 module.Options.Enabled = true
1290 x,y,z = 0,0,0
1291 end
1292
1293 function module:Disable()
1294 module.Options.Enabled = false
1295 x,y,z = 0,0,0
1296 end
1297 function module:SpeedChange(Speed)
1298 if z > 0 then
1299 z = Speed
1300 elseif z < 0 then
1301 z = -Speed
1302 end
1303 if y > 0 then
1304 y = Speed
1305 elseif y < 0 then
1306 y = -Speed
1307 end
1308 if x > 0 then
1309 x = Speed
1310 elseif x < 0 then
1311 x = -Speed
1312 end
1313 end
1314 local bodyvelocity,bodygyro
1315 Player:GetMouse().KeyDown:Connect(function(k)
1316 if not module.Options.Enabled then return end
1317 if k == "w" then
1318 x = x - module.Options.speed
1319 elseif k == "s" then
1320 x = x + module.Options.speed
1321 elseif k == "a" then
1322 z = z - module.Options.speed
1323 elseif k == "d" then
1324 z = z + module.Options.speed
1325 elseif k == module.Options.Down then
1326 y = y - module.Options.speed
1327 elseif k == module.Options.Up then
1328 y = y + module.Options.speed
1329 end
1330 --rconsoleinfo("ManaFly: X: "..tostring(x).." Y: "..tostring(y).." Z: "..tostring(z))
1331 end)
1332 Player:GetMouse().KeyUp:Connect(function(k)
1333 if not module.Options.Enabled then
1334 return
1335 end
1336 if x == 0 and z == 0 and y == 0 then
1337 return
1338 end
1339 if k == "w" then
1340 x = x + module.Options.speed
1341 elseif k == "s" then
1342 x = x - module.Options.speed
1343 elseif k == "a" then
1344 z = z + module.Options.speed
1345 elseif k == "d" then
1346 z = z - module.Options.speed
1347 elseif k == module.Options.Down then
1348 y = y + module.Options.speed
1349 elseif k == module.Options.Up then
1350 y = y - module.Options.speed
1351 end
1352 end)
1353 local part
1354 RunService.Stepped:Connect(function()
1355 if part then
1356 part.CanCollide = false
1357 part.CanTouch = false
1358 part.Transparency = 1
1359 part.Size=Vector3.new(1,1,1)
1360 end
1361 end)
1362 local MANAFLY
1363 local function CancelYVelocity()
1364 if not MANAFLY then
1365 MANAFLY = Instance.new("Part",workspace)
1366 end
1367 MANAFLY.Parent = workspace
1368 MANAFLY.Size = Vector3.new(module.Options.Size,1,module.Options.Size)
1369 MANAFLY.Transparency = module.Options.Opacity
1370 MANAFLY.Name = "MANAFLYPART"
1371 MANAFLY.Material = module.Options.PartMaterial
1372 MANAFLY.Color = module.Options.Color
1373 MANAFLY.Anchored = true
1374 MANAFLY.CanTouch = false
1375 end
1376 local function fly()
1377 if module.Options.Enabled then
1378 --rconsoleinfo("ManaFly:loop")
1379 CancelYVelocity()
1380 local targetCF = workspace.CurrentCamera.CFrame
1381 if not part then
1382 part = Instance.new("Part",workspace)
1383 part.CFrame = Player.Character:GetPrimaryPartCFrame()
1384 end
1385 if not bodyvelocity then
1386 bodyvelocity=Instance.new("BodyVelocity", part)
1387 end
1388 if not bodygyro then
1389 bodygyro = Instance.new("BodyGyro", part)
1390 end
1391 bodyvelocity.MaxForce = Vector3.new(9e9,9e9,9e9)
1392 bodygyro.P = 9e4
1393 bodygyro.maxTorque = Vector3.new(9e9, 9e9, 9e9)
1394 bodygyro.CFrame = targetCF
1395 --rconsoleinfo("ManaFly: X: "..tostring(x).." Y: "..tostring(y).." Z: "..tostring(z))
1396 bodyvelocity.Velocity =(targetCF*CFrame.new(z,y,x)).p - targetCF.p
1397 if Player.Character == nil then
1398 bodyvelocity:Destroy()
1399 bodygyro:Destroy()
1400 bodyvelocity = nil
1401 bodygyro = nil
1402 else
1403 Player.Character:SetPrimaryPartCFrame(part.CFrame* CFrame.new(0,module.Options.CFrameOffset,0))
1404 Player.Character.HumanoidRootPart.Velocity = Vector3.new(Player.Character.HumanoidRootPart.Velocity.x,0,Player.Character.HumanoidRootPart.Velocity.z)
1405 MANAFLY.CFrame = part.CFrame
1406 end
1407 else
1408 if part then
1409 part.CFrame = Player.Character:GetPrimaryPartCFrame() * CFrame.new(0,-3.4,0)
1410 MANAFLY.CFrame = CFrame.new(0,0,0)
1411 end
1412 end
1413 end
1414 RunService:BindToRenderStep("MANAFLY",Enum.RenderPriority.Input.Value-1,fly)
1415 return module
1416end)()
1417--]]
1418local _ManaRun= (function()
1419 --// Variables
1420 local module = {}
1421
1422 local RunService = game:GetService("RunService")
1423 local Players = game:GetService("Players")
1424 local Player = Players.LocalPlayer
1425
1426 local leftorright,backorforward = 0,0
1427
1428 module.Options = {
1429 Enabled = false,
1430 speed = 0,
1431 }
1432 function module:Enable()
1433 module.Options.Enabled = true
1434 leftorright,backorforward = 0,0
1435 end
1436
1437 function module:Disable()
1438 module.Options.Enabled = false
1439 leftorright,backorforward = 0,0
1440 end
1441 function module:SpeedChange(Speed)
1442 if leftorright > 0 then
1443 leftorright = Speed
1444 elseif leftorright < 0 then
1445 leftorright = -Speed
1446 end
1447 if backorforward > 0 then
1448 backorforward = Speed
1449 elseif backorforward < 0 then
1450 backorforward = -Speed
1451 end
1452 end
1453 RunService:BindToRenderStep("MANARUN",1,function()
1454 if module.Options.Enabled then
1455 Player.Character:SetPrimaryPartCFrame(Player.Character:GetPrimaryPartCFrame():Lerp(Player.Character:GetPrimaryPartCFrame()*CFrame.new(leftorright,0,backorforward),1))
1456 end
1457 end)
1458 Player:GetMouse().KeyDown:Connect(function(k)
1459 if k == "w" then
1460 backorforward = backorforward - module.Options.speed
1461 elseif k == "s" then
1462 backorforward = backorforward + module.Options.speed
1463 elseif k == "a" then
1464 leftorright = leftorright - module.Options.speed
1465 elseif k == "d" then
1466 leftorright = leftorright + module.Options.speed
1467 end
1468 end)
1469 Player:GetMouse().KeyUp:Connect(function(k)
1470 if k == "w" then
1471 backorforward = backorforward + module.Options.speed
1472 elseif k == "s" then
1473 backorforward = backorforward - module.Options.speed
1474 elseif k == "a" then
1475 leftorright = leftorright + module.Options.speed
1476 elseif k == "d" then
1477 leftorright = leftorright - module.Options.speed
1478 end
1479 end)
1480 return module
1481end)()
1482
1483local _OtherStats = (function()
1484 local modules = {}
1485 modules.Options = {
1486 Enabled = false,
1487 EnabledLocalPlayer = false,
1488 }
1489 local players = game:GetService("Players")
1490 local tweensc= game:GetService("TweenService")
1491 local localplayer = players.LocalPlayer
1492
1493 local function createbar(parent,color)
1494 local barframe = Instance.new("Frame",parent)
1495 barframe.Size = UDim2.new(0.983, 0,0.174, 0)
1496 barframe.BackgroundTransparency = 1
1497 local bar = Instance.new("Frame",barframe)
1498 bar.Size = UDim2.new(1,0,1,0)
1499 bar.BackgroundColor3 = color
1500 bar.Name = "Bar"
1501 local ValueText = Instance.new("TextLabel",barframe)
1502 ValueText.Size = UDim2.new(1,0,1,0)
1503 ValueText.BackgroundTransparency = 1
1504 ValueText.TextScaled = true
1505 ValueText.Name = "Value"
1506 ValueText.TextColor3 = Color3.new(1,1,1)
1507 return barframe
1508 end
1509 local function createStatusBar(target)
1510 local billboard = Instance.new("BillboardGui",target)
1511 billboard.Size = UDim2.new(12,0,5,0)
1512 billboard.AlwaysOnTop = true
1513 billboard.ExtentsOffset = Vector3.new(0,-8,0)
1514 local frame = Instance.new("Frame",billboard)
1515 frame.Size = UDim2.new(1,0,1,0)
1516 frame.BackgroundTransparency = 1
1517 local HPBar = createbar(frame,Color3.new(1, 0, 0))
1518 HPBar.Name = "Health"
1519 HPBar.Position = UDim2.new(0.005, 0, 0.02, 0)
1520 local HungerBar = createbar(frame,Color3.new(255/255, 204/255, 49/255))
1521 HungerBar.Name = "Hunger"
1522 HungerBar.Position = UDim2.new(0.005, 0, 0.261, 0)
1523 local StaminaBar = createbar(frame,Color3.new(33/255, 215/255, 255/255))
1524 StaminaBar.Name = "Stamina"
1525 StaminaBar.Position = UDim2.new(0.005, 0, 0.502, 0)
1526 local BreathingBar = createbar(frame,Color3.new(169/255, 255/255, 241/255))
1527 BreathingBar.Name = "Breathing"
1528 BreathingBar.Position = UDim2.new(0.005, 0, 0.743, 0)
1529 return {Health = HPBar, Hunger = HungerBar, Stamina = StaminaBar, Breathing = BreathingBar}
1530 end
1531 function statsrenderer()
1532 if not modules.StatusBars then
1533 modules.StatusBars={}
1534 end
1535 local StatusBars = modules.StatusBars
1536 if modules.Options.Enabled then
1537 for _,player in pairs(players:GetPlayers())do
1538 local status
1539 if player:FindFirstChild("MaxHealth") then
1540 status = {
1541 Health={
1542 max = math.floor(player["MaxHealth"].Value),
1543 value = math.floor(player["Health"].Value),
1544 percentage = math.floor(player["Health"].Value)/math.floor(player["MaxHealth"].Value)
1545 },
1546 Breathing={
1547 max = 100,
1548 value = math.floor(player["Breathing"].Value),
1549 percentage = math.floor(player["Breathing"].Value)/100
1550 },
1551 Stamina={
1552 max = math.floor(player["MaxStamina"].Value),
1553 value = math.floor(player["Stamina"].Value),
1554 percentage = math.floor(player["Stamina"].Value)/math.floor(player["MaxStamina"].Value)
1555 },
1556 Hunger={
1557 max = math.floor(player["MaxHunger"].Value),
1558 value = math.floor(player["Hunger"].Value),
1559 percentage = math.floor(player["Hunger"].Value)/math.floor(player["MaxHunger"].Value)
1560 }
1561 }
1562 end
1563 if player ~= localplayer or modules.Options.EnabledLocalPlayer then
1564 if player.Character:FindFirstChild("HumanoidRootPart") and status then
1565 if not StatusBars[player.UserId] or not player.Character:FindFirstChild("HumanoidRootPart"):FindFirstChildOfClass("BillboardGui") then
1566 StatusBars[player.UserId] = createStatusBar(player.Character.HumanoidRootPart)
1567 end
1568 if StatusBars[player.UserId] then
1569 for i,v in pairs(status) do
1570 StatusBars[player.UserId][i].Bar.Size = UDim2.new(status[i].percentage,0,1,0)
1571 StatusBars[player.UserId][i]:FindFirstChild("Value").Text = tostring(status[i].value) .. "/"..tostring(status[i].max)
1572 end
1573 end
1574 end
1575 end
1576 end
1577 else
1578 for index,bar in pairs(modules.StatusBars) do
1579 bar:Destroy()
1580 modules.StatusBars[index] = nil
1581 end
1582 end
1583 end
1584 game:GetService("RunService"):BindToRenderStep("StatsViewer",1,statsrenderer)
1585 return modules
1586end)()
1587
1588local _FullBright = (function()
1589 --// Variables
1590 local module = {}
1591
1592 module.Options = {
1593 Enabled = false,
1594 ExposureCompensation=0,
1595 Brightness = 2
1596 }
1597
1598 local RunService = game:GetService("RunService")
1599 local Players = game:GetService("Players")
1600 local Player = Players.LocalPlayer
1601
1602 function module:Enable()
1603 module.Options.Enabled = true
1604 end
1605
1606 function module:Disable()
1607 module.Options.Enabled = false
1608 end
1609
1610 game:GetService("RunService"):BindToRenderStep("FULLBRIGHT",1,function()
1611 if module.Options.Enabled then
1612 game:GetService("Lighting").Ambient = Color3.new(1,1,1)
1613 game:GetService("Lighting").FogEnd = 100000000000000000000000
1614 game:GetService("Lighting").FogStart = 100000000000000000000000
1615 game:GetService("Lighting").Brightness = module.Options.Brightness
1616 game:GetService("Lighting").ExposureCompensation = module.Options.ExposureCompensation
1617 game:GetService("Lighting").GeographicLatitude = 41.733
1618 game:GetService("Lighting").ColorShift_Bottom = Color3.new(1,1,1)
1619 game:GetService("Lighting").ColorShift_Top = Color3.new(1,1,1)
1620 game:GetService("Lighting").FogColor = Color3.new(1,1,1)
1621 game:GetService("Lighting").ClockTime = 12
1622 end
1623 end)
1624
1625 return module
1626end)()
1627
1628local _Noclip = (function()
1629 --// Variables
1630 local module = {}
1631
1632 local RunService = game:GetService("RunService")
1633 local Players = game:GetService("Players")
1634 local Player = Players.LocalPlayer
1635 local MANAFLY = nil
1636
1637 module.Options = {
1638 Enabled = false,
1639 Color = Color3.new(1, 0, 0),
1640 speed = 0,
1641 Opacity = 0,
1642 Up="x",
1643 Down="z",
1644 }
1645
1646 function module:Enable()
1647 module.Options.Enabled = true
1648 end
1649
1650 function module:Disable()
1651 module.Options.Enabled = false
1652 end
1653 RunService.Stepped:Connect(function()
1654 if module.Options.Enabled then
1655 for _,v in pairs(Player.Character:GetDescendants())do
1656 if v:IsA("BasePart") then
1657 v.CanCollide = false
1658 end
1659 end
1660 end
1661 end)
1662 return module
1663end)()
1664
1665
1666--// Variables
1667local RunService = game:GetService("RunService")
1668local HttpService = game:GetService("HttpService")
1669local UserInputService = game:GetService("UserInputService")
1670local Players = game:GetService("Players")
1671local Player = Players.LocalPlayer
1672local Mouse = Player:GetMouse()
1673
1674local gui = GUIData[1]
1675local saveData = GUIData[2]
1676local screenGui = GUIData[3]
1677
1678local screenscale = 250
1679local opacity = 1
1680local backcolor = Color3.new()
1681
1682--// Saving
1683local readfile = readfile or function() end
1684pcall(function()
1685 local JSONData = readfile("OpenGui.txt")
1686 if JSONData then
1687 local LUAData = HttpService:JSONDecode(JSONData)
1688 saveData.Options = LUAData.Options
1689 saveData.Hotkeys = LUAData.Hotkeys
1690 print("Save Data found")
1691 else
1692 print("Save Data not found")
1693 end
1694end)
1695
1696
1697--// UI Creation
1698local UIopt = gui:create("Container", {
1699 Name = "UserInterface",
1700})
1701local OpenGui = UIopt.self:create("Toggle", {
1702 Name = "OpenGui",
1703 Default = true,
1704 Hotkey = tostring(Enum.KeyCode.RightControl),
1705 Hint = "The navigation GUI",
1706 Callback = function(enabled)
1707 for _, frame in pairs(screenGui:GetChildren()) do
1708 if frame:IsA("Frame") then
1709 frame.Visible = enabled
1710 end
1711 end
1712 screenGui.Modal.Visible = enabled
1713 screenGui.Hint.Visible = false
1714 end,
1715})--|
1716
1717local Opacity = OpenGui.self:create("Number", {
1718 Name = "Opacity",
1719 Min = 0,
1720 Max = 1,
1721 Round = 0.01,
1722 Default = 0.75,
1723 Hint = "Transparency of the navigation GUI",
1724 Callback = function(alpha)
1725 opacity = 1 - alpha
1726 for _, frame in pairs(screenGui:GetChildren()) do
1727 if frame:IsA("Frame") then
1728 frame.BackgroundTransparency = 1 - alpha
1729 frame.OptionsFrame.BackgroundTransparency = 1 - alpha
1730 end
1731 end
1732 end,
1733})
1734
1735local Width = OpenGui.self:create("Number", {
1736 Name = "Width",
1737 Min = 200,
1738 Max = 1000,
1739 Round = 1,
1740 Default = 1000,
1741 Hint = "Width of the navigation GUI",
1742 Callback = function(scale)
1743 screenscale = scale
1744 for _, frame in pairs(screenGui:GetChildren()) do
1745 if frame:IsA("Frame") then
1746 frame.Size = UDim2.new(0, scale, 0, frame.Size.Y.Offset)
1747 end
1748 end
1749 end,
1750})
1751
1752local Color = OpenGui.self:create("Color", {
1753 Name = "Background Color",
1754 Default = Color3.fromRGB(40, 40, 40),
1755 Hint = "Background color of the navigation GUI",
1756 Callback = function(color)
1757 backcolor = color
1758 for _, frame in pairs(screenGui:GetChildren()) do
1759 if frame:IsA("Frame") then
1760 frame.BackgroundColor3 = color
1761 frame.OptionsFrame.BackgroundColor3 = color
1762 end
1763 end
1764 end,
1765})
1766--local UnderCoverUI = OpenGui.self:create("Toggle", {
1767-- Name = "UnderCover",
1768-- Default = false,
1769-- Hotkey = tostring(Enum.KeyCode.F7),
1770-- Hint = "Hide UI",
1771-- Callback = function(enabled)
1772-- screenGui.Enabled = not enabled
1773-- end,
1774--})--|
1775--// Render Frame
1776local Render = gui:create("Container", {
1777 Name = "Render",
1778})--|
1779if game.GameId == 1650291138 then
1780 local StatsViewer = Render.self:create("Toggle", {
1781 Name = "StatsViewer",
1782 Default = true,
1783 Hotkey = tostring(Enum.KeyCode.F6),
1784 Hint = "Enable OtherPlayer Stats",
1785 Callback = function(enabled)
1786 _OtherStats.Options.Enabled = enabled
1787 end,
1788 })
1789 local Viewerlp = StatsViewer.self:create("Checkbox", {
1790 Name = "LocalPlayer(Useless)",
1791 Default = false,
1792 Hint = "Enable LocalPlayer Stats(Useless)",
1793 Callback = function(enabled)
1794 _OtherStats.Options.EnabledLocalPlayer = enabled
1795 end,
1796 })
1797end
1798local FullBright = Render.self:create("Toggle", {
1799 Name = "FullBright",
1800 Default = false,
1801 Hint = "Toggle FullBright",
1802 Callback = function(enabled)
1803 _FullBright.Options.Enabled = enabled
1804 if enabled then
1805 _FullBright:Enable()
1806 else
1807 _FullBright:Disable()
1808 end
1809 end,
1810})
1811
1812local ExposureCompensation = FullBright.self:create("Number", {
1813 Name = "ExposureCompensation ",
1814 Default = 0.5,
1815 Min = 0,
1816 Max = 100,
1817 Round = 0.001,
1818 Hint = "Change ExposureCompensation",
1819 Callback = function(exposureCompensation)
1820 _FullBright.Options.ExposureCompensation = exposureCompensation
1821 end,
1822})
1823
1824local Brightness = FullBright.self:create("Number", {
1825 Name = "Brightness ",
1826 Default = 2,
1827 Min = 0,
1828 Max = 40,
1829 Round = 0.001,
1830 Hint = "Change Brightness",
1831 Callback = function(brightness)
1832 _FullBright.Options.Brightness = brightness
1833 end,
1834})
1835-- ESP --
1836local Chams = Render.self:create("Toggle", {
1837 Name = "Chams",
1838 Default = false,
1839 Hint = "Render players through walls",
1840 Callback = function(enabled)
1841 _Chams.Options.Enabled = enabled
1842 if enabled then
1843 _Chams:Enable()
1844 else
1845 _Chams:Disable()
1846 end
1847 end,
1848})--|
1849local ChamsColor = Chams.self:create("Color", {
1850 Name = "Chams Color",
1851 Default = Color3.new(1, 1, 1),
1852 Hint = "Color of the player chams",
1853 Callback = function(color)
1854 _Chams.Options.Color = color
1855 end,
1856})
1857local ChamsShowTeam = Chams.self:create("Checkbox", {
1858 Name = "Show Team",
1859 Default = false,
1860 Hint = "Include your teammates",
1861 Callback = function(enabled)
1862 _Chams.Options.ShowTeam = enabled
1863 end,
1864})
1865local ChamsShowSelf = Chams.self:create("Checkbox", {
1866 Name = "Show Self",
1867 Default = false,
1868 Hint = "Include yourself",
1869 Callback = function(enabled)
1870 _Chams.Options.ShowSelf = enabled
1871 end,
1872})
1873local ChamsTeamColor = Chams.self:create("Checkbox", {
1874 Name = "Team Color",
1875 Default = false,
1876 Hint = "The chams color corresponds to the player's team",
1877 Callback = function(enabled)
1878 _Chams.Options.TeamColor = enabled
1879 end,
1880})
1881local ChamsShowDescendants = Chams.self:create("Checkbox", {
1882 Name = "Show Descendants",
1883 Default = false,
1884 Hint = "Highlight items like accessories",
1885 Callback = function(enabled)
1886 _Chams.Options.ShowDescendants = enabled
1887 end,
1888})
1889local ChamsMode = Chams.self:create("Mode", {
1890 Name = "Chams Mode",
1891 Default = 1,
1892 Modes = {"Opaque", "Shader","ForceField"},
1893 Hint = "The type of chams used",
1894 Callback = function(mode)
1895 _Chams.Options.Mode = mode
1896 _Chams:ReloadCharacters()
1897 end,
1898})
1899local ChamsOpacity = Chams.self:create("Number", {
1900 Name = "Opacity",
1901 Default = 0.5,
1902 Min = 0,
1903 Max = 1,
1904 Round = 0.01,
1905 Hint = "Visibility of the chams",
1906 Callback = function(opacity)
1907 _Chams.Options.Opacity = opacity
1908 end,
1909})
1910local ChamsMaxDistance = Chams.self:create("Number", {
1911 Name = "Max Distance",
1912 Default = 2048,
1913 Min = 0,
1914 Max = 25000,
1915 Round = 0.5,
1916 Hint = "The chams' maximum distance",
1917 Callback = function(distance)
1918 _Chams.Options.MaxDistance = distance
1919 end,
1920})
1921local CustomChams = Render.self:create("Toggle", {
1922 Name = "CustomChams",
1923 Default = false,
1924 Hint = "Render players through walls",
1925 Callback = function(enabled)
1926 if enabled then
1927 _CustomChams:Enable()
1928 else
1929 _CustomChams:Disable()
1930 end
1931 end,
1932})
1933local CustomChamsColor = CustomChams.self:create("Color", {
1934 Name = "ESP Color",
1935 Default = Color3.new(0.333333, 0, 1),
1936 Hint = "Color of the player chams",
1937 Callback = function(color)
1938 _CustomChams.Options.color = color
1939 end,
1940})
1941local Mana = gui:create("Container", {
1942 Name = "Mana",
1943})
1944
1945local ManaFly = Mana.self:create("Toggle", {
1946 Name = "ManaFly",
1947 Default = false,
1948 Hint = "Toggle ManaFly",
1949 Hotkey = tostring(Enum.KeyCode.B),
1950 Callback = function(enabled)
1951 _ManaFly.Options.Enabled = enabled
1952 if enabled then
1953 _ManaFly:Enable()
1954 else
1955 _ManaFly:Disable()
1956 end
1957 end,
1958})
1959
1960local ManaFlySpeed = ManaFly.self:create("Number", {
1961 Name = "FlySpeed",
1962 Default = 0,
1963 Min = 0,
1964 Max = 100,
1965 Round = 0.001,
1966 Hint = "Speed Boost",
1967 Callback = function(Speed)
1968 _ManaFly:SpeedChange(Speed)
1969 _ManaFly.Options.speed = tonumber(Speed)
1970 end,
1971})
1972local ManaPartSize = ManaFly.self:create("Number", {
1973 Name = "PartSize",
1974 Default = 1,
1975 Min = 1,
1976 Max = 100,
1977 Round = 0.001,
1978 Hint = "PartSize",
1979 Callback = function(Size)
1980 _ManaFly.Options.Size= tonumber(Size)
1981 end,
1982})
1983
1984local ManaFlyOpacity = ManaFly.self:create("Number", {
1985 Name = "Opacity",
1986 Default = 0,
1987 Min = 0,
1988 Max = 1,
1989 Round = 0.001,
1990 Hint = "Visibility of the Part",
1991 Callback = function(opacity)
1992 _ManaFly.Options.Opacity = 1-opacity
1993 end,
1994})
1995
1996local ManaPartMaterial = ManaFly.self:create("Mode", {
1997 Name = "ManaPart Material",
1998 Hint = "Change ManaPart Material",
1999 Default = 1,
2000 Modes = {
2001 "Air",
2002 "ForceField"
2003 },
2004 Callback = function(value)
2005 _ManaFly.Options.PartMaterial = value
2006 end,
2007})
2008
2009local ManaSoul = Mana.self:create("Toggle", {
2010 Name = "ManaSoul",
2011 Default = false,
2012 Hint = "Toggle Noclip",
2013 Callback = function(enabled)
2014 _Noclip.Options.Enabled = enabled
2015 if enabled then
2016 _Noclip:Enable()
2017 else
2018 _Noclip:Disable()
2019 end
2020 end,
2021})
2022
2023
2024local ManaRun = Mana.self:create("Toggle", {
2025 Name = "ManaRun",
2026 Default = false,
2027 Hint = "Toggle ManaRun",
2028 Hotkey = tostring(Enum.KeyCode.V),
2029 Callback = function(enabled)
2030 _ManaRun.Options.Enabled = enabled
2031 if enabled then
2032 _ManaRun:Enable()
2033 else
2034 _ManaRun:Disable()
2035 end
2036 end,
2037})
2038local ManaRunSpeed = ManaRun.self:create("Number", {
2039 Name = "Boost Speed",
2040 Default = 0,
2041 Min = 0,
2042 Max = 100,
2043 Round = 0.001,
2044 Hint = "Speed Boost",
2045 Callback = function(Speed)
2046 _ManaRun:SpeedChange(Speed)
2047 _ManaRun.Options.speed = tonumber(Speed)
2048 end,
2049})
2050
2051
2052RunService.RenderStepped:Connect(function()
2053 for _, frame in pairs(screenGui:GetChildren()) do
2054 if frame:IsA("Frame") then
2055 frame.Size = UDim2.new(0, screenscale, 0, frame.Size.Y.Offset)
2056
2057 frame.BackgroundTransparency = opacity
2058 frame.OptionsFrame.BackgroundTransparency = opacity
2059
2060 frame.BackgroundColor3 = backcolor
2061 frame.OptionsFrame.BackgroundColor3 = backcolor
2062 end
2063 end
2064end)
2065
2066notify.Text = "Loaded"
2067game:GetService("StarterGui"):SetCore("SendNotification",notify)
2068notify.Text = "Got it?"