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

Project1

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

[已经解决] 敌人死亡前执行事件

[复制链接]

Lv4.逐梦者

梦石
0
星屑
8215
在线时间
966 小时
注册时间
2015-2-10
帖子
249
跳转到指定楼层
1
发表于 2016-10-22 16:24:59 手机端发表。 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如何在战斗时设置一个事件,当某个敌人hp为0即将死亡前执行,执行完后敌人再死亡?

Lv4.逐梦者 (版主)

梦石
0
星屑
6891
在线时间
7027 小时
注册时间
2013-11-2
帖子
1344

开拓者剧作品鉴家

2
发表于 2016-10-22 18:09:50 | 只看该作者
我不知道你有没有用其他影响界面的脚本系统,所以我基于默认系统来写。

使用这段脚本:

RUBY 代码复制
  1. class Window_BattleLog < Window_Selectable
  2.  
  3.   def display_added_states(target)
  4.     target.result.added_state_objects.each do |state|
  5.       state_msg = target.actor? ? state.message1 : state.message2
  6.       $game_troop.setup_battle_event
  7.       if state.id == target.death_state_id
  8.           $game_troop.setup_battle_event
  9.           SceneManager.scene.update_for_interpreter while $game_troop.interpreter.running?
  10.           target.perform_collapse_effect
  11.       end
  12.       next if state_msg.empty?
  13.       replace_text(target.name + state_msg)
  14.       wait
  15.       wait_for_effect
  16.     end
  17.   end
  18.  
  19. end
  20.  
  21. class Scene_Battle < Scene_Base
  22.  
  23.   def update_for_interpreter
  24.     update_basic
  25.     $game_troop.interpreter.update
  26.   end
  27.  
  28. end


然后就可以在敌群的事件设置使用体力值等于0%来触发你要的效果。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
8215
在线时间
966 小时
注册时间
2015-2-10
帖子
249
3
 楼主| 发表于 2016-10-22 21:40:16 | 只看该作者
RaidenInfinity 发表于 2016-10-22 18:09
我不知道你有没有用其他影响界面的脚本系统,所以我基于默认系统来写。

使用这段脚本:

大部分事件可以执行,但在即将死去的敌人身上显示动画却显示不出来是怎么回事?
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
6891
在线时间
7027 小时
注册时间
2013-11-2
帖子
1344

开拓者剧作品鉴家

4
发表于 2016-10-22 22:17:31 | 只看该作者
本帖最后由 RaidenInfinity 于 2016-10-23 10:15 编辑

默认的战斗动画播放指令会检测敌人是否存活。
因此,需要用事件脚本指令来手动执行。

RUBY 代码复制
  1. iterate_enemy_index(敌人序列 - 1) do |enemy|
  2. enemy.animation_id = 动画ID
  3. a = $data_animations[enemy.animation_id]
  4. (a.frame_max  * 4).times do Fiber.yield end
  5. end
  6.  
  7. #如果要第3个敌人,那就写
  8. #iterate_enemy_index(2)
  9. #以此类推


用法: (例子:在第4个敌人身上播放1号动画)

*注:脚本已经修正,请以上列脚本为准。

评分

参与人数 2星屑 +260 梦石 +1 收起 理由
怪蜀黍 + 250 + 1 楼主认可的解答
fbeds + 10 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
8215
在线时间
966 小时
注册时间
2015-2-10
帖子
249
5
 楼主| 发表于 2016-10-23 08:55:50 | 只看该作者
RaidenInfinity 发表于 2016-10-22 22:17
默认的战斗动画播放指令会检测敌人是否存活。
因此,需要用事件脚本指令来手动执行。

不行啊,在即将死去的敌人身上显示动画前敌人就会消失了,动画也只会有声音。

点评

4楼的脚本指令已经修正了。加了等待动画播放完成的判定。  发表于 2016-10-23 10:17
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-20 15:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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