Advertisement
datCloud

Vish

Jul 31st, 2019 (edited)
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Variable to change:
  2. var baseBetAmount = 0.00000001; // The base amount that you want to bet.
  3. var betMultiplier = 2; // the multiplier value used.
  4. var supportedLoseSequenceBetsLength = 17; // After 20 consecutive loose the script stops
  5. var patternPlayPeriodInSeconds = 100; // The period of playing a single pattern.
  6. var maxGain = 0.001; // The scripts stop when a maximum number of satoshi have benn earned.
  7. var betsPatternsLengthInDecimal = [4];
  8. var betPatternReversed = 1;
  9. var binarySequenceOpposite = 1;
  10. var satWagered = 0;
  11. var ticketsCounter = 0;
  12.  
  13. // First we load all bets sequences:
  14. var betsPatterns = [];
  15.  
  16. function reverseString(str) {
  17.     return str.split('').reverse().join('');
  18. }
  19.  
  20. function isNumberBetweenInterval(number, a, b, inclusive) {
  21.     var min = Math.min(a, b),
  22.         max = Math.max(a, b);
  23.     return inclusive ? number >= min && number <= max : number > min && number < max;
  24. }
  25.  
  26. function loadBetsPattern() {
  27.     betsPatternsLengthInDecimal.forEach(function (t) {
  28.  
  29.         // Looking for regular binary:
  30.         if (isNumberBetweenInterval(binarySequenceOpposite, 0, 1, true)) {
  31.             current = [];
  32.             for (i = 0; i < Math.pow(2, t); i++) {
  33.                 // It support only 9!
  34.                 binary = ("00000000" + i.toString(2)).slice(-1 * t);
  35.                 current.push(binary);
  36.             }
  37.             betsPatterns.push(current);
  38.             // Looking for reverse:
  39.             if (betPatternReversed === 1) {
  40.                 current = [];
  41.                 for (i = Math.pow(2, t) - 1; i >= 0; i--) {
  42.                     // It support only 9!
  43.                     binary = ("00000000" + i.toString(2)).slice(-1 * t);
  44.                     current.push(binary);
  45.                 }
  46.                 betsPatterns.push(current);
  47.             }
  48.         }
  49.  
  50.         // Looking for binary opposite:
  51.         if (isNumberBetweenInterval(binarySequenceOpposite, 1, 2, true)) {
  52.             current = [];
  53.             for (i = 0; i < Math.pow(2, t); i++) {
  54.                 // It support only 9!
  55.                 binary = ("00000000" + i.toString(2)).slice(-1 * t);
  56.                 current.push(reverseString(binary));
  57.             }
  58.             betsPatterns.push(current);
  59.             // Looking for reverse:
  60.             if (betPatternReversed === 1) {
  61.                 current = [];
  62.                 for (i = Math.pow(2, t) - 1; i >= 0; i--) {
  63.                     // It support only 9!
  64.                     binary = ("00000000" + i.toString(2)).slice(-1 * t);
  65.                     current.push(reverseString(binary));
  66.                 }
  67.                 betsPatterns.push(current);
  68.             }
  69.         }
  70.     });
  71. }
  72.  
  73. loadBetsPattern();
  74. console.log(betsPatterns);
  75.  
  76. var currentPattern = 0;
  77. var currentPatternSequenceIndex = 0;
  78. var currentInnerSequencePosition = 0;
  79. var betsCounter = 0;
  80. var currentLoseSequenceBetsCounter = 0;
  81. var maxLoseSequenceBetsCounter = 0;
  82. var maxBet = 0;
  83. var betsButtons = [$('#double_your_btc_bet_hi_button'), $('#double_your_btc_bet_lo_button')]; // We can reverse them here if needed.
  84. var bets = ["h", "l"];
  85. var currentBetIndex = parseInt(betsPatterns[currentPattern][currentPatternSequenceIndex].charAt(currentInnerSequencePosition));
  86. var $betButton = betsButtons[currentBetIndex];
  87. var gameStopped = false;
  88. var patternStartingDateTime = new Date();
  89. var startingBalance = parseFloat($('#balance').html());
  90.  
  91. function getSecondsBetweenDates(startDate, endDate) {
  92.     var diff = endDate.getTime() - startDate.getTime();
  93.     return (diff / 1000);
  94. }
  95.  
  96. function setRandomClientSeed() {
  97.     var chaine_CLIENT =
  98.         "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  99.     var generate, i;
  100.     var CLIENT_SEED = "";
  101.     var CLIENT_SEED_size = 64;
  102.     for (i = 0; i < CLIENT_SEED_size; i++) {
  103.         if (!i) {
  104.             generate = Math.floor(Math.random() * chaine_CLIENT.length + 1);
  105.         } else {
  106.             generate = Math.floor(Math.random() * chaine_CLIENT.length);
  107.         }
  108.  
  109.         CLIENT_SEED += chaine_CLIENT.charAt(generate);
  110.     }
  111.     $("#next_client_seed").val(CLIENT_SEED);
  112.     return CLIENT_SEED;
  113. }
  114.  
  115. function setMultiply() {
  116.     var current = $('#double_your_btc_stake').val();
  117.     var nbr = parseInt(current * 100000000 * betMultiplier) / 100000000;
  118.     var multiply = nbr.toFixed(8);
  119.     $('#double_your_btc_stake').val(multiply);
  120.     return multiply;
  121. }
  122.  
  123. function reset() {
  124.     satWagered += parseFloat(baseBetAmount);
  125.     $('#double_your_btc_stake').val(parseFloat(baseBetAmount).toFixed(8));
  126. }
  127.  
  128. function stop() {
  129.     console.log('Game will stop soon! Let me finish.');
  130.     gameStopped = true;
  131. }
  132.  
  133. function getCurrentBalance() {
  134.     return parseFloat($('#balance').html());
  135. }
  136.  
  137. function getProfit() {
  138.     return (getCurrentBalance() - startingBalance).toFixed(8);
  139. }
  140.  
  141. function start() {
  142.     console.log('Game started!');
  143.     // Change client seed, that have to be changed for every roll:
  144.     setRandomClientSeed();
  145.     // Return to base bet amount:
  146.     reset();
  147.     // We start betting:
  148.     $betButton.trigger('click');
  149. }
  150.  
  151. // Unbind old shit:
  152. $('#double_your_btc_bet_lose').unbind();
  153. $('#double_your_btc_bet_win').unbind();
  154.  
  155. // LOSER
  156. $('#double_your_btc_bet_lose').bind("DOMSubtreeModified", function (event) {
  157.     if ($(event.currentTarget).is(':contains("lose")')) {
  158.         // When losing, follow current sequence, when finished start the next sequence
  159.         // save the old bet in current lose sequence and general bets counters.
  160.         // Index: local variable: will save the old value for a bit, till we update them.
  161.         index = currentPatternSequenceIndex;
  162.  
  163.         currentInnerSequencePosition++;
  164.         currentPatternSequenceIndex = (currentPatternSequenceIndex + parseInt(currentInnerSequencePosition / betsPatterns[currentPattern][index].length)) % betsPatterns[currentPattern].length;
  165.         currentInnerSequencePosition = currentInnerSequencePosition % betsPatterns[currentPattern][index].length;
  166.  
  167.         currentLoseSequenceBetsCounter++;
  168.         if (currentLoseSequenceBetsCounter > maxLoseSequenceBetsCounter) {
  169.             maxLoseSequenceBetsCounter = currentLoseSequenceBetsCounter;
  170.         }
  171.  
  172.         betsCounter++;
  173.  
  174.         // Changing the loose pattern:
  175.         String.prototype.replaceAt = function (index, replacement) {
  176.             return this.substr(0, index) + replacement + this.substr(index + replacement.length);
  177.         }
  178.         var change_old = betsPatterns[currentPattern][currentPatternSequenceIndex];
  179.         var change_new = '0000';
  180.  
  181.         for (var i = 0; i < change_old.length; i++) {
  182.             if (change_old.charAt(i) == '0')
  183.                 change_new = change_new.replaceAt(i, '1');
  184.             else
  185.                 change_new = change_new.replaceAt(i, '0');
  186.         }
  187.         betsPatterns[currentPattern][currentPatternSequenceIndex] = change_new;
  188.  
  189.         // Start working on the next bet.
  190.         // Change client seed, that have to be changed for every roll:
  191.         setRandomClientSeed();
  192.        
  193.         // Multiply bet amount:
  194.         var multiply = setMultiply();
  195.  
  196.         if (multiply > maxBet) {
  197.             maxBet = multiply;
  198.         }
  199.         console.clear();
  200.         console.log('Bets: ' + betsCounter + ' || Profit: ' + getProfit() + ' || Lose sequence: ' +
  201.             currentLoseSequenceBetsCounter + ' || Current bet: ' + bets[currentBetIndex] +
  202.             ' || Max lose consecutive: ' + maxLoseSequenceBetsCounter + ' || Max satoshi bet: ' + maxBet + ' || Wagered: ' + satWagered.toFixed(8) + '|| Gained Tickets: ' + Math.floor(parseInt(satWagered.toFixed(8).toString().split('.')[1]) / 500));
  203.  
  204.         if (currentLoseSequenceBetsCounter < supportedLoseSequenceBetsLength) {
  205.             // We still can bet supporting another lose bet, so we build the next bet.
  206.             // We load next bet index from betsPattern:
  207.             currentBetIndex = parseInt(betsPatterns[currentPattern][currentPatternSequenceIndex].charAt(currentInnerSequencePosition));
  208.             // We load the next bet button:
  209.             $betButton = betsButtons[currentBetIndex];
  210.             satWagered += parseFloat(multiply);
  211.             // We play another new bet:
  212.             $betButton.trigger('click');
  213.         } else {
  214.            // We can't support another bet! so we stop the game
  215.            // Nothing to do now, and the game will be stopped. but we need to make sure, that browser didn't refresh automatically
  216.            console.log('Game stopped after losing. supported lose sequence reached.');
  217.         }
  218.     }
  219. });
  220.  
  221. // WINNER
  222. $('#double_your_btc_bet_win').bind("DOMSubtreeModified", function (event) {
  223.     if ($(event.currentTarget).is(':contains("win")')) {
  224.         // When winning, stop current sequence and start the next sequence.
  225.         // The first character in the next looped sequence:
  226.         currentPatternSequenceIndex = ++currentPatternSequenceIndex % betsPatterns[currentPattern].length;
  227.         currentInnerSequencePosition = 0;
  228.  
  229.         // Save the old winning bet:
  230.         betsCounter++;
  231.         currentLoseSequenceBetsCounter = 0;
  232.  
  233.         // Stop if gain tot. satoshi:
  234.         if (getProfit() > maxGain) {
  235.             gameStopped = true;
  236.         }
  237.         console.clear();
  238.         console.log('Bets: ' + betsCounter + ' || Profit: ' + getProfit() + ' || Lose sequence: ' +
  239.             currentLoseSequenceBetsCounter + ' || Current bet: ' + bets[currentBetIndex] +
  240.             ' || Max lose consecutive: ' + maxLoseSequenceBetsCounter + ' || Max satoshi bet: ' + maxBet + ' || Wagered: ' + satWagered.toFixed(8) + '|| Gained Tickets: ' + Math.floor(parseInt(satWagered.toFixed(8).toString().split('.')[1]) / 500));
  241.  
  242.         // When winning, we check pattern validity. We change pattern every fixed minutes only when we win!
  243.         if (getSecondsBetweenDates(patternStartingDateTime, new Date()) >= patternPlayPeriodInSeconds) {
  244.             // We update the date:
  245.             patternStartingDateTime = new Date();
  246.             // We loop the next pattern and start fresh:
  247.             currentPattern = ++currentPattern % betsPatterns.length;
  248.             currentPatternSequenceIndex = 0;
  249.             currentInnerSequencePosition = 0;
  250.             console.log('Single Pattern Play Period Reached ==> Moving to the next pattern!');
  251.         }
  252.  
  253.         if (!gameStopped) {
  254.             // Start working on the next bet.
  255.             // Hange client seed, that have to be changed for every roll:
  256.             setRandomClientSeed();
  257.             // Return to base bet amount:
  258.             reset();
  259.             // We load next bet index from betsPattern:
  260.             currentBetIndex = parseInt(betsPatterns[currentPattern][currentPatternSequenceIndex].charAt(currentInnerSequencePosition));
  261.             // We load the next bet button:
  262.             $betButton = betsButtons[currentBetIndex];
  263.             $betButton.trigger('click');
  264.         } else {
  265.             console.log('Game Stopped.');
  266.         }
  267.     }
  268. });
  269.  
  270. // Starting the script:
  271. start();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement