查看: 3124|回复: 3

[已经解决] 如何让死亡的角色也能加上buff?

[复制链接]
梦石
0
星屑
1581
在线时间
253 小时
注册时间
2019-4-11
回帖
32
发表于 2021-2-7 04:19:21 | 显示全部楼层 |阅读模式

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

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

×
想实现一个闪之轨迹的那种BP制效果(通过消耗BP制造一个持续数回合的增益光环),用状态和一个死亡时不会解除状态的脚本实现了光环效果,但突然发现死亡时的队友是不会被加上光环的,然后才发现死亡时任何状态都不会获得,如何通过一些改法让特定状态即使是死亡的角色也能够获得?

漾夕☽星化残月☾

梦石
0
星屑
8611
在线时间
3858 小时
注册时间
2015-5-12
回帖
2022

剧作品鉴家

发表于 2021-2-7 10:29:29 | 显示全部楼层
本帖最后由 御曹司 于 2021-2-7 12:35 编辑

我理解错了……稍等
回复

使用道具 举报

梦石
0
星屑
29901
在线时间
5734 小时
注册时间
2016-3-8
回帖
1653
发表于 2021-2-7 12:07:49 | 显示全部楼层
本帖最后由 alexncf125 于 2021-2-7 12:52 编辑
御曹司 发表于 2021-2-7 10:29
RGSS3 戦闘不能時残留ステート Ver1.01 by 星潟
这个脚本贴上就行~

回 御曹司:
为什么我去找了旧版Ver1.01和新版Ver1.02都弄不到LZ要求的"让特定状态即使是死亡的角色也能够获得"


回 楼主:
死亡后不能附加状态的原因是这个在Game_Battler第90-93行的"alive?"
  #--------------------------------------------------------------------------
  # ● 判定状态是否可以附加
  #--------------------------------------------------------------------------
  def state_addable?(state_id)
    alive? && $data_states[state_id] && !state_resist?(state_id) &&
      !state_removed?(state_id) && !state_restrict?(state_id)
  end
所以你可以尝试分歧判断一下state_id
是特定状态的state_id时,写个没"alive?"的定义

嘛..虽然星潟同样有脚本就是了..
[pre lang="ruby"]#==============================================================================
# ■ RGSS3 戦闘不能無視付与 Ver1.00 by 星潟
#------------------------------------------------------------------------------
# 戦闘不能状態を無視して付与するステートを作成します。
# 状況的に、イベントでのステート付与を想定したものです。
#==============================================================================
# ステートのメモ欄に指定
#------------------------------------------------------------------------------
# <戦闘不能無視付与>
#
# このステートは戦闘不能であっても無視して付与される。
# ※ただし、戦闘不能前に付与されていた場合、戦闘不能になる事で解除されます。
#   戦闘不能時に消去されないステートを実装されたい場合
#   当方配布の消去無効ステートを導入し、そちらの機能を使用して下さい。
#==============================================================================
module AddStateIgnoreDeath
  
  #戦闘不能無視付与の設定用キーワードを指定。
  
  Word = "戦闘不能無視付与"
  
end
class Game_BattlerBase
  #--------------------------------------------------------------------------
  # 戦闘不能ステートの検査
  #--------------------------------------------------------------------------
  alias death_state_add_state_ignore_death? death_state?
  def death_state?
    return false if @ignore_death
    death_state_add_state_ignore_death?
  end
end
class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # ステートの付加可能判定
  #--------------------------------------------------------------------------
  alias state_addable_add_state_ignore_death? state_addable?
  def state_addable?(state_id)
    s = $data_states[state_id]
    @ignore_death = s && s.add_state_ignore_death?
    r = state_addable_add_state_ignore_death?(state_id)
    @ignore_death = nil
    r
  end
end
class RPG::State < RPG::BaseItem
  #--------------------------------------------------------------------------
  # 戦闘不能無視付与
  #--------------------------------------------------------------------------
  def add_state_ignore_death?
    (@add_state_ignore_death ||= /<#{AddStateIgnoreDeath::Word}>/ =~ note ? 1 : 0) == 1
  end
end[/pre]
回复 1 0

使用道具 举报

梦石
0
星屑
1581
在线时间
253 小时
注册时间
2019-4-11
回帖
32
 楼主| 发表于 2021-2-7 15:38:48 | 显示全部楼层
本帖最后由 sxjkjly8010 于 2021-2-7 15:42 编辑
alexncf125 发表于 2021-2-7 12:07
回 御曹司:
为什么我去找了旧版Ver1.01和新版Ver1.02都弄不到LZ要求的"让特定状态即使是死亡的角色也能够 ...


原来这位大大还写了这种脚本!感谢分享
刚才的表情好像不太应景
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部