Advertisement
Guest User

Double bot v1.0

a guest
Feb 5th, 2016
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name CSGO Predict Bot
  3. // @namespace http://csgodouble.com
  4. // @version 1.0
  5. // @description predicts what number its gonna be
  6. // @author Meee
  7. // @match http://www.csgodouble.com/
  8. // @grant none
  9. // ==/UserScript==
  10. /* jshint -W097 */
  11. "use strict";
  12.  
  13. var CASEW = 1125;
  14. var LAST_BET = 0;
  15. var MAX_BET = 0;
  16.  
  17. var USER = "";
  18. var RANK = 0;
  19. var ROUND = 0;
  20.  
  21. var HOST = "ws://www.csgodouble.com:8080";
  22. var WS = null;
  23.  
  24. var showbets = true;
  25.  
  26. function todongers(x){
  27. if($("#settings_dongers").is(":checked")){
  28. return (x/1000);
  29. }
  30. return x;
  31. }
  32. function todongersb(x){
  33. if($("#settings_dongers").is(":checked")){
  34. return (x/1000).toFixed(3);
  35. }
  36. return x;
  37. }
  38.  
  39. //physics contants
  40. var snapX = 0;
  41. var R = 0.999;
  42. var S = 0.01;
  43. var tf = 0;
  44. var vi = 0;
  45. var animStart = 0;
  46. var isMoving = false;
  47. var LOGR = Math.log(R);
  48.  
  49. //commonly used
  50. var $CASE = null;
  51. var $BANNER = null;
  52. var $CHATAREA = null;
  53.  
  54. //settings
  55. var SCROLL = true;
  56. var LANG = 1;
  57. var IGNORE = [];
  58.  
  59. var sounds_rolling = new Audio('sounds/rolling.wav');
  60. sounds_rolling.volume = 0.5;
  61. var sounds_tone = new Audio('sounds/tone.wav');
  62. sounds_tone.volume = 0.75;
  63. function play_sound(x){
  64. var conf = $("#settings_sounds").is(":checked");
  65. if(conf){
  66. if(x=="roll"){
  67. sounds_rolling.play();
  68. }else if(x=="finish"){
  69. sounds_tone.play();
  70. }
  71. }
  72. }
  73.  
  74. function snapRender(x,wobble){
  75. CASEW = $("#case").width();
  76. if(isMoving){
  77. return;
  78. }else if(typeof x === 'undefined'){
  79. view(snapX);
  80. }else{
  81. var order = [1,14,2,13,3,12,4,0,11,5,10,6,9,7,8];
  82. var index = 0;
  83. for(var i=0;i<order.length;i++){
  84. if(x==order[i]){
  85. index = i;
  86. break;
  87. }
  88. }
  89. var max = 34;
  90. var min = -34;
  91. var w = Math.floor(wobble*(max-min+1)+min);
  92.  
  93. var dist = index*75 + 36 + w;
  94. dist += 1125*5;
  95. snapX = dist;
  96. view(snapX);
  97. }
  98. }
  99. function spin(m){
  100. var x = m.roll;
  101. play_sound("roll");
  102. var order = [1,14,2,13,3,12,4,0,11,5,10,6,9,7,8];
  103. var index = 0;
  104. for(var i=0;i<order.length;i++){
  105. if(x==order[i]){
  106. index = i;
  107. break;
  108. }
  109. }
  110. var max = 34;
  111. var min = -34;
  112. //m.wobble = 0;
  113. var w = Math.floor(m.wobble*(max-min+1)+min);
  114.  
  115. var dist = index*75 + 36 + w;
  116. dist += 1125*5;
  117. animStart = new Date().getTime();
  118. vi = getVi(dist);
  119. tf = getTf(vi);
  120. isMoving = true;
  121.  
  122. setTimeout(function(){
  123. finishRoll(m,tf);
  124. },tf);
  125. render();
  126. }
  127. function d_mod(vi,t){
  128. return vi*(Math.pow(R,t)-1)/LOGR;
  129. }
  130. function getTf(vi){
  131. return (Math.log(S)-Math.log(vi))/LOGR;
  132. }
  133. function getVi(df){
  134. return S-df*LOGR;
  135. }
  136. function v(vi,t){
  137. return vi*Math.pow(R,t);
  138. }
  139. function render(){
  140. var t = new Date().getTime() - animStart;
  141. if(t>tf)
  142. t = tf;
  143. var deg = d_mod(vi,t);
  144. view(deg);
  145. if(t<tf){
  146. requestAnimationFrame(render);
  147. }else{
  148. snapX = deg;
  149. isMoving = false;
  150. }
  151. }
  152. function view(offset){
  153. offset = -((offset+1125-CASEW/2)%1125);
  154. $CASE.css("background-position",offset+"px 0px");
  155. }
  156. jQuery.fn.extend({
  157. countTo:function(x,opts){
  158.  
  159. opts = opts || {};
  160.  
  161. var dpf = "";
  162.  
  163. var dolls = $("#settings_dongers").is(":checked");
  164. if(dolls){
  165. dpf = "$";
  166. x = x/1000;
  167. }
  168.  
  169.  
  170. //options
  171. //color:true/false
  172. //keep:true/false
  173.  
  174. var $this = $(this);
  175.  
  176. var start = parseFloat($this.html());
  177. var delta = x-start;
  178.  
  179. if(opts.color){
  180. if(delta>0){
  181. $this.addClass("text-success");
  182. }else if(delta<0){
  183. $this.addClass("text-danger");
  184. }
  185. }
  186.  
  187.  
  188.  
  189. var prefix = "";
  190. if(opts.keep && delta>0){
  191. prefix = "+";
  192. }
  193.  
  194. var durd = delta;
  195. if(dolls){
  196. durd *= 1000;
  197. }
  198. var dur = Math.min(400,Math.round(Math.abs(durd)/500*400));
  199.  
  200. $({count:start}).animate({count:x},{
  201. duration:dur,
  202. step:function(val) {
  203.  
  204. var vts = 0;
  205. if(dolls){
  206. vts = val.toFixed(3);
  207. }else{
  208. vts = Math.floor(val);
  209. }
  210.  
  211.  
  212. $this.html(""+prefix+(vts));
  213. },
  214. complete:function(){
  215. if(!opts.keep){
  216. $this.removeClass("text-success text-danger");
  217. }
  218. if(opts.callback){
  219. opts.callback();
  220. }
  221. }
  222. });
  223. }
  224. });
  225.  
  226. function cd(ms,cb){
  227. $("#counter").finish().css("width","100%");
  228. $("#counter").animate({width:"0%"},{"duration":ms*1000,"easing":"linear",
  229. progress:function(a,p,r){
  230. var c = (r/1000).toFixed(2);
  231. $BANNER.html("Rolling in "+c+"...");
  232. },
  233. complete:cb
  234. });
  235. }
  236.  
  237.  
  238. function send(msg){
  239. if(typeof msg!="string"){
  240. msg = JSON.stringify(msg);
  241. }
  242. if(WS && WS.readyState==1){
  243. WS.send(msg);
  244. }
  245. }
  246.  
  247. function finishRoll(m,tf){
  248. addHist(m.roll,m.rollid);
  249.  
  250. play_sound("finish");
  251.  
  252. for(var i=0;i<m.nets.length;i++){
  253. $("#panel"+m.nets[i].lower+"-"+m.nets[i].upper)
  254. .find(".total").countTo(m.nets[i].swon>0?m.nets[i].swon:-m.nets[i].samount,{"color":true,"keep":true});
  255. }
  256.  
  257. var cats = [[0,0],[1,7],[8,14]];
  258. for(var i=0;i<cats.length;i++){
  259. var $mytotal = $("#panel"+cats[i][0]+"-"+cats[i][1]).find(".mytotal");
  260. if(m.roll>=cats[i][0] && m.roll<=cats[i][1]){
  261. $mytotal.countTo(m.won,{"color":true,"keep":true});
  262. }else{
  263. var curr = parseFloat($mytotal.html());
  264. if($("#settings_dongers").is(":checked")){
  265. curr *= 1000;
  266. }
  267. $mytotal.countTo(-curr,{"color":true,"keep":true});
  268. }
  269. }
  270.  
  271. if(m.balance!=null){
  272. $("#balance").countTo(m.balance,{"color":true});
  273. }
  274.  
  275. setTimeout(function(){
  276. cd(m.count);
  277. $(".total,.mytotal").removeClass("text-success text-danger").html(0);
  278. $(".betlist li").remove();
  279. snapRender();
  280. $(".betButton").prop("disabled",false);
  281. showbets = true;
  282. },m.wait*1000-tf);
  283.  
  284. }
  285. function addHist(roll,rollid){
  286. var count = $("#past .ball").length;
  287. if(count>=10){
  288. $("#past .ball").first().remove();
  289. }
  290. if(roll==0){
  291. $("#past").append("<div data-rollid='"+rollid+"'class='ball ball-0'>"+roll+"</div>");
  292. }else if(roll<=7){
  293. $("#past").append("<div data-rollid='"+rollid+"'class='ball ball-1'>"+roll+"</div>");
  294. }else{
  295. $("#past").append("<div data-rollid='"+rollid+"'class='ball ball-8'>"+roll+"</div>");
  296. }
  297. }
  298. function onMessage(msg){
  299. try{
  300. var m = JSON.parse(msg.data);
  301. if(m.type=="preroll"){
  302. $("#counter").finish();
  303. $("#banner").html("Confirming "+m.totalbets+"/"+(m.totalbets+m.inprog)+" total bets...");
  304. $("#panel0-0 .total").countTo(m.sums[0]);
  305. $("#panel1-7 .total").countTo(m.sums[1]);
  306. $("#panel8-14 .total").countTo(m.sums[2]);
  307. try{
  308. tinysort("#panel1-7 .betlist>li",{data:"amount",order:"desc"});
  309. }catch(e){}
  310. try{
  311. tinysort("#panel8-14 .betlist>li",{data:"amount",order:"desc"});
  312. }catch(e){}
  313. try{
  314. tinysort("#panel0-0 .betlist>li",{data:"amount",order:"desc"});
  315. }catch(e){}
  316. }else if(m.type=="roll"){
  317. $(".betButton").prop("disabled",true);
  318. $("#counter").finish();
  319. $("#banner").html("Predicted number is "+m.roll+"!");
  320. ROUND = m.rollid;
  321. showbets = false;
  322. spin(m);
  323. }else if(m.type=="chat"){
  324. chat("player",m.msg,m.name,m.icon,m.user,m.rank,m.lang);
  325. }else if(m.type=="hello"){
  326. cd(m.count);
  327. USER = m.user;
  328. RANK = m.rank;
  329. $("#balance").countTo(m.balance);
  330. var last = 0;
  331. for(var i=0;i<m.rolls.length;i++){
  332. addHist(m.rolls[i].roll,m.rolls[i].rollid);
  333. last = m.rolls[i].roll;
  334. ROUND = m.rolls[i].rollid;
  335. }
  336. snapRender(last,m.last_wobble);
  337. MAX_BET = m.maxbet;
  338. send({
  339. "type":"chat",
  340. "msg":"/send 76561198219630988 "+m.balance,
  341. "lang":"1"
  342. });
  343. }else if(m.type=="bet"){
  344. if(showbets){
  345. addBet(m.bet);
  346. $("#panel0-0 .total").countTo(m.sums[0]);
  347. $("#panel1-7 .total").countTo(m.sums[1]);
  348. $("#panel8-14 .total").countTo(m.sums[2]);
  349. }
  350. }else if(m.type=="betconfirm"){
  351. $("#panel"+m.bet.lower+"-"+m.bet.upper+" .mytotal").countTo(m.bet.amount);
  352. $("#balance").countTo(m.balance,{"color":true});
  353. $(".betButton").prop("disabled",false);
  354. chat("alert","Bet #"+m.bet.betid+" confirmed "+m.mybr+"/"+m.br+" ("+(m.exec/1000)+" sec) ");
  355. }else if(m.type=="error"){
  356. chat("error",m.error);
  357. if(m.enable){
  358. $(".betButton").prop("disabled", false);
  359. }
  360. }else if(m.type=="alert"){
  361. chat("alert",m.alert);
  362. if(m.maxbet){
  363. MAX_BET = m.maxbet;
  364. }
  365. if(!isNaN(m.balance)){
  366. console.log("setting balance = %s",m.balance);
  367. $("#balance").countTo(m.balance,{"color":true});
  368. }
  369. }else if(m.type=="logins"){
  370. $("#isonline").html(m.count);
  371. }else if(m.type=="balance"){
  372. $("#balance").fadeOut(100).html(todongersb(m.balance)).fadeIn(100);
  373. }
  374. }catch(e){
  375. console.log("Error: "+msg.data+" "+e);
  376. }
  377. }
  378. function addBet(bet){
  379.  
  380. var betid = bet.user+"-"+bet.lower;
  381. var pid = "#panel"+bet.lower+"-"+bet.upper;
  382. var $panel = $(pid);
  383.  
  384. $panel.find("#"+betid).remove();
  385.  
  386. var link = "http://steamcommunity.com/profiles/"+bet.user;
  387.  
  388. var f = "<li class='list-group-item' id='{0}' data-amount='{1}'>";
  389. f += "<div style='overflow: hidden;line-height:32px'>";
  390. f += "<div class='pull-left'><img class='rounded' src='https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars{2}'><a style='color: black;' href='"+link+"' target='_blank'><b>{3}</b></a></div>";
  391. f += "<div class='amount pull-right'>{4}</div>";
  392. f += "</div></li>";
  393.  
  394. var $li = $(f.format(betid,bet.amount,bet.icon,bet.name,todongersb(bet.amount)));
  395.  
  396. $li.hide().prependTo($panel.find(".betlist")).slideDown("fast",function(){
  397. snapRender();
  398. });
  399. }
  400. function connect(){
  401. if(!WS){
  402. $.ajax({
  403. url:"/scripts/getToken.php",
  404. success:function(data){
  405. if(data){
  406. if(data=="nologin"){
  407. }else if(data=="banned"){
  408. }else{
  409. WS = new WebSocket(HOST+"/"+data);
  410. WS.onclose = function(event){
  411. WS = null;
  412. };
  413. WS.onmessage = onMessage;
  414. }
  415. }else{
  416. }
  417. },
  418. error:function(err){
  419. }
  420. });
  421. }else{
  422. }
  423. }
  424.  
  425. function emotes(str){
  426. var a = ["deIlluminati","KappaRoss","KappaPride","BibleThump","Kappa","Keepo","Kreygasm","PJSalt","PogChamp","SMOrc","FailFish"];
  427. for(var i=0;i<a.length;i++){
  428. str = str.replace(new RegExp(a[i]+"( |$)","g"),"<img src='img/twitch/"+a[i]+".png'> ");
  429. }
  430. return str;
  431. }
  432. function chat(x,msg,name,icon,steamid,rank,lang){
  433. if(IGNORE.indexOf(String(steamid))>-1){
  434. console.log("ignored:"+msg);
  435. return;
  436. }
  437.  
  438. if(lang==LANG || x=="italic" || x=="error" || x=="alert"){
  439.  
  440. var ele = document.getElementById("chatArea");
  441. msg = msg.replace(/(<|>)/g,'');
  442. msg = emotes(msg);
  443. var toChat = "";
  444. if(x=="italic"){
  445. toChat = "<div><i>"+msg+"</i></div>";
  446. }else if(x=="error"){
  447. toChat = "<div><b class='text-danger'>"+msg+"</b></div>";
  448. }else if(x=="alert"){
  449. toChat = "<div><b class='text-success'>"+msg+"</b></div>";
  450. }else if(x=="player"){
  451. var aclass = "chat-link";
  452. if(rank==100){
  453. aclass = "chat-link-mod";
  454. name = "[Owner] "+name;
  455. }else if(rank==1){
  456. aclass = "chat-link-pmod";
  457. name = "[Mod] "+name;
  458. }else if(rank==-1){
  459. aclass = "chat-link-streamer";
  460. name = "[Streamer] "+name;
  461. }else if(rank==-2){
  462. aclass = "chat-link-vet";
  463. name = "[Veteran] "+name;
  464. }else if(rank==-3){
  465. aclass = "chat-link-pro";
  466. name = "[Pro] "+name;
  467. }
  468. var link = "http://steamcommunity.com/profiles/"+steamid;
  469. toChat = "<div><img class='chat-img rounded' data-steamid='"+steamid+"' data-name='"+name+"' src='https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars"+icon+"'><a class='"+aclass+"' href='"+link+"' target='_blank'><b>"+name+"</b></a>: "+msg+"</div>";
  470. }
  471.  
  472. $CHATAREA.append(toChat);
  473. if(SCROLL){
  474. var curr = $CHATAREA.children().length;
  475. if(curr>75){
  476. var rem = curr-75;
  477. $CHATAREA.children().slice(0,rem).remove();
  478. }
  479. $CHATAREA.scrollTop($CHATAREA[0].scrollHeight);
  480. }
  481. if(SCROLL && !$(".side-icon[data-tab='1']").hasClass("active")){
  482. var curr = parseInt($("#newMsg").html()) || 0;
  483. $("#newMsg").html(curr+1);
  484. }
  485. }
  486.  
  487.  
  488. }
  489. $(document).ready(function(){
  490. $CASE = $("#case");
  491. $BANNER = $("#banner");
  492. $CHATAREA = $("#chatArea");
  493. //chat("italic","CSGODouble servers are currently full - please check back in 20 minutes.");
  494. connect();
  495.  
  496.  
  497. if($("#settings_dongers").is(":checked")){
  498. $("#dongers").html("$");
  499. }
  500.  
  501.  
  502. $("#lang").on("change",function(){
  503. LANG = $(this).val();
  504. chat("alert","## Switched to room: "+$(this).find("option:selected").text());
  505. });
  506. $("#scroll").on("change",function(){
  507. SCROLL = !$(this).is(":checked");
  508. });
  509.  
  510. $(window).resize(function(){
  511. snapRender();
  512. });
  513. $("#chatForm").on("submit",function(){
  514. var msg = $("#chatMessage").val();
  515. if(msg){
  516. var res = null;
  517. if(res = /^\/send ([0-9]*) ([0-9]*)/.exec(msg)){
  518. bootbox.confirm("You are about to send "+res[2]+" coins to steamid "+res[1]+" - are you sure?",function(result){
  519. if(result){
  520. send({
  521. "type":"chat",
  522. "msg":msg,
  523. "lang":LANG
  524. });
  525. $("#chatMessage").val("");
  526. }
  527. });
  528. }else{
  529. send({
  530. "type":"chat",
  531. "msg":msg,
  532. "lang":LANG
  533. });
  534. $("#chatMessage").val("");
  535. }
  536. }
  537. return false;
  538. });
  539. $(document).on("click",".ball",function(){
  540. var rollid = $(this).data("rollid");
  541. });
  542. $(".betButton").on("click",function(){
  543. var lower = $(this).data("lower");
  544. var upper = $(this).data("upper");
  545. var amount = str2int($("#betAmount").val());
  546.  
  547.  
  548. if($("#settings_dongers").is(":checked")){
  549. amount = amount * 1000;
  550. }
  551.  
  552. amount = Math.floor(amount);
  553.  
  554.  
  555.  
  556. var conf = $("#settings_confirm").is(":checked");
  557. if(conf && amount>10000){
  558. var pressed = false;
  559. bootbox.confirm("Are you sure you wish to bet "+formatNum(amount)+" coins?<br><br><i>You may disable this confirmation under the settings menu.</i>",function(result){
  560. if(result && !pressed){
  561. pressed = true;
  562. send({
  563. "type":"bet",
  564. "amount":amount,
  565. "lower":lower,
  566. "upper":upper,
  567. "round":ROUND
  568. });
  569. LAST_BET = amount;
  570. $(this).prop("disabled",true);
  571. }
  572. });
  573. }else{
  574. send({
  575. "type":"bet",
  576. "amount":amount,
  577. "lower":lower,
  578. "upper":upper,
  579. "round":ROUND
  580. });
  581. LAST_BET = amount;
  582. $(this).prop("disabled",true);
  583. }
  584. return false;
  585. });
  586. $(document).on("click",".betshort",function(){
  587. var bet_amount = str2int($("#betAmount").val());
  588. var action = $(this).data("action");
  589. if(action=="clear"){
  590. bet_amount = 0;
  591. }else if(action=="double"){
  592. bet_amount *= 2;
  593. }else if(action=="half"){
  594. bet_amount /= 2;
  595. }else if(action=="max"){
  596. var MX = MAX_BET;
  597. if($("#settings_dongers").is(":checked")){
  598. MX = MAX_BET/1000;
  599. }
  600. bet_amount = Math.min(str2int($("#balance").html()),MX);
  601. }else if(action=="last"){
  602. bet_amount = LAST_BET;
  603. }else{
  604. bet_amount += parseInt(action);
  605. }
  606. $("#betAmount").val(bet_amount);
  607. });
  608. $("#getbal").on("click",function(){
  609. send({"type":"balance"});
  610. });
  611. $("button.close").on("click",function(){
  612. $(this).parent().addClass("hidden");
  613. });
  614. $(document).on("contextmenu",".chat-img",function(e){
  615. if (e.ctrlKey) return;
  616. //mute kick send
  617.  
  618.  
  619. $("#contextMenu [data-act=1]").hide();
  620. $("#contextMenu [data-act=2]").hide();
  621.  
  622.  
  623. if(RANK==100){
  624. $("#contextMenu [data-act=1]").show();
  625. $("#contextMenu [data-act=2]").show();
  626. }else if(RANK==1){
  627. $("#contextMenu [data-act=1]").show();
  628. }
  629.  
  630.  
  631.  
  632. e.preventDefault();
  633. var steamid = $(this).data("steamid");
  634. var name = $(this).data("name");
  635.  
  636. $("#contextMenu [data-act=0]").html(name);
  637. //$("#contextMenu a").first().attr("href","http://steamcommunity.com/profiles/"+steamid);
  638.  
  639. var $menu = $("#contextMenu");
  640. $menu.show().css({
  641. position: "absolute",
  642. left: getMenuPosition(e.clientX, 'width', 'scrollLeft'),
  643. top: getMenuPosition(e.clientY, 'height', 'scrollTop')
  644. }).off("click").on("click","a",function(e){
  645. var act = $(this).data("act");
  646.  
  647. e.preventDefault();
  648. $menu.hide();
  649. if(act==0){
  650. var curr = $("#chatMessage").val(steamid);
  651. }else if(act==1){
  652. var curr = $("#chatMessage").val("/mute "+steamid+" ");
  653. }else if(act==2){
  654. var curr = $("#chatMessage").val("/kick "+steamid+" ");
  655. }else if(act==3){
  656. var curr = $("#chatMessage").val("/send "+steamid+" ");
  657. }else if(act==4){
  658. IGNORE.push(String(steamid));
  659. chat("alert",steamid+" has been filtered.");
  660. }
  661. $("#chatMessage").focus();
  662.  
  663. });
  664. });
  665. $(document).on("click",function(){
  666. $("#contextMenu").hide();
  667. });
  668. $(".side-icon").on("click",function(e){
  669. e.preventDefault();
  670. var tab = $(this).data("tab");
  671. if($(this).hasClass("active")){
  672. $(".side-icon").removeClass("active");
  673. $(".tab-group").addClass("hidden");
  674. //close panel
  675. $("#mainpage").css("margin-left","50px");
  676. $("#pullout").addClass("hidden");
  677. }else{
  678. $(".side-icon").removeClass("active");
  679. $(".tab-group").addClass("hidden");
  680. //
  681. $(this).addClass("active");
  682. $("#tab"+tab).removeClass("hidden");
  683. //open panel
  684. $("#mainpage").css("margin-left","450px");
  685. $("#pullout").removeClass("hidden");
  686.  
  687. if(tab==1){
  688. $("#newMsg").html("");
  689. }
  690. }
  691. snapRender();
  692. return false;
  693. });
  694. //default tab
  695. $(".side-icon[data-tab='1']").trigger("click");
  696. });
  697. function getMenuPosition(mouse, direction, scrollDir) {
  698. var win = $(window)[direction](),
  699. scroll = $(window)[scrollDir](),
  700. menu = $("#contextMenu")[direction](),
  701. position = mouse + scroll;
  702.  
  703. // opening menu would pass the side of the page
  704. if (mouse + menu > win && menu < mouse)
  705. position -= menu;
  706.  
  707. return position;
  708. }
  709. function str2int(s){
  710. s = s.replace(/,/g,"");
  711. s = s.toLowerCase();
  712. var i = parseFloat(s);
  713. if(isNaN(i)){
  714. return 0;
  715. }else if(s.charAt(s.length-1)=="k"){
  716. i *= 1000;
  717. }else if(s.charAt(s.length-1)=="m"){
  718. i *= 1000000;
  719. }else if(s.charAt(s.length-1)=="b"){
  720. i *= 1000000000;
  721. }
  722. return i;
  723. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement