Advertisement
MrShadowDev

Code CoinsCrash

Jan 14th, 2024
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.17 KB | Source Code | 0 0
  1. // By MrSh4dow t.me/MrSh4dow
  2.  
  3. var baseBet = 50;
  4. var baseMultiplier = 1.03;
  5. var variableBase = false;
  6. var streakSecurity = 15;
  7. var maximumBet = 999999;
  8.  
  9. var baseSatoshi = baseBet * 100;
  10. var currentBet = baseSatoshi;
  11. var currentMultiplier = baseMultiplier;
  12. var currentGameID = -1;
  13. var firstGame = true;
  14. var lossStreak = 0;
  15. var coolingDown = false;
  16.  
  17. console.log('====== Profit ======');
  18. console.log('My username is: ' + engine.getUsername());
  19. console.log('Starting balance: ' + (engine.getBalance() / 100).toFixed(2) + ' bits');
  20. var startingBalance = engine.getBalance();
  21.  
  22. if (variableBase) {
  23. console.warn('[WARN] Variable mode is enabled and not fully tested. The bot is resilient to ' + streakSecurity + '-loss streaks.');
  24. }
  25.  
  26. engine.on('game_starting', function(info) {
  27. console.log('====== New Game ======');
  28. console.log('[Bot] Game #' + info.game_id);
  29. currentGameID = info.game_id;
  30.  
  31. if (coolingDown) {
  32. if (lossStreak === 0) {
  33. coolingDown = false;
  34. } else {
  35. lossStreak--;
  36. console.log('[Bot] Cooling down! Games remaining: ' + lossStreak);
  37. return;
  38. }
  39. }
  40.  
  41. if (!firstGame) {
  42. console.log('[Stats] Session profit: ' + ((engine.getBalance() - startingBalance) / 100).toFixed(2) + ' bits');
  43. console.log('[Stats] Profit percentage: ' + (((engine.getBalance() / startingBalance) - 1) * 100).toFixed(2) + '%');
  44. }
  45.  
  46. if (engine.lastGamePlay() === 'LOST' && !firstGame) {
  47. handleLoss();
  48. } else {
  49. lossStreak = 2;
  50. if (variableBase) {
  51. updateVariableBase();
  52. }
  53. currentBet = baseSatoshi;
  54. currentMultiplier = baseMultiplier;
  55. }
  56.  
  57. console.log('[Bot] Betting ' + (currentBet / 100) + ' bits, cashing out at ' + currentMultiplier + 'x');
  58. firstGame = false;
  59.  
  60. if (currentBet <= engine.getBalance()) {
  61. if (currentBet > (maximumBet * 100)) {
  62. console.warn('[Warn] Bet size exceeds the maximum bet, lowering bet to ' + (maximumBet * 100) + ' bits');
  63. currentBet = maximumBet;
  64. }
  65. engine.placeBet(currentBet, Math.round(currentMultiplier * 100), false);
  66. } else {
  67. handleInsufficientFunds();
  68. }
  69. });
  70.  
  71. engine.on('game_started', function(data) {
  72. if (!firstGame) {
  73. console.log('[Bot] Game #' + currentGameID + ' has started!');
  74. }
  75. });
  76.  
  77. engine.on('cashed_out', function(data) {
  78. if (data.username === engine.getUsername()) {
  79. console.log('[Bot] Successfully cashed out at ' + (data.stopped_at / 100) + 'x');
  80. }
  81. });
  82.  
  83. engine.on('game_crash', function(data) {
  84. if (!firstGame) {
  85. console.log('[Bot] Game crashed at ' + (data.game_crash / 100) + 'x');
  86. }
  87. });
  88.  
  89. function handleLoss() {
  90. lossStreak++;
  91. var totalLosses = calculateTotalLosses();
  92.  
  93. if (lossStreak > streakSecurity) {
  94. coolingDown = true;
  95. return;
  96. }
  97.  
  98. currentBet *= 5;
  99. currentMultiplier = 1.00 + (totalLosses / currentBet);
  100. }
  101.  
  102. function calculateTotalLosses() {
  103. var totalLosses = 0;
  104. var lastLoss = currentBet;
  105.  
  106. while (lastLoss >= baseSatoshi) {
  107. totalLosses += lastLoss;
  108. lastLoss /= 4;
  109. }
  110.  
  111. return totalLosses;
  112. }
  113.  
  114. function updateVariableBase() {
  115. var divider = 100;
  116.  
  117. for (var i = 0; i < streakSecurity; i++) {
  118. divider += 100 * Math.pow(4, (i + 1));
  119. }
  120.  
  121. var newBaseBet = Math.min(Math.max(1, Math.floor(engine.getBalance() / divider)), maximumBet * 100);
  122. var newBaseSatoshi = newBaseBet * 100;
  123.  
  124. if (newBaseBet !== baseBet || newBaseBet === 1) {
  125. console.log('[Bot] Variable mode has changed base bet to: ' + newBaseBet + ' bits');
  126. baseBet = newBaseBet;
  127. baseSatoshi = newBaseSatoshi;
  128. }
  129. }
  130.  
  131. function handleInsufficientFunds() {
  132. if (engine.getBalance() < 100) {
  133. console.error('[Bot] Insufficient funds to do anything... stopping');
  134. engine.stop();
  135. } else {
  136. console.warn('[Bot] Insufficient funds to bet ' + (currentBet / 100) + ' bits.');
  137. console.warn('[Bot] Resetting to 1 bit base bet');
  138. baseBet = 1;
  139. baseSatoshi = 100;
  140. }
  141. }
  142.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement