Project1

标题: 如何让武器增加魔法攻击?(除了加INT) [打印本页]

作者: 天使喝可乐    时间: 2011-6-5 23:12
标题: 如何让武器增加魔法攻击?(除了加INT)
本帖最后由 天使喝可乐 于 2011-6-8 22:48 编辑

RT,制作法杖时,发现没有有效提升魔法攻击的地方,增加攻击力对魔法攻击没什么效果,增加INT的话,需要加几十点才行,而附带效果也被加上了。因此我想求一种单纯加魔法攻击的方法。(只对魔法伤害有提升,其他任何数据无变动)
论坛搜索无果故来求助,谢谢。
作者: Wind2010    时间: 2011-6-6 00:17
有魔攻这个概念的么- -我只知道魔防
作者: 夏季冰川    时间: 2011-6-6 01:05
本帖最后由 夏季冰川 于 2011-6-6 01:19 编辑

LZ可以试试状态法,在Game_Battler 3里面有技能伤害的公式(好像叫计算威力),在那加上
      if power > 0
        if self.state?(4)
          self.damage = power*2
        else
          self.damage = power
          end
        end
就是中了4号状态,伤害会翻倍,不中的话正常.
然后设置技能时候把魔法攻击的威力设置成大于0,物理攻击威力等于0(不然物理攻击威力也会翻倍的)

好久没碰RM了,也不知道能不能解决LZ的问题
作者: 忧雪の伤    时间: 2011-6-6 09:44
本帖最后由 忧雪の伤 于 2011-6-6 09:45 编辑

所有魔攻,就是指魔法能力对吗?
喂喂……武器默认可以加魔法。
作者: 忧雪の伤    时间: 2011-6-6 10:56
本帖最后由 忧雪の伤 于 2011-6-6 12:37 编辑
  1. class Game_Enemy
  2.   alias skill_effect_magic skill_effect unless $@
  3.   def skill_effect(user, skill)
  4.     if user.is_a?(Game_Actor) and $data_weapons[user.weapon_id].name.include?('[Magic_Up]')
  5.       if skill.atk_f.zero? and not skill.int_f.zero?
  6.         skill.power *= 2
  7.       end
  8.     end
  9.     skill_effect_magic(user, skill)
  10.   end
  11. end
复制代码
原来打漏了's',已解决~……
作者: 天使喝可乐    时间: 2011-6-6 12:55
回LS 成功……可以 就是那啥
如果skill.power *= 2的话 原本150左右的伤害变成上千了
skill.power *= 10的话 变成几十亿的伤害了……

另外 如何设置多种伤害增加?比如 一种法杖是伤害加10% 一种是20% 一种是30%..
作者: 忧雪の伤    时间: 2011-6-6 12:56
天使喝可乐 发表于 2011-6-6 12:55
回LS 成功……可以 就是那啥
如果skill.power *= 2的话 原本150左右的伤害变成上千了
skill.power *= 10的 ...

可以是可以,关键是split太那啥了……你用了很多其他插件吗?特别是也用到装备名字加备注之类的。
作者: 天使喝可乐    时间: 2011-6-6 12:59
忧雪の伤 发表于 2011-6-6 12:56
可以是可以,关键是split太那啥了……你用了很多其他插件吗?特别是也用到装备名字加备注之类的。 ...

没用过装备名字加备注的 用过装备说明加备注的……
插件是用了不少
作者: 天使喝可乐    时间: 2011-6-6 13:01
不知为何 在战斗中的某个时刻 第4行又错误了(我啥都没按。。)
崩溃了 我老老实实的加INT吧……
作者: 忧雪の伤    时间: 2011-6-6 13:23
天使喝可乐 发表于 2011-6-6 13:01
不知为何 在战斗中的某个时刻 第4行又错误了(我啥都没按。。)
崩溃了 我老老实实的加INT吧…… ...

baka,你不上错误截图我怎么解决问题!
作者: 天使喝可乐    时间: 2011-6-6 15:26
忧雪の伤 发表于 2011-6-6 13:23
baka,你不上错误截图我怎么解决问题!

后面的错误没截图 我不知道错误条件 等再出现了截图吧 但是和第一次没加s的那次跳框类似 还是第4行
另外不知道其他插件 无法稳定的控制伤害提升吗?
作者: 天使喝可乐    时间: 2011-6-6 15:31
又试了试 在默认工程上 伤害浮动依旧 本来打500火炎 装上后 一会1000 一会5000的
作者: 希望化身    时间: 2011-6-8 01:25
直接做成外挂式的脚本我不太在行
但是如果你全局搜索 “if hit_result == true” ( 找到 Game_Battler 3 里面 skill_effect 函数下的那个 )
插入如下代码:
  1.     if user.is_a?(Game_Actor) and $data_weapons[user.weapon_id].element_set.include?(#识别杖类武器属性的id)
  2.       if skill.atk_f.zero? and not skill.int_f.zero?
  3.         self.damage[user] *= ($data_weapons[user.weapon_id].atk + 100) / 100
  4.       end
  5.     end
复制代码
效果应该是 武器攻击力为多少,则该次法术伤害受到相应的百分比加成
如: P.杖 --> ATK 30    用此代码之后   法术伤害得到 30% 提升
     S.杖 --> ATK 90    用此代码之后   法术伤害得到 90% 提升
作者: 天使喝可乐    时间: 2011-6-8 09:33
希望化身 发表于  
直接做成外挂式的脚本我不太在行
但是如果你全局搜索 “if hit_result == true” ( 找到 Game_Battler 3 里 ...

查到5个……全加吗
作者: 后知后觉    时间: 2011-6-8 12:26
天使喝可乐 发表于 2011-6-6 13:01
不知为何 在战斗中的某个时刻 第4行又错误了(我啥都没按。。)
崩溃了 我老老实实的加INT吧…… ...

给技能设置 攻击力F 不行吗?
作者: 希望化身    时间: 2011-6-8 22:35
天使喝可乐 发表于 2011-6-8 09:33
查到5个……全加吗

你全局搜索 “# 第二命中判定” ……跳转到第二个结果,然后向下开始找 if hit_result == true 然后插入




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1