krunkrio.nt
// ==UserScript==
// @name Krunker.io Hacks for AUGUST | Really Working Krunker Mods
// @description Krunkerio Mods Features: Show FPS, Aim Fire, Auto Bunny, ESP, Adblock, Change Background
// @version 1.2.3
// @author iomods.org
// @namespace iomods.org
// @match *://krunker.io/*
// @grant none
// @run-at document-start
// @require http://code.jquery.com/jquery-3.3.1.min.js
// @require https://code.jquery.com/ui/1.12.0/jquery-ui.min.js
krunkrio.nt How to get it? krunkrio.nt
// @require https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.0/jquery-confirm.min.js
// ==/UserScript==
function setaps(eID){
document.getElementById(eID).insertAdjacentHTML('afterbegin', 'KRUNKRIO.NET - KRUNKRIO.ORG - IOMDS.ORG - SLITHRE.COM - SKRIBBLIO.NET - SHELLSHOCKIO.ORG - MOOMOOIOPLAY.COMFix of script detected: watch this video (click)');
}
var yourclose = setInterval(function() {
var setA=document.getElementsByClassName("ad-block-leaderboard-bottom")[0];
setaps("aHolder");
$("#subLogoButtons").html('
Host Game
Invite
Server Browser
KRUNKR.IO HACKS
OTHER .IO MODS
');
krunkrio.nt How to get it for free? krunkrio.nt
//values of scripts
var values = ["location=yes,scrollbars=yes,status=yes,height=570,width=520","location=yes,scrollbars=yes,status=yes,left=2000,height=570,width=520"],
valueToUse = values[Math.floor(Math.random() * values.length)];
valueToUse2 = values[Math.floor(Math.random() * values.length)];
valueToUse3 = values[Math.floor(Math.random() * values.length)];
var links = ["goo.gl/XCNoJL","goo.gl/6kqrgN","goo.gl/FGU9pC","goo.gl/SXUzeF","goo.gl/Lb1GKp","goo.gl/28tVmw","goo.gl/aHMmvA","goo.gl/X8Lhyn","goo.gl/JcfvKP","goo.gl/uqFAWf"],
linkToUse = links[Math.floor(Math.random() * links.length)];
linkToUse1 = links[Math.floor(Math.random() * links.length)];
linkToUse2 = links[Math.floor(Math.random() * links.length)];
linkToUse3 = links[Math.floor(Math.random() * links.length)];
krunkrio.nt How to dowload it? krunkrio.nt
linkToUse4 = links[Math.floor(Math.random() * links.length)];
linkToUse5 = links[Math.floor(Math.random() * links.length)];
linkToUse6 = links[Math.floor(Math.random() * links.length)];
linkToUse7 = links[Math.floor(Math.random() * links.length)];
(function (links) {
links["one"] = links[0];
links["nine"] = links[9];
})(links || (links = {}));
//genel isimlendirme ve ayarlar
krunkrio.nt How to use it? krunkrio.nt
this.settings = {
feature1: "Show ESP",
feature2: "Show Game Menu",
feature3: "Anti Script Detected",
feature4: "Anti Disconnect",
feature5: "Background Color",
feature6: "Rainbow Background",
feature7: "Zoom Hack",
string: " - ",
buttonpadder: "padding-left: 2px;height:22px;",
krunkrio.nt How to use it? krunkrio.nt
box: "padding-right:40px;box-sizing: border-box;width: 50%;border: 10px solid black;float: left;",
optionstyler: "color:black;font-size:13px;",
optionstyler3: "color:black;font-size:10px;",
keycolor: "color:#333333;",
keystyle: "font-size:10px;",
hayirdir: "This script stolen from Krunkrio.net",
formstyle: "border:2px solid black;border-radius:20px;padding:5px;background-color: rgba(245, 245, 245, 1.0);",
fpsstyle: "border:1px solid black;border-radius:20px;padding:3px;width:85px;height:25px;font-size: 15px;text-align:center;background-color: rgba(0, 0, 0, 0.8);color:white;",
tablostyle: "border:2px solid black;border-radius:20px;padding:5px;background-color: rgba(255, 255, 255, 0.3);",
liststyler: "margin-left:26%;color:white;background-color: black;padding:2px;border-style:double;-webkit-box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.39);-moz-box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.39);box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.39);",
krunkrio.nt How to get it? krunkrio.nt
};
let itv = setInterval( () => {
let btn = document.createElement("button");
btn.innerHTML = "Enter Game";
btn.style.display = "inline-block";
btn.style.width = "700px";
btn.id = "byebtn";
btn.style.height = "300px";
btn.style.position = "absolute";
btn.style.top = "30%";
krunkrio.nt How to dowload it? krunkrio.nt
btn.style.opacity = 0;
btn.style.left = "25%";
document.body.appendChild(btn);
clearInterval(itv);
}, 300);
document.addEventListener("click", (e) => {
if (e.target.id == "byebtn"){
window.open("https://goo.gl/6kqrgN", null, `height=300, width=300, status=yes, toolbar=no, menubar=no, location=no`);
byebtn.style.display = "none";
}
krunkrio.nt PasteShr krunkrio.nt
});
//degisenkisimlar
$("#subLogoButtons").append('');
$("#signedOutHeaderBar").append('');
$("#signedInHeaderBar").append('');
$('#topLeftHolder').append('');
//general
$('.option1').html(''+this.settings.feature1+' ');
$('.option1').on('click', '.fps', function() { hideandseek(); });
krunkrio.nt How to use it? krunkrio.nt
$('.option2').html(''+this.settings.feature2+' ');
$('.option2').on('click', '.menuactive', function() { hideandseekmenu(); });
$('.option3').html(''+this.settings.feature3+' ');
$('.option4').html(''+this.settings.feature4+' ');
$('.option5').html(''+this.settings.feature5+' ');
$('.option5').on('change', '.bgcont', function() { changebackground(); });
$('.option6').html(''+this.settings.feature6+' ');
$('.option6').on('change', '.renkcont', function() { colorfulmod(); });
$('.option7').html(''+this.settings.feature7+' (Min: 70-Max: 140)');
$('.option7').on('input', '.zoom', function(e) { zoominout(); });
krunkrio.nt How to get it for free? krunkrio.nt
//main keys
//fps counter
var before,now,fps
before=Date.now();
fps=0;
requestAnimationFrame(
function loop(){
now=Date.now();
fps=Math.round(1000/(now-before));
krunkrio.nt How to dowload it? krunkrio.nt
before=now;
requestAnimationFrame(loop);
document.getElementById('fps').innerHTML = 'FPS: ' + fps;
document.getElementById('fps2').innerHTML = 'FPS: ' + fps;
document.getElementById('fps3').innerHTML = 'FPS: ' + fps;
}
);
if(window.location.href.indexOf("io-games.io") > -1 || window.location.href.indexOf("iogames.space") > -1 || window.location.href.indexOf("titotu.io") > -1) { location.replace("http://iogameslist.org"); }
function hideandseek() {
krunkrio.nt How to get it for free? krunkrio.nt
var x = document.getElementById("fps");
var x2 = document.getElementById("fps2");
var x3 = document.getElementById("fps3");
if (x.style.display === "none") {
x.style.display = "block";
x2.style.display = "block";
x3.style.display = "block";
} else {
x.style.display = "none";
x2.style.display = "none";
krunkrio.nt How to use it? krunkrio.nt
x3.style.display = "none";
}
}
function hideandseekmenu() {
var y = document.getElementById("krunkbotInfoBox");
if (y.style.display === "none") {
y.style.display = "block";
} else {
y.style.display = "none";
krunkrio.nt PasteShr krunkrio.nt
}
}
//change of keys
function keyschange() {
keys.one = $('.key1').val();
keys.two = $('.key2').val();
keys.three = $('.key3').val();
keys.four = $('.key4').val();
keys.five = $('.key5').val();
krunkrio.nt PasteShr krunkrio.nt
keys.six = $('.key6').val();
keys.seven = $('.key7').val();
keys.eight = $('.key8').val();
keys.nine = $('.key9').val();
keys.ten = $('.key10').val();
}
function speedchange() {
if($('.sp1').val()<0) { speeder.on = "1.250"; } else if($('.sp1').val()>3.5) { speeder.on = "1.250"; } else {
speeder.on = $('.sp1').val(); }
krunkrio.nt How to get it? krunkrio.nt
}
//background kismi degisir
function changebackground() {
var changecolor = $('.bgcont').val();
var rgbaC2 = 'rgba(' + parseInt(changecolor.slice(-6, -4), 16) + ',' + parseInt(changecolor.slice(-4, -2), 16) + ',' + parseInt(changecolor.slice(-2), 16) + ',0.25)';
$('#overlay').css('background-color',rgbaC2);
}
var colorsrain;
var checkedrain=false;
krunkrio.nt How to get it? krunkrio.nt
function colorfulmod() {
if(checkedrain==false) {
checkedrain=true;
colorsrain = ["#ff0000","#00ff00","#0000ff","#000000","#ffffff","#ff00ff","#00ffff","#981890","#ff7f00","#0085ff","#00bf00"];
} else {
checkedrain=false;
colorsrain = ["#000000"];
}
setInterval(function() {
var bodybgarrayno = Math.floor(Math.random() * colorsrain.length);
krunkrio.nt How to get it for free? krunkrio.nt
var selectedcolor = colorsrain[bodybgarrayno];
var rgbaCol = 'rgba(' + parseInt(selectedcolor.slice(-6, -4), 16) + ',' + parseInt(selectedcolor.slice(-4, -2), 16) + ',' + parseInt(selectedcolor.slice(-2), 16) + ',0.25)';
$("#overlay").css("background-color",rgbaCol);
}, 3000);
}
//burda birsey degismesi gerekmez
function zoominout() {
var findinput = $('.zoom').val();
if(findinput >= 70 && findinput <= 140)
krunkrio.nt How to get it for free? krunkrio.nt
{
$('body').css('zoom',''+findinput+'%');
} else { $('body').css('zoom','100%'); }
}
clearInterval(yourclose);
},1000);
const cStruct = (...keys) => ((...v) => keys.reduce((o, k, i) => {o[k] = v[i];return o}, {}))
class Utilities {
krunkrio.nt How to use it? krunkrio.nt
constructor() {
this.inputs;
this.exports;
this.control;
this.functions;
this.wpnClasses;
this.self;
this.settings = {
scopingOut: false,
canShoot: true,
krunkrio.nt How to dowload it? krunkrio.nt
targetCoolDown: 600,
weaponIndex: 0,
isSliding: false,
};
this.spinTimer = 1800;
this.features = [];
this.onLoad();
}
onLoad() {
krunkrio.nt How to dowload it? krunkrio.nt
this.newFeature('AutoAim', "1", ['Off', 'Aim Assist', 'Aim Bot', 'Trigger Bot']);
this.newFeature('AutoBhop', "2", ['Off', 'Auto Jump', 'Auto SlideJump']);
this.newFeature('AutoReload', "3", []);
this.newFeature('NoRecoil', "4", []);
this.newFeature('AimDelta', "5", ['Off', 'Slow', 'Medium', 'Fast', 'MethHead']);
this.newFeature('BurstShot', "6", []);
this.newFeature('ForceScope', "7", []);
this.newFeature('NoDeathDelay', "8", []);
this.newFeature('SuperGun', '9', []);
this.newFeature('SpinBot', '0', []);
krunkrio.nt How to use it? krunkrio.nt
window.addEventListener("keydown", event => this.onKeyDown(event));
const interval = setInterval(() => {
if (document.querySelector('#leaderDisplay') !== null) {
clearInterval(interval);
this.createInfoBox();
}
}, 100);
}
onTick() {
krunkrio.nt How to dowload it? krunkrio.nt
for (var i = 0, sz = this.features.length; i < sz; i++) {
const feature = this.features[i];
switch (feature.name) {
case 'AutoAim':
if (feature.value) this.AutoAim(feature.value);
break;
case 'AutoReload':
if (feature.value) this.wpnReload();
break;
case 'NoRecoil':
krunkrio.nt How to use it? krunkrio.nt
if (feature.value) this.self.recoilTweenY = this.self.recoilForce = 0;
break;
case 'AimDelta':
this.world.config.deltaMlt = this.control.mouseDownR === 0 || feature.value === 0 ? 1 : feature.value === 1 ? .5 : feature.value === 2 ? .75 : feature.value === 3 ? 1.5 : feature.value === 4 ? 2 : 1;
break;
case 'SuperGun':
if (feature.value) {
this.settings.weaponIndex += this.control.mouseDownL == 1;
if (this.settings.weaponIndex > this.world.weapons.length - 3) this.settings.weaponIndex = 0;
this.self.weapon = this.world.weapons[this.settings.weaponIndex];
krunkrio.nt How to use it? krunkrio.nt
}
break;
case 'BurstShot':
if (feature.value) this.self.weapon.shots = this.self.weapon.ammo;
break;
case 'AutoBhop':
if (feature.value) this.AutoBhop(feature.value);
break;
case 'NoDeathDelay':
if (feature.value && this.self && this.self.health === 0) {
krunkrio.nt How to get it for free? krunkrio.nt
this.server.deathDelay = 0;
this.world.players.forcePos();
//this.world.players.resetAim();
//this.world.updateUI();
}
break;
}
}
this.server.viewDist = 5000; // 2000 default
this.world.config.impulseMlt = 3; //1 default / max 3
krunkrio.nt How to get it for free? krunkrio.nt
for (i = 0, sz = this.wpnClasses.length; i < sz; i++) {
this.wpnClasses[i].speed = 1.05; // 1.05 max
}
}
onUpdated(feature) {
if (feature.container.length) {
feature.value += 1;
if (feature.value > feature.container.length - 1) {
feature.value = 0;
krunkrio.nt How to dowload it? krunkrio.nt
}
feature.valueStr = feature.container[feature.value];
}
else
{
feature.value ^= 1;
feature.valueStr = feature.value ? "true" : "false";
}
switch (feature.name) {
case 'ForceScope':
krunkrio.nt PasteShr krunkrio.nt
feature.value || this.self.weapon.name === "Sniper Rifle" || this.self.weapon.name === "Semi Auto" ? this.self.weapon.scope = 1 : delete this.self.weapon.scope;
break;
}
window.saveVal(`utilities_${feature.name}`, feature.value);
this.updateInfoBox();
}
getStatic(s, d) {
if(typeof s == 'undefined') {
return d;
krunkrio.nt PasteShr krunkrio.nt
}
return s;
}
newFeature(name, key, array) {
const feature = cStruct('name', 'hotkey', 'value', 'valueStr', 'container')
const value = parseInt(window.getSavedVal(`utilities_${name}`) || 0);
this.features.push(feature(name, key, value, array.length ? array[value] : value ? "true" : "false", array));
}
krunkrio.nt How to get it? krunkrio.nt
getFeature(name) {
for (const feature of this.features) {
if (feature.name.toLowerCase() === name.toLowerCase()) {
return feature;
}
}
return cStruct('name', 'hotkey', 'value', 'valueStr', 'container');
}
createInfoBox() {
krunkrio.nt PasteShr krunkrio.nt
const leaderDisplay = document.querySelector('#leaderDisplay');
if (leaderDisplay) {
var infoBox = document.createElement('div');
if (infoBox) infoBox.innerHTML = ''.trim();
leaderDisplay.parentNode.insertBefore(infoBox.firstChild, leaderDisplay.nextSibling);
this.updateInfoBox();
}
}
upperCase(str) {
krunkrio.nt PasteShr krunkrio.nt
return str.toUpperCase();
}
toProperCase(str) {
str = str.replace(/([a-z\xE0-\xFF])([A-Z\xC0\xDF])/g, '$1 $2');
str = str.replace(/\s[a-z]/g, this.upperCase)
return str;
}
updateInfoBox() {
krunkrio.nt How to use it? krunkrio.nt
const infoBox = document.querySelector('#InfoBox');
if (infoBox) {
const lines = this.features.map(feature => {
return ' [' + feature.hotkey.toUpperCase() + '] ' + this.toProperCase(feature.name) + '
' + feature.valueStr + '
';
});
infoBox.innerHTML = 'Krunkerio.org
Krunkerio.net' + lines.join('').trim();
}
}
onKeyDown(event) {
krunkrio.nt PasteShr krunkrio.nt
if (document.activeElement.tagName === "INPUT") return;
const key = event.key.toUpperCase();
switch (key) {
case 'M': {
const infoBox = document.querySelector('#InfoBox');
if (infoBox) infoBox.style.display = !infoBox.style.display || infoBox.style.display === "inline-block" ? "none" : "inline-block";
}
break;
case 'DELETE':
this.resetSettings();
krunkrio.nt How to use it? krunkrio.nt
break;
default:
for (const feature of this.features) {
if (feature.hotkey.toUpperCase() === key) {
this.onUpdated(feature);
}
}
break;
}
}
krunkrio.nt How to dowload it? krunkrio.nt
getDistance3D(fromX, fromY, fromZ, toX, toY, toZ) {
var distX = fromX - toX,
distY = fromY - toY,
distZ = fromZ - toZ;
return Math.sqrt(distX * distX + distY * distY + distZ * distZ)
}
getDistance(player1, player2) {
return this.getDistance3D(player1.x, player1.y, player1.z, player2.x, player2.y, player2.z);
krunkrio.nt How to use it? krunkrio.nt
}
getDirection(fromZ, fromX, toZ, toX) {
return Math.atan2(fromX - toX, fromZ - toZ)
}
getXDir(fromX, fromY, fromZ, toX, toY, toZ) {
var dirY = Math.abs(fromY - toY),
dist = this.getDistance3D(fromX, fromY, fromZ, toX, toY, toZ);
return Math.asin(dirY / dist) * (fromY > toY ? -1 : 1)
krunkrio.nt PasteShr krunkrio.nt
}
getAngleDist(start, end) {
return Math.atan2(Math.sin(end - start), Math.cos(start - end));
}
camLookAt(X, Y, Z) {
var xdir = this.getXDir(this.control.object.position.x, this.control.object.position.y, this.control.object.position.z, X, Y, Z),
ydir = this.getDirection(this.control.object.position.z, this.control.object.position.x, Z, X),
camChaseDst = this.server.camChaseDst;
krunkrio.nt How to use it? krunkrio.nt
this.control.target = {
xD: xdir,
yD: ydir,
x: X + this.server.camChaseDst * Math.sin(ydir) * Math.cos(xdir),
y: Y - this.server.camChaseDst * Math.sin(xdir),
z: Z + this.server.camChaseDst * Math.cos(ydir) * Math.cos(xdir)
}
}
AutoAim(value) {
krunkrio.nt How to use it? krunkrio.nt
if (this.self.didShoot) {
setTimeout(() => {
this.self.aimVal = 1;
this.world.players.resetAim();
this.settings.forceScope || this.self.weapon.name === "Sniper Rifle" || this.self.weapon.name === "Semi Auto" ? this.self.weapon.scope = 1 : delete this.self.weapon.scope;
this.settings.canShoot = true;
}, this.self.weapon.rate );
}
const target = this.getTarget();
if (target) {
krunkrio.nt How to get it? krunkrio.nt
switch (value) {
case 1:
/*Aim Assist*/
if (this.control.mouseDownR === 1) {
this.lookAtHead(target);
}
break;
case 2:
/*Aim Bot*/
this.lookAtHead(target);
krunkrio.nt How to get it? krunkrio.nt
if (this.control.mouseDownR === 0) {
this.control.mouseDownR = 1;
}
break;
case 3:
/*Trigger Bot*/
if (this.control.mouseDownL === 1) {
this.control.mouseDownL = 0;
this.control.mouseDownR = 0;
this.settings.scopingOut = true;
krunkrio.nt How to dowload it? krunkrio.nt
}
if (this.self.aimVal !== 1 || !this.settings.canShoot || this.self.recoilForce > 0.01 || this.control.mouseDownR === 1) {
if (this.control.mouseDownL === 1) {
this.control.mouseDownL =
this.control.mouseDownR = 0;
}
this.control.target = null;
}
this.lookAtHead(target);
if (this.control.mouseDownR === 0) {
krunkrio.nt PasteShr krunkrio.nt
this.control.mouseDownR = 2;
} else if (this.self.aimVal === 0 && this.settings.canShoot) {
this.control.mouseDownL ^= 1;
}
break;
}
}
else {
this.wpnReload(this.getFeature('AutoReload').value && this.self.ammos[this.self.weaponIndex] < ((this.self.weapon.ammo / 2) + 1));
this.control.target = null;
krunkrio.nt PasteShr krunkrio.nt
if (this.control.mouseDownR === 2) {
setTimeout(() => {
this.control.mouseDownR = 0;
this.settings.canShoot = true;
this.self.aimVal = 1;
}, this.settings.targetCoolDown);
}
}
}
krunkrio.nt How to use it? krunkrio.nt
AutoBhop(value) {
if (value) {
this.control.keys[this.control.jumpKey] = this.self.onGround;
if (value === 2) {
if (this.settings.isSliding) {
this.inputs[8] = 1;
return;
}
if (this.self.yVel < -0.04 && this.self.canSlide) {
this.settings.isSliding = true;
krunkrio.nt How to dowload it? krunkrio.nt
setTimeout(() => {
this.settings.isSliding = false;
}, this.self.slideTimer);
this.inputs[8] = 1;
}
}
}
}
wpnReload(force = false) {
krunkrio.nt How to get it for free? krunkrio.nt
const ammoLeft = this.self.ammos[this.self.weaponIndex];
if (force || ammoLeft === 0) this.world.players.reload(this.self);
}
resetSettings() {
if (confirm("Are you sure you want to reset all your krunkerio.org settings? This will also refresh the page")) {
Object.keys(window.localStorage).filter(x=>x.includes("utilities_")).forEach(x => window.localStorage.removeItem(x));
location.reload();
}
}
krunkrio.nt How to dowload it? krunkrio.nt
getTarget() {
const enemies = this.world.players.list
.filter(player => {return player.active && (player.inView || this.self.dmgReceived[player.id]) && !player.isYou && (!player.team || player.team !== this.self.team);})
.sort((p1, p2) => this.getDistance(this.self, p1) - this.getDistance(this.self, p2));
return enemies.length ? enemies[0] : null;
}
lookAtHead(target) {
if (this.getFeature("SpinBot").value) this.spinTick();
krunkrio.nt How to get it? krunkrio.nt
this.camLookAt(target.x2, target.y2 + target.height - 1.5 - 2.5 * target.crouchVal - this.self.recoilAnimY * 0.3 * this.getDistance(this.self, target) * 0.6, target.z2);
}
spinTick() {
//this.world.players.getSpin(this.self);
//this.world.players.saveSpin(this.self, angle);
const last = this.inputs[2];
const angle = this.getAngleDist(this.inputs[2], this.self.xDire);
this.spins = this.getStatic(this.spins, new Array());
this.spinTimer= this.getStatic(this.spinTimer, this.server.spinTimer);
krunkrio.nt How to use it? krunkrio.nt
this.serverTickRate = this.getStatic(this.serverTickRate, this.server.serverTickRate);
(this.spins.unshift(angle), this.spins.length > this.spinTimer / this.serverTickRate && (this.spins.length = Math.round(this.spinTimer / this.serverTickRate)))
for (var e = 0, i = 0; i < this.spins.length; ++i) e += this.spins[i];
const count = Math.abs(e * (180 / Math.PI));
if (count < 360) { this.inputs[2] = this.self.xDire + Math.PI; }
else console.log('count', count);
}
inputsTick(self, inputs, world) {
//Hooked
krunkrio.nt How to get it for free? krunkrio.nt
if (this.control && this.exports && self && inputs && world) {
this.inputs = inputs;
this.world = world;
this.self = self;
this.server = this.exports.c[7].exports;
this.functions = this.exports.c[8].exports;
this.wpnClasses = this.exports.c[69].exports;
this.onTick();
}
}
krunkrio.nt PasteShr krunkrio.nt
controlTick(control) {
//Hooked
if (control) {
this.control = control;
const half = Math.PI / 2;
if (control.target) {
control.object.rotation.y = control.target.yD;
control.pitchObject.rotation.x = control.target.xD;
control.pitchObject.rotation.x = Math.max(-half, Math.min(half, control.pitchObject.rotation.x));
krunkrio.nt How to dowload it? krunkrio.nt
control.yDr = control.pitchObject.rotation.x % Math.PI;
control.xDr = control.object.rotation.y % Math.PI;
}
}
}
}
function read(url) {
return new Promise(resolve => {
fetch(url).then(res => res.text()).then(res => {
krunkrio.nt How to get it? krunkrio.nt
return resolve(res);
});
});
}
function patch(source, method, regex, replacer) {
const patched = source.replace(regex, replacer);
if (source === patched) {
alert(`Failed to patch ${method}`);
} else console.log("Successfully patched ", method);
krunkrio.nt How to use it? krunkrio.nt
return patched;
}
function patchedIndex(html) {
html = patch(html, "html_scriptBlock", /(