Advertisement
Nixsy

inkhabot stripped basic bet bot

Jan 25th, 2015
396
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name        nixbot
  3. // @namespace   nixbot
  4. // @include     https://just-dice.com/*
  5. // @version     1
  6. // @grant       none
  7. // ==/UserScript==
  8. //Copyright (C) 2013  CriticalNix
  9. //
  10. //This program is free software; you can redistribute it and/or
  11. //modify it under the terms of the GNU General Public License
  12. //version 2.
  13. //
  14. //This program is distributed in the hope that it will be useful,
  15. //but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17. //GNU General Public License for more details.
  18. //
  19. //A full copy of the GNU General Public License, version 2 can be found here. http://www.gnu.org/licenses/gpl-2.0.html
  20. //-------------------------------------------------------------------
  21. // also here https://greasyfork.org/en/scripts/23909-nixbot
  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.6";
  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.      
  891.     var $run_div = $('<div background-color:rgba(35,35,35,0.5);border:2px solid; border-color: #999999;" class="button_inner_group"/>');
  892.  
  893.     //-------------------------------------- Outer UI buttons
  894.      
  895.     $run = $('<button id="c_run" style="color:green;margin-bottom:5px;margin-top:5px;margin-right:2px;height:22px">Go</button>');
  896.     $run.click(function() {
  897.         //-----
  898.         //Start function
  899.         //-----
  900.         reset_bet = parseFloat($("#pct_bet").val());
  901.         running = 1;
  902.         console.log('running = 1' + '\n' + 'Start bet:' + scientific(reset_bet));
  903.     });  
  904.     $run_div.append($run);
  905.  
  906.     $store = $('<button id="c_run" style="color:blue;margin-bottom:5px;margin-top:5px;margin-right:2px;height:22px">Store</button>');
  907.     $store.click(function() {
  908.         //-----
  909.         saves();
  910.         //-----
  911.     });  
  912.     $run_div.append($store);
  913.  
  914.     $load = $('<button id="c_run" style="color:blue;margin-bottom:5px;margin-top:5px;margin-right:2px;height:22px">Load</button>');
  915.     $load.click(function() {
  916.         //-----
  917.         loads();
  918.         //-----
  919.     });  
  920.     $run_div.append($load);      
  921.     $Stop = $('<button id="c_stop" style="color:red;margin-bottom:5px;margin-top:5px;height:22px">Stop</button>');  
  922.     $Stop.click(function() {
  923.         //-----
  924.         //Stop function
  925.         //-----
  926.         running = 0;
  927.         console.log('running = 0' + '\n');
  928.         steps = 0;
  929.     });  
  930.     $run_div.append($Stop);
  931.  
  932.     $reset = $('<button title="Resets stats" style="margin-right:10px;border:1px solid" id="fleft chatbutton" >reset stats</button>');  
  933.     $reset.click(function() {
  934.         //-----
  935.         reset_stats();
  936.         //-----
  937.     });  
  938.     $container.append($reset);
  939.  
  940.     $showhidetrigger3 = $('<button title="Toggles bot graph" style="margin-right:10px;border:1px solid" id="showhidetrigger3" href="#">profit/ev</button>'); //toggle hide for graph
  941.      
  942.     $showhidetrigger3.click(function() {
  943.         $('#chipper3').toggle(500);
  944.         //update_graphs();
  945.         $.plot($("#g_placeholder"), [
  946.             []
  947.         ]);
  948.     });  
  949.     $container.append($showhidetrigger3);
  950.  
  951.     $showhidetrigger3 = $('<button title="Toggles bot depth graph" style="margin-right:10px;border:1px solid" id="showhidetrigger4" href="#">depth</button>'); //toggle hide for graph
  952.      
  953.     $showhidetrigger3.click(function() {
  954.         $('#chipperb4').toggle(500);
  955.         //update_graphs();
  956.         $.plot($("#g_placeholder2"), [
  957.             []
  958.         ]);
  959.     });  
  960.     $container.append($showhidetrigger3);
  961.  
  962.     $showhidetrigger13 = $('<button title="Toggles bot ev graph" style="margin-right:10px;border:1px solid" id="showhidetrigger4" href="#">ev</button>'); //toggle hide for graph
  963.      
  964.     $showhidetrigger13.click(function() {
  965.         $('#chipperb5').toggle(500);
  966.         //update_graphs();
  967.         $.plot($("#g_placeholder3"), [
  968.             []
  969.         ]);
  970.     });  
  971.     //$container.append($showhidetrigger13);
  972.  
  973.     $showhidetrigger4 = $('<button title="Toggles bot option gui" style="margin-right:10px;border:1px solid" id="showhidetrigger4" href="#">options</button>'); //toggle hide for options
  974.      
  975.     $showhidetrigger4.click(function() {
  976.         $('#chipper5').toggle(500);
  977.     });  
  978.     $container.append($showhidetrigger4);
  979.  
  980.     $showhidetrigger5 = $('<button title="Saves betting data" style="margin-right:10px;border:1px solid" id="showhidetrigger5" href="#">save</button>'); //toggle hide for options
  981.      
  982.     $showhidetrigger5.click(function() {
  983.         save_to_file();
  984.     });  
  985.     $container.append($showhidetrigger5);
  986.  
  987.     $showhidetrigger6 = $('<button title="Much Help" style="margin-right:10px;border:1px solid" id="showhidetrigger6" href="#">HELP</button>'); //Popup help
  988.      
  989.     $showhidetrigger6.click(function() {
  990.  
  991.         var help_p = "https://googledrive.com/host/0BywRa_utENFgV0ZBNmdVRTJ0a0k/DD.html ";
  992.         basicPopup(help_p);
  993.     });  
  994.     //$container.append($showhidetrigger6);
  995.  
  996.     $calculator = $('<button title="Much Help" style="margin-right:10px;border:1px solid" id="calculator" href="#">Calculator</button>'); //Popup help
  997.      
  998.     $calculator.click(function() {
  999.  
  1000.         var calc = "http://sci-calc.comlu.com/ ";
  1001.         basicPopup2(calc);
  1002.     });  
  1003.     //$container.append($calculator);
  1004.  
  1005.     $stasis = $('<button title="Stops internal functions" style="margin-right:10px;border:1px solid" id="showhidetrigger6" href="#">Cardiology</button>'); //Popup help
  1006.      
  1007.     $stasis.click(function() {
  1008.         cpr = !cpr;
  1009.     });  
  1010.     $container.append($stasis);
  1011.     /*
  1012.     $showhidetrigger7 = $('<button title="Much Help" style="margin-right:10px;border:1px solid" id="showhidetrigger6" href="#">HELP</button>'); //Popup help
  1013.       $showhidetrigger7.click(function () {
  1014.             randomizer();  
  1015.     });
  1016.       $container.append($showhidetrigger7);
  1017. */
  1018.  
  1019.     //-------------------------------------- Inner UI input boxes
  1020.     var $row1a = $('<div class="row"/>'); ////////////////////////////////////// row 1a
  1021.  
  1022.      
  1023.     var $limiter = $('<p style="border:1px solid; border-color: #505050;" class="llabel">Steps</p>');  
  1024.     $limiterInput = $('<input style="border:1px solid; border-color: #505050;" id="limiter" value="100"/>');  
  1025.     var $limiterEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');  
  1026.     $row1a.append($limiter);  
  1027.     $row1a.append($limiterInput);  
  1028.     $row1a.append($limiterEnd);
  1029.  
  1030.     var $row1b = $('<div class="row"/>'); ////////////////////////////////////// row 1b
  1031.  
  1032.      
  1033.     var $multiplier = $('<p style="border:1px solid; border-color: #505050;" class="llabel">multiplier</p>');  
  1034.     $multiplierInput = $('<input style="border:1px solid; border-color: #505050;" id="multiplier" value="1"/>');
  1035.     var $multiplierEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">x</p>');  
  1036.     $row1b.append($multiplier);  
  1037.     $row1b.append($multiplierInput);
  1038.     $row1b.append($multiplierEnd);
  1039.  
  1040.     var $row1c = $('<div class="row"/>'); ////////////////////////////////////// row 1c
  1041.  
  1042.      
  1043.     var $required_bank = $('<p style="border:1px solid; border-color: #505050;" class="llabel">required </p>');  
  1044.     $required_bankInput = $('<input style="border:1px solid; border-color: #505050;" id="required_bank" class="readonly" value="0"/>');
  1045.     var $required_bankEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">Ð</p>');
  1046.     var $required_bankEndb = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">€</p>');  
  1047.     $row1c.append($required_bank);  
  1048.     $row1c.append($required_bankInput);
  1049.     if (site == 1) {
  1050.         $row1c.append($required_bankEnd);
  1051.     } else if (site === 0) {
  1052.         $row1c.append($required_bankEndb);
  1053.     }
  1054.  
  1055.     var $row1d = $('<div class="row"/>'); ////////////////////////////////////// row 1d
  1056.  
  1057.  
  1058.     var $reset_step = $('<p style="border:1px solid; border-color: #505050;" class="llabel">reset step</p>');  
  1059.     $reset_stepInput = $('<input style="border:1px solid; border-color: #505050;" id="reset_step" value="7"/>');
  1060.     var $reset_stepEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');
  1061.     $row1d.append($reset_step);  
  1062.     $row1d.append($reset_stepInput);
  1063.     $row1d.append($reset_stepEnd);
  1064.  
  1065.     var $row1e = $('<div class="row"/>'); ////////////////////////////////////// row 1e
  1066.  
  1067.  
  1068.     var $current_loss = $('<p style="border:1px solid; border-color: #505050;" class="llabel">cur loss</p>');  
  1069.     $current_lossInput = $('<input style="border:1px solid; border-color: #505050;" id="c_loss" class="readonly" value="0"/>');
  1070.     var $current_lossEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');  
  1071.     $row1e.append($current_loss);  
  1072.     $row1e.append($current_lossInput);
  1073.     $row1e.append($current_lossEnd);  
  1074.     var $row2a = $('<div class="row"/>'); ////////////////////////////////////////////// row 2a
  1075.  
  1076.      
  1077.     var $maxLoss = $('<p style="border:1px solid; border-color: #505050;" class="llabel">loss streak</p>');  
  1078.     $maxLossInput = $('<input style="border:1px solid; border-color: #505050;" id="maxLossInput" class="readonly" value="0"/>');  
  1079.     var $maxLossEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');  
  1080.     $row2a.append($maxLoss);  
  1081.     $row2a.append($maxLossInput);  
  1082.     $row2a.append($maxLossEnd);
  1083.  
  1084.     var $row2b = $('<div class="row"/>'); ////////////////////////////////////////////// row 2b
  1085.  
  1086.      
  1087.     var $maxWin = $('<p style="border:1px solid; border-color: #505050;" class="llabel">win streak</p>');  
  1088.     $maxWinInput = $('<input style="border:1px solid; border-color: #505050;" id="maxWinInput" class="readonly" value="0"/>');
  1089.     var $maxWinEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');  
  1090.     $row2b.append($maxWin);  
  1091.     $row2b.append($maxWinInput);
  1092.     $row2b.append($maxWinEnd);
  1093.  
  1094.     var $row2c = $('<div class="row"/>'); ////////////////////////////////////// row 2c
  1095.  
  1096.      
  1097.     var $percentWon = $('<p style="border:1px solid; border-color: #505050;" class="llabel">ev</p>');  
  1098.     $percentWonInput = $('<input style="border:1px solid; border-color: #505050;" id="percentWonInput" class="readonly" value="0"/>');
  1099.     var $percentWonEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');  
  1100.     $row2c.append($percentWon);  
  1101.     $row2c.append($percentWonInput);
  1102.     $row2c.append($percentWonEnd);
  1103.  
  1104.     var $row2d = $('<div class="row"/>'); ////////////////////////////////////// row 2d
  1105.  
  1106.      
  1107.     var $reset_value = $('<p style="border:1px solid; border-color: #505050;" class="llabel">reset mult</p>');  
  1108.     $reset_valueInput = $('<input style="border:1px solid; border-color: #505050;" id="reset_value" value="2.1"/>');
  1109.     var $reset_valueEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">x</p>');
  1110.     var $reset_valueEndb = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">x</p>');  
  1111.     $row2d.append($reset_value);  
  1112.     $row2d.append($reset_valueInput);
  1113.     if (site == 1) {
  1114.         $row2d.append($reset_valueEnd); //Ð
  1115.     } else if (site === 0) {
  1116.         $row2d.append($reset_valueEndb); //€
  1117.     }
  1118.  
  1119.  
  1120.     var $row3a = $('<div class="row"/>'); ///////////////////////////////// row 3a
  1121.  
  1122.      
  1123.     var $bets = $('<p style="border:1px solid; border-color: #505050;" class="llabel">total bets</p>');  
  1124.     $betsInput = $('<input style="border:1px solid; border-color: #505050;" id="betsInput" class="readonly" value="0"/>');  
  1125.     var $betsEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">#</p>');  
  1126.     $row3a.append($bets);  
  1127.     $row3a.append($betsInput);  
  1128.     $row3a.append($betsEnd);
  1129.  
  1130.     var $row3b = $('<div class="row"/>'); ///////////////////////////////// row 3b
  1131.  
  1132.     var $probability = $('<p style="border:1px solid; border-color: #505050;" class="llabel">probability</p>');  
  1133.     $probabilityInput = $('<input style="border:1px solid; border-color: #505050;" id="probability" class="readonly" value="0"/>');  
  1134.     var $probabilityEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">%</p>');  
  1135.     $row3b.append($probability);  
  1136.     $row3b.append($probabilityInput);  
  1137.     $row3b.append($probabilityEnd);
  1138.  
  1139.     var $row3c = $('<div class="row"/>'); ////////////////////////////////////////////// row 3c
  1140.  
  1141.      
  1142.     var $profit = $('<p style="border:1px solid; border-color: #505050;" class="llabel">profit</p>');  
  1143.     $profitInput = $('<input style="border:1px solid; border-color: #505050;" id="profitInput" class="readonly" value="0.00000000"/>');
  1144.     var $profitEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">Ð</p>');
  1145.     var $profitEndb = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">€</p>');  
  1146.     $row3c.append($profit);  
  1147.     $row3c.append($profitInput);
  1148.     if (site == 1) {
  1149.         $row3c.append($profitEnd); //Ð
  1150.     } else if (site === 0) {
  1151.         $row3c.append($profitEndb); //€
  1152.     }
  1153.  
  1154.     var $row3d = $('<div class="row"/>'); ////////////////////////////////////////////// row 3d
  1155.  
  1156.      
  1157.     var $stop_bank = $('<p style="border:1px solid; border-color: #505050;" class="llabel">stop bank</p>');  
  1158.     $stop_bankInput = $('<input style="border:1px solid; border-color: #505050;" id="stop_bank" value="0.00000000"/>');
  1159.     var $stop_bankEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">Ð</p>');
  1160.     var $stop_bankEndb = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">€</p>');  
  1161.     $row3d.append($stop_bank);  
  1162.     $row3d.append($stop_bankInput);
  1163.     if (site == 1) {
  1164.         $row3d.append($stop_bankEnd); //Ð
  1165.     } else if (site === 0) {
  1166.         $row3d.append($stop_bankEndb); //€
  1167.     }
  1168.  
  1169.     var $row3e = $('<div class="row"/>'); ////////////////////////////////////////////// row 3e
  1170.  
  1171.      
  1172.     var $ebank = $('<p style="border:1px solid; border-color: #505050;" class="llabel">bank</p>');  
  1173.     $ebankInput = $('<input style="border:1px solid; border-color: #505050;" id="ebank" class="readonly" value="0.00000000"/>');
  1174.     var $ebankEnd = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">Ð</p>');
  1175.     var $ebankEndb = $('<p style="border:1px solid; border-color: #505050;" class="rlabel">€</p>');  
  1176.     $row3e.append($ebank);  
  1177.     $row3e.append($ebankInput);
  1178.     if (site == 1) {
  1179.         $row3e.append($ebankEnd); //Ð
  1180.     } else if (site === 0) {
  1181.         $row3e.append($ebankEndb); //€
  1182.     }
  1183.  
  1184.     //-------------------------------------- Graph Div
  1185.     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
  1186.  
  1187.     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>');
  1188.  
  1189.     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
  1190.  
  1191.     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
  1192.  
  1193.     //-------------------------------------- Putting it all together
  1194.  
  1195.  
  1196.     var $fieldset4 = $('<fieldset style="margin-left:33px;margin-right:auto;background-color:rgba(35,35,35,0.5);border:2px solid; border-color: #999999;"/>');
  1197.     $fieldset4.append($run_div);
  1198.  
  1199.     var $fieldset_o = $('<div id="chipper5" style="margin-top:8px;border:2px solid; border-color: #505050;" class="button_group"/>');
  1200.     $fieldset_o.append($o_row1);
  1201.  
  1202.     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;"/>');
  1203.     $fieldset.append($row1a);
  1204.     $fieldset.append($row1b);
  1205.     $fieldset.append($row1c);
  1206.     $fieldset.append($row1d);
  1207.     $fieldset.append($row1e);
  1208.  
  1209.     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;"/>');
  1210.     $fieldset2.append($row2a);
  1211.     $fieldset2.append($row2b);
  1212.     $fieldset2.append($row2c);
  1213.     $fieldset2.append($row2d);
  1214.     $fieldset2.append($fieldset4);
  1215.  
  1216.     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;"/>');
  1217.     $fieldset3.append($row3a);
  1218.     $fieldset3.append($row3b);
  1219.     $fieldset3.append($row3c);
  1220.     $fieldset3.append($row3d);
  1221.     $fieldset3.append($row3e);
  1222.  
  1223.     $button_group.append($fieldset);
  1224.     $button_group.append($fieldset2);
  1225.     $button_group.append($fieldset3);
  1226.     //$button_group.append($martingale_button);
  1227.  
  1228.     $button_group.append($graphDiv);
  1229.     $button_group.append($legends);
  1230.     $button_group.append($graphDiv2);
  1231.     //$button_group.append($graphDiv3);
  1232.     $button_group.append("<div align='center' style='color:white;font-size:10pt;'>Inkha suite V" + version_c + " </div>");
  1233.     $container.append($fieldset_o);
  1234.  
  1235.     ///////////////////////////////// chat base buttons ////////////////////////////////////////
  1236.  
  1237.     var $chat_send = $('div#chat .chatbase:last-child'); //location of chatbase
  1238.  
  1239.     var $chat_button_group = $('<div style="width:675px;background-color:#787878 ;border:2px solid; border-color: #505050;" />');
  1240.  
  1241.     $button1 = $('<button title="REALLY DONT PRESS" style="width:80px;margin-right:10px;border:1px solid" id="button1" >DO NOT PRESS</button>');  
  1242.     $button1.click(function() {
  1243.         alert('ok now the world is gonna end... happy?');
  1244.     });  
  1245.     //$chat_button_group.append($button1);
  1246.  
  1247.     //$chat_send.append($chat_button_group);
  1248.  
  1249.     /////////////////////////////////////////////////////////////////////////////////////////////////
  1250.  
  1251.  
  1252.     //-------------------------------------- Add ui elements to page
  1253.     $(".chatstat").append('<a title="Toggles bot gui" id="showhidetrigger" href="#"><font color="blue">Show Bot</font></a>'); //toggles hide for gui
  1254.      
  1255.     $(".chatstat").append($container);
  1256.     $(".chatstat").append('<div style="clear:left;"/>');
  1257.  
  1258.     //-------------------------------------- Hide Graph and options Div
  1259.     $(document).ready(function() { // toggle hide function for graph
  1260.         $('#chipper3').hide();
  1261.         $('#chipperb4').hide();
  1262.         //$('#chipperb5').hide();
  1263.         $('#chipper5').hide();
  1264.     });
  1265.  
  1266.     //-------------------------------------- Add toggle for UI
  1267.     $(document).ready(function() { // toggle hide function for gui
  1268.         $('#chipper').hide();
  1269.         $('a#showhidetrigger').click(function() {
  1270.             $('#chipper').toggle(500);
  1271.         });
  1272.     });
  1273.  
  1274. }
  1275.  
  1276. //-------------------------------------- grabs date in readable format
  1277. function gets_date() {
  1278.     var now = new Date();
  1279.     var strDateTime = [
  1280.         [AddZero(now.getDate()), AddZero(now.getMonth() + 1), now.getFullYear()].join("/"), [AddZero(now.getHours()), AddZero(now.getMinutes())].join(":"), now.getHours() >= 12 ? "PM" : "AM"
  1281.     ].join(" ");
  1282.  
  1283.     function AddZero(num) {
  1284.         return (num >= 0 && num < 10) ? "0" + num : num + "";
  1285.     }
  1286.     return strDateTime;
  1287. }
  1288.  
  1289. //-------------------------------------- sleep function
  1290. function sleep(milliseconds) {
  1291.     var start = new Date().getTime();
  1292.     for (var i = 0; i < 1e7; i++) {
  1293.         if ((new Date().getTime() - start) > milliseconds) {
  1294.             break;
  1295.         }
  1296.     }
  1297. }
  1298.  
  1299. //-------------------------------------- scientific notation
  1300. function scientific(n) {
  1301.     n = String(n);
  1302.     var info = /([\d\.]+)e-(\d+)/i.exec(n);
  1303.     if (!info) {
  1304.         return n;
  1305.     }
  1306.  
  1307.     var num = info[1].replace('.', ''),
  1308.         numDecs = info[2] - 1;
  1309.     var output = "0.";
  1310.     for (var i = 0; i < numDecs; i++) {
  1311.         output += "0";
  1312.     }
  1313.     output += num;
  1314.  
  1315.     return output;
  1316. }
  1317.  
  1318. //-------------------------------------- starts on page load
  1319. $(document).ready(function() {
  1320.  
  1321.     which_site();
  1322.     console.log('Welcome to the Enhancement suite V' + version_c + '');
  1323.     log_message('Welcome to the Enhancement suite V' + version_c + '');
  1324.     console.log('\n');
  1325.     heart_beat();
  1326.  
  1327.  
  1328. });
  1329.  
  1330. function total_check() { //logic and check if bot has enough bank for martingale
  1331.  
  1332.     if ($multiplierInput !== undefined &&   $limiterInput !== undefined)
  1333.         if ($.isNumeric($multiplierInput.val()) && $.isNumeric($limiterInput.val()) && $.isNumeric($('#pct_bet').val())) {
  1334.  
  1335.             var total = 0;
  1336.             var mult = 1;
  1337.             var i;
  1338.             var res_val = parseFloat($("#reset_value").val()) - 1;
  1339.             var res_step = parseFloat($("#reset_step").val());
  1340.  
  1341.             if ($('#resetL_check').prop('checked')) {
  1342.  
  1343.  
  1344.                 for (i = 0; i < $limiterInput.val(); i++) {
  1345.  
  1346.                     total += $('#pct_bet').val() * mult;
  1347.                     mult *= $multiplierInput.val();          
  1348.                 }
  1349.  
  1350.                 var total2 = total * res_val;
  1351.                 total += total2;
  1352.                 $("#required_bank").val(total.toFixed(8));
  1353.  
  1354.             } else {
  1355.  
  1356.                 for (i = 0; i < $limiterInput.val(); i++) {
  1357.                     total += $('#pct_bet').val() * mult;
  1358.                     mult *= $multiplierInput.val();          
  1359.                 }
  1360.                 $("#required_bank").val(total.toFixed(8));
  1361.             }
  1362.  
  1363.             if (total !== 0 && total < $('#pct_balance').val()) {
  1364.                 // Good to go          
  1365.             } else {
  1366.                 // not enough balance          
  1367.             }      
  1368.         } else {
  1369.             //something is missing      
  1370.         }
  1371. }
  1372.  
  1373. //-------------------------------------- Post message in the log area
  1374. function log_message(message) {
  1375.     document.querySelector(".log").innerHTML = (message);
  1376.     setInterval(function() {
  1377.         document.querySelector(".log").innerHTML = " ";
  1378.     }, 6000);
  1379. }
  1380.  
  1381. //-------------------------------------- Win sound
  1382. function play_sound1() {
  1383.     if ($('#sound_check').prop('checked')) {
  1384.         //snd_alert.pause();
  1385.         //snd_beep.pause();
  1386.         //coin_drop.play();
  1387.         //coin_drop.currentTime = 0;
  1388.     } else {
  1389.         return;
  1390.     }
  1391. }
  1392.  
  1393. //-------------------------------------- Lose sound
  1394. function play_sound2() {
  1395.     if ($('#sound_check2').prop('checked')) {
  1396.         //snd_alert.pause();
  1397.         //coin_drop.pause();
  1398.         //snd_beep.play();
  1399.         //snd_beep.currentTime = 0;
  1400.     } else {
  1401.         return;
  1402.     }
  1403. }
  1404.  
  1405. //-------------------------------------- Bust sound
  1406. function play_sound3() {
  1407.     if ($('#sound_check3').prop('checked')) {
  1408.         //snd_beep.pause();
  1409.         //coin_drop.pause();
  1410.         //snd_alert.play();
  1411.         //snd_alert.currentTime = 0;
  1412.         //alert("Bot has bust !!");
  1413.     } else {
  1414.         return;
  1415.     }
  1416. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement