Run it
Copy the script and paste it into your executor.
ReplicatedStorage = :()
Players = :()
player = Players.LocalPlayer
RollService = ReplicatedStorage:():()
activeUUID =
rolling =
(buttonText, initialPosition, buttonColor)
CustomScreenGui = .()
CustomButton = .()
UICorner = .()
UIStroke = .()
CoreGui = :()
CustomScreenGui.Name =
CustomScreenGui.Parent = CoreGui
CustomScreenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
CustomScreenGui.ResetOnSpawn =
CustomButton.Parent = CustomScreenGui
CustomButton.BackgroundColor3 = buttonColor .(, , )
CustomButton.BackgroundTransparency =
CustomButton.Position = initialPosition
CustomButton.Size = .(, , , )
CustomButton.Text = buttonText
CustomButton.TextColor3 = .(, , )
CustomButton.TextScaled =
UICorner.CornerRadius = .(, )
UICorner.Parent = CustomButton
UIStroke.Parent = CustomButton
UIStroke.Thickness =
UIStroke.Color = .(, , )
dragging
dragInput, dragStart, startPos
CustomButton.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
dragStart = input.Position
startPos = CustomButton.Position
input.Changed:(()
input.UserInputState == .UserInputState.End
dragging =
)
)
CustomButton.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch
dragInput = input
)
:().InputChanged:((input)
input == dragInput dragging
delta = input.Position - dragStart
CustomButton.Position = .(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
)
CustomButton.MouseButton1Click:(()
rolling = rolling
rolling
CustomButton.Text =
()
CustomButton.Text =
activeUUID =
()
)
CustomScreenGui
initialButtonPosition = .(, -, , -)
(, initialButtonPosition, .(, , ))
(args)
()
index, value (args)
(index, , value)
(uuid)
args = {
[] = ,
[] = uuid
}
RollService:((args))
(, uuid)
RollService.OnClientEvent:((...)
args = {...}
activeUUID args[] (args[]) ==
activeUUID = args[]
(, activeUUID)
(args)
)
()
rolling activeUUID
(activeUUID)
()
(autoRoll)
It works but not very optimized make sure to have auto roll off before you execute and after execution just roll once on any tower or trap you want to roll on after you get the traits just press stop rolling and if you wanna roll on a different tower roll one it once then press start rolling ( i tried my best to make it detect traits that you have rolled and then stop the script if you get all traits but that didn't work out well) if anyone wants to make it better please be my guest as I am not that great at coding