Advertisement
Guest User

CoinsCrash Script 1.50x

a guest
May 1st, 2023
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.82 KB | None | 0 0
  1. /*
  2. * VoxelLoop Gaming Bot (VLG-BB)
  3. * Developed by CurtisVL
  4. */
  5.  
  6. //Version
  7. var version = 1.73;
  8.  
  9. //----------Site----------//
  10. var coinscrash = true;
  11. // true = using coinscrash - false = using CS:GO Crash
  12.  
  13.  
  14. //----------Bet amount----------//
  15. var autoBaseBetEnabled = true;
  16. // Default: false - Enable/Disable auto base bet. Described below.
  17.  
  18. var maxLossCount = 8;
  19. // Default: 5 - Max amount of loses to account for with autoBaseBetEnabled set to true.
  20.  
  21. var percentageOfTotal = 100;
  22. // Default: 100 - Percentage of total balance to use when max loss is hit. (100 = 100%)
  23.  
  24. var baseBet = 10;
  25. // Default: 100 - Manual base bet, only used when autoBaseBetEnabled is false.
  26.  
  27. var cashOut = 1.50;
  28. // Default: 1.13 - Cash out at this amount. Some modes will have a locked cash out.
  29.  
  30. var maxBet = 99999999;
  31. // The max amount to bet - The lower this number, the slower you will earn back your loses.
  32.  
  33.  
  34. //----------Crash Average----------//
  35. //(Only used in modes 1)
  36.  
  37. var highAverage = 1.85;
  38. // Default: 1.85 - Average multiplier to use the highAverageMultiplier.
  39.  
  40. var highAverageMultiplier = 2.0;
  41. // Default: 2.0 - Multiplier to use when crash average is above highAverage.
  42.  
  43. var lowAverage = 1.70;
  44. // Default: 1.70 - Average multiplier to use the lowAverageMultiplier.
  45.  
  46. var lowAverageMultiplier = 1.02;
  47. // Default: 1.05 - Multiplier to use when crash average is below lowAverage.
  48.  
  49. var waitForBeforeRecoveryEnabled = false;
  50. // Default: false - Wait for x multiplier to hit before placing the recovery bet.
  51.  
  52. var waitForBeforeRecovery = 1.30;
  53. // Default: 1.30 - Amount to wait for before placing recovery bet.
  54.  
  55. //----------Mode 2 Settings----------//
  56. var mode2multiplyBy = 1.16;
  57. // Default: 1.16 - Amount to multiply the base by on each loss.
  58.  
  59. var mode2waitAfterWin = 8;
  60. // Default: 8 - How many rounds to wait after a win before placing again. (0 to disable)
  61.  
  62. //----------Mode 3 Settings----------//
  63. var mode3cashOut = 2.1;
  64. // Default: 2.1 - Amount to cash out in mode 3.
  65.  
  66. //----------Misc----------//
  67. var maxNegative = 99999999;
  68. // The max amount to allow the profit to drop to before the bot will stop.
  69.  
  70. var randomBreak = 0;
  71. // Default: 0 - When a round starts, the bot will generate a number between 1 and 100.
  72. // If the generated number is smaller than the randomBreak, the bot will wait a game before betting.
  73.  
  74. var clearConsole = true;
  75. // Default: true - Clear the console after 500 minutes, usefull for running the bot on systems with low RAM.
  76.  
  77. var limitedConsole = false;
  78. // Default: false - Limited console output, useful for running the bot 24/7, helps keep the browser responsive.
  79.  
  80. var reserveAmount = 10000;
  81. // Default: 10000 - Amount to reserve after profiting.
  82.  
  83. //----------Modes----------//
  84. var mode = 4;
  85.  
  86. // 1 = Default - Mode will place a bet at the base amount and base multiplier. On loss, it will raise the bet by 4x and increase the multiplier to a max of 1.33x.
  87. // *Deprecated* 2 = 9x Seeker - Mode will place the base amount and 9x multiplier. On loss, it will raise the bet by mode2multiplyBy until a 10x is reached.
  88. // *Deprecated* 3 = Martingale - Multiplies on loss.
  89. // 4 = Modified Pluscoup - The real deal.
  90.  
  91. //Do not edit below this line!
  92.  
  93. var user;
  94. var startBalance = engine.getBalance();
  95. var currentGame = -1;
  96. var currentBet;
  97. var lastBet;
  98. var gameResult;
  99. var gameInside;
  100. var random;
  101. var takingBreak = false;
  102. var firstGame = true;
  103. var lossCount = 0;
  104. var winCount = 0;
  105. var currentMultiplier;
  106. var lossBalance = 0;
  107. var firstLoss = true;
  108. var lastResult;
  109. var currency;
  110. var useCrashAverage = true;
  111. var startup = true;
  112. var d = new Date();
  113. var startTime = d.getTime();
  114. var newdate;
  115. var timeplaying;
  116. var lastCrash;
  117. var betPlaced = false;
  118. var tempBet;
  119. var tempCrash;
  120. var gameAverage = 0;
  121. var currentGame = 0;
  122. var game1;
  123. var game2;
  124. var game3;
  125. var game4;
  126. var resetLoss;
  127. var waitTime = -1;
  128. var lossStreak;
  129. var temptime = 120;
  130. var firstGrab = true;
  131. var recovering = false;
  132. var excludeAmount = 0;
  133.  
  134. if(startup == true){
  135. if(mode == 2 || mode == 3){
  136. window.alert("These modes have been removed! Please use modes 1 or 4.");
  137. engine.stop();
  138. }
  139.  
  140. printStartup();
  141. startup = false;
  142. }
  143.  
  144. if(coinscrash == true){
  145. user = engine.getUsername();
  146. currency = "bits";
  147. }
  148. else{
  149. user = engine.getSteamID();
  150. currency = "coins";
  151. }
  152.  
  153. //Game Starting
  154. engine.on('game_starting', function(info){
  155. currentGameID = info.game_id;
  156. var random = randNum(1,100);
  157.  
  158. if(game4 != null){
  159. gameAverage = (((game1 + game2) + (game3 + game4)) / 4);
  160. }
  161. else{
  162. gameAverage = 0;
  163. }
  164.  
  165. if(random < randomBreak){
  166. takingBreak = true;
  167. console.log("Taking a random break this round!");
  168. }
  169. else{
  170. takingBreak = false;
  171. }
  172.  
  173. if(gameAverage != 0 && mode == 1){
  174. console.log("Crash average: " + gameAverage + "x");
  175. }
  176.  
  177. //Mode 4 Exclude
  178. if(mode == 4 & firstGame == true){
  179. if((engine.getBalance() - (excludeAmount * 100)) >= ((reserveAmount * 2) * 100)){
  180. mode4Exclude();
  181. }
  182. }
  183.  
  184. function mode4Exclude(){
  185. if((engine.getBalance() - (excludeAmount * 100)) >= ((reserveAmount * 2) * 100)){
  186. console.log("Doubled exclude balance! Reserving balance for bust.");
  187. excludeAmount += reserveAmount;
  188. }
  189. if((engine.getBalance() - (excludeAmount * 100)) >= ((reserveAmount * 2) * 100)){
  190. mode4Exclude();
  191. }
  192. }
  193.  
  194. //Auto base bet
  195. if(autoBaseBetEnabled == true && lastResult == "WON" && mode != 4 || firstGame == true && mode != 4){
  196. var divider = 100;
  197. for (i = 0; i < maxLossCount; i++) {
  198. if(mode == 1){
  199. divider += (100 * Math.pow(4, (i + 1)));
  200. }
  201. if(mode == 2){
  202. divider += (100 * Math.pow(mode2multiplyBy, (i + 1)));
  203. }
  204. if(mode == 3 || mode == 4){
  205. divider += (100 * Math.pow(2, (i + 1)));
  206. }
  207. }
  208. baseBet = Math.min(Math.max(1, Math.floor((percentageOfTotal/100) * engine.getBalance() / divider)), maxBet * 100);
  209. }
  210.  
  211. //Mode 4 Auto base bet
  212. if(autoBaseBetEnabled == true && lastResult == "WON" && mode == 4 || firstGame == true && mode == 4){
  213. //var tempBalance = (engine.getBalance() - (excludeAmount * 100));
  214. var divider = 100;
  215. for (i = 0; i < maxLossCount; i++) {
  216. if(mode == 4){
  217. divider += (100 * Math.pow(2, (i + 1)));
  218. }
  219. }
  220. baseBet = Math.min(Math.max(1, Math.floor((percentageOfTotal/100) * (engine.getBalance() - (excludeAmount * 100)) / divider)), maxBet * 100);
  221. }
  222.  
  223. if(takingBreak == false){
  224.  
  225. //Gamemode 1 (Default)
  226. if(mode == 1){
  227.  
  228. //Shutdown on max loss
  229. if(lossCount > maxLossCount){
  230. console.log("Max loss count reached! Shutting down...");
  231. engine.stop();
  232. }
  233.  
  234. //Reset cooldown
  235. if (resetLoss == true) {
  236. if (lossCount == 0) {
  237. resetLoss = false;
  238. }
  239. else {
  240. lossCount--;
  241. console.log('Waiting a few games! Games remaining: ' + lossCount);
  242. return;
  243. }
  244. }
  245.  
  246. //First Game
  247. if(firstGame == true && betPlaced == false){
  248. currentBet = baseBet;
  249. currentMultiplier = cashOut;
  250. if(game4 == null){
  251. currentMultiplier = 1.02;
  252. }
  253. firstGame = false;
  254. placeBet();
  255. newdate = new Date();
  256. timeplaying = ((newdate.getTime() - startTime) / 1000) / 60;
  257. betPlaced = true;
  258. }
  259.  
  260. //On Lost
  261. if(lastResult == "LOST" && betPlaced == false && firstGame == false){
  262.  
  263. if(firstLoss == true){
  264. lossBalance = 0;
  265. lossStreak = 0;
  266. firstLoss = false;
  267. }
  268.  
  269. if(lastCrash >= waitForBeforeRecovery && waitForBeforeRecoveryEnabled == true){
  270. var lastLoss = currentBet;
  271. lossBalance += lastLoss;
  272. lastLoss /= 4;
  273. lossStreak++;
  274.  
  275. currentBet *= 4;
  276. currentMultiplier = 1 + (lossBalance / currentBet);
  277. console.log("Bet changed to: " + currentBet);
  278. if(game4 == null){
  279. currentMultiplier = 1.02;
  280. }
  281. placeBet();
  282. betPlaced = true;
  283. }
  284. else if (waitForBeforeRecoveryEnabled == true){
  285. console.log("Waiting for " + waitForBeforeRecovery + "x before placing recovery bet.");
  286. console.log("----------------------------");
  287. }
  288. else if (waitForBeforeRecoveryEnabled == false){
  289. var lastLoss = currentBet;
  290. lossBalance += lastLoss;
  291. lastLoss /= 4;
  292. lossStreak++;
  293.  
  294. currentBet *= 4;
  295. currentMultiplier = 1 + (lossBalance / currentBet);
  296. console.log("Bet changed to: " + currentBet);
  297. if(game4 == null){
  298. currentMultiplier = 1.02;
  299. }
  300. placeBet();
  301. betPlaced = true;
  302. }
  303. }
  304.  
  305. //On Win
  306. if(lastResult == "WON" && betPlaced == false){
  307.  
  308. currentBet = baseBet;
  309. currentMultiplier = cashOut;
  310. firstLoss = true;
  311.  
  312. if(lossCount == 0 && useCrashAverage == true && gameAverage != 0){
  313. if(gameAverage < highAverage){
  314. currentMultiplier = cashOut;
  315. }
  316. if(gameAverage >= highAverage){
  317. currentMultiplier = highAverageMultiplier;
  318. }
  319.  
  320. if(gameAverage < lowAverage){
  321. currentMultiplier = lowAverageMultiplier;
  322. }
  323. }
  324.  
  325. if(game4 == null){
  326. currentMultiplier = 1.02;
  327. }
  328.  
  329. placeBet();
  330. betPlaced = true;
  331. }
  332. }
  333.  
  334. //Gamemode 4 (Pluscoup Modified)
  335. if(mode == 4){
  336. //Shutdown on max loss
  337. if(lossCount > maxLossCount){
  338. console.log("Max loss count reached! Shutting down...");
  339. engine.stop();
  340. }
  341.  
  342. //Reset cooldown
  343. if (resetLoss == true) {
  344. if (lossCount == 0) {
  345. resetLoss = false;
  346. }
  347. else {
  348. lossCount--;
  349. console.log('Waiting a few games! Games remaining: ' + lossCount);
  350. return;
  351. }
  352. }
  353.  
  354. //First Game
  355. if(firstGame == true && betPlaced == false){
  356. currentBet = baseBet;
  357. currentMultiplier = cashOut;
  358. firstGame = false;
  359. placeBet();
  360. newdate = new Date();
  361. timeplaying = ((newdate.getTime() - startTime) / 1000) / 60;
  362. betPlaced = true;
  363. }
  364.  
  365. //On Lost
  366. if(lastResult == "LOST" && betPlaced == false){
  367. if(firstLoss == true){
  368. lossBalance = 0;
  369. firstLoss = false;
  370. recovering = true;
  371. }
  372. lossBalance += lastBet;
  373. Math.ceil(lossBalance);
  374. placeBet();
  375. betPlaced = true;
  376. console.log("Amount to recover: " + lossBalance);
  377. }
  378.  
  379. //On Win
  380. if(lastResult == "WON" && betPlaced == false){
  381. if(excludeAmount < 0){
  382. excludeAmount = 0;
  383. }
  384.  
  385. if (recovering == true && lossBalance > 0){
  386. lossBalance -= ((currentBet * cashOut) - currentBet);
  387. Math.ceil(lossBalance);
  388. console.log("Amount to recover: " + lossBalance);
  389. currentBet *= 2;
  390. if((lossBalance * 2) < currentBet && lossBalance != 0){
  391. currentBet = (lossBalance * 2);
  392. }
  393. if (lossBalance <= 0) {
  394. currentBet = baseBet;
  395. }
  396. }
  397. else if(lossBalance <= 0 && recovering == true){
  398. lossBalance = 0;
  399. console.log("Loss recovered!");
  400. firstLoss = true;
  401. currentBet = baseBet;
  402. recovering = false;
  403.  
  404. if((engine.getBalance() - (excludeAmount * 100)) >= ((reserveAmount * 2) * 100)){
  405. console.log("Doubled start balance! Reserving balance for bust.");
  406. excludeAmount += reserveAmount;
  407. }
  408. }
  409.  
  410. if(currentBet >= ((engine.getBalance() / 100) - excludeAmount)){
  411. console.log("Not enough balance to place next recovery bet!");
  412. if(excludeAmount > 0){
  413. excludeAmount -= reserveAmount;
  414. console.log("Using reserve balance...");
  415. }
  416. currentBet = baseBet;
  417. recovering = false;
  418. firstLoss = true;
  419. lossBalance = 0;
  420. placeBet();
  421. betPlaced = true;
  422. }
  423.  
  424. else{
  425. placeBet();
  426. betPlaced = true;
  427. }
  428. }
  429. }
  430. }
  431. });
  432.  
  433. engine.on('cashed_out', function(data){
  434.  
  435. });
  436.  
  437. engine.on('game_crash', function(data){
  438. betPlaced = false;
  439. gameResult = engine.lastGamePlay();
  440. gameInside = engine.lastGamePlayed();
  441. lastCrash = (data.game_crash / 100);
  442.  
  443. newdate = new Date();
  444. timeplaying = ((newdate.getTime() - startTime) / 1000) / 60;
  445.  
  446. if(takingBreak == true)
  447. {
  448. takingBreak = false;
  449. }
  450.  
  451. if(mode == 4 && gameResult == "WON"){
  452. if((engine.getBalance() - (excludeAmount * 100)) >= ((reserveAmount * 2) * 100)){
  453. console.log("Doubled exclude balance! Reserving balance for bust.");
  454. excludeAmount += reserveAmount;
  455. }
  456. }
  457.  
  458. if(gameResult == "WON" && gameInside == true){
  459. lastResult = "WON";
  460. winCount += 1;
  461. lossCount = 0;
  462. printResults();
  463. }
  464. else if(gameResult == "LOST" && gameInside == true){
  465. lastResult = "LOST";
  466. lossCount += 1;
  467. winCount = 0;
  468. printResults();
  469. }
  470.  
  471. if(clearConsole == true){
  472. if(timeplaying == temptime){
  473. temptime += 120;
  474. console.clear();
  475. }
  476. }
  477.  
  478. currentGame++;
  479. tempCrash = (data.game_crash / 100);
  480. if (tempCrash >= 2.0){
  481. tempCrash = 2.0;
  482. }
  483. if (tempCrash < 1.0){
  484. tempCrash = 1.0;
  485. }
  486. if (currentGame == 1){
  487. game1 = tempCrash;
  488. }
  489. else if(currentGame == 2){
  490. game2 = tempCrash;
  491. }
  492. else if(currentGame == 3){
  493. game3 = tempCrash;
  494. }
  495. else if(currentGame == 4){
  496. game4 = tempCrash;
  497. }
  498. else if(currentGame >= 5){
  499. currentGame = 1;
  500. game1 = tempCrash;
  501. }
  502. });
  503.  
  504. function placeBet(){
  505. if(((engine.getBalance() / 100) - currentBet) < ((startBalance / 100) - maxNegative)){
  506. console.log('Max negative reached! Stopping bot.');
  507. engine.stop();
  508. }
  509. if(currentBet > maxBet){
  510. console.log("Max bet reached!");
  511. currentBet = maxBet;
  512. }
  513. engine.placeBet(currentBet * 100, Math.round(currentMultiplier * 100), false);
  514. console.log("----------------------------");
  515. console.log("Betting " + currentBet + " " + currency + ", cash out at " + currentMultiplier + "x");
  516. lastBet = currentBet;
  517. }
  518.  
  519. function printStartup(){
  520. console.log("Bot started!");
  521. console.log(" ");
  522. console.log("VoxelLoop Bet-Bot");
  523. console.log("Version " + version);
  524. console.log("Start balance: ", (startBalance / 100));
  525. console.log(" ");
  526. }
  527.  
  528. function printResults(){
  529. if(limitedConsole == false){
  530. if(currentGameID != null){
  531. console.log("Game ID: ", currentGameID);
  532. }
  533. console.log("Crashed at: " + lastCrash + "x");
  534. if(lastResult == "LOST"){
  535. console.log("Result: %c LOST", 'background: #ffffff; color: #ff0000');
  536. }
  537. else{
  538. console.log("Result: %c WON", 'background: #ffffff; color: #339933');
  539. }
  540. console.log("Win Count: ", winCount);
  541. console.log("Loss Count: ", lossCount);
  542. console.log(" ");
  543. console.log('Session profit: ' + ((engine.getBalance() - startBalance) / 100).toFixed(2) + ' ' + currency + ' in ' + Math.round(timeplaying) + ' minutes.');
  544. console.log(" ");
  545. if(mode == 4 && excludeAmount != 0){
  546. console.log("Reserve balance: " + excludeAmount);
  547. }
  548. }
  549. else{
  550. if(currentGameID != null){
  551. console.log("Game ID: ", currentGameID);
  552. }
  553. console.log('Session profit: ' + ((engine.getBalance() - startBalance) / 100).toFixed(2) + ' ' + currency + ' in ' + Math.round(timeplaying) + ' minutes.');
  554. if(mode == 4 && excludeAmount != 0){
  555. console.log("Reserve balance: " + excludeAmount);
  556. }
  557. }
  558. }
  559.  
  560. function randNum(min,max)
  561. {
  562. return Math.floor(Math.random()*(max-min+1)+min);
  563. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement