Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

5 Pages V  < 1 2 3 4 5 >  
Reply to this topicStart new topic
> Final Fantasy IX Custom Menu
BigEd781
post Jan 3 2009, 07:26 PM
Post #41


No method: 'stupid_title' found for `nil:NilClass'
Group Icon

Group: Revolutionary
Posts: 1,829
Type: Scripter
RM Skill: Undisclosed




UPDATE

➮ Fixed a bug with the icons that are displayed when a player has a status effect. The icons will replace the class name.
➮ Added captions to the main menu windows.

@Lockheart: Here is your script. Remember though that upgrading wil now be more difficult. The methods that are different are the "refresh" and "draw_background_window" methods. I left the original code commented out so that you can do your own patches.

[Show/Hide] Lockheart's script
CODE
# TODO:
#       1.  Add a "select all" option to the menu appearance
#       2.  Add an animation when an item is used.  

=begin                  
                          BigEd781' Final Fantasy IX Menu
            Credit to PainHurt at rpgmakervx.net for most of the graphics
=end

module FF9_Config  
    
  # if you set this to 'true', you must be using the enhanced
  # Window class script that I posted:  You can get that script here:
  # http://www.rpgmakervx.net/index.php?showtopic=8042&hl=
  # this will make the provided FF9 windowskin look really good.
  USE_TILED_WINDOW = false
  
  # the name of the font used in the menu.  
  # use 'Font.default_name' for the default font.  Try 'Centaur' for a nice, smaller font.
  DEFAULT_FONT = Font.default_name
  
  # set this to true to enable the font above for all windows.
  # also sets the back_opacity to 255 for all windows.  
  # I recommend setting this to 'true' to maintain a consistent look.
  USE_FOR_ALL = true
  
  # the icon id for your gold window portion of the menu, 194 by default.
  GOLD_ICON_ID = 194
  
end

if FF9_Config::USE_FOR_ALL    
  
  Font.default_name = FF9_Config::DEFAULT_FONT
  
  class Window_Base < Window
    
    alias :eds_pre_ff9_menu_base_initialize :initialize
    def initialize(*args)
      eds_pre_ff9_menu_base_initialize(*args)  
      self.stretch = false if FF9_Config::USE_TILED_WINDOW
      self.back_opacity = 255
    end
    
  end
  
end

class Window_Base < Window
  
  CAPTION_COLOR = Color.new(255,255,255)#(228, 228, 228)
  CAPTION_HEIGHT = 12
  X_OFFSET = 16
  Y_OFFSET = -5
  
  alias :eds_pre_window_caption_intialize :initialize
  def initialize(*args)      
    eds_pre_window_caption_intialize(*args)    
    @caption_sprite = Sprite_Base.new(self.viewport)
    create_caption_bitmap(1, CAPTION_HEIGHT)        
    @caption_sprite.x = self.x + X_OFFSET
    @caption_sprite.y = self.y + Y_OFFSET
    @caption_sprite.z = self.z + 1
  end
  
  def x=(value)
    super
    @caption_sprite.x = value + X_OFFSET unless @caption_sprite.nil?
  end
  
  def y=(value)
    super
    @caption_sprite.y = value + Y_OFFSET unless @caption_sprite.nil?
  end
  
  def z=(value)
    super
    @caption_sprite.z = value + 1 unless @caption_sprite.nil?
  end
  
  def caption=(text)
    return unless text.is_a?(String)
    return if text.empty?
    @caption = text
    width = @caption_sprite.bitmap.text_size(@caption).width
    create_caption_bitmap(width, CAPTION_HEIGHT)    
    draw_caption
  end  
  
  def create_caption_bitmap(w, h)
    @caption_sprite.bitmap = Bitmap.new(w, h)    
    @caption_sprite.bitmap.font.size = 12
    @caption_sprite.bitmap.font.color = CAPTION_COLOR
    @caption_sprite.bitmap.font.bold = true  
  end
  
  def draw_caption
    unless @caption.nil?
      h = @caption_sprite.bitmap.height
      w = @caption_sprite.bitmap.width
      rect = Rect.new( 0, h / 2, w, h / 4 )
      @caption_sprite.bitmap.fill_rect(rect, Color.new(0, 0, 0, 96))      
      @caption_sprite.bitmap.draw_text(@caption_sprite.src_rect, @caption)      
    end
  end
  
  alias :eds_pre_caption_window_dispose :dispose
  def dispose
    eds_pre_caption_window_dispose
    @caption_sprite.dispose
  end
  
  def find_window_width(text)              
    return Bitmap.new(544, 416).text_size(text).width + 32
  end    
  
end

class Window_TimeGold < Window_Base  
    
  def initialize(x, y)  
    width = find_window_width("9999999")
    width = 140 if width < 140
    super(x, y, width, WLH + 58)    
    self.back_opacity = 255
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.caption = "TIME & #{Vocab.gold}"
    @time_icon = Cache.picture('Timer')  
    @intern_frame_count = 0
    refresh
  end
  
  def draw_time
    sec = (Graphics.frame_count / 60) % 60
    min = (Graphics.frame_count / 3600) % 60
    hrs = Graphics.frame_count / 216000    
    self.contents.font.color = Color.new(255, 255, 255)    
    time = "%02d:%02d:%02d" % [hrs, min, sec]
    self.contents.draw_text(0, 0, self.contents.width, WLH, time, 2)    
  end  
  
  def refresh
    self.contents.clear
    self.contents.blt(0, 0, @time_icon, @time_icon.rect)
    draw_icon(FF9_Config::GOLD_ICON_ID, 2, WLH)  
    draw_currency_value($game_party.gold, 0, WLH, self.contents.width)
    draw_time
  end
  
  def draw_currency_value(value, x, y, width)
    gold_text = Vocab.gold
    cx = contents.text_size(gold_text[0,1]).width
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, width-cx-2, WLH, value, 2)
    self.contents.font.color = system_color
    # just print the firsat character of Vocab::gold
    self.contents.draw_text(x, y, width, WLH, gold_text[0,1], 2)
  end
  
  def update
    super
    @intern_frame_count += 1
    return if (@intern_frame_count % 60) != 0          
    refresh
  end
  
  def find_window_width(text)              
    return Bitmap.new(544, 416).text_size(text).width + 80
  end
  
end

class Window_MenuLocation < Window_Base
  
  def initialize(x, y)
    @map_name = load_data("Data/MapInfos.rvdata")[$game_map.map_id].name
    width = find_window_width(@map_name)
    super(x, y, width, WLH + 32)    
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.back_opacity = 255
    self.caption = "LOCATION"
    refresh
  end
  
  def refresh
    self.contents.clear    
    self.contents.draw_text(0, 0, self.contents.width, WLH,  @map_name, 1)
  end
  
  def find_window_width(text)              
    return Bitmap.new(544, 416).text_size(text).width + 48
  end
  
end

class Window_Command < Window_Selectable
  
  alias :eds_pre_ff9_menu_win_command_init :initialize
  def initialize(*args)
    @font_name = Font.default_name    
    eds_pre_ff9_menu_win_command_init(*args)    
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear    
    self.contents.font.name = @font_name
    for i in 0...@item_max
      draw_item(i)
    end
  end
  
  def font_name=(name)
    @font_name = name    
  end
  
end

class Window_Uses < Window_Base  
  
  def initialize(right, y, item)    
    @remaining_text = "Remaining: #{$game_party.item_number(item)}"
    w = 160
    x = right ? (544 - w) : 0    
    super(x, y, w, WLH + 32)    
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    refresh
  end
  
  def item=(item)    
    return unless item.is_a?(RPG::Item)
    @remaining_text = "Remaining: #{$game_party.item_number(item)}"      
    refresh
  end
  
  def visible=(value)
    super
    refresh if value
  end
  
  def refresh
    self.contents.clear
    self.contents.draw_text(self.contents.rect, @remaining_text, 1)
  end
  
end

class Window_SkillUses < Window_Base  
  
  def initialize(right, y, actor, skill)    
    @remaining_text = make_info_string(actor, skill)
    w = 182
    x = right ? (544 - w) : 0        
    super(x, y, w, WLH + 32)  
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    refresh
  end
  
  def make_info_string(actor, skill)
    return "Remaining: 0" if actor.nil? || skill.nil?
    return "Remaining: #{(actor.mp / actor.calc_mp_cost(skill)).to_i}"
  end
  
  def set_skill(actor, skill)
    return if actor.nil?
    return unless skill.is_a?(RPG::Skill)
    @remaining_text = make_info_string(actor, skill)    
    refresh
  end
  
  def visible=(value)
    super
    refresh if value
  end
  
  def refresh
    self.contents.clear
    self.contents.draw_text(self.contents.rect, @remaining_text, 1)
  end
  
end

class Window_MenuStatus < Window_Selectable
    
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 452, 352)      
    @bg_image = Cache.picture('FF9_MenuBar')  
    @arrow_image = Cache.picture('Pointer')
    @arrow_sprite = Sprite.new
    @arrow_sprite.bitmap = Bitmap.new(45, 38)  #7 pixels larger in 'w' for animation      
    @arrow_sprite.y = 52  
    @arrow_sprite.z = 999    
    @sprite_last_draw_x = 0
    @sprite_inc_x = 1
    @intern_frame_count = 0    
    self.stretch = false if FF9_Config::USE_TILED_WINDOW
    self.contents.font.name = FF9_Config::DEFAULT_FONT
    self.opacity = 0    
    self.z = 99    
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
#~   def refresh    
#~     self.contents.clear
#~     @item_max = $game_party.members.size
#~     draw_background_windows
#~     for actor in $game_party.members      
#~       x = 104
#~       y = actor.index * 80      
#~       y_offset = 6      
#~       draw_actor_face(actor, 19, y + 4, 73)      
#~       draw_actor_name(actor, x, y + y_offset)            
#~       draw_actor_class(actor, x + 125, y + y_offset) if actor.states.empty?
#~       draw_actor_level(actor, x, y + WLH * 1)      
#~       draw_actor_state(actor, x + 125, y + y_offset)
#~       draw_actor_hp(actor, x, ((y) + (WLH * 2) - 5))
#~       draw_actor_mp(actor, x + 125, ((y) + (WLH * 2) - 5))    
#~     end
#~   end  
  def refresh    
    self.contents.clear
    @item_max = $game_party.members.size    
    for actor in $game_party.members      
      x = 104
      y = actor.index * 80      
      y_offset = 6      
      draw_background_window(0, y)
      draw_actor_face(actor, 19, y + 4, 73)      
      draw_actor_name(actor, x, y + y_offset)            
      draw_actor_class(actor, x + 125, y + y_offset) if actor.states.empty?
      draw_actor_level(actor, x, y + WLH * 1)      
      draw_actor_state(actor, x + 125, y + y_offset)
      draw_actor_hp(actor, x, ((y) + (WLH * 2) - 5))
      draw_actor_mp(actor, x + 125, ((y) + (WLH * 2) - 5))    
    end
  end  
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def update_cursor              
    if @index < 0              
      @arrow_sprite.bitmap.clear
      return
    end
    @intern_frame_count += 1
    return if (@intern_frame_count % 5) != 0
    if @sprite_last_draw_x == 7
      @sprite_inc_x = -1
    elsif @sprite_last_draw_x == 0
      @sprite_inc_x = 1
    end
    @arrow_sprite.bitmap.clear
    @arrow_sprite.y = (@index * 80) + self.y + 40  #40 is on half the image height
    @arrow_sprite.x = self.x
    x = @sprite_last_draw_x + @sprite_inc_x    
    @sprite_last_draw_x = x
    @arrow_sprite.bitmap.blt(x, 0, @arrow_image, @arrow_image.rect)    
  end
  #--------------------------------------------------------------------------
  # * draw_background_windows
  #--------------------------------------------------------------------------
#~   def draw_background_windows  
#~     self.contents.blt(0, 0, @bg_image, @bg_image.rect)    
#~     self.contents.blt(0, 80, @bg_image, @bg_image.rect)    
#~     self.contents.blt(0, 160, @bg_image, @bg_image.rect)    
#~     self.contents.blt(0, 240, @bg_image, @bg_image.rect)    
#~   end  
  def draw_background_window(x, y)  
    self.contents.blt(x, y, @bg_image, @bg_image.rect)        
  end  
  #--------------------------------------------------------------------------
  # * visible
  #--------------------------------------------------------------------------
  def visible=(value)
    super
    @arrow_sprite.visible = value    
  end
  #--------------------------------------------------------------------------
  # * dispose
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_win_stat_dispose :dispose
  def dispose
    eds_pre_ff9_win_stat_dispose
    @arrow_sprite.dispose
  end
  
end

class Scene_Menu
      
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------    
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    # just changed the width of the window here
    @command_window = Window_Command.new(132, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    @command_window.stretch = false if FF9_Config::USE_TILED_WINDOW
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, false)     # Disable save
    end      
    # new stuff here
    @command_window.font_name = FF9_Config::DEFAULT_FONT
    @command_window.x = 528 - @command_window.width
    @command_window.y = 16
    @command_window.back_opacity = 255
  end
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_TimeGold.new(372, 342)
    @gold_window.y -= @gold_window.height
    @gold_window.x = 528 - @gold_window.width
    @status_window = Window_MenuStatus.new(0, 12)
    @location_window = Window_MenuLocation.new(0, 0)
    @location_window.x = 528 - @location_window.width  
    @location_window.y = 398 - @location_window.height
  end
  
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_menu_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_menu_terminate
    @location_window.dispose
  end
  
end

class Scene_Item < Scene_Base
  
  #--------------------------------------------------------------------------
  # * start
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_start :start
  def start        
    eds_pre_ff9_menu_scene_item_start
    @target_window.y = 58    
    @uses_window = Window_Uses.new(true, @help_window.height, nil)
    @uses_window.visible = false
  end  
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #   - right-align flag ignored
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_win_stat_show_target_window :show_target_window
  def show_target_window(right)  
    @uses_window.item = @item_window.item
    @uses_window.visible = true    
    @item_window.visible = false    
    @item_window.active = false    
    @target_window.visible = true
    @target_window.active = true  
    @viewport.rect.set(0, 0, 544, 416)
    @viewport.ox = 0
  end
  #--------------------------------------------------------------------------
  # * hide_target_window
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_hide_target_window :hide_target_window
  def hide_target_window
    eds_pre_ff9_menu_scene_item_hide_target_window  
    @uses_window.visible = false unless @uses_window.nil?
    @item_window.visible = true        
  end
  #--------------------------------------------------------------------------
  # * determine_target
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_determine_target :determine_target
  def determine_target    
    eds_pre_ff9_menu_scene_item_determine_target
    @uses_window.item = @item_window.item
  end    
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_item_terminate
    @uses_window.dispose
  end
  
end

class Scene_Skill < Scene_Base
  
  #--------------------------------------------------------------------------
  # * start
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_start :start
  def start        
    eds_pre_ff9_menu_scene_skill_start
    @target_window.y = 58          
    @uses_window = Window_SkillUses.new(true, @help_window.height, nil, nil)
    @uses_window.visible = false
  end  
  #--------------------------------------------------------------------------
  # * OVERWRITTEN
  #   - right-align flag ignored
  #--------------------------------------------------------------------------
  def show_target_window(right)
    @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill)
    @uses_window.visible = true
    @status_window.visible = false
    @skill_window.visible = false
    @skill_window.active = false    
    @target_window.visible = true
    @target_window.active = true  
    @viewport.rect.set(0, 0, 544, 416)
    @viewport.ox = 0
  end
  #--------------------------------------------------------------------------
  # * hide_target_window
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_hide_target_window :hide_target_window
  def hide_target_window
    eds_pre_ff9_menu_scene_skill_hide_target_window  
    @uses_window.visible = false unless @uses_window.nil?
    @skill_window.visible = true
    @status_window.visible = true
  end
  #--------------------------------------------------------------------------
  # * determine_target
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_skill_determine_target :determine_target
  def determine_target    
    eds_pre_ff9_menu_scene_skill_determine_target
    @uses_window.set_skill($game_party.members[@actor_index], @skill_window.skill)
  end    
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias :eds_pre_ff9_menu_scene_item_terminate :terminate
  def terminate
    eds_pre_ff9_menu_scene_item_terminate
    @uses_window.dispose
  end
  
end


__________________________
`
Give me teh codez!!!


