金书红颜录路线武功规划脚本,需配合相关维基页面使用:
http://tpr.inkit.org/doku.php?id=tpr5:route
关于此脚本的信息见帖子:
http://game.ali213.net/thread-5947217-1-1.html
脚本在greasefork的地址:
https://gf.qytechs.cn/zh-CN/scripts/13722-route-assistant
下列说明中[]表示被包围的是一个词,括号内容为这个词的描述,实际使用中不要输入[]。
路线格式:
#[天书或其他基本剧情部分1]
1 [第一级路线分歧1] bind [第一级路线分歧3]
2 [第二级路线分歧1]
@ 武功1+8-特 武功二+8阳-剑 武功5+8-特?2
2 [第二级路线分歧2]
@ 武功d+8-特
1 [第一级路线分歧2]
@ 武功233+8-特
#[天书或其他基本剧情部分2]
1 [第一级路线分歧3]
@ 武功233+8-特 武功2+3-特 武功1+8-特 武功8+8-特
……
每个以数字或符号开头的有效语句占一行。#表示选项路径的根;以1、2、3等一位数字开头的语句分别代表第一、二、三级的子选项,子选项最高9级;以@开头的为该选项路径的武功列表。
使用路线绑定时,在需要添加绑定的路线后添加 bind [要绑定的路线分歧],[]中的内容是需要绑定的目标路线选项名,不需要包含完整路径,也不要包含语句前的数字符号,bind的内容和要绑定的目标在忽视前后空格的情况下需要精确一致。根据路线情况可添加单向绑定(如水笙线的收狄云分支单向绑定白绣线)或双向绑定(如蒙古线与天地线的绑定)。要同时为一个语句添加多个绑定,则需在句尾添加多个bind参数,bind参数之间以空格隔开。
缩进不是必要的,但为增强源数据可读性考虑请逐行缩进。
武功条目格式:
[武功名,请勿使用数字、空格,必须]+[指数,一位数字,可选][阴阳,一位字符,阴或阳,可选]-[系别,一位字符,可选]?[周目要求,一位数字,可选,缺省为1]
条目起始部分为不限长度的汉字序列,决定该武功条目的名称;加号 + 引导武功的系数、轻内的等级或其他有意义的一位数字,将被用在输出结果的排序中;紧跟着+号与一位数字的是武功对应内力性质,一位汉字,阴或者阳,只有在指定了+号与数字内容的情况下才能添加阴阳参数,在进行输出结果的过滤时,如果指定了阴阳选项,将筛选出阴阳属性相符的以及未限制阴阳的武功;减号 - 引导一位汉字的武功类型指代,将被用在输出结果的分类中;问号 ? 引导可获得该武功的最低周数,将被用于判断是否将该武功条目输出,默认为1。除了开头的武功名必须指定之外,其他所有参数都是可选的,但所有被使用的参数必须按照+-?的顺序出现。所有符号都应是半角英文符号。武功条目之间以空格分隔。
在编辑源数据时进行预排序(令武功条目从左至右从小到大基本有序)可降低脚本进行排序时的开销。
请参考已有数据进行编辑。以下是数据正文,脚本将在页面载入完成后开始运行,开启脚本的按钮将显示在下面:
下面是一个示例,名字都是乱起的,信息也不全,供参照:
#飞狐
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('code');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;for(var i=0,aTemp;i<100;i++) {aTemp=rP1.exec(sOrigin);if (aTemp=== null) break;aC1[i]={__Con: {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+='名称显示简名全名 '+'类别 拳剑兵特暗内轻其他'+'阴阳 阴阳'+'最低数值 23456789';div2f.appendChild(speci);button= document.createElement('button');button.innerHTML='过滤结果';button.onclick=filter;div2f.appendChild(button);div2.appendChild(div2f);div2.appendChild(div2p);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'),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;Pos.next[i]={__Con: {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