Run it
Copy the script and paste it into your executor.
Players = :()
ReplicatedStorage = :()
StarterGui = :()
UserInputService = :()
player = Players.LocalPlayer
player
list = Players:()
#list > player = list[]
playerGui = player (player:() player:(,)) StarterGui
GUI_NAME =
ex = playerGui:(GUI_NAME); ex ex:()
StarterGui:(GUI_NAME) StarterGui ~= playerGui StarterGui:(GUI_NAME):()
PlusOne = ReplicatedStorage:(, )
Action = PlusOne PlusOne:()
CLICK_INTERVAL =
UPGRADE_INTERVAL =
REBIRTH_INTERVAL =
suffixes = {K=, M=, B=, T=, Qa=, Qi=, Sx=, Sp=, Oc=, No=, Dc=}
(s)
s
s = (s):(,)
num, suf = s:()
num
n = (num)
n
suf suf ~=
mult = suffixes[suf]
mult
n = n * mult
n
()
ui = playerGui:()
ui
bal = ui:(, ) ui.UpgradeTree:(, )
bal bal:() bal.Text
total = ui:(, ) ui.TopHUD:(, )
total total:() total.Text
()
(())
sg = .(); sg.Name=GUI_NAME; sg.ResetOnSpawn=; sg.IgnoreGuiInset=; sg.ZIndexBehavior=.ZIndexBehavior.Sibling; sg.Parent=playerGui
frame = .(); frame.Size=.(,,,); frame.Position=.(,,,); frame.BackgroundColor3=.(,,); frame.BorderSizePixel=; frame.Active=; frame.Parent=sg
fc=.(); fc.CornerRadius=.(,); fc.Parent=frame
stroke=.(); stroke.Color=.(,,); stroke.Thickness=; stroke.Parent=frame
dragging,ds,sp=,,
frame.InputBegan:((i) i.UserInputType==.UserInputType.MouseButton1 dragging=; ds=i.Position; sp=frame.Position )
UserInputService.InputChanged:((i) dragging i.UserInputType==.UserInputType.MouseMovement d=i.Position-ds; frame.Position=.(sp.X.Scale,sp.X.Offset+d.X,sp.Y.Scale,sp.Y.Offset+d.Y) )
UserInputService.InputEnded:((i) i.UserInputType==.UserInputType.MouseButton1 dragging= )
title=.(); title.Size=.(,-,,); title.Position=.(,,,); title.BackgroundTransparency=; title.Text=; title.TextColor3=.(,,); title.Font=.Font.GothamBold; title.TextSize=; title.TextXAlignment=.TextXAlignment.Left; title.Parent=frame
balLbl=.(); balLbl.Size=.(,-,,); balLbl.Position=.(,,,); balLbl.BackgroundTransparency=; balLbl.Text=; balLbl.TextColor3=.(,,); balLbl.Font=.Font.Gotham; balLbl.TextSize=; balLbl.TextXAlignment=.TextXAlignment.Left; balLbl.Parent=frame
statusLbl=.(); statusLbl.Size=.(,-,,); statusLbl.Position=.(,,,); statusLbl.BackgroundTransparency=; statusLbl.Text=; statusLbl.TextColor3=.(,,); statusLbl.Font=.Font.Gotham; statusLbl.TextSize=; statusLbl.TextXAlignment=.TextXAlignment.Left; statusLbl.Parent=frame
(y, label)
btn=.(); btn.Size=.(,-,,); btn.Position=.(,,,y); btn.BackgroundColor3=.(,,); btn.TextColor3=.(,,); btn.Font=.Font.GothamBold; btn.TextSize=; btn.Text=label..; btn.AutoButtonColor=; btn.Parent=frame
c=.(); c.CornerRadius=.(,); c.Parent=btn
btn
clickBtn = (, )
upgBtn = (, )
rebBtn = (, )
clickOn, upgOn, rebOn = , ,
(btn, label, on)
on
btn.Text = label ..
btn.BackgroundColor3 = .(,,)
btn.Text = label ..
btn.BackgroundColor3 = .(,,)
clickLoopRunning =
()
clickLoopRunning
clickLoopRunning =
.(()
clickOn
Action (() Action:(, ) )
.(CLICK_INTERVAL)
clickLoopRunning =
)
upgLoopRunning =
()
ui = playerGui:()
ui
nodesFolder = ui:(, ) ui.UpgradeTree:(, ) ui.UpgradeTree.Viewport:(, )
nodesFolder
bal = ()
bought =
_, node (nodesFolder:())
node:() node.Name ~=
purchased = node:()
owned =
purchased purchased:() purchased.Visible owned =
priceFrame = node:()
costLbl = priceFrame priceFrame:()
costText = costLbl costLbl:() costLbl.Text
costText == owned =
owned
cost = (costText)
cost bal cost <= bal
(() Action:(, node.Name) )
bought = bought +
bought
()
upgLoopRunning
upgLoopRunning =
.(()
upgOn
ok, bought = (runUpgradePass)
ok bought bought >
statusLbl.Text = .. bought ..
.(UPGRADE_INTERVAL)
upgLoopRunning =
)
rebLoopRunning =
()
rebLoopRunning
rebLoopRunning =
.(()
rebOn
Action
(() Action:(, ) )
.(REBIRTH_INTERVAL)
rebLoopRunning =
)
clickBtn.MouseButton1Click:(()
clickOn = clickOn
(clickBtn, , clickOn)
clickOn ()
)
upgBtn.MouseButton1Click:(()
upgOn = upgOn
(upgBtn, , upgOn)
upgOn ()
)
rebBtn.MouseButton1Click:(()
rebOn = rebOn
(rebBtn, , rebOn)
rebOn ()
)
.(()
sg sg.Parent
bt = ()
bt balLbl.Text = .. bt
.()
)
Action statusLbl.Text =
()Universal