-
-
Save qsysmine/c99ba1423ded365a268c to your computer and use it in GitHub Desktop.
// ==UserScript== | |
// @name MicroScatter Cheater Script | |
// @namespace http://qsysmine.tk/ | |
// @version 0.1 | |
// @description Press C on microscatter to win | |
// @author qsysmine | |
// @match https://quizlet.com/*/microscatter | |
// @grant none | |
// ==/UserScript== | |
(function(){ | |
if (window.jQuery !== undefined) { | |
doStuff(jQuery); | |
} else { | |
var script = document.createElement('script'); | |
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'; | |
document.getElementsByTagName('head')[0].appendChild(script); | |
var interval = setInterval(function(){ | |
if (window.jQuery) { | |
clearInterval(interval); | |
var JQ = jQuery.noConflict(true); | |
doStuff(JQ); | |
} | |
}, 100); | |
} | |
function doStuff($) { var cheatTime = 0; | |
window.setCheatTime = function(mils) { | |
cheatTime = mils; | |
}; | |
var $ = window.jQuery; | |
var cheat = function() { | |
var ids = []; | |
var checkhasid = function(id) { | |
for(var i in ids) { | |
if(ids[i] == id) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
setTimeout(function() { | |
$('.cell').each(function(index){ | |
if(checkhasid($(this).attr("data-id"))) $('[data-id="' + $(this).attr("data-id") + '"]').trigger("click") | |
if(!checkhasid($(this).attr("data-id"))) ids.push($(this).attr("data-id")); | |
}); | |
}, cheatTime); | |
}; | |
window.startWithTime = function(mils) { | |
setCheatTime(mils); | |
$('#start').trigger("click"); | |
cheat(); | |
}; | |
var z = 0; | |
$('*').keyup(function(e) { | |
if(e.keyCode == 67 && z == 0 && $('#cells').hasClass("started")) {z = 1; cheat();} | |
}); } | |
})(); | |
Is it possible to set a specific time the hack activates? I have got it working but it is too obvious I am a hacker at school. Plz help. I'm not a programmer btw...
As of recently this script doesn't work anymore, I made a (very terrible) new version of this (that works like 80% of the time).
Here it is!
PLZ HELP ME
I've been looking everywhere for a code that currently works, but have not found anything, and most videos either lead me here or to Greasy Fork. Does anyone have a script that will definitely work?
Thanks
try
function eventFire(el, etype){
if (el.fireEvent) {
el.fireEvent('on' + etype);
} else {
var evObj = document.createEvent('Events');
evObj.initEvent(etype, true, false);
el.dispatchEvent(evObj);
}
}
terms = Quizlet.matchModeData.terms;
wordDefinition = {};
definitionWord = {};
for(let i = 0; i < terms.length; i++){
wordDefinition[terms[i].word] = terms[i].definition;
definitionWord[terms[i].definition] = terms[i].word;
}
firstClick = true;
document.onclick = ()=>{
firstClick = false;
setTimeout(()=>{
// Magic for loop instead
// checks if the combination is right before clicking :)
for(let i=0;i<document.querySelector(".MatchModeQuestionGridBoard-tiles").childNodes.length;i++) {
console.log("i = "+i);
// click it if its unclicked
if(document.querySelector(".MatchModeQuestionGridBoard-tiles").childNodes[0].childNodes.length == 0 || document.querySelector(".MatchModeQuestionGridBoard-tiles").childNodes[1].childNodes[0].className == "MatchModeQuestionGridTile is-selected"){
console.log("Already clicked " + i);
} else {
let word = document.querySelector(".MatchModeQuestionGridBoard-tiles").childNodes[i].childNodes[0].childNodes[0].childNodes[0].childNodes[0].innerHTML.replace(//mig, '');
let translatedWord;
if(wordDefinition[word]){
translatedWord = wordDefinition[word];
} else if(definitionWord[word]){
translatedWord = definitionWord[word];
}
// console.log(translatedWord);
// find another word in the same dataset ID and click that as well
for(let o = 0; o < document.querySelector(".MatchModeQuestionGridBoard-tiles").childNodes.length; o++) {
// console.log("o = " + o );
if(document.querySelector(".MatchModeQuestionGridBoard-tiles").childNodes[o].innerHTML.includes(translatedWord)) {
let x = i;
setTimeout(()=>{
console.log("Found word pair: "+translatedWord+":"+word);
eventFire(document.querySelector(".MatchModeQuestionGridBoard-tiles").childNodes[o].childNodes[0], "pointerdown");
setTimeout(()=>{
eventFire(document.querySelector(".MatchModeQuestionGridBoard-tiles").childNodes[x].childNodes[0], "pointerdown");
},00);
},i*300);
}
}
}
}
},500);
};
// brute force, they now penalize faults so this is shit
/*
setInterval(function() {
var dwfg = Math.floor(Math.random() * 16);
// console.log(document.getElementById("cells").childNodes[dwfg].getAttribute("data-type"));
if(document.getElementById("cells").childNodes[dwfg].className == "cell long touching correct" || document.getElementById("cells").childNodes[dwfg].className == "cell long touching touched"){
} else {
eventFire(document.querySelector("#cells").childNodes[dwfg], "click");
}
}, 1);
*/
setInterval(function() {
//eventFire(document.querySelector("body > div:nth-child(4) > div > div.UIModal.is-open > div > div > div.HighscoresMessage > div.UIDiv.HighscoresMessage-button > button"), "click");
}, 2000);
try this
https://gist.github.com/theonlytruegod/1d61841f3294f419bbe8b800143deba1
my best is 0.5 seconds. (I got 0.0 seconds but it said It will not save the score because It knows I cheated)
hack
the $ is what is now being refered to by quizlet as
bro, nice
This hack doesn't let me do it, it says "The ($) isn't a function."