Combined ShadeReap and Agar.io Cheat GUI with Account Tracker

Custom ShadeReap Console GUI with multiple pages, features for Agar.io including cheats, script injector, and account tracker

  1. // ==UserScript==
  2. // @name Combined ShadeReap and Agar.io Cheat GUI with Account Tracker
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.2
  5. // @description Custom ShadeReap Console GUI with multiple pages, features for Agar.io including cheats, script injector, and account tracker
  6. // @author Your Name
  7. // @match *://agar.io/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13.  
  14. let isInjected = false;
  15.  
  16. // Create the main container
  17. const container = document.createElement('div');
  18. container.style.position = 'fixed';
  19. container.style.left = '50px';
  20. container.style.width = '600px';
  21. container.style.height = '350px';
  22. container.style.backgroundColor = '#3a3a3a';
  23. container.style.borderRadius = '10px';
  24. container.style.boxShadow = '0px 0px 15px rgba(0, 0, 0, 0.2)';
  25. container.style.zIndex = '9999';
  26. container.style.cursor = 'move';
  27. container.style.display = 'flex';
  28. container.style.flexDirection = 'column';
  29. container.style.userSelect = 'none';
  30. container.style.transform = 'translateY(100vh)';
  31. container.style.transition = 'transform 1s ease-out';
  32. document.body.appendChild(container);
  33.  
  34. // Function to make the GUI draggable
  35. function makeDraggable(element) {
  36. let isDragging = false;
  37. let startX, startY;
  38.  
  39. element.onmousedown = function(e) {
  40. isDragging = true;
  41. startX = e.clientX - element.offsetLeft;
  42. startY = e.clientY - element.offsetTop;
  43. };
  44.  
  45. element.ontouchstart = function(e) {
  46. isDragging = true;
  47. startX = e.touches[0].clientX - element.offsetLeft;
  48. startY = e.touches[0].clientY - element.offsetTop;
  49. };
  50.  
  51. document.onmousemove = function(e) {
  52. if (isDragging) {
  53. element.style.left = e.clientX - startX + 'px';
  54. element.style.top = e.clientY - startY + 'px';
  55. }
  56. };
  57.  
  58. document.ontouchmove = function(e) {
  59. if (isDragging) {
  60. element.style.left = e.touches[0].clientX - startX + 'px';
  61. element.style.top = e.touches[0].clientY - startY + 'px';
  62. }
  63. };
  64.  
  65. document.onmouseup = function() {
  66. isDragging = false;
  67. };
  68.  
  69. document.ontouchend = function() {
  70. isDragging = false;
  71. };
  72. }
  73.  
  74. makeDraggable(container);
  75.  
  76. // Loading bar
  77. const loadingBar = document.createElement('div');
  78. loadingBar.style.width = '100%';
  79. loadingBar.style.height = '5px';
  80. loadingBar.style.backgroundColor = '#ff0000';
  81. loadingBar.style.borderRadius = '5px';
  82. loadingBar.style.position = 'absolute';
  83. loadingBar.style.bottom = '0';
  84. container.appendChild(loadingBar);
  85.  
  86. let loadProgress = 0;
  87. const loadInterval = setInterval(() => {
  88. loadProgress += 5;
  89. loadingBar.style.width = `${loadProgress}%`;
  90. if (loadProgress >= 100) {
  91. clearInterval(loadInterval);
  92. container.style.transform = 'translateY(0)';
  93. loadingBar.remove();
  94. }
  95. }, 50);
  96.  
  97. // Create the header section
  98. const header = document.createElement('div');
  99. header.style.backgroundColor = '#454545';
  100. header.style.height = '50px';
  101. header.style.borderTopLeftRadius = '10px';
  102. header.style.borderTopRightRadius = '10px';
  103. header.style.display = 'flex';
  104. header.style.alignItems = 'center';
  105. header.style.padding = '0 15px';
  106. header.style.color = '#fff';
  107. header.style.fontFamily = 'Arial, sans-serif';
  108. header.style.fontSize = '20px';
  109. header.innerHTML = `
  110. <div style="flex: 1; display: flex; align-items: center;">
  111. <span style="margin-right: 10px;">&#x1F480;</span> ShadeReap Console
  112. </div>
  113. <div id="statusCircle" style="width: 15px; height: 15px; border-radius: 50%; background-color: red; margin-right: 10px;"></div>
  114. <div id="closeBtn" style="cursor: pointer;">&#x2715;</div>
  115. `;
  116. container.appendChild(header);
  117.  
  118. // Close button functionality
  119. document.getElementById('closeBtn').onclick = function() {
  120. container.style.display = 'none';
  121. };
  122.  
  123. // Create the sidebar
  124. const sidebar = document.createElement('div');
  125. sidebar.style.backgroundColor = '#3a3a3a';
  126. sidebar.style.width = '70px';
  127. sidebar.style.display = 'flex';
  128. sidebar.style.flexDirection = 'column';
  129. sidebar.style.alignItems = 'center';
  130. sidebar.style.paddingTop = '15px';
  131. container.appendChild(sidebar);
  132.  
  133. // Add Home Button (Main Page)
  134. const homeBtn = document.createElement('div');
  135. homeBtn.style.width = '50px';
  136. homeBtn.style.height = '50px';
  137. homeBtn.style.marginBottom = '15px';
  138. homeBtn.style.fontSize = '32px';
  139. homeBtn.style.color = '#fff';
  140. homeBtn.style.cursor = 'pointer';
  141. homeBtn.innerHTML = '&#x1F3E0;';
  142. sidebar.appendChild(homeBtn);
  143.  
  144. // Add Pencil Button (Script Executor)
  145. const pencilBtn = document.createElement('div');
  146. pencilBtn.style.width = '50px';
  147. pencilBtn.style.height = '50px';
  148. pencilBtn.style.marginBottom = '15px';
  149. pencilBtn.style.background = 'url("data:image/png;base64,...") center/cover no-repeat';
  150. pencilBtn.style.cursor = 'pointer';
  151. sidebar.appendChild(pencilBtn);
  152.  
  153. // Add Game Controller Button (Cheats)
  154. const gameBtn = document.createElement('div');
  155. gameBtn.style.width = '50px';
  156. gameBtn.style.height = '50px';
  157. gameBtn.style.marginBottom = '15px';
  158. gameBtn.style.background = 'url("data:image/png;base64,...") center/cover no-repeat';
  159. gameBtn.style.cursor = 'pointer';
  160. sidebar.appendChild(gameBtn);
  161.  
  162. // Add Syringe Button (Script Injector)
  163. const syringeBtn = document.createElement('div');
  164. syringeBtn.style.width = '50px';
  165. syringeBtn.style.height = '50px';
  166. syringeBtn.style.marginBottom = '15px';
  167. syringeBtn.style.background = 'url("data:image/png;base64,...") center/cover no-repeat';
  168. syringeBtn.style.cursor = 'pointer';
  169. sidebar.appendChild(syringeBtn);
  170.  
  171. // Create the content area
  172. const content = document.createElement('div');
  173. content.style.flex = '1';
  174. content.style.padding = '15px';
  175. content.style.backgroundColor = '#4a4a4a';
  176. content.style.borderBottomLeftRadius = '10px';
  177. content.style.borderBottomRightRadius = '10px';
  178. container.appendChild(content);
  179.  
  180. // Function to clear content area
  181. function clearContent() {
  182. while (content.firstChild) {
  183. content.removeChild(content.firstChild);
  184. }
  185. }
  186.  
  187. // Create Main Page
  188. function createMainPage() {
  189. clearContent();
  190.  
  191. const title = document.createElement('h2');
  192. title.style.color = '#fff';
  193. title.style.fontFamily = 'Arial, sans-serif';
  194. title.textContent = 'Main Page';
  195. content.appendChild(title);
  196.  
  197. const hitboxBtn = document.createElement('button');
  198. hitboxBtn.style.backgroundColor = '#4a4a4a';
  199. hitboxBtn.style.color = '#fff';
  200. hitboxBtn.style.border = 'none';
  201. hitboxBtn.style.borderRadius = '5px';
  202. hitboxBtn.style.padding = '10px 20px';
  203. hitboxBtn.style.cursor = 'pointer';
  204. hitboxBtn.textContent = 'Increase Hitbox';
  205. hitboxBtn.onclick = function() {
  206. // Add hitbox increasing logic here
  207. alert('Hitbox increased!');
  208. };
  209. content.appendChild(hitboxBtn);
  210. }
  211.  
  212. // Create Script Executor Page
  213. function createScriptExecutorPage() {
  214. clearContent();
  215.  
  216. const textArea = document.createElement('textarea');
  217. textArea.style.width = '100%';
  218. textArea.style.height = '200px';
  219. textArea.style.marginBottom = '10px';
  220. textArea.style.border = 'none';
  221. textArea.style.borderRadius = '5px';
  222. textArea.style.padding = '10px';
  223. textArea.style.fontFamily = 'Consolas, monospace';
  224. textArea.style.fontSize = '14px';
  225. content.appendChild(textArea);
  226.  
  227. const executeBtn = document.createElement('button');
  228. executeBtn.style.backgroundColor = '#4a4a4a';
  229. executeBtn.style.color = '#fff';
  230. executeBtn.style.border = 'none';
  231. executeBtn.style.borderRadius = '5px';
  232. executeBtn.style.padding = '10px 20px';
  233. executeBtn.style.cursor = 'pointer';
  234. executeBtn.style.marginRight = '10px';
  235. executeBtn.textContent = 'Execute';
  236. executeBtn.onclick = function() {
  237. const code = textArea.value;
  238. try {
  239. eval(code);
  240. } catch (e) {
  241. alert('Error executing script: ' + e.message);
  242. }
  243. };
  244. content.appendChild(executeBtn);
  245. }
  246.  
  247. // Create Cheats Page
  248. function createCheatsPage() {
  249. clearContent();
  250.  
  251. const title = document.createElement('h2');
  252. title.style.color = '#fff';
  253. title.style.fontFamily = 'Arial, sans-serif';
  254. title.textContent = 'Agar.io Cheats';
  255. content.appendChild(title);
  256.  
  257. const sizeBtn = document.createElement('button');
  258. sizeBtn.style.backgroundColor = '#4a4a4a';
  259. sizeBtn.style.color = '#fff';
  260. sizeBtn.style.border = 'none';
  261. sizeBtn.style.borderRadius = '5px';
  262. sizeBtn.style.padding = '10px 20px';
  263. sizeBtn.style.cursor = 'pointer';
  264. sizeBtn.textContent = 'Increase Size';
  265. sizeBtn.onclick = function() {
  266. // Add size increasing logic here
  267. alert('Size increased!');
  268. };
  269. content.appendChild(sizeBtn);
  270.  
  271. // Add more cheat buttons as needed
  272. }
  273.  
  274. // Create Script Injector Page
  275. function createScriptInjectorPage() {
  276. clearContent();
  277.  
  278. const title = document.createElement('h2');
  279. title.style.color = '#fff';
  280. title.style.fontFamily = 'Arial, sans-serif';
  281. title.textContent = 'Script Injector';
  282. content.appendChild(title);
  283.  
  284. const scriptInput = document.createElement('textarea');
  285. scriptInput.style.width = '100%';
  286. scriptInput.style.height = '150px';
  287. scriptInput.style.border = 'none';
  288. scriptInput.style.borderRadius = '5px';
  289. scriptInput.style.padding = '10px';
  290. scriptInput.style.fontFamily = 'Consolas, monospace';
  291. scriptInput.style.fontSize = '14px';
  292. content.appendChild(scriptInput);
  293.  
  294. const injectBtn = document.createElement('button');
  295. injectBtn.style.backgroundColor = '#4a4a4a';
  296. injectBtn.style.color = '#fff';
  297. injectBtn.style.border = 'none';
  298. injectBtn.style.borderRadius = '5px';
  299. injectBtn.style.padding = '10px 20px';
  300. injectBtn.style.cursor = 'pointer';
  301. injectBtn.textContent = 'Inject';
  302. injectBtn.onclick = function() {
  303. const scriptCode = scriptInput.value;
  304. const scriptElement = document.createElement('script');
  305. scriptElement.textContent = scriptCode;
  306. document.body.appendChild(scriptElement);
  307. alert('Script injected!');
  308. };
  309. content.appendChild(injectBtn);
  310. }
  311.  
  312. // Attach event listeners for navigation
  313. homeBtn.onclick = createMainPage;
  314. pencilBtn.onclick = createScriptExecutorPage;
  315. gameBtn.onclick = createCheatsPage;
  316. syringeBtn.onclick = createScriptInjectorPage;
  317.  
  318. // Initial page load
  319. createMainPage();
  320.  
  321. // Account Tracker Logic (optional)
  322. let accounts = JSON.parse(localStorage.getItem('accountTracker') || '[]');
  323.  
  324. function updateAccountTracker() {
  325. clearContent();
  326.  
  327. const title = document.createElement('h2');
  328. title.style.color = '#fff';
  329. title.style.fontFamily = 'Arial, sans-serif';
  330. title.textContent = 'Account Tracker';
  331. content.appendChild(title);
  332.  
  333. const accountList = document.createElement('ul');
  334. accountList.style.color = '#fff';
  335. accountList.style.listStyle = 'none';
  336. content.appendChild(accountList);
  337.  
  338. accounts.forEach((account, index) => {
  339. const accountItem = document.createElement('li');
  340. accountItem.textContent = `${index + 1}: ${account}`;
  341. accountList.appendChild(accountItem);
  342. });
  343.  
  344. const accountInput = document.createElement('input');
  345. accountInput.style.marginTop = '10px';
  346. accountInput.style.border = 'none';
  347. accountInput.style.borderRadius = '5px';
  348. accountInput.style.padding = '5px';
  349. accountInput.style.width = '100%';
  350. content.appendChild(accountInput);
  351.  
  352. const addAccountBtn = document.createElement('button');
  353. addAccountBtn.style.backgroundColor = '#4a4a4a';
  354. addAccountBtn.style.color = '#fff';
  355. addAccountBtn.style.border = 'none';
  356. addAccountBtn.style.borderRadius = '5px';
  357. addAccountBtn.style.padding = '10px 20px';
  358. addAccountBtn.style.cursor = 'pointer';
  359. addAccountBtn.textContent = 'Add Account';
  360. addAccountBtn.onclick = function() {
  361. const newAccount = accountInput.value.trim();
  362. if (newAccount) {
  363. accounts.push(newAccount);
  364. localStorage.setItem('accountTracker', JSON.stringify(accounts));
  365. updateAccountTracker();
  366. }
  367. };
  368. content.appendChild(addAccountBtn);
  369. }
  370.  
  371. // Optional Account Tracker
  372. const accountTrackerBtn = document.createElement('div');
  373. accountTrackerBtn.style.width = '50px';
  374. accountTrackerBtn.style.height = '50px';
  375. accountTrackerBtn.style.marginBottom = '15px';
  376. accountTrackerBtn.style.background = 'url("data:image/png;base64,...") center/cover no-repeat';
  377. accountTrackerBtn.style.cursor = 'pointer';
  378. sidebar.appendChild(accountTrackerBtn);
  379. accountTrackerBtn.onclick = updateAccountTracker;
  380.  
  381. // Status circle color change logic
  382. setInterval(() => {
  383. const statusCircle = document.getElementById('statusCircle');
  384. statusCircle.style.backgroundColor = isInjected ? 'green' : 'red';
  385. }, 1000);
  386.  
  387. })();