Roll

匿名版ROLL点工具

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

Advertisement:

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

Advertisement:

// ==UserScript==
// @name	Roll
// @author	丧失A
// @version	0.0.4
// @description	匿名版ROLL点工具
// @match	*.nimingban.com/*
// @include	*.nimingban.com/*
// @require http://code.jquery.com/jquery-1.11.2.min.js
// @grant none
// @namespace https://greasyfork.org/users/8781
// ==/UserScript==

function rnd(seed){
seed = ( seed * 9301 + 49297 ) % 233280;
return seed;
}
function roll(commentList){
    for(var i=0;i<commentList.length;i++){
        var ID=parseInt(commentList.parent().find(".h-threads-info").find(".h-threads-info-id")[i].innerHTML.substring(3));
        var Time=parseInt(commentList.parent().find(".h-threads-info").find(".h-threads-info-createdat")[i].innerHTML.slice(-2));
        var rollQuest=commentList[i].innerHTML.match(/roll\(\d+D\d+\)+/g);
            if(rollQuest!=null){
                for(var j=0;j<rollQuest.length;j++){
                    var rolltime = parseInt(rollQuest[j].substring(5,rollQuest[j].indexOf('D')));
                    var rollmax = parseInt(rollQuest[j].substring(rollQuest[j].indexOf('D')+1));
                    var rollresult = 0;
                        for(var p=0;p<rolltime;p++) rollresult+= (rnd(ID+Time*(p+1))%rollmax + 1);
                    commentList[i].innerHTML=commentList[i].innerHTML.replace(rollQuest[j],rollQuest[j]+"<font color='#FF3333'>="+rollresult+"</font>");
                }
            }
    
       }
}
roll($(".h-threads-content"));