I am the master debator!
Go to the top of the page
 
+Quote Post
   
Lockheart
post Jan 3 2009, 07:40 PM
Post #42


Level 9
Group Icon

Group: Revolutionary
Posts: 136
Type: Developer
RM Skill: Advanced




Awesome, thanks BigEd. as for the patching, just more reason to learn the scripting code, aye?
Go to the top of the page
 
+Quote Post
   
BigEd781
post Jan 3 2009, 08:54 PM
Post #43


No method: 'stupid_title' found for `nil:NilClass'
Group Icon

Group: Revolutionary
Posts: 1,829
Type: Scripter
RM Skill: Undisclosed




OK, another UPDATE

➮ Added a new cursor display when all party members are selected.
➮ Added new config option which allows you to use a cursor which does not animate.
➮ added new config option which allows you choose how many background panels are drawn when the party is not full.

@Lockheart: I added that last one out of pity for you wink.gif


__________________________
`
Give me teh codez!!!


I am the master debator!
Go to the top of the page
 
+Quote Post
   
N2Y
post Jan 4 2009, 05:37 AM
Post #44


Level 4
Group Icon

Group: Member
Posts: 49
Type: Event Designer
RM Skill: Advanced




QUOTE (BigEd781 @ Jan 3 2009, 09:54 PM) *
OK, another UPDATE

➮ Added a new cursor display when all party members are selected.
➮ Added new config option which allows you to use a cursor which does not animate.
➮ added new config option which allows you choose how many background panels are drawn when the party is not full.

@Lockheart: I added that last one out of pity for you wink.gif

That one doesnt seem to work for me ( I take it you updated the first post with this update?) )

When I select Heal in the Magic menu and go from the 3rd to the 4th player or from the 1st back to the fourth (basically, once you want to go to the fourth player) the game crashes and takes you to the following part:

CODE
  #--------------------------------------------------------------------------
  # * draw_arrow_sprites
  #--------------------------------------------------------------------------
  def draw_arrow_sprites(sprites, animated=true)
    for sprite in sprites          
      image_x = animated ? @sprite_last_draw_x + @sprite_inc_x : 0
      @sprite_last_draw_x = image_x      
      sprite.bitmap.blt(image_x, 0, @arrow_image, @arrow_image.rect)
    end
  end

With the following line in particular:
CODE
sprite.bitmap.blt(image_x, 0, @arrow_image, @arrow_image.rect)


Any idea what it could be?

Lockheart's update script does work though.


__________________________
Go to the top of the page
 
+Quote Post
   
BigEd781
post Jan 4 2009, 05:40 AM
Post #45


No method: 'stupid_title' found for `nil:NilClass'
Group Icon

Group: Revolutionary
Posts: 1,829
Type: Scripter
RM Skill: Undisclosed




QUOTE (N2Y @ Jan 4 2009, 05:37 AM) *
Any idea what it could be?

Lockheart's update script does work though.


Ahh, shit, I forgot to fix that. I'll post an update tomorrow.


__________________________
`
Give me teh codez!!!


