View difference between Paste ID: CYyN3Us1 and cZD8ZLXx
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]