Funky Friday Auto Player Gui - November 2021
Funky Friday Auto Player Gui - November 2021
--// ENV
--// UI Init
local Library =
loadstring(game:HttpGet("https://raw.githubusercontent.com/Introvert1337/Releases/m
aster/Utilities/Epic_Thing_Library.lua"))()
--// Variables
local Autoplayer = {}
local Variables = {}
do
Variables.ReleaseDelay = 10
Variables.Keys = {
"Left",
"Down",
"Up",
"Right"
}
Variables.Pressed = {}
Variables.Constants = {}
Variables.NoteAccuracy = {}
Variables.Percentages = {
["Sick"] = 100,
["Good"] = 0,
["Ok"] = 0,
["Bad"] = 0,
["Miss"] = 0
}
Variables.Constants.DISTANCE_TO_ACCURACY = {
["Sick"] = 0.03,
["Good"] = 0.07,
["Ok"] = 0.12,
["Bad"] = 0.16,
["Miss"] = 0.31
}
Variables.Constants.ACCURACY_NAMES = {
"Sick",
"Good",
"Ok",
"Bad",
"Miss"
}
Variables.Autoplay = false
Variables.Random = Random.new()
end
--// Functions
do
function Autoplayer:GetDirection(Position)
return Variables.Keys[Position - 3] or Variables.Keys[Position + 1]
end
function Autoplayer:GetDistance(Time)
return math.abs(Time -
Variables.Framework.SongPlayer.CurrentlyPlaying.TimePosition)
end
Variables.NoteAccuracy[Arrow] =
Variables.Constants.DISTANCE_TO_ACCURACY[Accuracy]
function Autoplayer:GetNote(Arrow)
for Index, Note in next, Variables.NoteArray do
if Note.Side == Arrow.Side and Note.Position == Arrow.Position then
return Note
end
end
end
Variables.Pressed[Arrow] = true
Note:Press(false)
end
function Autoplayer:IsPressed(Arrow)
return Variables.Pressed[Arrow]
end
function Autoplayer:GetHitAccuracy()
local Percentages = Variables.Percentages
local Total = 0
if Total == 0 then
return Percentages[Variables.Random:NextInteger(1, 5)]
end
return "Sick"
end
end
game:GetService("RunService").Heartbeat:Connect(function()
if Variables.Autoplay then
for Index, Arrow in next, Variables.Framework.UI.ActiveSections do
if Arrow.Side == Variables.Framework.UI.CurrentSide then
local Direction = Autoplayer:GetDirection(Arrow.Data.Position)
local Distance = Autoplayer:GetDistance(Arrow.Data.Time)
if Autoplayer:IsValidDistance(Distance, Arrow) and not
Autoplayer:IsPressed(Arrow) then
Autoplayer:PressKey(Direction, Arrow)
end
end
end
end
end)
--// UI Options