本帖最后由 七重 于 2016-10-10 21:01 编辑
class Game_BattlerBase def refresh state_resist_set.each {|state_id| erase_state(state_id) } @hp = [[@hp, mhp].min, 0].max @mp = [[@mp, mmp].min, 0].max @hp == 0 ? add_state(death_state_id) : remove_state(death_state_id) if hp_rate <= 0.3 #生命值的百分比。 remove_state(4)#狀態的編號。 end end end
class Game_BattlerBase
def refresh
state_resist_set.each {|state_id| erase_state(state_id) }
@hp = [[@hp, mhp].min, 0].max
@mp = [[@mp, mmp].min, 0].max
@hp == 0 ? add_state(death_state_id) : remove_state(death_state_id)
if hp_rate <= 0.3 #生命值的百分比。
remove_state(4)#狀態的編號。
end
end
end
在標記的地方設置狀態的編號,比如默認是4號,沉默。
生命值的百分比,寫成小數形式,比如百分之30以下解除就是0.3.
==
class Game_Battler < Game_BattlerBase
alias krst161010_update_state_turns update_state_turns
def update_state_turns
states.each do |state|
if state.note.include?("<limited>")
if $game_party.battle_members[0].hp_rate <= 0.3
remove_state(state.id)
end
else
@state_turns[state.id] -= 1 if @state_turns[state.id] > 0
end
end
end
end
写了个不成熟的。。。
这个脚本的效果是:
“备注标记有“<limited>”的状态”,会在队伍的第一个角色生命值少于百分之三十的时候解除。
不知道楼主能不能用得上,我不知道这里怎么写成判断状态使用者的血量。。等人来补充吧。。_(:X_L |