
Keyless

--[[
MMMPlxyer - Condensed Logic Only
- Toggle Key: "none" editable at line 24
- Reworked By Raikou :D
]]
local lIlIlI = loadstring(game:HttpGet("https://raw.githubusercontent.com/AZYsGithub/DrRay-UI-Library/main/DrRay.lua"))()
local o0Oo0O = lIlIlI:Load("MMMPlxyer V2", "Default")
local iIi1I1 = lIlIlI.newTab("MMMAutoPlayer", "7733960981")
local O0O00 = true
local function sendNotif(state)
game.StarterGui:SetCore("SendNotification", {
Title = "MMMPlxyer V2",
Text = "Autoplayer: " .. (state and "ENABLED" or "DISABLED"),
Duration = 2
})
end
local UIS = game:GetService("UserInputService")
UIS.InputBegan:Connect(function(input, processed)
--replace the nil to any key u want
if not processed and input.KeyCode == Enum.KeyCode.nil then
O0O00 = not O0O00
sendNotif(O0O00)
end
end)
iIi1I1.newToggle("Toggle Autoplayer", "Toggles the autoplayer", true, function(v)
O0O00 = v
end)
iIi1I1.newKeybind("Close GUI", "A Keybind to close the gui", function()
o0Oo0O:Close()
end)
if not game:IsLoaded() then game.Loaded:Wait() end
local VIM = game:GetService("VirtualInputManager")
local RS = game:GetService("RunService")
local Opts = getrenv()._G.PlayerData.Options
local TYP = {"Left", "Right"}
local C0nns = {}
local KeyMap = {
[9] = {"Left", "Down", "Up", "Right", "Space", "Left2", "Down2", "Up2", "Right2"},
[8] = {"Left", "Down", "Up", "Right", "Left2", "Down2", "Up2", "Right2"},
[7] = {"Left", "Up", "Right", "Space", "Left2", "Down", "Right2"},
[6] = {"Left", "Up", "Right", "Left2", "Down", "Right2"},
[5] = {"Left", "Down", "Space", "Up", "Right"},
[4] = {"Left", "Down", "Up", "Right"}
}
local function sorter(p)
if not p then return {} end
local c = p:GetChildren()
table.sort(c, function(a, b)
return a.AbsolutePosition.X < b.AbsolutePosition.X
end)
return c
end
local function getMatch()
for _, v in ipairs(getgc(true)) do
if type(v) == "table" and rawget(v, "MatchFolder") then
return v
end
end
end
local function MAIN()
local m = getMatch()
if not m then return end
repeat task.wait() until rawget(m, "Songs")
local side = TYP[m.PlayerType]
local G = m.ArrowGui[side]
local receptors = sorter(G.MainArrowContainer)
local longHolders = sorter(G.LongNotes)
local noteHolders = sorter(G.Notes)
local max = m.MaxArrows
local keys = KeyMap[max]
local binds = max < 5 and Opts or Opts.ExtraKeySettings[tostring(max)]
for i, holder in ipairs(noteHolders) do
local keycode = binds[keys[i].."Key"]
local receptor = receptors[i]
local longContainer = longHolders[i]
table.insert(C0nns, holder.ChildAdded:Connect(function(note)
task.spawn(function()
while note and note.Parent and (receptor.AbsolutePosition - note.AbsolutePosition).Magnitude > 25 do
RS.RenderStepped:Wait()
end
if not O0O00 or not note or not note.Parent then return end
VIM:SendKeyEvent(true, keycode, false, nil)
task.wait()
local body = longContainer:FindFirstChildWhichIsA("GuiObject")
if body then
while body and body.Parent == longContainer and O0O00 do
local bodyBottom = body.AbsolutePosition.Y + body.AbsoluteSize.Y
local receptorPos = receptor.AbsolutePosition.Y
if bodyBottom < receptorPos then
break
end
RS.RenderStepped:Wait()
end
end
VIM:SendKeyEvent(false, keycode, false, nil)
end)
end))
end
return m
end
while true do
task.wait(1)
for _, v in ipairs(C0nns) do v:Disconnect() end
table.clear(C0nns)
local match = MAIN()
if match and match.MatchFolder then
match.MatchFolder.Destroying:Wait()
end
end
I don't see any skidders now lately tbh
@BasicExploiter I am
Nice script
Great script, sometimes it can miss but besides that its very good
okay i found perfect keybind W script
Long note, There's just this one problem again.