// ==UserScript==
// @name Custom Mods for Kirka
// @namespace Violentmonkey Scripts
// @match https://kirka.io/*
// @grant none
// @version 1.0
// @author Dami
// @description 3/3/2025, 8:54:35 PM
// @downloadURL https://update.greasyfork.icu/scripts/531771/Custom%20Mods%20for%20Kirka.user.js
// @updateURL https://update.greasyfork.icu/scripts/531771/Custom%20Mods%20for%20Kirka.meta.js
// ==/UserScript==
// ==UserScript==
// @name Mods for Kirka
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Click X/x to toggle fire rate, B/b to toggle AutoDodge, K/k to toggle AutoWalk, G/g to toggle AutoJump, N/n to toggle KillAura/AutoShoot, L/l to toggle AutoCrouch, M/m to toggle AutoSwitch
// @author Cqmbo__
// @match https://kirka.io/
// @match https://kirka.io/games
// @icon https://yt3.ggpht.com/ofXbHpiwGc4bYnwwljjZJo53E7JRODr-SG32NPV1W6QiUnGUtVAYDwTP2NMz2pUPGnt99Juh5w=s88-c-k-c0x00ffffff-no-rj
// @license MIT
// @grant none
// ==/UserScript==
let fireRateEnabled = false;
let autoDodgeEnabled = false;
let autoDodgeInterval;
let isAutoWalking = false;
let isAutoDashing = false;
let isKillauaActive = false;
let autoJumpEnabled = false;
let autoJumpInterval;
let isAutoCrouching = false;
let autoCrouchInterval;
let autoSwitchEnabled = false;
let autoSwitchInterval;
let fireRateValue = 2123;
let autoJumpIntervalValue = 100;
let autoDashInterval;
let autoSwitchIntervalValue = 50;
// Store original Date.now and performance.now functions
const originalDateNow = Date.now;
const originalPerformanceNow = performance.now;
// Automatically enable the speed hack
performance.now = () => originalPerformanceNow.call(performance) * 1.25;
console.log("Speed increase enabled");
function toggleFireRate() {
fireRateEnabled = !fireRateEnabled;
if (fireRateEnabled) {
// Increase the Date.now function rate
Date.now = () => originalDateNow() * (fireRateValue);
console.log("Gun fire rate increase enabled");
} else {
// Restore original Date.now function
Date.now = originalDateNow;
console.log("Gun fire rate increase disabled");
}
updateInfoDisplay();
}
function toggleAutoDodge() {
autoDodgeEnabled = !autoDodgeEnabled;
if (autoDodgeEnabled) {
autoDodgeInterval = setInterval(() => {
simulateKeydown('a');
setTimeout(() => {
simulateKeyup('a');
simulateKeydown('d');
setTimeout(() => {
simulateKeyup('d');
}, 10);
}, 10);
}, 50);
console.log("AutoDodge enabled");
} else {
clearInterval(autoDodgeInterval);
console.log("AutoDodge disabled");
}
updateInfoDisplay();
}
function toggleAutoJump() {
autoJumpEnabled = !autoJumpEnabled;
if (autoJumpEnabled) {
autoJumpInterval = setInterval(() => {
simulateKeydown(' ');
setTimeout(() => {
simulateKeyup(' ');
}, 10);
}, autoJumpIntervalValue);
console.log("AutoJump enabled");
} else {
clearInterval(autoJumpInterval);
console.log("AutoJump disabled");
}
updateInfoDisplay();
}
function toggleAutoSwitch() {
autoSwitchEnabled = !autoSwitchEnabled;
if (autoSwitchEnabled) {
autoSwitchInterval = setInterval(() => {
simulateKeydown('1');
setTimeout(() => {
simulateKeyup('1');
setTimeout(() => {
simulateKeydown('2');
setTimeout(() => {
simulateKeyup('2');
setTimeout(() => {
simulateKeydown('3');
setTimeout(() => {
simulateKeyup('3');
}, 10);
}, autoSwitchIntervalValue);
}, 10);
}, autoSwitchIntervalValue);
}, 10);
}, 170);
console.log("AutoSwitch enabled");
} else {
clearInterval(autoSwitchInterval);
console.log("AutoSwitch disabled");
}
updateInfoDisplay();
}
function simulateKeydown(key) {
const keyMap = {
'a': { key: 'a', code: 'KeyA', keyCode: 65, which: 65 },
'd': { key: 'd', code: 'KeyD', keyCode: 68, which: 68 },
'w': { key: 'w', code: 'KeyW', keyCode: 87, which: 87 },
' ': { key: ' ', code: 'Space', keyCode: 32, which: 32 },
'e': { key: 'e', code: 'KeyE', keyCode: 69, which: 69 },
'Shift': { key: 'Shift', code: 'ShiftLeft', keyCode: 16, which: 16 },
'1': { key: '1', code: 'Digit1', keyCode: 49, which: 49 },
'2': { key: '2', code: 'Digit2', keyCode: 50, which: 50 },
'3': { key: '3', code: 'Digit3', keyCode: 51, which: 51 }
};
const keydownEvent = new KeyboardEvent('keydown', {
key: keyMap[key].key,
code: keyMap[key].code,
keyCode: keyMap[key].keyCode,
which: keyMap[key].which,
shiftKey: false,
ctrlKey: false,
altKey: false,
metaKey: false,
repeat: true,
bubbles: true,
cancelable: true
});
document.dispatchEvent(keydownEvent);
}
function simulateKeyup(key) {
const keyMap = {
'a': { key: 'a', code: 'KeyA', keyCode: 65, which: 65 },
'd': { key: 'd', code: 'KeyD', keyCode: 68, which: 68 },
'w': { key: 'w', code: 'KeyW', keyCode: 87, which: 87 },
' ': { key: ' ', code: 'Space', keyCode: 32, which: 32 },
'e': { key: 'e', code: 'KeyE', keyCode: 69, which: 69 },
'Shift': { key: 'Shift', code: 'ShiftLeft', keyCode: 16, which: 16 },
'1': { key: '1', code: 'Digit1', keyCode: 49, which: 49 },
'2': { key: '2', code: 'Digit2', keyCode: 50, which: 50 },
'3': { key: '3', code: 'Digit3', keyCode: 51, which: 51 }
};
const keyupEvent = new KeyboardEvent('keyup', {
key: keyMap[key].key,
code: keyMap[key].code,
keyCode: keyMap[key].keyCode,
which: keyMap[key].which,
shiftKey: false,
ctrlKey: false,
altKey: false,
metaKey: false,
repeat: false,
bubbles: true,
cancelable: true
});
document.dispatchEvent(keyupEvent);
}
function updateInfoDisplay() {
const infoDisplay = document.getElementById("infoDisplay");
infoDisplay.innerHTML = `
Blatant: Fire Rate: ${fireRateEnabled ? 'Enabled (x)' : 'Disabled (x)'} | KillAura/AutoShoot: ${isKillauaActive ? 'Enabled (n)' : 'Disabled (n)'}
${isKillauaActive ? '(Right-click when KillAura is enabled to shoot)' : ''}
Movement: AutoDodge: ${autoDodgeEnabled ? 'Enabled (b)' : 'Disabled (b)'} | AutoWalk: ${isAutoWalking ? 'Enabled (k)' : 'Disabled (k)'} | AutoJump: ${autoJumpEnabled ? 'Enabled (g)' : 'Disabled (g)'} | AutoDash: ${isAutoDashing ? 'Enabled (h)' : 'Disabled (h)'} | AutoCrouch: ${isAutoCrouching ? 'Enabled (l)' : 'Disabled (l)'}
Fun: AutoSwitch: ${autoSwitchEnabled ? 'Enabled (m)' : 'Disabled (m)'}
`;
}
// Create toggle button for info display
const toggleButton = document.createElement("button");
toggleButton.innerText = "Toggle InfoDisplay (y)";
toggleButton.style.position = "fixed";
toggleButton.style.top = "10px";
toggleButton.style.right = "10px";
toggleButton.style.zIndex = "10000";
document.body.appendChild(toggleButton);
const toggleButtonText = document.createElement("small");
toggleButtonText.innerText = "Use button or click 'y' to toggle menu/InfoDisplay";
toggleButtonText.style.position = "fixed";
toggleButtonText.style.top = "35px";
toggleButtonText.style.right = "10px";
toggleButtonText.style.zIndex = "10000";
toggleButtonText.style.color = "lime";
document.body.appendChild(toggleButtonText);
toggleButton.addEventListener("click", function() {
const infoDisplay = document.getElementById("infoDisplay");
infoDisplay.style.display = infoDisplay.style.display === "none" ? "block" : "none";
});
document.addEventListener("keydown", function(event) {
if (event.key.toLowerCase() === "y") {
const infoDisplay = document.getElementById("infoDisplay");
infoDisplay.style.display = infoDisplay.style.display === "none" ? "block" : "none";
}
});
// Toggle functions when pressing keys
document.addEventListener('keydown', function(event) {
if (event.key.toLowerCase() === 'x') {
toggleFireRate();
} else if (event.key.toLowerCase() === 'b') {
toggleAutoDodge();
} else if (event.key.toLowerCase() === 'k') {
toggleAutoWalk();
} else if (event.key.toLowerCase() === 'g') {
toggleAutoJump();
} else if (event.key.toLowerCase() === 'h') {
toggleAutoDash();
} else if (event.key.toLowerCase() === 'n') {
toggleKillaura();
} else if (event.key.toLowerCase() === 'l') {
toggleAutoCrouch();
} else if (event.key.toLowerCase() === 'm') {
toggleAutoSwitch();
}
updateInfoDisplay();
});
// Create info display
const infoDisplay = document.createElement("div");
infoDisplay.id = "infoDisplay";
infoDisplay.style.position = "fixed";
infoDisplay.style.top = "10px";
infoDisplay.style.left = "10px";
infoDisplay.style.color = "#ffffff";
infoDisplay.style.zIndex = "9999";
infoDisplay.style.backgroundColor = "rgba(0, 0, 0, 0.5)";
infoDisplay.style.padding = "5px";
infoDisplay.style.borderRadius = "5px";
document.body.appendChild(infoDisplay);
updateInfoDisplay();
// Create sliders container
const slidersContainer = document.createElement('div');
slidersContainer.id = 'kirka-sliders';
slidersContainer.style.position = 'fixed';
slidersContainer.style.top = '350px'; // Adjust the position as needed
slidersContainer.style.right = '10px';
slidersContainer.style.zIndex = '10000';
slidersContainer.style.color = 'white';
slidersContainer.innerHTML =
`