- // ==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
- // ==/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)'}
- <small>${isKillauaActive ? '(Right-click when KillAura is enabled to shoot)' : ''}</small><br>
- 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)'}<br>
- 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 =
- `
- <h2>Kirka Settings</h2>
- <div>
- <label for="fireRateSlider">Fire Rate (2-3000 ms):</label>
- <input type="range" id="fireRateSlider" min="2" max="3000" value="${fireRateValue}">
- <output id="fireRateValue">${fireRateValue}</output>
- </div>
- <div>
- <label for="autoJumpSlider">AutoJump Interval (10-1500 ms):</label>
- <input type="range" id="autoJumpSlider" min="10" max="1500" value="${autoJumpIntervalValue}">
- <output id="autoJumpValue">${autoJumpIntervalValue}</output>
- </div>
- <div>
- <label for="autoSwitchSlider">AutoSwitch Interval (50-1000 ms):</label>
- <input type="range" id="autoSwitchSlider" min="50" max="1000" value="${autoSwitchIntervalValue}">
- <output id="autoSwitchValue">${autoSwitchIntervalValue}</output>
- </div>
- `
- ;
- document.body.appendChild(slidersContainer);
-
- // Function to update the slider output value
- function updateSliderOutput(sliderId, outputId) {
- const slider = document.getElementById(sliderId);
- const output = document.getElementById(outputId);
- slider.addEventListener('input', () => {
- output.value = slider.value;
- });
- }
-
- // Update the slider output values on input
- updateSliderOutput('fireRateSlider', 'fireRateValue');
- updateSliderOutput('autoJumpSlider', 'autoJumpValue');
- updateSliderOutput('autoSwitchSlider', 'autoSwitchValue');
-
- // Add event listeners to update the values
- document.getElementById('fireRateSlider').addEventListener('input', function() {
- fireRateValue = parseInt(this.value);
- });
- document.getElementById('autoJumpSlider').addEventListener('input', function() {
- autoJumpIntervalValue = parseInt(this.value);
- });
- document.getElementById('autoSwitchSlider').addEventListener('input', function() {
- autoSwitchIntervalValue = parseInt(this.value);
- });
-
- function toggleAutoWalk() {
- isAutoWalking = !isAutoWalking;
- if (isAutoWalking) {
- simulateKeydown('w');
- console.log("AutoWalk enabled");
- } else {
- simulateKeyup('w');
- console.log("AutoWalk disabled");
- }
- updateInfoDisplay();
- }
-
- function toggleKillaura() {
- isKillauaActive = !isKillauaActive;
- if (isKillauaActive) {
- document.addEventListener('mousedown', onMouseDownHandler);
- document.addEventListener('mouseup', onMouseUpHandler);
- console.log("KillAura/AutoShoot enabled");
- } else {
- document.removeEventListener('mousedown', onMouseDownHandler);
- document.removeEventListener('mouseup', onMouseUpHandler);
- console.log("KillAura/AutoShoot disabled");
- }
- updateInfoDisplay();
- }
-
- function onMouseDownHandler(event) {
- if (event.target.tagName === 'CANVAS') {
- simulateMouseDown();
- }
- }
-
- function onMouseUpHandler(event) {
- if (event.target.tagName === 'CANVAS') {
- simulateMouseUp();
- }
- }
-
- function simulateMouseDown() {
- const canvas = document.querySelector('canvas');
- const mouseDownEvent = new MouseEvent('mousedown', {
- bubbles: true,
- cancelable: true,
- view: window,
- button: 0,
- clientX: canvas.width / 2,
- clientY: canvas.height / 2
- });
- canvas.dispatchEvent(mouseDownEvent);
- }
-
- function simulateMouseUp() {
- const canvas = document.querySelector('canvas');
- const mouseUpEvent = new MouseEvent('mouseup', {
- bubbles: true,
- cancelable: true,
- view: window,
- button: 0,
- clientX: canvas.width / 2,
- clientY: canvas.height / 2
- });
- canvas.dispatchEvent(mouseUpEvent);
- }
-
- function toggleAutoDash() {
- isAutoDashing = !isAutoDashing;
- if (isAutoDashing) {
- autoDashInterval = setInterval(() => {
- simulateKeydown('e');
- setTimeout(() => {
- simulateKeyup('e');
- }, 10);
- }, 1500);
- console.log("AutoDash enabled");
- } else {
- clearInterval(autoDashInterval);
- console.log("AutoDash disabled");
- }
- updateInfoDisplay();
- }
-
- function toggleAutoCrouch() {
- isAutoCrouching = !isAutoCrouching;
- if (isAutoCrouching) {
- autoCrouchInterval = setInterval(() => {
- simulateKeydown('Shift');
- setTimeout(() => {
- simulateKeyup('Shift');
- }, 10);
- }, 500);
- console.log("AutoCrouch enabled");
- } else {
- clearInterval(autoCrouchInterval);
- console.log("AutoCrouch disabled");
- }
- updateInfoDisplay();
- }
-
- // Prevent the 'left mouse button' from stopping KillAura when clicked
- document.addEventListener('mousedown', function(event) {
- if (event.button === 0 && isKillauaActive) {
- event.preventDefault(); // Prevent default behavior of the left mouse button
- }
- });