I am the master debator!
Go to the top of the page
 
+Quote Post
   
N2Y
post Jan 4 2009, 05:49 AM
Post #46


Level 4
Group Icon

Group: Member
Posts: 49
Type: Event Designer
RM Skill: Advanced




QUOTE (BigEd781 @ Jan 4 2009, 05:40 AM) *
QUOTE (N2Y @ Jan 4 2009, 05:37 AM) *
Any idea what it could be?

Lockheart's update script does work though.


Ahh, shit, I forgot to fix that. I'll post an update tomorrow.

No worries, mate. It's fixable. cool.gif

Man I love this menu. Love the new command window names on top of the windows. Maybe could you add one above the commands named "Commands" or something.


__________________________
Go to the top of the page
 
+Quote Post
   
wortana
post Jan 4 2009, 07:34 AM
Post #47


Level 1
Group Icon

Group: Member
Posts: 7
Type: Developer
RM Skill: Skilled




[Show/Hide] Open me if you dare


You are a hero w00t


Apart from the MOG menu which I cant seem to use right now I say this is an awsome script 10/10 keep up the great work biggrin.gif


__________________________


>:[ Buy or die...

Remember: No human has ever survived life...
Go to the top of the page
 
+Quote Post
   
BigEd781
post Jan 4 2009, 03:31 PM
Post #48


No method: 'stupid_title' found for `nil:NilClass'
Group Icon

Group: Revolutionary
Posts: 1,829
Type: Scripter
RM Skill: Undisclosed




UPDATE
➮ Fixed a bug introduced by my last update when you selected the fourth character in the party. (thanks N2Y).

N2Y: If you would like to add a caption to the command window, find this part of the script under "Scene_Menu":

CODE
def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    # just changed the width of the window here
    @command_window = Window_Command.new(132, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    @command_window.stretch = false if FF9_Config::USE_TILED_WINDOW
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, false)     # Disable save
    end      
    # new stuff here
    @command_window.caption = "COMMANDS"   #ADDED THIS LINE FOR n2y
    @command_window.font_name = FF9_Config::DEFAULT_FONT
    @command_window.x = 528 - @command_window.width
    @command_window.y = 16
    @command_window.back_opacity = 255
  end


I put a comment next to the only line that I added.


__________________________
`
Give me teh codez!!!


I am the master debator!
Go to the top of the page
 
+Quote Post
   
Lockheart
post Jan 4 2009, 06:45 PM
Post #49


Level 9
Group Icon

Group: Revolutionary
Posts: 136
Type: Developer
RM Skill: Advanced




QUOTE (BigEd781 @ Jan 3 2009, 11:54 PM) *
OK, another UPDATE

➮ Added a new cursor display when all party members are selected.
➮ Added new config option which allows you to use a cursor which does not animate.
➮ added new config option which allows you choose how many background panels are drawn when the party is not full.

@Lockheart: I added that last one out of pity for you wink.gif


Totally awesome, thank you very much for that.
Go to the top of the page
 
+Quote Post
   
Stoltz
post Jan 6 2009, 04:06 PM
Post #50


Level 1
Group Icon

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




There is a Clash between this script and the crafting script to. here is the link to the crafting script http://www.rpgrevolution.com/forums/index....9&hl=actors
Go to the top of the page
 
+Quote Post
   
BigEd781
post Jan 6 2009, 04:26 PM
Post #51


No method: 'stupid_title' found for `nil:NilClass'
Group Icon

Group: Revolutionary
Posts: 1,829
Type: Scripter
RM Skill: Undisclosed




QUOTE (Stoltz @ Jan 6 2009, 04:06 PM) *
There is a Clash between this script and the crafting script to. here is the link to the crafting script http://www.rpgrevolution.com/forums/index....9&hl=actors



And again, this method is the problem:

CODE
alias oldCmdWindow create_command_window
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::crafting
    s6 = Vocab::save
    s7 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, false)     # Disable save
    end
  end


You need to merge mine with his. I need to come up with a way to avoid using this function, but until then, you can just add what's different in mine to theirs.


__________________________
`
Give me teh codez!!!


I am the master debator!
Go to the top of the page
 
+Quote Post
   
Stoltz
post Jan 6 2009, 05:10 PM
Post #52


Level 1
Group Icon

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




Oh ok Thanks found out one more thing i had to change so now i can enter without a debug msg coming up.
Now i just have to figure out why i get into save when i press crafting .. hehe well Thanks again =) will try to figure that thing out myself
Go to the top of the page
 
+Quote Post
   
BigEd781
post Jan 6 2009, 05:21 PM
Post #53


No method: 'stupid_title' found for `nil:NilClass'
Group Icon

Group: Revolutionary
Posts: 1,829
Type: Scripter
RM Skill: Undisclosed




There is another function that deals with input. My script does not modify that, so some other script must be doing it.


__________________________
`
Give me teh codez!!!


I am the master debator!
Go to the top of the page
 
+Quote Post
   
Stoltz
post Jan 6 2009, 05:24 PM
Post #54


Level 1
Group Icon

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




okok Thanks alot, will try and fix it myself still a newbie but im learning =)


I figured it out Thanks again

This post has been edited by Stoltz: Jan 6 2009, 05:31 PM
Go to the top of the page
 
+Quote Post
   
N2Y
post Jan 7 2009, 05:09 AM
Post #55


Level 4
Group Icon

Group: Member
Posts: 49
Type: Event Designer
RM Skill: Advanced




Thanks for your help BigEd, it does work what you do. I tried it out in a new project.

However in my original project, first I simply deleted the menu part, because it was in conflict with the Custom Commands script, only put on the commands you wrote down in the menu (Item, Skill, Status, Equip, Save, Game End). It all worked fine when I deleted that menu part in Scene_Menu (FF9 Menu script)

