Advertisement
Guest User

Untitled

a guest
Jan 21st, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.27 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. connect();
  563. $('#openBox01').on('click', function(){
  564. var amount = 300;
  565. $("#openBox01").prop("disabled", true);
  566.  
  567. if(mBoxStarted == 0) {
  568. if(SOCKET) {
  569. mRender();
  570.  
  571. send({
  572. "type": "openbox",
  573. "amount": amount,
  574. "tipBox": "1"
  575. });
  576. }
  577. }else {
  578. chat('error', 'Error: The box is already opening!');
  579. }
  580. });
  581. $('#openBox02').on('click', function(){
  582. var amount = 1000;
  583. $("#openBox02").prop("disabled", true);
  584.  
  585. if(mBoxStarted == 0) {
  586. if(SOCKET) {
  587. mRender();
  588.  
  589. send({
  590. "type": "openbox",
  591. "amount": amount,
  592. "tipBox": "2"
  593. });
  594. }
  595. }else {
  596. chat('error', 'Error: The box is already opening!');
  597. }
  598. });
  599. $('#openBox03').on('click', function(){
  600. var amount = 3000;
  601. $("#openBox03").prop("disabled", true);
  602.  
  603. if(mBoxStarted == 0) {
  604. if(SOCKET) {
  605. mRender();
  606.  
  607. send({
  608. "type": "openbox",
  609. "amount": amount,
  610. "tipBox": "3"
  611. });
  612. }
  613. }else {
  614. chat('error', 'Error: The box is already opening!');
  615. }
  616. });
  617. $('#openBox04').on('click', function(){
  618. var amount = 5000;
  619. $("#openBox04").prop("disabled", true);
  620.  
  621. if(mBoxStarted == 0) {
  622. if(SOCKET) {
  623. mRender();
  624.  
  625. send({
  626. "type": "openbox",
  627. "amount": amount,
  628. "tipBox": "4"
  629. });
  630. }
  631. }else {
  632. chat('error', 'Error: The box is already opening!');
  633. }
  634. });
  635.  
  636. $('#box01').on('click', function() {
  637. $('#box01').hide();
  638. $('#box02').hide();
  639. $('#box03').hide();
  640. $('#box04').hide();
  641. $('.backboxes').removeClass('hidden');
  642. $('#contentbox01').removeClass('hidden');
  643. });
  644. $('#box02').on('click', function() {
  645. $('#box01').hide();
  646. $('#box02').hide();
  647. $('#box03').hide();
  648. $('#box04').hide();
  649. $('.backboxes').removeClass('hidden');
  650. $('#contentbox02').removeClass('hidden');
  651. });
  652. $('#box03').on('click', function() {
  653. $('#box01').hide();
  654. $('#box02').hide();
  655. $('#box03').hide();
  656. $('#box04').hide();
  657. $('.backboxes').removeClass('hidden');
  658. $('#contentbox03').removeClass('hidden');
  659. });
  660. $('#box04').on('click', function() {
  661. $('#box01').hide();
  662. $('#box02').hide();
  663. $('#box03').hide();
  664. $('#box04').hide();
  665. $('.backboxes').removeClass('hidden');
  666. $('#contentbox04').removeClass('hidden');
  667. });
  668.  
  669. $('.backboxes').on('click', function () {
  670. $('#box01').show();
  671. $('#box02').show();
  672. $('#box03').show();
  673. $('#box04').show();
  674. $('.backboxes').addClass('hidden');
  675.  
  676. //REMOVE ALL CONTENT BOXES
  677. $('#contentbox01').addClass('hidden');
  678. $('#contentbox02').addClass('hidden');
  679. $('#contentbox03').addClass('hidden');
  680. $('#contentbox04').addClass('hidden');
  681. });
  682. $(document).on("click", 'b1balance', function() {
  683. send({
  684. "type": "balance"
  685. });
  686. });
  687. $(document).on("click", 'b2balance', function() {
  688. send({
  689. "type": "balance"
  690. });
  691. });
  692. $(document).on("click", 'b3balance', function() {
  693. send({
  694. "type": "balance"
  695. });
  696. });
  697. $(document).on("click", 'b4balance', function() {
  698. send({
  699. "type": "balance"
  700. });
  701. });
  702. if ($("#settings_dongers").is(":checked")) {
  703. $("#dongers").html("$");
  704. }
  705. $("#lang").on("change", function() {
  706. LANG = $(this).val();
  707. chat("alert", "You moved to room: " + $(this).find("option:selected").text());
  708. });
  709. $("#scroll").on("change", function() {
  710. SCROLL = !$(this).is(":checked");
  711. });
  712. $(window).resize(function() {
  713. snapRender();
  714. });
  715. $("#chatForm").on("submit", function() {
  716. var msg = $("#chatMessage").val();
  717. if (msg) {
  718. var res = null;
  719. if (res = /^\/send ([0-9]*) ([0-9]*)/.exec(msg)) {
  720. bootbox.confirm("You are going to send " + res[2] + " to the Steam ID " + res[1] + " - are you sure?", function(result) {
  721. if (result) {
  722. send({
  723. "type": "chat",
  724. "msg": msg,
  725. "lang": LANG
  726. });
  727. $("#chatMessage").val("");
  728. }
  729. });
  730. } else {
  731. var hideme = $("#settings_hideme").is(":checked");
  732. send({
  733. "type": "chat",
  734. "msg": msg,
  735. "lang": LANG,
  736. "hide": hideme,
  737. });
  738. $("#chatMessage").val("");
  739. }
  740. }
  741. return false;
  742. });
  743. $(document).on("click", ".ball", function() {
  744. var rollid = $(this).data("rollid");
  745. });
  746. $(".betButton").on("click", function() {
  747. var lower = $(this).data("lower");
  748. var upper = $(this).data("upper");
  749. var amount = str2int($("#betAmount").val());
  750. if ($("#settings_dongers").is(":checked")) {
  751. amount = amount * 1000;
  752. }
  753. amount = Math.floor(amount);
  754. var conf = $("#settings_confirm").is(":checked");
  755. if (conf && amount > 10000) {
  756. var pressed = false;
  757. bootbox.confirm("Are you sure you want to bet " + formatNum(amount) + " credits?<br><br><i>You can disable this in settings.</i>", function(result) {
  758. if (result && !pressed) {
  759. pressed = true;
  760. send({
  761. "type": "bet",
  762. "amount": amount,
  763. "lower": lower,
  764. "upper": upper,
  765. "round": ROUND
  766. });
  767. LAST_BET = amount;
  768. $(this).prop("disabled", true);
  769. }
  770. });
  771. } else {
  772. send({
  773. "type": "bet",
  774. "amount": amount,
  775. "lower": lower,
  776. "upper": upper,
  777. "round": ROUND
  778. });
  779. LAST_BET = amount;
  780. $(this).prop("disabled", true);
  781. }
  782. return false;
  783. });
  784. $(document).on("click", ".betshort", function() {
  785. var bet_amount = str2int($("#betAmount").val());
  786. var action = $(this).data("action");
  787. if (action == "clear") {
  788. bet_amount = 0;
  789. } else if (action == "double") {
  790. bet_amount *= 2;
  791. } else if (action == "half") {
  792. bet_amount /= 2;
  793. } else if (action == "max") {
  794. var MX = MAX_BET;
  795. if ($("#settings_dongers").is(":checked")) {
  796. MX = MAX_BET / 1000;
  797. }
  798. bet_amount = Math.min(str2int($("#balance").html()), MX);
  799. } else if (action == "last") {
  800. bet_amount = 0;
  801. } else {
  802. bet_amount += parseInt(action);
  803. }
  804. $("#betAmount").val(bet_amount);
  805. });
  806. $("#getbal").on("click", function() {
  807. send({
  808. "type": "balance"
  809. });
  810. });
  811. $("button.close").on("click", function() {
  812. $(this).parent().addClass("hidden");
  813. });
  814. $(document).on("contextmenu", ".chat-img", function(e) {
  815. if (e.ctrlKey) return;
  816. $("#contextMenu [data-act=1]").hide();
  817. $("#contextMenu [data-act=2]").hide();
  818. if (RANK == 100) {
  819. $("#contextMenu [data-act=1]").show();
  820. $("#contextMenu [data-act=2]").show();
  821. } else if (RANK == 1) {
  822. $("#contextMenu [data-act=1]").show();
  823. }
  824. e.preventDefault();
  825. var steamid = $(this).data("steamid");
  826. var name = $(this).data("name");
  827. $("#contextMenu [data-act=0]").html(name);
  828. var $menu = $("#contextMenu");
  829. $menu.show().css({
  830. position: "absolute",
  831. left: getMenuPosition(e.clientX, 'width', 'scrollLeft'),
  832. top: getMenuPosition(e.clientY, 'height', 'scrollTop')
  833. }).off("click").on("click", "a", function(e) {
  834. var act = $(this).data("act");
  835. e.preventDefault();
  836. $menu.hide();
  837. if (act == 0) {
  838. var curr = $("#chatMessage").val(steamid);
  839. } else if (act == 1) {
  840. var curr = $("#chatMessage").val("/mute " + steamid + " ");
  841. } else if (act == 2) {
  842. var curr = $("#chatMessage").val("/kick " + steamid + " ");
  843. } else if (act == 3) {
  844. var curr = $("#chatMessage").val("/send " + steamid + " ");
  845. } else if (act == 4) {
  846. IGNORE.push(String(steamid));
  847. chat("alert", steamid + " Ignored.");
  848. }
  849. $("#chatMessage").focus();
  850. });
  851. });
  852. $(document).on("click", function() {
  853. $("#contextMenu").hide();
  854. });
  855. $(".side-icon").on("click", function(e) {
  856. e.preventDefault();
  857. var tab = $(this).data("tab");
  858. if ($(this).hasClass("active")) {
  859. $(".side-icon").removeClass("active");
  860. $(".tab-group").addClass("hidden");
  861. $("#mainpage").css("margin-left", "50px");
  862. $("#pullout").addClass("hidden");
  863. } else {
  864. $(".side-icon").removeClass("active");
  865. $(".tab-group").addClass("hidden");
  866. $(this).addClass("active");
  867. $("#tab" + tab).removeClass("hidden");
  868. $("#mainpage").css("margin-left", "450px");
  869. $("#pullout").removeClass("hidden");
  870. if (tab == 1) {
  871. $("#newMsg").html("");
  872. }
  873. }
  874. snapRender();
  875. return false;
  876. });
  877. $(".smiles li img").on("click", function() {
  878. $("#chatMessage").val($("#chatMessage").val() + $(this).data("smile") + " ")
  879. });
  880. $('.clearChat').on("click", function() {
  881. $('#chatArea').html("<div><b class='text-success'>Chat cleared!</b></div>")
  882. });
  883. $(document).on("click", ".deleteMsg", function(e) {
  884. var t = $(this).data("id");
  885. send({
  886. type: "delmsg",
  887. id: t
  888. })
  889. });
  890. $(".side-icon[data-tab='1']").trigger("click")
  891. });
  892.  
  893. function getAbscentPhrases(msg) {
  894. var phrases = ["hello", 1, "simba"];
  895. for (var i = 0; i < phrases.length; i++) {
  896. if (msg.toLowerCase().indexOf(phrases[i]) + 1) {
  897. return 1
  898. }
  899. }
  900. return 0
  901. }
  902.  
  903. function changeLang(id) {
  904. LANG = $(this).val();
  905. $(".lang-select").html($(".language > li").eq(id - 1).find("a").html());
  906. chat("alert", "Changed to the room: " + $(".language > li").eq(id - 1).find("a").html())
  907. }
  908.  
  909. function getMenuPosition(mouse, direction, scrollDir) {
  910. var win = $(window)[direction](),
  911. scroll = $(window)[scrollDir](),
  912. menu = $("#contextMenu")[direction](),
  913. position = mouse + scroll;
  914. if (mouse + menu > win && menu < mouse)
  915. position -= menu;
  916. return position;
  917. }
  918.  
  919. function str2int(s) {
  920. s = s.replace(/,/g, "");
  921. s = s.toLowerCase();
  922. var i = parseFloat(s);
  923. if (isNaN(i)) {
  924. return 0;
  925. } else if (s.charAt(s.length - 1) == "k") {
  926. i *= 1000;
  927. } else if (s.charAt(s.length - 1) == "m") {
  928. i *= 1000000;
  929. } else if (s.charAt(s.length - 1) == "b") {
  930. i *= 1000000000;
  931. }
  932. return i;
  933. }
  934.  
  935. function onGames(msg) {
  936. var m = msg;
  937.  
  938. if(m.type == 'mbox') {
  939. if(m.tip == '1') {
  940. if(m.state == 'open') {
  941. spinmbox(m);
  942. }
  943. }else if(m.tip == '2') {
  944. if(m.state == 'open') {
  945. spinmbox(m);
  946. }
  947. }else if(m.tip == '3') {
  948. if(m.state == 'open') {
  949. spinmbox(m);
  950. }
  951. }else if(m.tip == '4') {
  952. if(m.state == 'open') {
  953. spinmbox(m);
  954. }
  955. }
  956. }
  957. }
  958. function MsnapRender(x, wobble, caseboxnr) {
  959. MBOXW = $("#"+caseboxnr+"").width();
  960. if (boxIsMoving) return;
  961. else if (typeof x === 'undefined') mView(mSnapX);
  962. else {
  963. var order = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
  964. var index = 0;
  965. for (var i = 0; i < order.length; i++) {
  966. if (x == order[i]) {
  967. index = i;
  968. break
  969. }
  970. }
  971. var max = 32;
  972. var min = -32;
  973. var w = Math.floor(wobble * (max - min + 1) + min);
  974. var dist = index * 70 + 36 + w;
  975. dist += 1050 * 5;
  976. mSnapX = dist;
  977. mView(mSnapX);
  978. }
  979. }
  980.  
  981. function spinmbox(m) {
  982. snapRender();
  983. mBoxStarted = 1;
  984. setTimeout(function() {
  985. var x = m.number;
  986. play_sound("roll2");
  987. var order = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
  988. var index = 0;
  989. for (var i = 0; i < order.length; i++) {
  990. if (x == order[i]) {
  991. index = i - 6;
  992. break
  993. }
  994. }
  995. var max = 32;
  996. var min = -32;
  997. var w = Math.floor(m.wobble * (max - min + 1) + min);
  998. var dist = index * 70 + 36 + w;
  999. dist += 1050 * 5;
  1000. mAnimstart = new Date().getTime();
  1001. mvi = getVi(dist);
  1002. mtf = getTf(mvi);
  1003. boxIsMoving = true;
  1004. setTimeout(function() {
  1005. mboxDone(m, tf);
  1006. }, mtf);
  1007. mRender();
  1008. }, 250);
  1009. }
  1010.  
  1011. function mRender() {
  1012. var t = new Date().getTime() - mAnimstart;
  1013. if (t > mtf)
  1014. t = mtf;
  1015. var deg = d_mod(mvi, t);
  1016. mView(deg);
  1017. if (t < mtf) {
  1018. requestAnimationFrame(mRender);
  1019. } else {
  1020. mSnapX = deg;
  1021. boxIsMoving = false;
  1022. }
  1023. }
  1024.  
  1025. function mView(offset) {
  1026. offset = -((offset + 1050 - CASEW / 2) % 1050);
  1027. $MBOX01.css("background-position", offset + "px 0px");
  1028. $MBOX02.css("background-position", offset + "px 0px");
  1029. $MBOX03.css("background-position", offset + "px 0px");
  1030. $MBOX04.css("background-position", offset + "px 0px");
  1031. }
  1032.  
  1033. function mboxDone(m, tf) {
  1034. send({
  1035. "type": "balance"
  1036. });
  1037. play_sound("finish2");
  1038. mBoxStarted = 0;
  1039. setTimeout(function() {
  1040. $("#openBox01").prop("disabled", false);
  1041. $("#openBox02").prop("disabled", false);
  1042. $("#openBox03").prop("disabled", false);
  1043. $("#openBox04").prop("disabled", false);
  1044. snapRender();
  1045. }, 1000 - tf);
  1046. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement