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

Project1

 找回密码
 注册会员
搜索
查看: 2740|回复: 4
打印 上一主题 下一主题

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

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2920
在线时间
713 小时
注册时间
2010-7-25
帖子
813

开拓者

跳转到指定楼层
1
发表于 2019-6-30 17:49:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
在某场战斗中,我是否可以以脚本的方式立刻从头到尾的执行某一页战斗事件?无视其事件页的执行条件.

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

2
发表于 2019-6-30 21:59:47 | 只看该作者
本帖最后由 KB.Driver 于 2019-6-30 22:57 编辑

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

RUBY 代码复制
  1. #==============================================================================
  2. # ■ 强制执行战斗事件 by Calendar99
  3. #------------------------------------------------------------------------------
  4. #  使用方法:
  5. #     在事件脚本中使用force_event(n)来强制执行当前敌群第n页的事件内容
  6. #==============================================================================
  7.  
  8. module BattleManager
  9.   def self.force_event(page)
  10.     @event_force_hash ||= {}
  11.     @event_force_hash[page] = true
  12.   end
  13.  
  14.   def self.release_event_force(page)
  15.     @event_force_hash ||= {}
  16.     @event_force_hash[page] = nil
  17.   end
  18.  
  19.   def self.event_force?(page)
  20.     @event_force_hash ||= {}
  21.     @event_force_hash[page]
  22.   end
  23. end
  24.  
  25. class Game_Troop
  26.   #--------------------------------------------------------------------------
  27.   # ● [别名修改]判定战斗事件(页)条件是否符合
  28.   #--------------------------------------------------------------------------
  29.   alias conditions_met_for_forcing_event? conditions_met?
  30.   def conditions_met?(page)
  31.     page_num = troop.pages.index(page) + 1
  32.     if BattleManager.event_force?(page_num)
  33.       BattleManager.release_event_force(page_num)  # 解除强制执行
  34.       return true
  35.     else
  36.       conditions_met_for_forcing_event?(page) # 原方法
  37.     end
  38.   end
  39. end
  40.  
  41. class Game_Interpreter
  42.   #--------------------------------------------------------------------------
  43.   # ● [追加]强制执行战斗事件
  44.   #--------------------------------------------------------------------------
  45.   def force_event(page)
  46.     return if !SceneManager.scene_is?(Scene_Battle)
  47.     BattleManager.force_event(page)
  48.   end
  49. end

点评

我加在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 认可答案

查看全部评分

用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 19:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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