However with this updated script, my menu gets positioned on the wrong side (left side, over the character status windows)
I already tried to use your advice and put them in manually in the FF9 menu script too, but then when I exit the commands, an error with Windows_Selectable pops up. And the menu does not get positioned on the right side either, so it's useless...

I'm afraid I can't use this script anymore.

Any chance you still ahve the previous version somewhere?


__________________________
Go to the top of the page
 
+Quote Post
   
BigEd781
post Jan 7 2009, 10:25 AM
Post #56


No method: 'stupid_title' found for `nil:NilClass'
Group Icon

Group: Revolutionary
Posts: 1,829
Type: Scripter
RM Skill: Undisclosed




No, the problem is not the version. It is a very simple conflict. If you post your conflicting script I will fix it for you.


__________________________
`
Give me teh codez!!!


I am the master debator!
Go to the top of the page
 
+Quote Post
   
N2Y
post Jan 7 2009, 02:17 PM
Post #57


Level 4
Group Icon

Group: Member
Posts: 49
Type: Event Designer
RM Skill: Advanced




I'm afraid I can't give a specific conflicting script. It has to do with all the scripts like 'Bestiary', 'Junction', 'Summon', etc. All those scripts are placed within the menu using the Custom Commands script, which enables you to add commands to the menu in the specific scripts itself.

Everytime it crashes the moment I return to the menu from one of the custom commands. The script system takes me to Window_Selectable with...
CODE
    if @index < 0                   # If the cursor position is less than 0
      self.cursor_rect.empty        # Empty cursor

...specifically on line 213-214

Luckily though, I did make a copy of my project and found an older version of your script, so I can use that instead. Unfortunately, it means the nice "COMMANDS", "TIME & G" and "LOCATION" text above the windows are gone.

Sacrifices need to be made. tongue.gif

(I just delete the s1 = Vocab::Item, etc etc ) part in the Scene_Menu you created, like I said before. This way, there's no conflict whatsoever. The only problem is the texts missing I named above)

Thanks for your help anyways.


__________________________
Go to the top of the page
 
+Quote Post
   
BigEd781
post Jan 7 2009, 02:32 PM
Post #58


No method: 'stupid_title' found for `nil:NilClass'
Group Icon

Group: Revolutionary
Posts: 1,829
Type: Scripter
RM Skill: Undisclosed




If you could upload your entire project for me I will fix it. who knows, it may point out a weakness in my script that I can improve upon.


__________________________
`
Give me teh codez!!!


I am the master debator!
Go to the top of the page
 
+Quote Post
   
Nevfx
post Jan 10 2009, 04:30 PM
Post #59


Level 8
Group Icon

Group: Revolutionary
Posts: 111
Type: Writer
RM Skill: Advanced




Another brilliant script. This and the FF9 Style save screen script of yours have made my game just look so much better.


__________________________
Passage to Other World: Journey Of Lost Souls has gone. I had to get rid of everything on my laptop, so I lost it.


[Show/Hide] Random sig stuff
Go to the top of the page
 
+Quote Post
   
BigEd781
post Jan 10 2009, 06:48 PM
Post #60


No method: 'stupid_title' found for `nil:NilClass'
Group Icon

Group: Revolutionary
Posts: 1,829
Type: Scripter
RM Skill: Undisclosed




UPDATES

Added a new KGC_LargeParty patch. This time as a text fle because all of the unicode characters in the script cause problems. This works, so if you still experience problems it is being caused by another script. Make sure to place the KGC script below mine in the script editor.


__________________________
`
Give me teh codez!!!


I am the master debator!
Go to the top of the page
 
+Quote Post
   

5 Pages V  < 1 2 3 4 5 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 21st May 2013 - 03:41 AM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker