| 
 | 
 
由于游戏底层设定在绕指状态下还可以再释放perform sword.raozhi, 所以在低合气状态下很容易反复raozhi,而其他pfm全放不出来,这个问题已经有了两类解决方案,一类是如版提出的,kk师姐完善的 
给武当弟子的绕指思路 
另一类是井冈山师兄提出的 
关于绕指改动后脚本的修改思路 
我都试用了一下,还是倾向井冈山师兄提出的方案,效率更高,潜力更大,但他给的代码还有些小问题,我尝试解决一下 
主要问题就是这个raozhi_restart函数的绕指释放机制 
function raozhi_restart(kzValue,i,kezhiwugongName) --这里看各自版本,公版应该是这个 这一块主要是纠错,当前绕指buff和克制绕指set有出入会按照pfmpfm或者ppp1更改set后重新放raozhi 
    raozhi_sx=kezhi_valueraozhi[tmp.kzValue] 
    if raozhi_sx~=nil and raozhi_sx~=tostring(raozhi_tmp) and score.party and score.party=='武当派' then 
    wait.make(function() 
         wait.time(0.5) 
    exe('perform sword.raozhi') 
    end) 
    wait.make(function() 
         wait.time(2.5) 
    exe('perform sword.raozhi') 
    end)        
    end 
end 
在判断完当前已释放的绕指属性和应释放的绕制属性后,如果不一致,先等待0.5s释放一次,再等待2.5秒释放一次。这个释放方法有点问题,华山2四条命,如果正好在npc每条命被终结的时候执行perform sword.raozhi是释放不出来的,再有第一个等待0.5s后的绕指释放时,通常在绕指的cd当中,这样就可能导致在一段时间内以低克制应对npc,武当华山任务无所谓,npc很弱,如果是官府任务那就惨了,我死了几次看log都是这个问题。 
我把我改完之后的代码发出来 
 
1、在kezhiwugong.lua 最后加上 
kezhi_valueraozhi={--mush的变量名称,对应武功使用哪种克制 
    ["正"]='妙', 
    ["奇"]='险', 
    ["刚"]='快', 
    ["柔"]='险', 
    ["快"]='柔', 
    ["慢"]='刚', 
    ["妙"]='奇', 
    ["险"]='正' 
    ["空"]='快', 
    ["无"]='快',  --我现在是900级太极剑,克制全了,这里就这样设了,金蛇剑法等级低还没用上,就把空的克制也弄成快了,无的克制也是 
} 
 
function raozhi_on(n,l,w)   
        EnableTimer('walkWait22',false) 
        DeleteTimer("walkWait22") 
        flag.raozhibuff=true 
        raozhi_tmp=nil 
        raozhi_tmp=tostring(w[2]) 
        print("绕指柔剑开启!") 
end 
function raozhi_off() 
        flag.raozhibuff=false 
        print("绕指柔剑关闭!") 
        create_timer_s('walkWait22',1.0,'raozhi_start')   
end 
function raozhi_start() 
        EnableTimer('walkWait22',true) 
        if score.party=='武当派' and flag.raozhibuff==false then 
        exe('perform sword.raozhi') 
        end 
        create_timer_s('walkWait22',1.0,'raozhi_start')--前面这三个函数保持不变 
end 
function raozhi_restart(kzValue)  
    local raozhi_sx=kezhi_valueraozhi[kzValue]--这里我把raozhi_sx变成局域变量,如果其他地方也想调用可改成全局的 
        print(raozhi_sx)--这里我加了个屏幕输出,随时观察克制对错 
    if raozhi_sx~=nil and raozhi_sx~=tostring(raozhi_tmp) and score.party and score.party=='武当派' then 
    wait.make(function()--这里我只保留一个wait函数 
         wait.time(0.5) 
    exe('set 绕指 '..raozhi_sx..';perform sword.raozhi')--我直接在这里set 绕制,这样pqi、pzhen那些变量里只需要填pfm就可以了 
    end) 
    end 
end 
function raozhi_go()--新加个一个函数,应对前面说的raozhi释放不出来的问题 
        wait.make(function() 
                wait.time(0.5) 
    exe('perform sword.raozhi') 
    end) 
end 
 
2、然后在function kezhiwugongStart()里增加触发 
 
create_trigger_t('afightB111','^(> )*你施展出太极剑法中的绕指柔剑,剑势陡然变(\\D*)手中\\D*','','raozhi_on') 
create_trigger_t('afightB112','^(> )*你剑意一滞,又恢复到原来的攻势','','raozhi_off') 
create_trigger_t('afightB113','^(> )*你的绕指柔剑技能冷却时间还有\\D*秒!','','raozhi_go') 
create_trigger_t('afightB114','^(> )*绕指柔剑只能对战斗中的对手使用。','','raozhi_go') 
 
SetTriggerOption("afightB111","group","afight") 
SetTriggerOption("afightB112","group","afight") 
SetTriggerOption("afightB113","group","afight") 
SetTriggerOption("afightB114","group","afight") 
 
3、再有,在function kezhiwugongSetPerform(tempatt,i,targetid)里加上raozhi_restart(tempatt),也就是这个位置: 
 
        end 
        raozhi_restart(tempatt) 
end 
function kezhiwugongsuccess(kezhi_cmd,k_order,npci) 
 
也就是最后一个end之前 
 
4、function kezhiwugongclose()中加入 
 
flag.raozhibuff=false 
 
5、function kezhiwugongStart()中加入 
 
raozhi_start() 
加到一开始的位置就可以 
 
定制版改完没问题,山下、官府、蝶梦楼这些我都试过。公版我看了一下函数都没问题的,但我没用公版测,谁感兴趣可以拿公版测一下。 
 
 
 
 
 
 
 
 
 |   
 
评分
- 
1
查看全部评分 
 
- 
 
 
 
 
 |