|
发表于 2012-6-26 22:50:12
|
显示全部楼层
本帖最后由 bestoml 于 2012-6-26 10:53 PM 编辑
这个贴很好,不过在CMUD下面有关道德经的都解析不了,原因是一个中文的%len(%3)=2的,二十就是4,二十二就是6了,我做了整合:
只需要一个触发语句就行了:
你向冲虚道长打听有关『quest』的消息。$冲虚道长说道:「今天全派弟子要在(*)熟读典籍,据说要诵唱(*)的第(*)章
sj_pos=%1;
sj_book=%2;
sj_item=%2;
#if %begins(%3,一) {sj_page=1};
#if %begins(%3,二) {sj_page=2};
#if %begins(%3,三) {sj_page=3};
#if %begins(%3,四) {sj_page=4};
#if %begins(%3,五) {sj_page=5};
#if %begins(%3,六) {sj_page=6};
#if %begins(%3,七) {sj_page=7};
#if %begins(%3,八) {sj_page=8};
#if %begins(%3,九) {sj_page=9};
#if %begins(%3,十) {sj_page=10};
#if (%len(%3)>=4) {#math sj_page @sj_page*10 }
sj_temp=%copy(%3,5,2);
#if (%len(%3)>=6) {
#if (@sj_temp=一) {#math sj_page @sj_page+1};
#if (@sj_temp=二) {#math sj_page @sj_page+2};
#if (@sj_temp=三) {#math sj_page @sj_page+3};
#if (@sj_temp=四) {#math sj_page @sj_page+4};
#if (@sj_temp=五) {#math sj_page @sj_page+5};
#if (@sj_temp=六) {#math sj_page @sj_page+6};
#if (@sj_temp=七) {#math sj_page @sj_page+7};
#if (@sj_temp=八) {#math sj_page @sj_page+8};
#if (@sj_temp=九) {#math sj_page @sj_page+9};
}
可以用#say %len(%3) @sj_temp看看对应的长度.
还有不要用遍历,效率不好,
用地图+定位,会快很多,而且准确.我用CMUD,遍历有时会停下来不走.晕.
在这里我偷了点小懒,因为对于道德经上下来说,一般都是一章一页的,但是中间有那么一两章占了两页,所以从那开始之后的页数都需要再加1,因为碰见的少,所以我也懒得做了,各位可以自行加上。
我是这样做的:
trigger:^任务诵经任务要求你拿着(*)在(*)诵唱第(*)章
#wa 1000
#math sj_page @sj_page+1
checkjing |
|