Tower of Saviors 維基
Advertisement
Tower of Saviors 維基

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
$('<section id="sy-convert"><div class="interface selected"><textarea id="sy-convert-textarea" placeholder="字串"></textarea><br /><input type="button" id="sy-convert-button-encode" value="編碼" /><input type="button" id="sy-convert-button-clear" value="清除" /></div></section>').appendTo('#mw-content-text');
StoryConvert = typeof StoryConvert != "undefined" ? StoryConvert : {};
StoryConvert.functions = typeof StoryConvert.functions != "undefined" ? StoryConvert.functions : {};

$("section#sy-convert input#sy-convert-button-encode").click(function() {
    StoryConvert.functions.encode();
});

$("section#sy-convert input#sy-convert-button-clear").click(function() {
    $("section#sy-convert textarea#sy-convert-textarea").val("");
});

StoryConvert.functions.encode = function() {
    var a = $("section#sy-convert textarea#sy-convert-textarea").val(),
        b = $.parseJSON(a),
        c = ["enterScript", "startScript", "bossScript", "endScript", "clearScript"],
        d = ["%7B%7BStoryDialog%7CF%7D%7D", "%7B%7BStoryDialog%7D%7D", "%7B%7BStoryDialog%7CB%7D%7D", "%7B%7BStoryDialog%7CC%7D%7D", "%7B%7BStoryDialog%7CA%7D%7D"],
        tmp = "";
    if (a.length > 0) {
        $("section#sy-convert textarea#sy-convert-textarea").attr("disabled", "disabled");
        for (i = 0; i < c.length; i++) {
            var ex = b[c[i]];
            if ((ex != null) && (ex != "")) {
                tmp += d[i] + format(ex);
            }
        }
        $("section#sy-convert textarea#sy-convert-textarea").val(decodeURI(tmp)).removeAttr("disabled");
    }
};

function format(e) {
    var te = "";
    $.each(e.split(/\r\n|\n|\r/), function(k, v) {
        var c = v.replace(/#Scene\d+/g, "").split("~");
        te += switchtext(c) + "<br>\n";
    });
    return te;
}

function switchtext(a) {
    var ta = "";
    var tempx = (typeof window.Sytitle != "object") ? ["-1000", "-1001", "-1008"]:window.Sytitle;
    //var tempx = window.Sytitle;
    if (["0", "1"].indexOf(a[parseInt(a.length - 1)]) == -1) a[a.length] = "0";
    a[0] = a[0].split("^")[a[parseInt(a.length - 1)]];
    a.splice([parseInt(a.length-1)]);
    ta = (tempx.indexOf(a[0]) != -1) ? a[1]:(a.length < 3) ? "%7B%7B" + a[0] + "%7C50%7D%7D:「" + a[1] + "」":"%7B%7B" + a[0] + "%7C50%7D%7D" + a[1] + ":「" + a[2] + "」";
    return ta.replace("「『", "『").replace("』」", "』");
}

$('section#sy-convert').css('width', '700px').css('height', '400px').css('position', 'fixed').css('overflow', 'hidden').css('background', '#fafafa').css('border', '1px solid #cccccc').css('border-radius', '5px').css('-moz-border-radius', '5px').css('-webkit-border-radius', '5px').css('background-color', '#999').css('text-align', 'center').css('color', '#333333').css('font-size', '15px').css('z-index', '2');
$('section#sy-convert h3').css('border-bottom', '1px solid #333').css('font-size', '15px').css('font-weight', 'bold');
$('section#sy-convert #sy-convert-textarea').css('width', '685px').css('height', '350px').css('resize', 'none');
$('section#sy-convert > div').css('display', 'none').css('width', 'auto').css('text-align', 'right');
$('section#sy-convert > div.selected').css('display', 'inline-block');
Advertisement