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