太阳神三国杀lua吧 关注:2,643贴子:73,379
  • 10回复贴,共1

请问大家有没有修改攻击范围的函数啊,比如锁定技攻击范围+2(

只看楼主收藏回复

请问大家有没有修改攻击范围的函数啊,比如锁定技攻击范围+2(不是距离),我试了用distance_limit_func,然后return 2的方法,正常情况下会成功,但是同疾,挑衅,暗箭这种技能判断的时候还会以为他不在我攻击范围内,还是只看武器和距离,有没有从本质上修改攻击范围的方法呢?


IP属地:北京来自Android客户端1楼2020-10-07 21:54回复
    BTshuangshua = sgs.CreateTargetModSkill{
    name = "BTshuangshua",
    pattern = "Slash",
    residue_func = function(self, player)
    if player:hasSkill("BTliansha") then --连杀
    return 1
    end
    end,
    extra_target_func = function(self, player)
    if player:hasSkill("BTshuangshua") then --双杀
    return 1
    end
    end,
    distance_limit_func = function(self, player)
    if player:hasSkill("BTshuangshua") then --远射
    return 1
    end
    end
    }


    IP属地:内蒙古2楼2020-10-14 17:45
    收起回复
      看了一下源码,发现还真有改变攻击范围的lua技能,写法是这样的——
      <技能> = sgs.CreateAttackRangeSkill{
      name = "<技能名>",
      extra_func = function(target, include_weapon)
      return <增加的攻击范围>;
      end,
      fixed_func = function(target, include_weapon)
      return <固定的攻击范围>;
      end,
      }
      两个攻击范围如果缺省或者返回为负数则忽略。


      IP属地:江苏3楼2020-10-21 21:33
      回复
        试了下,启动的时候会报错,好像是只有国战能用吗?


        IP属地:北京来自Android客户端4楼2020-10-22 22:00
        收起回复
          刚用了一个新版的试了一下,是行了,但是给所有人攻击范围都加了,我想可能要指定一下加的角色是自己,就加了个
          if target:hasSkill("技能名") then
          return 2
          end
          但这样就报错闪退,我怀疑这个函数是给武器用的


          IP属地:北京来自Android客户端5楼2020-10-22 23:52
          收起回复