设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

【ACE】魔法盾脚本请教,如何做出复数的魔法盾

查看数: 3216 | 评论数: 12 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-7-29 11:40

正文摘要:

本帖最后由 ACRI 于 2022-7-29 22:46 编辑 RUBY 代码复制class Game_Battler < Game_BattlerBase   STATE_ID = 14   #魔法盾状态的id号  MP_RATE&nb ...

回复

ACRI 发表于 2022-8-1 01:15:22
soulsaga 发表于 2022-7-31 23:20
class Game_Battler < Game_BattlerBase

STATE_ID = { #魔法盾状态的id号 左ID右魔法盾吸收伤害的比率

又试了一次,不行啊,还是28报错

点评

24行多了个空格..  发表于 2022-8-1 11:38
对不起..这次应该改好了  发表于 2022-8-1 01:32
ACRI 发表于 2022-8-1 00:44:13
soulsaga 发表于 2022-7-31 23:20
class Game_Battler < Game_BattlerBase

STATE_ID = { #魔法盾状态的id号 左ID右魔法盾吸收伤害的比率

额,改好了吗?
ACRI 发表于 2022-8-1 00:22:53
soulsaga 发表于 2022-7-31 23:20
class Game_Battler < Game_BattlerBase

STATE_ID = { #魔法盾状态的id号 左ID右魔法盾吸收伤害的比率

感谢这位老哥的帮助,可惜28行那边报错了

点评

改了..可以再试..  发表于 2022-8-1 00:36
soulsaga 发表于 2022-7-31 23:20:40
本帖最后由 soulsaga 于 2022-8-1 22:07 编辑

RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2.  
  3. @state_id  = { #魔法盾状态的id号 左ID右魔法盾吸收伤害的比率
  4.    14 => 1.0,
  5.    15 => 1.0,
  6.    16 => 1.0
  7.   }
  8.   #STATE_ID = 14   #魔法盾状态的id号
  9.   #MP_RATE  = 1.0  #魔法盾吸收伤害的比率0.4就是10点伤害hp6点mp4点
  10.   MP_DAMAGE_RATE = 1  #1MP抵消多少伤害
  11.   VARIABLE_ID = 0      #1点mp抵消(3号变量的值+2)点伤害,如果不需要变量功能,就把这个值设为0或负数
  12.   #--------------------------------------------------------------------------
  13.   # ● 计算伤害
  14.   #--------------------------------------------------------------------------
  15.   def make_damage_value(user, item)
  16.     value = item.damage.eval(user, self, $game_variables)
  17.     value *= item_element_rate(user, item)
  18.     value *= pdr if item.physical?
  19.     value *= mdr if item.magical?
  20.     value *= rec if item.damage.recover?
  21.     value = apply_critical(value) if @result.critical
  22.     value = apply_variance(value, item.damage.variance)
  23.     value = apply_guard(value)
  24.     for state in @state_id.keys
  25.     if item.damage.to_hp? and self.state?(state)
  26.       mrate = MP_DAMAGE_RATE
  27.       mrate += $game_variables[VARIABLE_ID] if $game_variables[VARIABLE_ID]
  28.       for mpr in @state_id.values
  29.       mp_value = [(value * mpr/mrate).to_i  , self.mp].min
  30.       end
  31.       value -= mp_value * mrate
  32.       self.mp -= mp_value
  33.     end
  34. end
  35.     @result.make_damage(value.to_i, item)
  36.   end
  37. end


未测试..
很久没碰RGSS3了..
可能存在误导成份..见谅

点评

再试吧..如果再报错..你发一下报错的信息..  发表于 2022-8-1 18:00
24....还是报错....  发表于 2022-8-1 17:09
老哥,可以了,我这也没弄悬赏,你能这样帮我已经很感谢了  发表于 2022-8-1 02:13
老哥,这次是24行......  发表于 2022-8-1 02:11

评分

参与人数 1+1 收起 理由
ACRI + 1 塞糖

查看全部评分

和啊啊啊 发表于 2022-7-31 20:55:51
  1. class Game_ActionResult
  2.   #--------------------------------------------------------------------------
  3.   # ● 生成伤害
  4.   #--------------------------------------------------------------------------
  5.   alias eagle_mega_shield_make_damage make_damage
  6.   def make_damage(value, item)
  7.     eagle_mega_shield_make_damage(value, item)
  8.     if @battler.state?(31) && @hp_damage > 0
  9.       v = @hp_damage * 0.5 # 此处修改抵消比例
  10.       v = @battler.mp if @battler.mp < v.to_i # 新增 当mp不足时 只扣除mp数目
  11.       @hp_damage -= v.to_i
  12.       @mp_damage += v.to_i
  13.     end
  14.     if @battler.state?(32) && @hp_damage > 0
  15.       v = @hp_damage * 0.65 # 此处修改抵消比例
  16.       v = @battler.mp if @battler.mp < v.to_i # 新增 当mp不足时 只扣除mp数目
  17.       @hp_damage -= v.to_i
  18.       @mp_damage += v.to_i
  19.     end
  20.     if @battler.state?(33) && @hp_damage > 0
  21.       v = @hp_damage * 0.8 # 此处修改抵消比例
  22.       v = @battler.mp if @battler.mp < v.to_i # 新增 当mp不足时 只扣除mp数目
  23.       @hp_damage -= v.to_i
  24.       @mp_damage += v.to_i
  25.     end
  26.   end
  27. end
复制代码
可以用我这个试试 忘记从哪个大佬哪里拿到的了

点评

感谢这位老哥的帮助,很有用  发表于 2022-8-1 00:14

评分

参与人数 1+1 收起 理由
ACRI + 1 认可答案

查看全部评分

ACRI 发表于 2022-7-31 16:14:45
本帖最后由 alexncf125 于 2022-7-31 17:22 编辑
阿薩男爵 发表于 2022-7-31 07:03
现在大多数人都去用MV和MZ工具了,所以愿意回答你的人也不多,其实我也不懂,
但是你在下到一个脚本 ...


游戏其实到不复杂,各种机制也很简陋,就是这个魔法盾实在是让我XX,本来是想搞个等级越高学习的魔法盾越强(抵消的伤害比例越高),但是这个并不支持多个状态,XX啊
ACRI 发表于 2022-7-31 16:09:51
阿薩男爵 发表于 2022-7-31 07:03
现在大多数人都去用MV和MZ工具了,所以愿意回答你的人也不多,其实我也不懂,
但是你在下到一个脚本 ...

嗯,也是,还是得自己学脚本啊
阿薩男爵 发表于 2022-7-31 07:03:12
本帖最后由 alexncf125 于 2022-7-31 08:50 编辑

现在大多数人都去用MV和MZ工具了,所以愿意回答你的人也不多,其实我也不懂,
但是你在下到一个脚本后弄清楚用法,然后做自己的设定,尽量贴合着脚本的功能来做,
没有脚本基础还是不要想着拓展脚本功能,这里请大佬改脚本是要rmb的,游戏也不必做得太过复杂,
没谁一开始就能做出个神作来的。

评分

参与人数 1+1 收起 理由
ACRI + 1 塞糖

查看全部评分

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-10 16:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表