Advertisement
Guest User

Untitled

a guest
Jan 21st, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.38 KB | None | 0 0
  1. "use strict";
  2. var mAnimstart = 0;
  3. var CASEW = 1050;
  4. var LAST_BET = 0;
  5. var MAX_BET = 0;
  6. var HIDEG = false;
  7. var USER = "";
  8. var RANK = 0;
  9. var ROUND = 0;
  10. var HOST = ":8080";
  11. var SOCKET = null;
  12. var showbets = true;
  13. var boxIsMoving = false;
  14. var $MBOX01 = null;
  15. var $MBOX02 = null;
  16. var $MBOX03 = null;
  17. var $MBOX04 = null;
  18. var mSnapX = 0;
  19. var mBoxStarted = 0;
  20. var mR = 0.999;
  21. var mS = 0.01;
  22. var mtf = 0;
  23. var mvi = 0;
  24. var bob = 0;
  25. var lastTime;
  26. var dontslowroll = false;
  27. var sounds_rolling2 = new Audio('/template/sounds/rolling.wav');
  28. var sounds_tone2 = new Audio('/template/sounds/tone.wav');
  29. sounds_rolling2.volume = 0.75;
  30. sounds_tone2.volume = 0.5;
  31.  
  32. function todongers(x) {
  33. if ($("#settings_dongers").is(":checked")) {
  34. return (x / 1000);
  35. }
  36. return x;
  37. }
  38.  
  39. function todongersb(x) {
  40. if ($("#settings_dongers").is(":checked")) {
  41. return (x / 1000).toFixed(3);
  42. }
  43. return x;
  44. }
  45. var snapX = 0;
  46. var R = 0.999;
  47. var S = 0.01;
  48. var tf = 0;
  49. var vi = 0;
  50. var animStart = 0;
  51. var animStart2;
  52. var isMoving = false;
  53. var LOGR = Math.log(R);
  54. var $CASE = null;
  55. var $BANNER = null;
  56. var $CHATAREA = null;
  57. var SCROLL = true;
  58. var LANG = 1;
  59. var IGNORE = [];
  60. var sounds_rolling = new Audio('/template/sounds/rolling.wav');
  61. sounds_rolling.volume = 0.5;
  62. var sounds_tone = new Audio('/template/sounds/tone.wav');
  63. sounds_tone.volume = 0.75;
  64.  
  65. function play_sound(x) {
  66. var conf = $("#settings_sounds").is(":checked");
  67. if (conf) {
  68. if (x == "roll") {
  69. sounds_rolling.play();
  70. } else if (x == "finish") {
  71. sounds_tone.play();
  72. } else if(x == "boom") {
  73. sounds_boom.play();
  74. } else if(x == "click") {
  75. sounds_click.play();
  76. } else if(x == "roll2") {
  77. sounds_rolling2.play();
  78. } else if(x == "finish2") {
  79. sounds_tone2.play();
  80. }
  81. }
  82. }
  83.  
  84. function snapRender(x, wobble) {
  85. CASEW = $("#case").width();
  86. if (isMoving) return;
  87. else if (typeof x === 'undefined') view(snapX);
  88. else {
  89. var order = [1, 14, 2, 13, 3, 12, 4, 0, 11, 5, 10, 6, 9, 7, 8];
  90. var index = 0;
  91. for (var i = 0; i < order.length; i++) {
  92. if (x == order[i]) {
  93. index = i;
  94. break
  95. }
  96. }
  97. var max = 32;
  98. var min = -32;
  99. var w = Math.floor(wobble * (max - min + 1) + min);
  100. var dist = index * 70 + 36 + w;
  101. dist += 1050 * 5;
  102. snapX = dist;
  103. view(snapX)
  104. }
  105. }
  106.  
  107. function spin(m) {
  108. var x = m.roll;
  109. play_sound("roll");
  110. var order = [1, 14, 2, 13, 3, 12, 4, 0, 11, 5, 10, 6, 9, 7, 8];
  111. var index = 0;
  112. for (var i = 0; i < order.length; i++) {
  113. if (x == order[i]) {
  114. index = i;
  115. break
  116. }
  117. }
  118. var max = 32;
  119. var min = -32;
  120. var w = Math.floor(m.wobble * (max - min + 1) + min);
  121. var dist = index * 70 + 36 + w;
  122. dist += 1050 * 5;
  123. animStart = new Date().getTime();
  124. vi = getVi(dist);
  125. tf = getTf(vi);
  126. isMoving = true;
  127. setTimeout(function() {
  128. finishRoll(m, tf)
  129. }, tf);
  130. render()
  131. }
  132.  
  133. function d_mod(vi, t) {
  134. return vi * (Math.pow(R, t) - 1) / LOGR;
  135. }
  136.  
  137. function getTf(vi) {
  138. return (Math.log(S) - Math.log(vi)) / LOGR;
  139. }
  140.  
  141. function getVi(df) {
  142. return S - df * LOGR;
  143. }
  144.  
  145. function v(vi, t) {
  146. return vi * Math.pow(R, t);
  147. }
  148.  
  149. function render() {
  150. var t = new Date().getTime() - animStart;
  151. if (t > tf)
  152. t = tf;
  153. var deg = d_mod(vi, t);
  154. view(deg);
  155. if (t < tf) {
  156. requestAnimationFrame(render);
  157. } else {
  158. snapX = deg;
  159. isMoving = false;
  160. }
  161. }
  162.  
  163. function view(offset) {
  164. offset = -((offset + 1050 - CASEW / 2) % 1050);
  165. $CASE.css("background-position", offset + "px 0px");
  166. }
  167.  
  168. function spin1234(){
  169. animStart2 = new Date().getTime();
  170. lastTime = new Date().getTime();
  171. spin123();
  172. }
  173. function spin123(){
  174. if(dontslowroll){
  175. return;
  176. }
  177. var t = new Date().getTime() - animStart2;
  178. var deg = d_mod(bob, t);
  179. view(deg);
  180. bob += (new Date().getTime()-lastTime)/10000;
  181. lastTime = new Date().getTime();
  182. requestAnimationFrame(spin123);
  183. }
  184.  
  185. jQuery.fn.extend({
  186. countTo: function(x, opts) {
  187. opts = opts || {};
  188. var dpf = "";
  189. var dolls = $("#settings_dongers").is(":checked");
  190. if (dolls) {
  191. dpf = "$";
  192. x = x / 1000;
  193. }
  194. var $this = $(this);
  195. var start = parseFloat($this.html());
  196. var delta = x - start;
  197. if (opts.color) {
  198. if (delta > 0) {
  199. $this.addClass("text-success");
  200. } else if (delta < 0) {
  201. $this.addClass("text-danger");
  202. }
  203. }
  204. var prefix = "";
  205. if (opts.keep && delta > 0) {
  206. prefix = "+";
  207. }
  208. var durd = delta;
  209. if (dolls) {
  210. durd *= 1000;
  211. }
  212. var dur = Math.min(400, Math.round(Math.abs(durd) / 500 * 400));
  213. $({
  214. count: start
  215. }).animate({
  216. count: x
  217. }, {
  218. duration: dur,
  219. step: function(val) {
  220. var vts = 0;
  221. if (dolls) {
  222. vts = val.toFixed(3);
  223. } else {
  224. vts = Math.floor(val);
  225. }
  226. $this.html("" + prefix + (vts));
  227. },
  228. complete: function() {
  229. if (!opts.keep) {
  230. $this.removeClass("text-success text-danger");
  231. }
  232. if (opts.callback) {
  233. opts.callback();
  234. }
  235. }
  236. });
  237. }
  238. });
  239.  
  240.  
  241.  
  242. function cd(ms, cb) {
  243. $("#counter").finish().css("width", "100%");
  244. $("#counter").animate({
  245. width: "0%"
  246. }, {
  247. "duration": ms * 1000,
  248. "easing": "linear",
  249. progress: function(a, p, r) {
  250. var c = (r / 1000).toFixed(2);
  251. $BANNER.html("Rolling in " + c + "...");
  252. },
  253. complete: cb
  254. });
  255. }
  256.  
  257. function send(msg) {
  258. if (SOCKET) {
  259. SOCKET.emit('mes', msg);
  260. }
  261. }
  262.  
  263. function finishRoll(m, tf) {
  264. dontslowroll = false;
  265. setTimeout(function(){ spin1234();}, 1000);
  266. setTimeout(function(){ animStart2 = animStart;}, 1000);
  267. setTimeout(function(){ bob = vi;}, 1000);
  268. $BANNER.html("Rolled number " + m.roll + "!");
  269. addHist(m.roll, m.rollid);
  270. play_sound("finish");
  271. for (var i = 0; i < m.nets.length; i++) {
  272. $("#panel" + m.nets[i].lower + "-" + m.nets[i].upper).find(".total").countTo(m.nets[i].swon > 0 ? m.nets[i].swon : -m.nets[i].samount, {
  273. "color": true,
  274. "keep": true
  275. });
  276. }
  277. var cats = [
  278. [0, 0],
  279. [1, 7],
  280. [8, 14]
  281. ];
  282. for (var i = 0; i < cats.length; i++) {
  283. var $mytotal = $("#panel" + cats[i][0] + "-" + cats[i][1]).find(".mytotal");
  284. if (m.roll >= cats[i][0] && m.roll <= cats[i][1]) {
  285. $mytotal.countTo(m.won, {
  286. "color": true,
  287. "keep": true
  288. });
  289. } else {
  290. var curr = parseFloat($mytotal.html());
  291. if ($("#settings_dongers").is(":checked")) {
  292. curr *= 1000;
  293. }
  294. $mytotal.countTo(-curr, {
  295. "color": true,
  296. "keep": true
  297. });
  298. }
  299. }
  300. if (m.balance != null) {
  301. $("#balance").countTo(m.balance, {
  302. "color": true
  303. });
  304. checkplus(m.balance);
  305. }
  306. setTimeout(function() {
  307. cd(m.count);
  308. $(".total,.mytotal").removeClass("text-success text-danger").html(0);
  309. $(".betlist li").remove();
  310. snapRender();
  311. $(".betButton").prop("disabled", false);
  312. showbets = true;
  313. }, m.wait * 1000 - tf);
  314. }
  315.  
  316. function checkplus(balance) {
  317. $('#oneplusbutton').show();
  318. }
  319.  
  320. function addHist(roll, rollid) {
  321. var count = $("#past .ball").length;
  322. if (count >= 10) {
  323. $("#past .ball").first().remove();
  324. }
  325. if (roll == 0) {
  326. $("#past").append("<div class='ball ball-0'><img class='hover' src='/template/img/static.png' height='45px'/></div>");
  327. } else if (roll <= 7) {
  328. $("#past").append("<div class='ball ball-1'><img class='hover' src='/template/img/t.png'/></div>");
  329. } else {
  330. $("#past").append("<div class='ball ball-8'><img class='hover' src='/template/img/ct.png'/></div>");
  331. }
  332. }
  333.  
  334. function onMessage(msg) {
  335. var m = msg;
  336. console.log(msg);
  337. if (m.type == "preroll") {
  338. $("#counter").finish();
  339. $("#banner").html("Confirming " + m.totalbets + "/" + (m.totalbets + m.inprog) + " total bets...");
  340. $("#panel0-0-t .total").countTo(m.sums[0]);
  341. $("#panel1-7-t .total").countTo(m.sums[1]);
  342. $("#panel8-14-t .total").countTo(m.sums[2]);
  343. try {
  344. tinysort("#panel1-7-t .betlist>li", {
  345. data: "amount",
  346. order: "desc"
  347. });
  348. } catch (e) {}
  349. try {
  350. tinysort("#panel8-14-t .betlist>li", {
  351. data: "amount",
  352. order: "desc"
  353. });
  354. } catch (e) {}
  355. try {
  356. tinysort("#panel0-0-t .betlist>li", {
  357. data: "amount",
  358. order: "desc"
  359. });
  360. } catch (e) {}
  361. } else if (m.type == "roll") {
  362. dontslowroll = true;
  363. $(".betButton").prop("disabled", true);
  364. $("#counter").finish();
  365. $("#banner").html("Rolling");
  366. ROUND = m.rollid;
  367. showbets = false;
  368. spin(m);
  369. } else if (m.type == "chat") {
  370. chat("player", m.msg, m.name, m.icon, m.user, m.rank, m.lang, m.hide);
  371. } else if (m.type == "hello") {
  372. $('#b1balance').countTo(m.balance);
  373. $('#b2balance').countTo(m.balance);
  374. $('#b3balance').countTo(m.balance);
  375. $('#b4balance').countTo(m.balance);
  376. cd(m.count);
  377. USER = m.user; // steamid
  378. RANK = m.rank; // rank admin
  379. $("#balance").countTo(m.balance);
  380. checkplus(m.balance);
  381. var last = 0;
  382. for (var i = 0; i < m.rolls.length; i++) {
  383. addHist(m.rolls[i].roll, m.rolls[i].rollid);
  384. last = m.rolls[i].roll;
  385. ROUND = m.rolls[i].rollid;
  386. }
  387. snapRender(last, m.last_wobble);
  388. MAX_BET = m.maxbet;
  389. chat("alert", "Welcome to CSGOStatic!");
  390. } else if (m.type == "bet") {
  391. if (showbets) {
  392. addBet(m.bet);
  393. $("#panel0-0-t .total").countTo(m.sums[0]);
  394. $("#panel1-7-t .total").countTo(m.sums[1]);
  395. $("#panel8-14-t .total").countTo(m.sums[2])
  396. }
  397. } else if (m.type == "betconfirm") {
  398. $("#panel" + m.bet.lower + "-" + m.bet.upper + "-m .mytotal").countTo(m.bet.amount);
  399. $("#balance").countTo(m.balance, {
  400. "color": true
  401. });
  402. checkplus(m.balance);
  403. $(".betButton").prop("disabled", false);
  404. chat("alert", "Bet #" + m.bet.betid + " confirmed " + m.mybr + "/" + m.br + " (" + (m.exec / 1000) + " sec) ");
  405. } else if (m.type == "error") {
  406. chat("error", m.error);
  407. if (m.enable) {
  408. $(".betButton").prop("disabled", false);
  409. $('#openBox01').prop("disabled", false);
  410. $('#openBox02').prop("disabled", false);
  411. $('#openBox03').prop("disabled", false);
  412. $('#openBox04').prop("disabled", false);
  413. }
  414. } else if (m.type == "alert") {
  415. chat("alert", m.alert);
  416. if (m.maxbet) {
  417. MAX_BET = m.maxbet;
  418. }
  419. if (!isNaN(m.balance)) {
  420. console.log("setting balance = %s", m.balance);
  421. $("#balance").countTo(m.balance, {
  422. "color": true
  423. });
  424. checkplus(m.balance);
  425. }
  426. } else if (m.type == "logins") {
  427. $("#isonline").html(m.count);
  428. } else if (m.type == "balance") {
  429. $("#balance").fadeOut(100).html(todongersb(m.balance)).fadeIn(100);
  430. $('#b1balance').fadeOut(100).html(todongersb(m.balance)).fadeIn(100);
  431. $('#b2balance').fadeOut(100).html(todongersb(m.balance)).fadeIn(100);
  432. $('#b3balance').fadeOut(100).html(todongersb(m.balance)).fadeIn(100);
  433. $('#b4balance').fadeOut(100).html(todongersb(m.balance)).fadeIn(100);
  434. checkplus(m.balance);
  435. }
  436. }
  437.  
  438. function addBet(bet) {
  439. var betid = bet.user + "-" + bet.lower;
  440. var pid = "#panel" + bet.lower + "-" + bet.upper;
  441. var $panel = $(pid);
  442. $panel.find("#" + betid).remove();
  443. var f = "<li class='list-group-item' id='{0}' data-amount='{1}'>";
  444. f += "<div style='overflow: hidden;line-height:32px'>";
  445. f += "<div class='pull-left'><img class='rounded' src='https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars{2}'> <b>{3}</b></div>";
  446. f += "<div class='amount pull-right'><i style='color:#009cff' class='glyphicon glyphicon-flash' aria-hidden='true'></i> {4}</div>";
  447. f += "</div></li>";
  448. var $li = $(f.format(betid, bet.amount, bet.icon, bet.name, todongersb(bet.amount)));
  449. $li.hide().prependTo($panel.find(".betlist")).slideDown("fast", function() {
  450. snapRender();
  451. });
  452. }
  453.  
  454. function connect() {
  455. if(!SOCKET) {
  456. var hash = getCookie('hash');
  457. if(!hash) {
  458. chat("italic", "Please, Signin through steam.");
  459. } else {
  460. SOCKET = io(HOST);
  461. SOCKET.on('connect', function(msg) {
  462. SOCKET.emit('hash', hash);
  463. });
  464. SOCKET.on('connect_error', function(msg) {
  465. chat("italic", "Daily Restart, Please wait for a connection..");
  466. });
  467. SOCKET.on('message', function(msg) {
  468. onMessage(msg);
  469. });
  470. SOCKET.on('games', function(msg) {
  471. onGames(msg);
  472. });
  473. }
  474. } else {
  475. console.log("Error: connection already exists.");
  476. }
  477. }
  478.  
  479. function emotes(str) {
  480. var a = ["deIlluminati", "KappaRoss", "KappaPride", "BibleThump", "Kappa", "Keepo", "Kreygasm", "PJSalt", "PogChamp", "SMOrc", "CO", "CA", "Tb", "offFire", "Fire", "rip", "lovegreen", "heart", "FailFish"];
  481. for (var i = 0; i < a.length; i++) {
  482. str = str.replace(new RegExp(a[i] + "( |$)", "g"), "<img src='/template/img/twitch/" + a[i] + ".png'> ");
  483. }
  484. return str;
  485. }
  486.  
  487. function changeMode(bd) {
  488. if (bd == "roulette") {
  489. $(".roulette").show();
  490. $(".cases").hide();
  491. $(".mode.active").removeClass("active");
  492. $(".mode.roulette_mode").removeClass("active");
  493. } else if (bd == "cases") {
  494. $(".roulette").hide();
  495. $(".cases").show();
  496. $(".mode.active").removeClass("active");
  497. $(".mode.cases_mode").removeClass("active");
  498. }
  499. }
  500.  
  501. function chat(x, msg, name, icon, steamid, rank, lang, hide) {
  502. if (IGNORE.indexOf(String(steamid)) > -1) {
  503. console.log("ignored:" + msg);
  504. return;
  505. }
  506. if (lang == LANG || x == "italic" || x == "error" || x == "alert") {
  507. var ele = document.getElementById("chatArea");
  508. msg = msg.replace('>', '');
  509. msg = msg.replace('<', '');
  510. msg = msg.replace('script', '');
  511. msg = msg.replace('alert', '');
  512. msg = msg.replace('body', '');
  513. msg = msg.replace('onload', '');
  514. msg = msg.replace('src', '');
  515. msg = emotes(msg);
  516. var toChat = "";
  517. if (x == "italic") toChat = "<div class='chat-msg'><img class='chat-img rounded' data-steamid='0' data-name='System' src='http://cdn.akamai.steamstatic.com/steamcommunity/public/images/avatars/29/292cd9a870ca5c77f2fdf2642d599c3ca4db42cd_full.jpg'><div><span> System</span></div> <div>" + msg + "</div></div>";
  518. else if (x == "error") toChat = "<div class='chat-msg'><img class='chat-img rounded' data-steamid='0' data-name='System' src='http://cdn.akamai.steamstatic.com/steamcommunity/public/images/avatars/29/292cd9a870ca5c77f2fdf2642d599c3ca4db42cd_full.jpg'><div><span> System</span></div> <div class='text-danger'>" + msg + "</div></div>";
  519. else if (x == "alert") toChat = "<div class='chat-msg'><img class='chat-img rounded' data-steamid='0' data-name='System' src='http://cdn.akamai.steamstatic.com/steamcommunity/public/images/avatars/29/292cd9a870ca5c77f2fdf2642d599c3ca4db42cd_full.jpg'><div><span> System</span></div> <div class='text-success'>" + msg + "</div></div>";
  520. else if (x == "player") {
  521. var aclass = "chat-link";
  522. if (rank == 100) {
  523. aclass = "chat-link-pmod";
  524. name = "[Owner] " + name;
  525. } else if (rank == 1) {
  526. aclass = "chat-link-mod";
  527. name = "[Admin] " + name;
  528. } else if (rank == -1) {
  529. aclass = "chat-link-streamer";
  530. name = "[Sponsor] " + name;
  531. } else if (rank == -6) {
  532. aclass = "chat-link-respected";
  533. name = "[Contributor] " + name;
  534. }
  535. var link = "http://steamcommunity.com/profiles/" + steamid;
  536. toChat = "<div class='chat-msg'><img class='chat-img rounded' data-steamid='" + steamid + "' data-name='" + name + "' src='https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars" + icon + "'>";
  537. if (hide) {
  538. toChat += "<div><span class='" + aclass + "'>" + name + "</span></div><div>" + msg + "</div>";
  539. } else {
  540. toChat += "<div><a href='" + link + "' target='_blank'><span class='" + aclass + "'>" + name + "</span></a></div><div>" + msg + "</div>";
  541. }
  542. }
  543. $CHATAREA.append(toChat);
  544. if (SCROLL) {
  545. var curr = $CHATAREA.children().length;
  546. if (curr > 75) {
  547. var rem = curr - 75;
  548. $CHATAREA.children().slice(0, rem).remove();
  549. }
  550. $CHATAREA.scrollTop($CHATAREA[0].scrollHeight);
  551. }
  552. if (SCROLL && !$(".side-icon[data-tab='1']").hasClass("active")) {
  553. var curr = parseInt($("#newMsg").html()) || 0;
  554. $("#newMsg").html(curr + 1);
  555. }
  556. }
  557. }
  558. $(document).ready(function() {
  559. $CASE = $("#case");
  560. $BANNER = $("#banner");
  561. $CHATAREA = $("#chatArea");
  562.  
  563. $MBOX01 = $('#casebox01');
  564. $MBOX02 = $('#casebox02');
  565. $MBOX03 = $('#casebox03');
  566. $MBOX04 = $('#casebox04');
  567.  
  568. connect();
  569. $('#openBox01').on('click', function(){
  570. var amount = 300;
  571. $("#openBox01").prop("disabled", true);
  572.  
  573. if(mBoxStarted == 0) {
  574. if(SOCKET) {
  575. mRender();
  576.  
  577. send({
  578. "type": "openbox",
  579. "amount": amount,
  580. "tipBox": "1"
  581. });
  582. }
  583. }else {
  584. chat('error', 'Error: The box is already opening!');
  585. }
  586. });
  587. $('#openBox02').on('click', function(){
  588. var amount = 1000;
  589. $("#openBox02").prop("disabled", true);
  590.  
  591. if(mBoxStarted == 0) {
  592. if(SOCKET) {
  593. mRender();
  594.  
  595. send({
  596. "type": "openbox",
  597. "amount": amount,
  598. "tipBox": "2"
  599. });
  600. }
  601. }else {
  602. chat('error', 'Error: The box is already opening!');
  603. }
  604. });
  605. $('#openBox03').on('click', function(){
  606. var amount = 3000;
  607. $("#openBox03").prop("disabled", true);
  608.  
  609. if(mBoxStarted == 0) {
  610. if(SOCKET) {
  611. mRender();
  612.  
  613. send({
  614. "type": "openbox",
  615. "amount": amount,
  616. "tipBox": "3"
  617. });
  618. }
  619. }else {
  620. chat('error', 'Error: The box is already opening!');
  621. }
  622. });
  623. $('#openBox04').on('click', function(){
  624. var amount = 5000;
  625. $("#openBox04").prop("disabled", true);
  626.  
  627. if(mBoxStarted == 0) {
  628. if(SOCKET) {
  629. mRender();
  630.  
  631. send({
  632. "type": "openbox",
  633. "amount": amount,
  634. "tipBox": "4"
  635. });
  636. }
  637. }else {
  638. chat('error', 'Error: The box is already opening!');
  639. }
  640. });
  641.  
  642. $('#box01').on('click', function() {
  643. $('#box01').hide();
  644. $('#box02').hide();
  645. $('#box03').hide();
  646. $('#box04').hide();
  647. $('.backboxes').removeClass('hidden');
  648. $('#contentbox01').removeClass('hidden');
  649. });
  650. $('#box02').on('click', function() {
  651. $('#box01').hide();
  652. $('#box02').hide();
  653. $('#box03').hide();
  654. $('#box04').hide();
  655. $('.backboxes').removeClass('hidden');
  656. $('#contentbox02').removeClass('hidden');
  657. });
  658. $('#box03').on('click', function() {
  659. $('#box01').hide();
  660. $('#box02').hide();
  661. $('#box03').hide();
  662. $('#box04').hide();
  663. $('.backboxes').removeClass('hidden');
  664. $('#contentbox03').removeClass('hidden');
  665. });
  666. $('#box04').on('click', function() {
  667. $('#box01').hide();
  668. $('#box02').hide();
  669. $('#box03').hide();
  670. $('#box04').hide();
  671. $('.backboxes').removeClass('hidden');
  672. $('#contentbox04').removeClass('hidden');
  673. });
  674.  
  675. $('.backboxes').on('click', function () {
  676. $('#box01').show();
  677. $('#box02').show();
  678. $('#box03').show();
  679. $('#box04').show();
  680. $('.backboxes').addClass('hidden');
  681.  
  682. //REMOVE ALL CONTENT BOXES
  683. $('#contentbox01').addClass('hidden');
  684. $('#contentbox02').addClass('hidden');
  685. $('#contentbox03').addClass('hidden');
  686. $('#contentbox04').addClass('hidden');
  687. });
  688. $(document).on("click", 'b1balance', function() {
  689. send({
  690. "type": "balance"
  691. });
  692. });
  693. $(document).on("click", 'b2balance', function() {
  694. send({
  695. "type": "balance"
  696. });
  697. });
  698. $(document).on("click", 'b3balance', function() {
  699. send({
  700. "type": "balance"
  701. });
  702. });
  703. $(document).on("click", 'b4balance', function() {
  704. send({
  705. "type": "balance"
  706. });
  707. });
  708. if ($("#settings_dongers").is(":checked")) {
  709. $("#dongers").html("$");
  710. }
  711. $("#lang").on("change", function() {
  712. LANG = $(this).val();
  713. chat("alert", "You moved to room: " + $(this).find("option:selected").text());
  714. });
  715. $("#scroll").on("change", function() {
  716. SCROLL = !$(this).is(":checked");
  717. });
  718. $(window).resize(function() {
  719. snapRender();
  720. });
  721. $("#chatForm").on("submit", function() {
  722. var msg = $("#chatMessage").val();
  723. if (msg) {
  724. var res = null;
  725. if (res = /^\/send ([0-9]*) ([0-9]*)/.exec(msg)) {
  726. bootbox.confirm("You are going to send " + res[2] + " to the Steam ID " + res[1] + " - are you sure?", function(result) {
  727. if (result) {
  728. send({
  729. "type": "chat",
  730. "msg": msg,
  731. "lang": LANG
  732. });
  733. $("#chatMessage").val("");
  734. }
  735. });
  736. } else {
  737. var hideme = $("#settings_hideme").is(":checked");
  738. send({
  739. "type": "chat",
  740. "msg": msg,
  741. "lang": LANG,
  742. "hide": hideme,
  743. });
  744. $("#chatMessage").val("");
  745. }
  746. }
  747. return false;
  748. });
  749. $(document).on("click", ".ball", function() {
  750. var rollid = $(this).data("rollid");
  751. });
  752. $(".betButton").on("click", function() {
  753. var lower = $(this).data("lower");
  754. var upper = $(this).data("upper");
  755. var amount = str2int($("#betAmount").val());
  756. if ($("#settings_dongers").is(":checked")) {
  757. amount = amount * 1000;
  758. }
  759. amount = Math.floor(amount);
  760. var conf = $("#settings_confirm").is(":checked");
  761. if (conf && amount > 10000) {
  762. var pressed = false;
  763. bootbox.confirm("Are you sure you want to bet " + formatNum(amount) + " credits?<br><br><i>You can disable this in settings.</i>", function(result) {
  764. if (result && !pressed) {
  765. pressed = true;
  766. send({
  767. "type": "bet",
  768. "amount": amount,
  769. "lower": lower,
  770. "upper": upper,
  771. "round": ROUND
  772. });
  773. LAST_BET = amount;
  774. $(this).prop("disabled", true);
  775. }
  776. });
  777. } else {
  778. send({
  779. "type": "bet",
  780. "amount": amount,
  781. "lower": lower,
  782. "upper": upper,
  783. "round": ROUND
  784. });
  785. LAST_BET = amount;
  786. $(this).prop("disabled", true);
  787. }
  788. return false;
  789. });
  790. $(document).on("click", ".betshort", function() {
  791. var bet_amount = str2int($("#betAmount").val());
  792. var action = $(this).data("action");
  793. if (action == "clear") {
  794. bet_amount = 0;
  795. } else if (action == "double") {
  796. bet_amount *= 2;
  797. } else if (action == "half") {
  798. bet_amount /= 2;
  799. } else if (action == "max") {
  800. var MX = MAX_BET;
  801. if ($("#settings_dongers").is(":checked")) {
  802. MX = MAX_BET / 1000;
  803. }
  804. bet_amount = Math.min(str2int($("#balance").html()), MX);
  805. } else if (action == "last") {
  806. bet_amount = 0;
  807. } else {
  808. bet_amount += parseInt(action);
  809. }
  810. $("#betAmount").val(bet_amount);
  811. });
  812. $("#getbal").on("click", function() {
  813. send({
  814. "type": "balance"
  815. });
  816. });
  817. $("button.close").on("click", function() {
  818. $(this).parent().addClass("hidden");
  819. });
  820. $(document).on("contextmenu", ".chat-img", function(e) {
  821. if (e.ctrlKey) return;
  822. $("#contextMenu [data-act=1]").hide();
  823. $("#contextMenu [data-act=2]").hide();
  824. if (RANK == 100) {
  825. $("#contextMenu [data-act=1]").show();
  826. $("#contextMenu [data-act=2]").show();
  827. } else if (RANK == 1) {
  828. $("#contextMenu [data-act=1]").show();
  829. }
  830. e.preventDefault();
  831. var steamid = $(this).data("steamid");
  832. var name = $(this).data("name");
  833. $("#contextMenu [data-act=0]").html(name);
  834. var $menu = $("#contextMenu");
  835. $menu.show().css({
  836. position: "absolute",
  837. left: getMenuPosition(e.clientX, 'width', 'scrollLeft'),
  838. top: getMenuPosition(e.clientY, 'height', 'scrollTop')
  839. }).off("click").on("click", "a", function(e) {
  840. var act = $(this).data("act");
  841. e.preventDefault();
  842. $menu.hide();
  843. if (act == 0) {
  844. var curr = $("#chatMessage").val(steamid);
  845. } else if (act == 1) {
  846. var curr = $("#chatMessage").val("/mute " + steamid + " ");
  847. } else if (act == 2) {
  848. var curr = $("#chatMessage").val("/kick " + steamid + " ");
  849. } else if (act == 3) {
  850. var curr = $("#chatMessage").val("/send " + steamid + " ");
  851. } else if (act == 4) {
  852. IGNORE.push(String(steamid));
  853. chat("alert", steamid + " Ignored.");
  854. }
  855. $("#chatMessage").focus();
  856. });
  857. });
  858. $(document).on("click", function() {
  859. $("#contextMenu").hide();
  860. });
  861. $(".side-icon").on("click", function(e) {
  862. e.preventDefault();
  863. var tab = $(this).data("tab");
  864. if ($(this).hasClass("active")) {
  865. $(".side-icon").removeClass("active");
  866. $(".tab-group").addClass("hidden");
  867. $("#mainpage").css("margin-left", "50px");
  868. $("#pullout").addClass("hidden");
  869. } else {
  870. $(".side-icon").removeClass("active");
  871. $(".tab-group").addClass("hidden");
  872. $(this).addClass("active");
  873. $("#tab" + tab).removeClass("hidden");
  874. $("#mainpage").css("margin-left", "450px");
  875. $("#pullout").removeClass("hidden");
  876. if (tab == 1) {
  877. $("#newMsg").html("");
  878. }
  879. }
  880. snapRender();
  881. return false;
  882. });
  883. $(".smiles li img").on("click", function() {
  884. $("#chatMessage").val($("#chatMessage").val() + $(this).data("smile") + " ")
  885. });
  886. $('.clearChat').on("click", function() {
  887. $('#chatArea').html("<div><b class='text-success'>Chat cleared!</b></div>")
  888. });
  889. $(document).on("click", ".deleteMsg", function(e) {
  890. var t = $(this).data("id");
  891. send({
  892. type: "delmsg",
  893. id: t
  894. })
  895. });
  896. $(".side-icon[data-tab='1']").trigger("click")
  897. });
  898.  
  899. function getAbscentPhrases(msg) {
  900. var phrases = ["hello", 1, "simba"];
  901. for (var i = 0; i < phrases.length; i++) {
  902. if (msg.toLowerCase().indexOf(phrases[i]) + 1) {
  903. return 1
  904. }
  905. }
  906. return 0
  907. }
  908.  
  909. function changeLang(id) {
  910. LANG = $(this).val();
  911. $(".lang-select").html($(".language > li").eq(id - 1).find("a").html());
  912. chat("alert", "Changed to the room: " + $(".language > li").eq(id - 1).find("a").html())
  913. }
  914.  
  915. function getMenuPosition(mouse, direction, scrollDir) {
  916. var win = $(window)[direction](),
  917. scroll = $(window)[scrollDir](),
  918. menu = $("#contextMenu")[direction](),
  919. position = mouse + scroll;
  920. if (mouse + menu > win && menu < mouse)
  921. position -= menu;
  922. return position;
  923. }
  924.  
  925. function str2int(s) {
  926. s = s.replace(/,/g, "");
  927. s = s.toLowerCase();
  928. var i = parseFloat(s);
  929. if (isNaN(i)) {
  930. return 0;
  931. } else if (s.charAt(s.length - 1) == "k") {
  932. i *= 1000;
  933. } else if (s.charAt(s.length - 1) == "m") {
  934. i *= 1000000;
  935. } else if (s.charAt(s.length - 1) == "b") {
  936. i *= 1000000000;
  937. }
  938. return i;
  939. }
  940.  
  941. function onGames(msg) {
  942. var m = msg;
  943.  
  944. if(m.type == 'mbox') {
  945. if(m.tip == '1') {
  946. if(m.state == 'open') {
  947. spinmbox(m);
  948. }
  949. }else if(m.tip == '2') {
  950. if(m.state == 'open') {
  951. spinmbox(m);
  952. }
  953. }else if(m.tip == '3') {
  954. if(m.state == 'open') {
  955. spinmbox(m);
  956. }
  957. }else if(m.tip == '4') {
  958. if(m.state == 'open') {
  959. spinmbox(m);
  960. }
  961. }
  962. }
  963. }
  964. function MsnapRender(x, wobble, caseboxnr) {
  965. MBOXW = $("#"+caseboxnr+"").width();
  966. if (boxIsMoving) return;
  967. else if (typeof x === 'undefined') mView(mSnapX);
  968. else {
  969. var order = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
  970. var index = 0;
  971. for (var i = 0; i < order.length; i++) {
  972. if (x == order[i]) {
  973. index = i;
  974. break
  975. }
  976. }
  977. var max = 32;
  978. var min = -32;
  979. var w = Math.floor(wobble * (max - min + 1) + min);
  980. var dist = index * 70 + 36 + w;
  981. dist += 1050 * 5;
  982. mSnapX = dist;
  983. mView(mSnapX);
  984. }
  985. }
  986.  
  987. function spinmbox(m) {
  988. snapRender();
  989. mBoxStarted = 1;
  990. setTimeout(function() {
  991. var x = m.number;
  992. play_sound("roll2");
  993. var order = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
  994. var index = 0;
  995. for (var i = 0; i < order.length; i++) {
  996. if (x == order[i]) {
  997. index = i - 6;
  998. break
  999. }
  1000. }
  1001. var max = 32;
  1002. var min = -32;
  1003. var w = Math.floor(m.wobble * (max - min + 1) + min);
  1004. var dist = index * 70 + 36 + w;
  1005. dist += 1050 * 5;
  1006. mAnimstart = new Date().getTime();
  1007. mvi = getVi(dist);
  1008. mtf = getTf(mvi);
  1009. boxIsMoving = true;
  1010. setTimeout(function() {
  1011. mboxDone(m, tf);
  1012. }, mtf);
  1013. mRender();
  1014. }, 250);
  1015. }
  1016.  
  1017. function mRender() {
  1018. var t = new Date().getTime() - mAnimstart;
  1019. if (t > mtf)
  1020. t = mtf;
  1021. var deg = d_mod(mvi, t);
  1022. mView(deg);
  1023. if (t < mtf) {
  1024. requestAnimationFrame(mRender);
  1025. } else {
  1026. mSnapX = deg;
  1027. boxIsMoving = false;
  1028. }
  1029. }
  1030.  
  1031. function mView(offset) {
  1032. offset = -((offset + 1050 - CASEW / 2) % 1050);
  1033. $MBOX01.css("background-position", offset + "px 0px");
  1034. $MBOX02.css("background-position", offset + "px 0px");
  1035. $MBOX03.css("background-position", offset + "px 0px");
  1036. $MBOX04.css("background-position", offset + "px 0px");
  1037. }
  1038.  
  1039. function mboxDone(m, tf) {
  1040. send({
  1041. "type": "balance"
  1042. });
  1043. play_sound("finish2");
  1044. mBoxStarted = 0;
  1045. setTimeout(function() {
  1046. $("#openBox01").prop("disabled", false);
  1047. $("#openBox02").prop("disabled", false);
  1048. $("#openBox03").prop("disabled", false);
  1049. $("#openBox04").prop("disabled", false);
  1050. snapRender();
  1051. }, 1000 - tf);
  1052. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement