nixbot

Adds a martingale bot to just-dice.com

  1. // ==UserScript==
  2. // @name nixbot
  3. // @namespace nixbot
  4. // @include https://just-dice.com/*
  5. // @description Adds a martingale bot to just-dice.com
  6. // @version 1
  7. // @grant none
  8. // ==/UserScript==
  9. //Copyright (C) 2013 CriticalNix
  10. //
  11. //This program is free software; you can redistribute it and/or
  12. //modify it under the terms of the GNU General Public License
  13. //version 2.
  14. //
  15. //This program is distributed in the hope that it will be useful,
  16. //but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. //GNU General Public License for more details.
  19. //
  20. //A full copy of the GNU General Public License, version 2 can be found here. http://www.gnu.org/licenses/gpl-2.0.html
  21. //-------------------------------------------------------------------
  22. var winning = 2; // 1 = winning 0 = losing
  23. var round_length = 0; // holds the amount of times we can multiply.
  24. var running = 0; //running 1 is working.
  25. var run_round = 0;
  26. var betting = 0; //1 = making bet.
  27. var start_balance = 0;
  28. var balance = 0;
  29. var start_values_check = 0;
  30. var betid = 0;
  31. var last_betid = 0;
  32. var last_betid2 = 0;
  33. var version_c = "3.0.5";
  34. var heartbeat_bpm = 100; //this is the bots ticker if for some reason the site temp bans for spam betting lower this to 125
  35. var bet_data = [];
  36. var arr_bets = [];
  37. var ev_data = [];
  38. var current_time = 1;
  39. var start_time = 0;
  40. var start_bet = 0;
  41. var current_bet = 0;
  42. var won = 0;
  43. var lost = 0;
  44. var win1 = 0;
  45. var lose1 = 0;
  46. var steps = 0;
  47. var reset_steps = 0;
  48. var max_win = 0;
  49. var max_loss = 0;
  50. var marti_limit = 0;
  51. var betid_check = 0;
  52. var reset_bet = 0;
  53. var start_bal = 0;
  54. var first_run = 0;
  55. var current_profit = 0;
  56. var hi_lo;
  57. var randomizer_count = 0;
  58. var randomizing = 0;
  59. var cpr;
  60. var site = 2;
  61. var ddt = "Doge-Dice.com";
  62. var jdt = "Just-Dice.com";
  63. var delay_bet = 1000;
  64. var reset_check = 0;
  65. var win_ratio = 0;
  66. var profit_lock_a = 0;
  67. var flot = "https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.js";
  68.  
  69.  
  70. var dep = [];
  71.  
  72. //window.location.reload(true);
  73. //-------------------------------------- Heart and possibly soul of the bot. Everything is called from here.
  74. function heart_beat() {
  75.  
  76. gui();
  77. footer();
  78. cpr = !cpr;
  79. includeJS(flot);
  80.  
  81. console.log(' Started ' + gets_date() + ' Heartbeat:' + heartbeat_bpm + '\n' + '\n');
  82.  
  83. setInterval(function() {
  84. if (cpr) {
  85. value_grip();
  86. results();
  87. stats_update();
  88. total_check();
  89. Martingale();
  90. }
  91. }, heartbeat_bpm);
  92. }
  93.  
  94. function includeJS(jsFile) {
  95. $('head').append($('<script>').attr('type', 'text/javascript').attr('src', jsFile));
  96. }
  97.  
  98. //-------------------------------------- determine if we are on just-dice or doge-dice
  99. function which_site() {
  100.  
  101. var dd = $('div.header').text();
  102.  
  103.  
  104. if (dd == ddt) {
  105. site = 1;
  106.  
  107. } else {
  108. site = 0;
  109. }
  110. console.log('we are on the ' + site + "-dice site" + "\n");
  111. }
  112.  
  113. //-------------------------------------- increments max loss and max win display
  114. function max_loss_streak() { // longest loss streak
  115. $("#maxLossInput").css("color", "red");
  116. if (lose1 > max_loss) {
  117. max_loss++;
  118. $("#maxLossInput").val(max_loss);
  119. } else {
  120. // nothing here move along XD
  121. }
  122. }
  123.  
  124. function max_win_streak() { //longest win streak
  125. $("#maxWinInput").css("color", "green");
  126. if (win1 > max_win) {
  127. max_win++;
  128. $("#maxWinInput").val(max_win);
  129. } else {
  130. // nothing here move along XD
  131. }
  132. }
  133.  
  134. function stop_bank() {
  135. if ($('#profit_stop_check').prop('checked')) {
  136. var bal_checked = parseFloat($("#pct_balance").val());
  137. var stop_bank = parseFloat($("#stop_bank").val());
  138. if (bal_checked >= stop_bank) {
  139. running = 0;
  140.  
  141. }
  142. }
  143. }
  144.  
  145. function profit_lock() {
  146. if ($('#profit_lock').prop('checked')) {
  147. var bal_checked = parseFloat($("#pct_balance").val()); //profit_lock_val
  148. var profit_lock_val = parseFloat($("#profit_lock_val").val());
  149. var checky_bal = bal_checked - profit_lock_val;
  150.  
  151. if (current_profit >= profit_lock_val && profit_lock_a == 0) {
  152. profit_lock_a = 1;
  153. console.log('profit lock active');
  154. }
  155.  
  156. if (checky_bal <= 0 && profit_lock_a == 1) {
  157. running = 0;
  158. console.log('reached bottom');
  159. }
  160. }
  161. }
  162.  
  163. //-------------------------------------- Randomizer function.
  164. function randomizer() {
  165. if ($('#randomizer_check').prop('checked') && randomizer_count >= 12) {
  166. randomizer_count = 0;
  167. randomizing = 1;
  168. $("button#a_random").click();
  169. running = 0;
  170. setTimeout(function() {
  171. $("button.seed_button").click();
  172. running = 1;
  173. randomizing = 0;
  174. }, 1000);
  175. }
  176. }
  177.  
  178. //-------------------------------------- Unused for now but will be used in future updates.
  179. function randomString(length) {
  180. var chars = "0123456789";
  181. var string_length = length;
  182. var randomstring = '';
  183. for (var i = 0; i < string_length; i++) {
  184. var rnum = Math.floor(Math.random() * chars.length);
  185. randomstring += chars.substring(rnum, rnum + 1);
  186. }
  187. return randomstring;
  188. }
  189.  
  190. //--------------------------------------- Local storage functions
  191. function clearItem(key, value) {
  192. //console.log("Removing [" + key + ":" + value + "]");
  193. window.localStorage.removeItem(key);
  194. }
  195.  
  196. function setItem(key, value) {
  197. //console.log("Storing [" + key + ":" + value + "]");
  198. window.localStorage.removeItem(key);
  199. window.localStorage.setItem(key, value);
  200. //console.log("Return from setItem" + key + ":" + value);
  201. }
  202.  
  203. function getItem(key) {
  204. var value;
  205. //console.log('Retrieving key [' + key + ']');
  206. value = window.localStorage.getItem(key);
  207. //console.log("Returning value: " + value);
  208. return value;
  209. }
  210.  
  211. //--------------------------------------- store and load functions
  212. function loads() {
  213. var l1 = getItem('limiter');
  214. var m1 = getItem('multiplier');
  215. var r1 = getItem('reset_step');
  216. var r2 = getItem('reset_value');
  217. var s1 = getItem('stop_bank');
  218.  
  219. $('#limiter').val(l1);
  220. $('#multiplier').val(m1);
  221. $('#reset_step').val(r1);
  222. $('#reset_value').val(r2);
  223. $('#stop_bank').val(s1);
  224.  
  225. }
  226.  
  227. function saves() {
  228.  
  229. var limiters = parseFloat($("#limiter").val());
  230. var multipliers = parseFloat($("#multiplier").val());
  231. var reset_steps = parseFloat($("#reset_step").val());
  232. var reset_values = parseFloat($("#reset_value").val());
  233. var stop_banks = parseFloat($("#stop_bank").val());
  234. setItem('limiter', limiters);
  235. setItem('multiplier', multipliers);
  236. setItem('reset_step', reset_steps);
  237. setItem('reset_value', reset_values);
  238. setItem('stop_bank', stop_banks);
  239.  
  240. }
  241.  
  242.  
  243. //--------------------------------------- Used to reset stats
  244. function reset_stats() {
  245.  
  246. //setTimeout(function(){ $("#a_hi").trigger('click') },delay_bet);
  247. reset_check = 1;
  248. start_balance = parseFloat($("#pct_balance").val());
  249. won = 0;
  250. win1 = 0;
  251. lose1 = 0;
  252. steps = 0;
  253. run_round = 0;
  254. lost = 0;
  255. max_win = 0;
  256. $("#maxWinInput").val(max_win);
  257. max_loss = 0;
  258. $("#maxLossInput").val(max_loss);
  259. cBust3 = 0;
  260. stats_update();
  261. reset_check = 0;
  262. var bet_data = [];
  263. var arr_bets = [];
  264. var ev_data = [];
  265. update_graphs();
  266. }
  267.  
  268.  
  269.  
  270. //-------------------------------------- gathers results and increments counters
  271. function results() {
  272. var results2 = $("div#me .results")[0];
  273. var result = $(results2).children()[0];
  274. var betid = $($(result).children(".betid")).text();
  275. balance = parseFloat($("#pct_balance").val());
  276.  
  277. if (betid != last_betid) {
  278. last_betid = betid;
  279.  
  280. max_loss_streak();
  281. max_win_streak();
  282. stop_bank();
  283. profit_lock();
  284.  
  285. var win = ($($(result).children(".profit")).text()[0] == "+");
  286. //console.log('win:' + win + '\n');
  287. if (win) {
  288. won++;
  289. win1++;
  290. depth(lose1);
  291. lose1 = 0;
  292. steps = 0;
  293. reset_steps = 0;
  294. winning = 1;
  295. run_round++;
  296. betting = 0;
  297. if ($('#stopwin_check').prop('checked')) { // checks to see if stop on win is checked
  298. running = 0;
  299. }
  300. update_graphs();
  301. play_sound1();
  302. popArray();
  303. randomizer_count++;
  304.  
  305. } else {
  306. win1 = 0;
  307. lose1++;
  308. steps++;
  309. reset_steps++;
  310. lost++;
  311. winning = 0;
  312. run_round++;
  313. hi_lo = !hi_lo;
  314. betting = 0;
  315. update_graphs();
  316. play_sound2();
  317. popArray();
  318. randomizer_count++;
  319. if (first_run === 0) {
  320. lose1--;
  321. steps--;
  322. run_round--;
  323. lost--;
  324. first_run = 1;
  325. }
  326.  
  327. }
  328.  
  329. }
  330.  
  331. }
  332.  
  333. //-------------------------------------- Invest function
  334. function invest(value) {
  335.  
  336. var invest_send = $('<button id="invest_all" style="width:80px;margin-right:10px;border:1px solid" onClick=\'javascript:socket.emit("invest_box", csrf); socket.emit("invest", csrf, "all", ' + value + ');\'></button>');
  337.  
  338. $($footer).append(invest_send);
  339. $("#invest_all").trigger('click');
  340. invest_send.remove();
  341.  
  342. console.log('invested:' + value + '\n');
  343.  
  344. }
  345.  
  346. //-------------------------------------- probability and stat's update
  347. function stats_update() {
  348. //probability
  349. var ccbust1 = parseFloat($("#pct_chance").val());
  350. var ccbust2 = parseFloat($("#limiter").val());
  351. var cBust3 = 0;
  352. var results = $("div#me .results")[0];
  353. var result = $(results).children()[0];
  354. var betid = $($(result).children(".betid")).text();
  355. balance = parseFloat($("#pct_balance").val());
  356.  
  357.  
  358. cBust1 = 1 - ccbust1 / 100;
  359. cBust2 = Math.pow(cBust1, ccbust2) * 100;
  360.  
  361. if (cBust3 != cBust2) {
  362. cBust3 = cBust2;
  363.  
  364. scientific(cBust2);
  365.  
  366. $("#probability").val(cBust2.toFixed(10));
  367. }
  368.  
  369. $("#ebank").val(balance);
  370.  
  371. //betsInput ---total bets
  372. $("#betsInput").val(run_round);
  373.  
  374. //current loss length
  375. $("#c_loss").val(lose1);
  376.  
  377. //profitInput ---profit -- start_bal
  378.  
  379.  
  380. if (betid != last_betid2 || reset_check == 1) {
  381. last_betid2 = betid;
  382. current_profit = balance - start_balance;
  383. $("#profitInput").val(current_profit.toFixed(8));
  384. }
  385.  
  386. win_ratio = ((won / run_round) * 100);
  387. if (isNaN(win_ratio)) {
  388. win_ratio = 0;
  389. }
  390. if (win_ratio !== 0) {
  391. win_ratio = win_ratio - ccbust1;
  392. }
  393.  
  394. $("#percentWonInput").val(win_ratio.toFixed(8));
  395.  
  396. if ($("#reconnect").is(':visible')) { //Thanks 'eltopo' prevents user timeout.
  397. $("#reconnect").click();
  398. }
  399. }
  400.  
  401. //-------------------------------------- Populates bet array with information then offers to save on bust
  402. function save_to_file() {
  403. window.webkitRequestFileSystem(window.TEMPORARY, 1024 * 1024, function(fs) {
  404. fs.root.getFile('open-with-notepad.bin', {
  405. create: true
  406. }, function(fileEntry) {
  407. fileEntry.createWriter(function(fileWriter) {
  408.  
  409. var blob = new Blob([arr_bets]);
  410.  
  411. fileWriter.addEventListener("writeend", function() {
  412. // navigate to file, will download
  413. location.href = fileEntry.toURL();
  414. }, false);
  415.  
  416. fileWriter.write(blob);
  417. }, function() {});
  418. }, function() {});
  419. }, function() {});
  420. }
  421.  
  422.  
  423. function popArray() { //populate bet array
  424.  
  425. if ($('#bet_logging').prop('checked')) {
  426. var results = $("div#me .results")[0];
  427. var result = $(results).children()[0];
  428. var betid = $($(result).children(".betid")).text();
  429. var c_balance = parseFloat($("#pct_balance").val());
  430. var c_chance = parseFloat($("#pct_chance").val());
  431. var arr_bet = parseFloat($("#pct_bet").val());
  432.  
  433. arr_bets.push('\n');
  434. arr_bets.push(gets_date() + ' ');
  435. arr_bets.push('Bet number:' + run_round + ' ');
  436. arr_bets.push('betid:' + betid + ' ');
  437. arr_bet1 = scientific(arr_bet);
  438. arr_bet2 = parseFloat(arr_bet1).toFixed(8);
  439. arr_bets.push('bet amount:' + arr_bet2 + ' ');
  440. arr_bets.push('Balance:' + c_balance + ' ');
  441. arr_profit = scientific(current_profit);
  442. arr_profit2 = parseFloat(arr_profit).toFixed(8);
  443. arr_bets.push('profit:' + arr_profit2 + ' ');
  444. arr_bets.push('chance:' + c_chance + ' |');
  445. }
  446.  
  447. }
  448.  
  449. //-------------------------------------- Show version in footer
  450. function footer() {
  451. $footer = $('<div style="position:fixed;bottom:0px;background-color:White;">v' + version_c + '</div>');
  452. $("body").append($footer);
  453. }
  454.  
  455. //-------------------------------------- Grabs single instance values
  456. function value_grip() {
  457. if (start_values_check === 0) {
  458. start_balance = parseFloat($("#pct_balance").val());
  459. if (isNaN(start_balance)) {
  460. console.log('start_balance ...Loading' + '\n');
  461. } else if (start_balance > 0.00000001) {
  462. start_values_check = 1;
  463. console.log('start balance found: ' + start_balance + '\n');
  464. }
  465. }
  466.  
  467. }
  468.  
  469. //-------------------------------------- Martingale Function
  470. function Martingale() {
  471. // pass bet value here bet_click(bet_value)
  472. if (running == 1) {
  473. if (winning === 1 && betting === 0) {
  474.  
  475. randomizer();
  476. bet_click(reset_bet);
  477.  
  478. } else if (winning === 0 && betting === 0) {
  479.  
  480. var new_bet = parseFloat($("#pct_bet").val() * $multiplierInput.val());
  481.  
  482. randomizer();
  483. bet_click(new_bet);
  484.  
  485. } else {
  486.  
  487. //console.log('martingale else');
  488. }
  489. }
  490. }
  491.  
  492. //-------------------------------------- bets from a value passed to it if it has not reached step limiter. Also switch on loss and random hi lo
  493. function bet_click(bet_value) {
  494. var rndhilo = Math.random() < 0.5 ? 1 : 0;
  495. var marti_limit = parseFloat($("#limiter").val());
  496. var marti_reset_value = parseFloat($("#reset_value").val()); //value to reset to
  497. var marti_reset_step = parseFloat($("#reset_step").val()); //step number to reset to
  498. var balance_check_1 = parseFloat($("#pct_balance").val());
  499. var x = $("#step_option").val()
  500.  
  501. delay_bet = parseFloat($("#bot_delay_length").val());
  502.  
  503. if (reset_steps == (marti_reset_step - 1) && steps < marti_limit && betting === 0 && running == 1 && $('#resetL_check').prop('checked')) {
  504.  
  505. reset_steps = 0;
  506.  
  507. if ($('#switch_loss_check').prop('checked') && betting === 0 && running == 1) {
  508. if (hi_lo) {
  509. betting = 1;
  510. var bet = bet_value * marti_reset_value;
  511. bet = scientific(bet);
  512. $("#pct_bet").val(bet);
  513.  
  514. setTimeout(function() {
  515. if (bet > balance_check_1) {
  516. bust();
  517. } else {
  518. $("#a_hi").trigger('click');
  519. }
  520. }, delay_bet);
  521.  
  522. } else {
  523. betting = 1;
  524. var bet = bet_value * marti_reset_value;
  525. bet = scientific(bet);
  526. $("#pct_bet").val(bet);
  527.  
  528. setTimeout(function() {
  529. if (bet > balance_check_1) {
  530. bust();
  531. } else {
  532. $("#a_lo").trigger('click');
  533. }
  534. }, delay_bet);
  535. }
  536. } else if ($('#rstep_opts').prop('checked') && steps < marti_limit && betting === 0 && running == 1) { //rstep_opts
  537. if (hi_lo) {
  538. betting = 1;
  539.  
  540. var step_option_num = parseFloat($("#option_loss").val());
  541.  
  542. if ($('#step_option option:selected').val() == 1) {
  543.  
  544. var bet = (bet_value * marti_reset_value) + step_option_num;
  545. bet = scientific(bet);
  546. console.log('new bet: ' + bet + ' added: ' + step_option_num);
  547. $("#pct_bet").val(bet);
  548.  
  549. } else if ($('#step_option option:selected').val() == 2) {
  550.  
  551. var bet = (bet_value * marti_reset_value) - step_option_num;
  552. bet = scientific(bet);
  553. if (bet < 0) {
  554. console.log('Preventing negative number:: bet set to minimum');
  555. bet = 0.00000001;
  556. }
  557. console.log('new bet: ' + bet + ' minus: ' + step_option_num);
  558. $("#pct_bet").val(bet);
  559.  
  560. }
  561. setTimeout(function() {
  562. if (bet > balance_check_1) {
  563. bust();
  564. } else {
  565. $("#a_hi").trigger('click');
  566. }
  567. }, delay_bet);
  568.  
  569. } else {
  570. betting = 1;
  571. var step_option_num = parseFloat($("#option_loss").val());
  572.  
  573. if ($('#step_option option:selected').val() == 1) {
  574.  
  575. var bet = (bet_value * marti_reset_value) + step_option_num;
  576. bet = scientific(bet);
  577. console.log('new bet: ' + bet + ' added: ' + step_option_num);
  578. $("#pct_bet").val(bet);
  579.  
  580. } else if ($('#step_option option:selected').val() == 2) {
  581.  
  582. var bet = (bet_value * marti_reset_value) - step_option_num;
  583. bet = scientific(bet);
  584. if (bet < 0) {
  585. console.log('Preventing negative number:: bet set to minimum');
  586. bet = 0.00000001;
  587. }
  588. console.log('new bet: ' + bet + ' minus: ' + step_option_num);
  589. $("#pct_bet").val(bet);
  590.  
  591. }
  592.  
  593. setTimeout(function() {
  594. if (bet > balance_check_1) {
  595. bust();
  596. } else {
  597. $("#a_lo").trigger('click');
  598. }
  599. }, delay_bet);
  600. }
  601. } else {
  602.  
  603. betting = 1;
  604. var bet = bet_value * marti_reset_value;
  605. bet = scientific(bet);
  606. $("#pct_bet").val(bet);
  607.  
  608. setTimeout(function() {
  609. if (bet > balance_check_1) {
  610. bust();
  611. } else {
  612. $("#a_hi").trigger('click');
  613. }
  614. }, delay_bet);
  615. }
  616. } else if (steps < marti_limit && betting === 0 && running == 1) {
  617. if ($('#switch_loss_check').prop('checked')) {
  618. if (hi_lo) {
  619. betting = 1;
  620. bet_value = scientific(bet_value);
  621. $("#pct_bet").val(bet_value);
  622. setTimeout(function() {
  623. if (bet > balance_check_1) {
  624. bust();
  625. } else {
  626. $("#a_hi").trigger('click');
  627. }
  628. }, delay_bet);
  629.  
  630. } else {
  631. betting = 1;
  632. bet_value = scientific(bet_value);
  633. $("#pct_bet").val(bet_value);
  634. setTimeout(function() {
  635. if (bet > balance_check_1) {
  636. bust();
  637. } else {
  638. $("#a_lo").trigger('click');
  639. }
  640. }, delay_bet);
  641. }
  642. } else {
  643.  
  644. betting = 1;
  645. bet_value = scientific(bet_value);
  646. $("#pct_bet").val(bet_value);
  647.  
  648. setTimeout(function() {
  649. if (bet > balance_check_1) {
  650. bust();
  651. } else {
  652. $("#a_hi").trigger('click');
  653. }
  654. }, delay_bet);
  655. }
  656. } else if (randomizing == 1) {
  657. console.log('Randomizing Please wait....');
  658. } else {
  659. bust();
  660. }
  661. }
  662.  
  663. function bust() {
  664. log_message('***limit reached***');
  665. console.log('***limit reached***');
  666. steps = 0;
  667. running = 0;
  668. $("#pct_bet").val(reset_bet);
  669. play_sound3();
  670. }
  671.  
  672. //-------------------------Looks at bet depth and passes it to array ready for bar chart.
  673. function depth(x) {
  674. if (!dep[x]) {
  675. dep[x] = 1;
  676. } else {
  677. dep[x]++;
  678. }
  679. }
  680.  
  681. //-------------------------------------- Graphing functions
  682. function generate_graph() {
  683. var res = [];
  684. var gb = parseFloat($("#graph_length").val());
  685. for (var i = 0; i < bet_data.length; ++i) {
  686. if (res.length >= gb) {
  687. while (res.length > gb) {
  688. res.shift();
  689. }
  690.  
  691. res.push([i, bet_data[i]]);
  692.  
  693. } else {
  694. res.push([i, bet_data[i]]);
  695. }
  696. }
  697.  
  698. return res;
  699. }
  700.  
  701. function generate_ev_graph() {
  702. var res = [];
  703. var gb = parseFloat($("#graph_length").val());
  704. for (var i = 0; i < ev_data.length; ++i) {
  705. if (res.length >= gb) {
  706. while (res.length > gb) {
  707. res.shift();
  708. }
  709.  
  710. res.push([i, ev_data[i]]);
  711.  
  712. } else {
  713. res.push([i, ev_data[i]]);
  714. }
  715. }
  716.  
  717. return res;
  718. }
  719.  
  720. function generate_bar_graph() {
  721. var res = [];
  722. for (var i = 0; i < dep.length; ++i) {
  723.  
  724. res.push([i, dep[i]]);
  725.  
  726. }
  727.  
  728. return res;
  729. }
  730.  
  731. function update_graphs() {
  732. var g_bal = $('#pct_balance').val();
  733. var ev_data1 = $("#percentWonInput").val();
  734.  
  735. ev_data.push(ev_data1);
  736. bet_data.push(g_bal);
  737.  
  738. var data1 = generate_graph();
  739. var data2 = generate_ev_graph();
  740.  
  741. var data = [{
  742. data: data1,
  743. label: "profit",
  744. yaxis: 1,
  745. color: 'green',
  746. lines: {
  747. show: true
  748. }
  749. }, {
  750. data: data2,
  751. label: "EV",
  752. yaxis: 2,
  753. color: 'red',
  754. lines: {
  755. show: true
  756. }
  757. }];
  758.  
  759. var options = {
  760. legend: {
  761. position: "nw",
  762. noColumns: 2,
  763. container: $("#chartLegend")
  764. },
  765. yaxes: [{
  766.  
  767. }, {
  768. position: "right"
  769. }]
  770. };
  771.  
  772. var plotb = $.plot("#g_placeholder2", [generate_bar_graph()], {
  773. series: {
  774. color: '#cdffcc'
  775. },
  776. bars: {
  777. show: true
  778. },
  779. yaxis: {},
  780. xaxis: {}
  781. });
  782.  
  783. var plot2 = $.plot("#g_placeholder", data, options);
  784.  
  785. plotb.setData([generate_bar_graph()]);
  786.  
  787. plotb.setupGrid();
  788. plotb.draw();
  789.  
  790. }
  791.  
  792. //---------------------------------------------------------------------------- builds user interface
  793.  
  794. //-------------------------------------- Opens help html
  795. function basicPopup(url) {
  796. popupWindow = window.open(url, 'popUpWindow', 'height=500,width=500,left=100,top=100,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no, status=yes');
  797. }
  798.  
  799. function basicPopup2(url) {
  800. popupWindow = window.open(url, 'popUpWindow', 'height=620,width=1024,left=100,top=100,resizable=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,directories=no, status=no');
  801. }
  802.  
  803. function gui() { //
  804.  
  805. //-------------------------------------- Invest all and divest all buttons
  806. $('.button_inner_group:nth(2)').append( '<button onClick=\'javascript:socket.emit("invest_box", csrf); socket.emit("invest", csrf, "all", $("#invest_code").val());\'>invest all<div class="key">N</div></button>').append( '<button onClick=\'javascript:socket.emit("invest_box", csrf); socket.emit("divest", csrf, "all", $("#divest_code").val());\'>divest all<div class="key">M</div></button>');
  807.  
  808. //-------------------------------------- Options
  809. var $o_row1 = $('<div class="row"/>');
  810.  
  811. //sound_check
  812. $sound_c = $('<div style="margin-right:10px"><font color="white"><input type="checkbox" value="1" name="sound_check" id="sound_check" /> Play sound on win! </font></div>');
  813. $o_row1.append($sound_c);
  814.  
  815. //sound_check2
  816. $sound_check2 = $('<div style="margin-right:10px"><font color="white"><input type="checkbox" value="1" name="sound_check2" id="sound_check2" /> Play sound on loss! </font></div>');
  817. $o_row1.append($sound_check2);
  818.  
  819. //sound_check3
  820. $sound_check3 = $('<div style="margin-right:10px"><font color="white"><input type="checkbox" value="1" name="sound_check3" id="sound_check3" /> Play sound on bust! </font></div>');
  821. $o_row1.append($sound_check3);
  822.  
  823. //stopwin_check
  824. $swin_c = $('<div style="margin-right:10px"><font color="white"><input type="checkbox" value="1" name="stopwin_check" id="stopwin_check" /> Stop on win</font></div>');
  825.  
  826. //smile_check
  827. $smile_c = $('<div style="margin-right:10px"><font color="white">type !emote in chat to toggle smileys </font></div>');
  828. $o_row1.append($smile_c);
  829.  
  830. //switch_loss_check
  831. $switch_loss_check = $('<div style="margin-right:10px"><font color="white"><input type="checkbox" value="1" name="switch_loss_check" id="switch_loss_check" /> switch hi/lo on loss </font></div>');
  832. $o_row1.append($switch_loss_check);
  833.  
  834. //resetL_check
  835. $reset_loss_safety = $('<div style="margin-right:10px"><font color="white"><input type="checkbox" value="1" name="resetL_check" id="resetL_check" value="checked" /> check to enable reset step </font></div>');
  836. $o_row1.append($reset_loss_safety);
  837.  
  838. //profit_stop_check
  839. $profit_stop_check = $('<div style="margin-right:10px"><font color="white"><input type="checkbox" value="1" name="profit_stop_check" id="profit_stop_check" /> stop on bank </font></div>');
  840. $o_row1.append($profit_stop_check);
  841.  
  842. //randomizer_check
  843. $randomizer_check = $('<div style="margin-right:10px"><font color="white"><input type="checkbox" value="1" name="randomizer_check" id="randomizer_check" /> randomize every 12 </font></div>');
  844. $o_row1.append($randomizer_check);
  845.  
  846. //bet_logging
  847. $bet_logging = $('<div style="margin-right:10px"><font color="white"><input type="checkbox" value="1" name="bet_logging" id="bet_logging" /> bet logging enabled </font></div>');
  848. $o_row1.append($bet_logging);
  849.  
  850. //profit_lock
  851. $profit_lock = $('<div style="margin-right:10px"><font color="white"><input type="checkbox" value="1" name="profit_lock" id="profit_lock" /> Profit lock </font></div>');
  852. $o_row1.append($profit_lock);
  853.  
  854. //profit_lock_val
  855. $profit_lock_val = $('<div style="margin-left:10px;margin-right:10px"><font color="white"><input style="border:1px solid; border-color: #505050;" id="profit_lock_val" value="0"/> value to lock as profit </font></div>');
  856. $o_row1.append($profit_lock_val);
  857.  
  858. //graph_length
  859. $graph_length = $('<div style="margin-left:10px;margin-right:10px"><font color="white"><input style="border:1px solid; border-color: #505050;" id="graph_length" value="200"/> max graph length </font></div>');
  860. $o_row1.append($graph_length);
  861.  
  862. //bot_delay_length
  863. $bot_delay_length = $('<div style="margin-left:10px;margin-right:10px"><font color="white"><input style="border:1px solid; border-color: #505050;" id="bot_delay_length" value="0"/> bot delay. 1000 = 1 second </font></div>');
  864. $o_row1.append($bot_delay_length);
  865.  
  866. $optional_lossInput = $('<form style="margin-left:10px;margin-right:10px" action=""><input style="border:1px solid; border-color: #505050;" id="option_loss" value="0"/><select id="step_option" name="step_option"><option value="1">plus</option><option value="2">minus</option></select><font color="white"> R step opts</font></form>');
  867. $o_row1.append($optional_lossInput);
  868.  
  869. //rstep_opts
  870. $rstep_opts = $('<div style="margin-right:10px"><font color="white"><input type="checkbox" value="1" name="rstep_opts" id="rstep_opts" /> Enable R step opts</font></div>');
  871. $o_row1.append($rstep_opts);
  872.  
  873. //-------------------------------------- builds user interface
  874. $container = $('<div id="chipper" class="container"/>');
  875. $container2 = $('<div id="chipper2" class="container"/>');
  876.  
  877. var $container2 = $('<div id="chipper2" class="container"/>');
  878. var $button_group = $('<div style="width:99%;border:2px solid; border-color: #525252;" class="button_group"/>');
  879. var $options_group = $('<div style="border:2px solid; border-color: #505050;" class="button_group"/>');
  880. $container.append($button_group);
  881. //$container2.append($options_group)
  882.  
  883. var $martingale_button = $('<button class="button_label chance_toggle" style="margin-top:27px;margin-right:0px;height:65px;;width:70px;color:transparent;background-color:transparent;border:none;"></button>');
  884. $martingale_button.click(function() {
  885. //-----
  886. console.log('button clicked');
  887. //-----
  888. });
  889.  
  890. var $run_div = $('<div background-color:rgba(35,35,35,0.5);border:2px solid; border-color: #999999;" class="button_inner_group"/>');
  891.  
  892. //-------------------------------------- Outer UI buttons
  893. $run = $('<button id="c_run" style="color:green;margin-bottom:5px;margin-top:5px;margin-right:2px;height:22px">Go</button>');
  894. $run.click(function() {
  895. //-----
  896. //Start function
  897. //-----
  898. reset_bet = parseFloat($("#pct_bet").val());
  899. running = 1;
  900. console.log('running = 1' + '\n' + 'Start bet:' + scientific(reset_bet));
  901. });
  902. $run_div.append($run);
  903.  
  904. $store = $('<button id="c_run" style="color:blue;margin-bottom:5px;margin-top:5px;margin-right:2px;height:22px">Store</button>');
  905. $store.click(function() {
  906. //-----
  907. saves();
  908. //-----
  909. });
  910. $run_div.append($store);
  911.  
  912. $load = $('<button id="c_run" style="color:blue;margin-bottom:5px;margin-top:5px;margin-right:2px;height:22px">Load</button>');
  913. $load.click(function() {
  914. //-----
  915. loads();
  916. //-----
  917. });
  918. $run_div.append($load);
  919. $Stop = $('<button id="c_stop" style="color:red;margin-bottom:5px;margin-top:5px;height:22px">Stop</button>');
  920. $Stop.click(function() {
  921. //-----
  922. //Stop function
  923. //-----
  924. running = 0;
  925. console.log('running = 0' + '\n');
  926. steps = 0;
  927. });
  928. $run_div.append($Stop);
  929.  
  930. $reset = $('<button title="Resets stats" style="margin-right:10px;border:1px solid" id="fleft chatbutton" >reset stats</button>');
  931. $reset.click(function() {
  932. //-----
  933. reset_stats();
  934. //-----
  935. });
  936. $container.append($reset);
  937.  
  938. $showhidetrigger3 = $('<button title="Toggles bot graph" style="margin-right:10px;border:1px solid" id="showhidetrigger3" href="#">profit/ev</button>'); //toggle hide for graph
  939. $showhidetrigger3.click(function() {
  940. $('#chipper3').toggle(500);
  941. //update_graphs();
  942. $.plot($("#g_placeholder"), [
  943. []
  944. ]);
  945. });
  946. $container.append($showhidetrigger3);
  947.  
  948. $showhidetrigger3 = $('<button title="Toggles bot depth graph" style="margin-right:10px;border:1px solid" id="showhidetrigger4" href="#">depth</button>'); //toggle hide for graph
  949. $showhidetrigger3.click(function() {
  950. $('#chipperb4').toggle(500);
  951. //update_graphs();
  952. $.plot($("#g_placeholder2"), [
  953. []
  954. ]);
  955. });
  956. $container.append($showhidetrigger3);
  957.  
  958. $showhidetrigger13 = $('<button title="Toggles bot ev graph" style="margin-right:10px;border:1px solid" id="showhidetrigger4" href="#">ev</button>'); //toggle hide for graph
  959. $showhidetrigger13.click(function() {
  960. $('#chipperb5').toggle(500);
  961. //update_graphs();
  962. $.plot($("#g_placeholder3"), [
  963. []
  964. ]);
  965. });
  966. //$container.append($showhidetrigger13);
  967.  
  968. $showhidetrigger4 = $('<button title="Toggles bot option gui" style="margin-right:10px;border:1px solid" id="showhidetrigger4" href="#">options</button>'); //toggle hide for options
  969. $showhidetrigger4.click(function() {
  970. $('#chipper5').toggle(500);
  971. });
  972. $container.append($showhidetrigger4);
  973.  
  974. $showhidetrigger5 = $('<button title="Saves betting data" style="margin-right:10px;border:1px solid" id="showhidetrigger5" href="#">save</button>'); //toggle hide for options
  975. $showhidetrigger5.click(function() {
  976. save_to_file();
  977. });
  978. $container.append($showhidetrigger5);
  979.  
  980. $showhidetrigger6 = $('<button title="Much Help" style="margin-right:10px;border:1px solid" id="showhidetrigger6" href="#">HELP</button>'); //Popup help
  981. $showhidetrigger6.click(function() {
  982.  
  983. var help_p = "https://googledrive.com/host/0BywRa_utENFgV0ZBNmdVRTJ0a0k/DD.html ";
  984. basicPopup(help_p);
  985. });
  986. //$container.append($showhidetrigger6);
  987.  
  988. $calculator = $('<button title="Much Help" style="margin-right:10px;border:1px solid" id="calculator" href="#">Calculator</button>'); //Popup help
  989. $calculator.click(function() {
  990.  
  991. var calc = "http://sci-calc.comlu.com/ ";
  992. basicPopup2(calc);
  993. });
  994. //$container.append($calculator);
  995.  
  996. $stasis = $('<button title="Stops internal functions" style="margin-right:10px;border:1px solid" id="showhidetrigger6" href="#">Cardiology</button>'); //Popup help
  997. $stasis.click(function() {
  998. cpr = !cpr;
  999. });
  1000. $container.append($stasis);
  1001. /*
  1002. $showhidetrigger7 = $('<button title="Much Help" style="margin-right:10px;border:1px solid" id="showhidetrigger6" href="#">HELP</button>'); //Popup help
  1003. $showhidetrigger7.click(function () {
  1004. randomizer();
  1005. });
  1006. $container.append($showhidetrigger7);
  1007. */
  1008.  
  1009. //-------------------------------------- Inner UI input boxes
  1010. var $row1a = $('<div class="row"/>'); ////////////////////////////////////// row 1a
  1011.  
  1012. var $limiter = $('<p style="border:1px solid; border-color: #505050;" class="llabel">Steps</p>');
  1013. $limiterInput = $('<input style="border:1px solid; border-color: #505050;" id="limiter" value="100"/>');
  1014. var $limiterEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');
  1015. $row1a.append($limiter);
  1016. $row1a.append($limiterInput);
  1017. $row1a.append($limiterEnd);
  1018.  
  1019. var $row1b = $('<div class="row"/>'); ////////////////////////////////////// row 1b
  1020.  
  1021. var $multiplier = $('<p style="border:1px solid; border-color: #505050;" class="llabel">multiplier</p>');
  1022. $multiplierInput = $('<input style="border:1px solid; border-color: #505050;" id="multiplier" value="1"/>');
  1023. var $multiplierEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">x</p>');
  1024. $row1b.append($multiplier);
  1025. $row1b.append($multiplierInput);
  1026. $row1b.append($multiplierEnd);
  1027.  
  1028. var $row1c = $('<div class="row"/>'); ////////////////////////////////////// row 1c
  1029.  
  1030. var $required_bank = $('<p style="border:1px solid; border-color: #505050;" class="llabel">required </p>');
  1031. $required_bankInput = $('<input style="border:1px solid; border-color: #505050;" id="required_bank" class="readonly" value="0"/>');
  1032. var $required_bankEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">Ð</p>');
  1033. var $required_bankEndb = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">€</p>');
  1034. $row1c.append($required_bank);
  1035. $row1c.append($required_bankInput);
  1036. if (site == 1) {
  1037. $row1c.append($required_bankEnd);
  1038. } else if (site === 0) {
  1039. $row1c.append($required_bankEndb);
  1040. }
  1041.  
  1042. var $row1d = $('<div class="row"/>'); ////////////////////////////////////// row 1d
  1043.  
  1044.  
  1045. var $reset_step = $('<p style="border:1px solid; border-color: #505050;" class="llabel">reset step</p>');
  1046. $reset_stepInput = $('<input style="border:1px solid; border-color: #505050;" id="reset_step" value="7"/>');
  1047. var $reset_stepEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');
  1048. $row1d.append($reset_step);
  1049. $row1d.append($reset_stepInput);
  1050. $row1d.append($reset_stepEnd);
  1051.  
  1052. var $row1e = $('<div class="row"/>'); ////////////////////////////////////// row 1e
  1053.  
  1054.  
  1055. var $current_loss = $('<p style="border:1px solid; border-color: #505050;" class="llabel">cur loss</p>');
  1056. $current_lossInput = $('<input style="border:1px solid; border-color: #505050;" id="c_loss" class="readonly" value="0"/>');
  1057. var $current_lossEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');
  1058. $row1e.append($current_loss);
  1059. $row1e.append($current_lossInput);
  1060. $row1e.append($current_lossEnd);
  1061. var $row2a = $('<div class="row"/>'); ////////////////////////////////////////////// row 2a
  1062.  
  1063. var $maxLoss = $('<p style="border:1px solid; border-color: #505050;" class="llabel">loss streak</p>');
  1064. $maxLossInput = $('<input style="border:1px solid; border-color: #505050;" id="maxLossInput" class="readonly" value="0"/>');
  1065. var $maxLossEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');
  1066. $row2a.append($maxLoss);
  1067. $row2a.append($maxLossInput);
  1068. $row2a.append($maxLossEnd);
  1069.  
  1070. var $row2b = $('<div class="row"/>'); ////////////////////////////////////////////// row 2b
  1071.  
  1072. var $maxWin = $('<p style="border:1px solid; border-color: #505050;" class="llabel">win streak</p>');
  1073. $maxWinInput = $('<input style="border:1px solid; border-color: #505050;" id="maxWinInput" class="readonly" value="0"/>');
  1074. var $maxWinEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');
  1075. $row2b.append($maxWin);
  1076. $row2b.append($maxWinInput);
  1077. $row2b.append($maxWinEnd);
  1078.  
  1079. var $row2c = $('<div class="row"/>'); ////////////////////////////////////// row 2c
  1080.  
  1081. var $percentWon = $('<p style="border:1px solid; border-color: #505050;" class="llabel">ev</p>');
  1082. $percentWonInput = $('<input style="border:1px solid; border-color: #505050;" id="percentWonInput" class="readonly" value="0"/>');
  1083. var $percentWonEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');
  1084. $row2c.append($percentWon);
  1085. $row2c.append($percentWonInput);
  1086. $row2c.append($percentWonEnd);
  1087.  
  1088. var $row2d = $('<div class="row"/>'); ////////////////////////////////////// row 2d
  1089.  
  1090. var $reset_value = $('<p style="border:1px solid; border-color: #505050;" class="llabel">reset mult</p>');
  1091. $reset_valueInput = $('<input style="border:1px solid; border-color: #505050;" id="reset_value" value="2.1"/>');
  1092. var $reset_valueEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">x</p>');
  1093. var $reset_valueEndb = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">x</p>');
  1094. $row2d.append($reset_value);
  1095. $row2d.append($reset_valueInput);
  1096. if (site == 1) {
  1097. $row2d.append($reset_valueEnd); //Ð
  1098. } else if (site === 0) {
  1099. $row2d.append($reset_valueEndb); //€
  1100. }
  1101.  
  1102.  
  1103. var $row3a = $('<div class="row"/>'); ///////////////////////////////// row 3a
  1104.  
  1105. var $bets = $('<p style="border:1px solid; border-color: #505050;" class="llabel">total bets</p>');
  1106. $betsInput = $('<input style="border:1px solid; border-color: #505050;" id="betsInput" class="readonly" value="0"/>');
  1107. var $betsEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');
  1108. $row3a.append($bets);
  1109. $row3a.append($betsInput);
  1110. $row3a.append($betsEnd);
  1111.  
  1112. var $row3b = $('<div class="row"/>'); ///////////////////////////////// row 3b
  1113.  
  1114. var $probability = $('<p style="border:1px solid; border-color: #505050;" class="llabel">probability</p>');
  1115. $probabilityInput = $('<input style="border:1px solid; border-color: #505050;" id="probability" class="readonly" value="0"/>');
  1116. var $probabilityEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">%</p>');
  1117. $row3b.append($probability);
  1118. $row3b.append($probabilityInput);
  1119. $row3b.append($probabilityEnd);
  1120.  
  1121. var $row3c = $('<div class="row"/>'); ////////////////////////////////////////////// row 3c
  1122.  
  1123. var $profit = $('<p style="border:1px solid; border-color: #505050;" class="llabel">profit</p>');
  1124. $profitInput = $('<input style="border:1px solid; border-color: #505050;" id="profitInput" class="readonly" value="0.00000000"/>');
  1125. var $profitEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">Ð</p>');
  1126. var $profitEndb = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">€</p>');
  1127. $row3c.append($profit);
  1128. $row3c.append($profitInput);
  1129. if (site == 1) {
  1130. $row3c.append($profitEnd); //Ð
  1131. } else if (site === 0) {
  1132. $row3c.append($profitEndb); //€
  1133. }
  1134.  
  1135. var $row3d = $('<div class="row"/>'); ////////////////////////////////////////////// row 3d
  1136.  
  1137. var $stop_bank = $('<p style="border:1px solid; border-color: #505050;" class="llabel">stop bank</p>');
  1138. $stop_bankInput = $('<input style="border:1px solid; border-color: #505050;" id="stop_bank" value="0.00000000"/>');
  1139. var $stop_bankEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">Ð</p>');
  1140. var $stop_bankEndb = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">€</p>');
  1141. $row3d.append($stop_bank);
  1142. $row3d.append($stop_bankInput);
  1143. if (site == 1) {
  1144. $row3d.append($stop_bankEnd); //Ð
  1145. } else if (site === 0) {
  1146. $row3d.append($stop_bankEndb); //€
  1147. }
  1148.  
  1149. var $row3e = $('<div class="row"/>'); ////////////////////////////////////////////// row 3e
  1150.  
  1151. var $ebank = $('<p style="border:1px solid; border-color: #505050;" class="llabel">bank</p>');
  1152. $ebankInput = $('<input style="border:1px solid; border-color: #505050;" id="ebank" class="readonly" value="0.00000000"/>');
  1153. var $ebankEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">Ð</p>');
  1154. var $ebankEndb = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">€</p>');
  1155. $row3e.append($ebank);
  1156. $row3e.append($ebankInput);
  1157. if (site == 1) {
  1158. $row3e.append($ebankEnd); //Ð
  1159. } else if (site === 0) {
  1160. $row3e.append($ebankEndb); //€
  1161. }
  1162.  
  1163. //-------------------------------------- Graph Div
  1164. var $graphDiv = $('<fieldset id="chipper3" style="margin-left:70px;background-color:rgba(35,35,35,0.9);border:2px solid; border-color: #999999;width:700px;height:200px;margin-right:3px" class="graph-container"><div style="padding: 0;width:700px;height:200px;margin-right:0px" id="g_placeholder" class="graph-placeholder"></div>'); //graph holder
  1165.  
  1166. var $legends = $('</br><div id="chartLegend" style="float:right;margin-right:10px;background-color:rgba(35,35,35,0.5);border:2px solid; border-color: #999999;" ></div>');
  1167.  
  1168. var $graphDiv2 = $('<fieldset id="chipperb4" style="margin-left:70px;background-color:rgba(35,35,35,0.9);border:2px solid; border-color: #999999;width:700px;height:100px;margin-right:3px" class="graph-container2"><div style="padding: 0;width:700px;height:100px;margin-right:0px" id="g_placeholder2" class="graph-placeholder2"></div>'); //graph holder
  1169.  
  1170. var $graphDiv3 = $('<fieldset id="chipperb5" style="margin-left:70px;background-color:rgba(35,35,35,0.9);border:2px solid; border-color: #999999;width:700px;height:100px;margin-right:3px" class="graph-container2"><div style="padding: 0;width:700px;height:100px;margin-right:0px" id="g_placeholder3" class="graph-placeholder3"></div>'); //graph holder
  1171.  
  1172. //-------------------------------------- Putting it all together
  1173.  
  1174.  
  1175. var $fieldset4 = $('<fieldset style="margin-left:33px;margin-right:auto;background-color:rgba(35,35,35,0.5);border:2px solid; border-color: #999999;"/>');
  1176. $fieldset4.append($run_div);
  1177.  
  1178. var $fieldset_o = $('<div id="chipper5" style="margin-top:8px;border:2px solid; border-color: #505050;" class="button_group"/>');
  1179. $fieldset_o.append($o_row1);
  1180.  
  1181. var $fieldset = $('<fieldset style="margin-left:50px;margin-right:2px;margin-top:10px;background-color:rgba(35,35,35,0.5);border:2px solid; border-color: #999999;"/>');
  1182. $fieldset.append($row1a);
  1183. $fieldset.append($row1b);
  1184. $fieldset.append($row1c);
  1185. $fieldset.append($row1d);
  1186. $fieldset.append($row1e);
  1187.  
  1188. var $fieldset2 = $('<fieldset style="margin-left:auto;margin-right:2px;margin-top:10px;background-color:rgba(35,35,35,0.5);border:2px solid; border-color: #999999;"/>');
  1189. $fieldset2.append($row2a);
  1190. $fieldset2.append($row2b);
  1191. $fieldset2.append($row2c);
  1192. $fieldset2.append($row2d);
  1193. $fieldset2.append($fieldset4);
  1194.  
  1195. var $fieldset3 = $('<fieldset style="margin-left:auto;margin-right:2px;margin-top:10px;background-color:rgba(35,35,35,0.5);border:2px solid; border-color: #999999;"/>');
  1196. $fieldset3.append($row3a);
  1197. $fieldset3.append($row3b);
  1198. $fieldset3.append($row3c);
  1199. $fieldset3.append($row3d);
  1200. $fieldset3.append($row3e);
  1201.  
  1202. $button_group.append($fieldset);
  1203. $button_group.append($fieldset2);
  1204. $button_group.append($fieldset3);
  1205. //$button_group.append($martingale_button);
  1206.  
  1207. $button_group.append($graphDiv);
  1208. $button_group.append($legends);
  1209. $button_group.append($graphDiv2);
  1210. //$button_group.append($graphDiv3);
  1211. $button_group.append("<div align='center' style='color:white;font-size:10pt;'>Inkha suite V" + version_c + " </div>");
  1212. $container.append($fieldset_o);
  1213.  
  1214. ///////////////////////////////// chat base buttons ////////////////////////////////////////
  1215.  
  1216. var $chat_send = $('div#chat .chatbase:last-child'); //location of chatbase
  1217.  
  1218. var $chat_button_group = $('<div style="width:675px;background-color:#787878 ;border:2px solid; border-color: #505050;" />');
  1219.  
  1220. $button1 = $('<button title="REALLY DONT PRESS" style="width:80px;margin-right:10px;border:1px solid" id="button1" >DO NOT PRESS</button>');
  1221. $button1.click(function() {
  1222. alert('ok now the world is gonna end... happy?');
  1223. });
  1224. //$chat_button_group.append($button1);
  1225.  
  1226. //$chat_send.append($chat_button_group);
  1227.  
  1228. /////////////////////////////////////////////////////////////////////////////////////////////////
  1229.  
  1230.  
  1231. //-------------------------------------- Add ui elements to page
  1232. $(".chatstat").append('<a title="Toggles bot gui" id="showhidetrigger" href="#"><font color="blue">Show Bot</font></a>'); //toggles hide for gui
  1233. $(".chatstat").append($container);
  1234. $(".chatstat").append('<div style="clear:left;"/>');
  1235.  
  1236. //-------------------------------------- Hide Graph and options Div
  1237. $(document).ready(function() { // toggle hide function for graph
  1238. $('#chipper3').hide();
  1239. $('#chipperb4').hide();
  1240. //$('#chipperb5').hide();
  1241. $('#chipper5').hide();
  1242. });
  1243.  
  1244. //-------------------------------------- Add toggle for UI
  1245. $(document).ready(function() { // toggle hide function for gui
  1246. $('#chipper').hide();
  1247. $('a#showhidetrigger').click(function() {
  1248. $('#chipper').toggle(500);
  1249. });
  1250. });
  1251.  
  1252. }
  1253.  
  1254. //-------------------------------------- grabs date in readable format
  1255. function gets_date() {
  1256. var now = new Date();
  1257. var strDateTime = [
  1258. [AddZero(now.getDate()), AddZero(now.getMonth() + 1), now.getFullYear()].join("/"), [AddZero(now.getHours()), AddZero(now.getMinutes())].join(":"), now.getHours() >= 12 ? "PM" : "AM"
  1259. ].join(" ");
  1260.  
  1261. function AddZero(num) {
  1262. return (num >= 0 && num < 10) ? "0" + num : num + "";
  1263. }
  1264. return strDateTime;
  1265. }
  1266.  
  1267. //-------------------------------------- sleep function
  1268. function sleep(milliseconds) {
  1269. var start = new Date().getTime();
  1270. for (var i = 0; i < 1e7; i++) {
  1271. if ((new Date().getTime() - start) > milliseconds) {
  1272. break;
  1273. }
  1274. }
  1275. }
  1276.  
  1277. //-------------------------------------- scientific notation
  1278. function scientific(n) {
  1279. n = String(n);
  1280. var info = /([\d\.]+)e-(\d+)/i.exec(n);
  1281. if (!info) {
  1282. return n;
  1283. }
  1284.  
  1285. var num = info[1].replace('.', ''),
  1286. numDecs = info[2] - 1;
  1287. var output = "0.";
  1288. for (var i = 0; i < numDecs; i++) {
  1289. output += "0";
  1290. }
  1291. output += num;
  1292.  
  1293. return output;
  1294. }
  1295.  
  1296. //-------------------------------------- starts on page load
  1297. $(document).ready(function() {
  1298.  
  1299. which_site();
  1300. console.log('Welcome to the Enhancement suite V' + version_c + '');
  1301. log_message('Welcome to the Enhancement suite V' + version_c + '');
  1302. console.log('\n');
  1303. heart_beat();
  1304.  
  1305.  
  1306. });
  1307.  
  1308. function total_check() { //logic and check if bot has enough bank for martingale
  1309.  
  1310. if ($multiplierInput !== undefined && $limiterInput !== undefined)
  1311. if ($.isNumeric($multiplierInput.val()) && $.isNumeric($limiterInput.val()) && $.isNumeric($('#pct_bet').val())) {
  1312.  
  1313. var total = 0;
  1314. var mult = 1;
  1315. var i;
  1316. var res_val = parseFloat($("#reset_value").val()) - 1;
  1317. var res_step = parseFloat($("#reset_step").val());
  1318.  
  1319. if ($('#resetL_check').prop('checked')) {
  1320.  
  1321.  
  1322. for (i = 0; i < $limiterInput.val(); i++) {
  1323.  
  1324. total += $('#pct_bet').val() * mult;
  1325. mult *= $multiplierInput.val();
  1326. }
  1327.  
  1328. var total2 = total * res_val;
  1329. total += total2;
  1330. $("#required_bank").val(total.toFixed(8));
  1331.  
  1332. } else {
  1333.  
  1334. for (i = 0; i < $limiterInput.val(); i++) {
  1335. total += $('#pct_bet').val() * mult;
  1336. mult *= $multiplierInput.val();
  1337. }
  1338. $("#required_bank").val(total.toFixed(8));
  1339. }
  1340.  
  1341. if (total !== 0 && total < $('#pct_balance').val()) {
  1342. // Good to go
  1343. } else {
  1344. // not enough balance
  1345. }
  1346. } else {
  1347. //something is missing
  1348. }
  1349. }
  1350.  
  1351. //-------------------------------------- Post message in the log area
  1352. function log_message(message) {
  1353. document.querySelector(".log").innerHTML = (message);
  1354. setInterval(function() {
  1355. document.querySelector(".log").innerHTML = " ";
  1356. }, 6000);
  1357. }
  1358.  
  1359. //-------------------------------------- Win sound
  1360. function play_sound1() {
  1361. if ($('#sound_check').prop('checked')) {
  1362. //snd_alert.pause();
  1363. //snd_beep.pause();
  1364. //coin_drop.play();
  1365. //coin_drop.currentTime = 0;
  1366. } else {
  1367. return;
  1368. }
  1369. }
  1370.  
  1371. //-------------------------------------- Lose sound
  1372. function play_sound2() {
  1373. if ($('#sound_check2').prop('checked')) {
  1374. //snd_alert.pause();
  1375. //coin_drop.pause();
  1376. //snd_beep.play();
  1377. //snd_beep.currentTime = 0;
  1378. } else {
  1379. return;
  1380. }
  1381. }
  1382.  
  1383. //-------------------------------------- Bust sound
  1384. function play_sound3() {
  1385. if ($('#sound_check3').prop('checked')) {
  1386. //snd_beep.pause();
  1387. //coin_drop.pause();
  1388. //snd_alert.play();
  1389. //snd_alert.currentTime = 0;
  1390. //alert("Bot has bust !!");
  1391. } else {
  1392. return;
  1393. }
  1394. }