Advertisement
unlimitD

X2destroyer

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