-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathauto_bet.js
147 lines (117 loc) · 3.82 KB
/
auto_bet.js
1
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
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
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
var baseValue = '0.00000001', // value of BASE BET
rollCount = 100000,
increaseBetPercentWhenLose = 0, // multiplier when you lose. When set to 0, use dynamic multiplier
stopBefore = 30, // In seconds for timer before stopping redirect on webpage
stopAfterLoss = '0.00010000', // stop game after loss, set 0 to disable
$betOn = $('#autobet_bet_hi'); // set as $('#autobet_bet_hi') or $('#autobet_bet_lo') or $('#autobet_bet_alternate')
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
function deExponentize(number) {
return number * 100000000;
}
function getDynamicPercentage() {
var balance = deExponentize($('#balance').text());
var maxLoseCount = Math.floor(Math.log(balance) / Math.log(2));
var percent = 2.00;
console.log('maxLoseCount: '+maxLoseCount);
do {
percent += 0.01;
loseCount = Math.floor(Math.log(balance) / Math.log(percent));
if (percent > 3) {
console.log('imposible percent, debug me');
break;
}
} while (loseCount >= maxLoseCount);
percent -= 0.01;
return ((percent - 1) * 100).toFixed(0);
}
function watchDog() {
console.log('Wake up to check');
if (stopBeforeRedirect()) {
console.log('Approaching redirect! Stop the game so we don\'t get redirected while loosing.');
$('#double_your_btc_bet_win').bind("DOMSubtreeModified", function(event) {
if ($(event.currentTarget).is(':contains("win")')) {
stopGame();
}
});
return;
}
if (rollFinished()) {
console.log('Auto bet is finished, restart it.');
reset();
$('#start_autobet').click();
}
setTimeout(watchDog, 10000);
}
function initGame() {
// try to free roll
if ($('#free_play_form_button').is(':visible')) {
$('#free_play_form_button').click();
sleep(1500);
}
// switch to auto bet tab
if (!$('#auto_bet_on').is(':visible')) {
$(".double_your_btc_link2").click();
// switch to auto bet
if (!$('#auto_bet_start_stop_button').is(':visible')) {
$('#auto_bet_on').click();
}
}
}
function startGame() {
if ($('#stop_autobet_button').is(':visible')) {
console.log('Game has started!');
return;
}
setTimeout(watchDog, 10000);
reset();
$('#start_autobet').click();
}
function stopGame() {
$('#stop_autobet_button').click();
}
function reset() {
$('#autobet_base_bet').val(baseValue);
$('#autobet_roll_count').val(rollCount);
if (!$('#autobet_lose_increase_bet').is(':checked')) {
$('#autobet_lose_increase_bet').click();
}
if (parseFloat(stopAfterLoss) != 0) {
if (!$('#stop_after_loss').is(':checked')) {
$('#stop_after_loss').click();
}
$('#stop_after_loss_value').val(stopAfterLoss);
}
if (parseInt(increaseBetPercentWhenLose) == 0) {
var dynamicPercentage = getDynamicPercentage();
console.log('dynamicPercentage: ' + dynamicPercentage);
$('#autobet_lose_increase_bet_percent').val(dynamicPercentage);
} else {
$('#autobet_lose_increase_bet_percent').val(increaseBetPercentWhenLose);
}
if (!$betOn.is(':checked')) {
$betOn.click();
}
}
function rollFinished() {
return parseInt($('#rolls_remaining_count').html()) <= 0;
}
function stopBeforeRedirect() {
var temp = $('title').text().match(/(\d+)/g);
if (temp == null) {
return;
}
var seconds = parseInt(temp[0]) * 60 + parseInt(temp[1]);
if (seconds < stopBefore) {
return true;
}
return false;
}
initGame();
startGame();