查看: 3147|回复: 4

[已经过期] 请问有没有办法让我手动执行战斗事件?

[复制链接]
梦石
0
星屑
2920
在线时间
713 小时
注册时间
2010-7-25
回帖
659

开拓者

发表于 2019-6-30 17:49:15 | 显示全部楼层 |阅读模式

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

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

×
在某场战斗中,我是否可以以脚本的方式立刻从头到尾的执行某一页战斗事件?无视其事件页的执行条件.
梦石
10
星屑
39550
在线时间
1919 小时
注册时间
2010-11-14
回帖
3214

R考场第七期纪念奖

发表于 2019-6-30 21:59:47 | 显示全部楼层
本帖最后由 KB.Driver 于 2019-6-30 22:57 编辑

可以用一个比较简单的方法,就是通过变量让某一页的条件强制变为满足。
不过这个方法只能在敌群事件的最后使用,因为新的条件满足后会清除原来的@list

[pre lang="ruby"]#==============================================================================
# ■ 强制执行战斗事件 by Calendar99
#------------------------------------------------------------------------------
#  使用方法:
#     在事件脚本中使用force_event(n)来强制执行当前敌群第n页的事件内容
#==============================================================================

module BattleManager
  def self.force_event(page)
    @event_force_hash ||= {}
    @event_force_hash= true
  end
  
  def self.release_event_force(page)
    @event_force_hash ||= {}
    @event_force_hash= nil
  end
  
  def self.event_force?(page)
    @event_force_hash ||= {}
    @event_force_hash
  end
end

class Game_Troop
  #--------------------------------------------------------------------------
  # ● [别名修改]判定战斗事件(页)条件是否符合
  #--------------------------------------------------------------------------
  alias conditions_met_for_forcing_event? conditions_met?
  def conditions_met?(page)
    page_num = troop.pages.index(page) + 1
    if BattleManager.event_force?(page_num)
      BattleManager.release_event_force(page_num)  # 解除强制执行
      return true
    else
      conditions_met_for_forcing_event?(page) # 原方法
    end
  end
end

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● [追加]强制执行战斗事件
  #--------------------------------------------------------------------------
  def force_event(page)
    return if !SceneManager.scene_is?(Scene_Battle)
    BattleManager.force_event(page)
  end
end[/pre]

点评

我加在process_victory胜利时的处理里面,但是没有效果  发表于 2019-7-4 13:55
当然可以用,你如果不用事件而是用脚本,就直接BattleManager.force_event(n)就好。不过不建议没有脚本基础的人这样使用  发表于 2019-7-1 15:15
可惜在BattleManage用不了  发表于 2019-7-1 15:05

评分

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

查看全部评分

用头画头像,用脚写脚本
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部