只要状态不相互抵消,那么一个角色可以被赋予多个状态
只是因为菜单和动画的关系,默认只能显示其中优先级最高的一个
送你个脚本好了
【多重状态,可以显示多个状态】
#============================================================================== # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息 #============================================================================== #============================================================================== # 多重状态 Ver. 1.1 by Claimh #------------------------------------------------------------------------------ # [url]http://www.k3.dion.ne.jp/~claimh/[/url] #============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # 生成状态文字 #-------------------------------------------------------------------------- def make_battler_state_text_over3(battler, width, need_normal) brackets_width = self.contents.text_size("[]").width text = "" text0 = "" ret_text = ["",""] for i in battler.states if $data_states[i].rating >= 1 if text == "" text = $data_states[i].name else new_text = text + "/" + $data_states[i].name text_width = self.contents.text_size(new_text).width if text_width > width - brackets_width text0 = new_text text = "" new_text = "" text_width = 0 else text = new_text end end end end if text == "" and text0 == "" ret_text = ["[正常]", ""] elsif text0 == "" ret_text[0] = "[" + text + "]" ret_text[1] = "" else ret_text[0] = "[" + text0 + "]" if text != "" ret_text[1] = "[" + text + "]" else ret_text[1] = "" end end return ret_text end #-------------------------------------------------------------------------- # 描绘角色状态 #-------------------------------------------------------------------------- def draw_actor_state(actor, x, y, width = 120) text = make_battler_state_text_over3(actor, width, true) self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color if text[1] == "" self.contents.draw_text(x-5, y, width+5, 32, text[0]) else self.contents.font.size = 20 self.contents.draw_text(x-5, y - 15 , width+5, 32, text[0]) self.contents.draw_text(x-5, y + 8, width+5, 32, text[1]) end end end #============================================================================== # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息 #==============================================================================
#==============================================================================
# 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
#==============================================================================
#==============================================================================
# 多重状态 Ver. 1.1 by Claimh
#------------------------------------------------------------------------------
# [url]http://www.k3.dion.ne.jp/~claimh/[/url]
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# 生成状态文字
#--------------------------------------------------------------------------
def make_battler_state_text_over3(battler, width, need_normal)
brackets_width = self.contents.text_size("[]").width
text = ""
text0 = ""
ret_text = ["",""]
for i in battler.states
if $data_states[i].rating >= 1
if text == ""
text = $data_states[i].name
else
new_text = text + "/" + $data_states[i].name
text_width = self.contents.text_size(new_text).width
if text_width > width - brackets_width
text0 = new_text
text = ""
new_text = ""
text_width = 0
else
text = new_text
end
end
end
end
if text == "" and text0 == ""
ret_text = ["[正常]", ""]
elsif text0 == ""
ret_text[0] = "[" + text + "]"
ret_text[1] = ""
else
ret_text[0] = "[" + text0 + "]"
if text != ""
ret_text[1] = "[" + text + "]"
else
ret_text[1] = ""
end
end
return ret_text
end
#--------------------------------------------------------------------------
# 描绘角色状态
#--------------------------------------------------------------------------
def draw_actor_state(actor, x, y, width = 120)
text = make_battler_state_text_over3(actor, width, true)
self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
if text[1] == ""
self.contents.draw_text(x-5, y, width+5, 32, text[0])
else
self.contents.font.size = 20
self.contents.draw_text(x-5, y - 15 , width+5, 32, text[0])
self.contents.draw_text(x-5, y + 8, width+5, 32, text[1])
end
end
end
#==============================================================================
# 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
#==============================================================================
|