Guest User

BUSTABIT

a guest
Mar 15th, 2016
3,394
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.02 KB | None | 0 0
  1. What you will need: 
  2.  
  3. ● 600 bits+ on your Bustabit account 
  4. ● A script (included) 
  5. ● Calculator  
  6. ● Hope 
  7.  
  8. If you’ve played Bustabit for a while but can’t seem to churn out profit then you have 
  9. a fundamental problem. There are many causes as to why this may happen such as 
  10. betting to high, cashing out too late, or being affected by the “rape trains.” 
  11.  
  12. Our solution to this problem is to change the traditional system and turn it into 
  13. something that allows you to have continuous success. 
  14.  
  15. Our solution:  
  16.  
  17. First thing we need to do is to change the base bet. You will need to calculate 
  18. whether you have enough bits to survive through rape trains. The best formula for 
  19. this is: 
  20.  
  21. Your Bits / 96  
  22.  
  23. This will give you enough bits to bet and return a profit whilst being considerate of 
  24. rape trains happening. 
  25.  
  26.  
  27.  
  28. Second thing we need to fix is the base multiplier or as it’s commonly known, the 
  29. auto­cashout. Normally it’s set to 1.10 or 1.13. What’s the point of that? You’re 
  30. missing out on the ripeness of plum that’s being picked. The best base multiplier is 
  31. either 1.25x or 1.33x (you decide on this one!). This will allow you to continuously 
  32. make a decent profit when compared to cashing out at 1.10x. 
  33.  
  34.  
  35.  
  36. The third, yet final thing we need to change is the loss multiplier. When rape trains 
  37. happens this is essentially your life support so that you can return any losses. The 
  38. problem with the default value of the loss multiplier (4) is that if you lose five times in 
  39. a row, as an example, you lose all your bits. We need to change this value to something lower to either 3 or 2. 
  40. When the value is set to 2 it doubles the value 
  41. rather than quadrupling it, it also cashes out at 1.5x. When the value is set to 3 it 
  42. triples your loss, this may not seem like much of an improvement from quadrupling 
  43. the value but in the end it may save your bits which is what you want.This value 
  44. causes it to cash out at 1.33x on loss, also. 
  45.  
  46.  
  47.  
  48.  
  49. As you can see from my gains this method smells and looks like success without any 
  50. major losses. In the Bustabit community we call this the ‘slow, but steady’ method. It 
  51. takes advantage of the ‘slow and steady wins the race’ philosophy.  
  52.  
  53. This method benefits you the most when you invest money into it.  
  54.  
  55. This method does semi­work with less than 600 bits but it is quite risky and you have 
  56. a higher chance of losing most of your bits. 
  57.  
  58.  
  59.  
  60.  
  61. In this book we’re going to be explaining the reasoning and logic behind the original 
  62. book. 
  63.  
  64. How much to properly bet. 
  65.  
  66. In the initial book I had made a vague statement about how much to bet. This had 
  67. people getting more likely to lose their hard earned money during a rape train. I’m 
  68. going to better explain why I chose 96 and 128. 
  69.  
  70. When I had chosen those numbers I had done it so it was in binary accounting for 
  71. rape trains. Eg. 3, 9, 27, 81, 243 etc. This seems logical as it would protect you 
  72. against 5 continuous rapes. If you had the multiply on loss set to 3 then that binary 
  73. would of done well against 4 rape trains (as it was 96 divided your total). 
  74.  
  75. If you would want to set your multiply on loss you 2 you could do 2, 4, 8, 16, 32, 64, 
  76. 128, 256 etc. This protects you against 8 rapetrains and you’re spending way less 
  77. compared to the 3, but you cash out at x1.5. 
  78.  
  79. If you’re interested in a script that changes the bet as you earn more bits than I 
  80. recommend this: var baseBet = Math.round(engine.getBalance() / 100 / 256); You 
  81. need to change the last number if you want to do multiply on loss at 3.  
  82.  
  83. Note: ​Removing the 100 from the variable above will make you bet all your bits as it 
  84. is done in satoshi’s. The 100 divides satoshis so that you can bet in bits.  
  85.  
  86.  
  87.  
  88. How much to ideally multiply on loss. 
  89.  
  90. The default multiplier of Procon is set to 4. I’ve suggested 2 or 3 cashout. I 
  91. personally use cashout of 2 and I’ve never lost any money during rapetrains with 
  92. this. It has been a different story when I use 3 though. I now suggest setting cashout 
  93. at 2 instead of 3 because you’ll save money and you won’t lose it all during rape 
  94. trains. 
  95.  
  96. Advice: ​If variablebase is set to true, set it to false. That way it won’t bet 2 bits when 
  97. you set it to do higher. 
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104. // Settings
  105. var baseBet = 6; // In bits
  106. var baseMultiplier = 1.33; // Target multiplier: 1.13 recommended
  107. var variableBase = false; // Enable variable mode (very experimental), read streakSecurity.
  108. var streakSecurity = 4; // 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+
  109. var maximumBet = 999999; // Maximum bet the bot will do (in bits).
  110.  
  111. // Variables - Do not touch!
  112. var baseSatoshi = baseBet * 100; // Calculated
  113. var currentBet = baseSatoshi;
  114. var currentMultiplier = baseMultiplier;
  115. var currentGameID = -1;
  116. var firstGame = true;
  117. var lossStreak = 0;
  118. var coolingDown = false;
  119.  
  120. // Initialization
  121. console.log('====== Procon\'s BustaBit Bot ======');
  122. console.log('My username is: ' + engine.getUsername());
  123. console.log('Starting balance: ' + (engine.getBalance() / 100).toFixed(2) + ' bits');
  124. var startingBalance = engine.getBalance();
  125.  
  126. if (variableBase) {
  127. console.warn('[WARN] Variable mode is enabled and not fully tested. Bot is resillient to ' + streakSecurity + '-loss streaks.');
  128. }
  129.  
  130. // On a game starting, place the bet.
  131. engine.on('game_starting', function(info) {
  132. console.log('====== New Game ======');
  133. console.log('[Bot] Game #' + info.game_id);
  134. currentGameID = info.game_id;
  135.  
  136. if (coolingDown) {
  137. if (lossStreak == 0) {
  138. coolingDown = false;
  139. }
  140. else {
  141. lossStreak--;
  142. console.log('[Bot] Cooling down! Games remaining: ' + lossStreak);
  143. return;
  144. }
  145. }
  146.  
  147. if (!firstGame) { // Display data only after first game played.
  148. console.log('[Stats] Session profit: ' + ((engine.getBalance() - startingBalance) / 100).toFixed(2) + ' bits');
  149. console.log('[Stats] Profit percentage: ' + (((engine.getBalance() / startingBalance) - 1) * 100).toFixed(2) + '%');
  150. }
  151.  
  152. if (engine.lastGamePlay() == 'LOST' && !firstGame) { // If last game loss:
  153. lossStreak++;
  154. var totalLosses = 0; // Total satoshi lost.
  155. var lastLoss = currentBet; // Store our last bet.
  156. while (lastLoss >= baseSatoshi) { // Until we get down to base bet, add the previous losses.
  157. totalLosses += lastLoss;
  158. lastLoss /= 4;
  159. }
  160.  
  161. if (lossStreak > streakSecurity) { // If we're on a loss streak, wait a few games!
  162. coolingDown = true;
  163. return;
  164. }
  165.  
  166. currentBet *= 3; // Then multiply base bet by 4!
  167. currentMultiplier = 1 + (totalLosses / currentBet);
  168. }
  169. else { // Otherwise if win or first game:
  170. lossStreak = 0; // If it was a win, we reset the lossStreak.
  171. if (variableBase) { // If variable bet enabled.
  172. // Variable mode resists (currently) 1 loss, by making sure you have enough to cover the base and the 4x base bet.
  173. var divider = 100;
  174. for (i = 0; i < streakSecurity; i++) {
  175. divider += (100 * Math.pow(4, (i + 1)));
  176. }
  177.  
  178. newBaseBet = Math.min(Math.max(1, Math.floor(engine.getBalance() / divider)), maximumBet * 100); // In bits
  179. newBaseSatoshi = newBaseBet * 100;
  180.  
  181. if ((newBaseBet != baseBet) || (newBaseBet == 1)) {
  182. console.log('[Bot] Variable mode has changed base bet to: ' + newBaseBet + ' bits');
  183. baseBet = newBaseBet;
  184. baseSatoshi = newBaseSatoshi;
  185. }
  186. }
  187. // Update bet.
  188. currentBet = baseSatoshi; // in Satoshi
  189. currentMultiplier = baseMultiplier;
  190. }
  191.  
  192. // Message and set first game to false to be sure.
  193. console.log('[Bot] Betting ' + (currentBet / 100) + ' bits, cashing out at ' + currentMultiplier + 'x');
  194. firstGame = false;
  195.  
  196. if (currentBet <= engine.getBalance()) { // Ensure we have enough to bet
  197. if (currentBet > (maximumBet * 100)) { // Ensure you only bet the maximum.
  198. console.warn('[Warn] Bet size exceeds maximum bet, lowering bet to ' + (maximumBet * 100) + ' bits');
  199. currentBet = maximumBet;
  200. }
  201. engine.placeBet(currentBet, Math.round(currentMultiplier * 100), false);
  202. }
  203. else { // Otherwise insufficent funds...
  204. if (engine.getBalance() < 100) {
  205. console.error('[Bot] Insufficent funds to do anything... stopping');
  206. engine.stop();
  207. }
  208. else {
  209. console.warn('[Bot] Insufficent funds to bet ' + (currentBet / 100) + ' bits.');
  210. console.warn('[Bot] Resetting to 1 bit basebet');
  211. baseBet = 1;
  212. baseSatoshi = 100;
  213. }
  214. }
  215. });
  216.  
  217. engine.on('game_started', function(data) {
  218. if (!firstGame) { console.log('[Bot] Game #' + currentGameID + ' has started!'); }
  219. });
  220.  
  221. engine.on('cashed_out', function(data) {
  222. if (data.username == engine.getUsername()) {
  223. console.log('[Bot] Successfully cashed out at ' + (data.stopped_at / 100) + 'x');
  224. }
  225. });
  226.  
  227. engine.on('game_crash', function(data) {
  228. if (!firstGame) { console.log('[Bot] Game crashed at ' + (data.game_crash / 100) + 'x'); }
  229. });
Advertisement
Add Comment
Please, Sign In to add comment