get paid to paste

-- Legit autotyper for type race https://www.roblox.com/games/7232779505/X
-- Set WPM limit and delays to whatever you like to seem more legit
-- This can also do survival and SG/RLGL

-- TO ADD: Different ways to cap WPM limit without stuttering
-- TO ADD: Anti-break tech to avoid misses from breaking/ruining it
-- TO ADD???: Autotype without needing to execute each time

_G.wpmlimit = 999 -- Max WPM you can hit, will start stuttering at this limit
_G.keydelay = 0.075 -- Delay between keys to seem more legit. 0.075 ~ 144wpm

local vim = game:GetService("VirtualInputManager") -- I specifically did this bc the SynX keypress used only VK bytecodes
-- Interpreting straight letter to VIM seems to be faster than using SynX VK, and it works without needing game focus

---- vvvvv I DID NOT MAKE ANYTHING IN THIS SECTION vvvvv ----
local function findLetterTable()
for i,obj in pairs( getgc() ) do
if type(obj) == "function" and getfenv(obj).script == game:GetService("Players").LocalPlayer.PlayerGui.LocalMain then
local consts=debug.getconstants(obj)
if consts[8]=="idXTO3JVlV0CBTmiSbaQ" then
--local tab=debug.getupvalue(obj,4)
return debug.getupvalue(obj,4) -- FULL CREDIT TO IDoN0t ON V3RM FOR THIS THING [showthread.php?tid=1140292]
end end end end -- I have no idea what's going on in this thing, other than just raw letters come out of it
---- ^^^^^ I DID NOT MAKE ANYTHING IN THIS SECTION ^^^^^ ----

local descendants = findLetterTable()
for index, descendant in pairs(descendants) do
    if string.upper(descendant) ~= " " then -- Remnant of an old method of getting letters
        local key = Enum.KeyCode[string.upper(descendant)]
        vim:SendKeyEvent(1,key,0,nil)
        vim:SendKeyEvent(0,key,0,nil) 
        else
        vim:SendKeyEvent(1,32,0,nil) -- This is how I used to interpret spaces safely
        vim:SendKeyEvent(0,32,0,nil) -- It's crusty, but it works
        end
    while tonumber(game.Players.LocalPlayer.PlayerGui.ScreenGui.Main.RaceScreen.LiveStats.WPM.Stat.Text) > _G.wpmlimit do
    task.wait() -- This section hard limits at the set WPM cap. Should this also be keydelay so it's less jittery/stuttery?
    end
    wait(_G.keydelay)
    if game.Workspace:FindFirstChild("Doll") then -- To avoid bugs with non RLGL modes
        while game:GetService("SoundService").DollSaying.TimePosition > 5 or game:GetService("SoundService").DollSaying.TimePosition <= 0 do
            task.wait() -- I encourage experimenting with the timepos to squeeze the most out of the time you have. 5 is the highest it's reliable at.
        end
    end
end

Pasted: Oct 17, 2021, 10:45:41 am
Views: 4,861