BustaBot v3


SUBMITTED BY: takake

DATE: June 16, 2016, 7:11 a.m.

FORMAT: Text only

SIZE: 11.0 kB

HITS: 796

  1. //[WARNING] Use this script at your own risk, nobody is responsible if you lose money on bustabit when you use this bot.
  2. //Settings
  3. var GameMode = 4; //Default: 5 1 = Martingale, 2 = Paroli, 3 = D’Alembert, 4 = Pluscoup, 5 = Recovery
  4. var MaxProfitMode = true; //Default: true If this setting is true, you will always bet ("PercentOfTotal" * your balance), if this setting is false you will just bet your BaseBet.
  5. var PercentOfTotal = 0.1; //Default: 0.1 If MaxProfitMode is true, your BaseBet will always be ("PercentOfTotal" * your balance). Default 0.1% of your total balance.
  6. var BaseBet = 10; //Default: 100 This is the value of your first bet (in bits) when MaxProfitMode is set to false.
  7. var Multiplier = 1.25; //Default: 1.05 This is the multiplier where the bot will stop (not on GameMode 2 and 3).
  8. var dalembert = 1; //Default: 1 When you play D'alembert you will raise your bet after a loss or lower your bet after a win with this amount.
  9. var MaxBet = 1000000; //Default: 1000000 The bot will never bet more than this amount (in bits).
  10. var MaxProfit = 20000; //Default: 100000 The bot will stop when your total balance is higher that this value (in bits).
  11. var MaxLoss = 30000; //Default: 25000 You will never lose more than this amount (in bits). If a bet would exceed this amount, the bot stops automatically.
  12. var RandomBreak = 0; //Default: 0 Before the bot places a bet it generates a random number between 0 and 100, if that number is lower than "RandomBreak" the bot will take a break for 1 game. (This will not happen on a loss streak )
  13. // Don't change anything below this if you don't know what you are doing!
  14. var Username = engine.getUsername();
  15. var StartBalance = engine.getBalance();
  16. var CurrentGameID = -1;
  17. var FirstGame = true;
  18. var CurrentBet = BaseBet;
  19. var CurrentMultiplier = Multiplier;
  20. var d = new Date();
  21. var StartTime = d.getTime();
  22. var LastResult = "WON";
  23. var Break = false;
  24. // Check previous bet
  25. var LastBet = 0;
  26. var LastProfit = 0;
  27. var NewProfit = 0;
  28. // Paroli variable's
  29. var ParoliRound = 1;
  30. var ParoliGame = 1;
  31. var StartBet = BaseBet;
  32. // Pluscoup variable's
  33. var Unit = 1;
  34. var SessionProfit = 0;
  35. var MaxSessionProfit = Multiplier - 1;
  36. // Recovery variable's
  37. var SessionLost = 0;
  38. // Paroli Confirm dialog to set Multiplier to X2.0.
  39. if(GameMode == 2){
  40. if (confirm("[BustaBot] Paroli is currently only available with the multiplier set to X2.0") == true) {
  41. // Do nothing and continue with the script.
  42. console.log('[BustaBot] Multiplier set to X2.0');
  43. } else {
  44. // Canceled Paroli mode, bot stopped.
  45. console.log('[BustaBot] Canceled paroli mode on multiplier X2.0');
  46. engine.stop();
  47. }
  48. }
  49. // D'alambert Confirm dialog to set Multiplier to X2.0.
  50. if(GameMode == 3){
  51. if (confirm("[BustaBot] D'alambert is currently only available with the multiplier set to X2.0") == true) {
  52. // Do nothing and continue with the script.
  53. console.log('[BustaBot] Multiplier set to X2.0');
  54. } else {
  55. // Canceled Paroli mode, bot stopped.
  56. console.log('[BustaBot] Canceled D alambert mode on multiplier X2.0');
  57. engine.stop();
  58. }
  59. }
  60. // Welcome message
  61. console.log('[BustaBot] Welcome ' + Username);
  62. console.log('[BustaBot] Your start ballance is: ' + (StartBalance / 100).toFixed(2) + ' bits');
  63. //check if the multiplier is 1 or higher.
  64. if(Multiplier < 1){
  65. console.log('[BustaBot] Your multiplier must be 1.0 or higher.');
  66. engine.stop();
  67. }
  68. if(GameMode < 1 || GameMode > 5){
  69. console.log('[BustaBot] Select a game mode between 1 and 5.');
  70. engine.stop();
  71. }
  72. // Start of a game.
  73. engine.on('game_starting', function(info) {
  74. CurrentGameID = info.game_id;
  75. console.log('---------------------');
  76. console.log('[BustaBot] Game #' + CurrentGameID + ' started.');
  77. var random = randomNumber(1,100);
  78. if(random < RandomBreak){
  79. console.log("Taking a break this round.");
  80. Break = true;
  81. }
  82. if(Break == false){
  83. if(MaxProfitMode == true){
  84. BaseBet = Math.round((PercentOfTotal / 100) * (engine.getBalance() / 100).toFixed(2));
  85. }
  86. if (LastResult == 'LOST' && !FirstGame) { // Check if you lost the last game
  87. if(GameMode == 1){// Martingale
  88. NewProfit = LastBet + LastProfit;
  89. CurrentBet = Math.round((NewProfit / LastProfit) * LastBet);
  90. CurrentMultiplier = Multiplier;
  91. }
  92. if(GameMode == 2){// Paroli
  93. CurrentMultiplier = 2;
  94. CurrentBet = StartBet;
  95. console.log('[BustaBot] Paroli Round: ' + ParoliRound + ' Game: ' + ParoliGame);
  96. ParoliGame++;
  97. }
  98. if(GameMode == 3){// D’Alembert
  99. CurrentMultiplier = 2;
  100. CurrentBet = LastBet + dalembert;
  101. }
  102. if(GameMode == 4){// Pluscoup
  103. SessionProfit = SessionProfit - Unit;
  104. CurrentBet = LastBet;
  105. CurrentMultiplier = Multiplier;
  106. }
  107. if(GameMode == 5){// Recovery
  108. SessionLost = SessionLost + CurrentBet;
  109. CurrentBet = LastBet * 2;
  110. CurrentMultiplier = (SessionLost + CurrentBet) / CurrentBet;
  111. }
  112. }
  113. else { // If won last game or first game
  114. if(GameMode == 1){// Martingale
  115. CurrentBet = BaseBet;
  116. CurrentMultiplier = Multiplier;
  117. }
  118. if(GameMode == 2){// Paroli
  119. CurrentMultiplier = 2;
  120. if(ParoliGame == 1){
  121. StartBet = BaseBet;
  122. CurrentBet = StartBet;
  123. }
  124. if(ParoliGame == 2){
  125. CurrentBet = LastBet * 2;
  126. }
  127. if(ParoliGame == 3){
  128. CurrentBet = LastBet * 2;
  129. }
  130. console.log('[BustaBot] Paroli Round: ' + ParoliRound + ' Game: ' + ParoliGame);
  131. ParoliGame++;
  132. }
  133. if(GameMode == 3){// D'alambert
  134. CurrentMultiplier = 2;
  135. if(!FirstGame)
  136. {
  137. CurrentBet = LastBet - dalembert;
  138. }
  139. }
  140. if(GameMode == 4){// Pluscoup
  141. CurrentMultiplier = Multiplier;
  142. if(SessionProfit >= MaxSessionProfit)
  143. {
  144. StartBet = BaseBet;
  145. SessionProfit = 0;
  146. Unit = 1;
  147. }
  148. else
  149. {
  150. Unit ++;
  151. while((((Unit * Multiplier) - Unit) + SessionProfit) > MaxSessionProfit){
  152. Unit = Unit - 1;
  153. }
  154. }
  155. if(FirstGame){ Unit = 1; StartBet = BaseBet;}
  156. if(Unit < 1){
  157. Unit = 1;
  158. StartBet = BaseBet;
  159. }
  160. CurrentBet = Unit * StartBet;
  161. }
  162. if(GameMode == 5){// Recovery
  163. SessionLost = 0;
  164. CurrentBet = BaseBet;
  165. CurrentMultiplier = Multiplier;
  166. }
  167. }
  168. //check if current bet is 0 or negative
  169. if(CurrentBet < 1){
  170. CurrentBet = 1;
  171. }
  172. //Check if a Paroli round is finished and start new round for the next bet.
  173. if(ParoliGame == 4){
  174. ParoliGame = 1;
  175. ParoliRound++;
  176. }
  177. // First game is set to false.
  178. FirstGame = false;
  179. // Changing last result
  180. LastResult = "LOST";
  181. if(((engine.getBalance() / 100) - CurrentBet) < ((StartBalance / 100) - MaxLoss)){
  182. console.log('[BustaBot] This bet would Exceed Your maximum loss, the bot will stop now... ');
  183. engine.stop();
  184. }else{
  185. if (CurrentBet <= engine.getBalance()) { // Check if the balance is high enough to place the bet.
  186. if (CurrentBet > (MaxBet)) { // Check if the bet is higher than the given maximum bet by the user.
  187. console.warn('[BustaBot] Current bet exceeds your maximum bet. Your bet is changed to: ' + (MaxBet) + ' bits');
  188. CurrentBet = MaxBet;
  189. }
  190. console.log('[BustaBot] Betting ' + (CurrentBet) + ' bits, cashing out at ' + CurrentMultiplier + 'x');
  191. engine.placeBet(CurrentBet * 100, Math.round(CurrentMultiplier * 100), false);
  192. LastBet = CurrentBet;
  193. LastProfit = (CurrentBet * CurrentMultiplier) - CurrentBet;
  194. }
  195. else { // Not enough balance to place the bet.
  196. if (engine.getBalance() < 100) { // Stop the bot if balance is less then 100 bits.
  197. console.error('[BustaBot] Your account balance is to low to place a bet.... BustaBot will close now.');
  198. engine.stop();
  199. }
  200. else { // Changes basebet to 1 if balance is to low to make the current bet.
  201. console.warn('[BustaBot] Your balance is to low to bet: ' + (CurrentBet / 100) + ' bits.');
  202. BaseBet = 1;
  203. }
  204. }
  205. }
  206. }
  207. });
  208. engine.on('cashed_out', function(data) {
  209. if (data.username == engine.getUsername()) {
  210. console.log('[BustaBot] Successfully cashed out at ' + (data.stopped_at / 100) + 'x');
  211. SessionProfit = SessionProfit + (Unit * MaxSessionProfit);
  212. if(((engine.getBalance() - StartBalance) / 100).toFixed(2) > MaxProfit){
  213. console.log('[BustaBot] Maximum profit reached, bot is shutting down...');
  214. console.log('[BustaBot] You have made '+((engine.getBalance() - StartBalance) / 100).toFixed(2)+' profit this session.');
  215. engine.stop();
  216. }
  217. LastResult = "WON";
  218. }
  219. });
  220. engine.on('game_crash', function(data) {
  221. var newdate = new Date();
  222. var timeplaying = ((newdate.getTime() - StartTime) / 1000) / 60;
  223. if(Break == false){
  224. console.log('[BustaBot] Game crashed at ' + (data.game_crash / 100) + 'x');
  225. console.log('[BustaBot] Session profit: ' + ((engine.getBalance() - StartBalance) / 100).toFixed(2) + ' bits in ' + Math.round(timeplaying) + ' minutes.');
  226. } else{
  227. Break = false;
  228. }
  229. });
  230. function randomNumber(min,max)
  231. {
  232. return Math.floor(Math.random()*(max-min+1)+min);
  233. }

comments powered by Disqus