Advertisement
Guest User

EzCoins DoubleBOT

a guest
Apr 30th, 2016
1,959
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.89 KB | None | 0 0
  1. /*
  2. * CSGODOUBLE.COM BOT
  3. * Authors: Robert Feraru and Bill Moody
  4. * Creation Date: 14.01.2016
  5. */
  6.  
  7. //http://www.danstools.com/javascript-obfuscate/index.php
  8. //http://www.textfixer.com/html/compress-html-compression.php
  9. //1 round = 50 seconds
  10. //rounds per day = 1728
  11. //expected wins per day = 806
  12.  
  13. //START [Inserting UI]
  14. var UI_html = '<style scoped> @import url(https://fonts.googleapis.com/css?family=Ubuntu:300); table { font-family: "Ubuntu", sans-serif; background-color: #404040; color: #0d0d0d; } #header { background-color: #262626; color: #ff0066; } label { font-weight: normal; } .odds { font-weight: normal; color: #00ffcc; } input[type=text] { border-radius: 5px; border: 1px solid rgba(0, 0, 0, .25); color: #808080; background-color: #262626; } input[type=text]:focus { background-color: #1a1a1a; color: #ffcc00; } #footer { color: #b3b3b3; } #one { color: #e74c3c; } #two { color: #e67e22; } #three { color: #f1c40f; } #four { color: #1abc9c; } #five { color: #2ecc71; } #six { color: #3498db; } #seven { color: #9b59b6; } #eight { color: #e74c3c; } #nine { color: #e67e22; } #ten { color: #f1c40f; } #eleven { color: #1abc9c; } input[type=button] { background-color: #262626; border-color: #1a1a1a; } #startButton { color: #2ecc71; } #stopButton { color: #e74c3c; } #red { width: 33.33%; color: #c12e2a; } #green { width: 33.33%; color: #419641; } #black { width: 33.33%; color: #666; }</style><hr><table border="1"> <tr id="header"> <td> <input type="radio" name="system" value="Martingale" id="MartingaleRadioBtn" checked="checked"> <label for="MartingaleRadioBtn">Martingale</label> </td> <td> <input type="radio" name="system" value="laboucher" id="labouchereRadioBtn"> <label for="labouchereRadioBtn">Labouchère</label> </td> </tr> <tr> <td> <table> <tr> <td> <label for="MartingaleDefaultBetInput">Default Bet: </label> <input type="text" id="MartingaleDefaultBetInput"> </td> </tr> <tr> <td> <label for="MartingaleProfitOver24HoursInput">Profit over 24 hours: </label> <input type="text" id="MartingaleProfitOver24HoursInput"> </td> </tr> <tr> <td>Odds of losing <span id="MartingaleOddsOfLosingXTimesInARowX" class="odds">X</span> Times in a row: <span id="MartingaleOddsOfLosingXTimesInARow" class="odds">YY%</span></td> </tr> <tr> <td>Odds of losing in 1 day: <span id="MartingaleOddsOfLosingIn1Day" class="odds">XX%</span></td> </tr> <tr> <td>Percentage of money as default bet: <span id="MartingalePercentageOfMoneyAsDefaultBet" class="odds">XX%</span></td> </tr> <tr> <td> <input type="checkbox" id="MartingaleAntiBankruptcyCheckbox"> <label type="text" for="MartingaleAntiBankruptcyCheckbox">Anti-Bankruptcy</label> </td> </tr> <tr> <td> <input type="checkbox" id="MartingaleAntiDoubleGreenCheckbox"> <label type="text" for="MartingaleAntiDoubleGreenCheckbox">Anti-Double Green</label> skip <input type="text" id="MartingaleAntiDoubleGreenInput"> rolls </td> </tr> <tr> <td> <input type="checkbox" id="MartingaleAntiLoseallCheckbox"> <label type="text" for="MartingaleAntiLoseallCheckbox">Anti-Loseall after</label> <input type="text" id="MartingaleAntiLoseallInput"> losses </td> </tr> <tr> <td> <input type="checkbox" id="MartingaleStopAfterXGamesCheckbox"> <label for="MartingaleStopAfterXGamesCheckbox">Stop after <input type="text" id="MartingaleStopAfterXGamesInput"> games</label> </td> </tr> <tr> <td> <input type="checkbox" id="MartingaleStopAfterReachingXCheckbox"> <label for="MartingaleStopAfterReachingXCheckbox">Stop after reaching <input type="text" id="MartingaleStopAfterReachingXInput"> </label> </td> </tr> <tr> <td> <input type="checkbox" id="MartingaleBetOnGreenCheckbox"> <label for="MartingaleBetOnGreenCheckbox">Side bet on green. Bet = <input type="text" id="MartingaleBetOnGreenInput"> </label> </td> </tr> </table> </td> <td> <table> <tr> <td> <label for="labouchereGoalInput">Goal:</label> <input type="text" id="labouchereGoalInput" disabled> </td> </tr> <tr> <td> <label for="labouchereLines">Lines:</label> <input type="text" id="labouchereLines" disabled> </td> </tr> <tr> <td> Predicted Bets required: <span id="laboucherePredictedBets" class="odds">XX</span> </tr> </table> </td> </tr> <tr> <td> <input type="checkbox" id="trainProtectionCheckbox" checked="checked"> <label for="trainProtectionCheckbox">Train Protection</label> <input type="checkbox" id="rainbowProtectionCheckbox"> <label for="rainbowProtectionCheckbox">Rainbow Protection</label> <br> <input type="checkbox" id="rrbbProtectionCheckbox"> <label for="rrbbProtectionCheckbox">RRBBRR Protection</label> <input type="checkbox" id="rrbProtectionCheckbox"> <label for="rrbProtectionCheckbox">RRBRR Protection</label> </td> <td> <input style="width:50%;" type="button" value="Start" id="startButton"><input style="width:50%;" type="button" value="Stop" id="stopButton"> </td> </tr> <tr> <td> <input type="checkbox" id="simulationModeCheckbox"> <label for="simulationModeCheckbox">Simulation Mode</label> <input type="checkbox" id="manualModeCheckbox"> <label for="manualModeCheckbox">Manual (Sim) Mode</label> </td> <td> <label for="simulationMoneyInput">Simulation Money:</label> <input type="text" id="simulationMoneyInput"> </td> </tr> <tr> <td> <label for="simulateBetAmt">Simulate Bet:</label> <input type="text" id="simulateBetAmt"> </td> <td> <input type="button" id="red" value="Red"><input type="button" id="green" value="Green"><input type="button" id="black" value="Black"> </td> </tr> <tr id="footer"> <td id="logo"> <marquee direction="right"><span id="one">E</span><span id="two">z</span><span id="three">C</span><span id="four">o</span><span id="five">i</span><span id="six">n</span><span id="seven">s</span> (c) Robert Feraru and Bill Moody 2016</marquee> </td> <td style="text-align:center;">Run Time: <b><span id="runtime"></span></b></td> </tr> <tr> <td><a style="color:blue;font-weight:bold;" href="https://www.youtube.com/playlist?list=PLkQvjbg6UIKLOrUmlpBu_7jRnK6hOSWU4">Want good music? Click here :)</a></td> <td> <a style="color:red;font-weight:bold;" href="https://www.youtube.com/watch?v=dQw4w9WgXcQ">GET FREE SKINS HERE</a> </td> </tr></table><hr>';
  15. var UI = document.createElement('div');
  16. UI.innerHTML = UI_html;
  17.  
  18. var insertBefore = document.getElementsByClassName("progress")[0];
  19. insertBefore.parentNode.insertBefore(UI, insertBefore);
  20. //END [Inserting UI]
  21.  
  22. //START [DEFINING VARIABLES]
  23. var statusBanner = document.getElementById("banner");
  24. //var thirdLastRoll = document.getElementById("past").childNodes[7];
  25. //var secondLastRoll = document.getElementById("past").childNodes[8];
  26. //var lastRoll = document.getElementById("past").childNodes[9];
  27. var redBetButton = document.getElementsByClassName("betButton")[0];
  28. var greenBetButton = document.getElementsByClassName("betButton")[1];
  29. var blackBetButton = document.getElementsByClassName("betButton")[2];
  30. var betAmountInput = document.getElementById("betAmount");
  31. var balanceSpan = document.getElementById("balance");
  32.  
  33. var simulationModeCheckbox = document.getElementById("simulationModeCheckbox");
  34. var simulationMoneyInput = document.getElementById("simulationMoneyInput");
  35. var startButton = document.getElementById("startButton");
  36. var stopButton = document.getElementById("stopButton");
  37. var trainProtectionCheckbox = document.getElementById("trainProtectionCheckbox");
  38. var rainbowProtectionCheckbox = document.getElementById("rainbowProtectionCheckbox");
  39. var runtimeSpan = document.getElementById("runtime");
  40. var MartingaleRadioBtn = document.getElementById("MartingaleRadioBtn");
  41. var labouchereRadioBtn = document.getElementById("labouchereRadioBtn");
  42. var MartingaleDefaultBetInput = document.getElementById("MartingaleDefaultBetInput");
  43. var MartingaleProfitOver24HoursInput = document.getElementById("MartingaleProfitOver24HoursInput");
  44. var MartingaleAntiBankruptcyCheckbox = document.getElementById("MartingaleAntiBankruptcyCheckbox");
  45. var MartingaleStopAfterXGamesCheckbox = document.getElementById("MartingaleStopAfterXGamesCheckbox");
  46. var MartingaleStopAfterXGamesInput = document.getElementById("MartingaleStopAfterXGamesInput");
  47. var MartingaleStopAfterReachingXCheckbox = document.getElementById("MartingaleStopAfterReachingXCheckbox");
  48. var MartingaleStopAfterReachingXInput = document.getElementById("MartingaleStopAfterReachingXInput");
  49. var MartingaleOddsOfLosingXTimesInARow = document.getElementById("MartingaleOddsOfLosingXTimesInARow");
  50. var MartingaleOddsOfLosingIn1Day = document.getElementById("MartingaleOddsOfLosingIn1Day");
  51. var MartingaleOddsOfLosingXTimesInARowX = document.getElementById("MartingaleOddsOfLosingXTimesInARowX");
  52. var MartingalePercentageOfMoneyAsDefaultBet = document.getElementById("MartingalePercentageOfMoneyAsDefaultBet");
  53. var labouchereGoalInput = document.getElementById("labouchereGoalInput");
  54. var labouchereLines = document.getElementById("labouchereLines");
  55. var laboucherePredictedBets = document.getElementById("laboucherePredictedBets");
  56. var MartingaleAntiLoseallCheckbox = document.getElementById("MartingaleAntiLoseallCheckbox");
  57. var MartingaleAntiLoseallInput = document.getElementById("MartingaleAntiLoseallInput");
  58. var MartingaleAntiDoubleGreenCheckbox = document.getElementById("MartingaleAntiDoubleGreenCheckbox");
  59. var MartingaleAntiDoubleGreenInput = document.getElementById("MartingaleAntiDoubleGreenInput");
  60. var MartingaleBetOnGreenCheckbox = document.getElementById("MartingaleBetOnGreenCheckbox");
  61. var MartingaleBetOnGreenInput = document.getElementById("MartingaleBetOnGreenInput");
  62. var rrbbProtectionCheckbox = document.getElementById("rrbbProtectionCheckbox");
  63. var rrbProtectionCheckbox = document.getElementById("rrbProtectionCheckbox");
  64.  
  65. var manualModeCheckbox = document.getElementById("manualModeCheckbox");
  66. var simulateBetAmt = document.getElementById("simulateBetAmt");
  67. var red = document.getElementById("red");
  68. var green = document.getElementById("green");
  69. var black = document.getElementById("black");
  70.  
  71. var running = false;
  72. var simulationMode = false;
  73. var simulationMoney = 0;
  74. var simulationMoneyStart = 0;
  75. var status = 0;
  76. var fullStatus = '';
  77. var runtime = 0;
  78. var mode = 0; //0=martingale,1=reverseLabouchere
  79. var betOnThisRound = false;
  80. var checkedIfWon = false;
  81. var rolled = false;
  82. var startBalance = 0;
  83. var betsWon = 0;
  84. var betsLost = 0;
  85. var manualMode = false;
  86.  
  87. var currBetAmount = 0;
  88. var currBetColor = ' ';
  89.  
  90. ///////////////////////////
  91. var lstreak = 0;
  92. var wstreak = 0;
  93. var currstreak = 0;
  94. var maxlose = 0;
  95. var maxlosestreak = 0;
  96. var maxwin = 0;
  97. var maxwinstreak = 0;
  98. var winorlosestreak = "no bet yet";
  99. var resultcolor = "n/a";
  100. ///////////////////////////
  101.  
  102. var currBetGreenAmount = 0;
  103. var lastBetGreenAmount = 0;
  104. var betOnGreenEnabled = false;
  105.  
  106. var lastBetAmount = 0;
  107. var wonLastBet = false;
  108. var antiLoseAllCounter = 0;
  109. var antiLoseAllEnabled = false;
  110. var antiDoubleGreenEnabled = false;
  111. var antiDoubleGreenCounter = -1;
  112. var skipBet = false;
  113.  
  114. //martingale system variables
  115. var antiBankruptcy = false;
  116.  
  117. //reverse labouchere system variables
  118. var goal = 0;
  119. var numLines = 0;
  120. var lines = [];
  121.  
  122. //END [DEFINING VARIABLES]
  123.  
  124. //AUTO RECONNECT
  125. console.log('%c[EzCoins] Auto-Reconnect Initialized!', 'color:green');
  126. setInterval(function() {
  127. if (!WS) {
  128. console.log('Reconnecting...');
  129. connect();
  130. }
  131. }, 5000);
  132. //END
  133.  
  134. //START [DEFINE LISTENERS]
  135. MartingaleAntiDoubleGreenCheckbox.onclick = function() {
  136. if (!antiDoubleGreenEnabled) {
  137. antiDoubleGreenEnabled = true;
  138. console.log("%c[EzCoins] Anti-Double Green enabled!", "color:green");
  139. } else {
  140. betOnGreenEnabled = false;
  141. console.log("%c[EzCoins] Anti-Double Green disabled!", "color:red");
  142. }
  143. };
  144.  
  145. MartingaleBetOnGreenCheckbox.onclick = function() {
  146. if (!betOnGreenEnabled) {
  147. betOnGreenEnabled = true;
  148. console.log("%c[EzCoins] Bet on Green enabled!", "color:green");
  149. } else {
  150. betOnGreenEnabled = false;
  151. console.log("%c[EzCoins] Bet on Green disabled!", "color:red");
  152. }
  153. };
  154.  
  155. MartingaleAntiLoseallCheckbox.onclick = function() {
  156. if (!antiLoseAllEnabled) {
  157. antiLoseAllEnabled = true;
  158. console.log("%c[EzCoins] Anti-Lose all enabled!", "color:green");
  159. } else {
  160. antiLoseAllEnabled = false;
  161. console.log("%c[EzCoins] Anti-Lose all disabled!", "color:red");
  162. }
  163. };
  164.  
  165. startButton.onclick = function() {
  166. //check if all needed fields are filled in
  167. var passedTest = true;
  168. if (mode == 0 && !manualMode) { //Martingale mode specific tests
  169. if (MartingaleDefaultBetInput.value == '' || MartingaleDefaultBetInput.value <= 0)
  170. passedTest = false;
  171.  
  172. if (MartingaleProfitOver24HoursInput.value == '' || MartingaleProfitOver24HoursInput.value <= 0)
  173. passedTest = false;
  174.  
  175. if (MartingaleStopAfterXGamesCheckbox.checked && (MartingaleStopAfterXGamesInput.value == '' || MartingaleStopAfterXGamesInput.value <= 0))
  176. passedTest = false;
  177.  
  178. if (MartingaleStopAfterReachingXCheckbox.checked && (MartingaleStopAfterReachingXInput.value == '' || MartingaleStopAfterReachingXInput.value <= 0))
  179. passedTest = false;
  180. }
  181.  
  182. if (mode == 1 && !manualMode) { //labouchere mode specific tests
  183. if (labouchereGoalInput.value == '' || labouchereGoalInput.value <= 0)
  184. passedTest = false;
  185. if (labouchereLines.value == '' || labouchereLines.value <= 0)
  186. passedTest = false;
  187. }
  188.  
  189. //standard tests
  190. if (simulationModeCheckbox.checked && (simulationMoneyInput.value == '' || simulationMoneyInput.value <= 0))
  191. passedTest = false;
  192.  
  193. if (!running && passedTest) {
  194. simulationModeCheckbox.disabled = true;
  195. manualModeCheckbox.disabled = true;
  196. simulationMoneyInput.disabled = true;
  197. console.log("%c[EzCoins] STARTED", "color:green");
  198. running = true;
  199.  
  200. labouchereRadioBtn.disabled = true;
  201. labouchereLines.disabled = true;
  202. labouchereGoalInput.disabled = true;
  203.  
  204. MartingaleRadioBtn.disabled = true;
  205. MartingaleDefaultBetInput.disabled = true;
  206. MartingaleProfitOver24HoursInput.disabled = true;
  207. MartingaleAntiBankruptcyCheckbox.disabled = true;
  208. MartingaleStopAfterXGamesCheckbox.disabled = true;
  209. MartingaleStopAfterXGamesInput.disabled = true;
  210. MartingaleStopAfterReachingXCheckbox.disabled = true;
  211. MartingaleStopAfterReachingXInput.disabled = true;
  212. MartingaleAntiLoseallCheckbox.disabled = true;
  213. MartingaleAntiLoseallInput.disabled = true;
  214. MartingaleAntiDoubleGreenInput.disabled = true;
  215. MartingaleAntiDoubleGreenCheckbox.disabled = true;
  216. MartingaleBetOnGreenCheckbox.disabled = true;
  217. MartingaleBetOnGreenInput.disabled = true;
  218.  
  219. trainProtectionCheckbox.disabled = true;
  220. rainbowProtectionCheckbox.disabled = true;
  221. rrbbProtectionCheckbox.disabled = true;
  222. rrbProtectionCheckbox.disabled = true;
  223.  
  224. if (mode == 1) { //set up lines array
  225. goal = parseInt(labouchereGoalInput.value);
  226. numLines = parseInt(labouchereLines.value);
  227.  
  228. for (i = 0; i < numLines; i++)
  229. lines[i] = goal / numLines;
  230. }
  231.  
  232. if (simulationMode) {
  233. simulationMoney = parseInt(simulationMoneyInput.value);
  234. simulationMoneyStart = simulationMoney;
  235. } else {
  236. startBalance = getBalance();
  237. }
  238. } else if (!passedTest) {
  239. alert("Please fill in all required fields for the settings you have chosen");
  240. } else
  241. console.log("%c[EzCoins] I'm already running you tart", "color:green");
  242. };
  243.  
  244. stopButton.onclick = function() {
  245. if (running) {
  246. simulationModeCheckbox.disabled = false;
  247. simulationMoneyInput.disabled = false;
  248. manualModeCheckbox.disabled = false;
  249. console.log("%c[EzCoins] STOPPED", "color:red");
  250. running = false;
  251.  
  252. MartingaleRadioBtn.disabled = false;
  253. labouchereRadioBtn.disabled = false;
  254.  
  255. if (mode == 1) {
  256.  
  257. labouchereLines.disabled = false;
  258. labouchereGoalInput.disabled = false;
  259. } else {
  260.  
  261. MartingaleDefaultBetInput.disabled = false;
  262. MartingaleProfitOver24HoursInput.disabled = false;
  263. MartingaleAntiBankruptcyCheckbox.disabled = false;
  264. MartingaleStopAfterXGamesCheckbox.disabled = false;
  265. MartingaleStopAfterXGamesInput.disabled = false;
  266. MartingaleStopAfterReachingXCheckbox.disabled = false;
  267. MartingaleStopAfterReachingXInput.disabled = false;
  268. MartingaleAntiLoseallCheckbox.disabled = false;
  269. MartingaleAntiLoseallInput.disabled = false;
  270. MartingaleAntiDoubleGreenInput.disabled = false;
  271. MartingaleAntiDoubleGreenCheckbox.disabled = false;
  272. MartingaleBetOnGreenCheckbox.disabled = false;
  273. MartingaleBetOnGreenInput.disabled = false;
  274. }
  275.  
  276. trainProtectionCheckbox.disabled = false;
  277. rainbowProtectionCheckbox.disabled = false;
  278. rrbbProtectionCheckbox.disabled = false;
  279. rrbProtectionCheckbox.disabled = false;
  280.  
  281. running = false;
  282. simulationMoney = 0;
  283. simulationMoneyStart = 0;
  284. status = 0;
  285. fullStatus = '';
  286. runtime = 0;
  287. betOnThisRound = false;
  288. checkedIfWon = false;
  289. rolled = false;
  290. lastBetAmount = 0;
  291. currBetAmount = 0;
  292. currBetColor = ' ';
  293. betsWon = 0;
  294. betsLost = 0;
  295. lines = [];
  296. wonLastBet = true;
  297.  
  298. //////////////////////////////////////
  299. currstreak = 0;
  300. maxwin = 0;
  301. maxlose = 0;
  302. maxlosestreak = 0;
  303. maxwinstreak = 0;
  304. winorlosestreak = "no bet yet";
  305. //////////////////////////////////////
  306.  
  307. } else
  308. console.log("%c[EzCoins] I'm already stopped you tart", "color:red");
  309. };
  310.  
  311. MartingaleRadioBtn.onclick = function() {
  312. console.log("%c[EzCoins] Martingale mode selected", "color:green;");
  313. mode = 0;
  314.  
  315. labouchereLines.disabled = true;
  316. labouchereGoalInput.disabled = true;
  317.  
  318. MartingaleDefaultBetInput.disabled = false;
  319. MartingaleProfitOver24HoursInput.disabled = false;
  320. MartingaleAntiBankruptcyCheckbox.disabled = false;
  321. MartingaleStopAfterXGamesCheckbox.disabled = false;
  322. MartingaleStopAfterXGamesInput.disabled = false;
  323. MartingaleStopAfterReachingXCheckbox.disabled = false;
  324. MartingaleStopAfterReachingXInput.disabled = false;
  325. MartingaleAntiLoseallCheckbox.disabled = false;
  326. MartingaleAntiLoseallInput.disabled = false;
  327. MartingaleAntiDoubleGreenInput.disabled = false;
  328. MartingaleAntiDoubleGreenCheckbox.disabled = false;
  329. MartingaleBetOnGreenCheckbox.disabled = false;
  330. MartingaleBetOnGreenInput.disabled = false;
  331. }
  332.  
  333. labouchereRadioBtn.onclick = function() {
  334. console.log("%c[EzCoins] Labouchere mode selected", "color:green;");
  335. mode = 1;
  336.  
  337. labouchereLines.disabled = false;
  338. labouchereGoalInput.disabled = false;
  339.  
  340. MartingaleDefaultBetInput.disabled = true;
  341. MartingaleProfitOver24HoursInput.disabled = true;
  342. MartingaleAntiBankruptcyCheckbox.disabled = true;
  343. MartingaleStopAfterXGamesCheckbox.disabled = true;
  344. MartingaleStopAfterXGamesInput.disabled = true;
  345. MartingaleStopAfterReachingXCheckbox.disabled = true;
  346. MartingaleStopAfterReachingXInput.disabled = true;
  347. MartingaleAntiLoseallCheckbox.disabled = true;
  348. MartingaleAntiLoseallInput.disabled = true;
  349. MartingaleAntiDoubleGreenInput.disabled = true;
  350. MartingaleAntiDoubleGreenCheckbox.disabled = true;
  351. MartingaleBetOnGreenCheckbox.disabled = true;
  352. MartingaleBetOnGreenInput.disabled = true;
  353. }
  354.  
  355. MartingaleAntiBankruptcyCheckbox.onclick = function() {
  356. if (MartingaleAntiBankruptcyCheckbox.checked) {
  357. antiBankruptcy = true;
  358. console.log("%c[EzCoins] Anti-Bankruptcy Mode Toggled On", "color:green;");
  359. } else {
  360. antiBankruptcy = false;
  361. console.log("%c[EzCoins] Anti-Bankruptcy Mode Toggled Off", "color:red;");
  362. }
  363. }
  364.  
  365. manualModeCheckbox.onclick = function() {
  366. if (manualModeCheckbox.checked) {
  367. MartingaleRadioBtn.disabled = true;
  368. labouchereRadioBtn.disabled = true;
  369. manualMode = true;
  370. console.log("%c[EzCoins] Manual Mode Toggled On", "color:green;");
  371. } else {
  372. MartingaleRadioBtn.disabled = false;
  373. labouchereRadioBtn.disabled = false;
  374. manualMode = false;
  375. console.log("%c[EzCoins] Manual Mode Toggled Off", "color:red;");
  376. }
  377.  
  378.  
  379. }
  380.  
  381. simulationModeCheckbox.onclick = function() {
  382. if (simulationModeCheckbox.checked) {
  383. simulationMode = true;
  384. console.log("%c[EzCoins] Simulation Mode Toggled On", "color:green;");
  385.  
  386. if (MartingaleDefaultBetInput.value != null && simulationMoneyInput.value != null) {
  387. MartingaleOddsOfLosingXTimesInARowX.innerHTML = Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2));
  388. MartingaleOddsOfLosingXTimesInARow.innerHTML = (Math.pow((7 / 15), Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2))) * 100).toFixed(3) + "%";
  389. MartingaleOddsOfLosingIn1Day.innerHTML = (((Math.pow((7 / 15), Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2)))) * (1728 - Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2)) + 1)) * 100).toFixed(3) + "%";
  390. MartingalePercentageOfMoneyAsDefaultBet.innerHTML = ((MartingaleDefaultBetInput.value / simulationMoneyInput.value) * 100).toFixed(4) + "%";
  391. }
  392. } else {
  393. simulationMode = false;
  394. console.log("%c[EzCoins] Simulation Mode Toggled Off", "color:red;");
  395.  
  396. if (MartingaleDefaultBetInput.value != null) {
  397. MartingaleOddsOfLosingXTimesInARowX.innerHTML = Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2));
  398. MartingaleOddsOfLosingXTimesInARow.innerHTML = (Math.pow((7 / 15), Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2))) * 100).toFixed(3) + "%";
  399. MartingaleOddsOfLosingIn1Day.innerHTML = (((Math.pow((7 / 15), Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2)))) * (1728 - Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2)) + 1)) * 100).toFixed(3) + "%";
  400. MartingalePercentageOfMoneyAsDefaultBet.innerHTML = ((MartingaleDefaultBetInput.value / getBalance()) * 100).toFixed(4) + "%";
  401. }
  402. }
  403. }
  404.  
  405. MartingaleDefaultBetInput.oninput = function() {
  406. MartingaleProfitOver24HoursInput.value = 806 * MartingaleDefaultBetInput.value;
  407. if (simulationMode) {
  408. MartingaleOddsOfLosingXTimesInARowX.innerHTML = Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2));
  409. MartingaleOddsOfLosingXTimesInARow.innerHTML = (Math.pow((7 / 15), Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2))) * 100).toFixed(3) + "%";
  410. MartingaleOddsOfLosingIn1Day.innerHTML = (((Math.pow((7 / 15), Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2)))) * (1728 - Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2)) + 1)) * 100).toFixed(3) + "%";
  411. MartingalePercentageOfMoneyAsDefaultBet.innerHTML = ((MartingaleDefaultBetInput.value / simulationMoneyInput.value) * 100).toFixed(4) + "%";
  412. } else {
  413. MartingaleOddsOfLosingXTimesInARowX.innerHTML = Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2));
  414. MartingaleOddsOfLosingXTimesInARow.innerHTML = (Math.pow((7 / 15), Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2))) * 100).toFixed(3) + "%";
  415. MartingaleOddsOfLosingIn1Day.innerHTML = (((Math.pow((7 / 15), Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2)))) * (1728 - Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2)) + 1)) * 100).toFixed(3) + "%";
  416. MartingalePercentageOfMoneyAsDefaultBet.innerHTML = ((MartingaleDefaultBetInput.value / getBalance()) * 100).toFixed(4) + "%";
  417. }
  418. }
  419.  
  420. MartingaleProfitOver24HoursInput.oninput = function() {
  421. MartingaleDefaultBetInput.value = Math.floor(MartingaleProfitOver24HoursInput.value / 806);
  422. if (simulationMode) {
  423. MartingaleOddsOfLosingXTimesInARowX.innerHTML = Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2));
  424. MartingaleOddsOfLosingXTimesInARow.innerHTML = (Math.pow((7 / 15), Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2))) * 100).toFixed(3) + "%";
  425. MartingaleOddsOfLosingIn1Day.innerHTML = (((Math.pow((7 / 15), Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2)))) * (1728 - Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2)) + 1)) * 100).toFixed(3) + "%";
  426. MartingalePercentageOfMoneyAsDefaultBet.innerHTML = ((MartingaleDefaultBetInput.value / simulationMoneyInput.value) * 100).toFixed(4) + "%";
  427. } else {
  428. MartingaleOddsOfLosingXTimesInARowX.innerHTML = Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2));
  429. MartingaleOddsOfLosingXTimesInARow.innerHTML = (Math.pow((7 / 15), Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2))) * 100).toFixed(3) + "%";
  430. MartingaleOddsOfLosingIn1Day.innerHTML = (((Math.pow((7 / 15), Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2)))) * (1728 - Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2)) + 1)) * 100).toFixed(3) + "%";
  431. MartingalePercentageOfMoneyAsDefaultBet.innerHTML = ((MartingaleDefaultBetInput.value / getBalance()) * 100).toFixed(4) + "%";
  432. }
  433. };
  434.  
  435. simulationMoneyInput.oninput = function() {
  436. if (MartingaleDefaultBetInput.value != null) {
  437. if (simulationMode) {
  438. MartingaleOddsOfLosingXTimesInARowX.innerHTML = Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2));
  439. MartingaleOddsOfLosingXTimesInARow.innerHTML = (Math.pow((7 / 15), Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2))) * 100).toFixed(3) + "%";
  440. MartingaleOddsOfLosingIn1Day.innerHTML = (((Math.pow((7 / 15), Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2)))) * (1728 - Math.floor(Math.log((simulationMoneyInput.value / MartingaleDefaultBetInput.value) + 1) / Math.log(2)) + 1)) * 100).toFixed(3) + "%";
  441. MartingalePercentageOfMoneyAsDefaultBet.innerHTML = ((MartingaleDefaultBetInput.value / simulationMoneyInput.value) * 100).toFixed(4) + "%";
  442. } else {
  443. MartingaleOddsOfLosingXTimesInARowX.innerHTML = Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2));
  444. MartingaleOddsOfLosingXTimesInARow.innerHTML = (Math.pow((7 / 15), Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2))) * 100).toFixed(3) + "%";
  445. MartingaleOddsOfLosingIn1Day.innerHTML = (((Math.pow((7 / 15), Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2)))) * (1728 - Math.floor(Math.log((getBalance() / MartingaleDefaultBetInput.value) + 1) / Math.log(2)) + 1)) * 100).toFixed(3) + "%";
  446. MartingalePercentageOfMoneyAsDefaultBet.innerHTML = ((MartingaleDefaultBetInput.value / getBalance()) * 100).toFixed(4) + "%";
  447. }
  448. };
  449. }
  450.  
  451. labouchereGoalInput.oninput = function() {
  452. if (labouchereLines.value != '' && labouchereLines.value > 0)
  453. laboucherePredictedBets.innerHTML = Math.ceil(parseInt(labouchereGoalInput.value) / ((7 / 15) * labouchereLines.value));
  454. };
  455.  
  456. labouchereLines.oninput = function() {
  457. if (labouchereGoalInput.value != '' && labouchereGoalInput.value > 0)
  458. laboucherePredictedBets.innerHTML = Math.ceil(parseInt(labouchereGoalInput.value) / ((7 / 15) * labouchereLines.value));
  459. }
  460.  
  461. red.onclick = function() {
  462. if (status == 2 && !betOnThisRound) {
  463. currBetAmount = parseInt(simulateBetAmt.value);
  464. currBetColor = 'r';
  465. console.log("%c[EzCoins] Total Money: " + simulationMoney + " // Total Bets: " + (betsWon + betsLost) + " // Wins: " + betsWon + " Losses: " + betsLost + " // Net Change: " + toSignedInt(simulationMoney - simulationMoneyStart) + " // Simulated Bet of " + currBetAmount + " credits on color " + currBetColor, "color:purple;");
  466. betOnThisRound = true;
  467. } else {
  468. if (betOnThisRound)
  469. console.log("%c[EzCoins] You already bet on this round...", "color:red;");
  470. else
  471. console.log("%c[EzCoins] Betting for this round is closed...", "color:red;");
  472. }
  473. }
  474.  
  475. green.onclick = function() {
  476. if (status == 2) {
  477. if (!betOnThisRound) {
  478. currBetAmount = parseInt(simulateBetAmt.value);
  479. currBetColor = 'g';
  480. console.log("%c[EzCoins] Total Money: " + simulationMoney + " // Total Bets: " + (betsWon + betsLost) + " // Wins: " + betsWon + " Losses: " + betsLost + " // Net Change: " + toSignedInt(simulationMoney - simulationMoneyStart) + " // Simulated Bet of " + currBetAmount + " credits on color " + currBetColor, "color:purple;");
  481. betOnThisRound = true;
  482. } else {
  483. console.log("%c[EzCoins] You already bet on this round...", "color:red;");
  484. }
  485. } else {
  486. console.log("%c[EzCoins] Betting for this round is closed...", "color:red;");
  487. }
  488. };
  489.  
  490. black.onclick = function() {
  491. if (status == 2) {
  492. if (!betOnThisRound) {
  493. currBetAmount = parseInt(simulateBetAmt.value);
  494. currBetColor = 'b';
  495. console.log("%c[EzCoins] Total Money: " + simulationMoney + " // Total Bets: " + (betsWon + betsLost) + " // Wins: " + betsWon + " Losses: " + betsLost + " // Net Change: " + toSignedInt(simulationMoney - simulationMoneyStart) + " // Simulated Bet of " + currBetAmount + " credits on color " + currBetColor, "color:purple;");
  496. betOnThisRound = true;
  497. } else {
  498. console.log("%c[EzCoins] You already bet on this round...", "color:red;");
  499. }
  500. } else {
  501. console.log("%c[EzCoins] Betting for this round is closed...", "color:red;");
  502. }
  503. };
  504. //END [DEFINE LISTENERS]
  505.  
  506. //START [DEFINING FUNCTIONS]
  507. function checkStatus() {
  508. //STATUSES
  509. // 1 // Rolling // ***ROLLING***
  510. // 2 // Betting // Rolling in XX.XX...
  511. // 3 // Rolled // CSGODouble rolled 3!
  512. // 4 // Confirming // Confirming 625/625 total bets
  513. return statusBanner.innerHTML;
  514. }
  515.  
  516. function getBalance() {
  517. return balanceSpan.innerHTML;
  518. }
  519.  
  520. function secondsToHHMMSS(d) {
  521. d = Number(d);
  522. var h = Math.floor(d / 3600);
  523. var m = Math.floor(d % 3600 / 60);
  524. var s = Math.floor(d % 3600 % 60);
  525.  
  526. return ((h > 0 ? h + ":" + (m < 10 ? "0" : "") : "") + m + ":" + (s < 10 ? "0" : "") + s);
  527. }
  528.  
  529. /*function sleep() {
  530. var ms = Math.floor((Math.random() * 100) + 1);
  531. ms += Math.floor((Math.random() * 100) + 1);
  532. ms += Math.floor((Math.random() * 100) + 1);
  533. ms *= 100;
  534.  
  535. return (new Promise(function(resolve, reject) {
  536. setTimeout(function() {
  537. resolve();
  538. }, ms);
  539. }));
  540. }*/
  541.  
  542. function sleep(x) {
  543. return (new Promise(function(resolve, reject) {
  544. setTimeout(function() {
  545. resolve();
  546. }, x);
  547. }));
  548. }
  549.  
  550.  
  551. function bet(amount, rgb) {
  552. switch (rgb) {
  553. case 'r':
  554. sleep(10000).then(function() {
  555. betAmountInput.value = amount;
  556. redBetButton.click();
  557. });
  558. break;
  559. case 'g':
  560. sleep(5000).then(function() {
  561. betAmountInput.value = amount;
  562. greenBetButton.click();
  563. });
  564. break;
  565. case 'b':
  566. sleep(10000).then(function() {
  567. betAmountInput.value = amount;
  568. blackBetButton.click();
  569. });
  570. break;
  571. }
  572. }
  573.  
  574.  
  575. function getColorFromNumber(number) {
  576. if (number == 0)
  577. return 'g';
  578. else if (number >= 1 && number <= 7)
  579. return 'r';
  580. else if (number >= 8 && number <= 14)
  581. return 'b';
  582. }
  583.  
  584. function toSignedInt(number) {
  585. if (number > 0)
  586. return "+" + number;
  587.  
  588. return number
  589. }
  590.  
  591. function calculateNewDefaultBet(defaultBet, moneyStart, money) {
  592. return Math.floor((defaultBet / moneyStart) * money);
  593. }
  594. //END [DEFINING FUNCTIONS]
  595.  
  596. //START [MAIN LOOP]
  597. setInterval(function() {
  598. runtimeSpan.innerHTML = secondsToHHMMSS(++runtime);
  599.  
  600. if (running) {
  601. fullStatus = checkStatus()
  602. switch (fullStatus.substring(0, 2)) {
  603. case "**":
  604. rolled = true;
  605. status = 1;
  606. break;
  607.  
  608. case "Ro":
  609. if (betOnThisRound && rolled) {
  610. betOnThisRound = false;
  611. checkedIfWon = false;
  612. rolled = false;
  613. }
  614. status = 2;
  615. break;
  616.  
  617. case "CS":
  618. status = 3;
  619. break;
  620.  
  621. case "Co":
  622. status = 4;
  623. break;
  624.  
  625. default:
  626. status = 0;
  627. break;
  628. }
  629. //if (status == 2)
  630. // console.log("%c[EzCoins] Website Status: " + status + " // Rolling in XX.XX...", "color:orange;");
  631. //else
  632. // console.log("%c[EzCoins] Website Status: " + status + " // " + checkStatus(), "color:orange;");
  633.  
  634. if (!betOnThisRound && status == 2) {
  635. skipBet = false;
  636. //decide which color to bet on
  637. if (!manualMode) {
  638. if (getColorFromNumber(document.getElementById("past").childNodes[9].innerHTML) != 'g') currBetColor = getColorFromNumber(document.getElementById("past").childNodes[9].innerHTML);
  639. else
  640. currBetColor = 'r';
  641.  
  642. if (trainProtectionCheckbox.checked) {
  643. if ((getColorFromNumber(document.getElementById("past").childNodes[8].innerHTML) == 'r' && getColorFromNumber(document.getElementById("past").childNodes[9].innerHTML) == 'r') || (getColorFromNumber(document.getElementById("past").childNodes[8].innerHTML) == 'b' && getColorFromNumber(document.getElementById("past").childNodes[9].innerHTML) == 'b')) {
  644. console.log("%c[EzCoins] Train Detected!", "color:blue;");
  645. currBetColor = getColorFromNumber(document.getElementById("past").childNodes[9].innerHTML);
  646. }
  647. }
  648.  
  649. if (rainbowProtectionCheckbox.checked) {
  650. if ((getColorFromNumber(document.getElementById("past").childNodes[7].innerHTML) == 'b' && (getColorFromNumber(document.getElementById("past").childNodes[8].innerHTML) == 'r') && getColorFromNumber(document.getElementById("past").childNodes[9].innerHTML) == 'b') || (getColorFromNumber(document.getElementById("past").childNodes[7].innerHTML) == 'r' && (getColorFromNumber(document.getElementById("past").childNodes[8].innerHTML) == 'b') && getColorFromNumber(document.getElementById("past").childNodes[9].innerHTML) == 'r')) {
  651. console.log("%c[EzCoins] Rainbow Detected!", "color:blue;");
  652. currBetColor = getColorFromNumber(document.getElementById("past").childNodes[8].innerHTML);
  653. }
  654. }
  655. if (rrbbProtectionCheckbox.checked) {
  656. if ((getColorFromNumber(document.getElementById("past").childNodes[6].innerHTML) == 'b' && getColorFromNumber(document.getElementById("past").childNodes[7].innerHTML) == 'b' && getColorFromNumber(document.getElementById("past").childNodes[8].innerHTML) == 'r' && getColorFromNumber(document.getElementById("past").childNodes[9].innerHTML) == 'r') || (getColorFromNumber(document.getElementById("past").childNodes[6].innerHTML) == 'r' && getColorFromNumber(document.getElementById("past").childNodes[7].innerHTML) == 'r' && getColorFromNumber(document.getElementById("past").childNodes[8].innerHTML) == 'b' && getColorFromNumber(document.getElementById("past").childNodes[9].innerHTML) == 'b')) {
  657. console.log("%c[EzCoins] RRBB Pattern Detected!", "color:blue;");
  658. currBetColor = getColorFromNumber(document.getElementById("past").childNodes[6].innerHTML);
  659. }
  660. }
  661. if (rrbProtectionCheckbox.checked) {
  662. if ((getColorFromNumber(document.getElementById("past").childNodes[7].innerHTML) == 'b' && getColorFromNumber(document.getElementById("past").childNodes[8].innerHTML) == 'b' && getColorFromNumber(document.getElementById("past").childNodes[9].innerHTML) == 'r') || (getColorFromNumber(document.getElementById("past").childNodes[7].innerHTML) == 'r' && getColorFromNumber(document.getElementById("past").childNodes[8].innerHTML) == 'r' && getColorFromNumber(document.getElementById("past").childNodes[9].innerHTML) == 'b')) {
  663. console.log("%c[EzCoins] RRB Pattern Detected!", "color:blue;");
  664. currBetColor = getColorFromNumber(document.getElementById("past").childNodes[7].innerHTML);
  665. }
  666. }
  667. }
  668.  
  669. if (mode == 0 && !manualMode) { //Martingale System
  670. if (MartingaleStopAfterXGamesCheckbox.checked && (betsWon + betsLost) == parseInt(MartingaleStopAfterXGamesInput.value)) {
  671. stopButton.click();
  672. console.log("%c[EzCoins] Martingale: Stop after " + MartingaleStopAfterXGamesInput.value + " reached! Stopping...: ", "color:purple");
  673. }
  674.  
  675. if (MartingaleStopAfterReachingXCheckbox.checked && ((!simulationMode && ((getBalance() - startBalance) == parseInt(MartingaleStopAfterReachingXInput.value))) || (simulationMode && ((simulationMoney - simulationMoneyStart) == parseInt(MartingaleStopAfterReachingXInput.value))))) {
  676. stopButton.click();
  677. console.log("%c[EzCoins] Martingale: Stop after attaining " + MartingaleStopAfterReachingXInput.value + " reached! Stopping...: ", "color:purple");
  678. }
  679.  
  680. //decide the amount to bet
  681. if (antiDoubleGreenCounter == 0)
  682. antiDoubleGreenCounter = -1;
  683.  
  684. if (!betOnThisRound && wonLastBet) {
  685. currBetAmount = parseInt(MartingaleDefaultBetInput.value);
  686. if (betOnGreenEnabled)
  687. currBetGreenAmount = parseInt(MartingaleBetOnGreenInput.value);
  688. antiLoseAllCounter = 0;
  689.  
  690. } else if (antiDoubleGreenCounter == -1 && !betOnThisRound && antiDoubleGreenEnabled && getColorFromNumber(document.getElementById("past").childNodes[9].innerHTML) == 'g') {
  691. antiDoubleGreenCounter = parseInt(MartingaleAntiDoubleGreenInput.value);
  692. console.log("%c[EzCoins] Skipping the next " + antiDoubleGreenCounter + " bets!", "color:green");
  693. skipBet = true;
  694. betOnThisRound = true;
  695. antiDoubleGreenCounter -= 1;
  696. } else if (!betOnThisRound && antiDoubleGreenCounter >= 0) {
  697. if (antiDoubleGreenCounter == 1) {
  698. console.log("%c[EzCoins] Last bet skip!", "color:green");
  699. antiDoubleGreenCounter = -1;
  700. skipBet = true;
  701. betOnThisRound = true;
  702. } else if (!skipBet && !betOnThisRound) {
  703. console.log("%c[EzCoins] Skipping the next " + antiDoubleGreenCounter + " bets", "color:green");
  704. betOnThisRound = true;
  705. skipBet = true;
  706. antiDoubleGreenCounter -= 1;
  707. }
  708. } else {
  709. antiLoseAllCounter++;
  710. if (antiBankruptcy && ((simulationMode && (lastBetAmount * 2 > simulationMoney)) || (!simulationMode && (lastBetAmount * 2 > getBalance())))) {
  711. console.log("%c[EzCoins] Anti-Bankruptcy triggered!", "color:blue;");
  712.  
  713. if (simulationMode) {
  714. MartingaleDefaultBetInput.value = calculateNewDefaultBet(MartingaleDefaultBetInput.value, simulationMoneyStart, simulationMoney);
  715. console.log("%c[EzCoins] Anti-Bankruptcy calculated new default bet: " + MartingaleDefaultBetInput.value, "color:blue;");
  716. } else {
  717. MartingaleDefaultBetInput.value = calculateNewDefaultBet(MartingaleDefaultBetInput.value, startBalance, getBalance());
  718. console.log("%c[EzCoins] Anti-Bankruptcy calculated new default bet: " + MartingaleDefaultBetInput.value, "color:blue;");
  719. }
  720.  
  721. currBetAmount = parseInt(MartingaleDefaultBetInput.value);
  722. if (betOnGreenEnabled)
  723. currGreenBetAmount = parseInt(MartingaleBetOnGreenInput.value);
  724. wonLastBet = true;
  725. } else {
  726. if (antiLoseAllCounter >= parseInt(MartingaleAntiLoseallInput.value)) {
  727. antiLoseAllCounter = 0;
  728. console.log("%c[EzCoins] Anti-Lose all triggered!", "color:green");
  729. currBetAmount = parseInt(MartingaleDefaultBetInput.value);
  730. if (betOnGreenEnabled)
  731. currGreenBetAmount = parseInt(MartingaleBetOnGreenInput.value);
  732. } else {
  733. currBetAmount = lastBetAmount * 2;
  734. if (betOnGreenEnabled)
  735. currBetGreenAmount = lastBetGreenAmount * 2;
  736. }
  737. }
  738.  
  739. }
  740. }
  741. } else if (mode == 1 && !manualMode) { //labouchere system
  742. if (simulationMode) {
  743. if ((simulationMoney - simulationMoneyStart) == goal) {
  744. stopButton.click();
  745. console.log("%c[EzCoins] Labouchere goal reached! Stopping...: ", "color:purple");
  746. }
  747. } else {
  748. if ((getBalance() - startBalance) == goal) {
  749. stopButton.click();
  750. console.log("%c[EzCoins] Labouchere goal reached! Stopping...: ", "color:purple");
  751. }
  752. }
  753.  
  754. if (wonLastBet && (betsWon + betsLost) > 0) {
  755. lines.splice((lines.length - 1), 1);
  756. lines.splice(0, 1);
  757. } else if (!wonLastBet && (betsWon + betsLost) > 0) {
  758. lines.push(lastBetAmount);
  759. }
  760.  
  761. if (lines.length > 1)
  762. currBetAmount = (lines[0] + lines[lines.length - 1]);
  763. else
  764. currBetAmount = lines[0];
  765.  
  766. console.log("%c[EzCoins] Lines: " + lines, "color:blue");
  767. }
  768.  
  769. //bet
  770. if (!skipBet) {
  771.  
  772. //////////////////////////////////////////////////////
  773. if (currBetColor == 'r') {
  774. resultcolor = "RED";
  775. } else if (currBetColor == 'b') {
  776. resultcolor = "BLACK";
  777. } else if (currBetColor == 'g') {
  778. resultcolor = "GREEN";
  779. }
  780. //////////////////////////////////////////////////////
  781.  
  782. if (!simulationMode && !betOnThisRound) {
  783. betOnThisRound = true;
  784. lastBetAmount = currBetAmount;
  785. lastBetGreenAmount = currBetGreenAmount;
  786.  
  787.  
  788. //bet on green part
  789. if (betOnGreenEnabled) {
  790. console.log("%c[EzCoins] Total Money: " + getBalance() + " // Total Bets: " + (betsWon + betsLost) + " // Wins: " + betsWon + " Losses: " + betsLost + " // Net Change: " + toSignedInt(getBalance() - startBalance) + " // Bet of " + currBetGreenAmount + " credits on GREEN", "color:purple;");
  791. bet(currBetGreenAmount, 'g');
  792. }
  793.  
  794.  
  795.  
  796.  
  797. console.log("%cTotal Money: " + getBalance() + " // Total Bets: " + (betsWon + betsLost) + " // Wins: " + betsWon + " Losses: " + betsLost + " // Max WinStreak: " + maxwinstreak + " // Max LoseStreak: " + maxlosestreak + " // Net Change: " + toSignedInt(getBalance() - startBalance) + " // Bet " + currBetAmount + " on " + resultcolor + " // Current " + winorlosestreak + ": " + currstreak, "color:purple;");
  798. bet(currBetAmount, currBetColor);
  799. } else if (simulationMode && !manualMode && !betOnThisRound) {
  800. betOnThisRound = true;
  801. lastBetAmount = currBetAmount;
  802. lastBetGreenAmount = currBetGreenAmount;
  803.  
  804. console.log("%cTotal Money: " + simulationMoney + " // Total Bets: " + (betsWon + betsLost) + " // Wins: " + betsWon + " Losses: " + betsLost + " // Max WinStreak: " + maxwinstreak + " // Max LoseStreak: " + maxlosestreak + " // Net Change: " + toSignedInt(simulationMoney - simulationMoneyStart) + " // Simulated Bet " + currBetAmount + " on " + resultcolor + " // Current " + winorlosestreak + ": " + currstreak, "color:purple;");
  805. //console.log("%c[EzCoins] Total Money: " + simulationMoney, "color:purple;");
  806. //console.log("%cTotal Bets: " + (betsWon + betsLost), "color:purple;");
  807. //console.log("%cWins: " + betsWon + " Losses: " + betsLost, "color:purple;");
  808. //console.log("%cNet Change: " + toSignedInt(simulationMoney - simulationMoneyStart), "color:purple;");
  809. //console.log("%cSimulated Bet of " + currBetAmount, "color:purple;");
  810. //console.log("%cMax WinStreak: " + maxwinstreak, "color:purple;");
  811. //console.log("%cMax LoseStreak: " + maxlosestreak, "color:purple;");
  812. //console.log("%cCurrent "+ winorlosestreak +": " + currstreak, "color:purple;");
  813. //console.log("%cBet on color " + currBetColor, "color:purple;");
  814. if (betOnGreenEnabled)
  815. console.log("%c[EzCoins] Total Money: " + simulationMoney + " // Total Bets: " + (betsWon + betsLost) + " // Wins: " + betsWon + " Losses: " + betsLost + " // Net Change: " + toSignedInt(simulationMoney - simulationMoneyStart) + " // Simulated Bet of " + currBetGreenAmount + " credits on GREEN", "color:purple;");
  816. }
  817.  
  818. if (!checkedIfWon && betOnThisRound && status == 3) {
  819. if ((betOnGreenEnabled && getColorFromNumber(checkStatus().substring(18, checkStatus().length - 1)) == 'g') || currBetColor == getColorFromNumber(checkStatus().substring(18, checkStatus().length - 1))) {
  820. wonLastBet = true;
  821.  
  822. //////////////////////////////////////////
  823. wstreak = 1;
  824. currstreak++;
  825. maxlose = 0;
  826. maxwin++;
  827. if (maxwin > maxwinstreak) {
  828. maxwinstreak++;
  829. }
  830. if (lstreak > 0) {
  831. currstreak = 1;
  832. }
  833. lstreak = 0;
  834. winorlosestreak = "Winstreak";
  835. //////////////////////////////////////////
  836.  
  837. betsWon++;
  838. console.log("%c[EzCoins] Won Last Bet! :D", "color:green;");
  839. if (simulationMode) {
  840. if (betOnGreenEnabled && getColorFromNumber(checkStatus().substring(18, checkStatus().length - 1)) == 'g')
  841. simulationMoney += currBetGreenAmount * 14;
  842. else if (betOnGreenEnabled && getColorFromNumber(checkStatus().substring(18, checkStatus().length - 1)) != 'g')
  843. simulationMoney -= currBetGreenAmount;
  844.  
  845. if (currBetColor != 'g') {
  846. if (currBetColor == getColorFromNumber(checkStatus().substring(18, checkStatus().length - 1)))
  847. simulationMoney += currBetAmount;
  848. } else {
  849. if (!(currBetColor == getColorFromNumber(checkStatus().substring(18, checkStatus().length - 1))))
  850. simulationMoney += 14 * currBetAmount;
  851. }
  852. }
  853. } else {
  854. wonLastBet = false;
  855.  
  856. //////////////////////////////////////////
  857. lstreak = 1;
  858. currstreak++;
  859. maxwin = 0;
  860. maxlose++;
  861. if (maxlose > maxlosestreak) {
  862. maxlosestreak++;
  863. }
  864. if (wstreak > 0) {
  865. currstreak = 1;
  866. }
  867. wstreak = 0;
  868. winorlosestreak = "Losestreak";
  869. //////////////////////////////////////////
  870.  
  871. betsLost++;
  872. console.log("%c[EzCoins] Lost Last Bet! :(", "color:red;");
  873. if (simulationMode) {
  874. if (betOnGreenEnabled && getColorFromNumber(checkStatus().substring(18, checkStatus().length - 1)) != 'g')
  875. simulationMoney -= currBetGreenAmount;
  876. else if (betOnGreenEnabled && getColorFromNumber(checkStatus().substring(18, checkStatus().length - 1)) == 'g')
  877. simulationMoney += currBetGreenAmount * 14;
  878.  
  879. if (!(currBetColor == getColorFromNumber(checkStatus().substring(18, checkStatus().length - 1))))
  880. simulationMoney -= currBetAmount;
  881. }
  882. }
  883.  
  884. checkedIfWon = true;
  885. }
  886. } else if (!betOnThisRound && skipBet) {
  887. console.log("%c[EzCoins] Skipping bet! :)", "color:green");
  888. }
  889. }
  890. }, 1000);
  891. //END [MAIN LOOP]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement