Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

> Kingdom Hearts II Menu
Shadic66
post Dec 18 2011, 06:50 PM
Post #1


Level 3
Group Icon

Group: Member
Posts: 34
Type: None
RM Skill: Beginner





Version 1.0.0
Author Shadic66
Moghunter
ForeverZer0
Release Date 19/12/11


Exclusive Script at RPG RPG Revolution


Introduction
This menu is a mixture of an editted moghunter menu and ForeverZer0's Journal script

Features
Changes you menu to a format like Kingdom Hearts II.
A journal system that can be updated like in the kingdom hearts series.

Script
Menu
CODE
#_______________________________________________________________________________
# MOG Main Menu V2.0          
#_______________________________________________________________________________
# By Moghunter  
# http://www.atelier-rgss.com
#_______________________________________________________________________________
module MOG
  #Tipo de fundo.
  # 0 = Imagens em movimento.
  # 1 = Mapa de fundo.
  MENU_BACKGROUND = 0
  #Transition Time.
  MNTT = 10
  #Transition Type (Name)
  MNTP = "006-Stripe02"
  #Velocidade do cursor
  CURSOR_SPEED = 15
end

#===============================================================================
# Game_Actor
#===============================================================================
class Game_Actor < Game_Battler

#--------------------------------------------------------------------------
# Now Exp
#--------------------------------------------------------------------------
  def now_exp
    return @exp - @exp_list[@level]
  end
#--------------------------------------------------------------------------
# Next Exp
#--------------------------------------------------------------------------
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end

#===============================================================================
# Game_Map
#===============================================================================
class Game_Map
attr_reader   :map_id  

#--------------------------------------------------------------------------
# Mpname
#--------------------------------------------------------------------------
  def mpname
    $mpname = load_data("Data/MapInfos.rxdata")
    $mpname[@map_id].name
  end
end

#===============================================================================
# Window Base
#===============================================================================

class Window_Base < Window  
#--------------------------------------------------------------------------
# Nada
#--------------------------------------------------------------------------
def nada
  face = RPG::Cache.picture("")
end
#--------------------------------------------------------------------------
# Drw_Face
#--------------------------------------------------------------------------
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 + 20 , y - ch, face, src_rect)    
end
#--------------------------------------------------------------------------
# draw name
#--------------------------------------------------------------------------
def draw_name(actor, x, y)
  self.contents.font.color = Color.new(0,0,0,255)
  self.contents.draw_text(x, y, 48, 32, actor.name, 2)
  self.contents.font.color = Color.new(255,255,255,255)
  self.contents.draw_text(x, y, 48, 32, actor.name, 2)
end
#--------------------------------------------------------------------------
# Draw Maphp3
#--------------------------------------------------------------------------
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)
  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  
#--------------------------------------------------------------------------
# draw_mexp2
#--------------------------------------------------------------------------
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)
end
#--------------------------------------------------------------------------
# draw_lvl
#--------------------------------------------------------------------------
def draw_lvl(actor, x, y)
  self.contents.font.color = Color.new(0,0,0,255)
  self.contents.draw_text(x + 161, y + 7, 24, 32, actor.level.to_s, 1)
  self.contents.font.color = Color.new(255,255,255,255)
  self.contents.draw_text(x + 160, y + 6, 24, 32, actor.level.to_s, 1)
end
end

#===============================================================================
# Window MenuStatus2
#===============================================================================
class Window_MenuStatus2 < Window_Selectable
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------
def initialize
  super(0, 0, 415, 290)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.windowskin = RPG::Cache.windowskin("")
  self.opacity = 0
  self.z = 15
  refresh
  self.active = false
  self.index = -1
  end
  def refresh
  self.contents.clear
  @item_max = $game_party.actors.size
  for i in 0...$game_party.actors.size
  x = i * 136
  y = 30
  actor = $game_party.actors[i]
  self.contents.font.name = "Georgia"
  if $mog_rgss_TP_System != nil
    draw_actor_tp(actor ,x - 150,y + 75,4)  
  else  
    nil
  end
  draw_name(actor,x + 10,y - 35)
  drw_face(actor,x - 13,y + 100)
  draw_lvl(actor,x - 90,y + 115)
  draw_maphp3(actor,x- 32, y + 145)
  draw_mexp2(actor,x - 40, y + 175 )
  end
end
#--------------------------------------------------------------------------
# Update_cursor_rect
#--------------------------------------------------------------------------
def update_cursor_rect
  if @index < 0
    self.cursor_rect.empty
  else
    self.cursor_rect.set(5, @index * 26, self.width - 10, 40)
  end
end
end

#===============================================================================
# Window_Gold 2
#===============================================================================
class Window_Gold2 < Window_Base  
#--------------------------------------------------------------------------
# Initiazlize
#--------------------------------------------------------------------------
def initialize
  super(0, 0, 160, 64)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.windowskin = RPG::Cache.windowskin("")
  self.opacity = 0
  self.z = 15
  refresh
