kub12

freeroll

Aug 17th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.05 KB | None | 0 0
  1. http://www.catchaBTC.com
  2. Copy the whole AI Script and paste it at Auto Bets ---> down Custom , once you paste Press Run
  3.  
  4. // Settings
  5. var baseBet = 10; // In bits
  6. var baseMultiplier = 1.1; // Target multiplier: 1.10 recommended
  7. var variableBase = false; // Enable variable mode (very experimental), read streakSecurity.
  8. var streakSecurity = 15; // Number of loss-streak you wanna be safe for. Increasing this massively reduces the variableBase calculated. (1-loss = 20%, 2-loss = 5%, 3-loss = 1.25% of your maximum balance). Recommended: 2+
  9. var maximumBet = 999999; // Maximum bet the bot will do (in bits).
  10.  
  11. // Variables - Do not touch!
  12. var baseSatoshi = baseBet * 100; // Calculated
  13. var currentBet = baseSatoshi;
  14. var currentMultiplier = baseMultiplier;
  15. var currentGameID = -1;
  16. var firstGame = true;
  17. var lossStreak = 0;
  18. var coolingDown = false;
  19.  
  20. // Initialization
  21. console.log('====== Procon\'s BustaBit Bot ======');
  22. console.log('My username is: ' + engine.getUsername());
  23. console.log('Starting balance: ' + (engine.getBalance() / 100).toFixed(2) + ' bits');
  24. var startingBalance = engine.getBalance();
  25.  
  26. if (variableBase) {
  27. console.warn('[WARN] Variable mode is enabled and not fully tested. Bot is resillient to ' + streakSecurity + '-loss streaks.');
  28. }
  29.  
  30. // On a game starting, place the bet.
  31. engine.on('game_starting', function(info) {
  32. console.log('====== New Game ======');
  33. console.log('[Bot] Game #' + info.game_id);
  34. currentGameID = info.game_id;
  35.  
  36. if (coolingDown) {
  37. if (lossStreak == 0) {
  38. coolingDown = false;
  39. }
  40. else {
  41. lossStreak--;
  42. console.log('[Bot] Cooling down! Games remaining: ' + lossStreak);
  43. return;
  44. }
  45. }
  46.  
  47. if (!firstGame) { // Display data only after first game played.
  48. console.log('[Stats] Session profit: ' + ((engine.getBalance() - startingBalance) / 100).toFixed(2) + ' bits');
  49. console.log('[Stats] Profit percentage: ' + (((engine.getBalance() / startingBalance) - 1) * 100).toFixed(2) + '%');
  50. }
  51.  
  52. if (engine.lastGamePlay() == 'LOST' && !firstGame) { // If last game loss:
  53. lossStreak++;
  54. var totalLosses = 0; // Total satoshi lost.
  55. var lastLoss = currentBet; // Store our last bet.
  56. while (lastLoss >= baseSatoshi) { // Until we get down to base bet, add the previous losses.
  57. totalLosses += lastLoss;
  58. lastLoss /= 4;
  59. }
  60.  
  61. if (lossStreak > streakSecurity) { // If we're on a loss streak, wait a few games!
  62. coolingDown = true;
  63. return;
  64. }
  65.  
  66. currentBet *= 7; // Then multiply base bet by 4!
  67. currentMultiplier = 1.00 + (totalLosses / currentBet);
  68. }
  69. else { // Otherwise if win or first game:
  70. lossStreak = 0; // If it was a win, we reset the lossStreak.
  71. if (variableBase) { // If variable bet enabled.
  72. // Variable mode resists (currently) 1 loss, by making sure you have enough to cover the base and the 4x base bet.
  73. var divider = 100;
  74. for (i = 0; i < streakSecurity; i++) {
  75. divider += (100 * Math.pow(4, (i + 1)));
  76. }
  77.  
  78. newBaseBet = Math.min(Math.max(1, Math.floor(engine.getBalance() / divider)), maximumBet * 100); // In bits
  79. newBaseSatoshi = newBaseBet * 100;
  80.  
  81. if ((newBaseBet != baseBet) || (newBaseBet == 1)) {
  82. console.log('[Bot] Variable mode has changed base bet to: ' + newBaseBet + ' bits');
  83. baseBet = newBaseBet;
  84. baseSatoshi = newBaseSatoshi;
  85. }
  86. }
  87. // Update bet.
  88. currentBet = baseSatoshi; // in Satoshi
  89. currentMultiplier = baseMultiplier;
  90. }
  91.  
  92. // Message and set first game to false to be sure.
  93. console.log('[Bot] Betting ' + (currentBet / 100) + ' bits, cashing out at ' + currentMultiplier + 'x');
  94. firstGame = false;
  95.  
  96. if (currentBet <= engine.getBalance()) { // Ensure we have enough to bet
  97. if (currentBet > (maximumBet * 100)) { // Ensure you only bet the maximum.
  98. console.warn('[Warn] Bet size exceeds maximum bet, lowering bet to ' + (maximumBet * 100) + ' bits');
  99. currentBet = maximumBet;
  100. }
  101. engine.placeBet(currentBet, Math.round(currentMultiplier * 100), false);
  102. }
  103. else { // Otherwise insufficent funds...
  104. if (engine.getBalance() < 100) {
  105. console.error('[Bot] Insufficent funds to do anything... stopping');
  106. engine.stop();
  107. }
  108. else {
  109. console.warn('[Bot] Insufficent funds to bet ' + (currentBet / 100) + ' bits.');
  110. console.warn('[Bot] Resetting to 1 bit basebet');
  111. baseBet = 1;
  112. baseSatoshi = 100;
  113. }
  114. }
  115. });
  116.  
  117. engine.on('game_started', function(data) {
  118. if (!firstGame) { console.log('[Bot] Game #' + currentGameID + ' has started!'); }
  119. });
  120.  
  121. engine.on('cashed_out', function(data) {
  122. if (data.username == engine.getUsername()) {
  123. console.log('[Bot] Successfully cashed out at ' + (data.stopped_at / 100) + 'x');
  124. }
  125. });
  126.  
  127. engine.on('game_crash', function(data) {
  128. if (!firstGame) { console.log('[Bot] Game crashed at ' + (data.game_crash / 100) + 'x'); }
  129. });
Add Comment
Please, Sign In to add comment