Skip to content

Instantly share code, notes, and snippets.

@prail
Last active March 22, 2022 00:04
Show Gist options
  • Save prail/11d7e0603a8a54af2e83f286502cd6cc to your computer and use it in GitHub Desktop.
Save prail/11d7e0603a8a54af2e83f286502cd6cc to your computer and use it in GitHub Desktop.
Bot for nitrotype.com. Please see comments below for guide on how to use.
// ==UserScript==
// @name Nitrobot
// @namespace http://ateesdalejr.tk
// @version 1.0
// @description Try to take over nitrotype!
// @author Andrew T.
// @match https://www.nitrotype.com/*
// @grant none
// ==/UserScript==
/*
This is a userscript meant for use with tampermonkey. Please don't get yourself banned with this. :) It's very easy to do so.
I made this mainly as a learning RE project. You use this at your own risk, I am not responsible for any accounts that are
banned or penalties incurred.
*/
(function() {
'use strict';
window.textBuffer={};
var oldFillText = CanvasRenderingContext2D.prototype.fillText;
CanvasRenderingContext2D.prototype.fillText=function() {
var args = Array.prototype.slice.call(arguments);
var [text,x,y]=args.slice(0,3);
if (text.length == 1) {
if (!(y in textBuffer)) {
textBuffer[y]="";
}
textBuffer[y]+=text;
}
return oldFillText.apply(this,arguments);
};
var INTRO_LEN=62; // Length of the junk text at the beginning.
var WAIT_SECONDS=2; // Time to wait until the game has started.
var CANVAS_ID="race-track";
var TOTAL_SECONDS = 35.50 - Math.random()*2;
var KEY_DELAY=0.18; //Delay between keypress in seconds. Top speed is about 1077 WPM.
var ACCURACY=95; //Percentage of accuracy. 95 is pretty good.
window.startBot=function() {
var key,shift;
var i=0;
setTimeout(function() {
var typingText=textBuffer[30].slice(INTRO_LEN);
KEY_DELAY = TOTAL_SECONDS / typingText.length;
var intervalLoop=setInterval(function() {
if (i >= typingText.length) {
clearInterval(intervalLoop);
console.log("Finished typing.");
} else {
key=typingText[i];
shift=(key == key.toUpperCase());
var e=jQuery.Event("keypress",{which:key.charCodeAt(0),shiftKey:shift});
$("#"+CANVAS_ID).trigger(e);
if (Math.random() > ACCURACY/100) {
key="=";
shift=(key == key.toUpperCase());
e=jQuery.Event("keypress",{which:key.charCodeAt(0),shiftKey:shift});
$("#"+CANVAS_ID).trigger(e);
}
i++;
}
},KEY_DELAY*1000);
},WAIT_SECONDS*1000);
};
$("body").append("<button onclick=\"startBot()\"style=\"position:fixed;top:0px;left:0px;padding:15px;\">Start Bot</button>");
})();
@prail
Copy link
Author

prail commented Mar 11, 2021

Drizzle, this hack is really old. Nitrotype has changed their underlying code, and this hack won't work anymore. I got permabanned after I used this anyways... I'm in college now and Nitrotype is kind of not worth my time anymore. I'm sorry that you've ran into so many fake hacks. But, that is what you get when you take other people's scripts. I would say, don't use a hack if you don't know what it does.

@Drizzle2112
Copy link

kk

@Drizzle2112
Copy link

got it

@Drizzle2112
Copy link

well the nitro type future is pretty cool

@prail
Copy link
Author

prail commented Mar 11, 2021

I hope you continue your interest in hacks. Maybe try learning how to write one yourself! https://developer.mozilla.org/en-US/docs/Learn/JavaScript

@themanplease
Copy link

this does not work to me but that's alright IT DOES WORK

@14141ewwew
Copy link

it did not work

@14141ewwew
Copy link

how do i change the wpm

IDK

@prail
Copy link
Author

prail commented Sep 20, 2021 via email

@prail
Copy link
Author

prail commented Sep 20, 2021 via email

@SpaceDud
Copy link

how do i access the script

@JonathanTartt
Copy link

Thanks for this.

@JonathanTartt
Copy link

I'm in school, so I don't really "have the time" to learn how to do this. Well, actually, I just lied- I'm always able to do this on non-school days like Saturday or Sunday. But I'm lazy, so I'd rather just get the code or whatever and be done with it- you know, so I don't have to spend like my free time learning how to do it.

@prail
Copy link
Author

prail commented Mar 3, 2022 via email

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