end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------
def refresh
  self.contents.clear
  cx = contents.text_size($data_system.words.gold).width
  self.contents.font.color = normal_color
  self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
  self.contents.font.color = system_color
  self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2)
end
end

#===============================================================================
# Window_PlayTime 2
#===============================================================================
class Window_PlayTime2 < Window_Base
#--------------------------------------------------------------------------
# Initiazlize
#--------------------------------------------------------------------------
def initialize
  super(0, 0, 160, 96)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.windowskin = RPG::Cache.windowskin("")
  self.opacity = 0
  self.z = 15
  refresh
end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------
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.color = normal_color
  self.contents.draw_text(4, 32, 120, 32, text, 2)
end
#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------
def update
  super
  if Graphics.frame_count / Graphics.frame_rate != @total_sec
    refresh
  end
end
end
#===============================================================================
# Window_Map_Name
#===============================================================================
class Window_Map_Name < Window_Base
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------
def initialize
  super(0, 0, 160, 96)
  self.contents = Bitmap.new(width - 32, height - 32)
  self.windowskin = RPG::Cache.windowskin("")
  self.opacity = 0
  self.z = 15
  refresh
end
#--------------------------------------------------------------------------
# Refresh
#--------------------------------------------------------------------------
def refresh
  self.contents.clear
  self.contents.font.color = normal_color
  self.contents.draw_text(4, 32, 120, 32, $game_map.mpname.to_s, 1)
end
end

#===============================================================================
# Scene Menu
#===============================================================================
class Scene_Menu
#--------------------------------------------------------------------------
# Initialize
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
   @menu_index = menu_index
end
#--------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------
def main
  s1 = ""
  s2 = ""
  s3 = ""
  s4 = ""
  s5 = ""
  s6 = ""
  s7 = ""
  @command_window = Window_Command.new(60, [s1, s2, s3, s4, s5, s6, s7])
  @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
  @mnlay.opacity = 0
  @mnlay.x = -100
  if MOG::MENU_BACKGROUND == 0
    @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 = 60
  else
    @spriteset = Spriteset_Map.new
  end
  @cursor_x = -20
  @cursor_y = 20
  @mnsel = Sprite.new
  @mnsel.bitmap = RPG::Cache.picture("Mn_Sel")
  @mnsel.z = 20
  @mnsel.x = @cursor_x
  @mnsel.y = @cursor_y
  @mnop = 150
  if $game_system.save_disabled
    @command_window.disable_item(4)
  end
  @playtime_window = Window_PlayTime2.new
  @playtime_window.x = 10
  @playtime_window.y = 395
  @playtime_window.contents_opacity = 0
  @mapname_window = Window_Map_Name.new
  @mapname_window.x = 505
  @mapname_window.y = 0
  @mapname_window.contents_opacity = 0
  @gold_window = Window_Gold2.new
  @gold_window.x = 15
  @gold_window.y = 375
  @gold_window.contents_opacity = 0
  @status_window = Window_MenuStatus2.new
  @status_window.x = 280
  @status_window.y = 80
  @status_window.contents_opacity = 0  
  if MOG::MENU_BACKGROUND == 0
    Graphics.transition(MOG::MNTT, "Graphics/Transitions/" + MOG::MNTP)
  else
    Graphics.transition  
  end
  loop do
  Graphics.update
  Input.update
  update
  if $scene != self
    break
  end
  end
  for i in 0..10  
    if MOG::MENU_BACKGROUND == 0
      @mnback.oy += 1
      @mnback.ox += 1
      @mnback2.oy += 1
      @mnback2.ox -= 1
    end
    @status_window.x += 10
    @status_window.contents_opacity -= 25
    @mnsel.opacity -= 25
    @mnsel.zoom_x += 0.03
    @mnlay.x -= 10
    @mnlay.opacity -= 25
    @mapname_window.x += 5
    @mapname_window.contents_opacity -= 20
    @gold_window.contents_opacity -= 25
    @playtime_window.contents_opacity -= 25
    Graphics.update  
  end
  Graphics.freeze
  @command_window.dispose
  @playtime_window.dispose
  @gold_window.dispose    
  @status_window.dispose
  @mnlay.dispose
  if MOG::MENU_BACKGROUND == 0
    @mnback.dispose
    @mnback2.dispose
  else
    @spriteset.dispose
  end
  @mnsel.dispose
  @mapname_window.dispose
  Graphics.update
end

#--------------------------------------------------------------------------
# Update
#--------------------------------------------------------------------------
def update  
  cursor_update
  cursor_animation_update
  windows_slide_update
  @playtime_window.update
  if @command_window.active
    @command_window.update
    update_command
    return
  end
  if @status_window.active
    @status_window.update
    update_status
    return
  end
end

#--------------------------------------------------------------------------
# Windows_slide_update
#--------------------------------------------------------------------------
def windows_slide_update
  if MOG::MENU_BACKGROUND == 0
     @mnback.oy += 1
     @mnback.ox += 1
     @mnback2.oy += 1
     @mnback2.ox -= 1
  end
  @mapname_window.contents_opacity += 15
  @playtime_window.contents_opacity += 15
  @gold_window.contents_opacity += 15
  @playtime_window.contents_opacity += 15
  if @status_window.x > 165
     @status_window.x -= 10
     @status_window.contents_opacity += 10
  elsif @status_window.x <= 165
     @status_window.x = 165
     @status_window.contents_opacity = 255
  end
end  
#--------------------------------------------------------------------------
# Cursor_update
#--------------------------------------------------------------------------
def cursor_update
if @mnsel.x > @cursor_x
    @mnsel.x -= MOG::CURSOR_SPEED
    if @mnsel.x <= @cursor_x  
      @mnsel.x = @cursor_x      
    end
elsif @mnsel.x < @cursor_x  
    @mnsel.x += MOG::CURSOR_SPEED  
    if @mnsel.x >= @cursor_x  
      @mnsel.x = @cursor_x    
    end
end
if @mnsel.y > @cursor_y
    @mnsel.y -= MOG::CURSOR_SPEED
    if @mnsel.y <= @cursor_y  
      @mnsel.y = @cursor_y
    end
elsif @mnsel.y < @cursor_y  
    @mnsel.y += MOG::CURSOR_SPEED  
    if @mnsel.y >= @cursor_y  
      @mnsel.y = @cursor_y    
    end
end  
end  
#--------------------------------------------------------------------------
# Cursor_Animation
#--------------------------------------------------------------------------
def cursor_animation_update
  if @mnsel.zoom_x <= 1.6
    @mnsel.zoom_x += 0.03
    @mnsel.opacity -= 10
  elsif @mnsel.zoom_x > 1.6
    @mnsel.zoom_x = 1.0
    @mnsel.opacity = 255
  end    
  if @mnlay.x < 0
    @mnlay.opacity += 25
    @mnlay.x += 10
  elsif @mnlay.x >= 0  
    @mnlay.opacity = 255
    @mnlay.x = 0
  end  
    @mnop += 5
    @mnop = 120 if @mnop >= 255
end

#--------------------------------------------------------------------------
# Update Command
#--------------------------------------------------------------------------
def update_command
  cursor_position_update
  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
    when 6
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_Journal.new
    end
  return
  end
end
#--------------------------------------------------------------------------
# cursor_position_update
#--------------------------------------------------------------------------
def cursor_position_update
    case @command_window.index
    when 0  
      @cursor_x = 0
      @cursor_y = 90
    when 1
      @cursor_x = 0
      @cursor_y = 120
    when 2
      @cursor_x = 0
      @cursor_y = 150
    when 3
      @cursor_x = 0
      @cursor_y = 180
    when 4
      @cursor_x = 0
      @cursor_y = 210
    when 5
      @cursor_x = 0
      @cursor_y = 240
    when 6
      @cursor_x=0
      @cursor_y=270
    end    
end  
#--------------------------------------------------------------------------
# Cursor_st_postion_update
#--------------------------------------------------------------------------
def cursor_st_postion_update
  case @status_window.index
    when 0  
      @cursor_x = 180
      @cursor_y = 170
    when 1
      @cursor_x = 315
      @cursor_y = 170
    when 2
      @cursor_x = 450
      @cursor_y = 170
    when 3
      @cursor_x = 500
      @cursor_y = 170
    end
end    
#--------------------------------------------------------------------------
# Update Status
#--------------------------------------------------------------------------
def update_status  
  cursor_st_postion_update
  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

$mog_rgss_Main_Menu = true


Journal script
http://forum.chaos-project.com/index.php/topic,6783.0.html

Customization
edit the images inside of "Pictures" folder
check both scripts for options
Faces must not exceed the maxium size of 89x89

Compatibility
Same as the original two scripts except the menu no longer dsplays moghunters tp

Screenshot
Menu

Journal


DEMO
DEMO

Installation
Place Both scripts above Main

FAQ


Terms and Conditions
Do not claim these scripts as your own
if you give credi,t give it to moghunter and ForeverZer0 for the original scripts

Credits
Moghunter for the original menu
ForeverZer0 for his Journal script


__________________________
Go to the top of the page
 
+Quote Post
   
 
Start new topic
Replies
GuruKing
post Feb 24 2012, 09:02 AM
Post #2


Level 4
Group Icon

Group: Member
Posts: 52
Type: None
RM Skill: Intermediate




This is Just great, and im not saying that cause im a KH fan x3


__________________________
Go to the top of the page
 
+Quote Post
   

Posts in this topic


Closed TopicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 19th May 2013 - 07:59 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker