Jump to content
Sign in to follow this  
Myrmior

RMXP Mog Menus - Help changing text transitions

Recommended Posts

Hello folks. This forum is pretty quiet, so I hope my RMXP question doesn't go unnoticed :(

I'm using the classic Mog Menu script for RMXP, and with much blind tweaking everything is working perfectly, with two exceptions:

 

1. I can't figure out how to make my menu text fade in, or already be there after the default transition, rather than slide in from off screen. The design of my menus doesn't support the slide in effect.

2. Similarly, when exiting the shop menu, all of the pictures sort of stretch and slide off screen. How can I make these stay where they are for the default transition?

Here are the relevant scripts.

 

Scene Equip:

 


#_______________________________________________________________________________

# MOG Scene Equip Asuka V1.5
#_______________________________________________________________________________
# By Moghunter
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
#Transition Time.
MSEQPT= 20
#Transition Type.
MSEQPTT= "020-Flat01"
# Set Maximum (STR,DEX,AGL,INT)
MST_ST = 999
# Set Maximum (ATK,PDEF,MDEF)
MST_STE = 999
end
$mogscript = {} if $mogscript == nil
$mogscript["menu_asuka"] = true
###############
# Window_Base #
###############
class Window_Base < Window
def nada2(actor)
face = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
end
def draw_heroface2(actor,x,y)
face = RPG::Cache.picture(actor.name + "_null") rescue nada2(actor)
cw = face.width
ch = face.height
src_rect = Rect.new(0, 0, cw, ch)
if face == RPG::Cache.battler(actor.battler_name, actor.battler_hue)
self.contents.blt(x + 3000, y - ch - 240, face, src_rect) #was X + 40
else
self.contents.blt(x , y - ch, face, src_rect)
end
end
def drw_eqpup(x,y,type)
case type
when 0
est = RPG::Cache.icon("ST_EQU")
when 1
est = RPG::Cache.icon("ST_UP")
when 2
est = RPG::Cache.icon("ST_DOWN")
end
cw = est.width
ch = est.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch, est, src_rect)
end
def drw_equist(x,y) #was just x
equist = RPG::Cache.picture("")
cw = equist.width
ch = equist.height
src_rect = Rect.new(0, 0, cw, ch) #20 was 0
self.contents.blt(x, y - ch, equist, src_rect) # was just x
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 = menu_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 nada
face = RPG::Cache.picture("")
##end
##def draw_heroface3(actor,x,y)
##face = RPG::Cache.picture(actor.name + "_fc3") rescue nada
##cw = face.width
##ch = face.height
##src_rect = Rect.new(0, 0, cw, ch)
##self.contents.blt(x , y - ch, face, src_rect)
end
end
####################
# Window_EquipLeft #
####################
class Window_EquipLeft < Window_Base
def initialize(actor)
super(0, 73, 450, 446) #(0, 64, 311, 446)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
self.contents.font.name = "OCR A Extended"
@actor = actor
refresh
end
def refresh
self.contents.clear
draw_heroface2(@actor, 20, 460)
drw_equist(0,390) #was (0, 390)
draw_actor_name(@actor, 20, 22)
draw_actor_level(@actor, 20, 54)
draw_actor_parameter2(@actor, 36, 156 , 0)
draw_actor_parameter2(@actor, 36, 188 , 1)
draw_actor_parameter2(@actor, 36, 220 , 2)
draw_actor_parameter2(@actor, 36, 254 , 3)
draw_actor_parameter2(@actor, 36, 285 , 4)
draw_actor_parameter2(@actor, 36, 318 , 5)
draw_actor_parameter2(@actor, 36, 349 , 6)
if @new_atk != nil
self.contents.font.color = system_color
if @new_atk < @actor.atk
drw_eqpup(196,182,2)
self.contents.font.color = Color.new(255,50,50,255)
elsif @new_atk > @actor.atk
drw_eqpup(196,182,1)
self.contents.font.color = Color.new(50,250,150,255)
else
drw_eqpup(196,182,0)
self.contents.font.color = Color.new(255,255,255,255)
end
self.contents.draw_text(226, 154, 36, 32, @new_atk.to_s, 2)
end
if @new_pdef != nil
if @new_pdef < @actor.pdef
drw_eqpup(196,218,2)
self.contents.font.color = Color.new(255,50,50,255)
elsif @new_pdef > @actor.pdef
drw_eqpup(196,218,1)
self.contents.font.color = Color.new(50,250,150,255)
else
drw_eqpup(196,218,0)
self.contents.font.color = Color.new(255,255,255,255)
end
self.contents.draw_text(226, 186, 36, 32, @new_pdef.to_s, 2)
end
if @new_mdef != nil
if @new_mdef < @actor.mdef
drw_eqpup(196,250,2)
self.contents.font.color = Color.new(255,50,50,255)
elsif @new_mdef > @actor.mdef
drw_eqpup(196,250,1)
self.contents.font.color = Color.new(50,250,150,255)
else
drw_eqpup(196,250,0)
self.contents.font.color = Color.new(255,255,255,255)
end
self.contents.draw_text(226, 218, 36, 32, @new_mdef.to_s, 2)
end
if @new_str != nil
if @new_str < @actor.str
drw_eqpup(196,283,2)
self.contents.font.color = Color.new(255,50,50,255)
elsif @new_str > @actor.str
drw_eqpup(196,283,1)
self.contents.font.color = Color.new(50,250,150,255)
else
drw_eqpup(196,283,0)
self.contents.font.color = Color.new(255,255,255,255)
end
self.contents.draw_text(226, 251, 36, 32, @new_str.to_s, 2)
end
if @new_dex != nil
if @new_dex < @actor.dex
drw_eqpup(196,315,2)
self.contents.font.color = Color.new(255,50,50,255)
elsif @new_dex > @actor.dex
drw_eqpup(196,315,1)
self.contents.font.color = Color.new(50,250,150,255)
else
drw_eqpup(196,315,0)
self.contents.font.color = Color.new(255,255,255,255)
end
self.contents.draw_text(226, 283, 36, 32, @new_dex.to_s, 2)
end
if @new_agi != nil
if @new_agi < @actor.agi
drw_eqpup(196,347,2)
self.contents.font.color = Color.new(255,50,50,255)
elsif @new_agi > @actor.agi
drw_eqpup(196,347,1)
self.contents.font.color = Color.new(50,250,150,255)
else
drw_eqpup(196,347,0)
self.contents.font.color = Color.new(255,255,255,255)
end
self.contents.draw_text(226, 315, 36, 32, @new_agi.to_s, 2)
end
if @new_int != nil
if @new_int < @actor.int
drw_eqpup(196,379,2)
self.contents.font.color = Color.new(255,50,50,255)
elsif @new_int > @actor.int
drw_eqpup(196,379,1)
self.contents.font.color = Color.new(50,250,150,255)
else
drw_eqpup(196,379,0)
self.contents.font.color = Color.new(255,255,255,255)
end
self.contents.draw_text(226, 347, 36, 32, @new_int.to_s, 2)
end
end
def set_new_parameters(new_atk, new_pdef, new_mdef, new_str, new_dex,
new_agi, new_int)
if @new_atk != new_atk or @new_pdef != new_pdef or @new_mdef != new_mdef or
@new_str != new_str or @new_dex != new_dex or @new_agl != new_agi or
@new_int != new_int
@new_atk = new_atk
@new_pdef = new_pdef
@new_mdef = new_mdef
@new_str = new_str
@new_dex = new_dex
@new_agi = new_agi
@new_int = new_int
refresh
end
end
end
#####################
# Window_EquipRight #
#####################
class Window_EquipRight < Window_Selectable
def initialize(actor)
super(280, 64, 368, 192)#original 272
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
self.contents.font.name = "OCR A Extended"
@actor = actor
refresh
self.index = 0
end
def item
return @data[self.index]
end
def refresh
self.contents.clear
@data = []
@data.push($data_weapons[@actor.weapon_id])
@data.push($data_armors[@actor.armor1_id])
@data.push($data_armors[@actor.armor2_id])
@data.push($data_armors[@actor.armor3_id])
@data.push($data_armors[@actor.armor4_id])
@item_max = @data.size
self.contents.font.color = system_color
draw_item_name(@data[0], 92, 32 * 0)
draw_item_name(@data[1], 92, 32 * 1)
draw_item_name(@data[2], 92, 32 * 2)
draw_item_name(@data[3], 92, 32 * 3)
draw_item_name(@data[4], 92, 32 * 4)
end
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end
####################
# Window_EquipItem #
####################
class Window_EquipItem < Window_Selectable
def initialize(actor, equip_type)
super(272, 256, 368, 224) #was 272
self.opacity = 0
@actor = actor
@equip_type = equip_type
@column_max = 1
refresh
self.active = false
self.index = -1
end
def item
return @data[self.index]
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
if @equip_type == 0
weapon_set = $data_classes[@actor.class_id].weapon_set
for i in 1...$data_weapons.size
if $game_party.weapon_number(i) > 0 and weapon_set.include?(i)
@data.push($data_weapons)
end
end
end
if @equip_type != 0
armor_set = $data_classes[@actor.class_id].armor_set
for i in 1...$data_armors.size
if $game_party.armor_number(i) > 0 and armor_set.include?(i)
if $data_armors.kind == @equip_type-1
@data.push($data_armors)
end
end
end
end
@data.push(nil)
@item_max = @data.size
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max-1
draw_item(i)
end
end
def draw_item(index)
self.contents.font.name = "OCR A Extended"
item = @data[index]
x = 26 + index % 1 * (288 + 32) #first was 4
y = index / 1 * 32
case item
when RPG::Weapon
number = $game_party.weapon_number(item.id)
when RPG::Armor
number = $game_party.armor_number(item.id)
end
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
self.contents.font.color = menu_color
self.contents.draw_text(x + 28, y, 212, 32, item.name, 0) #was 28
self.contents.draw_text(x + 240, y, 16, 32, ":", 1) #was 240
self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2) #was 256
end
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end
###############
# Scene_Equip #
###############
class Scene_Equip
def initialize(actor_index = 0, equip_index = 0)
@actor_index = actor_index
@equip_index = equip_index
end
def main
@mnback = Plane.new
@mnback.bitmap = RPG::Cache.picture("MN_BK_File")
@mnback.z = 1
@mnlay = Sprite.new
@mnlay.bitmap = RPG::Cache.picture("Equip_Lay")
@mnlay.z = 2
@actor = $game_party.actors[@actor_index]
@help_window = Window_Help.new
@help_window.opacity = 0
@help_window.x = -300 #was -300
@help_window.contents_opacity = 0
@left_window = Window_EquipLeft.new(@actor)
@left_window.x = -300 #was -300
@left_window.contents_opacity = 0
@right_window = Window_EquipRight.new(@actor)
@item_window1 = Window_EquipItem.new(@actor, 0)
@item_window2 = Window_EquipItem.new(@actor, 1)
@item_window3 = Window_EquipItem.new(@actor, 2)
@item_window4 = Window_EquipItem.new(@actor, 3)
@item_window5 = Window_EquipItem.new(@actor, 4)
@item_window1.x = 640
@item_window2.x = 640
@item_window3.x = 640
@item_window4.x = 640
@item_window5.x = 640
@right_window.help_window = @help_window
@item_window1.help_window = @help_window
@item_window2.help_window = @help_window
@item_window3.help_window = @help_window
@item_window4.help_window = @help_window
@item_window5.help_window = @help_window
@right_window.index = @equip_index
@right_window.x = 640
refresh
Graphics.transition(MOG::MSEQPT, "Graphics/Transitions/" + MOG::MSEQPTT)
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
for i in 0..20
@left_window.x -= 15 #speed of closing transition
@left_window.contents_opacity -= 10
@item_window.x += 20
@item_window.contents_opacity -= 15
@right_window.x += 20
@right_window.contents_opacity -= 15
Graphics.update
end
Graphics.freeze
@help_window.dispose
@left_window.dispose
@right_window.dispose
@item_window1.dispose
@item_window2.dispose
@item_window3.dispose
@item_window4.dispose
@item_window5.dispose
@mnback.dispose
@mnlay.dispose
end
def refresh
@item_window1.visible = (@right_window.index == 0)
@item_window2.visible = (@right_window.index == 1)
@item_window3.visible = (@right_window.index == 2)
@item_window4.visible = (@right_window.index == 3)
@item_window5.visible = (@right_window.index == 4)
item1 = @right_window.item
case @right_window.index
when 0
@item_window = @item_window1
when 1
@item_window = @item_window2
when 2
@item_window = @item_window3
when 3
@item_window = @item_window4
when 4
@item_window = @item_window5
end
if @right_window.active
@left_window.set_new_parameters(nil, nil, nil, nil, nil, nil, nil)
end
if @item_window.active
item2 = @item_window.item
last_hp = @actor.hp
last_sp = @actor.sp
@actor.equip(@right_window.index, item2 == nil ? 0 : item2.id)
new_atk = @actor.atk
new_pdef = @actor.pdef
new_mdef = @actor.mdef
new_str = @actor.str
new_dex = @actor.dex
new_agi = @actor.agi
new_int = @actor.int
@actor.equip(@right_window.index, item1 == nil ? 0 : item1.id)
@actor.hp = last_hp
@actor.sp = last_sp
@left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_str,
new_dex,new_agi,new_int)
end
end
def update
if @right_window.x > 272
@right_window.x -= 25
elsif @right_window.x <= 272
@right_window.x = 272
end
if @item_window.x > 272
@item_window.x -= 25
elsif @item_window.x <= 272
@item_window.x = 272
end
if @item_window.active == false
if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
@item_window.x = 640
end
end
if @left_window.x < 0
@left_window.x += 15
@left_window.contents_opacity += 10
elsif @left_window.x >= 0
@left_window.x = 0
@left_window.contents_opacity = 255
end
if @help_window.x < 0
@help_window.x += 20
@help_window.contents_opacity += 10
elsif @help_window.x >= 0
@help_window.x = 0
@help_window.contents_opacity = 255
end
@mnback.oy += 1 # was ox
@left_window.update
@right_window.update
@item_window.update
if Input.trigger?(Input:: B) or Input.trigger?(Input::C) or
Input.trigger?(Input.dir4) or Input.trigger?(Input::L) or
Input.trigger?(Input::R) or Input.press?(Input.dir4)
@help_window.x = -300
@help_window.contents_opacity = 0
refresh
end
if @right_window.active
update_right
return
end
if @item_window.active
update_item
return
end
end
def update_right
if Input.trigger?(Input:: B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(2)
return
end
if Input.trigger?(Input::C)
if @actor.equip_fix?(@right_window.index)
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
@right_window.active = false
@item_window.active = true
@item_window.index = 0
refresh
return
end
if Input.trigger?(Input::R)
$game_system.se_play($data_system.cursor_se)
@actor_index += 1
@actor_index %= $game_party.actors.size
$scene = Scene_Equip.new(@actor_index, @right_window.index)
return
end
if Input.trigger?(Input::L)
$game_system.se_play($data_system.cursor_se)
@actor_index += $game_party.actors.size - 1
@actor_index %= $game_party.actors.size
$scene = Scene_Equip.new(@actor_index, @right_window.index)
return
end
end
def update_item
if Input.trigger?(Input:: B)
$game_system.se_play($data_system.cancel_se)
@right_window.active = true
@item_window.active = false
@item_window.index = -1
refresh
return
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.equip_se)
item = @item_window.item
@actor.equip(@right_window.index, item == nil ? 0 : item.id)
@right_window.active = true
@item_window.active = false
@item_window.index = -1
@right_window.refresh
@item_window.refresh
refresh
return
end
end
end

 

 

 

