CSGODOUBLE Script


SUBMITTED BY: Lann

DATE: April 25, 2016, 5:46 p.m.

UPDATED: April 27, 2016, 10:47 p.m.

FORMAT: Text only

SIZE: 49.0 kB

HITS: 621

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

comments powered by Disqus