|
楼主 |
发表于 2019-3-30 16:46:48
|
显示全部楼层
本帖最后由 kkfromch@tj 于 2019-4-1 19:25 编辑
3.function kezhiwugongValue(kzValue,i,kezhiwugongName)函数中,对判断出来的npc武功进行赋值,比如已经判断出来是般若掌,则记录进变量npc_wugong中。
-
- table.remove(npc_kezhi,i)
- table.insert(npc_kezhi,i,kzValue)
- table.remove(npc_wugong,i)
- table.insert(npc_wugong,i,kezhiwugongName)
- ColourNote ("red","blue",npc_name[i].."使用武功【"..kezhiwugongName.."】,武功属性:"..kzValue)
复制代码
(以上code添加位置,就是colournote打印npc武功的上边,因为kezhiwugongname是个局部变量,为了能在整个克制模块中使用,并且npc变招后也要时时刷新记录,则只能使用table。换句话说,npc_wugong里,永远记录着npc当前的武功)
4.function kezhiwugongcheck(i,n,l,w)中,添加伤害数值判断!
- if w[2]~=nil then
- if string.find(w[2],"你") and string.find(w[3],"蹂身而上猛攻一招") then
- damage_level=damage_level-2
- print("damage_level="..damage_level)
- end
- if string.find(w[2],"你") and not string.find(w[3],"向你") then
- --print("----------检测到自己出招-----------")
- return
- end
- tmpdes=tmpdes..w[2]
- end
复制代码
(以上是抓白爆的,出现一个白爆,damage_level-2,说明克制很对路!添加的地方,就是判断是否是自己出招的那个地方!)
- if npc_wugong[i] and npc_wugong[i]=="般若掌" then
- if string.find(tmpdes,"的伤处造成一处瘀") then
- damage_level=damage_level+1
- print("damage_level="..damage_level)
- end
- if string.find(tmpdes,"造成任何") then
- damage_level=damage_level+1
- print("damage_level="..damage_level)
- end
- if string.find(tmpdes,"连退了好几步,差一点摔倒") then
- damage_level=damage_level-1
- print("damage_level="..damage_level)
- end
- if string.find(tmpdes,"像一捆稻草般飞了出去") then
- damage_level=damage_level-1
- print("damage_level="..damage_level)
- end
- if damage_level==5 then
- if npc_kezhi[i]=='慢' then
- damage_level=0
- return kezhiwugongValue("正",i,"般若掌")
- end
- if npc_kezhi[i]=='正' then
- damage_level=0
- return kezhiwugongValue("慢",i,"般若掌")
- end
- end
- end
复制代码
(这个就是判断对般若掌伤害的核心code了!淤青和几乎没有造成伤害+1,连退好几步和稻草般飞出去-1,白爆-2,这样有+有-,避免误判!
当damage_level=5时,说明总计5次攻击,都是给npc造成淤青和几乎没有伤害,说明克制不对路,立刻切换相反克制!
如果是慢属性,则切换正!如果是正,则切换慢!避免误判,每5次伤害累积不对,会再切换一次,直至杀掉npc!)
以上code添加的地方,是判断出变量tempdes的下边——
(就添加在它下边就行!)
- if w[3]~=nil then
- tmpdes=tmpdes.."|"..w[3]
- end
复制代码
好了,就是这样,大家试试吧! |
|