Scene Item:

 


#_______________________________________________________________________________

# MOG Scene Item Laura V1.2
#_______________________________________________________________________________
# By Moghunter
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
#Transition Time.
MNIT = 20
#Transition Type(Name).
MNITT = "020-Flat01"
end
$mogscript = {} if $mogscript == nil
$mogscript["menu_laura"] = true
###############
# Window_Base #
###############
class Window_Base < Window
def nada
face = RPG::Cache.picture("")
end
def drw_face(actor,x,y)
face = RPG::Cache.picture(actor.name + "_fc") rescue nada
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_maphp3(actor, x, y)
back = RPG::Cache.picture("BAR0")
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_Bar")
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)
text = RPG::Cache.picture("HP_Tx")
cw = text.width
ch = text.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.hp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.hp.to_s, 2)
end
def draw_mapsp3(actor, x, y)
back = RPG::Cache.picture("BAR0")
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_Bar")
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)
text = RPG::Cache.picture("SP_Tx")
cw = text.width
ch = text.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.sp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.sp.to_s, 2)
end
def draw_mexp_it(actor, x, y)
lv_tx = RPG::Cache.picture("LV_tx")
cw = lv_tx.width
ch = lv_tx.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 60 , y - ch + 32, lv_tx, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 101, y + 5, 24, 32, actor.level.to_s, 1)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 100, y + 4, 24, 32, actor.level.to_s, 1)
end
def draw_actor_state_it(actor, x, y, width = 80)
text = make_battler_state_text(actor, width, true)
self.contents.font.color = actor.hp == 0 ? knockout_color : color.new(80, 220, 60, 255)
self.contents.draw_text(x, y, width, 32, text,1)
end
end
######################
# Window_Target_Item #
######################
class Window_Target_Item < Window_Selectable
def initialize
super(0, 130, 280, 300) #third was 280
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "OCR A Extended"
self.z += 10
@item_max = $game_party.actors.size
refresh
end
def refresh
self.contents.clear
for i in 0...$game_party.actors.size
x = 0 #was 4
y = i * 65
actor = $game_party.actors
drw_face(actor,x - 5,y + 55) # was only x
if $mogscript["TP_System"] == true
draw_actor_tp(actor, x + 160, y + 27 ,4)
else
draw_mexp_it(actor, x + 102, y + 25 )
end
draw_actor_state_it(actor, x + 156, y - 2 ) #was x + 165
draw_maphp3(actor, x + 12, y + 0) # 12s were 20s
draw_mapsp3(actor, x + 12, y + 32)
end
end
def update_cursor_rect
if @index <= -2
self.cursor_rect.set(-8, (@index + 12) * 65, self.width - 32, 60) #-10 was 0
elsif @index == -1
self.cursor_rect.set(-8, 2, self.width - 32, @item_max * 64 )
else
self.cursor_rect.set(-8, @index * 65 + 2, self.width - 32, 60)
end
end
end
############
# Type_Sel #
############
class Type_Sel < Window_Base
attr_reader :index
attr_reader :help_window
def initialize(x, y, width, height)
super(x, y, width, height)
@item_max = 1
@column_max = 1
@index = -1
end
def index=(index)
@index = index
end
def row_max
return (@item_max + @column_max - 1) / @column_max
end
def top_row
return self.oy / 32
end
def top_row=(row)
if row < 0
row = 0
end
if row > row_max - 1
row = row_max - 1
end
self.oy = row * 32
end
def page_row_max
return (self.height - 32) / 32
end
def page_item_max
return page_row_max * @column_max
end
def update
super
if self.active and @item_max > 0 and @index >= 0
if Input.repeat?(Input::RIGHT)
if (@column_max == 1 and Input.trigger?(Input::RIGHT)) or
@index < @item_max - @column_max
$game_system.se_play($data_system.cursor_se)
@index = (@index + @column_max) % @item_max
end
end
if Input.repeat?(Input::LEFT)
if (@column_max == 1 and Input.trigger?(Input::LEFT)) or
@index >= @column_max
$game_system.se_play($data_system.cursor_se)
@index = (@index - @column_max + @item_max) % @item_max
end
end
end
end
end
###############
# Window_Type #
###############
class Window_Type < Type_Sel
def initialize
super(0, 0, 0, 0)
@item_max = 3
self.index = 0
end
end
##################
# Window_Item_Ex #
##################
class Window_Item_Ex < Window_Selectable
def initialize
super(250, 50, 400, 350)#first was 250 third was 295
@column_max = 1
refresh
self.index = 0
if $game_temp.in_battle
self.y = 64
self.height = 256
self.back_opacity = 160
end
end
def item
return @data[self.index]
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for i in 1...$data_items.size
if $game_party.item_number(i) > 0
@data.push($data_items)
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
def draw_item(index)
item = @data[index]
case item
when RPG::Item
number = $game_party.item_number(item.id)
end
if item.is_a?(RPG::Item) and
$game_party.item_can_use?(item.id)
self.contents.font.color = menu_color
else
self.contents.font.color = disabled_color
end
x = 46 + index % 1 * (288 + 32) #first num was 4
y = index / 1 * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.font.name = "OCR A Extended"
bitmap = RPG::Cache.icon(item.icon_name)
opacity = self.contents.font.color == menu_color ? 255 : 128
self.contents.blt(x, y + 4, bitmap, Rect.new(46, 0, 24, 24), opacity) #first was 0
self.contents.draw_text(x + 28, y, 190, 32, item.name, 0)
self.contents.draw_text(x + 215, y, 16, 32, ":", 1)
self.contents.draw_text(x + 230, y, 24, 32, number.to_s, 2)
end
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end
#################
# Window_Weapon #
#################
class Window_Weapon < Window_Selectable
def initialize
super(250, 50, 400, 350)
@column_max = 1
refresh
self.index = 0
if $game_temp.in_battle
self.y = 64
self.height = 256
self.back_opacity = 160
end
end
def item
return @data[self.index]
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for i in 1...$data_weapons.size
if $game_party.weapon_number(i) > 0
@data.push($data_weapons)
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
def draw_item(index)
item = @data[index]
case item
when RPG::Weapon
number = $game_party.weapon_number(item.id)
end
if item.is_a?(RPG::Item) and
$game_party.item_can_use?(item.id)
self.contents.font.color = color.new(80, 220, 60, 255)
else
self.contents.font.color = disabled_color
end
x = 46 + index % 1 * (288 + 32)
y = index / 1 * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.font.name = "OCR A Extended"
bitmap = RPG::Cache.icon(item.icon_name)
opacity = self.contents.font.color == menu_color ? 255 : 128
self.contents.blt(x, y + 4, bitmap, Rect.new(46, 0, 24, 24), opacity)
self.contents.draw_text(x + 28, y, 190, 32, item.name, 0)
self.contents.draw_text(x + 215, y, 16, 32, ":", 1)
self.contents.draw_text(x + 230, y, 24, 32, number.to_s, 2)
end
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end
################
# Window_Armor #
################
class Window_Armor < Window_Selectable
def initialize
super(250, 50, 400, 350)
@column_max = 1
refresh
self.index = 0
if $game_temp.in_battle
self.y = 64
self.height = 256
self.back_opacity = 160
end
end
def item
return @data[self.index]
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for i in 1...$data_armors.size
if $game_party.armor_number(i) > 0
@data.push($data_armors)
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
def draw_item(index)
item = @data[index]
case item
when RPG::Armor
number = $game_party.armor_number(item.id)
end
if item.is_a?(RPG::Item) and
$game_party.item_can_use?(item.id)
self.contents.font.color = color.new(80, 220, 60, 255)
else
self.contents.font.color = disabled_color
end
x = 46 + index % 1 * (288 + 32)
y = index / 1 * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.font.name = "OCR A Extended"
bitmap = RPG::Cache.icon(item.icon_name)
opacity = self.contents.font.color == menu_color ? 255 : 128
self.contents.blt(x, y + 4, bitmap, Rect.new(46, 0, 24, 24), opacity)
self.contents.draw_text(x + 28, y, 190, 32, item.name, 0)
self.contents.draw_text(x + 215, y, 16, 32, ":", 1)
self.contents.draw_text(x + 230, y, 24, 32, number.to_s, 2)
end
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end
##############
# Scene_Item #
##############
class Scene_Item
def main
@back = Plane.new
@back.bitmap = RPG::Cache.picture("MN_BK_FILE")
@back.z = 100
@item_lay = Sprite.new
@item_lay.bitmap = RPG::Cache.picture("Item_lay")
@item_lay.z = 100
@item_com = Sprite.new
@item_com.bitmap = RPG::Cache.picture("Item_com01")
@item_com.z = 100
@type = Window_Type.new
@type.opacity = 0
@type.visible = false
@help_window = Window_Help.new
@help_window.y = 405
@item_window = Window_Item_Ex.new
@item_window.help_window = @help_window
@item_window.visible = true
@item_window.active = true
@weapon_window = Window_Weapon.new
@weapon_window.help_window = @help_window
@weapon_window.visible = false
@weapon_window.active = true
@armor_window = Window_Armor.new
@armor_window.help_window = @help_window
@armor_window.visible = false
@armor_window.active = true
@target_window = Window_Target_Item.new
@target_window.x = -300
@target_window.active = false
@help_window.opacity = 0
@help_window.x = -200
@help_window.contents_opacity = 0
@item_window.opacity = 0
@weapon_window.opacity = 0
@armor_window.opacity = 0
@target_window.opacity = 0
@weapon_window.x = 640
@armor_window.x = 640
@item_window.x = 640
@weapon_window.contents_opacity = 0
@armor_window.contents_opacity = 0
@item_window.contents_opacity = 0
Graphics.transition(MOG::MNIT, "Graphics/Transitions/" + MOG::MNITT)
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
for i in 0..30
@weapon_window.x += 20
@armor_window.x += 20
@item_window.x += 20
@weapon_window.contents_opacity -= 15
@armor_window.contents_opacity -= 15
@item_window.contents_opacity -= 15
@item_lay.zoom_x += 0.2
@item_lay.opacity -= 15
@item_com.zoom_y += 0.2
@item_com.opacity -= 15
@target_window.x -= 15
@help_window.contents_opacity -= 15
@back.opacity -= 255 #new line
@back.oy -= 1
Graphics.update
end
Graphics.freeze
@help_window.dispose
@item_window.dispose
@weapon_window.dispose
@armor_window.dispose
@target_window.dispose
@item_lay.dispose
@back.dispose
@item_com.dispose
@type.dispose
end
def update
if @target_window.active == true
@target_window.visible = true
if @target_window.x < 0
@target_window.x += 20
elsif @target_window.x >= 0
@target_window.x = 0
end
else
if @target_window.x > -300
@target_window.x -= 20
elsif @target_window.x >= -300
@target_window.x = -300
@target_window.visible = false
end
end
if @help_window.x < 0
@help_window.x += 10
@help_window.contents_opacity += 15
elsif @help_window.x >= 0
@help_window.x = 0
@help_window.contents_opacity = 255
end
if @item_window.x > 250
@weapon_window.x -= 20
@armor_window.x -= 20
@item_window.x -= 20
@weapon_window.contents_opacity += 15
@armor_window.contents_opacity += 15
@item_window.contents_opacity += 15
elsif @item_window.x <= 250
@weapon_window.x = 250
@armor_window.x = 250
@item_window.x = 250
@weapon_window.contents_opacity = 250
@armor_window.contents_opacity = 250
@item_window.contents_opacity = 250
end
if @target_window.active == false
if Input.trigger?(Input::RIGHT) or Input.trigger?(Input::LEFT) or
Input.press?(Input::RIGHT) or Input.press?(Input::LEFT)
@weapon_window.x = 640
@armor_window.x = 640
@item_window.x = 640
@weapon_window.contents_opacity = 0
@armor_window.contents_opacity = 0
@item_window.contents_opacity = 0
end
if Input.trigger?(Input.dir4) or Input.trigger?(Input.dir4) or
Input.trigger?(Input::L) or Input.trigger?(Input::R)
@help_window.x = -200
@help_window.contents_opacity = 0
end
end
@back.oy -= 1
@help_window.update
@item_window.update
@weapon_window.update
@armor_window.update
@target_window.update
@type.update
case @type.index
when 0
@item_com.bitmap = RPG::Cache.picture("Item_com01")
if @target_window.active == true
update_target
@item_window.active = false
@type.active = false
return
else
@item_window.active = true
@type.active = true
end
@weapon_window.active = false
@armor_window.active = false
@item_window.visible = true
@weapon_window.visible = false
@armor_window.visible = false
when 1
@item_com.bitmap = RPG::Cache.picture("Item_com02")
@item_window.active = false
@weapon_window.active = true
@armor_window.active = false
@item_window.visible = false
@weapon_window.visible = true
@armor_window.visible = false
when 2
@item_com.bitmap = RPG::Cache.picture("Item_com03")
@item_window.active = false
@weapon_window.active = false
@armor_window.active = true
@item_window.visible = false
@weapon_window.visible = false
@armor_window.visible = true
end
if @item_window.active
update_item
return
end
if @weapon_window.active
update_weapon
return
end
if @armor_window.active
update_armor
return
end
end
def update_weapon
if Input.trigger?(Input:: B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(0)
return
end
end
def update_armor
if Input.trigger?(Input:: B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(0)
return
end
end
def update_item
if Input.trigger?(Input:: B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(0)
return
end
if Input.trigger?(Input::C)
@item = @item_window.item
unless @item.is_a?(RPG::Item)
$game_system.se_play($data_system.buzzer_se)
return
end
unless $game_party.item_can_use?(@item.id)
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
if @item.scope >= 3
@item_window.active = false
@target_window.x = (@item_window.index + 1) % 1 * 304
@target_window.active = true
@target_window.x = -350
if @item.scope == 4 || @item.scope == 6
@target_window.index = -1
else
@target_window.index = 0
end
else
if @item.common_event_id > 0
$game_temp.common_event_id = @item.common_event_id
$game_system.se_play(@item.menu_se)
if @item.consumable
$game_party.lose_item(@item.id, 1)
@item_window.draw_item(@item_window.index)
end
$scene = Scene_Map.new
return
end
end
return
end
end
def update_target
if Input.trigger?(Input:: B)
$game_system.se_play($data_system.cancel_se)
unless $game_party.item_can_use?(@item.id)
@item_window.refresh
end
@item_window.active = true
@target_window.active = false
return
end
if Input.trigger?(Input::C)
if $game_party.item_number(@item.id) == 0
$game_system.se_play($data_system.buzzer_se)
return
end
if @target_window.index == -1
used = false
for i in $game_party.actors
used |= i.item_effect(@item)
end
end
if @target_window.index >= 0
target = $game_party.actors[@target_window.index]
used = target.item_effect(@item)
end
if used
$game_system.se_play(@item.menu_se)
if @item.consumable
$game_party.lose_item(@item.id, 1)
@item_window.draw_item(@item_window.index)
end
@target_window.refresh
if $game_party.all_dead?
$scene = Scene_Gameover.new
return
end
if @item.common_event_id > 0
$game_temp.common_event_id = @item.common_event_id
$scene = Scene_Map.new
return
end
end
unless used
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
end

 

 

 

Scene Menu:

 


#_______________________________________________________________________________

# MOG Scene Menu Itigo V1.2
#_______________________________________________________________________________
# By Moghunter
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
#Transition Time.
MNTT = 20
#Transition Type (Name)
MNTP = "Aztec"
end
$mogscript = {} if $mogscript == nil
$mogscript["menu_itigo"] = true
##############
# 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 nada
face = RPG::Cache.picture("")
end
def drw_face(actor,x,y)
face = RPG::Cache.picture(actor.name + "_fc") rescue nada
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_maphp3(actor, x, y)
back = RPG::Cache.picture("BAR0")
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_Bar")
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)
text = RPG::Cache.picture("HP_Tx")
cw = text.width
ch = text.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect) #25 was 35
self.contents.font.color = Color.new(80,220,60,255)
self.contents.draw_text(x + 60, y - 1, 48, 32, actor.hp + "/" + actor.maxhp, 2) #75 was 81
self.contents.font.color = Color.new(80, 220, 60, 0)
self.contents.draw_text(x + 60, y - 2, 48, 32, actor.hp.to_s + "/" + actor.maxhp.to_s, 2)
end
def draw_mapsp3(actor, x, y)
back = RPG::Cache.picture("BAR0")
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_Bar")
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)
text = RPG::Cache.picture("SP_Tx")
cw = text.width + 10
ch = text.height + 10
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect) #was text
self.contents.font.color = Color.new(80,220,60,255)
self.contents.draw_text(x + 60, y - 1, 48, 32, actor.sp.to_s, 2)
self.contents.font.color = Color.new(80, 220, 60, 0)
self.contents.draw_text(x + 60, y - 2, 48, 32, actor.sp.to_s, 2)
end
def draw_mexp2(actor, x, y)
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)
if actor.next_exp != 0
rate = actor.now_exp.to_f / actor.next_exp
else
rate = 1
end
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)
exp_tx = RPG::Cache.picture("Exp_tx")
cw = exp_tx.width
ch = exp_tx.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 55 , y - ch + 30, exp_tx, src_rect)
lv_tx = RPG::Cache.picture("LV_tx")
cw = lv_tx.width
ch = lv_tx.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 125 , y - ch + 35, lv_tx, src_rect)
self.contents.font.color = Color.new(80,220,60,255)
self.contents.draw_text(x + 161, y + 7, 24, 32, actor.level.to_s, 2)
self.contents.font.color = Color.new(80, 220, 60, 0)
self.contents.draw_text(x + 160, y + 6, 24, 32, actor.level.to_s, 2)
end
def draw_actor_state2(actor, x, y, width = 80)
text = make_battler_state_text(actor, width, true)
self.contents.font.color = actor.hp == 0 ? Color.new(80,220,60,255) : Color.new(80,220,60,255)
self.contents.draw_text(x, y, width, 32, text,2)
end
end
######################
# Window_MenuStatus2 #
######################
class Window_MenuStatus2 < Window_Selectable
def initialize
super(0, 0, 415, 280)
self.contents = Bitmap.new(width - 32, height - 32) #(width - 32, height - 32)
refresh
self.active = false
self.opacity = 0
self.index = -1
end
def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = 20
y = i * 62
actor = $game_party.actors
self.contents.font.name = "OCR A Extended"
self.contents.font.size = 22
self.contents.font.color = Color.new(80,220,60,255)
if $mogscript["TP_System"] == true
draw_actor_tp(actor ,x + 285, y - 5,4)
draw_actor_state2(actor ,x + 190, y - 5)
else
draw_actor_state2(actor ,x + 220, y - 5)
end
drw_face(actor,x,y + 50)
draw_maphp3(actor,x + 40, y - 5)
draw_mapsp3(actor,x + 40, y + 20 )
draw_mexp2(actor,x + 140, y + 15 )
end
end
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(20, @index * 62, self.width - 59, 50) #was - 32, first was 5
end
end
end
################
# Window_Gold2 #
################
class Window_Gold2 < Window_Base
def initialize
super(0, 0, 160, 64)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
cx = contents.text_size($data_system.words.gold).width #was ($data_system.words.gold)
self.contents.font.name = "OCR A Extended" #new
self.contents.font.size = 20 #new
self.contents.font.color = Color.new(80, 220, 60, 255) #normal_color
self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2) # THE 1 WAS A 4
self.contents.font.color = Color.new(80, 220, 60, 255)
#self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2)
end
end
####################
# Window_PlayTime2 #
####################
class Window_PlayTime2 < Window_Base
def initialize
super(0, 0, 160, 96)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
text = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.name = "OCR A Extended" #new
self.contents.font.size = 20 #new
self.contents.font.color = Color.new(80, 220, 60, 255) #normal_color
self.contents.draw_text(4, 32, 120, 32, text, 2)
end
def update
super
if Graphics.frame_count / Graphics.frame_rate != @total_sec
refresh
end
end
end
#################
# Window_Steps2 #
#################
class Window_Steps2 < Window_Base
def initialize
super(0, 0, 160, 96)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.name = "OCR A Extended" #new
self.contents.font.size = 20 #new
self.contents.font.color = Color.new(80, 220, 60, 255) #normal_color
self.contents.draw_text(4, 32, 120, 32, $game_party.steps.to_s, 2) #LAST # IS JUSTIFICATION
end
end
##############
# Scene_Menu #
##############
class Scene_Menu
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
s1 = ""
s2 = ""
s3 = ""
s4 = ""
s5 = ""
s6 = ""
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
@command_window.visible = false
@command_window.x = -640
@mnlay = Sprite.new
@mnlay.bitmap = RPG::Cache.picture("Mn_lay")
@mnlay.z = 10
@mnback = Plane.new
@mnback.bitmap = RPG::Cache.picture("Mn_back")
@mnback.blend_type = 0
@mnback.z = 5
@mnback2 = Plane.new
@mnback2.bitmap = RPG::Cache.picture("Mn_back")
@mnback2.blend_type = 0
@mnback2.z = 5
@mnback2.opacity = 0 #make higher to enable second scroling background
@mnsel = Sprite.new
@mnsel.bitmap = RPG::Cache.picture("Mn_Sel")
@mnsel.z = 20
@mnsel.x = 0
@mnsel.y = 110
@mnop = 150
if $game_system.save_disabled
@command_window.disable_item(4)
end
@playtime_window = Window_PlayTime2.new
@playtime_window.x = 202
@playtime_window.y = 373
@playtime_window.opacity = 0
@playtime_window.z = 15
@steps_window = Window_Steps2.new
@steps_window.x = 330
@steps_window.y = 373
@steps_window.opacity = 0
@steps_window.z = 15
@gold_window = Window_Gold2.new
@gold_window.x = 510
@gold_window.y = 406
@gold_window.opacity = 0
@gold_window.z = 15
@status_window = Window_MenuStatus2.new
@status_window.x = 195
@status_window.y = 110
@status_window.opacity = 0
@status_window.z = 15
Graphics.transition(MOG::MNTT, "Graphics/Transitions/" + MOG::MNTP)
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@playtime_window.dispose
@steps_window.dispose
@gold_window.dispose
@status_window.dispose
@mnlay.dispose
@mnback.dispose
@mnback2.dispose
@mnsel.dispose
Graphics.update
end
def update
@command_window.update
@playtime_window.update
@steps_window.update
@gold_window.update
@status_window.update
@mnback.oy += 1 #adjust for vertical crawl of background
@mnback.ox += 0
@mnback2.oy += 2
@mnback2.ox -= 0
@mnop += 5
if @command_window.active == true
@mnsel.bitmap = RPG::Cache.picture("Mn_Sel")
else
@mnsel.bitmap = RPG::Cache.picture("Mn_Sel_off")
@mnsel.zoom_x = 1
@mnsel.opacity = 255
end
if @mnop >= 254 #original 255
@mnop = 120
end
#if @command_window.active
#update_command
#return
#end
if @status_window.active
update_status
return
end
#end
#def update_command
#if @mnop <= 255
#@mnsel.zoom_x += 0.00
#@mnop += 10
#elsif @mnop > 255
#@mnsel.zoom_x = 1.0
#@mnop = 120
#end
case @command_window.index
when 0
@mnsel.x = 6 #cursor locations
@mnsel.y = 52
when 1
@mnsel.x = 47
@mnsel.y = 115
when 2
@mnsel.x = 88
@mnsel.y = 178
when 3
@mnsel.x = 88
@mnsel.y = 246
when 4
@mnsel.x = 47
@mnsel.y = 313
when 5
@mnsel.x = 6
@mnsel.y = 376
end
if Input.trigger?(Input:: B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
$scene = Scene_Item.new
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 4
if $game_system.save_disabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Save.new
when 5
$game_system.se_play($data_system.decision_se)
$scene = Scene_End.new
end
return
end
end
def update_status
if Input.trigger?(Input:: B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Skill.new(@status_window.index)
when 2
$game_system.se_play($data_system.decision_se)
$scene = Scene_Equip.new(@status_window.index)
when 3
$game_system.se_play($data_system.decision_se)
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end

 

 

 

Scene Shop:

 


#_______________________________________________________________________________

# MOG Scene Shop Felicia V1.4
#_______________________________________________________________________________
# By Moghunter
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
#Transition Time.
MNSHPT= 30
#Transition Type (Name)
MNSHPTT= "020-Flat01"
end
$mogscript = {} if $mogscript == nil
$mogscript["menu_shop"] = true
###############
# Window_Base #
###############
class Window_Base < Window
def draw_item_name_ex(item, x, y)
if item == nil
return
end
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
self.contents.font.color = normal_color
self.contents.draw_text(x + 28, y, 150, 32, item.name)
end
def nada
face = RPG::Cache.picture("")
end
def drw_face(actor,x,y)
face = RPG::Cache.picture(actor.name + "_fc") rescue nada
cw = face.width
ch = face.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch, face, src_rect) #was no -3 to begin
end
end
################
# Win_Shop_Sel #
################
class Win_Shop_Sel < Window_Base
attr_reader :index
def initialize(x, y, width, height)
super(x, y, width, height)
@item_max = 1
@column_max = 1
@index = -1
end
def index=(index)
@index = index
update_cursor_rect
end
def row_max
return (@item_max + @column_max - 1) / @column_max
end
def top_row
return self.oy / 32
end
def top_row=(row)
if row < 0
row = 0
end
if row > row_max - 1
row = row_max - 1
end
self.oy = row * 32
end
def page_row_max
return (self.height - 32) / 32
end
def page_item_max
return page_row_max * @column_max
end
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
return
end
row = @index / @column_max
if row < self.top_row
self.top_row = row
end
if row > self.top_row + (self.page_row_max - 1)
self.top_row = row - (self.page_row_max - 1)
end
cursor_width = self.width / @column_max - 32
x = @index % @column_max * 80
y = @index / @column_max * 32 - self.oy
self.cursor_rect.set(x, y, 32, 32)
end
def update
super
if self.active and @item_max > 0 and @index >= 0
if Input.repeat?(Input::RIGHT)
if @column_max >= 2 and @index < @item_max - 1
$game_system.se_play($data_system.cursor_se)
@index += 1
end
end
if Input.repeat?(Input::LEFT)
if @column_max >= 2 and @index > 0
$game_system.se_play($data_system.cursor_se)
@index -= 1
end
end
end
update_cursor_rect
end
end
######################
# Window_ShopCommand #
######################
class Window_ShopCommand < Win_Shop_Sel
def initialize
super(58, 68, 230, 64)
self.contents = Bitmap.new(width - 32, height - 32)
@item_max = 3
@column_max = 3
@commands = ["", "", ""]
self.index = 0
end
end
##################
# Window_ShopBuy #
##################
class Window_ShopBuy < Window_Selectable
def initialize(shop_goods)
super(-10, 180, 310, 225)
@shop_goods = shop_goods
refresh
self.index = 0
end
def item
return @data[self.index]
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for goods_item in @shop_goods
case goods_item[0]
when 0
item = $data_items[goods_item[1]]
when 1
item = $data_weapons[goods_item[1]]
when 2
item = $data_armors[goods_item[1]]
end
if item != nil
@data.push(item)
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
def draw_item(index)
self.contents.font.name = "OCR A Extended"
self.contents.font.bold = false
self.contents.font.size = 16 #########################
item = @data[index]
case item
when RPG::Item
number = $game_party.item_number(item.id)
when RPG::Weapon
number = $game_party.weapon_number(item.id)
when RPG::Armor
number = $game_party.armor_number(item.id)
end
x = 4
y = index * 32
if item.price <= $game_party.gold and number < 99
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
rect = Rect.new(x, y, self.width - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
bitmap = RPG::Cache.icon(item.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(x + 28, y, 150, 32, item.name, 0)
self.contents.font.color = Color.new(50,250,150,255)
self.contents.draw_text(x + 120, y, 88, 32, "", 1)
if item.price <= $game_party.gold
if number < 99
self.contents.font.color = Color.new(200,200,50,255)
else
self.contents.font.color = disabled_color
end
else
self.contents.font.color = Color.new(250,100,50,255)
end
self.contents.draw_text(x + 180, y, 88, 32, item.price.to_s, 2)
end
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end
###################
# Window_ShopSell #
###################
class Window_ShopSell < Window_Selectable
def initialize
super(-10, 180, 305, 225)
@column_max = 1
refresh
self.index = 0
end
def item
return @data[self.index]
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for i in 1...$data_items.size
if $game_party.item_number(i) > 0
@data.push($data_items)
end
end
for i in 1...$data_weapons.size
if $game_party.weapon_number(i) > 0
@data.push($data_weapons)
end
end
for i in 1...$data_armors.size
if $game_party.armor_number(i) > 0
@data.push($data_armors)
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
def draw_item(index)
item = @data[index]
case item
when RPG::Item
number = $game_party.item_number(item.id)
when RPG::Weapon
number = $game_party.weapon_number(item.id)
when RPG::Armor
number = $game_party.armor_number(item.id)
end
if item.price > 0
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
self.contents.font.name = "OCR A Extended"
self.contents.font.size = 16 ################################
x = 4 + index % 1 * (288 + 32)
y = index / 1 * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
bitmap = RPG::Cache.icon(item.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(x + 28, y, 150, 32, item.name, 0)

self.contents.draw_text(x + 230, y, 16, 32, ":", 1)
self.contents.draw_text(x + 240, y, 24, 32, number.to_s, 2)
end
def update_help
@help_window.set_text(self.item == nil ? "" : self.item.description)
end
end
#####################
# Window_ShopNumber #
#####################
class Window_ShopNumber < Window_Base
def initialize
super(-10, 180, 310, 225)
self.contents = Bitmap.new(width - 32, height - 32)
@item = nil
@max = 1
@price = 0
@number = 1
end
def set(item, max, price)
@item = item
@max = max
@price = price
@number = 1
refresh
end
def number
return @number
end
def refresh
self.contents.clear
self.contents.font.name = "OCR A Extended"
self.contents.font.bold = true
self.contents.font.size = 16 ################################
draw_item_name_ex(@item, 4, 66)
self.contents.font.color = Color.new(80,220,60,255)
self.contents.draw_text(185, 66, 32, 32, "x")
self.contents.font.color = normal_color
self.contents.draw_text(208, 66, 24, 32, @number.to_s, 2)
self.cursor_rect.set(304, 66, 32, 32)
total_price = @price * @number
cx = contents.text_size("Coin").width
self.contents.font.color = Color.new(80,220,60,255)
self.contents.draw_text(4, 160, 228-2, 32, total_price.to_s, 2)
self.contents.font.color = Color.new(80,220,60,255)
self.contents.draw_text(86, 160, 88, 32, "Coin", 1)
end
def update
super
if self.active
if Input.repeat?(Input::RIGHT) and @number < @max
$game_system.se_play($data_system.cursor_se)
@number += 1
refresh
end
if Input.repeat?(Input::LEFT) and @number > 1
$game_system.se_play($data_system.cursor_se)
@number -= 1
refresh
end
if Input.repeat?(Input::UP) and @number < @max
$game_system.se_play($data_system.cursor_se)
@number = [@number + 10, @max].min
refresh
end
if Input.repeat?(Input::DOWN) and @number > 1
$game_system.se_play($data_system.cursor_se)
@number = [@number - 10, 1].max
refresh
end
end
end
end
#####################
# Window_ShopStatus #
#####################
class Window_ShopStatus < Window_Base
def initialize
super(290, 80, 640, 480) #was 300, 128, 350, 300
self.contents = Bitmap.new(width - 32, height - 32)
@item = nil
refresh
end
def refresh
self.contents.clear
self.contents.font.name = "OCR A Extended"
self.contents.font.size = 16 ################################
if @item == nil
return
end
if $mogscript["Item_Limit"] == true
case @item
when RPG::Item
number = $game_party.item_number(@item.id)
item_max = MOG::ITEM_LIMIT[@item.id]
when RPG::Weapon
number = $game_party.weapon_number(@item.id)
item_max = MOG::WEAPON_LIMIT[@item.id]
when RPG::Armor
number = $game_party.armor_number(@item.id)
item_max = MOG::ARMOR_LIMIT[@item.id]
end
self.contents.font.color = system_color
self.contents.draw_text(206, 0, 200, 32, "Stock") #-50 was 0
self.contents.font.color = system_color
if item_max != nil
self.contents.draw_text(300, 0, 80, 32, number.to_s + " / " + item_max.to_s, 2)
else
max_limit = MOG::DEFAULT_LIMIT
self.contents.draw_text(300, 0, 80, 32, number.to_s + " / " + max_limit.to_s, 2)
end
else
case @item
when RPG::Item
number = $game_party.item_number(@item.id)
when RPG::Weapon
number = $game_party.weapon_number(@item.id)
when RPG::Armor
number = $game_party.armor_number(@item.id)
end
self.contents.font.color = system_color
self.contents.draw_text(231, 0, 200, 32, "In Stock")
self.contents.font.color = system_color
self.contents.draw_text(192, 0, 32, 32, number.to_s, 2)
end
if @item.is_a?(RPG::Item)
return
end
for i in 0...$game_party.actors.size
actor = $game_party.actors
if actor.equippable?(@item)
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
self.contents.draw_text(145, y - 30, 100, 32, "", 2) #was "Equipped"
drw_face(actor,0 ,80 + 64 * i)
if @item.is_a?(RPG::Weapon)
item1 = $data_weapons[actor.weapon_id]
elsif @item.kind == 0
item1 = $data_armors[actor.armor1_id]
elsif @item.kind == 1
item1 = $data_armors[actor.armor2_id]
elsif @item.kind == 2
item1 = $data_armors[actor.armor3_id]
else
item1 = $data_armors[actor.armor4_id]
end
if actor.equippable?(@item)
if @item.is_a?(RPG::Weapon)
atk1 = item1 != nil ? item1.atk : 0
atk2 = @item != nil ? @item.atk : 0
pdef1 = item1 != nil ? item1.pdef : 0
mdef1 = item1 != nil ? item1.mdef : 0
pdef2 = @item != nil ? @item.pdef : 0
mdef2 = @item != nil ? @item.mdef : 0
self.contents.draw_text(-10, 59 + 64 * i, 112, 32,"Attack", 2)
self.contents.draw_text(85, 59 + 64 * i, 112, 32,"Defense", 2)
self.contents.draw_text(182, 59 + 64 * i, 112, 32,"MagDef", 2)
change = atk2 - atk1
change2 = pdef2 - pdef1
change3 = mdef2 - mdef1
if atk2 > atk1
self.contents.font.color = Color.new(50,250,150,255)
elsif atk2 == atk1
self.contents.font.color = disabled_color
else
self.contents.font.color = Color.new(250,100,50,255)
end
self.contents.draw_text(21, 59 + 64 * i, 112, 32,sprintf("%d", change), 2)
if pdef2 > pdef1
self.contents.font.color = Color.new(50,250,150,255)
elsif pdef2 == pdef1
self.contents.font.color = disabled_color
else
self.contents.font.color = Color.new(250,100,50,255)
end
self.contents.draw_text(119, 59 + 64 * i, 112, 32,sprintf("%d", change2), 2)
if mdef2 > mdef1
self.contents.font.color = Color.new(50,250,150,255)
elsif mdef2 == mdef1
self.contents.font.color = disabled_color
else
self.contents.font.color = Color.new(250,100,50,255)
end
self.contents.draw_text(214, 59 + 64 * i, 112, 32,sprintf("%d", change3), 2)
end
if @item.is_a?(RPG::Armor)
pdef1 = item1 != nil ? item1.pdef : 0
mdef1 = item1 != nil ? item1.mdef : 0
eva1 = item1 != nil ? item1.eva : 0
pdef2 = @item != nil ? @item.pdef : 0
mdef2 = @item != nil ? @item.mdef : 0
eva2 = @item != nil ? @item.eva : 0
change = pdef2 - pdef1
change2 = mdef2 - mdef1
change3 = eva2 - eva1
self.contents.draw_text(0, 59 + 64 * i, 112, 32,"Defense", 2)
self.contents.draw_text(96, 59 + 64 * i, 112, 32,"MagDef", 2)
self.contents.draw_text(181, 59 + 64 * i, 112, 32,"Dodge", 2)
if pdef2 > pdef1
self.contents.font.color = Color.new(50,250,150,255)
elsif pdef2 == pdef1
self.contents.font.color = disabled_color
else
self.contents.font.color = Color.new(250,100,50,255)
end
self.contents.draw_text(33, 59 + 64 * i, 112, 32,sprintf("%d", change), 2)

if mdef2 > mdef1
self.contents.font.color = Color.new(50,250,150,255)
elsif mdef2 == mdef1
self.contents.font.color = disabled_color
else
self.contents.font.color = Color.new(250,100,50,255)
end
self.contents.draw_text(130, 59 + 64 * i, 112, 32,sprintf("%d", change2), 2)
if eva2 > eva1
self.contents.font.color = Color.new(50,250,150,255)
elsif eva2 == eva1
self.contents.font.color = disabled_color
else
self.contents.font.color = Color.new(250,100,50,255)
end
self.contents.draw_text(214, 59 + 64 * i, 112, 32,sprintf("%d", change3), 2)
end
end
if item1 != nil
if actor.equippable?(@item)
self.contents.font.color = normal_color
else
self.contents.font.color = disabled_color
end
x = 4
y = 64 + 64 * i
bitmap = RPG::Cache.icon(item1.icon_name)
opacity = self.contents.font.color == normal_color ? 255 : 128
self.contents.blt(x + 50, y - 25, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(x + 75, y - 30, 212, 32, item1.name)
end
end
end
def item=(item)
if @item != item
@item = item
refresh
end
end
end
##############
# Scene_Shop #
##############
class Scene_Shop
def main
@mshop_back = Plane.new
@mshop_back.bitmap = RPG::Cache.picture("MN_BK_BLUE")
@mshop_back.z = 10
@mshop_lay = Sprite.new
@mshop_lay.bitmap = RPG::Cache.picture("Shop_Lay")
@mshop_lay.z = 15
@mshop_com = Sprite.new
@mshop_com.bitmap = RPG::Cache.picture("Shop_Com01")
@mshop_com.z = 20
@help_window = Window_Help.new
@help_window.contents.font.name = "OCR A Extended"
@help_window.contents.font.size = 20 ################################
@help_window.y = 413
@command_window = Window_ShopCommand.new
@command_window.visible = false
@gold_window = Window_Gold.new
@gold_window.x = 460
@gold_window.y = +1
@dummy_window = Window_Base.new(0, 128, 640, 352)
@buy_window = Window_ShopBuy.new($game_temp.shop_goods)
@buy_window.active = false
@buy_window.visible = false
@buy_window.help_window = @help_window
@sell_window = Window_ShopSell.new
@sell_window.active = false
@sell_window.visible = false
@sell_window.help_window = @help_window
@number_window = Window_ShopNumber.new
@number_window.active = false
@number_window.visible = false
@status_window = Window_ShopStatus.new
@status_window.visible = false
@help_window.opacity = 0
@status_window.opacity = 0
@sell_window.opacity = 0
@buy_window.opacity = 0
@gold_window.opacity = 0
@command_window.opacity = 0
@number_window.opacity = 0
@dummy_window.opacity = 0
Graphics.transition(MOG::MNSHPT, "Graphics/Transitions/" + MOG::MNSHPTT)
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
for i in 0..30
@mshop_back.oy -= 1
@mshop_back.opacity -= 255
@help_window.x -= 15
@gold_window.x += 15
@mshop_lay.zoom_x += 0.1
@mshop_lay.opacity -= 10
@command_window.x -= 15
@mshop_com.x -= 15
@buy_window.x -= 20
@sell_window.x -= 20
Graphics.update
end
Graphics.freeze
@help_window.dispose
@command_window.dispose
@gold_window.dispose
@dummy_window.dispose
@buy_window.dispose
@sell_window.dispose
@number_window.dispose
@status_window.dispose
@mshop_back.dispose
@mshop_lay.dispose
@mshop_com.dispose
end
def update
@mshop_back.oy -= 1
if @help_window.x < 0
@help_window.x += 10
@help_window.contents_opacity += 10
elsif @help_window.x >= 0
@help_window.x = 0
@help_window.contents_opacity = 255
end
if @sell_window.active == true
@sell_window.visible = true
if @sell_window.x < -10
@sell_window.x += 15
@sell_window.contents_opacity += 10
elsif @sell_window.x >= -10
@sell_window.x = -10
@sell_window.contents_opacity = 255
end
else
if @sell_window.x > -300
@sell_window.x -= 15
@sell_window.contents_opacity -= 10
elsif @sell_window.x <= -300
@sell_window.x = -300
@sell_window.contents_opacity = 0
@sell_window.visible = false
end
end
if @buy_window.active == true
@buy_window.visible = true
if @buy_window.x < -10
@buy_window.x += 15
@buy_window.contents_opacity += 10
elsif @buy_window.x >= -10
@buy_window.x = -10
@buy_window.contents_opacity = 255
end
else
if @buy_window.x > -300
@buy_window.x -= 15
@buy_window.contents_opacity -= 10
elsif @buy_window.x <= -300
@buy_window.x = -300
@buy_window.contents_opacity = 0
@buy_window.visible = false
end
end
if @number_window.active == true
@number_window.visible = true
if @number_window.x < -10
@number_window.x += 15
@number_window.contents_opacity += 10
elsif @number_window.x >= -10
@number_window.x = -10
@number_window.contents_opacity = 255
end
else
if @number_window.x > -300
@number_window.x -= 15
@number_window.contents_opacity -= 10
elsif @number_window.x <= -300
@number_window.x = -300
@number_window.contents_opacity = 0
@number_window.visible = false
end
end
if @number_window.active == false
if Input.trigger?(Input.dir4) or Input.trigger?(Input::C) or
Input.trigger?(Input::L) or Input.trigger?(Input::R)
@help_window.x = -200
@help_window.contents_opacity = 0
end
end
@help_window.update
@command_window.update
@gold_window.update
@dummy_window.update
@buy_window.update
@sell_window.update
@number_window.update
@status_window.update
case @command_window.index
when 0
@mshop_com.bitmap = RPG::Cache.picture("Shop_Com01")
when 1
@mshop_com.bitmap = RPG::Cache.picture("Shop_Com02")
when 2
@mshop_com.bitmap = RPG::Cache.picture("Shop_Com03")
end
if @command_window.active
update_command
return
end
if @buy_window.active
update_buy
return
end
if @sell_window.active
update_sell
return
end
if @number_window.active
update_number
return
end
end
def update_command
if Input.trigger?(Input:: B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@dummy_window.visible = false
@buy_window.active = true
@buy_window.refresh
@status_window.visible = true
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@dummy_window.visible = false
@sell_window.active = true
@sell_window.refresh
when 2
$game_system.se_play($data_system.decision_se)
$scene = Scene_Map.new
end
return
end
end
def update_buy
@status_window.item = @buy_window.item
if Input.trigger?(Input:: B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@dummy_window.visible = true
@buy_window.active = false
@status_window.visible = false
@status_window.item = nil
@help_window.set_text("")
return
end
if Input.trigger?(Input::C)
@item = @buy_window.item
if @item == nil or @item.price > $game_party.gold
$game_system.se_play($data_system.buzzer_se)
return
end
case @item
when RPG::Item
number = $game_party.item_number(@item.id)
when RPG::Weapon
number = $game_party.weapon_number(@item.id)
when RPG::Armor
number = $game_party.armor_number(@item.id)
end
if number == 99
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
max = @item.price == 0 ? 99 : $game_party.gold / @item.price
max = [max, 99 - number].min
@buy_window.active = false
@number_window.set(@item, max, @item.price)
@number_window.active = true
end
end
def update_sell
@status_window.item = @sell_window.item
@status_window.visible = true
if Input.trigger?(Input:: B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@dummy_window.visible = true
@sell_window.active = false
@status_window.item = nil
@help_window.set_text("")
return
end
if Input.trigger?(Input::C)
@item = @sell_window.item
@status_window.item = @item
if @item == nil or @item.price == 0
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
case @item
when RPG::Item
number = $game_party.item_number(@item.id)
when RPG::Weapon
number = $game_party.weapon_number(@item.id)
when RPG::Armor
number = $game_party.armor_number(@item.id)
end
max = number
@sell_window.active = false
@number_window.set(@item, max, @item.price / 2)
@number_window.active = true
@status_window.visible = true
end
end
def update_number
if Input.trigger?(Input:: B)
$game_system.se_play($data_system.cancel_se)
@number_window.active = false
case @command_window.index
when 0
@buy_window.active = true
when 1
@sell_window.active = true
@status_window.visible = false
end
return
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.shop_se)
@number_window.active = false
case @command_window.index
when 0
$game_party.lose_gold(@number_window.number * @item.price)
case @item
when RPG::Item
$game_party.gain_item(@item.id, @number_window.number)
when RPG::Weapon
$game_party.gain_weapon(@item.id, @number_window.number)
when RPG::Armor
$game_party.gain_armor(@item.id, @number_window.number)
end
@gold_window.refresh
@buy_window.refresh
@status_window.refresh
@buy_window.active = true
when 1
$game_party.gain_gold(@number_window.number * (@item.price / 2))
case @item
when RPG::Item
$game_party.lose_item(@item.id, @number_window.number)
when RPG::Weapon
$game_party.lose_weapon(@item.id, @number_window.number)
when RPG::Armor
$game_party.lose_armor(@item.id, @number_window.number)
end
@gold_window.refresh
@sell_window.refresh
@status_window.refresh
@sell_window.active = true
@status_window.visible = false
end
return
end
end
end

 

 

 

Scene Skill:

 

 

#_______________________________________________________________________________
# MOG Scene Skill Nami V2.0
#_______________________________________________________________________________
# By Moghunter
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
#Transition Time.
MSK_TT = 20
#Transition Type(Name).
MSK_TTT = "020-Flat01"
end
$mogscript = {} if $mogscript == nil
$mogscript["menu_nami"] = true
##############
# 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 nada
face = RPG::Cache.picture("")
end
def drw_face(actor,x,y)
face = RPG::Cache.picture(actor.name + "_fc") rescue nada
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_lay(x,y)
lay = RPG::Cache.picture("MSK_Status")
cw = lay.width
ch = lay.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x , y - ch, lay, src_rect)
end
def nada
face = RPG::Cache.picture("")
end
def draw_heroface3(actor,x,y)
face = RPG::Cache.picture(actor.name + "_fc3") rescue nada
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_maphp3(actor, x, y)
back = RPG::Cache.picture("BAR0")
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_Bar")
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)
text = RPG::Cache.picture("HP_Tx")
cw = text.width
ch = text.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.hp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,0)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.hp.to_s, 2)
end
def draw_mapsp3(actor, x, y)
back = RPG::Cache.picture("BAR0")
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_Bar")
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)
text = RPG::Cache.picture("SP_Tx")
cw = text.width
ch = text.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.sp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,0)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.sp.to_s, 2)
end
def draw_maphp4(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(255,255,255,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,0)
self.contents.draw_text(x + 65, y - 2, 100, 32, actor.hp.to_s + "/" + actor.maxhp.to_s, 1)
end
def draw_mapsp4(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(255,255,255,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,0)
self.contents.draw_text(x + 65, y - 2, 100, 32, actor.sp.to_s + "/" + actor.maxsp.to_s, 1)
end
def draw_mexp4(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 + 37 , y - ch + 32, bitmap2, src_rect)
if actor.next_exp != 0
rate = actor.now_exp.to_f / actor.next_exp
else
rate = 1
end
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 + 37 , y - ch + 32, bitmap, src_rect)
self.contents.font.color = Color.new(80,220,60,255)
self.contents.draw_text(x + 34, y - 10, 84, 32, "Exp",0) #EXP word Position
self.contents.font.color = Color.new(255,255,255,0)
self.contents.draw_text(x + 54, y, 84, 32, "Exp",0)
self.contents.font.color = Color.new(80,220,60,255)
self.contents.draw_text(x + 190, y - 125, 60, 32,"LV " + actor.level.to_s, 1)
self.contents.font.color = Color.new(255,255,255,0)
self.contents.draw_text(x + 191, y - 124, 60, 32,"LV " + actor.level.to_s, 1)
end
def draw_mexp_it(actor, x, y)
lv_tx = RPG::Cache.picture("LV_tx")
cw = lv_tx.width
ch = lv_tx.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 56 , y - ch + 32, lv_tx, src_rect)
self.contents.font.color = Color.new(80,220,60,255)
self.contents.draw_text(x + 101, y + 5, 24, 32, actor.level.to_s, 1)
self.contents.font.color = Color.new(255,255,255,0)
self.contents.draw_text(x + 100, y + 4, 24, 32, actor.level.to_s, 1)
end
def draw_actor_state_it(actor, x, y, width = 80)
text = make_battler_state_text(actor, width, true)
self.contents.font.color = actor.hp == 0 ? knockout_color : Color.new(80,220,60,255) #was normal_color
self.contents.draw_text(x, y, width, 32, text,1)
end
end
######################
# Window_Target_Item #
######################
class Window_Target_face < Window_Selectable
def initialize
super(0, 100, 300, 360) # last was 300
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "OCR A Extended"
self.z += 10
@item_max = $game_party.actors.size
refresh
end
def refresh
self.contents.clear
for i in 0...$game_party.actors.size
x = 4
y = i * 65 + 20 # was +32
actor = $game_party.actors[i]
drw_face(actor,x,y + 57)
if $mogscript["TP_System"] == true
draw_actor_tp(actor, x + 168, y + 27 ,4)
else
draw_mexp_it(actor, x + 110, y + 25 )
end
draw_actor_state_it(actor, x + 165, y )
draw_maphp3(actor, x + 20, y + 0)
draw_mapsp3(actor, x + 20, y + 32)
end
end
def update_cursor_rect
if @index <= -2
self.cursor_rect.set(4, (@index + 10) * 65 + 23, self.width - 29, 60) #first # was 0
elsif @index == -1
self.cursor_rect.set(4, 0, self.width - 29, @item_max * 64 + 23)
else
self.cursor_rect.set(4, @index * 65 + 23, self.width - 29, 60)
end
end
end
#######################
# Window_SkillStatus2 #
#######################
class Window_SkillStatus2 < Window_Base
def initialize(actor)
super(350, 53, 290, 340) #second was 75
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
self.opacity = 0
self.contents.font.name = "OCR A Extended"
refresh
end

