// ==UserScript== // @name VJudge Cooldown Nuker // @namespace http://tampermonkey.net/ // @version 1.0 // @description 快速提交 // @author GCSG01 // @license MIT // @match *://duel.gengen.qzz.io/* // @grant none // @run-at document-start // @icon https://cdn.luogu.com.cn/upload/image_hosting/lb8qcsrx.png // ==/UserScript== (function(){ 'use strict'; const PREFIX='vjudge-duel.judge-cooldown.'; function clean(){ for(let i=localStorage.length-1;i >= 0;i--){ const key=localStorage.key(i); if(key&&key.startsWith(PREFIX)) localStorage.removeItem(key); } } try{ const originalSetItem=Storage.prototype.setItem; Storage.prototype.setItem=function(key,value){ if(typeof key==='string'&&key.startsWith(PREFIX))return; return originalSetItem.apply(this,arguments); }; }catch (e){ console.warn('VJudge Nuker: SetItem hook failed',e); } try{ const handler={ set:function(target, prop, value){ if(typeof prop==='string' && prop.startsWith(PREFIX)) return true; target[prop]=value; return true; } }; }catch(e){} setInterval(clean,500); clean(); })();