03-11-2007, 01:00 PM (This post was last modified: 05-19-2017, 04:07 AM by DerVVulfman.)
Game Completion Window
by Leon Blade
Mar 11 2007
This is a locked, single-post thread from Creation Asylum. Archived here to prevent its loss.
No support is given. If you are the owner of the thread, please contact administration.
Hello, my retarded post was closed so I couldnt give people the gradients. Yes that whole censored was pretty retarded of an insult. I didn't make it up by the way, but anyway you are right about most of what you said but I did develop the concept for my game and I included gradient bars in it, just to make it look better. The reason the extra lines where included where so you could edit the lines like "Act I Chapter III" instead of just % and yes he did remake the script. So I will post his version. I'm sure someone made this script before but I havent seen it so I just made one. No credit is needed for a simple thing just as this. I appologize for my retarded insult, and now here it is along with gradients.
#--------------------------------------------------------------------------
# * Load Gradient from RPG::Cache
#--------------------------------------------------------------------------
module RPG
module Cache
def self.gradient(filename, hue = 0)
self.load_bitmap("Graphics/Gradients/", filename, hue)
end
end
end
class Window_Base < Window
#--------------------------------------------------------------------------
# * Constants Bar Types and Hues for parameters and parameter names
#--------------------------------------------------------------------------
HP_BAR = "014-Reds01"
SP_BAR = "013-Blues01"
EXP_BAR = "023-Dusk01"
ATK_BAR = "020-Metallic01"
PDEF_BAR = "020-Metallic01"
MDEF_BAR = "020-Metallic01"
STR_BAR = "020-Metallic01"
DEX_BAR = "020-Metallic01"
AGI_BAR = "020-Metallic01"
INT_BAR = "020-Metallic01"
HUES = [150,180,60,30,270,350,320]
STATS = ["atk","pdef","mdef","str","dex","agi","int"]
# leave this alone if you don't know what you are doing
OUTLINE = 1
BORDER = 1
#--------------------------------------------------------------------------
# * Draw Gradient Bar
#--------------------------------------------------------------------------
def draw_gradient_bar(x, y, min, max, file, width = nil, height = nil, hue = 0, back = "Back", back2 = "Back2")
bar = RPG::Cache.gradient(file, hue)
back = RPG::Cache.gradient(back)
back2 = RPG::Cache.gradient(back2)
cx = BORDER
cy = BORDER
dx = OUTLINE
dy = OUTLINE
zoom_x = width != nil ? width : back.width
zoom_y = height != nil ? height : back.height
percent = min / max.to_f if max != 0
percent = 0 if max == 0
back_dest_rect = Rect.new(x,y,zoom_x,zoom_y)
back2_dest_rect = Rect.new(x+dx,y+dy,zoom_x -dx*2,zoom_y-dy*2)
bar_dest_rect = Rect.new(x+cx,y+cy,zoom_x * percent-cx*2,zoom_y-cy*2)
back_source_rect = Rect.new(0,0,back.width,back.height)
back2_source_rect = Rect.new(0,0,back2.width,back2.height)
bar_source_rect = Rect.new(0,0,bar.width* percent,bar.height)
self.contents.stretch_blt(back_dest_rect, back, back_source_rect)
self.contents.stretch_blt(back2_dest_rect, back2, back2_source_rect)
self.contents.stretch_blt(bar_dest_rect, bar, bar_source_rect)
end
#--------------------------------------------------------------------------
# * Draw Vertical Gradient Bar
#--------------------------------------------------------------------------
def draw_vertical_gradient_bar(x, y, min, max, file, width = nil, height = nil, hue = 0, back = "Back", back2 = "Back2")
bar = RPG::Cache.gradient(file, hue)
back = RPG::Cache.gradient(back)
back2 = RPG::Cache.gradient(back2)
cx = BORDER
cy = BORDER
dx = OUTLINE
dy = OUTLINE
zoom_x = width != nil ? width : back.width
zoom_y = height != nil ? height : back.height
percent = min / max.to_f if max != 0
percent = 0 if max == 0
bar_y = (zoom_y - zoom_y * percent).ceil
source_y = bar.height - bar.height * percent
back_dest_rect = Rect.new(x,y,zoom_x,zoom_y)
back2_dest_rect = Rect.new(x+dx,y+dy,zoom_x -dx*2,zoom_y-dy*2)
bar_dest_rect = Rect.new(x+cx,y+bar_y+cy,zoom_x-cx*2,(zoom_y * percent).to_i-cy*2)
back_source_rect = Rect.new(0,0,back.width,back.height)
back2_source_rect = Rect.new(0,0,back2.width,back2.height)
bar_source_rect = Rect.new(0,source_y,bar.width,bar.height * percent)
self.contents.stretch_blt(back_dest_rect, back, back_source_rect)
self.contents.stretch_blt(back2_dest_rect, back2, back2_source_rect)
self.contents.stretch_blt(bar_dest_rect, bar, bar_source_rect)
end
#--------------------------------------------------------------------------
# * Draw HP
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : draw spot width
#--------------------------------------------------------------------------
alias trick_draw_actor_hp draw_actor_hp
def draw_actor_hp(actor, x, y, width = 144)
# Calculate if there is draw space for MaxHP
if width - 32 >= 108
hp_x = x + width - 108
flag = true
elsif width - 32 >= 48
hp_x = x + width - 48
flag = false
end
width = hp_x - x
width += $game_temp.in_battle ? 50 : 100
percent = actor.hp / actor.maxhp.to_f
hue = 120 * percent
# Draw HP
draw_gradient_bar(x, y + 16, actor.hp, actor.maxhp, HP_BAR, width, 8, hue)
trick_draw_actor_hp(actor, x, y, width)
end
#--------------------------------------------------------------------------
# * Draw SP
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : draw spot width
#--------------------------------------------------------------------------
alias trick_draw_actor_sp draw_actor_sp
def draw_actor_sp(actor, x, y, width = 144)
# Calculate if there is draw space for MaxHP
if width - 32 >= 108
sp_x = x + width - 108
flag = true
elsif width - 32 >= 48
sp_x = x + width - 48
flag = false
end
width = sp_x - x
width += $game_temp.in_battle ? 50 : 100
percent = actor.sp / actor.maxsp.to_f
hue = 0
# Draw SP
draw_gradient_bar(x, y + 16, actor.sp, actor.maxsp, SP_BAR, width, 8, hue)
trick_draw_actor_sp(actor, x, y, width)
end
#--------------------------------------------------------------------------
# * Draw Exp
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
#--------------------------------------------------------------------------
alias trick_bars_base_exp draw_actor_exp
def draw_actor_exp(actor, x, y)
min = actor.level == 99 ? 1 : actor.now_exp
max = actor.level == 99 ? 1 : actor.next_exp
draw_gradient_bar(x, y + 16, min, max, EXP_BAR, 192, 8)
trick_bars_base_exp(actor, x, y)
end
#--------------------------------------------------------------------------
# * Draw Parameter
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# type : draw which parameter
#--------------------------------------------------------------------------
alias trick_bars_base_parameter draw_actor_parameter
def draw_actor_parameter(actor, x, y, type)
hue = HUES[type]
stat = toto("actor.#{STATS[type]}")
bar_type = toto("#{STATS[type].upcase}_BAR")
draw_gradient_bar(x, y + 18, stat, 999, bar_type, 190, 8, hue)
trick_bars_base_parameter(actor, x, y, type)
end
end
class Game_Actor
#--------------------------------------------------------------------------
# * Get the current EXP
#--------------------------------------------------------------------------
def now_exp
return @exp - @exp_list[@level]
end
#--------------------------------------------------------------------------
# * Get the next level's EXP
#--------------------------------------------------------------------------
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end
end