查看: 2314|回复: 2

[已经解决] 复杂状态扩展

[复制链接]
梦石
0
星屑
50
在线时间
46 小时
注册时间
2014-1-13
回帖
21
发表于 2014-7-25 21:53:04 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
1.如何设置一种状态使对方在3回合内每回合掉500滴血
2.如何设置一种状态持续三回合后状态消失对方死亡。
3.设置一种无敌状态,免疫所有攻击。

-----------------------------------------------------其他--------------------------------------------------------------
如何设置多个状态同时产生。
如:50%对方/自身 攻击力、防御力、敏捷+1

状态中是否可以引起公共事件?

无限の剣制

梦石
0
星屑
10445
在线时间
5019 小时
注册时间
2013-2-28
回帖
4942

开拓者贵宾

发表于 2014-7-25 22:03:46 | 显示全部楼层
本帖最后由 VIPArcher 于 2014-7-26 11:44 编辑

这个有点一帖多问的嫌疑吗?不管啦
1.「体力值再生速度」等设为定值,然后在那个状态里备注<hrg -500>
使用这个脚本请注意组群置顶脚本什么的
2.
自动解除会死的状态未测试[pre lang="ruby" line="1"]class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● 状态的自动解除
  #     timing : 时机(1:行动结束 2:回合结束)
  #--------------------------------------------------------------------------
  def remove_states_auto(timing)
    states.each do |state|
      if @state_turns[state.id] == 0 && state.auto_removal_timing == timing
        add_state(1) if state.id ==3  #会死人的状态ID
        remove_state(state.id)
      end
    end
  end
end[/pre]

3.
无敌状态未测试[pre lang="ruby" line="1"]class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● 计算伤害
  #--------------------------------------------------------------------------
  def make_damage_value(user, item)
    value = item.damage.eval(user, self, $game_variables)
    value *= item_element_rate(user, item)
    value *= pdr if item.physical?
    value *= mdr if item.magical?
    value *= rec if item.damage.recover?
    value = apply_critical(value) if @result.critical
    value = apply_variance(value, item.damage.variance)
    value = apply_guard(value)
    value = 0 if self.state?(26)  #无敌的状态ID
    @result.make_damage(value.to_i, item)
  end[/pre]

-----------------------------------------------------其他-------------------------------------------------------------
如何设置多个状态同时产生。如:50%对方/自身 攻击力、防御力、敏捷+1(说实话我没懂这个的意思
状态中如果运行公共事件,可能就会卡掉,因为只要状态存在就会一直运行。大概会导致堆栈过深(其实我没试过,也不知道

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-7-26 06:55:52 | 显示全部楼层
本帖最后由 taroxd 于 2014-7-26 06:57 编辑
VIPArcher 发表于 2014-7-25 22:03
这个有点一帖多问的嫌疑吗?不管啦
1.「体力值再生速度」等设为定值,然后在那个状态里备注
使用这个脚本请 ...


第三段脚本无效,且一定报错

调用别名的方法没有传入参数,而且调用完之后你只是给一个局部变量赋值而已

解决方式:别用 alias
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部