找回密码
 注册
搜索
查看: 1328|回复: 29

关于绕指改动后脚本的修改思路

[复制链接]
门派:武当派
发表于 2022-1-5 21:16:53 | 显示全部楼层 |阅读模式
核心思想还是如版之前给出的代码,但是如版的存在两个问题,问题一:华山2类似的npc出招慢导致迟迟不出raozhi影响效率;问题二:基于问题一如果战斗前set 绕指 快,盲放buff如果遇到判断失误后目前代码似乎没有重放修正的功能。所以做了一些修改,不过因为定制和公版的情况还是有所不同,代码未必通用,主要放思路和主要做的调整脚本。
第一步在kezhiwugong.lua中添加flag
function kezhiwugong()中间添加相关
flag.raozhibuff=false

第二步增加raozhi buff判断
function kezhiwugongStart()中间添加相关
create_trigger_t('afightB103','^(> )*你施展出太极剑法中的绕指柔剑,剑势陡然变(\\D*)手中\\D*','','raozhi_on')
create_trigger_t('afightB104','^(> )*你剑意一滞,又恢复到原来的攻势','','raozhi_off')
SetTriggerOption("afightB103","group","afightX")
SetTriggerOption("afightB104","group","afightX")

第三步定义raozhi_on和raozhi_off等,这里说明下,因为测试小号会员等级低指令上限小,避免出现战斗指令多逃跑的情况,魔改了战斗模块,不用wimpy触发,全用timer来放克制和buff及pfm,所以后面脚本更多是参考思路
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
kezhi_valueraozhi={--mush的变量名称,对应武功使用哪种克制
    ["正"]='妙',
    ["奇"]='险',
    ["刚"]='快',
    ["柔"]='正',  
    ["快"]='柔',
    ["慢"]='刚',
    ["妙"]='奇',
    ["险"]='正',
    ["空"]='空',
    ["无"]='正',  --按自己需求改为了保证放出绕指获得最大的buff加成,pman用120%的正来代替,pkong用100%的空来代替
}
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
第四步添加战斗触发
function kezhiwugongSetPerform(tempatt,i,targetid)里面添加
    raozhi_restart()
function kezhiwugongStart()里面添加
    raozhi_start()

评分

1

查看全部评分

门派:武当派
 楼主| 发表于 2022-1-5 21:26:20 | 显示全部楼层
战斗结束后各个flag归位,这个按照不同版本在各自地方添加,如
flag.raozhibuff=false
raozhi_sx=nil
战斗逻辑是这样的,战斗开始启动raozhi_start,盲打一个raozhi先。获得buff后如果npc打得快一直在吸气或者直接打飞了,那没有出招判断,不会继续放raozhi。如果打的慢npc出招后按照克制判断和现有buff有出入,启动raozhi_restart。npc如果变招同样应对。
说明一下,按照这样战斗思路pxian,pzhen这些里面设置只用set 绕指 x,不用再放perform sword.raozhi。另外为提高释放效率,function kezhiwugongSetPerform(tempatt,i,targetid)最后的exe('kezhiwugongpfm')里面可以修改exe('kezhiwugongpfm;pppp1')

评分

1

查看全部评分

门派:武当派
发表于 2022-1-5 22:31:35 | 显示全部楼层
这个可以作为使用计时器进行战斗的 代码 模板。
感谢感谢。
门派:姑苏慕容
发表于 2022-1-5 22:52:04 | 显示全部楼层
我武当是要火了么,都有技术贴了啊
门派:武当派
 楼主| 发表于 2022-1-5 22:56:33 | 显示全部楼层
纯粹来骗大师兄的打赏的,用timer+纠错重发raozhi主要还是为了以后上山切换克制
门派:武当派
发表于 2022-1-6 15:44:10 | 显示全部楼层
wimpycmd来触发技能 与 timer来触发技能,是两种思路,目的差不多。
现在有点儿感觉公版的 方案设置得已经可以应对大部分情况了,尤其是在武器普遍较好,合气普遍够用得情况下。
对于一些有难度得的战斗,或者PK时,还是需要在 如何 根据对手出招 自己合气数量 来确定使用何种技能来应对,也就是所谓的定制吧。
这方面很难有“公版”。
门派:武当派
 楼主| 发表于 2022-1-6 19:39:48 | 显示全部楼层
kkgraphy@tj 发表于 2022-1-6 15:44
wimpycmd来触发技能 与 timer来触发技能,是两种思路,目的差不多。
现在有点儿感觉公版的 方案设置得已经 ...

低难度任务还是求效率为先,落实下去就是抓细节和防意外。按照目前高攻武器普及,合气充沛的情况下,wimpycmd按照心跳来,合气释放比较依赖身法。大佬们身法高并且有quest支持普攻足够反而影响不大,相对有高攻武器新人以及quest没大成的来说要抓效率用timer可能会更有效倾泄合气提高华山2这样的战斗效率。
另外一点wimpy会造成逃跑的意外。
timer不好的地方一个是略微加大窗口内存变相降低ping,略微降低整体效率,另外mush偶尔会出现关闭不彻底的情况,加多无效指令输入。
门派:武当派
发表于 2022-1-7 10:40:16 | 显示全部楼层
咱武当也有技术贴了呀。
师弟师妹们加油呀!
门派:武当派
发表于 2022-1-7 15:32:02 | 显示全部楼层
kjrwd@tj 发表于 2022-1-7 10:40
咱武当也有技术贴了呀。
师弟师妹们加油呀!

在努力挂机中,速度不快,但是很稳定。
门派:武当派
发表于 2022-1-7 17:28:02 | 显示全部楼层
稳定就好呀,随着quest。武器的提升效率也会提升的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|书剑永恒MUD ( 闽ICP备14012032号|闽公网安备 35050202000162号 )

GMT+8, 2025-6-19 05:50 , Processed in 0.024442 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表