您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
Exchange items among heroes in one view!
// ==UserScript== // @name WoD Item Exchange // @namespace https://www.wannaexpresso.com // @version 0.3 // @description Exchange items among heroes in one view! // @author DotIN13 // @include http*://*.world-of-dungeons.org/wod/spiel/hero/items.php?* // @include http*://*.wannaexpresso.com/wod/spiel/hero/items.php?* // @grant none // ==/UserScript== (function() { 'use strict'; var queryData; var queryURL; window.addEventListener("load", function() { if ($('input[name="view"]').val() == "cellar" || $('input[name="view"]').val() == "") { $("input[name='ok']").parent().append("<a class='move_item button' href='#'>移动物品</a>", "<div class='move_progress'></div>"); getSelect(); $(".move_item").click(function() { $(".move_progress").html("开始移动物品。"); var progress = 0; var task = 0; $(".send-target").each(function() { if ($(this).val() != 'none') task++; }) $(".send-target").each(function() { if ($(this).val() != 'none') { var target = $(this).val(); var params = $(this).parent().siblings().find('a').attr('href').match(/item_instance_id=(\d+)&type=\d&name=([^&]*)/); var data = queryData.replace(/&id=\d+/g, "&id=" + params[1]).replace(/&name=[^&]*/, "&name=" + params[2]).replace(/&send_to=[^&]*/, "&send_to=" + target) + "&send_to_exec=√"; $(this).parent().parent().remove(); console.log(queryURL, data); $.ajax({ type: "POST", url: queryURL, data: data, success: function() { progress++; $(".move_progress").html("已移动" + progress + "/" + task + "个物品。"); if (progress == task) { $(".move_progress").html("已移动全部物品。"); } } }) } }) }) } }); function getSelect() { $(".move_progress").html("正在获取物品移动下拉菜单..."); var firstItemURL = null; $(".layout_clear .content_table a[href*='item_instance_id']").each(function() { firstItemURL = $(this).attr("href"); if (!$(this).html().match("!")) { return false; } }); if (firstItemURL) { $.ajax({ type: "GET", url: firstItemURL, }).done(function(html){ var fullSelect = "<select class='send-target'><option value='none'>不移动</option>" + $('select[name="send_to"] optgroup', html).first().prop("outerHTML") + $('select[name="send_to"] optgroup', html).last().prop("outerHTML") + "</select>"; var groupSelect = "<select class='send-target'><option value='none'>不移动</option>" + $('select[name="send_to"] optgroup', html).last().prop("outerHTML") + "</select>"; $('.layout_clear .content_table thead tr.header').add($('.layout_clear .content_table tfoot tr.header')).append("<th>移动物品<input type='checkbox' class='send-all'>" + fullSelect.replace("send-target", "send-template") + "</th>"); $(".layout_clear .content_table a[href*='item_instance_id']").each(function(index) { if ($(this).html().match("!")) { $(this).parent().parent().append("<td>" + groupSelect + "<input type='checkbox' class='check-to-move'></td>"); } else { $(this).parent().parent().append("<td>" + fullSelect + "<input type='checkbox' class='check-to-move'></td>"); } }) queryData = $('form', html).serialize(); queryURL = $('form', html).attr("action"); $(".send-template").change(function() { $('input.check-to-move:checked').prev().val($(this).val()); }) $(".send-all").change(function() { $('input.check-to-move').prop("checked", $(this).prop("checked")); }) $(".move_progress").html(""); }) } else { $(".move_progress").html("请至少放置一件物品在这间储藏室里。"); } } })();