| 
 | 
 
 楼主 |
发表于 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
 
  复制代码 
 
 
好了,就是这样,大家试试吧!   |   
 
 
 
 |