查看: 2970|回复: 10

[已经过期] 以为在队伍撤退时会执行escape方法

[复制链接]
梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2020-1-12 14:22:44 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 alexncf125 于 2024-1-25 01:45 编辑

为什么同样有clear_states,然而测试发现,只有在死亡时才会清除状态,撤退时却不会清除状态

Game_Battler第160行
#------------------------------------------------- -------------------------
  # ● 死亡
  #------------------------------------------------- -------------------------
  def die
    @hp = 0
    clear_states
    clear_buffs
  end
  #------------------------------------------------- -------------------------
  # ● 撤退
  #------------------------------------------------- -------------------------
  def escape
    hide if $game_party.in_battle
    clear_actions
    clear_states
    Sound.play_escape
  end

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2020-1-12 15:14:10 | 显示全部楼层
我觉得你需要全局搜索下 escape ,看看有没有新的 def escape 存在
也就是插件覆盖原方法,导致实际效果和你看的默认脚本不一致

点评

閣下知道4樓問題的答案嗎?  发表于 2020-1-22 00:29
搜了,沒发现有覆盖的地方.而且新开工程就经已是这样子(只在死亡时清除状态,撤退时不会清除状态)了  发表于 2020-1-12 15:53
回复

使用道具 举报

梦石
10
星屑
39550
在线时间
1919 小时
注册时间
2010-11-14
回帖
3214

R考场第七期纪念奖

发表于 2020-1-12 16:33:02 | 显示全部楼层
因为那个escape是给敌人用的,也就是数据库的6号技能

点评

5天了,能抽個時間講解一下嗎?  发表于 2020-1-22 00:25
http://rpg.blue/forum.php?mod=attachment&aid=MzYzODY0fGM2MTQ4YmY4fDE1NzkyMzQ0NjB8MjY1MjIyM3w0Nzk3OTA%3D  发表于 2020-1-17 12:14
當然运行過了,可是還是不知道......  发表于 2020-1-17 12:14
这种问题自己运行就知道了。  发表于 2020-1-17 11:55
你好,4楼的问题,可否请教一下?  发表于 2020-1-16 15:07
用头画头像,用脚写脚本
回复

使用道具 举报

梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
 楼主| 发表于 2020-1-12 16:55:45 | 显示全部楼层
本帖最后由 alexncf125 于 2024-1-22 12:33 编辑
KB.Driver 发表于 2020-1-12 16:33
因为那个escape是给敌人用的,也就是数据库的6号技能


这Ver1.01有BUG的说,去星潟的博客换成Ver1.02就好了如果我用了下面的脚本,
敌人逃走后会发生什么?
  1.     #==============================================================================
  2.     # ■ RGSS3 戦闘不能時残留ステート Ver1.01 by 星潟
  3.     #------------------------------------------------------------------------------
  4.     # 戦闘不能に陥った際、消去されないステートを作成します。
  5.     # 用于那些全恢复时也不想要他消除的状态
  6.     # 設定方法.
  7.     # ステート欄に<残留>と記入する。
  8.     #
  9.     # Ver1.01
  10.     # 全回復時・逃走の処理でも戦闘不能時残留ステートの効果が表れていた問題を修正。
  11.     #==============================================================================
  12.     module UnclearableState
  13.      
  14.       #ステートのメモ欄に記入する為の設定用ワード
  15.       WORD = "<残留>"
  16.      
  17.     end
  18.     #==============================================================================
  19.     # ■ Game_BattlerBase
  20.     #------------------------------------------------------------------------------
  21.     #  バトラーを扱う基本のクラスです。主に能力値計算のメソッドを含んでいます。こ
  22.     # のクラスは Game_Battler クラスのスーパークラスとして使用されます。
  23.     #==============================================================================
  24.     class Game_BattlerBase
  25.       #--------------------------------------------------------------------------
  26.       # ● オブジェクト初期化
  27.       #--------------------------------------------------------------------------
  28.       alias initialize_un_s initialize
  29.       def initialize
  30.         initialize_un_s
  31.         clear_states2
  32.       end
  33.       #--------------------------------------------------------------------------
  34.       # ● 全回復
  35.       #--------------------------------------------------------------------------
  36.       alias recover_all_un_s recover_all
  37.       def recover_all
  38.         recover_all_un_s
  39.         clear_states2
  40.       end
  41.       #--------------------------------------------------------------------------
  42.       # ● ステート情報をクリア
  43.       #--------------------------------------------------------------------------
  44.       def clear_states
  45.         @states = [] if @states == nil
  46.         stc = 0
  47.         stcl = []
  48.         stcl_turns = {}
  49.         stcl_steps = {}
  50.         for state in @states
  51.           if state != nil && $data_states[state].note.include?(UnclearableState::WORD)
  52.             stcl.push(@states[stc])
  53.             stcl_turns[state] = @state_turns[state]
  54.             stcl_steps[state] = @state_steps[state]
  55.           end
  56.           stc += 1
  57.         end
  58.         @states = stcl
  59.         @state_turns = stcl_turns
  60.         @state_steps = stcl_steps
  61.       end
  62.       #--------------------------------------------------------------------------
  63.       # ● ステート情報をクリア
  64.       #--------------------------------------------------------------------------
  65.       def clear_states2
  66.         @states = []
  67.         @state_turns = {}
  68.         @state_steps = {}
  69.       end
  70.     end
  71.     class Game_Battler < Game_BattlerBase
  72.       #--------------------------------------------------------------------------
  73.       # ● 逃げる
  74.       #--------------------------------------------------------------------------
  75.       alias escape_un_s escape
  76.       def escape
  77.         escape_un_s
  78.         clear_states2
  79.       end
  80.     end
复制代码
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部