Project1

标题: 请问能否实现在战斗胜利后一名参加战斗的角色死亡? [打印本页]

作者: clt2002    时间: 2020-10-6 20:38
标题: 请问能否实现在战斗胜利后一名参加战斗的角色死亡?
如题,我想无论是随机遇敌还是主线遇敌的胜利后,一名参加战斗的角色死亡,但如果其只在队伍中但没参加战斗则不会死亡。
战斗胜利后实现某些事件我已知晓,请问该如何进行下面的步骤?
作者: alexncf125    时间: 2020-10-6 20:57
本帖最后由 alexncf125 于 2020-10-6 20:58 编辑

参加战斗的定义是??
作者: clt2002    时间: 2020-10-6 21:18
alexncf125 发表于 2020-10-6 20:57
参加战斗的定义是??

就是这个人在队内成员超过4个时在队伍前4个位置
作者: alexncf125    时间: 2020-10-7 02:26
本帖最后由 alexncf125 于 2020-10-7 03:08 编辑

1.主线遇敌是指"明雷"吗?
2.一名是那一名?
3.是当胜利时,在队伍前4个位置的角色算是"参加战斗"
   抑或只要曾经在队伍前4个位置待过,算是"参加战斗"
4.是在胜利结算画面出现前就死,还是回到地图后才死?

说明不足, 只能给出以下脚本
  1. class << BattleManager
  2.   #--------------------------------------------------------------------------
  3.   # ● 胜利时的処理
  4.   #--------------------------------------------------------------------------
  5.   alias die_if_join_after_process_victory process_victory
  6.   def process_victory
  7.     $game_party.battle_members.each {|actor|
  8.       actor.add_state(death_state_id)
  9.     }
  10.     die_if_join_after_process_victory
  11.   end
  12. end
复制代码

作者: clt2002    时间: 2020-10-8 13:23
alexncf125 发表于 2020-10-7 02:26
1.主线遇敌是指"明雷"吗?
2.一名是那一名?
3.是当胜利时,在队伍前4个位置的角色算是"参加战斗"

1.是
2.???
3.前者
4.胜利结算画面出现前死亡
作者: clt2002    时间: 2020-10-8 16:24
clt2002 发表于 2020-10-8 13:23
1.是
2.???
3.前者

2.是一名指定角色死亡
作者: alexncf125    时间: 2020-10-8 17:00
本帖最后由 alexncf125 于 2020-10-8 17:30 编辑

「无论是随机遇敌还是主线遇敌 (明雷) 的战斗, 当胜利时, 在队伍前4个位置的 10号角色, 会在胜利结算画面出现前死亡」的脚本 :
  1. module WHOWILLDIE
  2.   ACTORID = [10]
  3. end
  4. class << BattleManager
  5.   #--------------------------------------------------------------------------
  6.   # ● 胜利时的処理
  7.   #--------------------------------------------------------------------------
  8.   alias die_if_join_after_process_victory process_victory
  9.   def process_victory
  10.     $game_party.battle_members.each {|actor|
  11.       actor.add_state(death_state_id) if WHOWILLDIE::ACTORID.include?(actor.id)
  12.     }
  13.     die_if_join_after_process_victory
  14.   end
  15. end
复制代码

作者: clt2002    时间: 2020-10-8 17:25
alexncf125 发表于 2020-10-8 17:00
「无论是随机遇敌还是主线遇敌 (明雷) 的战斗, 当胜利时, 在队伍前4个位置的 10号角色, 会在胜利结算画面出 ...

求教,报错了。
说是第11行发生了NameError。
undefined local variable or method 'death_state_id' for BattleManager:Module
作者: alexncf125    时间: 2020-10-8 17:30
clt2002 发表于 2020-10-8 17:25
求教,报错了。
说是第11行发生了NameError。
undefined local variable or method 'death_state_id' for ...


actor.add_state(death_state_id)
改成
actor.add_state(actor.death_state_id)
如果还报错就
actor.add_state(1)
作者: clt2002    时间: 2020-10-8 17:33
alexncf125 发表于 2020-10-8 17:30
actor.add_state(death_state_id)
改成
actor.add_state(actor.death_state_id)

成功了,辛苦了,万分感谢!!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1