【油猴脚本】二手市场寄售情况统计
本帖最后由 星之子 于 2025-5-12 00:21 编辑动机
每次补货过后的二手市场总是让人眼花缭乱。各种各样的勋章堆在一起,快来快来数一数,24678。
那么有没有一种方法可以直观地看出各种勋章各寄售了几个?有的兄弟,有的。
同样是调教DeepSeek写的,简单粗暴、方便快捷,不必再和GPT一样折腾全局模式、特定节点、科学上网,使用体验爽歪歪。
功能
排序逻辑:优先按照数量,从高到低排列。如果数量相同,则按照出现在市场中的先后顺序排列。
外观设计:沿用已有格式,宽度字体颜色等均相同,以确保设计语言的统一。上方统计结果可以可以和下方勋章一一对齐。
代码
@Name@Match@Icon
// ==UserScript==
// @name 二手市场寄售情况统计
// @namespace http://tampermonkey.net/
// @version 0.1
// @description统计二手市场同类勋章数量(修复版)
// @author Étoiles & DeepSeek
// @match https://www.gamemale.com/wodexunzhang-showxunzhang.html?action=showjishou
// @icon https://www.google.com/s2/favicons?sz=64&domain=gamemale.com
// @grant GM_log
// ==/UserScript==
(function () {
'use strict';
// 调试日志函数
function debugLog(message) {
if (typeof GM_log !== 'undefined') {
GM_log(message);
}
console.log('[勋章统计]', message);
}
// 新版元素查找函数
function findMarketTitle() {
const titles = document.querySelectorAll('.my_biaoti');
for (let title of titles) {
if (title.textContent.includes('二手市场')) {
debugLog('找到标题元素');
return title;
}
}
debugLog('未找到标题元素');
return null;
}
// 主执行函数
function main() {
const titleDiv = findMarketTitle();
if (!titleDiv) {
debugLog('中止:未找到标题元素');
return;
}
// 创建统计容器
const statsDiv = document.createElement('div');
statsDiv.id = 'medal-stats-box';
statsDiv.style.cssText = `
padding: 5px 0px 10px 0px;
background: #f5f5f5;
border: 0px solid #ddd;
margin: 0;
color: #666;
font-size: 14px;
`;
// 修改后的统计逻辑(记录图片路径)
const medals = {};
const blocks = document.querySelectorAll('.myblok');
debugLog(`找到 ${blocks.length} 个勋章区块`);
blocks.forEach((blok, index) => {
const img = blok.querySelector('.myimg img');
if (!img) {
debugLog(`区块 ${index} 缺少图片元素`);
return;
}
const name = img.alt.trim();
const src = img.src; // 新增:获取图片路径
if (!name) {
debugLog(`区块 ${index} 图片alt为空`);
return;
}
// 记录图片路径和数量
if (!medals) {
medals = {
count: 1,
src: src
};
} else {
medals.count++;
}
});
// 修改后的统计内容生成部分
statsDiv.innerHTML = `
<div style="font-size:16px; margin:5px 19px; font-weight:bold">寄售统计(共 ${blocks.length} 个)</div>
<div class="myfldiv clearfix">
${Object.entries(medals)
.sort((a, b) => b.count - a.count)
.map(() => `
<div class="myblok" style="width:145px;height:120px;">
<div class="myimg" style="font-size:12px;color:#383a42">
<img src="${data.src}"
alt="${name}"
style="${getOriginalImgStyle()}"> <!-- 保持原始图片样式 -->
<p title="${name}"><b>${shortenName(name)}</b></p>
<p>
<button type="button" class="pn"
style="cursor:default; background:#e5e5e5">
<em>${data.count}</em>
</button>
</p>
</div>
<!-- 保留悬浮提示容器保持结构一致 -->
<div class="mytip" style="display:none"></div>
</div>
`).join('')}
</div>
`;
// 获取原始图片样式函数
function getOriginalImgStyle() {
const sampleImg = document.querySelector('.myblok .myimg img');
return sampleImg ? sampleImg.getAttribute('style') || '' : '';
}
// 名称截断函数(保持原始处理逻辑)
function shortenName(name) {
return name.length > 14 ? name.substring(0, 12) + "..." : name;
}
// 插入元素
titleDiv.insertAdjacentElement('afterend', statsDiv);
debugLog('统计信息已插入');
}
// 启动方式:先尝试立即执行,然后每500ms检查一次,最多检查5次
let checkCount = 0;
function checkAndRun() {
if (checkCount++ > 5) {
debugLog('超过最大重试次数');
return;
}
if (document.querySelector('.my_biaoti')) {
main();
} else {
setTimeout(checkAndRun, 500);
}
}
// 使用DOMContentLoaded替代load事件
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', checkAndRun);
} else {
checkAndRun();
}
})();
星象占卜 很实用惹 这样二手市场就简洁多了惹 居然这么简洁,AI写这种代码真的好方便啊.jpg
狗狗居然剩的这么多,看来大家都是喜欢金币的) 虽然是使用DeepSeek来写,但是大佬你专业的让我害怕,这个功能确实可以让对勋章研究不深的玩家有个大致判断和感受 我趣,好实用的脚本,这下再也不用担心眼花缭乱的二手市场了{:6_179:} 瑪雅好棒!! 這樣就不用怕自己漏看惹 天才 好棒的脚本,这下就不担心因为滑动错过心仪的勋章了,赞美星老师https://img.gamemale.com/album/202504/28/142855fjfwg73v7gfg4dwj.jpg.thumb.jpg 这个很棒! 再也不用被一堆抛售的洗版了,还能顺便寻宝,只好推了 这次二手全是连枷和狗狗,太惨了 高技术力的帖子,太赞了,感谢楼主分享!这个对萌新帮助真的很大,可以大致对勋章有个客观的判断,也不会被繁杂的二手市场看的眼花缭乱{:6_180:} 挺有用的。为啥大家都这么不待见连枷?虽然属性不行但是它是阿努比斯啊(你是真的饿了) 喜欢逛二手的人可以用一下 妙妙小工具又增加了ing,越来越方便了 好多狗狗在二手啊。看样子大家都更加喜欢金币叻。还有好多阿加莎和弯钩{:4_114:} 哇哦,deepseek还可以直接写这种能实用的代码呀{:4_114:} 这次补货两级分化好大,好的香的不得了,不好的被疯狂嫌弃呢。。。 这也太方便了,刷新的时候一眼就可以看完{:6_194:} 物以稀为贵,有这个可以盯着少量的好东西下手了;P 好实用的工具,可以更方便掌握二手市场动态了 本帖最后由 深暗幽狼 于 2025-5-4 12:52 编辑
换到前年还没放开回收时,那二手已经是很长的页面了。那么这次蝉联二手新上架的勋章会是狗、连枷还是女巫呢(
所以说什么游戏mod论坛嘛,全都是btsrk,猫和狗首发80枚,全都被买断货了(