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

Project1

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

[原创发布] 【RMXP脚本技巧】战斗开局/结束执行公共事件

[复制链接]

Lv4.逐梦者

素材区好人

梦石
3
星屑
11154
在线时间
4172 小时
注册时间
2011-7-21
帖子
2528

极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

跳转到指定楼层
1
发表于 4 天前 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
为避免大家在每个敌群事件中逐个插入公共事件的繁琐操作,这里分享两个RMXP战斗系统的实用脚本技巧,分别对应战斗正式开始前与战斗结算结束后两个节点,自动执行指定公共事件
依旧仅需修改原生代码即可实现

战斗开始:
Scene_Battle 1 46~52行
RUBY 代码复制
  1. # 执行过渡
  2.     if $data_system.battle_transition == ""
  3.       Graphics.transition(20)
  4.     else
  5.       Graphics.transition(40, "Graphics/Transitions/" +
  6.         $data_system.battle_transition)
  7.       end

下面插入
RUBY 代码复制
  1. # ★ 战斗开场执行公共事件
  2.     common_event_id = 1 # 可以改成你想要执行的公共事件 ID
  3.     $game_system.battle_interpreter.setup($data_common_events[common_event_id].list, 0)
  4.     loop do
  5.       @message_window.update
  6.       $game_system.battle_interpreter.update
  7.       Graphics.update
  8.       Input.update
  9.       break unless $game_system.battle_interpreter.running?
  10.     end
  11.     @status_window.refresh # 执行完自动刷新状态栏

公共事件中可以输入的指令:
​开关变量、更改状态、增减HP/SP、增减物品/金钱、播放音效/战斗动画、等待
禁止输入:
地图专属指令(移动角色、设置移动路线、场所移动、更改地图设置等等),此类指令在战斗场景无对应执行对象,会失效甚至报错

战斗结束:
这个有些麻烦,因为需要考虑胜利、失败、以及逃跑的场合,因此这3处都需要加
Scene_Battle 1 114~120行
RUBY 代码复制
  1. def judge
  2.     # 全灭判定是真、并且同伴人数为 0 的情况下
  3.     if $game_party.all_dead? or $game_party.actors.size == 0
  4.       # 允许失败的情况下
  5.       if $game_temp.battle_can_lose
  6.         # 还原为战斗开始前的 BGM
  7.         $game_system.bgm_play($game_temp.map_bgm)

依旧是Scene_Battle 1 131~136行
RUBY 代码复制
  1. # 如果存在任意 1 个敌人就返回 false
  2.     for enemy in $game_troop.enemies
  3.       if enemy.exist?
  4.         return false
  5.       end
  6.     end

Scene_Battle 2 114~115行
RUBY 代码复制
  1. # 成功逃跑的情况下
  2.     if success

的下面,这3处全部要加
RUBY 代码复制
  1. $game_temp.common_event_id = 2

由于执行时机在战斗结束后已经返回地图了,所以应该没什么限制了
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2026-6-4 10:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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