魔法门吧 关注:26,313贴子:411,770

回复:整合版休闲脚本--增加物理系伤害,同时杀死怪物有额外奖励

只看楼主收藏回复

尝试在网上找了些方法,终于搞定弓箭面板有伤害,实际上没伤害的问题了。大家也可以试下。
function events.CalcStatBonusBySkills(t)
if t.Stat == const.Stats.RangedDamageBase then
local sk, mas = SplitSkill(t.Player:GetSkill(const.Skills.Bow)) -- 远程
if mas >= const.Novice then
local it = t.Player:GetActiveItem(const.ItemSlot.Bow)
if it and it:T().Skill == const.Skills.Bow then
local le= t.Player:GetLevel()
t.Result = t.Result + 10*sk*mas*le/2
end
end
end
end
function events.ItemAdditionalDamage(t)
if Game.ItemsTxt[t.Item.Number].Skill == const.Skills.Bow then
local Player = Game.Party[Game.CurrentPlayer]
local sk, mas = SplitSkill(t.Player:GetSkill(const.Skills.Bow))
if mas >= const.Novice then
local le= t.Player:GetLevel()
t.Result = t.Result + t.Result + 10*sk*mas*le/2
end
end
end


IP属地:广东36楼2023-07-17 23:00
收起回复
    更新下昨晚的错误,用下面的就可以了哈。


    IP属地:广东39楼2023-07-18 22:27
    回复
      -- ---------------------------------
      function events.CalcStatBonusBySkills(t)
      if t.Stat == const.Stats.RangedDamageBase then
      local sk, mas = SplitSkill(t.Player:GetSkill(const.Skills.Bow)) -- 远程
      if mas >= const.Novice then
      local it = t.Player:GetActiveItem(const.ItemSlot.Bow)
      if it and it:T().Skill == const.Skills.Bow then
      local le= t.Player:GetLevel()
      t.Result = t.Result + sk*mas*le/2
      end
      end
      end
      end
      function events.ItemAdditionalDamage(t)
      if Game.ItemsTxt[t.Item.Number].Skill == const.Skills.Bow then
      local sk, mas = SplitSkill(t.Player:GetSkill(const.Skills.Bow))
      if mas >= const.Novice then
      local le= t.Player:GetLevel()
      t.Result = t.Result + sk*mas*le/2
      end
      end
      end
      ------------------------


      IP属地:广东40楼2023-07-18 22:27
      收起回复
        楼主,刚发现个奇怪的问题。就是在双持时,这个脚本只有在武器使用术大师及以上时才会生效。而武器使用术专家及以下就无法生效。但如果不双持,则不管武器使用术怎么样都会生效。你知道这个有办法解决吗?


        IP属地:上海41楼2023-09-02 21:58
        回复
          请问随便命名就可以生效是吗?


          IP属地:福建42楼2023-09-08 19:37
          收起回复
            这个应该适用于Redone版本,因为GetActiveItem()应该是这个版本加的方法,因为我看了下原始整合版在结构体里没有这个定义,但是Redone里有
            哎,我也想用,但是不知道怎么扣出来GetActiveItem()移植过去


            IP属地:广西46楼2024-02-12 15:30
            回复
              楼主,请问个问题,如果想要检测副手武器种类,是不是把getactiveitem(const.itemslot.mainhand)改成offhand?


              IP属地:上海来自Android客户端47楼2024-09-01 19:59
              回复
                终于把这两个问题搞清楚啦~首先副手武器是 const.itemslot.extrahand
                另外更怪的那个问题:长剑伤害不起作用是因为这个方法必须要在技能把伤害打开以后才能实现。因为长剑是不加伤害的,所以只有把武器使用升到大师才能解决这个问题。这个问题我不知道怎么解决,楼主能找到解决办法吗?就是在武器技能还没开伤害的时候就能在scripts里面增加伤害?


                IP属地:上海48楼2024-09-01 20:32
                回复
                  楼主,请教下,你图片的属性突破255是怎么弄的?


                  IP属地:湖南49楼2024-09-20 21:00
                  回复
                    大神这么牛。


                    IP属地:湖南来自Android客户端50楼2024-09-21 19:29
                    回复