Cs Go Double Script
Cs Go Double Script
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
// ==UserScript==
// @name
csgodouble.com - automated
// @description
// @namespace
automated@mole
// @version
// @author
Mole
// @match
http://www.csgodouble.com/
// @match
http://www.csgodouble.com/index.php
// @match
http://csgodouble.com/
// @match
http://csgodouble.com/index.php
// @match
http://csgopolygon.com/
// @match
http://csgopolygon.com/index.php
// @match
http://www.csgopolygon.com/
// @match
http://www.csgopolygon.com/index.php
// @run-at
document-end
// @grant
none
// ==/UserScript==
/* jshint -W097 */
'use strict';
var colors = {
'green': [0],
'red': [1, 2, 3, 4, 5, 6, 7],
'black': [8, 9, 10, 11, 12, 13, 14]
};
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
Array.prototype.equals = function(array) {
if (!array) {
return false;
}
if (this.length != array.length) {
return false;
}
function Automated() {
var self = this;
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
this.running = false;
this.game = null;
this.debug = debug;
this.simulation = simulation;
this.stop_on_min_balance = stop_on_min_balance;
this.calculate_safe_bet = calculate_safe_bet;
this.base_bet = base_bet;
this.default_color = default_color;
this.default_method = default_method;
this.safe_bet_amount = safe_bet_amount;
this.method = this.default_method;
this.old_method = '';
this.color = 'rainbow';
this.old_base = 0;
this.balance = 0;
this.last_bet = 0;
this.bet_history = [];
this.min_balance = 0;
this.starting_balance = 0;
this.last_color = null;
this.last_result = null;
this.history = [];
this.waiting_for_bet = false;
this.theme = theme;
this.stats = {
'wins': 0,
'loses': 0,
'balance': 0
};
109.
110.
'<div class="col-lg-9">' +
'<h2>MENU <small>edited by mahon3</small> <i id="automated-theme-switch" class="fa fa-lightbulb-o"
style="cursor: pointer;"></i></h2>' +
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
'<div class="form-group">' +
'<div class="btn-group">' +
'<button type="button" class="btn btn-success" id="automated-start" disabled>Start</button>' +
'<button type="button" class="btn btn-warning" id="automated-stop" disabled>Pause</button>' +
'<button type="button" class="btn btn-danger" id="automated-abort" disabled>Abort</button>' +
'</div>' +
'</div>' +
'<div class="form-group">' +
'<div class="btn-group">' +
'<button type="button" class="btn btn-default" id="automated-martingale" ' + (this.method === 'martingale' ?
121.
122.
123.
'<button type="button" class="btn btn-default" id="automated-bet-green" ' + (this.method === 'green' ? 'disabled' :
124.
125.
126.
127.
128.
'</div>' +
'</div>' +
'<div class="form-group automated-hide-on-green">' +
'<div class="btn-group">' +
'<button type="button" class="btn btn-default" id="automated-red" ' + (this.color === 'red' ? 'disabled' : '') +
'>Red</button>' +
129.
'<button type="button" class="btn btn-default" id="automated-black" ' + (this.color === 'black' ? 'disabled' : '') +
'>Black</button>' +
130.
'<button type="button" class="btn btn-default" id="automated-rainbow" ' + (this.color === 'rainbow' ? 'disabled' :
'') + '>Rainbow</button>' +
131.
'<button type="button" class="btn btn-default" id="automated-random" ' + (this.color === 'random' ? 'disabled' : '')
+ '>Random</button>' +
132.
'<button type="button" class="btn btn-default" id="automated-last" ' + (this.color === 'last' ? 'disabled' : '') +
'>Last winning</button>' +
133.
134.
'</div>' +
'</div>' +
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
'</div>' +
'<div class="col-lg-3">' +
'<h3>Session Stats:</h3>' +
'<p><b>Wins:</b> <span id="automated-stats-wins">' + this.stats.wins + '</span></p>' +
'<p><b>Loses:</b> <span id="automated-stats-loses">' + this.stats.loses + '</span></p>' +
'<p><b>Balance since start:</b> <span id="automated-stats-balance">' + this.stats.balance + '</span></p>' +
'</div>' +
'</div>' +
'<div class="form-group">' +
'<div class="input-group">' +
'<div class="input-group-addon">Base value</div>' +
'<input type="number" class="form-control" placeholder="Calculating suggested value..." id="automated-base-bet"
disabled>' +
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
'</div>' +
'</div>' +
'<div class="form-group">' +
'<div class="input-group">' +
'<div class="input-group-addon">Keep balance above</div>' +
'<input type="number" class="form-control" value="0" id="automated-min-balance">' +
'</div>' +
'</div>' +
'<div class="form-group automated-hide-on-green">' +
'<div class="input-group">' +
'<div class="input-group-addon">Failsafe value</div>' +
'<input type="number" class="form-control" value="' + this.safe_bet_amount + '" id="automated-safe-bet-amount"' +
159.
160.
161.
162.
'</div>' +
'</div>' +
'<div class="checkbox">' +
'<label><input class="" id="automated-stop-on-min-balance" type="checkbox" ' + (this.stop_on_min_balance ?
'checked' : '') + '> Stop on minimal balance - (if not checked, it will keep running untill bankrupt) </label>' +
163.
164.
165.
'</div>' +
'<div class="checkbox automated-hide-on-green">' +
'<label><input class="" id="automated-calculate-safe-bet" type="checkbox" ' + (this.calculate_safe_bet ? 'checked' : '') +
166.
'</div>' +
167.
168.
'<div class="checkbox">' +
'<label><input class="" id="automated-debug" type="checkbox" ' + (this.debug ? 'checked' : '') + '> Debug mode</label>'
169.
170.
171.
'</div>' +
'<div class="checkbox">' +
'<label class="text-muted"><input id="automated-simulation" type="checkbox" ' + (this.simulation ? 'checked' : '') + '
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
'</div>';
document.getElementsByClassName('well')[1].appendChild(menu);
this.menu = {
'start': document.getElementById('automated-start'),
'stop': document.getElementById('automated-stop'),
'abort': document.getElementById('automated-abort'),
'basebet': document.getElementById('automated-base-bet'),
'minbalance': document.getElementById('automated-min-balance'),
'debug': document.getElementById('automated-debug'),
'simulation': document.getElementById('automated-simulation'),
'stoponminbalance': document.getElementById('automated-stop-on-min-balance'),
'red': document.getElementById('automated-red'),
'black': document.getElementById('automated-black'),
'rainbow': document.getElementById('automated-rainbow'),
'random': document.getElementById('automated-random'),
'last': document.getElementById('automated-last'),
'statistics': {
'wins': document.getElementById('automated-stats-wins'),
'loses': document.getElementById('automated-stats-loses'),
'balance': document.getElementById('automated-stats-balance')
},
'theme': document.getElementById('automated-theme-switch'),
'safebetamount': document.getElementById('automated-safe-bet-amount'),
'calculatesafebet': document.getElementById('automated-calculate-safe-bet'),
'martingale': document.getElementById('automated-martingale'),
'greatmartingale': document.getElementById('automated-great-martingale'),
'betgreen': document.getElementById('automated-bet-green'),
'dalembert': document.getElementById('automated-dalembert'),
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
'hideongreen': document.getElementsByClassName('automated-hide-on-green')
};
this.menu.start.onclick = function() {
self.start();
};
this.menu.stop.onclick = function() {
self.stop();
};
this.menu.abort.onclick = function() {
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
self.stop(true);
};
this.menu.basebet.onchange = function() {
var value = parseInt(self.menu.basebet.value);
if (!isNaN(value)) {
self.base_bet = value;
}
};
this.menu.minbalance.onchange = function() {
var value = parseInt(self.menu.minbalance.value);
if (!isNaN(value)) {
self.min_balance = value;
}
};
this.menu.safebetamount.onchange = function() {
var value = parseInt(self.menu.safebetamount.value);
if (!isNaN(value)) {
self.safe_bet_amount = value;
}
};
this.menu.debug.onchange = function() {
self.debug = self.menu.debug.checked;
};
this.menu.simulation.onchange = function() {
self.simulation = self.menu.simulation.checked;
};
this.menu.stoponminbalance.onchange = function() {
self.stop_on_min_balance = self.menu.stoponminbalance.checked;
};
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
this.menu.calculatesafebet.onchange = function() {
self.calculate_safe_bet = self.menu.calculatesafebet.checked;
self.menu.basebet.disabled = self.menu.calculatesafebet.checked;
self.menu.safebetamount.disabled = !self.menu.calculatesafebet.checked;
};
this.menu.black.onclick = function() {
self.menu.rainbow.disabled = false;
self.menu.black.disabled = true;
self.menu.red.disabled = false;
self.menu.random.disabled = false;
self.menu.last.disabled = false;
self.color = 'black';
self.log('Current mode: black');
};
this.menu.red.onclick = function() {
self.menu.rainbow.disabled = false;
self.menu.black.disabled = false;
self.menu.red.disabled = true;
self.menu.random.disabled = false;
self.menu.last.disabled = false;
self.color = 'red';
self.log('Current mode: red');
};
this.menu.rainbow.onclick = function() {
self.menu.rainbow.disabled = true;
self.menu.black.disabled = false;
self.menu.red.disabled = false;
self.menu.random.disabled = false;
self.menu.last.disabled = false;
self.color = 'rainbow';
self.log('Current mode: rainbow');
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
};
this.menu.random.onclick = function() {
self.menu.rainbow.disabled = false;
self.menu.black.disabled = false;
self.menu.red.disabled = false;
self.menu.random.disabled = true;
self.menu.last.disabled = false;
self.color = 'random';
self.log('Current mode: random');
};
this.menu.last.onclick = function() {
self.menu.rainbow.disabled = false;
self.menu.black.disabled = false;
self.menu.red.disabled = false;
self.menu.random.disabled = false;
self.menu.last.disabled = true;
self.color = 'last';
self.log('Current mode: last');
};
this.menu.martingale.onclick = function() {
self.menu.martingale.disabled = true;
self.menu.greatmartingale.disabled = false;
self.menu.betgreen.disabled = false;
self.menu.dalembert.disabled = false;
for (var i = 0; i < self.menu.hideongreen.length; i++) {
self.menu.hideongreen[i].style.display = 'block';
}
self.method = 'martingale';
self.log('Current method: Martingale');
};
this.menu.greatmartingale.onclick = function() {
self.menu.martingale.disabled = false;
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
self.menu.greatmartingale.disabled = true;
self.menu.betgreen.disabled = false;
self.menu.dalembert.disabled = false;
for (var i = 0; i < self.menu.hideongreen.length; i++) {
self.menu.hideongreen[i].style.display = 'block';
}
self.method = 'great martingale';
self.log('Current method: Great martingale');
};
this.menu.dalembert.onclick = function() {
self.menu.martingale.disabled = false;
self.menu.greatmartingale.disabled = false;
self.menu.betgreen.disabled = false;
self.menu.dalembert.disabled = true;
for (var i = 0; i < self.menu.hideongreen.length; i++) {
self.menu.hideongreen[i].style.display = 'block';
}
self.method = 'dalembert';
self.log('Current method: D\'alembert');
};
this.menu.betgreen.onclick = function() {
self.menu.martingale.disabled = false;
self.menu.greatmartingale.disabled = false;
self.menu.betgreen.disabled = true;
self.menu.dalembert.disabled = false;
for (var i = 0; i < self.menu.hideongreen.length; i++) {
self.menu.hideongreen[i].style.display = 'none';
}
self.method = 'green';
self.log('Current method: Bet green');
};
this.menu.theme.onclick = function() {
if (self.theme === 'dark') {
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
self.lightMode();
self.theme = 'light';
self.log('Switching to light theme...');
} else {
self.darkMode();
self.theme = 'dark';
self.log('Switching to dark theme...');
}
};
setInterval(function() {
if(!WS) {
self.log('Reconnecting...');
connect();
}
}, 5000);
}
Automated.prototype.updateBalance = function() {
this.balance = parseInt(balance.textContent);
if (isNaN(this.balance)) {
this.log('Error getting current balance!');
return false;
}
Automated.prototype.updateHistory = function() {
var self = this;
this.history = [];
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
if (!isNaN(roll)) {
if (colors.green.indexOf(roll) !== -1) {
self.history.push('green');
} else if (colors.red.indexOf(roll) !== -1) {
self.history.push('red');
} else {
self.history.push('black');
}
}
}
Automated.prototype.updateStats = function() {
this.stats.balance = parseInt(this.balance) - parseInt(this.starting_balance);
this.menu.statistics.wins.innerHTML = this.stats.wins;
this.menu.statistics.loses.innerHTML = this.stats.loses;
this.menu.statistics.balance.innerHTML = this.stats.balance;
return true;
};
Automated.prototype.updateAll = function() {
return this.updateBalance() && this.updateHistory() && this.updateStats();
};
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474.
475.
476.
477.
478.
479.
480.
481.
482.
483.
484.
485.
486.
487.
488.
color = this.default_color;
}
} else if (color === 'random') {
color = 'red';
if (Math.random() > 0.5) {
color = 'black';
}
} else if (color === 'last') {
color = this.history[this.history.length - 1];
}
bet_input.value = amount;
if (!bet_buttons[color].disabled) {
var old_balance = self.balance;
this.log('Betting ' + amount + ' on ' + color);
if (!self.simulation) {
bet_buttons[color].click();
489.
490.
491.
492.
493.
494.
495.
496.
497.
498.
499.
500.
501.
502.
503.
504.
505.
506.
507.
508.
509.
510.
511.
512.
513.
514.
515.
516.
517.
518.
519.
520.
521.
522.
523.
524.
Automated.prototype.play = function() {
var self = this;
525.
526.
527.
528.
529.
530.
531.
532.
533.
534.
535.
536.
537.
538.
539.
540.
541.
542.
543.
544.
545.
546.
547.
548.
549.
550.
551.
552.
553.
554.
555.
556.
557.
558.
559.
560.
this.game = setInterval(function() {
var history = self.history;
if (!self.waiting_for_bet && self.updateAll() && !history.equals(self.history)) {
self.waiting_for_bet = true;
if (self.last_color === null) {
self.bet(self.base_bet);
} else if (self.last_color === self.history[self.history.length - 1]) {
if (self.calculate_safe_bet) {
self.base_bet = Math.floor(self.balance / Math.pow(2, self.safe_bet_amount + 1));
self.menu.basebet.value = self.base_bet;
}
self.last_result = 'win';
self.log('Win!');
self.stats.wins += 1;
self.old_base = self.base_bet;
self.old_method = self.method;
if (self.old_method === 'dalembert') {
if (self.last_bet > self.old_base) {
self.bet(self.last_bet - 1);
} else {
self.bet(self.base_bet);
}
} else {
self.bet(self.base_bet);
}
} else {
self.last_result = 'lose';
self.log('Lose!');
self.stats.loses += 1;
if (self.old_method === 'martingale') {
self.bet(self.last_bet * 2);
561.
562.
563.
564.
565.
566.
567.
568.
569.
570.
571.
572.
573.
574.
575.
576.
577.
578.
579.
580.
581.
582.
583.
584.
585.
586.
587.
588.
589.
590.
591.
592.
593.
594.
595.
596.
return true;
};
Automated.prototype.start = function() {
if (self.calculate_safe_bet) {
self.base_bet = Math.floor(self.balance / Math.pow(2, self.safe_bet_amount + 1));
self.menu.basebet.value = self.base_bet;
}
this.old_base = this.base_bet;
this.old_method = this.method;
if (this.updateAll()) {
if (this.last_result === 'lose') {
this.running = true;
if (this.old_method === 'martingale') {
597.
598.
599.
600.
601.
602.
603.
604.
605.
606.
607.
608.
609.
610.
611.
612.
613.
614.
615.
616.
617.
618.
619.
620.
621.
622.
623.
624.
625.
626.
627.
628.
629.
630.
631.
632.
this.bet(this.last_bet * 2);
} else if (this.old_method === 'great martingale') {
this.bet(this.last_bet * 2 + this.old_base);
} else if (self.old_method === 'green') {
var bet_value = 0;
if (self.bet_history[self.bet_history.length - 1] === 1) {
if (self.bet_history[self.bet_history.length - 2] === 1) {
bet_value = 2;
} else {
bet_value = 1;
}
} else {
bet_value = self.bet_history[self.bet_history.length - 1] + self.bet_history[self.bet_history.length - 2];
}
self.bet(bet_value, 'green');
} else if (self.old_method === 'dalembert') {
self.bet(self.last_bet + 1);
}
this.play();
} else {
this.running = true;
this.bet(this.base_bet);
this.play();
}
}
this.menu.abort.disabled = false;
this.menu.stop.disabled = false;
this.menu.start.disabled = true;
};
Automated.prototype.stop = function(abort) {
var self = this;
if (abort) { this.last_result = 'abort'; }
this.stats.balance = parseInt(this.balance) - parseInt(this.starting_balance);
setTimeout(function() {
clearInterval(self.game);
633.
634.
635.
636.
637.
638.
639.
640.
641.
642.
643.
self.game = null;
self.running = false;
self.menu.abort.disabled = true;
self.menu.stop.disabled = true;
self.menu.start.disabled = false;
}, 1); // Next tick
};
Automated.prototype.darkMode = function() {
var style;
var css = 'body{background-color:#191919;color:#888}.navbar-default{background-color:#232323;border-
644.
645.
646.
647.
648.
649.
650.
651.
652.
653.
style = document.getElementById('automated-style');
if (!style) {
var head;
head = document.getElementsByTagName('head')[0];
if (!head) { return; }
style = document.createElement('style');
style.type = 'text/css';
style.id = 'automated-style';
style.innerHTML = css;
head.appendChild(style);
654.
655.
656.
657.
658.
659.
660.
661.
662.
663.
664.
665.
666.
667.
668.
669.
670.
671.
}
style.innerHTML = css;
};
Automated.prototype.lightMode = function() {
var style = document.getElementById('automated-style');
style.innerHTML = '';
};
Automated.prototype.log = function(message) {
chat('alert', '[Automated] ' + message);
};
Automated.prototype.logdebug = function(message) {
chat('italic', '[Automated] ' + message);
};