Greasy Fork is available in English.

Kirka.IO Enhanced

Wallhack, adblock and more for Kirka.IO.

  1. // ==UserScript==
  2. // @name Kirka.IO Enhanced
  3. // @namespace -
  4. // @version 1.5.0
  5. // @description Wallhack, adblock and more for Kirka.IO.
  6. // @author NotYou
  7. // @match *://kirka.io/*
  8. // @run-at document-end
  9. // @license GPL-3.0-or-later
  10. // @grant GM.info
  11. // @icon data:image/png;base64,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
  12. // ==/UserScript==
  13.  
  14. (function() {
  15. const TITLE = (GM && GM.info && GM.info.script && GM.info.script.name) || 'Kirka.IO Enhanced'
  16.  
  17. let wallhackEnabled = false
  18.  
  19. const KEYS = {
  20. CHAT_VISIBILITY_TOGGLE: 'V',
  21. WALLHACK_TOGGLE: 'F'
  22. }
  23.  
  24. let players = []
  25.  
  26. class Visibility {
  27. static visible(el) {
  28. el.style.opacity = '1'
  29. el.style.pointerEvents = 'auto'
  30. }
  31.  
  32. static invisible(el) {
  33. el.style.opacity = '0'
  34. el.style.pointerEvents = 'none'
  35. }
  36.  
  37. static toggle(el) {
  38. if(el.style.opacity === '0') {
  39. return this.visible(el)
  40. }
  41.  
  42. this.invisible(el)
  43. }
  44. }
  45.  
  46. class Wallhack {
  47. static visible(e) {
  48. e.alphaTest = .99
  49. e.fog = false
  50. e.depthTest = false
  51. }
  52.  
  53. static invisible(e) {
  54. e.alphaTest = 1
  55. e.fog = true
  56. e.depthTest = true
  57. }
  58. }
  59.  
  60. class CSS {
  61. static init() {
  62. const _CSS = `
  63. .notification {
  64. position: absolute;
  65. background: var(--secondary-5);
  66. border: 4px solid rgb(62, 77, 124);
  67. border-bottom: 4px solid var(--secondary-6);
  68. border-top: 4px solid rgb(77, 92, 139);
  69. width: 250px;
  70. height: 100px;
  71. right: 15px;
  72. bottom: 15px;
  73. z-index: 100;
  74. color: rgb(255, 255, 255);
  75. transition: .3s;
  76. opacity: 0.85;
  77. pointer-events: none;
  78. }
  79.  
  80. .notification-title {
  81. font-size: x-large;
  82. text-align: center;
  83. margin: 2px;
  84. }
  85.  
  86. .notification-body {
  87. margin: 3px;
  88. font-size: medium;
  89. }
  90.  
  91. .highlight-disabled::after {
  92. content: 'disabled';
  93. color: rgb(210, 50, 50);
  94. }
  95.  
  96. .highlight-enabled::after {
  97. content: 'enabled';
  98. color: rgb(50, 210, 50);
  99. }
  100.  
  101. .bloody-screen {
  102. pointer-events: none !important;
  103. width: 100vw;
  104. height: 100vh;
  105. position: absolute;
  106. left: 0;
  107. top: 0;
  108. box-shadow: rgba(255, 0, 0, .8) 0 0 150px inset;
  109. transition: .3s opacity;
  110. }`
  111.  
  112. addStyle(_CSS)
  113. }
  114. }
  115.  
  116. class AdBlock {
  117. static init() {
  118. let adBlockCss
  119.  
  120. let ads = ['ad-left', 'ad-right', 'ad-bottom', 'ad-change-weapon']
  121. let adsSelectors = ''
  122.  
  123. ads.forEach(e => {
  124. let adSelector = ''
  125. let prefixes = ['.', '#']
  126.  
  127. prefixes.forEach(r => {
  128. adSelector += r + e + ','
  129. })
  130.  
  131. adsSelectors += adSelector
  132. })
  133.  
  134. adBlockCss = adsSelectors.slice(0, -1) + '{ display: none !important }'
  135.  
  136. addStyle(adBlockCss)
  137.  
  138. window.show_rewarded = _
  139. window.show_preroll = _
  140. }
  141. }
  142.  
  143. class Keybindings {
  144. static init() {
  145. let keybidings = [
  146. // Toggle Chat Visibility
  147. {
  148. key: KEYS.CHAT_VISIBILITY_TOGGLE,
  149. fn() {
  150. let chat = document.querySelector('.chat')
  151.  
  152. if(chat) {
  153. chat.style.transition = '.3s opacity'
  154. Visibility.toggle(chat)
  155. }
  156. }
  157. },
  158.  
  159. // Toggle Wallhack
  160. {
  161. key: KEYS.WALLHACK_TOGGLE,
  162. fn() {
  163. wallhackEnabled = !wallhackEnabled
  164.  
  165. if(wallhackEnabled) {
  166. players.forEach(visibleEach)
  167. } else {
  168. players.forEach(invisibleEach)
  169. }
  170.  
  171. function visibleEach(e) {
  172. Wallhack.visible(e)
  173. }
  174.  
  175. function invisibleEach(e) {
  176. Wallhack.invisible(e)
  177. }
  178.  
  179. notify('Wallhack', 'Wallhack is ', wallhackEnabled)
  180. }
  181. },
  182. ]
  183.  
  184. keybidings.forEach(e => {
  185. window.addEventListener('keydown', r => {
  186. const focusedElem = document.querySelector(':focus') || document.activeElement
  187.  
  188. if(focusedElem.matches('.chat .input')) {
  189. return
  190. }
  191.  
  192. if(r.code === 'Key' + e.key.toUpperCase()) {
  193. r.preventDefault()
  194. e.fn()
  195. }
  196. })
  197. })
  198. }
  199. }
  200.  
  201. class BloodyScreen {
  202. static init() {
  203. const bloodyScreen = document.createElement('div')
  204. bloodyScreen.className = 'bloody-screen'
  205. Visibility.invisible(bloodyScreen)
  206. document.body.appendChild(bloodyScreen)
  207.  
  208. const obs = new MutationObserver(() => {
  209. const progress = document.querySelector('.hp-progress')
  210.  
  211.  
  212. if(progress) {
  213. const hp = currentHealth()
  214.  
  215. if(hp < 35 && hp > 0) {
  216. Visibility.visible(bloodyScreen)
  217. } else {
  218. Visibility.invisible(bloodyScreen)
  219. }
  220. }
  221. })
  222.  
  223. obs.observe(document.body, {
  224. subtree: true,
  225. childList: true,
  226. })
  227.  
  228. function currentHealth() {
  229. return +document.querySelector('.hp-progress').style.width.slice(0, -1)
  230. }
  231. }
  232. }
  233.  
  234. class _Wallhack {
  235. static init() {
  236. Object.defineProperty(Object.prototype, 'material', {
  237. set(value) {
  238. this._material = value
  239.  
  240. if (this._material && this._material.name && this._material.name.indexOf('player') !== -1) {
  241. players.push(value)
  242.  
  243. if(wallhackEnabled) {
  244. Wallhack.visible(value)
  245. }
  246. }
  247. },
  248.  
  249. get() {
  250. return this._material
  251. }
  252. })
  253. }
  254. }
  255.  
  256. class Main {
  257. static init() {
  258. const MODULES = [
  259. CSS,
  260. AdBlock,
  261. Keybindings,
  262. BloodyScreen,
  263. _Wallhack,
  264. ]
  265.  
  266. initModules(MODULES)
  267. }
  268. }
  269.  
  270. Main.init()
  271.  
  272. function initModules(modules) {
  273. for (let i = 0; i < modules.length; i++) {
  274. const MODULE = modules[i]
  275.  
  276. initModule(MODULE)
  277. }
  278. }
  279.  
  280. function initModule(module) {
  281. try {
  282. module.init()
  283. } catch(e) {
  284. console.error(TITLE, module.name + ' module, has error:', e)
  285. }
  286. }
  287.  
  288. function notify(title, body, highlight) {
  289. const notifClass = 'notification'
  290. const notif = document.createElement('div')
  291. const notifTitle = document.createElement('h3')
  292. const notifBody = document.createElement('p')
  293.  
  294. notifTitle.className = notifClass + '-title'
  295. notifBody.className = notifClass + '-body'
  296. notif.className = notifClass
  297.  
  298. notifTitle.textContent = title ?? 'Kirka.IO Enchanced'
  299. notifBody.innerHTML = (body ?? '') + (`<span class="highlight-${highlight ? 'enabled' : highlight === false ? 'disabled' : ''}"></span>`)
  300.  
  301. notif.style.right = '100vw'
  302.  
  303. notif.appendChild(notifTitle)
  304. notif.appendChild(notifBody)
  305. document.body.appendChild(notif)
  306.  
  307. setTimeout(() => {
  308. notif.style.right = ''
  309. }, 300)
  310.  
  311. setTimeout(() => {
  312. notif.style.right = '100vw'
  313.  
  314. setTimeout(() => {
  315. notif.remove()
  316. }, 300)
  317. }, 1300)
  318. }
  319.  
  320. function addStyle(css) {
  321. const styleNode = document.createElement('style')
  322. styleNode.appendChild(document.createTextNode(css))
  323. document.head.appendChild(styleNode)
  324. }
  325.  
  326. function _() {}
  327. })()