# 「名前入力の処理」頭文字大文字化処理
# by Tetra-Z
#
# 「名前入力の処理」の時、一文字目がアルファベットの場合に大文字に強制します。
#
#
# 注意 : RGSSがver.1.00の場合、先頭の文字を「j」(小文字)にすると強制終了することがあります。
#
# 導入箇所 : Tetra-Z作「「名前入力の処理」入力文字拡張」「「名前入力の処理」おまかせ設定」より下

#==============================================================================
# TetraZ97
#==============================================================================
module TETRAZ97
  def TETRAZ97.need_capitalize(id)
    #==========================================================================
    # □ カスタマイズポイント
    #==========================================================================
    return true
    # 頭文字大文字化処理をするアクターをID毎に設定。idでアクターIDを参照します。
    # パスワード用のアクター名はfalseにする、というのがよいと思われます。
    #==========================================================================
  end
end
#==============================================================================
# ■ Window_NameEdit
#==============================================================================
class Window_NameEdit < Window_Base
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #     actor    : アクター
  #     max_char : 最大文字数
  #--------------------------------------------------------------------------
  alias tetraz97_initialize initialize
  def initialize(actor, max_char)
    tetraz97_initialize(actor, max_char)
    @tetraz97_first_refreshed = true
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  alias tetraz97_refresh refresh
  def refresh
    unless @tetraz97_first_refreshed
      name_capitalize(@name)
    end
    tetraz97_refresh
  end
  #--------------------------------------------------------------------------
  # ● 頭文字大文字化処理
  #--------------------------------------------------------------------------
  def name_capitalize(name)
    return name unless TETRAZ97.need_capitalize(@actor.id)
    name_array = name.split(//)
    reg_str = /\A[a-z]+/
    if (name_array[0] =~ reg_str) != nil
      name_array[0] = name_array[0].upcase
      new_name = ""
      for i in name_array
        new_name += i
      end
      return new_name
    end
    return name
  end
  #--------------------------------------------------------------------------
  # ● デフォルトの名前に戻す
  #--------------------------------------------------------------------------
  alias tetraz97_restore_default restore_default
  def restore_default
    @default_name = name_capitalize(@default_name)
    tetraz97_restore_default
  end
  #--------------------------------------------------------------------------
  # ● 文字の追加
  #     character : 追加する文字
  #--------------------------------------------------------------------------
  alias tetraz97_add add
  def add(character)
    reg_str = /\A[a-z]+/
    if @index == 0 and (character =~ reg_str) != nil
      character = character.upcase
    end
    tetraz97_add(character)
  end
end

[PR]中古車探しはガリバー:在庫多数、全車保証つき!