def refresh
self.contents.clear
draw_lay(0,300) # first # is x second is y
draw_heroface3(@actor,50,140)
draw_actor_name(@actor, 15, 10) # -40 was 10
draw_actor_state(@actor, 120, 140)
draw_mexp4(@actor, -30, 135)
draw_maphp4(@actor, 5, 195)
draw_mapsp4(@actor, 5, 240)
if $mogscript["TP_System"] == true
draw_actor_tp(@actor, 40, 265,1)
end
end
end
#################
# Window_Skill2 #
#################
class Window_Skill2 < Window_Selectable
def initialize(actor)
super(0, 75, 335, 290)
@actor = actor
@column_max = 1
refresh
self.index = 0
end
def skill
return @data[self.index]
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@data = []
for i in 0...@actor.skills.size
skill = $data_skills[@actor.skills[i]]
if skill != nil
@data.push(skill)
end
end
@item_max = @data.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end
end
end
def draw_item(index)
skill = @data[index]
if @actor.skill_can_use?(skill.id)
self.contents.font.color = Color.new(80,220,60,255)
else
self.contents.font.color = disabled_color
end
self.contents.font.name = "OCR A Extended"
x = index % 1 * (288)
y = index / 1 * 32
rect = Rect.new(x, y, self.width / @column_max - 32, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
bitmap = RPG::Cache.icon(skill.icon_name)
opacity = self.contents.font.color == Color.new(80,220,60,255) ? 255 : 128
self.contents.blt(x + 10, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
self.contents.draw_text(x + 38, y, 204, 32, skill.name, 0)
self.contents.draw_text(x + 242, y, 48, 32, skill.sp_cost.to_s, 2)
if $mogscript["TP_System"] == true
tp_cost = MOG::TP_COST[skill.id]
if tp_cost != nil
self.contents.font.color = Color.new(50,250,150,255)
self.contents.draw_text(x + 170, y, 48, 32, MOG::TP_NAME, 2)
else
self.contents.font.color = Color.new(200,200,0,0) # Word "Mana" by sp cost
self.contents.draw_text(x + 170, y, 48, 32, $data_system.words.sp, 2)
end
else
self.contents.font.color = Color.new(200,200,0,0)
self.contents.draw_text(x + 170, y, 48, 32, $data_system.words.sp, 2)
end
end
def update_help
@help_window.set_text(self.skill == nil ? "" : self.skill.description)
end
end
###############
# Scene_Skill #
###############
class Scene_Skill
def initialize(actor_index = 0, equip_index = 0)
@actor_index = actor_index
end
def main
@actor = $game_party.actors[@actor_index]
@msk_lay = Sprite.new
@msk_lay.bitmap = RPG::Cache.picture("MSK_Lay")
@msk_lay.z = 100
@msk_back1 = Plane.new
@msk_back1.bitmap = RPG::Cache.picture("MN_BK_FILE")
@msk_back1.z = 10
@help_window = Window_Help.new
@help_window.y = 500
@status_window = Window_SkillStatus2.new(@actor)
@status_window.z = 110
@status_window.x = 640
@skill_window = Window_Skill2.new(@actor)
@skill_window.help_window = @help_window
@skill_window.help_window.y = 500
@target_window = Window_Target_face.new
@target_window.x = 640
@target_window.y = 100
@target_window.opacity = 0
@target_window.visible = false
@target_window.active = false
@skill_window.opacity = 0
@help_window.opacity = 0
@slide = true
Graphics.transition(MOG::MSK_TT, "Graphics/Transitions/" + MOG::MSK_TTT)
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
for i in 0..30
@status_window.x += 25
@target_window.x += 25
Graphics.update
end
Graphics.freeze
@help_window.dispose
@status_window.dispose
@skill_window.dispose
@target_window.dispose
@msk_lay.dispose
@msk_back1.dispose
end
def update
if @target_window.active == true
@target_window.visible = true
if @target_window.x > 340
@target_window.x -= 15
elsif @target_window.x <= 340
@target_window.x = 340
end
else
if @target_window.x < 640
@target_window.x += 15
elsif @target_window.x >= 640
@target_window.x = 640
@target_window.visible = false
end
end
if @slide == true
@status_window.visible = true
if @status_window.x > 350
@status_window.x -= 15
elsif @status_window.x <= 350
@status_window.x = 350
end
else
if @status_window.x < 640
@status_window.x += 15
elsif @status_window.x >= 640
@status_window.x = 640
@status_window.visible = false
end
end
@help_window.update
@status_window.update
@skill_window.update
@target_window.update
#@msk_back1.ox += 1
@msk_back1.oy -= 1
if @skill_window.help_window.y > 425
@skill_window.help_window.y -= 5
elsif @skill_window.help_window.y <= 425
@skill_window.help_window.y = 425
end
if @skill_window.active
update_skill
return
end
if @target_window.active
update_target
return
end
end
def update_skill
if Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
@help_window.y = 500
end
if Input.trigger?(Input::
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(1)
return
end
if Input.trigger?(Input::C)
@skill = @skill_window.skill
if @skill == nil or not @actor.skill_can_use?(@skill.id)
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
if @skill.scope >= 3
@skill_window.active = false
@target_window.active = true
@slide = false
if @skill.scope == 4 || @skill.scope == 6
@target_window.index = -1
elsif @skill.scope == 7
@target_window.index = @actor_index - 10
else
@target_window.index = 0
end
else
if @skill.common_event_id > 0
$game_temp.common_event_id = @skill.common_event_id
$game_system.se_play(@skill.menu_se)
@actor.sp -= @skill.sp_cost
@status_window.refresh
@skill_window.refresh
@target_window.refresh
$scene = Scene_Map.new
return
end
end
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_Skill.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_Skill.new(@actor_index)
return
end
end
def update_target
if Input.trigger?(Input::
$game_system.se_play($data_system.cancel_se)
@skill_window.active = true
@target_window.active = false
@slide = true
return
end
if Input.trigger?(Input::C)
unless @actor.skill_can_use?(@skill.id)
$game_system.se_play($data_system.buzzer_se)
return
end
if @target_window.index == -1
used = false
for i in $game_party.actors
used |= i.skill_effect(@actor, @skill)
end
end
if @target_window.index <= -2
target = $game_party.actors[@target_window.index + 10]
used = target.skill_effect(@actor, @skill)
end
if @target_window.index >= 0
target = $game_party.actors[@target_window.index]
used = target.skill_effect(@actor, @skill)
end
if used
$game_system.se_play(@skill.menu_se)
@actor.sp -= @skill.sp_cost
@status_window.refresh
@skill_window.refresh
@target_window.refresh
if $game_party.all_dead?
$scene = Scene_Gameover.new
return
end
if @skill.common_event_id > 0
$game_temp.common_event_id = @skill.common_event_id
$scene = Scene_Map.new
return
end
end
unless used
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
end

 

 

 

Scene Status:

 


#_______________________________________________________________________________

# MOG Scene Status Eva V1.2
#_______________________________________________________________________________
# By Moghunter
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
#Transition Time.
MST_TT = 10
#Transition Type(Name).
MST_TTT = "020-Flat01"
# Set Maximum (STR,DEX,AGL,INT)
MST_ST = 999
# Set Maximum (ATK,PDEF,MDEF)
MST_STE = 999
end
$mogscript = {} if $mogscript == nil
$mogscript["menu_eva"] = true
##############
# 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 nada2(actor)
face = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
end
def draw_heroface4(actor,x,y)
face = RPG::Cache.picture(actor.name + "_fc2") rescue nada2(actor)
cw = face.width
ch = face.height
src_rect = Rect.new(0, 0, cw, ch)
if face == RPG::Cache.battler(actor.battler_name, actor.battler_hue)
self.contents.blt(x + 40 , y - ch - 240, face, src_rect) #x + 45 , y - ch - 150
else
self.contents.blt(x , y - ch, face, src_rect)
end
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_maphp5(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_mapsp5(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_mexp5(actor, x, y)
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)
if actor.next_exp != 0
rate = actor.now_exp.to_f / actor.next_exp
else
rate = 1
end
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(255,255,255,255)
self.contents.draw_text(x + 51, y + 6, 84, 32, actor.next_rest_exp_s.to_s, 1)
self.contents.font.color = Color.new(55,255,55,0)
self.contents.draw_text(x + 52, y + 1, 84, 32, actor.next_rest_exp_s.to_s, 1)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 45, y + 6, 84, 32, "N",0)
self.contents.font.color = Color.new(255,255,255,0)
self.contents.draw_text(x + 44, y + 8, 84, 32, "N",0)
self.contents.font.color = Color.new(0,0,0,0)
self.contents.draw_text(x + 10, y + 5, 30, 32, actor.level.to_s, 1)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 11, y + 6, 30, 32, actor.level.to_s, 1)
end
end
##################
# Window_Status2 #
##################
class Window_Status < 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 = "OCR A Extended"
draw_actor_name(@actor, 60, -3)
draw_actor_class(@actor, 302, -3) #needs to go left
draw_mexp5(@actor,310,130)
draw_actor_state(@actor, 500, 20) #down?
draw_maphp5(@actor, 256, 165) #275
draw_mapsp5(@actor, 440, 165) #430
draw_actor_parameter2(@actor, 286, 108, 0)
draw_actor_parameter2(@actor, 465, 137, 1)
draw_actor_parameter2(@actor, 465, 108, 2)
draw_actor_parameter2(@actor, 286, 53, 3)
draw_actor_parameter2(@actor, 465, 53, 4)
draw_actor_parameter2(@actor, 286, 80, 5)
draw_actor_parameter2(@actor, 465, 80, 6)
self.contents.font.color = menu_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 = menu_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_heroface4(@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_Status.new(@actor)
@status_face = Window_Face.new(@actor)
@status_face.z = 100
@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_FILE") #Put MN_BK_FILE here
@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

 



Any help?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×