找回密码
 注册
搜索
查看: 3164|回复: 27

简洁清晰版——根据伤害判断般若掌属性!

[复制链接]
门派:明教
发表于 2019-3-30 16:43:03 | 显示全部楼层 |阅读模式
本帖最后由 kkfromch@tj 于 2019-4-1 19:22 编辑

kezhiwugong.lua——

1.添加三个变量:npc_wugong 和 damage_level,前者用来记录npc的武功,后者用来统计我们打npc的伤害程度,npc_kezhi则记录npc的武功属性。

  1. local npc_wugong={}
  2. local npc_kezhi={}
  3. local damage_level=0
复制代码


下边,在kezhiwugong模块关闭时,要将damage_level归零!

  1. function kezhiwugongclose()
  2.         --print("关闭检测")
  3.         EnableTriggerGroup('afight',false)
  4.     DeleteTriggerGroup("afight")
  5.         EnableTriggerGroup('afightX',false)
  6.     DeleteTriggerGroup("afightX")
  7.         npc_num=0
  8.         haichaoID=nil
  9.         kezhisuccess=0
  10.         damage_level=0
复制代码


门派:明教
 楼主| 发表于 2019-3-30 16:45:32 | 显示全部楼层
本帖最后由 kkfromch@tj 于 2019-3-30 18:03 编辑

这里的code老被论坛吞,$ ',表示句末的两个符号合在一起,就被论坛吞了,无奈上传一个文件,大家把它复制下来吧!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
门派:明教
 楼主| 发表于 2019-3-30 16:46:48 | 显示全部楼层
本帖最后由 kkfromch@tj 于 2019-4-1 19:25 编辑

3.function kezhiwugongValue(kzValue,i,kezhiwugongName)函数中,对判断出来的npc武功进行赋值,比如已经判断出来是般若掌,则记录进变量npc_wugong中。

  1.           
  2.                       table.remove(npc_kezhi,i)
  3.                       table.insert(npc_kezhi,i,kzValue)
  4.             table.remove(npc_wugong,i)
  5.             table.insert(npc_wugong,i,kezhiwugongName)       
  6.         ColourNote ("red","blue",npc_name[i].."使用武功【"..kezhiwugongName.."】,武功属性:"..kzValue)
复制代码


(以上code添加位置,就是colournote打印npc武功的上边,因为kezhiwugongname是个局部变量,为了能在整个克制模块中使用,并且npc变招后也要时时刷新记录,则只能使用table。换句话说,npc_wugong里,永远记录着npc当前的武功)

4.function kezhiwugongcheck(i,n,l,w)中,添加伤害数值判断!

  1.         if w[2]~=nil then
  2.                 if string.find(w[2],"你") and string.find(w[3],"蹂身而上猛攻一招") then
  3.                      damage_level=damage_level-2
  4.                          print("damage_level="..damage_level)
  5.             end
  6.                 if string.find(w[2],"你") and not string.find(w[3],"向你") then
  7.                         --print("----------检测到自己出招-----------")
  8.                         return
  9.                 end
  10.                 tmpdes=tmpdes..w[2]
  11.         end
复制代码


(以上是抓白爆的,出现一个白爆,damage_level-2,说明克制很对路!添加的地方,就是判断是否是自己出招的那个地方!)


  1.            if npc_wugong[i] and npc_wugong[i]=="般若掌" then
  2.                   if string.find(tmpdes,"的伤处造成一处瘀") then
  3.                      damage_level=damage_level+1
  4.                          print("damage_level="..damage_level)
  5.               end
  6.               if string.find(tmpdes,"造成任何") then
  7.                      damage_level=damage_level+1
  8.                          print("damage_level="..damage_level)
  9.               end
  10.                   if string.find(tmpdes,"连退了好几步,差一点摔倒") then
  11.                      damage_level=damage_level-1
  12.                          print("damage_level="..damage_level)
  13.               end
  14.                   if string.find(tmpdes,"像一捆稻草般飞了出去") then
  15.                      damage_level=damage_level-1
  16.                          print("damage_level="..damage_level)
  17.               end
  18.               if damage_level==5 then
  19.                          if npc_kezhi[i]=='慢' then
  20.                                 damage_level=0
  21.                         return kezhiwugongValue("正",i,"般若掌")
  22.                          end
  23.                      if npc_kezhi[i]=='正' then
  24.                             damage_level=0
  25.                         return kezhiwugongValue("慢",i,"般若掌")
  26.                      end
  27.               end  
  28.            end
复制代码


(这个就是判断对般若掌伤害的核心code了!淤青和几乎没有造成伤害+1,连退好几步和稻草般飞出去-1,白爆-2,这样有+有-,避免误判!
当damage_level=5时,说明总计5次攻击,都是给npc造成淤青和几乎没有伤害,说明克制不对路,立刻切换相反克制!
如果是慢属性,则切换正!如果是正,则切换慢!避免误判,每5次伤害累积不对,会再切换一次,直至杀掉npc!)


以上code添加的地方,是判断出变量tempdes的下边——

(就添加在它下边就行!)

  1.         if w[3]~=nil then
  2.                 tmpdes=tmpdes.."|"..w[3]
  3.         end
复制代码



好了,就是这样,大家试试吧!
门派:峨嵋派
发表于 2019-3-30 17:00:49 | 显示全部楼层
这个清楚明了啊,等下就加到mush里面试试效果。
门派:明教
 楼主| 发表于 2019-3-30 17:02:52 | 显示全部楼层
empx@tj 发表于 2019-3-30 17:00
这个清楚明了啊,等下就加到mush里面试试效果。

好的,欢迎测试,如果有打般若掌的log,尤其是慢属性判断成正属性的,欢迎贴出来!

看看效果如何?
门派:星宿派
发表于 2019-3-30 17:31:39 | 显示全部楼层
东西是不错... 不过最近没啥心思弄机器人了
门派:峨嵋派
发表于 2019-3-30 17:38:32 | 显示全部楼层
lapin@tj 发表于 2019-3-30 17:31
东西是不错... 不过最近没啥心思弄机器人了

为啥啊?改机器人是个乐趣啊,天天挂机多没意思。
门派:峨嵋派
发表于 2019-3-30 17:39:35 | 显示全部楼层
无法,2楼的触发又缺符号了,少了个'
门派:明教
 楼主| 发表于 2019-3-30 17:54:07 | 显示全部楼层
empx@tj 发表于 2019-3-30 17:39
无法,2楼的触发又缺符号了,少了个'

$ '

这个被论坛吞了,美元符号+',表示句末的意思!太蛋疼了,什么论坛啊?
门派:明教
 楼主| 发表于 2019-3-30 17:54:52 | 显示全部楼层
empx@tj 发表于 2019-3-30 17:39
无法,2楼的触发又缺符号了,少了个'

我添加上去,格式又乱套了!真没招了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-8 11:50 , Processed in 0.031976 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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