Project1
标题:
敌人HP、SP数值未知显示
[打印本页]
作者:
TERENCE
时间:
2008-1-30 05:06
标题:
敌人HP、SP数值未知显示
敌人HP、SP槽 随血量改变颜色:
http://rpg.blue/web/htm/news432.htm
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
class Window_Help < Window_Base
def set_enemy(actor)
self.contents.clear
draw_actor_name(actor, 4, 0)
draw_actor_state(actor, 140, 0)
carol3_draw_hp_bar(actor, 284, 0)
carol3_draw_sp_bar(actor, 460, 0)
@text = nil
self.visible = true
end
def carol3_draw_hp_bar(actor, x, y, width = 128) #宽度可调
self.contents.font.color = system_color
w = width * actor.hp / [actor.maxhp,1].max
if actor.maxhp != 0
rate = actor.hp.to_f / actor.maxhp
else
rate = 0
end
color1 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 150)
self.contents.fill_rect(x+1, y+15, width+2,1, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x+1, y+16, width+2,1, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+1, y+17, w,6,color1)
self.contents.fill_rect(x+1, y+23, width+2,1, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+1, y+24, width+2,1, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x, y+16, 1,8, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x-1, y+15, 1,10, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x+129, y+16, 1,8, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+130, y+15, 1,10, Color.new(0, 0, 0, 255))
self.contents.draw_text(x-53,y,128,32,$data_system.words.hp,1)
if actor.hp>actor.maxhp/3
self.contents.font.color = Color.new(255, 255, 255, 250)
end
if actor.hp>=actor.maxhp/6 and actor.maxhp/3>actor.hp
self.contents.font.color = Color.new(200, 200, 0, 255)
end
if actor.maxhp/6>actor.hp
self.contents.font.color = Color.new(200, 0, 0, 255)
end
self.contents.draw_text(x+47,y,128,32,actor.hp.to_s,1)
end
def carol3_draw_sp_bar(actor, x, y, width = 128)
self.contents.font.color = system_color
if actor.maxsp != 0
rate = actor.sp.to_f / actor.maxsp
else
rate = 0
end
color2 = Color.new(62 * rate, 240 - 72 * rate, 240 * rate, 192)
w = width * actor.sp / [actor.maxsp,1].max
self.contents.fill_rect(x+1, y+15, width+2,1, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x+1, y+16, width+2,1, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+1, y+17, w,6,color2)
self.contents.fill_rect(x+1, y+23, width+2,1, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+1, y+24, width+2,1, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x, y+16, 1,8, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x-1, y+15, 1,10, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x+129, y+16, 1,8, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+130, y+15, 1,10, Color.new(0, 0, 0, 255))
self.contents.draw_text(x-53,y,128,32,$data_system.words.sp,1)
if actor.hp>actor.maxsp/3
self.contents.font.color = Color.new(255, 255, 255, 250)
end
if actor.hp>=actor.maxsp/6 and actor.maxsp/3>actor.sp
self.contents.font.color = Color.new(200, 200, 0, 255)
end
if actor.maxsp/6>actor.sp
self.contents.font.color = Color.new(200, 0, 0, 255)
end
self.contents.draw_text(x+47,y,128,32,actor.sp.to_s,1)
end
end
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
复制代码
利用上面的脚本,要怎么制作
如果当敌人的HP、SP数值超过100000时显示
???
,
小于100000时HP、SP数值正常显示。 [LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
ONEWateR
时间:
2008-1-30 05:16
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
class Window_Help < Window_Base
def set_enemy(actor)
self.contents.clear
draw_actor_name(actor, 4, 0)
draw_actor_state(actor, 140, 0)
carol3_draw_hp_bar(actor, 284, 0)
carol3_draw_sp_bar(actor, 460, 0)
@text = nil
self.visible = true
end
def carol3_draw_hp_bar(actor, x, y, width = 128) #宽度可调
self.contents.font.color = system_color
w = width * actor.hp / [actor.maxhp,1].max
if actor.maxhp != 0
rate = actor.hp.to_f / actor.maxhp
else
rate = 0
end
color1 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 150)
self.contents.fill_rect(x+1, y+15, width+2,1, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x+1, y+16, width+2,1, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+1, y+17, w,6,color1)
self.contents.fill_rect(x+1, y+23, width+2,1, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+1, y+24, width+2,1, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x, y+16, 1,8, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x-1, y+15, 1,10, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x+129, y+16, 1,8, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+130, y+15, 1,10, Color.new(0, 0, 0, 255))
self.contents.draw_text(x-53,y,128,32,$data_system.words.hp,1)
if actor.hp>actor.maxhp/3
self.contents.font.color = Color.new(255, 255, 255, 250)
end
if actor.hp>=actor.maxhp/6 and actor.maxhp/3>actor.hp
self.contents.font.color = Color.new(200, 200, 0, 255)
end
if actor.maxhp/6>actor.hp
self.contents.font.color = Color.new(200, 0, 0, 255)
end
####################################################################
if actor.hp >= 100000
self.contents.draw_text(x+47,y,128,32,"???",1)
else
self.contents.draw_text(x+47,y,128,32,actor.hp.to_s,1)
end
######################################################################
end
def carol3_draw_sp_bar(actor, x, y, width = 128)
self.contents.font.color = system_color
if actor.maxsp != 0
rate = actor.sp.to_f / actor.maxsp
else
rate = 0
end
color2 = Color.new(62 * rate, 240 - 72 * rate, 240 * rate, 192)
w = width * actor.sp / [actor.maxsp,1].max
self.contents.fill_rect(x+1, y+15, width+2,1, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x+1, y+16, width+2,1, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+1, y+17, w,6,color2)
self.contents.fill_rect(x+1, y+23, width+2,1, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+1, y+24, width+2,1, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x, y+16, 1,8, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x-1, y+15, 1,10, Color.new(0, 0, 0, 255))
self.contents.fill_rect(x+129, y+16, 1,8, Color.new(255, 255, 192, 192))
self.contents.fill_rect(x+130, y+15, 1,10, Color.new(0, 0, 0, 255))
self.contents.draw_text(x-53,y,128,32,$data_system.words.sp,1)
if actor.hp>actor.maxsp/3
self.contents.font.color = Color.new(255, 255, 255, 250)
end
if actor.hp>=actor.maxsp/6 and actor.maxsp/3>actor.sp
self.contents.font.color = Color.new(200, 200, 0, 255)
end
if actor.maxsp/6>actor.sp
self.contents.font.color = Color.new(200, 0, 0, 255)
end
###############################################################
if actor.sp >= 100000
self.contents.draw_text(x+47,y,128,32,"???",1)
else
self.contents.draw_text(x+47,y,128,32,actor.sp.to_s,1)
end
###############################################################
end
end
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
复制代码
[LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1