Run it
Copy the script and paste it into your executor.
RunService = :()
Players = :()
= :()
LocalPlayer = Players.LocalPlayer
PlayerGui = LocalPlayer:()
DEBUG =
HIT_SCALE_MIN =
HIT_SCALE_MAX =
firesignal = ().firesignal ((firesignal) == firesignal)
mousemoveabs = ().mousemoveabs ((mousemoveabs) == mousemoveabs)
mouse1click = ().mouse1click ((mouse1click) == mouse1click)
(...) DEBUG (, ...)
(container)
container
_, gui (container:())
gui:() gui.Name ==
parent = gui.Parent
parent parent:() parent:()
gui
_, gui (container:())
gui:()
_, child (gui:())
img = child:()
img img:() img.Size.X.Scale >= img.Size.X.Scale <=
gui
()
folder = (PlayerGui)
folder folder
(guiObj)
pos = guiObj.AbsolutePosition
size = guiObj.AbsoluteSize
.(pos.X + size.X / , pos.Y + size.Y / )
(note)
firesignal note.Activated
(firesignal, note.Activated)
center = (note)
mousemoveabs mouse1click
(mousemoveabs, center.X, center.Y)
(mouse1click)
vim_ok, vim_svc = (() :() )
vim_ok vim_svc
(()
vim_svc:(center.X, center.Y, , )
.()
vim_svc:(center.X, center.Y, , )
)
clickedNotes = {}
()
note, _ (clickedNotes)
note.Parent note.Parent.Parent
clickedNotes[note] =
()
ddr = :()
ddr ddr:() ddr.Value
connection
lastLogTime =
folderNotFoundWarned =
()
connection connection:(); connection =
connection = RunService.Heartbeat:(()
folder = ()
ddr = :()
ddr ddr:() ddr.Value
()
folderNotFoundWarned =
folder
DEBUG folderNotFoundWarned () - lastLogTime >
folderNotFoundWarned =
lastLogTime = ()
()
folderNotFoundWarned =
()
notes = folder:()
_, note (notes)
clickedNotes[note]
img = note:()
img img:()
scale = img.Size.X.Scale
scale >= HIT_SCALE_MIN scale <= HIT_SCALE_MAX
clickedNotes[note] =
(note) DEBUG
(, .(, scale))
)
()
ddr = :()
ddr ddr:()
()
()
()
ddr.Changed:(()
ddr.Value
.(clickedNotes)
connection ()
()
connection connection:(); connection =
.(clickedNotes)
()
)
firesignal ()
firesignal (mousemoveabs mouse1click) ()
firesignal (mousemoveabs mouse1click) ()
() .(clickedNotes); ()
()
()Autoplays the osu! levels from the DDR machine