1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Zeilenumbruch funktioniert nicht

Dieses Thema im Forum "Javascript & Ajax" wurde erstellt von Anubis1982, 28. Dezember 2016.

  1. Anubis1982

    Anubis1982 Grünschnabel

    Hallo liebe Leute, ich habe ein kleines Problem, kenne mich mit Javascript leider nicht so aus.
    Ich möchte einen Zeilenumbruch in meinem Script erzeugen, habe auch schon mehrere Sachen ausprobiert wie <br> , \n usw.
    Bin hier gerade echt am verzweifeln.
    Code (Java):
    1. chat ("alert", "Minimum Bet: " + m.minbet + " Coins, " + "Maximum Bet: " + formatNum(MAX_BET) + " Coins, " + "Bets per Round: " + m.br + ", Round Time: " + m.accept + " sec, " + "Chat Cooldown: " + m.chat + " sec." + ", For Chat u need: " + m.chatb + " total bet.");
    Die jetzige Ausgabe sieht so aus:

    Minimum Bet: 1 Coins, Maximum Bet: 500,000 Coins, Bets per Round: 3, Round Time: 30 sec, Chat Cooldown: 2 sec., For Chat u need: 1000 total bet.

    Möchte es gerne so haben:

    Minimum Bet: 1 Coins
    Maximum Bet: 500,000 Coins
    Bets per Round: 3
    Round Time: 30 sec.
    Chat Cooldown: 2 sec.
    For Chat u need: 1000 total bet.

    Hat da einer von euch evtl. eine Idee?

    Vielen DANK schonmal :)
     
  2. sheel

    sheel I love Asm Administrator

    Hi

    Java und Javascript sind zwei komplett verschiedene Sprachen.

    Was ist "chat" im Code?
     
  3. Anubis1982

    Anubis1982 Grünschnabel

    Das ist das komplette Script:

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

    Anubis1982 Grünschnabel

    Und die Funktion chat:

    Code (Javascript):
    1. function chat(x, msg, name, icon, steamid, rank, lang, hide) {
    2.    if (IGNORE.indexOf(String(steamid)) > -1) {
    3.        console.log("ignored:" + msg);
    4.        return;
    5.    }
    6.    if (lang == LANG || x == "italic" || x == "error" || x == "alert") {
    7.        var ele = document.getElementById("chatArea");
    8.        msg = msg.replace(/(<|>)/g, '');
    9.        msg = emotes(msg);
    10.        var toChat = "";
    11.         if (x == "italic") toChat = "<div class='chat-msg'><img class='chat-img rounded' data-steamid='0' data-name='System' src='/template/img/system/system.png'><div><span>System</span></div> <div>" + msg + "</div></div>";
    12.         else if (x == "error") toChat = "<div class='chat-msg'><img class='chat-img rounded' data-steamid='0' data-name='System' src='/template/img/system/error.png'><div><span>Error</span></div> <div class='text-danger'>" + msg + "</div></div>";
    13.         else if (x == "alert") toChat = "<div class='chat-msg'><img class='chat-img rounded' data-steamid='0' data-name='System' src='/template/img/system/alert.png'><div><span>Alert</span></div> <div class='text-success'>" + msg + "</div></div>";
    14.         else if (x == "player") {
    15.            var aclass = "chat-link";
    16.            if (rank == 100) {
    17.                aclass = "chat-link-mod";
    18.                name = "[Owner] " + name;
    19.            } else if (rank == 10) {
    20.                aclass = "chat-link-pmod";
    21.                name = "[Mod] " + name;
    22.            } else if (rank == -1) {
    23.                aclass = "chat-link-streamer";
    24.                name = "[Streamer] " + name;
    25.            } else if (rank == -2) {
    26.                aclass = "chat-link-vet";
    27.                name = "[Veteran] " + name;
    28.            } else if (rank == -3) {
    29.                aclass = "chat-link-pro";
    30.                name = "[Pro] " + name;
    31.            } else if (rank == -4) {
    32.                aclass = "chat-link-yt";
    33.                name = "[Youtuber] " + name;
    34.            } else if (rank == -5) {
    35.                aclass = "chat-link-mod";
    36.                name = "[Coder] " + name;
    37.            }
    38.  
    39.            var link = "http://steamcommunity.com/profiles/" + steamid;
    40.            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 + "'>";
    41.            if (hide) {
    42.                toChat += "<div><span class='" + aclass + "'>" + name + "</span></div><div>" + msg + "</div>";
    43.            } else {
    44.                toChat += "<div><a href='" + link + "' target='_blank'><span class='" + aclass + "'>" + name + "</span></a></div><div>" + msg + "</div>";
    45.            }
    46.        }
    47.        $CHATAREA.append(toChat);
    48.        if (SCROLL) {
    49.            var curr = $CHATAREA.children().length;
    50.            if (curr > 75) {
    51.                var rem = curr - 75;
    52.                $CHATAREA.children().slice(0, rem).remove();
    53.            }
    54.            $CHATAREA.scrollTop($CHATAREA[0].scrollHeight);
    55.        }
    56.        if (SCROLL && !$(".side-icon[data-tab='1']").hasClass("active")) {
    57.            var curr = parseInt($("#newMsg").html()) || 0;
    58.            $("#newMsg").html(curr + 1);
    59.        }
    60.    }
    61. }
     
    Zuletzt bearbeitet: 28. Dezember 2016
  5. SpiceLab

    SpiceLab ZENmechanic Premium-User

    Liegt hier blos ein Kopierfehler vor? Es fehlt nämlich die schliessende }-Klammer der Funktion.

    Btw, weil @sheel Dich schon darauf hingewiesen hat, dass Java != JavaScript, passt [code=JavaScript][/code] hier besser ;)
     
  6. Anubis1982

    Anubis1982 Grünschnabel

    Oh ja is ein Kopierfehler
     
  7. SpiceLab

    SpiceLab ZENmechanic Premium-User

    Achtung: \n gilt für Unix. Das Steuerzeichen für den Zeilenumbruch unterscheidet sich aber bei den Betriebssystemen.
    • \r = Mac
    • \n = Unix
    • \r\n = Windows
    Code (Javascript):
    1. // Mac: Zeilenumbruch \r
    2. var foobar = "Zeile-1\rZeile-2\rZeile-3";
    3.  
    4. // Unix: Zeilenumbruch \n
    5. var foobar = "Zeile-1\nZeile-2\nZeile-3";
    6.  
    7. // Windows: Zeilenumbruch \r\n
    8. var foobar = "Zeile-1\r\nZeile-2\r\nZeile-3";
    1. http://www.askingbox.de/frage/javascript-zeilenumbruch-ersetzen
    2. http://www.mactechnews.de/forum/discussion/JavaScript-Neue-Zeile-oder-Zeilenumbruch-314643.html
    3. http://www.use-media.com/zeilenumbruch-mit-javascript-alert-erzeugen.html -wegen chat ("alert",...) :D-
    Beispiel für eine Funktion, die die drei unterschiedlichen Escape-Sequenzen durch den String <br> ersetzt:
    Code (Javascript):
    1. function newLineBreak() {
    2.    var htmlString = this.replace(/(\r\n)|(\r)|(\n)/g, '<br>');
    3.    return( htmlString);
    4. }
    5.  
    6. String.prototype.nl2br = newLineBreak;
    Sowie diese weitere Möglichkeit:
    Zitat-Quelle: https://www.drweb.de/magazin/javasc...-variablen-und-umbrueche-zeichenketten-56689/

    Zwecks aktuellem Browsersupport der Template-Strings siehe http://kangax.github.io/compat-table/es6/#test-template_strings

    [edit]Tipp-Ex[/edit]
     
    Zuletzt bearbeitet: 28. Dezember 2016
  8. Sempervivum

    Sempervivum Erfahrenes Mitglied

    Wenn ich das richtig sehe, brauchst Du nur <br>-Tags dort einzufügen, wo Du eine neue Zeile haben möchtest:
    Code (Text):
    1. chat ("alert", "Minimum Bet: " + m.minbet + " Coins,<br>" + "Maximum Bet: " + formatNum(MAX_BET) + " Coins,<br>" + "Bets per Round:
    usw.
    Edit: Sehe gerade, dass Du schreibst, dass Du das schon versucht hast. Ich bin jedoch der Meinung, dass es funktionieren sollte. Poste doch mal den Code, den Du versucht hast.
     
  9. Anubis1982

    Anubis1982 Grünschnabel

    Vielen Dank für eure Mühen,
    aber wenn ich <br> mit einfüge wird mir das im Klartext dann als br mit angezeigt.

    Code (Javascript):
    1. chat ("alert", "Minimum Bet: " + m.minbet + " Coins <br>" + "Maximum Bet: " + formatNum(MAX_BET) + " Coins, " + "Bets per Round: " + m.br + ", Round Time: " + m.accept + " sec, " + "Chat Cooldown: " + m.chat + " sec." + ", For Chat u need: " + m.chatb + " total bet.");
    Ausgabe:

    Minimum Bet: 1 Coins brMaximum Bet: 500,000 Coins, Bets per Round: 3, Round Time: 30 sec, Chat Cooldown: 2 sec., For Chat u need: 1000 total bet.
     
  10. Anubis1982

    Anubis1982 Grünschnabel

    Ich glaube ich habe gerade was gefunden, bei meiner Seite läuft im Hintergrund ein node js Script und in dem gibt es eine Funktion.

    Code (Java):
    1. /* */
    2. var tagsToReplace = {
    3.     '&': '&amp;',
    4.     '<': '&lt;',
    5.     '>': '&gt;'
    6. };
    7. function replaceTag(tag) {
    8.     return tagsToReplace[tag] || tag;
    9. }
    10. function safe_tags_replace(str) {
    11.     return str.replace(/[&<>]/g, replaceTag);
    12. }
    Könnte es daran liegen?

    Habe es dann mal mit &ltbr&gt statt <br> versucht, dann wird mir im Klartext nun <br> angezeigt
     
    Zuletzt bearbeitet: 28. Dezember 2016
  11. Sempervivum

    Sempervivum Erfahrenes Mitglied

    Anscheinend entfernt diese Zeile in der Funktion chat() die spitzen Klammern:
    Code (Text):
    1. msg = msg.replace(/(<|>)/g, '');
    Wenn Du sie entfernst, sollte es funktionieren.
     
    Zuletzt bearbeitet: 28. Dezember 2016
  12. Anubis1982

    Anubis1982 Grünschnabel

    Ja und \ wird auch entfernt, schreibe im code z.B. Can\'t und ausgegeben wird Can't ...schützt vor Cross Site angriffen. Aber hilft mir leider nicht weiter mit dem Zeilenumbruch:(
     
  13. Sempervivum

    Sempervivum Erfahrenes Mitglied

    Verstehe, es soll offenbar den Chat davor schützen, dass HTML und u. U. Skripte eingespeist werden. Heißt das, Du kannst es nicht löschen? Dann könnte es eine Möglichkeit sein, das <br> vom Ersetzen auszuschließen:
    Code (Text):
    1.                   msg = msg.replace (/<br>/g, "_lt_br_gt_")
    2.                   msg = msg.replace(/(<|>)/g, '');
    3.                   mdh = msg.replace (/_lt_br_gt_/g, "<br>");
     
    Zuletzt bearbeitet: 29. Dezember 2016
  14. Anubis1982

    Anubis1982 Grünschnabel

    Ne löschen kann ich es leider nicht, da man alleine durch Zeichen im Benutzernamen z.B. Im chat Scripte einspeisen könnte

    .........

    Ja hmm, langsam gehen mir auch die Ideen aus, wie ich es lösen könnte.
    Muss es dann leider wohl so lassen, sieht zwar nicht schön aus, aber naja

    Trotzdem danke an alle
     
  15. Sempervivum

    Sempervivum Erfahrenes Mitglied

    Hast Du auch mein letztes Posting gelesen, #13? Damit kannst Du die spitzen Klammern löschen und nur ein <br> davon ausschließen!
     
  16. Anubis1982

    Anubis1982 Grünschnabel

    Ja, habe es wohl falsch verstanden, stehe gerade ein bißchen doof da und weiß net so ganz wo ich das einfügen soll :D
     
  17. Sempervivum

    Sempervivum Erfahrenes Mitglied

    Du musst dieses:
    Code (Text):
    1. msg = msg.replace(/(<|>)/g, '');
    in deinem Code suchen und durch das ersetzen, was ich gepostet habe.
     
  18. Anubis1982

    Anubis1982 Grünschnabel

    Also wenn ich Deine Rechtschreibfehler korrigiere

    Code (Javascript):
    1. msg = msg.replace (/<br>/g, "_lt_br_gt_");
    2. msg = msg.replace(/(<|>)/g, '');
    3. msg = msg.replace (/_lt_br_gt_/g, "<br>");
    Dann funzt es jetzt einwandfrei

    ...super geil, vielen Dank
     
  19. Sempervivum

    Sempervivum Erfahrenes Mitglied

    Schön, dass das funktioniert. Ich frage mich allerdings, ob es ausreichend ist, so etwas auf Javascript-Seite abzufangen. Ein Benutzer, der einiger Maßen versiert ist, kann mit dem Debugger die Variable msg nach dem Löschen der spitzen Klammern beliebig manipulieren. Wahrscheinlich müsste man da besser Maßnahmen auf Server-Seite ergreifen.
     
  20. Anubis1982

    Anubis1982 Grünschnabel

    Das habe ich mich auch gefragt, deswegen habe ich das msg.replace auch erst nicht gefunden, weil ich auf der Server Seite gesucht hatte, hmm, muss mal gucken ob ich das in meinem Node.Js script mit einfließen lassen kann
     
Die Seite wird geladen...