Run it
Copy the script and paste it into your executor.
Junkie = (:())()
Junkie.service =
Junkie.identifier =
Junkie.provider =
result = (()
().UI_CLOSED =
Players = :()
TweenService = :()
UserInputService = :()
Lighting = :()
Colors = {
background = .(, , ),
surface = .(, , ),
surfaceLight = .(, , ),
primary = .(, , ),
primaryDark = .(, , ),
primaryGlow = .(, , ),
accent = .(, , ),
success = .(, , ),
successDark = .(, , ),
successGlow = .(, , ),
= .(, , ),
textPrimary = .(, , ),
textSecondary = .(, , ),
textMuted = .(, , ),
border = .(, , ),
borderLight = .(, , ),
glass = .(, , ),
neonBlue = .(, , ),
neonPurple = .(, , )
}
()
hasWritefile = (() (writefile) == )
hasReadfile = (() (readfile) == )
hasIsfile = (() (isfile) == )
hasWritefile hasReadfile hasIsfile
fileSystemSupported = ()
(key)
fileSystemSupported
ok = (()
(, key)
)
ok
()
fileSystemSupported
ok, content = (()
()
)
ok content
content
()
fileSystemSupported
ok = (() () )
ok
()
(Colors, Players, TweenService, UserInputService, Lighting)
IconAssets = {
shield = ,
key = ,
link = ,
check =
}
(name, size, color)
id = IconAssets[name]
id
img = .()
img.BackgroundTransparency =
img.Size = .(, size , , size )
img.Image = .. (id)
img.ImageColor3 = color .(, , )
img.ScaleType = .ScaleType.Fit
img:() img.ResampleMode ~=
img.ResampleMode = .ResamplerMode.Default
img
lbl = .()
lbl.BackgroundTransparency =
lbl.Size = .(, size , , size )
lbl.TextScaled =
lbl.Font = .Font.SourceSansBold
lbl.TextColor3 = color .(, , )
lbl.Text = ({ shield = , key = , link = , check = })[name]
lbl
(self)
self.gui
self.gui:()
self.gui = .()
self.gui.Name =
self.gui.ResetOnSpawn =
self.gui.ZIndexBehavior = .ZIndexBehavior.Sibling
self.gui.IgnoreGuiInset =
backdrop = .()
backdrop.Name =
backdrop.Size = .(, , , )
backdrop.Position = .(, , , )
backdrop.BackgroundColor3 = .(, , )
backdrop.BackgroundTransparency =
backdrop.BorderSizePixel =
backdrop.Parent = self.gui
blur = .()
blur.Size =
blur.Name =
blur.Parent = Lighting
container = .()
container.Name =
isMobile = UserInputService.TouchEnabled UserInputService.KeyboardEnabled
viewportSize = .CurrentCamera.ViewportSize
isMobile
container.Size = .(, , , .(, viewportSize.Y * ))
container.Position = .(, , , )
container.AnchorPoint = .(, )
container.Size = .(, , , )
container.Position = .(, , , )
container.AnchorPoint = .(, )
container.BackgroundColor3 = Colors.surface
container.BorderSizePixel =
container.Parent = backdrop
container:(, isMobile)
containerCorner = .()
containerCorner.CornerRadius = .(, )
containerCorner.Parent = container
containerStroke = .()
containerStroke.Color = Colors.border
containerStroke.Thickness =
containerStroke.Transparency =
containerStroke.Parent = container
shadow = .()
shadow.Name =
shadow.Size = .(, , , )
shadow.Position = .(, , , )
shadow.AnchorPoint = .(, )
shadow.BackgroundColor3 = .(, , )
shadow.BackgroundTransparency =
shadow.BorderSizePixel =
shadow.ZIndex =
shadow.Parent = backdrop
shadowCorner = .()
shadowCorner.CornerRadius = .(, )
shadowCorner.Parent = shadow
glowFrame = .()
glowFrame.Name =
glowFrame.Size = .(, , , )
glowFrame.Position = .(, , , )
glowFrame.AnchorPoint = .(, )
glowFrame.BackgroundColor3 = Colors.primary
glowFrame.BackgroundTransparency =
glowFrame.BorderSizePixel =
glowFrame.ZIndex = -
glowFrame.Parent = backdrop
glowCorner = .()
glowCorner.CornerRadius = .(, )
glowCorner.Parent = glowFrame
glowTween = TweenService:(glowFrame,
TweenInfo.(, .EasingStyle.Sine, .EasingDirection.InOut, -, ),
{BackgroundTransparency = , Size = .(, , , )}
)
glowTween:()
glassOverlay = .()
glassOverlay.Name =
glassOverlay.Size = .(, , , )
glassOverlay.Position = .(, , , )
glassOverlay.BackgroundColor3 = .(, , )
glassOverlay.BackgroundTransparency =
glassOverlay.BorderSizePixel =
glassOverlay.ZIndex =
glassOverlay.Parent = container
glassCorner = .()
glassCorner.CornerRadius = .(, )
glassCorner.Parent = glassOverlay
glassGradient = .()
glassGradient.Color = ColorSequence.{
ColorSequenceKeypoint.(, .(, , )),
ColorSequenceKeypoint.(, .(, , )),
ColorSequenceKeypoint.(, .(, , ))
}
glassGradient.Rotation =
glassGradient.Transparency = NumberSequence.{
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, )
}
glassGradient.Parent = glassOverlay
topBar = .()
topBar.Name =
topBar.Size = .(, , , )
topBar.Position = .(, , , )
topBar.BackgroundColor3 = Colors.background
topBar.BorderSizePixel =
topBar.ZIndex =
topBar.Parent = container
topBarCorner = .()
topBarCorner.CornerRadius = .(, )
topBarCorner.Parent = topBar
topBarFix = .()
topBarFix.Size = .(, , , )
topBarFix.Position = .(, , , -)
topBarFix.BackgroundColor3 = Colors.background
topBarFix.BorderSizePixel =
topBarFix.Parent = topBar
brandLogo = .()
brandLogo.Name =
brandLogo.Size = .(, , , )
brandLogo.Position = .(, , , )
brandLogo.BackgroundTransparency =
brandLogo.ZIndex =
brandLogo.Parent = topBar
brandLogoIcon = (, , Colors.primary)
brandLogoIcon.AnchorPoint = .(, )
brandLogoIcon.Position = .(, , , )
brandLogoIcon.ZIndex =
brandLogoIcon.Parent = brandLogo
brandLogoText = .()
brandLogoText.BackgroundTransparency =
brandLogoText.Size = .(, -, , )
brandLogoText.Position = .(, , , )
brandLogoText.Text =
brandLogoText.TextColor3 = Colors.textPrimary
brandLogoText.TextSize =
brandLogoText.TextXAlignment = .TextXAlignment.Left
brandLogoText.Font = .Font.GothamSemibold
brandLogoText.ZIndex =
brandLogoText.Parent = brandLogo
contentArea = .()
contentArea.Name =
contentArea.Size = .(, -, , -)
contentArea.Position = .(, , , )
contentArea.BackgroundTransparency =
contentArea.Parent = container
titleSection = .()
titleSection.Name =
titleSection.Size = .(, , , )
titleSection.Position = .(, , , )
titleSection.BackgroundTransparency =
titleSection.Parent = contentArea
iconFrame = .()
iconFrame.Name =
iconFrame.Size = .(, , , )
iconFrame.Position = .(, -, , )
iconFrame.BackgroundColor3 = Colors.surfaceLight
iconFrame.BorderSizePixel =
iconFrame.Parent = titleSection
iconCorner = .()
iconCorner.CornerRadius = .(, )
iconCorner.Parent = iconFrame
iconGradient = .()
iconGradient.Color = ColorSequence.{
ColorSequenceKeypoint.(, Colors.primary),
ColorSequenceKeypoint.(, Colors.primaryGlow),
ColorSequenceKeypoint.(, Colors.accent)
}
iconGradient.Rotation =
iconGradient.Parent = iconFrame
iconStroke = .()
iconStroke.Color = Colors.primary
iconStroke.Thickness =
iconStroke.Transparency =
iconStroke.Parent = iconFrame
strokeGradient = .()
strokeGradient.Color = ColorSequence.{
ColorSequenceKeypoint.(, Colors.neonBlue),
ColorSequenceKeypoint.(, Colors.primary),
ColorSequenceKeypoint.(, Colors.neonPurple)
}
strokeGradient.Rotation =
strokeGradient.Parent = iconStroke
strokeTween = TweenService:(strokeGradient,
TweenInfo.(, .EasingStyle.Linear, .EasingDirection.InOut, -),
{Rotation = }
)
strokeTween:()
mainIcon = (, , .(, , ))
mainIcon.AnchorPoint = .(, )
mainIcon.Position = .(, , , )
mainIcon.Parent = iconFrame
titleText = .()
titleText.Name =
titleText.Size = .(, , , )
titleText.Position = .(, , , )
titleText.BackgroundTransparency =
titleText.Text = self.title
titleText.TextColor3 = Colors.textPrimary
titleText.TextSize =
titleText.TextXAlignment = .TextXAlignment.Center
titleText.Font = .Font.GothamBold
titleText.Parent = titleSection
subtitleText = .()
subtitleText.Name =
subtitleText.Size = .(, , , )
subtitleText.Position = .(, , , )
subtitleText.BackgroundTransparency =
subtitleText.Text = self.subtitle
subtitleText.TextColor3 = Colors.textSecondary
subtitleText.TextSize =
subtitleText.TextXAlignment = .TextXAlignment.Center
subtitleText.Font = .Font.Gotham
subtitleText.Parent = titleSection
inputSection = .()
inputSection.Name =
inputSection.Size = .(, , , )
inputSection.Position = .(, , , )
inputSection.BackgroundColor3 = Colors.surfaceLight
inputSection.BorderSizePixel =
inputSection.Parent = contentArea
inputCorner = .()
inputCorner.CornerRadius = .(, )
inputCorner.Parent = inputSection
inputStroke = .()
inputStroke.Color = Colors.border
inputStroke.Thickness =
inputStroke.Transparency =
inputStroke.Parent = inputSection
keyIcon = (, , Colors.primary)
keyIcon.AnchorPoint = .(, )
keyIcon.Position = .(, , , )
keyIcon.Parent = inputSection
keyInput = .()
keyInput.Name =
keyInput.Size = .(, -, , )
keyInput.Position = .(, , , )
keyInput.BackgroundTransparency =
keyInput.PlaceholderText =
keyInput.PlaceholderColor3 = Colors.textMuted
keyInput.Text =
keyInput.TextColor3 = Colors.textPrimary
keyInput.TextSize =
keyInput.TextXAlignment = .TextXAlignment.Left
keyInput.TextTruncate = .TextTruncate.AtEnd
keyInput.Font = .Font.Gotham
keyInput.ClearTextOnFocus =
keyInput.Parent = inputSection
buttonSection = .()
buttonSection.Name =
buttonSection.Size = .(, , , )
buttonSection.Position = .(, , , )
buttonSection.BackgroundTransparency =
buttonSection.Parent = contentArea
getLinkButton = .()
getLinkButton.Name =
getLinkButton.Size = .(, , , )
getLinkButton.Position = .(, , , )
getLinkButton.BackgroundColor3 = Colors.primary
getLinkButton.Text =
getLinkButton.Font = .Font.GothamSemibold
getLinkButton.TextSize =
getLinkButton.BorderSizePixel =
getLinkButton.AutoButtonColor =
getLinkButton.Parent = buttonSection
getLinkCorner = .()
getLinkCorner.CornerRadius = .(, )
getLinkCorner.Parent = getLinkButton
getLinkGradient = .()
getLinkGradient.Color = ColorSequence.{
ColorSequenceKeypoint.(, Colors.primary),
ColorSequenceKeypoint.(, Colors.primaryDark)
}
getLinkGradient.Rotation =
getLinkGradient.Parent = getLinkButton
getLinkGlow = .()
getLinkGlow.Color = Colors.primaryGlow
getLinkGlow.Thickness =
getLinkGlow.Transparency =
getLinkGlow.Parent = getLinkButton
getLinkIcon = (, , .(, , ))
getLinkIcon.AnchorPoint = .(, )
getLinkIcon.Position = .(, , , )
getLinkIcon.Parent = getLinkButton
getLinkText = .()
getLinkText.Name =
getLinkText.Size = .(, , , )
getLinkText.Position = .(, , , )
getLinkText.BackgroundTransparency =
getLinkText.Text =
getLinkText.TextColor3 = .(, , )
getLinkText.Font = .Font.GothamSemibold
getLinkText.TextSize =
getLinkText.TextXAlignment = .TextXAlignment.Center
getLinkText.Parent = getLinkButton
verifyButton = .()
verifyButton.Name =
verifyButton.Size = .(, , , )
verifyButton.Position = .(, , , )
verifyButton.BackgroundColor3 = Colors.success
verifyButton.BorderSizePixel =
verifyButton.Text =
verifyButton.TextSize =
verifyButton.Font = .Font.GothamSemibold
verifyButton.AutoButtonColor =
verifyButton.Parent = buttonSection
verifyCorner = .()
verifyCorner.CornerRadius = .(, )
verifyCorner.Parent = verifyButton
verifyGradient = .()
verifyGradient.Color = ColorSequence.{
ColorSequenceKeypoint.(, Colors.success),
ColorSequenceKeypoint.(, Colors.successDark)
}
verifyGradient.Rotation =
verifyGradient.Parent = verifyButton
verifyGlow = .()
verifyGlow.Color = Colors.successGlow
verifyGlow.Thickness =
verifyGlow.Transparency =
verifyGlow.Parent = verifyButton
verifyIcon = (, , .(, , ))
verifyIcon.AnchorPoint = .(, )
verifyIcon.Position = .(, , , )
verifyIcon.Parent = verifyButton
verifyText = .()
verifyText.Name =
verifyText.Size = .(, , , )
verifyText.Position = .(, , , )
verifyText.BackgroundTransparency =
verifyText.Text =
verifyText.TextColor3 = .(, , )
verifyText.Font = .Font.GothamSemibold
verifyText.TextSize =
verifyText.TextXAlignment = .TextXAlignment.Center
verifyText.Parent = verifyButton
statusBar = .()
statusBar.Name =
statusBar.Size = .(, -, , )
statusBar.Position = .(, , , -)
statusBar.AnchorPoint = .(, )
statusBar.BackgroundColor3 = Colors.border
statusBar.BorderSizePixel =
statusBar.Parent = container
statusText = .()
statusText.Name =
statusText.BackgroundTransparency =
statusText.Text =
statusText.TextColor3 = Colors.textSecondary
statusText.Font = .Font.Gotham
statusText.TextSize =
statusText.TextXAlignment = .TextXAlignment.Center
statusText.Size = .(, -, , )
statusText.Position = .(, , , -)
statusText.AnchorPoint = .(, )
statusText.Visible =
statusText.Parent = container
self.elements = {
backdrop = backdrop,
container = container,
iconFrame = iconFrame,
brandLogo = brandLogo,
title = titleText,
subtitle = subtitleText,
getLinkButton = getLinkButton,
inputContainer = inputSection,
inputFrame = inputSection,
keyInput = keyInput,
verifyButton = verifyButton,
statusBar = statusBar,
statusText = statusText,
inputStroke = inputStroke,
glassOverlay = glassOverlay,
glowFrame = glowFrame
}
()
particle = .()
particle.Name =
particle.Size = .(, .(, ), , .(, ))
particle.Position = .(.(), , , )
particle.BackgroundColor3 = Colors.primaryGlow
particle.BackgroundTransparency =
particle.BorderSizePixel =
particle.Parent = container
particleCorner = .()
particleCorner.CornerRadius = .(, )
particleCorner.Parent = particle
floatTween = TweenService:(particle,
TweenInfo.(.(, ), .EasingStyle.Linear),
{
Position = .(particle.Position.X.Scale, , -, ),
BackgroundTransparency =
}
)
floatTween:()
floatTween.Completed:(()
particle:()
)
.(()
container container.Parent
()
.(.(, ))
)
getLinkStroke = getLinkButton:()
getLinkStroke
getLinkStroke.Name =
verifyStroke = verifyButton:()
verifyStroke
verifyStroke.Name =
()
elements = self.elements
elements.getLinkButton
elements.getLinkButton.MouseEnter:(()
TweenService:(elements.getLinkButton, TweenInfo.(), {
BackgroundColor3 = Colors.primaryGlow,
Size = .(, , , ),
Position = .(, -, , -)
}):()
glow = elements.getLinkButton:()
glow
TweenService:(glow, TweenInfo.(), {
Thickness = ,
Transparency =
}):()
)
elements.getLinkButton.MouseLeave:(()
TweenService:(elements.getLinkButton, TweenInfo.(), {
BackgroundColor3 = Colors.primary,
Size = .(, , , ),
Position = .(, , , )
}):()
glow = elements.getLinkButton:()
glow
TweenService:(glow, TweenInfo.(), {
Thickness = ,
Transparency =
}):()
)
elements.getLinkButton.MouseButton1Down:(()
TweenService:(elements.getLinkButton, TweenInfo.(, .EasingStyle.Back), {
Size = .(, , , ),
Position = .(, , , )
}):()
)
elements.getLinkButton.MouseButton1Up:(()
TweenService:(elements.getLinkButton, TweenInfo.(, .EasingStyle.Back), {
Size = .(, , , ),
Position = .(, , , )
}):()
)
elements.verifyButton
elements.verifyButton.MouseEnter:(()
TweenService:(elements.verifyButton, TweenInfo.(), {
BackgroundColor3 = Colors.successGlow,
Size = .(, , , ),
Position = .(, -, , -)
}):()
glow = elements.verifyButton:()
glow
TweenService:(glow, TweenInfo.(), {
Thickness = ,
Transparency =
}):()
)
elements.verifyButton.MouseLeave:(()
TweenService:(elements.verifyButton, TweenInfo.(), {
BackgroundColor3 = Colors.success,
Size = .(, , , ),
Position = .(, , , )
}):()
glow = elements.verifyButton:()
glow
TweenService:(glow, TweenInfo.(), {
Thickness = ,
Transparency =
}):()
)
elements.verifyButton.MouseButton1Down:(()
TweenService:(elements.verifyButton, TweenInfo.(, .EasingStyle.Back), {
Size = .(, , , ),
Position = .(, , , )
}):()
)
elements.verifyButton.MouseButton1Up:(()
TweenService:(elements.verifyButton, TweenInfo.(, .EasingStyle.Back), {
Size = .(, , , ),
Position = .(, , , )
}):()
)
elements.keyInput elements.inputStroke
elements.keyInput.Focused:(()
TweenService:(elements.inputStroke, TweenInfo.(), {
Color = Colors.primary,
Thickness = ,
Transparency =
}):()
)
elements.keyInput.FocusLost:(()
TweenService:(elements.inputStroke, TweenInfo.(), {
Color = Colors.border,
Thickness = ,
Transparency =
}):()
)
()
container = self.elements.container
backdrop = self.elements.backdrop
container
container.BackgroundTransparency =
TweenService:(container, TweenInfo.(, .EasingStyle.Quad), {
BackgroundTransparency =
}):()
backdrop
backdrop.BackgroundTransparency =
TweenService:(backdrop, TweenInfo.(, .EasingStyle.Quad), {
BackgroundTransparency =
}):()
self.gui.Parent = :()
self.gui.AncestryChanged:((_, parent)
parent ==
blur = Lighting:()
blur blur:()
)
self.showSuccess = (self, message)
self.elements
container = self.elements.container
loadingOverlay = container:()
loadingOverlay
mainContainer = loadingOverlay:()
spinnerContainer = mainContainer mainContainer:()
loadingText = mainContainer mainContainer:()
hintText = mainContainer mainContainer:()
spinnerContainer
TweenService:(
spinnerContainer,
TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out),
{Rotation = }
):()
_, child (spinnerContainer:())
child:()
TweenService:(
child,
TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out),
{BackgroundTransparency = }
):()
stroke = child:()
stroke
TweenService:(
stroke,
TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out),
{Transparency = }
):()
.()
checkmarkContainer = .()
checkmarkContainer.Name =
checkmarkContainer.BackgroundTransparency =
checkmarkContainer.Size = .(, , , )
checkmarkContainer.Position = .(, , , )
checkmarkContainer.Parent = mainContainer
successCircle = .()
successCircle.Name =
successCircle.BackgroundColor3 = .(, , )
successCircle.BackgroundTransparency =
successCircle.Size = .(, , , )
successCircle.Position = .(, , , )
successCircle.AnchorPoint = .(, )
successCircle.Parent = checkmarkContainer
successCorner = .()
successCorner.CornerRadius = .(, )
successCorner.Parent = successCircle
glowRing = .()
glowRing.Name =
glowRing.BackgroundTransparency =
glowRing.Size = .(, , , )
glowRing.Position = .(, , , )
glowRing.AnchorPoint = .(, )
glowRing.Parent = successCircle
glowStroke = .()
glowStroke.Color = .(, , )
glowStroke.Thickness =
glowStroke.Transparency =
glowStroke.Parent = glowRing
glowCorner = .()
glowCorner.CornerRadius = .(, )
glowCorner.Parent = glowRing
checkmark = .()
checkmark.Name =
checkmark.BackgroundTransparency =
checkmark.Size = .(, , , )
checkmark.Position = .(, , , -)
checkmark.Font = .Font.GothamBold
checkmark.Text =
checkmark.TextColor3 = .(, , )
checkmark.TextSize =
checkmark.TextTransparency =
checkmark.Parent = successCircle
TweenService:(
successCircle,
TweenInfo.(, .EasingStyle.Back, .EasingDirection.Out),
{BackgroundTransparency = , Size = .(, , , )}
):()
.()
TweenService:(
glowStroke,
TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out),
{Transparency = }
):()
TweenService:(
glowRing,
TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out),
{Size = .(, , , )}
):()
.()
TweenService:(
checkmark,
TweenInfo.(, .EasingStyle.Back, .EasingDirection.Out),
{TextSize = , TextTransparency = }
):()
.()
TweenService:(
successCircle,
TweenInfo.(, .EasingStyle.Quad, .EasingDirection.InOut, -, ),
{Size = .(, , , )}
):()
loadingText
.()
loadingText.Text = message
loadingText.TextColor3 = .(, , )
TweenService:(
loadingText,
TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out),
{TextSize = }
):()
hintText
hintText.Text =
hintText.TextColor3 = .(, , )
.()
self.updateStatus = (self, message, color, duration)
statusText = self.elements.statusText
statusBar = self.elements.statusBar
statusText
statusText.Text = message
statusText.TextColor3 = color Colors.textSecondary
statusText.Visible =
statusBar
TweenService:(statusBar, TweenInfo.(), {
BackgroundColor3 = color Colors.border,
Size = .(, -, , )
}):()
duration duration >
.(duration, ()
statusText statusText.Text == message
statusText.Visible =
statusBar
TweenService:(statusBar, TweenInfo.(), {
BackgroundColor3 = Colors.border,
Size = .(, -, , )
}):()
)
self.setButtonLoading = (self, button, text, loading)
loading
buttonText = button:()
buttonText
buttonText.Text = text
button.Interactable =
spinner = button:()
spinner
spinner = .()
spinner.Name =
spinner.Size = .(, , , )
spinner.Position = .(, , , -)
spinner.BackgroundColor3 = Colors.textPrimary
spinner.BackgroundTransparency =
spinner.BorderSizePixel =
spinner.Parent = button
spinnerCorner = .()
spinnerCorner.CornerRadius = .(, )
spinnerCorner.Parent = spinner
TweenService:(spinner,
TweenInfo.(, .EasingStyle.Linear, .EasingDirection.InOut, -),
{Rotation = }
):()
buttonText = button:()
buttonText
buttonText.Text = text
button.Interactable =
spinner = button:()
spinner spinner:()
self.shakeInput = (self)
frame = self.elements.inputFrame
frame
orig = frame.Position
i = ,
TweenService:(frame, TweenInfo.(), {
Position = .(orig.X.Scale, orig.X.Offset - , orig.Y.Scale, orig.Y.Offset)
}):()
.()
TweenService:(frame, TweenInfo.(), {
Position = .(orig.X.Scale, orig.X.Offset + , orig.Y.Scale, orig.Y.Offset)
}):()
.()
frame.Position = orig
self.animateSuccess = (self)
iconFrame = self.elements.iconFrame
iconFrame
TweenService:(iconFrame, TweenInfo.(, .EasingStyle.Back), {
Size = .(, , , ),
Position = .(, -, , -)
}):()
.()
TweenService:(iconFrame, TweenInfo.(), {
Size = .(, , , ),
Position = .(, -, , )
}):()
self.close = (self)
self.gui
().UI_CLOSED =
container = self.elements.container
backdrop = self.elements.backdrop
blur = Lighting:()
TweenService:(container, TweenInfo.(), {
BackgroundTransparency =
}):()
TweenService:(backdrop, TweenInfo.(), {
BackgroundTransparency =
}):()
.()
blur blur:()
self.gui:()
self.gui =
self.setLoadingState = (self, isLoading, message)
self.elements
container = self.elements.container
inputFrame = self.elements.inputFrame
verifyButton = self.elements.verifyButton
getLinkButton = self.elements.getLinkButton
iconFrame = self.elements.iconFrame
title = self.elements.title
subtitle = self.elements.subtitle
statusLabel = self.elements.statusLabel
isLoading
inputFrame inputFrame.Visible =
verifyButton verifyButton.Visible =
getLinkButton getLinkButton.Visible =
iconFrame iconFrame.Visible =
title title.Visible =
subtitle subtitle.Visible =
statusLabel statusLabel.Visible =
loadingOverlay = container:()
loadingOverlay
loadingOverlay = .()
loadingOverlay.Name =
loadingOverlay.BackgroundTransparency =
loadingOverlay.Size = .(, , , )
loadingOverlay.Position = .(, , , )
loadingOverlay.ZIndex =
loadingOverlay.Parent = container
mainContainer = .()
mainContainer.Name =
mainContainer.BackgroundTransparency =
mainContainer.AnchorPoint = .(, )
mainContainer.Position = .(, , , )
mainContainer.Size = .(, , , )
mainContainer.Parent = loadingOverlay
spinnerContainer = .()
spinnerContainer.Name =
spinnerContainer.BackgroundTransparency =
spinnerContainer.AnchorPoint = .(, )
spinnerContainer.Position = .(, , , )
spinnerContainer.Size = .(, , , )
spinnerContainer.Parent = mainContainer
bgCircle = .()
bgCircle.Name =
bgCircle.BackgroundTransparency =
bgCircle.Size = .(, , , )
bgCircle.ZIndex =
bgCircle.Parent = spinnerContainer
bgStroke = .()
bgStroke.Color = Colors.accent
bgStroke.Thickness =
bgStroke.Transparency =
bgStroke.Parent = bgCircle
bgCorner = .()
bgCorner.CornerRadius = .(, )
bgCorner.Parent = bgCircle
arcCircle = .()
arcCircle.Name =
arcCircle.BackgroundTransparency =
arcCircle.Size = .(, , , )
arcCircle.ZIndex =
arcCircle.Parent = spinnerContainer
arcStroke = .()
arcStroke.Color = Colors.accent
arcStroke.Thickness =
arcStroke.Transparency =
arcStroke.Parent = arcCircle
arcCorner = .()
arcCorner.CornerRadius = .(, )
arcCorner.Parent = arcCircle
arcGradient = .()
arcGradient.Transparency = NumberSequence.({
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, )
})
arcGradient.Rotation =
arcGradient.Parent = arcStroke
spinTween = TweenService:(
spinnerContainer,
TweenInfo.(, .EasingStyle.Linear, .EasingDirection.InOut, -),
{Rotation = }
)
spinTween:()
.(()
loadingOverlay loadingOverlay.Parent
arcGradient.Rotation = (arcGradient.Rotation + ) %
.()
)
loadingText = .()
loadingText.Name =
loadingText.BackgroundTransparency =
loadingText.AnchorPoint = .(, )
loadingText.Position = .(, , , )
loadingText.Size = .(, , , )
loadingText.Font = .Font.GothamBold
loadingText.Text = message
loadingText.TextColor3 = Colors.textPrimary
loadingText.TextSize =
loadingText.Parent = mainContainer
hintText = .()
hintText.Name =
hintText.BackgroundTransparency =
hintText.AnchorPoint = .(, )
hintText.Position = .(, , , )
hintText.Size = .(, , , )
hintText.Font = .Font.Gotham
hintText.Text =
hintText.TextColor3 = Colors.textSecondary
hintText.TextSize =
hintText.TextTransparency =
hintText.Parent = mainContainer
textPulseTween = TweenService:(
hintText,
TweenInfo.(, .EasingStyle.Quad, .EasingDirection.InOut, -, ),
{TextTransparency = }
)
textPulseTween:()
.(()
dots =
loadingOverlay loadingOverlay.Parent
dots = (dots % ) +
loadingText loadingText.Parent
loadingText.Text = (message ) .. .(, dots)
.()
)
mainContainer.GroupTransparency =
TweenService:(
mainContainer,
TweenInfo.(, .EasingStyle.Quad, .EasingDirection.Out),
{GroupTransparency = }
):()
loadingOverlay.Visible =
inputFrame inputFrame.Visible =
verifyButton verifyButton.Visible =
getLinkButton getLinkButton.Visible =
iconFrame iconFrame.Visible =
title title.Visible =
subtitle subtitle.Visible =
statusLabel
statusLabel.Visible =
statusLabel.Text =
statusLabel.TextColor3 = Colors.textSecondary
loadingOverlay = container:()
loadingOverlay
loadingOverlay:()
()
()
self.createToast = (message, duration, toastType)
duration = duration
toastType = toastType
toast = .()
toast.Name =
toast.Size = .(, , , )
toast.Position = .(, -, , -)
toast.AnchorPoint = .(, )
toast.BackgroundColor3 = .(, , )
toast.BorderSizePixel =
toast.ZIndex =
toast.Parent = self.gui
corner = .()
corner.CornerRadius = .(, )
corner.Parent = toast
shadow = .()
shadow.Name =
shadow.BackgroundTransparency =
shadow.Position = .(, , , )
shadow.Size = .(, , , )
shadow.AnchorPoint = .(, )
shadow.Image =
shadow.ImageColor3 = .(, , )
shadow.ImageTransparency =
shadow.ScaleType = .ScaleType.Slice
shadow.SliceCenter = Rect.(, , , )
shadow.ZIndex = toast.ZIndex -
shadow.Parent = toast
icon = .()
icon.Name =
icon.Size = .(, , , )
icon.Position = .(, , , )
icon.BackgroundTransparency =
icon.Font = .Font.SourceSansBold
icon.TextSize =
icon.TextColor3 = .(, , )
icon.ZIndex = toast.ZIndex +
toastType ==
icon.Text =
toastType ==
icon.Text =
icon.TextColor3 = .(, , )
icon.Text =
icon.TextColor3 = .(, , )
icon.Parent = toast
text = .()
text.Name =
text.Size = .(, -, , )
text.Position = .(, , , )
text.BackgroundTransparency =
text.Font = .Font.GothamMedium
text.TextSize =
text.TextColor3 = .(, , )
text.Text = message
text.TextXAlignment = .TextXAlignment.Left
text.TextYAlignment = .TextYAlignment.Center
text.TextTruncate = .TextTruncate.AtEnd
text.ZIndex = toast.ZIndex +
text.Parent = toast
textService = :()
textBounds = textService:(
message,
text.TextSize,
text.Font,
.(, )
)
targetWidth = .(.(textBounds.X + , ), )
slideTween = TweenService:(
toast,
TweenInfo.(, .EasingStyle.Back, .EasingDirection.Out),
{
Size = .(, targetWidth, , ),
Position = .(, -, , -)
}
)
slideTween:()
toastType ==
.(()
rotation =
toast toast.Parent
rotation = (rotation + ) %
spinChars = {, }
icon.Text = spinChars[(math.floor(rotation / 180) % 2) + 1]
task.wait(0.1)
end
end)
end
if toastType ~= "loading" then
task.delay(duration, function()
if toast and toast.Parent then
local fadeOut = TweenService:Create(
toast,
TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
{
Position = UDim2.new(1, 20, 1, -20),
BackgroundTransparency = 1
}
)
TweenService:Create(icon, TweenInfo.new(0.3), {TextTransparency = 1}):Play()
TweenService:Create(text, TweenInfo.new(0.3), {TextTransparency = 1}):Play()
TweenService:Create(shadow, TweenInfo.new(0.3), {ImageTransparency = 1}):Play()
fadeOut:Play()
fadeOut.Completed:Connect(function()
toast:Destroy()
end)
end
end)
end
return toast
end
return self.gui
end
end
end
local UI = {}
UI.__index = UI
function UI.new(options)
local self = setmetatable({}, UI)
self.options = options or {}
self.title = self.options.title or "Key Verification System"
self.subtitle = self.options.subtitle or "Powered by Junkie Development"
self.description = self.options.description or "Please complete the key verification to continue"
self.lastRequestTime = 0
self.requestCooldown = 15
self.maxAttempts = 5
self.currentAttempts = 0
self.player = Players.LocalPlayer
self.gui = nil
self.hwid = game:GetService("RbxAnalyticsService"):GetClientId()
self._connections = {}
return self
end
UI.createUI = function(self)
local UIFactory = loadUIFactory()
if UIFactory then
local uiBuilder = UIFactory(Colors, Players, TweenService, UserInputService, Lighting)
if uiBuilder then
uiBuilder(self)
else
error("UI builder initialization failed")
return
end
else
error("Failed to load UI factory")
return
end
if self.elements and self.elements.getLinkButton then
table.insert(self._connections, self.elements.getLinkButton.MouseButton1Click:Connect(function()
self:handleGetLink()
end))
end
if self.elements and self.elements.verifyButton then
table.insert(self._connections, self.elements.verifyButton.MouseButton1Click:Connect(function()
self:handleVerifyKey()
end))
end
if self.elements and self.elements.keyInput then
table.insert(self._connections, self.elements.keyInput.FocusLost:Connect(function(enterPressed)
if enterPressed then
self:handleVerifyKey()
end
end))
end
return self.gui
end
function UI:close()
getgenv().UI_CLOSED = true
for _, conn in ipairs(self._connections or {}) do
pcall(function() conn:Disconnect() end)
end
self._connections = {}
if self.gui then self.gui:Destroy() end
return getgenv().SCRIPT_KEY
end
function UI:handleGetLink()
local secureGetKeyLink = Junkie.get_key_link()
if not secureGetKeyLink then
self:updateStatus("System not initialized", Colors.error, 3)
return
end
local link = secureGetKeyLink
if link then
if setclipboard then
setclipboard(link)
self:updateStatus("Link copied to clipboard!", Colors.success, 3)
else
self:updateStatus("Get link: " .. link, Colors.primary, 10)
end
else
self:updateStatus("Failed to get link", Colors.error, 3)
end
end
function UI:handleVerifyKey()
local key = self.elements.keyInput.Text:gsub("%s+", "")
if key == "" then
self:updateStatus("Please enter a key", Colors.error, 3)
self:shakeInput()
return
end
if self.setButtonLoading then
self:setButtonLoading(self.elements.verifyButton, "Verifying", true)
end
self:updateStatus("Verifying...", Colors.primary, 0)
if self.elements.keyInput.Interactable ~= nil then
self.elements.keyInput.Interactable = false
end
local result = Junkie.check_key(key)
if result and result.valid then
saveVerifiedKey(key)
self:updateStatus("Key verified!", Colors.success, 0)
if self.animateSuccess then self:animateSuccess() end
task.wait(1.5)
getgenv().SCRIPT_KEY = key
self:close()
return
else
self:updateStatus("Invalid key", Colors.error, 3)
if self.shakeInput then self:shakeInput() end
if self.setButtonLoading then
self:setButtonLoading(self.elements.verifyButton, "Verify Key", false)
end
if self.elements.keyInput.Interactable ~= nil then
self.elements.keyInput.Interactable = true
end
end
end
local ui = UI.new(options)
ui:createUI()
if ui.setLoadingState then
ui:setLoadingState(true, "Checking verification...")
end
local savedKey = loadVerifiedKey()
local keyToCheck = savedKey
if not keyToCheck then
keyToCheck = getgenv().SCRIPT_KEY
end
local result = Junkie.check_key(keyToCheck)
if result and result.valid then
if result.message == "KEYLESS" then
if ui.showSuccess then
ui:showSuccess("Keyless Mode â")
end
getgenv().SCRIPT_KEY = "KEYLESS"
if ui.close then ui:close() end
return
end
if result.message == "KEY_VALID" then
if not savedKey and keyToCheck then
saveVerifiedKey(keyToCheck)
end
if ui.showSuccess then
local successMsg = savedKey and "Saved Key Verified â" or "Key Verified â"
ui:showSuccess(successMsg)
end
getgenv().SCRIPT_KEY = keyToCheck
if ui.close then ui:close() end
return
end
if savedKey and not result.key_valid then
clearSavedKey()
end
end
if ui.setLoadingState then
ui:setLoadingState(false)
end
while not getgenv().UI_CLOSED do
task.wait(0.1)
end
return getgenv().SCRIPT_KEY
end)()
loadstring(game:HttpGet("https://raw.githubusercontent.com/wehibuyfgyuwe/99nights.github.io/refs/heads/main/ringta.lua"))()Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: jnkie.com, raw.githubusercontent.com.
Stay safe
Never paste your .ROBLOSECURITY cookie anywhere, and use an alt account with scripts.

99 Nights in the Forest đĻ