// ==UserScript== // @name Kirka.io Portal Xray, ESP, Wireframe, And Mod Menu By Whoami // @namespace http://tampermonkey.net/ // @version 0.1 // @description First Script For KIRKA.IO // Primeiro script pro kirka.io agradece ae pae // @author Whoami // @match *://kirka.io/* // @require https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js // @icon https://media.giphy.com/media/CxYGmxv0Oyz4I/giphy.gif // @license MIT // @grant none // @downloadURL none // ==/UserScript== const THREE = window.THREE; const prototype_ = { world: { wireframe: false, visibleOnDamage: true, notVisible: true, depthFunc: 2 }, player: { opacity: 0.5, wireframe: false } }; const originalArrayPush = Array.prototype.push; Array.prototype.push = function(...args) { if (args[0] && args[0].material && args[0].material.type && args[0].material.type === "ShaderMaterial") { const material = args[0].material; material.opacity = 0; material.transparent = prototype_.world.visibleOnDamage; material.side = 2; material.depthFunc = prototype_.world.depthFunc; material.wireframe = prototype_.world.wireframe; material.visible = prototype_.world.notVisible; } if (args[0] && args[0].material && args[0].material.type && args[0].material.type === "MeshBasicMaterial") { const material = args[0].material; material.opacity = prototype_.player.opacity; material.wireframe = prototype_.player.wireframe; } return originalArrayPush.apply(this, args); }; const style = document.createElement('style'); style.innerHTML = ` #menuContainer { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: rgba(0, 0, 0, 0.8); padding: 20px; border-radius: 10px; border: 1px solid #fff; z-index: 1000; max-width: 400px; font-size: 14px; line-height: 1.5; box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); color: #fff; font-family: 'Arial', sans-serif; } #menuContainer h2 { text-align: center; font-size: 28px; margin-bottom: 15px; } #menuContainer label { display: block; margin-bottom: 10px; } #menuContainer select, #menuContainer input[type="text"] { width: calc(100% - 12px); padding: 5px; margin-bottom: 10px; background: #333; border: 1px solid #444; color: #fff; } #menuContainer .tab { display: flex; justify-content: space-around; margin-bottom: 15px; } #menuContainer .tab button { background-color: #444; border: none; padding: 10px 15px; cursor: pointer; color: #fff; } #menuContainer .tab button.active { background-color: #666; } #menuContainer .tabcontent { display: none; } #menuContainer .tabcontent.active { display: block; } `; document.head.appendChild(style); const menuContainer = document.createElement('div'); menuContainer.id = 'menuContainer'; menuContainer.style.display = 'none'; document.body.appendChild(menuContainer); const header = document.createElement('h2'); header.textContent = 'DOGEWARE'; menuContainer.appendChild(header); const tabLinks = document.createElement('div'); tabLinks.classList.add('tab'); menuContainer.appendChild(tabLinks); const tabContents = {}; const tabNames = Object.keys(prototype_); tabNames.forEach(tabName => { const tabButton = document.createElement('button'); tabButton.textContent = tabName.charAt(0).toUpperCase() + tabName.slice(1); tabButton.addEventListener('click', () => openTab(tabName)); tabLinks.appendChild(tabButton); const tabContent = document.createElement('div'); tabContent.classList.add('tabcontent'); menuContainer.appendChild(tabContent); tabContents[tabName] = tabContent; populateTab(tabName); }); openTab(tabNames[0]); function populateTab(tabName) { const tabContent = tabContents[tabName]; const tabOptions = prototype_[tabName]; for (const option in tabOptions) { if (typeof tabOptions[option] !== 'object') { const label = document.createElement('label'); label.textContent = option.charAt(0).toUpperCase() + option.slice(1); tabContent.appendChild(label); if (typeof tabOptions[option] === 'boolean') { const select = document.createElement('select'); const optionTrue = document.createElement('option'); optionTrue.value = 'true'; optionTrue.textContent = 'Yes'; const optionFalse = document.createElement('option'); optionFalse.value = 'false'; optionFalse.textContent = 'No'; select.appendChild(optionTrue); select.appendChild(optionFalse); select.value = tabOptions[option].toString(); select.addEventListener('change', event => { tabOptions[option] = event.target.value === 'true'; }); tabContent.appendChild(select); } else { const inputField = document.createElement('input'); inputField.type = 'text'; inputField.value = tabOptions[option]; inputField.addEventListener('change', event => { tabOptions[option] = event.target.value; }); tabContent.appendChild(inputField); } } } } function openTab(tabName) { const tabs = document.querySelectorAll('.tabcontent'); tabs.forEach(tab => tab.classList.remove('active')); const tabButtons = document.querySelectorAll('.tab button'); tabButtons.forEach(tabButton => tabButton.classList.remove('active')); const tabContent = tabContents[tabName]; tabContent.classList.add('active'); const tabButton = [...tabLinks.querySelectorAll('button')].find(button => button.textContent === tabName.charAt(0).toUpperCase() + tabName.slice(1)); tabButton.classList.add('active'); } document.addEventListener('keydown', function(event) { if (event.keyCode === 79) { menuContainer.style.display = menuContainer.style.display === 'none' ? 'block' : 'none'; } });