stat score powers and kill

its a custom of the multipowers script by qwd

  1. // ==UserScript==
  2. // @name stat score powers and kill
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description its a custom of the multipowers script by qwd
  6. // @author LongName
  7. // @match https://agarpowers.xyz/
  8. // @icon blob:chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/9154f55f-00cf-44ce-b921-26570fecc46f
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12.  
  13. (function() {
  14. 'use strict';
  15. var controls = document.getElementById("controls");
  16. var attack1Btn = document.createElement("div");
  17. attack1Btn.innerHTML = '<div class="controlRow">Attack 1 <input value="V" id="attack1ID" oninput="toUpperCase()" class="controlBtn" role="button"></div>';
  18.  
  19. controls.appendChild(attack1Btn);
  20.  
  21. var $ = window.$;
  22. var fvirusKey = document.getElementById("fvirus");
  23. var antiRecKey = document.getElementById("antirecombine");
  24. var attackInput = document.getElementById("attack1ID");
  25.  
  26. function frozenVirus() {
  27. var letter = fvirusKey.innerText;
  28. var fViruskeyCode = letter.charCodeAt(0);
  29. $("#canvas").trigger($.Event("keydown", { keyCode: fViruskeyCode })); // Frozen-Virus KeyCode
  30. $("#canvas").trigger($.Event("keyup", { keyCode: fViruskeyCode })); // Frozen-Virus KeyCode
  31. }
  32.  
  33. function antiRec() {
  34. var letter2 = antiRecKey.innerText;
  35. var antimergekeyCode = letter2.charCodeAt(0);
  36. $("#canvas").trigger($.Event("keydown", { keyCode: antimergekeyCode })); // AntiRecombine KeyCode
  37. $("#canvas").trigger($.Event("keyup", { keyCode: antimergekeyCode })); // AntiRecombine KeyCode
  38. }
  39.  
  40. var attack1 = parseInt(localStorage.getItem("attack1KeyCode")) || 86; // Standard value for Attack-One KeyCode
  41.  
  42. fvirusKey.addEventListener("click", function(event) {
  43. frozenVirus();
  44. });
  45.  
  46. antiRecKey.addEventListener("click", function(event) {
  47. antiRec();
  48. });
  49.  
  50. window.addEventListener('keydown', function(event) {
  51. if (event.keyCode == attack1) {
  52. antiRec();
  53. frozenVirus();
  54. }
  55. });
  56.  
  57. attackInput.value = String.fromCharCode(attack1);
  58. attackInput.addEventListener("input", function(event) {
  59. var attack1Key = event.target.value.toUpperCase().charAt(0);
  60. var newKeyCode = attack1Key.charCodeAt(0);
  61. if (!isNaN(newKeyCode)) {
  62. attack1 = newKeyCode;
  63. localStorage.setItem("attack1KeyCode", attack1);
  64. }
  65. });
  66. var feedBtn = document.createElement("div");
  67. feedBtn.innerHTML = '<div class="controlRow">Feeding <input value="Z" id="feedingID" class="controlBtn" role="button"></div>';
  68. controls.appendChild(feedBtn);
  69. var feedKey = document.getElementById("feed");
  70. function startFeed() {
  71. var letterFeed = feedKey.innerText;
  72. var FeedkeyCode = letterFeed.charCodeAt(0);
  73. $("#canvas").trigger($.Event("keydown", { keyCode: FeedkeyCode })); // Feed KeyCode
  74. }
  75. function stopFeed() {
  76. var letterFeed = feedKey.innerText;
  77. var FeedkeyCode = letterFeed.charCodeAt(0);
  78. $("#canvas").trigger($.Event("keyup", { keyCode: FeedkeyCode }));
  79. }
  80. var feed = parseInt(localStorage.getItem("FeedkeyCode")) || 90; // Feeding Keycode
  81. let isFunction1Active = true;
  82. function toggleFunction(event) {
  83. if (event.keyCode === feed) { // Enter-Taste (keyCode 13) wird überwacht, du kannst dies auf eine andere Taste ändern
  84. if (isFunction1Active) {
  85. startFeed();
  86. isFunction1Active = false;
  87. console.log("start")
  88. } else {
  89. stopFeed();
  90. isFunction1Active = true;
  91. console.log("stop");
  92. }
  93. }
  94. }
  95. document.addEventListener("keydown", toggleFunction);
  96. var feedInput = document.getElementById("feedingID");
  97. feedInput.value = String.fromCharCode(feed);
  98. feedInput.addEventListener("input", function(event) {
  99. var feedingKey = event.target.value.toUpperCase().charAt(0);
  100. var newKeyCode9 = feedingKey.charCodeAt(0);
  101. if (!isNaN(newKeyCode9)) {
  102. feed = newKeyCode9;
  103. localStorage.setItem("FeedKeyCode", feed);
  104. }
  105. });
  106.  
  107.  
  108.  
  109.  
  110. var attack2Btn = document.createElement("div");
  111. attack2Btn.innerHTML = '<div class="controlRow">Attack 2 <input value="T" id="attack2ID" oninput="toUpperCase()" class="controlBtn" role="button"></div>';
  112. controls.appendChild(attack2Btn);
  113. var virusKey = document.getElementById("virus");
  114. var portalKey = document.getElementById("portal");
  115. var attack2Input = document.getElementById("attack2ID");
  116. function virus() {
  117. var letterV = virusKey.innerText;
  118. var ViruskeyCode = letterV.charCodeAt(0);
  119. $("#canvas").trigger($.Event("keydown", { keyCode: ViruskeyCode })); // Virus KeyCode
  120. $("#canvas").trigger($.Event("keyup", { keyCode: ViruskeyCode })); // Virus KeyCode
  121. }
  122. function portal() {
  123. var letterP = portalKey.innerText;
  124. var PortalkeyCode = letterP.charCodeAt(0);
  125. $("#canvas").trigger($.Event("keydown", { keyCode: PortalkeyCode })); // Portal KeyCode
  126. $("#canvas").trigger($.Event("keyup", { keyCode: PortalkeyCode })); // Portal KeyCode
  127. }
  128. var attack2 = parseInt(localStorage.getItem("attack2KeyCode")) || 84; // Attack-Two KeyCode (portal + virus + antirec)
  129. virusKey.addEventListener("click", function(event) {
  130. virus();
  131. });
  132. portalKey.addEventListener("click", function(event) {
  133. portal();
  134. });
  135. window.addEventListener('keydown', function(event) {
  136. if (event.keyCode == attack2) {
  137. portal();
  138. setTimeout(virus, 100);
  139. setTimeout(antiRec, 200);
  140. }
  141. });
  142. attack2Input.value = String.fromCharCode(attack2);
  143. attack2Input.addEventListener("input", function(event) {
  144. var attack2Key = event.target.value.toUpperCase().charAt(0);
  145. var newKeyCode2 = attack2Key.charCodeAt(0);
  146. if (!isNaN(newKeyCode2)) {
  147. attack2 = newKeyCode2;
  148. localStorage.setItem("attack2KeyCode", attack2);
  149. }
  150. });
  151.  
  152.  
  153. var shieldKey = document.getElementById("shield");
  154. var antifKey = document.getElementById("antifreeze");
  155. var speedKey = document.getElementById("speed");
  156. var defenseBtn = document.createElement("div");
  157. defenseBtn.innerHTML = '<div class="controlRow">Defense <input value="C" id="defenseID" oninput="toUpperCase()" class="controlBtn" role="button"></div>';
  158. controls.appendChild(defenseBtn);
  159. var defenseInput = document.getElementById("defenseID");
  160. function shield() {
  161. var letterS = shieldKey.innerText;
  162. var ShieldkeyCode = letterS.charCodeAt(0);
  163. $("#canvas").trigger($.Event("keydown", { keyCode: ShieldkeyCode })); // Shield KeyCode
  164. $("#canvas").trigger($.Event("keyup", { keyCode: ShieldkeyCode })); // Shield KeyCode
  165. }
  166. function antiFreeze() {
  167. var letterAf = antifKey.innerText;
  168. var AntifkeyCode = letterAf.charCodeAt(0);
  169. $("#canvas").trigger($.Event("keydown", { keyCode: AntifkeyCode })); // Antifreeze KeyCode
  170. $("#canvas").trigger($.Event("keyup", { keyCode: AntifkeyCode })); // Antifreeze KeyCode
  171. }
  172. function speed() {
  173. var letterSp = speedKey.innerText;
  174. var SpeedkeyCode = letterSp.charCodeAt(0);
  175. $("#canvas").trigger($.Event("keydown", { keyCode: SpeedkeyCode })); // Speed KeyCode
  176. $("#canvas").trigger($.Event("keyup", { keyCode: SpeedkeyCode })); // Speed KeyCode
  177. }
  178. var defense = parseInt(localStorage.getItem("defenseKeyCode")) || 67; // Defense KeyCode (Shield + AntiFreeze + Speed)
  179. window.addEventListener('keydown', keydown3);
  180. function keydown3(event) {
  181.  
  182. if (event.keyCode == defense) {
  183. shield()
  184. setTimeout(antiFreeze, 100)
  185. setTimeout(speed, 100)
  186. }
  187. }
  188. defenseInput.value = String.fromCharCode(defense);
  189. defenseInput.addEventListener("input", function(event) {
  190. var defenseKey = event.target.value.toUpperCase().charAt(0);
  191. var newKeyCode3 = defenseKey.charCodeAt(0);
  192. if (!isNaN(newKeyCode3)) {
  193. defense = newKeyCode3;
  194. localStorage.setItem("defenseKeyCode", defense);
  195. }
  196. });
  197.  
  198. var growthKey = document.getElementById("pellet");
  199. var growBtn = document.createElement("div");
  200. growBtn.innerHTML = '<div class="controlRow">Grow <input value="C" id="growID" oninput="toUpperCase()" class="controlBtn" role="button"></div>';
  201. controls.appendChild(growBtn);
  202. var growInput = document.getElementById("growID");
  203. function pellet() {
  204. var letterPellet = growthKey.innerText;
  205. var GrowthkeyCode = letterPellet.charCodeAt(0);
  206. $("#canvas").trigger($.Event("keydown", { keyCode: GrowthkeyCode }));
  207. $("#canvas").trigger($.Event("keyup", { keyCode: GrowthkeyCode }));
  208. }
  209. var grow = parseInt(localStorage.getItem("growKeyCode")) || 67;
  210. window.addEventListener('keydown', keydown5);
  211. function keydown5(event) {
  212.  
  213. if (event.keyCode == grow) {
  214. pellet()
  215. setTimeout(pellet, 50)
  216. setTimeout(pellet, 100)
  217. setTimeout(pellet, 150)
  218. setTimeout(pellet, 200)
  219. setTimeout(pellet, 250)
  220. setTimeout(pellet, 300)
  221. setTimeout(pellet, 350)
  222. setTimeout(pellet, 400)
  223. setTimeout(pellet, 450)
  224. setTimeout(pellet, 500)
  225. setTimeout(pellet, 550)
  226. setTimeout(pellet, 600)
  227. setTimeout(pellet, 650)
  228. setTimeout(pellet, 700)
  229. setTimeout(pellet, 750)
  230. setTimeout(pellet, 800)
  231. setTimeout(pellet, 850)
  232. setTimeout(pellet, 900)
  233. setTimeout(pellet, 950)
  234. setTimeout(pellet, 1000)
  235. setTimeout(pellet, 1050)
  236. setTimeout(pellet, 1100)
  237. setTimeout(pellet, 1150)
  238. setTimeout(pellet, 1200)
  239. setTimeout(pellet, 1250)
  240. setTimeout(pellet, 1300)
  241. setTimeout(pellet, 1350)
  242. setTimeout(pellet, 1400)
  243. setTimeout(pellet, 1450)
  244. setTimeout(pellet, 1500)
  245. }
  246. }
  247. growInput.value = String.fromCharCode(grow);
  248. growInput.addEventListener("input", function(event) {
  249. var growthKey = event.target.value.toUpperCase().charAt(0);
  250. var newKeyCode5 = growthKey.charCodeAt(0);
  251. if (!isNaN(newKeyCode5)) {
  252. grow = newKeyCode5;
  253. localStorage.setItem("growKeyCode", grow);
  254. }
  255. });
  256. var autofeedText = document.createElement("div");
  257. autofeedText.innerHTML = 'AutoFeed <input id="autoFeed" type="checkbox">';
  258. controls.appendChild(autofeedText);
  259.  
  260. var checkboxAutoF = document.getElementById("autoFeed");
  261. checkboxAutoF.addEventListener("change", function() {
  262. if (this.checked) {
  263. startAutoFeed();
  264. } else {
  265. stopAutoFeed();
  266. }
  267. });
  268.  
  269. var autoFeedInterval;
  270.  
  271. function startAutoFeed() {
  272. autoFeedInterval = setInterval(autofeed, 1500);
  273. }
  274.  
  275. function stopAutoFeed() {
  276. clearInterval(autoFeedInterval);
  277. }
  278.  
  279. function autofeed() {
  280. var grow = parseInt(localStorage.getItem("growKeyCode")) || 67;
  281.  
  282. function triggerGrowKey() {
  283. var event = new KeyboardEvent('keydown', {
  284. keyCode: grow,
  285. which: grow
  286. });
  287.  
  288. window.dispatchEvent(event);
  289. }
  290.  
  291. var mass1 = document.getElementById("ingame-mass").textContent;
  292. var mass2 = mass1.replace('Mass: ', '');
  293. var mass = mass2.replace(' ', '');
  294.  
  295. if (mass < 10000) {
  296. triggerGrowKey();
  297. }
  298. }
  299.  
  300.  
  301.  
  302. })();
  303. function keybindInfo() {
  304. var body = document.querySelector("body");
  305. var container = document.createElement("div");
  306. container.style.zIndex="50"; container.style.marginTop="320px"; container.style.position="absolute"; container.style.border="2px solid white"; container.style.borderRadius="7px"; container.style.color="white"; container.style.padding="10px";
  307.  
  308.  
  309. function updateKeys() {
  310.  
  311.  
  312. var autofeedInfo = document.getElementById("autofeedInfo");
  313. var autoFeedInput = document.getElementById("autoFeed");
  314. autoFeedInput.addEventListener("change", function() {
  315. if (this.checked) {
  316. autofeedInfo.innerHTML = "AutoFeed: On ";
  317. autofeedInfo.style.color="lime";
  318. } else {
  319. autofeedInfo.innerHTML = "AutoFeed: Off";
  320. autofeedInfo.style.color="red";
  321. }
  322. });
  323.  
  324. a1Info.innerHTML = "1. Attack: " + a1Value ;
  325. a2Info.innerHTML = "2. Attack: " + a2Value ;
  326. dInfo.innerHTML = "Defense: " + dValue ;
  327. growInfo.innerHTML = "Grow: " + growValue;
  328. feedInfo.innerHTML = "Feeding: " + feedValue;
  329.  
  330. } setInterval(updateKeys, 200);
  331. body.appendChild(container);
  332. }
  333. keybindInfo()
  334. function skip() {
  335. var deathpanel = document.getElementById("death-panel");
  336. deathpanel.style.display="none";
  337. var panel = document.getElementById("panel");
  338. panel.style.display="block";
  339. var respawnBtnInput = document.getElementById("respawn");
  340. var deathpanelIf = window.getComputedStyle(deathpanel);
  341. if (deathpanelIf.display !== "none") {
  342. // Das Element ist nicht auf "display: none" gesetzt
  343. console.log("Das Element ist sichtbar.");
  344. } else {
  345. // Das Element ist auf "display: none" gesetzt
  346. console.log("Das Element ist ausgeblendet.");
  347. }
  348. var $ = window.$;
  349. function respawn() {
  350. var letterRe = respawnBtnInput.innerText;
  351. var RekeyCode = letterRe.charCodeAt(0);
  352. $("#canvas").trigger($.Event("keydown", { keyCode: RekeyCode }));
  353. $("#canvas").trigger($.Event("keyup", { keyCode: RekeyCode }));
  354. }
  355. respawnBtnInput.addEventListener("click", function() {
  356. var letterRe = respawnBtnInput.innerText;
  357. var RekeyCode = letterRe.charCodeAt(0);
  358. });
  359. }
  360. setInterval(skip, 2000)
  361. function advanced() {
  362. // Get ID's
  363. var body = document.querySelector("body");
  364. var deathpanel = document.getElementById("death-panel");
  365. var lastKills = document.getElementById("kills");
  366. var lastPws = document.getElementById("powers-used");
  367. var lastScores = document.getElementById("highest-mass");
  368. // Creating Box
  369. var container = document.createElement("div");
  370. container.setAttribute("id", "box");
  371. container.style.width="200px";container.style.height="auto";container.style.border="2px solid white";
  372. container.style.zIndex="50";container.style.position="absolute"; container.style.padding="8px";
  373. container.style.marginTop="0px";container.style.borderRadius="7px";container.style.color="white";
  374. container.style.boxShadow="inset 2px 0px 3px white"; container.style.marginLeft="25%";
  375. container.innerHTML = `
  376. <div>
  377. <div id="Kills">Kills: 0</div>
  378. <div id="Powers">Powers: 0</div>
  379. <div id="Score">Score: 0</div>
  380. </div>
  381. `;
  382. body.appendChild(container);
  383. var textKills = document.getElementById("Kills");
  384. var textPowers = document.getElementById("Powers");
  385. var textScore = document.getElementById("Score");
  386.  
  387. let sessionKills = 0;
  388. let sessionPws = 0;
  389. let sessionScores = 0;
  390. // Observe Death panel
  391. const options = {
  392. root: null,
  393. rootMargin: '0px',
  394. threshold: 1.0
  395. };
  396. const callback = (entries, observer) => {
  397. entries.forEach(entry => {
  398. if (entry.isIntersecting) {
  399. var lastKillsCount = parseInt(lastKills.textContent);
  400. var lastPwsCount = parseInt(lastPws.textContent);
  401. var lastScoresCount = parseInt(lastScores.textContent);
  402. sessionKills = sessionKills + lastKillsCount ;
  403. textKills.innerHTML = 'Kills: ' + sessionKills ;
  404. sessionPws = sessionPws + lastPwsCount ;
  405. textPowers.innerHTML = 'Powers: ' + sessionPws ;
  406. if (sessionScores <= lastScoresCount) {
  407. sessionScores = lastScoresCount ;
  408. textScore.innerHTML = 'Score: ' + sessionScores ;
  409. }
  410. else {
  411. sessionScores = sessionScores ;
  412. }
  413. }
  414. });
  415. };
  416. const observer = new IntersectionObserver(callback, options);
  417. observer.observe(deathpanel);
  418. }
  419. setTimeout(advanced, 2000);
  420.  
  421.