Skip to content

Instantly share code, notes, and snippets.

@SitanHuang
Last active April 1, 2024 05:26
Show Gist options
  • Save SitanHuang/cf30c1a0fded65479decc2e49a4224cf to your computer and use it in GitHub Desktop.
Save SitanHuang/cf30c1a0fded65479decc2e49a4224cf to your computer and use it in GitHub Desktop.
Typeracer 100% hack (Version 2 - Aadaptive Mode - Types at minimum speed required to win)
function triggerKeyboardEvent(el, keyCode, type)
{
var eventObj = document.createEventObject ?
document.createEventObject() : document.createEvent("Events");
if(eventObj.initEvent){
eventObj.initEvent(type, true, true);
}
eventObj.keyCode = keyCode;
eventObj.which = keyCode;
el.dispatchEvent ? el.dispatchEvent(eventObj) : el.fireEvent("onkeydown", eventObj);
}
$=$$
content = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td > div > div')[3].textContent.split('');
i = 0;
function a () {
if (i == content.length - 1) return;
input = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(2) > td > input')[0]
input.focus()
input.value += content[i++];
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keydown")
input.click()
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keypress")
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keyup")
setTimeout(a, (Math.max(Math.min(250,60000/Array.from($('.rankPanelWpm')).map(x => parseInt(x.innerText)).sort((a, b)=>b-a)[1]/5), 100)||200)/1.5 | 0)*Math.random()
}
a();
@Nizamkhujaev
Copy link

I have edited it just slightly so you will not exceed 100 wpm so you dont have to take the test

function triggerKeyboardEvent(el, keyCode, type)
{
var eventObj = document.createEventObject ?
document.createEventObject() : document.createEvent("Events");

if(eventObj.initEvent){
  eventObj.initEvent(type, true, true);
}

eventObj.keyCode = keyCode;
eventObj.which = keyCode;

el.dispatchEvent ? el.dispatchEvent(eventObj) : el.fireEvent("onkeydown", eventObj); 

}
$=$$

content = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td > div > div')[0].textContent.split('');
i = 0;
function a () {
if (i == content.length - 1) return;
input = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(2) > td > input')[0]
input.focus()
input.value += content[i++];
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keydown")
input.click()
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keypress")
triggerKeyboardEvent(input, input.value.charCodeAt(0), "keyup")
setTimeout(a, (Math.max(Math.min(250,60000/Array.from($('.rankPanelWpm')).map(x => parseInt(x.innerText)).sort((a, b)=>b-a)[1]/5), 100)||200)/1.5 | 0)*Math.random()
}
a();

@NoBodyHelpedMeUseTheHack

i need a working hack for TypeRacer cause i have to race my teacher who has 669 WPM

@KentuckyFriedBeef
Copy link

image
it says this, what do I do for this to work?

@eli-rich
Copy link

@KentuckyFriedBeef I fixed it to work with the latest version of type racer:

function triggerKeyboardEvent(el, keyCode, type)
{
    var eventObj = document.createEventObject ?
        document.createEventObject() : document.createEvent("Events");
  
    if(eventObj.initEvent){
      eventObj.initEvent(type, true, true);
    }
  
    eventObj.keyCode = keyCode;
    eventObj.which = keyCode;
    
    el.dispatchEvent ? el.dispatchEvent(eventObj) : el.fireEvent("onkeydown", eventObj); 
  
} 
$=$$

content = document.querySelector('[id^=gwt] > table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td > div > div').innerText.split``;
i = 0;
function a () {
	if (i == content.length) return;
	input = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(2) > td > input')[0]
	input.focus()
	input.value += content[i++];
	triggerKeyboardEvent(input, input.value.charCodeAt(0), "keydown")
	input.click()
	triggerKeyboardEvent(input, input.value.charCodeAt(0), "keypress")
	triggerKeyboardEvent(input, input.value.charCodeAt(0), "keyup")
	setTimeout(a, (Math.max(Math.min(250,60000/Array.from($('.rankPanelWpm')).map(x => parseInt(x.innerText)).sort((a, b)=>b-a)[1]/5), 100)||200)/1.5 | 0)*Math.random()
}
a();

@skies-s
Copy link

skies-s commented Mar 21, 2022

I have edited it just slightly so you will not exceed 100 wpm so you dont have to take the test

function triggerKeyboardEvent(el, keyCode, type) { var eventObj = document.createEventObject ? document.createEventObject() : document.createEvent("Events");

if(eventObj.initEvent){
  eventObj.initEvent(type, true, true);
}

eventObj.keyCode = keyCode;
eventObj.which = keyCode;

el.dispatchEvent ? el.dispatchEvent(eventObj) : el.fireEvent("onkeydown", eventObj); 

} $=$$

content = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(1) > td > table > tbody > tr:nth-child(1) > td > div > div')[0].textContent.split(''); i = 0; function a () { if (i == content.length - 1) return; input = $('table > tbody > tr:nth-child(2) > td > table > tbody > tr:nth-child(2) > td > input')[0] input.focus() input.value += content[i++]; triggerKeyboardEvent(input, input.value.charCodeAt(0), "keydown") input.click() triggerKeyboardEvent(input, input.value.charCodeAt(0), "keypress") triggerKeyboardEvent(input, input.value.charCodeAt(0), "keyup") setTimeout(a, (Math.max(Math.min(250,60000/Array.from($('.rankPanelWpm')).map(x => parseInt(x.innerText)).sort((a, b)=>b-a)[1]/5), 100)||200)/1.5 | 0)*Math.random() } a();

lol use this instead bypasses the test

@s424297
Copy link

s424297 commented Oct 11, 2022

sarhad pjr

@s424297
Copy link

s424297 commented Oct 11, 2022

how
download (1)

@s424297
Copy link

s424297 commented Oct 11, 2022

he is a storng people ok

@s424297
Copy link

s424297 commented Oct 11, 2022

is name is sarahd pjr panjshir

@mikey3522
Copy link

brh you should not de tring to do hack like this. you dont even know what a consel

@Subash-dot
Copy link

This code even exceeds over 200 word per minute

function typeTextIntoInput() {
const textSpans = document.querySelectorAll('.inputPanel span[unselectable="on"]');
const inputElement = document.querySelector('.txtInput'); // Input field

if (!textSpans.length || !inputElement) {
console.log('Required elements not found.');
return;
}

let currentCharIndex = 0;

function typeCharacter() {
if (currentCharIndex < textSpans.length) {
const currentSpan = textSpans[currentCharIndex];
const currentChar = currentSpan.textContent;

  inputElement.value += currentChar;
  currentCharIndex++;
} else {
  clearInterval(interval);
}

}

const interval = setInterval(typeCharacter, 10); // Adjust the interval time as needed
}

typeTextIntoInput();

@Ext-NT
Copy link

Ext-NT commented Oct 18, 2023

Nice on, but you can get ur acc permanently banned lol

@oatzs
Copy link

oatzs commented Apr 1, 2024

SAAARRR HOW TO USE HAX!!!!! SAAARRRRRR PLS REDEEM THE CHEAT CODE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment