route assistant

金书红颜录路线武功规划脚本,需配合相关维基页面使用

اعتبارا من 10-11-2015. شاهد أحدث إصدار.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

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

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

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

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

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

ستحتاج إلى تثبيت إضافة مثل Stylus لتثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتتمكن من تثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتثبيت هذا النمط.

ستحتاج إلى تثبيت إضافة لإدارة أنماط المستخدم لتثبيت هذا النمط.

(لدي بالفعل مثبت أنماط للمستخدم، دعني أقم بتثبيته!)

المؤلف
myhead
التقييمات
0 0 0
الإصدار
1.1.3
تم إنشاؤه
08-11-2015
تم تحديثه
10-11-2015
الحجم
12.7 KB
الترخيص
لا يوجد
ينطبق على

金书红颜录路线武功规划脚本,需配合相关维基页面使用:
http://tpr.inkit.org/doku.php?id=tpr5:route

关于此脚本的信息见帖子:

http://game.ali213.net/thread-5947217-1-1.html

脚本在greasefork的地址:

https://greasyfork.org/zh-CN/scripts/13722-route-assistant

下列说明中[]表示被包围的是一个词,括号内容为这个词的描述,实际使用中不要输入[]。

路线格式:

    #[天书或其他基本剧情部分1]
        1 [第一级路线分歧1] bind [第一级路线分歧3]
        @ 该选项分歧下直接可获得的武功列表
            2 [第二级路线分歧1]
                @ 第二级分歧选项1下可获得的武功列表
            2 [第二级路线分歧2]
                @ 第二级分歧选项2下可获得的武功列表
        1 [第一级路线分歧2]
        @ 第一级分歧选项2下可获得的武功列表
    #[天书或其他基本剧情部分2]
     @ 该选项分歧下直接可获得的武功列表,也可留空
        1 [第一级路线分歧3]
                @ 同上
……

每个以数字或符号开头的有效语句占一行。#表示选项路径的根;以1、2、3等一位数字开头的语句分别代表第一、二、三级的子选项,子选项最高9级;以@开头的为该选项路径的武功列表,在选项会继承上层父选项中以@声明的武功列表。

使用路线绑定时,在需要添加绑定的路线后添加 bind [要绑定的路线分歧],[]中的内容是需要绑定的目标路线选项名,不需要包含完整路径,也不要包含语句前的数字符号,bind的内容和要绑定的目标在忽视前后空格的情况下需要精确一致。根据路线情况可添加单向绑定(如水笙线的收狄云分支单向绑定白绣线)或双向绑定(如蒙古线与天地线的绑定)。要同时为一个语句添加多个绑定,则需在句尾添加多个bind参数,bind参数之间以空格隔开。

缩进不是必要的,但为增强源数据可读性考虑请逐行缩进。

武功条目格式:

    [武功名,请勿使用数字、空格,必须]+[指数,一位数字,可选][阴阳,一位字符,阴或阳,可选]-[系别,一位字符,可选]?[周目要求,一位数字,可选,缺省为1]

条目起始部分为不限长度的汉字序列,决定该武功条目的名称;加号 + 引导武功的系数、轻内的等级或其他有意义的一位数字,将被用在输出结果的排序中;紧跟着+号与一位数字的是武功对应内力性质,一位汉字,阴或者阳,只有在指定了+号与数字内容的情况下才能添加阴阳参数,在进行输出结果的过滤时,如果指定了阴阳选项,将筛选出阴阳属性相符的以及未限制阴阳的武功;减号 - 引导一位汉字的武功类型指代,将被用在输出结果的分类中;问号 ? 引导可获得该武功的最低周数,将被用于判断是否将该武功条目输出,默认为1。除了开头的武功名必须指定之外,其他所有参数都是可选的,但所有被使用的参数必须按照+-?的顺序出现。所有符号都应是半角英文符号。武功条目之间以空格分隔。

目前各路线武功信息已大体添加完成,可能有细节信息错误,周目说明也并不详尽,敬待修改。想为武功添加专属说明的,可在+号前的武功名中添加括号包围的汉字说明,别太长就行了。

如果想离线使用路线武功规划脚本,可将该网页保存(只需要保存html)后,在下载好的页面使用书签方式调用脚本即可。

下面是一个示例,名字都是乱起的,信息也不全,供参照:

#飞狐
    1 灵素线
        2 小灵素
            @ 辽东野狐拳+2-拳
        2 大大大大灵素 bind 救丁典 bind 灵素救青青 bind 救俞岱岩 bind 救赵敏
            @ 辽东野狐拳+2-拳
    1 冰霜线
        @ 飞天神行+4阳-轻
#碧血剑
    1 青青线
        2 灵素救青青 bind 灵素线
            @ 金蛇剑法+6阳-剑
        2 传说中的憋过桥再救
            @ 金蛇剑法+6阳-剑
        2 不救青青
            @ 金蛇剑法+6阳-剑 混元掌+6阳-拳?2
    1 阿九线
        @ 混元掌+6阳-拳
#鸳鸯刀
    @ 夫妻刀法+4-兵
#其他剧情
    1 低道德论剑
        @ 参合剑气
    1 高道德论剑
        2 拜师剑系
            @ 天子剑法+9-剑
……

也可以直接将下面的伪协议链接存为书签在维基页面调用:

javascript:var aC1= [],aRoute=[],oResult={},sOrigin='',sResult='',t;window.mainDiv= document.createElement('div'),window.navi= document.createElement('div'),window.div1= document.createElement('div'),window.div2= document.createElement('div'),window.div2p= document.createElement('div'),window.div2f= document.createElement('div'),window.round= document.createElement('select'),window.speci= document.createElement('span'),window.toggle= document.createElement('button'),window.oTarget= {};toggle.innerHTML="打开路线武功规划器";toggle.onclick=function(){if(sOrigin=== '') main();mainDiv.style.display='';};window.onload=function(){toggle.id='__toggle';mainDiv.id='__mainDiv';oTarget= document.getElementById('target');oTarget.insertBefore(toggle,oTarget.firstChild);};function main(){if(!oTarget){alert('找不到源数据');return;}sOrigin=oTarget.textContent;var rP1= /#(.+)/g,sMR='';for(var i=0,aTemp;i<100;i++) {aTemp=rP1.exec(sOrigin);if (aTemp=== null) break;t= aTemp.input.match(/\n\s*.*/)[0].match(/@(.*)/);sMR= t? t[1]:'';aC1[i]={__Con: {sMResult: sMR,sPath: aTemp[0],sName: aTemp[1].match(/\s*\S+\s*/)[0],sCon: aTemp.input,nStart: aTemp.index,nEnd: undefined},next: []};aRoute[i]= aC1[i];if(i>0)aC1[i-1].__Con.nEnd= aTemp.index-1;}mainDiv.setAttribute('style','position: absolute; left: 200px; top: 100px; width: 800px; height: 600px; background: white; border: solid #E0E0E0; overflow: auto;resize: both;');navi.innerHTML="路线选择"+"武功统计"+"隐藏";navi.setAttribute('style','border-bottom: solid #F0F0F0; background: #F0F0F0');navi.setAttribute('style','border-bottom: solid #F0F0F0;background: #F0F0F0');div2.style.display='none';div2.innerHTML+= '请选择周目:';for(var i=1;i<7;i++)round.innerHTML+=''+i+'周';div2.appendChild(round);button= document.createElement('button');button.innerHTML='开始统计';button.onclick= analyse;div2.appendChild(button);div2f.innerHTML+= '结果过滤器:';speci.innerHTML+='名称显示简名全名 '+'类别    拳剑兵特暗内轻药其他'+'阴阳    阴阳'+'最低数值    123456789';div2f.appendChild(speci);button= document.createElement('button');button.innerHTML='过滤结果';button.onclick=filter;div2f.appendChild(button);div2.appendChild(div2f);div2.appendChild(div2p);div2.style.margin='10px';var tarList=document.createElement('ol');for(var i=0,li,doList;i0){var select=document.createElement('select');select.onchange=routeQuery;select.innerHTML+="";for(var j=0;j"+doList[j].__Con.sName+"";}li.appendChild(select);}tarList.appendChild(li);}button= document.createElement('button');button.innerHTML='检查路线冲突';button.onclick=checkBinding;div1.appendChild(button);div1.appendChild(tarList);mainDiv.appendChild(navi);mainDiv.appendChild(div1);mainDiv.appendChild(div2);document.body.appendChild(mainDiv);}function dive(Pos,nSym){var rP= new RegExp('\\s'+nSym+'(.*)','g'),sMR,sContext= Pos.__Con.sCon.substring(Pos.__Con.nStart,Pos.__Con.nEnd);for(var i=0,aTemp;i<100;i++) {aTemp= rP.exec(sContext);if(aTemp=== null) break;t= aTemp.input.match(/\n\s*.*/)[0].match(/@(.*)/);sMR= t? t[1]:'';Pos.next[i]={__Con: {sMResult: Pos.__Con.sMResult+ sMR,sPath: Pos.__Con.sPath+'-'+aTemp[1],sName: aTemp[1].match(/\s*\S+\s*/)[0],sCon: aTemp.input,nStart: aTemp.index,nEnd: undefined},next: []};if(i>0) Pos.next[i-1].__Con.nEnd= aTemp.index-1;}return Pos.next;}function sort(aEntry,aTarget){var i,nIndi;if(!aTarget[0]){aTarget[0]=aEntry;return;}if(!aEntry[1]) nIndi=0;else nIndi=parseInt(aEntry[1].match(/\d/)[0]);for(i=0;i= i;j--){aTarget[j+1]= aTarget[j];}break;}}aTarget[i]= aEntry;}function routeQuery(){while(this.nextSibling)this.parentNode.removeChild(this.nextSibling);if(this.value== this.firstChild.value) return;var aValue=this.value.match(/\d+/g),Pos=aC1[aValue[0]],nSym= 0;for(var i=1;i0) {var select=document.createElement('select');select.onchange=routeQuery;select.innerHTML+="";for(var j=0;j"+list[j].__Con.sName+"";}this.parentNode.appendChild(select);}aRoute[aValue[0]]= Pos;}function analyse(){oResult={};for(var i=0,oT;i round.value) continue;if(!aT[2]) aT[2]='未分类';else aT[2]=aT[2].substring(1);if(!oResult[aT[2]]) oResult[aT[2]]=[];sort(aT,oResult[aT[2]]);}}sResult='';for(var x in oResult){sResult+= '类别——'+x+':
  ';var rTp= /[^\-?\s]+/;for(var i=0;i  ';if(aOut[0].value== 1){for(var i= 0,aTemp;i= aOut[3].value)sResult+= aTemp[0].match(rTp)[0]+'  ';}}else{for(var i= 0,aTemp;i aOut[3].value)sResult+= aTemp[0]+'  ';}}sResult+='

';}div2p.innerHTML= sResult;}function checkBinding(){var aBind=[],Compare={},sCollision='';for(var i=0;i