您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
sort items in inventory
当前为
// ==UserScript== // @name wod item sorter // @namespace org.holer.webgame.util.wod // @version 0.1.22 // @description sort items in inventory // @include http://*.world-of-dungeons.org/wod/spiel/hero/items.php* // @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js // @grant none // @copyright 2012+, Russell // ==/UserScript== function main() { window.wisMsgg = { applySortRule: "apply sort rules", autoSort: "auto sort", append: "append", exception: "exception", deleteStr: "delete", generateRule: "generate rule", saveRule: "save rule", loadRule: "load rule", noLocalStorageSupport: "browser do not support localStorage, can't save settings" }; window.wisMsg = { applySortRule: "整理", autoSort: "自动整理", append: "增加规则", exception: "增加子规则", deleteStr: "删除", generateRule: "生成规则", saveRule: "保存规则", loadRule: "加载已保存的规则", noLocalStorageSupport: "浏览器不支持localStorage,无法保存设置。" }; window.statsHtml = '<div class=item_sort_stats></div>'; window.taHtml = '<textarea id="wiscj" style="width:100%;height:5em;"></textarea>'; window.uiHtml = '<hr><div id="wisc" class="gadget_body">'+taHtml+'</div>'; window.btnsHtml = '<div><button id="wisawrb" onclick="applyWisRule()" class="button">'+wisMsg.applySortRule+'</button></div>'; window.eolHtml = '<ol></ol>'; window.counts = { go_lager : 0, go_group_2 : 0, go_group : 0, go_keller : 0, npc : 0 }; window.out_alias = { "仓库":"go_lager", "go_lager":"go_lager", "贮藏室":"go_keller", "go_keller":"go_keller", "团队仓库":"go_group_2", "go_group_2":"go_group_2", "宝库":"go_group", "go_group":"go_group", "npc":"npc", }; window.ruleObj = null; window.strToRegexI = function () { ruleObj = jQuery.parseJSON(ruleObj); if (ruleObj.regex) return; strToRegex(ruleObj.rules); ruleObj.regex = true; }; RegExp.escape = function(text) { return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); }; // add r:regular exp pair to the dictionary l window.strToRegex = function (l){ for (var i =0; i<l.length;i++){ //var c; //c = l[i]; // 1 : // 2 : uses left // 3 : l[i].r = new RegExp("^\n*?"+RegExp.escape(l[i].n) +"!?\n*? *?\n*? *?(\\(([\\d]+)\\/([\\d]+)\\))?\n*?$"); } }; // convert textarea (in JSON) into dictionary // and add regular expression obj window.wisLoadRule = function () { var rule = $("#wiscj").val(); ruleObj = rule; strToRegexI(); }; window.getOperation = function (name, list){ var c; for(var i=0;i<list.length;i++){ c = list[i]; var c_out = out_alias[c.o]; //if (c.r.test(name)) { //return c.o; //} var result = c.r.exec(name); if (result !== null){ if (c.geq && result[2] && Number(result[2])>=Number(c.geq)){ return c_out; } else if (c.leq && result[2] && Number(result[2])<=Number(c.leq)){ return c_out; } else if (!c.geq && !c.leq){ return c_out; }; } } } window.applyWisRule = function () { wisLoadRule(); resetCount(); $("div.layout_clear > table.content_table > tbody > tr").each(function () { var t = $(this); // o = where the item should go if rule matches //console.log('wod sort item: '+t.children("td").eq(1).children("a").text()); //var o = getOperation(t.children("td").eq(1).children("a").text(), ruleObj.rules); //console.log('465667 '+t.children("td").eq(1).text()); var o = getOperation(t.children("td").eq(1).text(), ruleObj.rules); if (o) { applyOperation(t,o); } }); $("div.item_sort_stats").focus().text(" 仓库" + counts.go_lager + " 贮藏室" +counts.go_keller+ " 宝库 "+counts.go_group+" 团队仓库"+counts.go_group_2+" NPC "+counts.npc); } window.resetCount = function () { counts.go_lager = 0; counts.go_group_2 = 0; counts.go_group = 0; counts.go_keller = 0; counts.npc = 0; }; window.applyOperation = function(t,o){ var s; if ("NUL" == o) { return; } var c; if ("npc"==o) { //s = t.children().eq(3).children("input:checkbox"); s = t.children("td").has("img[title='金币']").eq(0).children("input:checkbox"); s.attr('checked', true); c = "rgba(255,34,34,0.9)"; s.parent().css("color",c); t.children().eq(1).children("a").css("background-color",c); counts.npc += 1; } else { s = t.children().eq(2).children("select"); if ("-"+o != s.val()) { s.val(o); c = "rgba(127,127,127,0.5)"; s.css("border-color",c); t.children().eq(1).children("a").css("background-color",c); counts[o] += 1; } } }; window.injectUi = function (){ $("div#main_content").after(uiHtml); $("div#main_content").after(btnsHtml); //$("#main_content form input[type='submit']:eq(0)").after(statsHtml); $("#wisawrb:eq(0)").after(statsHtml); }; window.rowOnMouseColor = function () { $("div.layout_clear table.content_table tbody tr").each(function () { $(this).addClass("tr_mouse"); }); $("div.gadget_body form table.content_table tbody tr").each(function () { $(this).addClass("tr_mouse"); }); }; function addGlobalStyle(css) { var head, style; head = document.getElementsByTagName('head')[0]; if (!head) { return; } style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; head.appendChild(style); } function hoverToggleSelect () { $("table.content_table tbody tr td input[value=do]").mouseover(function () { $(this).prop("checked",!$(this).is(":checked")); }); } addGlobalStyle('.tr_mouse:hover { background-color:rgba(248,248,23,0.5); }'); window.addEventListener("load",injectUi,false); //window.addEventListener("load",autoSort,false); window.addEventListener("load", rowOnMouseColor,false); //window.addEventListener("load", hoverToggleSelect,false); }; $(document).ready(main);