MOG Menu Status Eva V1.0

5 de setembro de 2013

MOG_Menu Status Eva é um script criado pelo Moghunter para o RPG Maker XP, que possibilita você criar um menu alternativo de Status MUITO irado, com imagens ao invés de apenas fontes.

Veja a screenshot abaixo:

Screenshot

MOG_Menu Status Eva V1

Instalação

É de fácil instalação. A única coisa que não é automática é que você tem que observar onde e como você deve colocar as figuras (pictures). É preciso ter as pictures imagens na pasta Graphics/Pictures. A nomeação das imagens da faces devem ser feitas da seguinte forma:
Coloque o nome do personagem, ou status, mais o sufixo FC2.

Exemplos

Personagem de nome Aluxes → Aluxes_FC2.png

Exp (Status) → Exp_FC2.png

E, para instalar o script no projeto, basta copiar o código abaixo e inserir acima do “Main”:

#_________________________________________________
# MOG_Menu Status Eva V1.0            
#_________________________________________________
# By Moghunter          
#_________________________________________________
# Menu Status em pictures.
# É preciso ter as pictures imagens no pasta
# Graphics/Pictures
# A nomeção das imagens da faces devem ser feitas
# da seguinte forma:
# Coloque o nome do personagem mais o sufixo FC2
# EXP->           Aluxes_FC2.png
#_________________________________________________
module MOG
#Tempo de transição.  
MST_TT = 10
#Tipo de transição.
MST_TTT = "004-Blind04"
#Valor final maximo definido dos parâmetros de status no banco de dados.
MST_ST = 999
#Valor final maximo definido dos parâmetros de equipamento.
MST_STE = 999
end
##############
# Game_Actor #
##############
class Game_Actor < Game_Battler
def now_exp
return @exp - @exp_list[@level]
end
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end
end
###############
# Window_Base #
###############
class Window_Base < Window   
def draw_heroface2(actor,x,y)
face = RPG::Cache.picture(actor.name + "_fc2")
cw = face.width 
ch = face.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch, face, src_rect)    
end  
def draw_actor_parameter2(actor, x, y, type)
back = RPG::Cache.picture("STBAR_Back")    
cw = back.width  
ch = back.height 
src_rect = Rect.new(0, 0, cw, ch)    
self.contents.blt(x + 50 , y - ch + 20, back, src_rect)  
meter = RPG::Cache.picture("STBAR.png")    
case type
when 0
parameter_value = actor.atk
cw = meter.width  * actor.atk / MOG::MST_STE
when 1
parameter_value = actor.pdef
cw = meter.width  * actor.pdef / MOG::MST_STE
when 2
parameter_value = actor.mdef
cw = meter.width  * actor.mdef / MOG::MST_STE
when 3
parameter_value = actor.str
cw = meter.width  * actor.str / MOG::MST_ST
when 4
parameter_value = actor.dex
cw = meter.width  * actor.dex / MOG::MST_ST
when 5
parameter_value = actor.agi
cw = meter.width  * actor.agi / MOG::MST_ST
when 6
parameter_value = actor.int
cw = meter.width  * actor.int / MOG::MST_ST
end
self.contents.font.color = normal_color
self.contents.draw_text(x + 120, y - 2, 36, 32, parameter_value.to_s, 2)
ch = meter.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 50 , y - ch + 20, meter, src_rect) 
end
def draw_maphp3(actor, x, y)
back = RPG::Cache.picture("BAR")    
cw = back.width  
ch = back.height 
src_rect = Rect.new(0, 0, cw, ch)    
self.contents.blt(x + 65, y - ch + 30, back, src_rect)
meter = RPG::Cache.picture("HP_Bar2")    
cw = meter.width  * actor.hp / actor.maxhp
ch = meter.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 66, y - 1, 100, 32, actor.hp.to_s + "/" + actor.maxhp.to_s, 1)  
self.contents.font.color = Color.new(250,255,255,255) 
self.contents.draw_text(x + 65, y - 2, 100, 32, actor.hp.to_s + "/" + actor.maxhp.to_s, 1)  
end  
def draw_mapsp3(actor, x, y)
back = RPG::Cache.picture("BAR")    
cw = back.width  
ch = back.height 
src_rect = Rect.new(0, 0, cw, ch)    
self.contents.blt(x + 65 , y - ch + 30, back, src_rect)
meter = RPG::Cache.picture("SP_Bar2")    
cw = meter.width  * actor.sp / actor.maxsp
ch = meter.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65 , y - ch + 30, meter, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 66, y - 1, 100, 32, actor.sp.to_s + "/" + actor.maxsp.to_s, 1)  
self.contents.font.color = Color.new(250,255,255,255) 
self.contents.draw_text(x + 65, y - 2, 100, 32, actor.sp.to_s + "/" + actor.maxsp.to_s, 1)  
end
def draw_mexp(actor, x, y)
actor = $game_party.actors[0]
bitmap2 = RPG::Cache.picture("Exp_Back")
cw = bitmap2.width 
ch = bitmap2.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 60 , y - ch + 30, bitmap2, src_rect)
rate = actor.now_exp.to_f / actor.next_exp
bitmap = RPG::Cache.picture("Exp_Meter")
if actor.level < 99
cw = bitmap.width * rate 
else
cw = bitmap.width
end   
ch = bitmap.height 
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 60 , y - ch + 30, bitmap, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 55, y + 1, 84, 32, "Exp",0)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 54, y, 84, 32, "Exp",0)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 20, y + 5, 30, 32, actor.level.to_s, 1)
self.contents.font.color = Color.new(255,255,255,255)    
self.contents.draw_text(x + 21, y + 6, 30, 32, actor.level.to_s, 1)    
end
end
##################
# Window_Status2 #
##################
class Window_Status2 < Window_Base
def initialize(actor)
super(0, 0, 660, 480)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
self.opacity = 0
refresh
end
def refresh
self.contents.clear
self.contents.font.name = "Georgia"
draw_actor_name(@actor, 4, 0)
draw_actor_class(@actor, 510, -5 )
draw_mexp(@actor,310,130)
draw_actor_state(@actor, 450, 20)
draw_maphp3(@actor, 275, 165)
draw_mapsp3(@actor, 430, 165)
draw_actor_parameter2(@actor, 280, 108, 0)
draw_actor_parameter2(@actor, 460, 137, 1)
draw_actor_parameter2(@actor, 460, 108, 2)
draw_actor_parameter2(@actor, 280, 53, 3)
draw_actor_parameter2(@actor, 460, 53, 4)
draw_actor_parameter2(@actor, 280, 80, 5)
draw_actor_parameter2(@actor, 460, 80, 6)
self.contents.font.color = system_color
draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 228)
draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 258)
draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 288)
draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 318)
draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 348)    
end
def dummy
self.contents.font.color = system_color
self.contents.draw_text(320, 112, 96, 32, $data_system.words.weapon)
self.contents.draw_text(320, 176, 96, 32, $data_system.words.armor1)
self.contents.draw_text(320, 240, 96, 32, $data_system.words.armor2)
self.contents.draw_text(320, 304, 96, 32, $data_system.words.armor3)
self.contents.draw_text(320, 368, 96, 32, $data_system.words.armor4)
draw_item_name($data_weapons[@actor.weapon_id], 320 + 24, 144)
draw_item_name($data_armors[@actor.armor1_id], 320 + 24, 208) 
draw_item_name($data_armors[@actor.armor2_id], 320 + 24, 272)
draw_item_name($data_armors[@actor.armor3_id], 320 + 24, 336)
draw_item_name($data_armors[@actor.armor4_id], 320 + 24, 400)
end
end
###############
# Window_Face #
###############
class Window_Face < Window_Base
def initialize(actor)
super(0, -20, 300, 520)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
self.opacity = 0
refresh
end
def refresh
self.contents.clear
draw_heroface2(@actor,10,485)        
end
end
################
# Scene_Status #
################
class Scene_Status
def initialize(actor_index = 0, equip_index = 0)
@actor_index = actor_index
end
def main
@actor = $game_party.actors[@actor_index]
@status_window = Window_Status2.new(@actor)
@status_face = Window_Face.new(@actor)
@status_face.z = 20
@status_face.x = -300
@status_face.contents_opacity = 0
@mst_lay = Sprite.new
@mst_lay.bitmap = RPG::Cache.picture("MST_Lay")
@mst_lay.z = 100
@mst_back1 = Plane.new
@mst_back1.bitmap = RPG::Cache.picture("MN_BK")
@mst_back1.z = 10
Graphics.transition(MOG::MST_TT, "Graphics/Transitions/" + MOG::MST_TTT)
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
for i in 0..30
@status_face.x -= 20  
@status_face.contents_opacity -= 15
Graphics.update
end  
Graphics.freeze
@mst_lay.dispose
@mst_back1.dispose
@status_face.dispose
@status_window.dispose
end
def update
@mst_back1.ox += 1
@mst_back1.oy += 1
if @status_face.x < 0
@status_face.x += 20
@status_face.contents_opacity += 15
elsif @status_face.x >= 0   
@status_face.x = 0   
@status_face.contents_opacity = 255
end   
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(3)
return
end
if Input.trigger?(Input::R) or Input.trigger?(Input::RIGHT)
$game_system.se_play($data_system.cursor_se)
@actor_index += 1
@actor_index %= $game_party.actors.size
$scene = Scene_Status.new(@actor_index)
return
end
if Input.trigger?(Input::L) or Input.trigger?(Input::LEFT)
$game_system.se_play($data_system.cursor_se)
@actor_index += $game_party.actors.size - 1
@actor_index %= $game_party.actors.size
$scene = Scene_Status.new(@actor_index)
return
end
end
end

Download e ficha técnica

  • Download (clique com o botão esquerdo do mouse ou toque no link)
  • Desenvolvedor, publisher e/ou distribuidor: Moghunter
  • SO: Windows 98/98SE/Me/2000/XP/Vista/7
  • Tamanho: 1,133KB (pacote de instalação e/ou espaço em disco)
  • Licença: Grátis
  • Categoria: Programação XP
  • Adicionado por: LichKing
  • Acessos: 71

Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!

Deixe um comentário

Inscreva-se na nossa newsletter!