Project1

标题: 名字输入脚本想把日文名选择那一栏也改成中文名选择 [打印本页]

作者: 七禽七兽    时间: 2007-8-27 23:11
标题: 名字输入脚本想把日文名选择那一栏也改成中文名选择
就是那个名字输入加强的脚本,想把日文名选择那一栏也改成中文名选择应该改动哪些地方??

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


class Scene_Name
  # -------------------------
  def main
    @actor = $game_actors[$game_temp.name_actor_id]
    @edit_window = Window_NameEdit.new(@actor, $game_temp.name_max_char)
    @input_window = Window_NameInput.new
    @alert_window = Window_Base.new(188, 208, 264, 64)
    @alert_window.contents = Bitmap.new(228, 32)
    @alert_window.contents.font.name = "黑体"
    @alert_window.contents.font.size = 24
    @alert_window.contents.draw_text(0, 0, 228, 32, "你必须输入一个名字")
    @alert_window.z = 1001
    @alert_window.visible = false
    c1 = " English"
    c2 = " ひらがな"
    c3 = " 输入中文"
    c4 = "   空格"
    c5 = "   退格"
    c6 = " 默认姓名"
    c7 = "   确定"
    commands = [c1, c2, c3, c4, c5, c6, c7]
    @command_window = Window_NameCommand.new(160, commands)
    @input_window.active = false
    @input_window.visible = true
    @command_window.index = 0
    @command_window.visible = true
    @command_window.active = true
    @command_window.x = 0
    @command_window.y = 128
    @command_window.z = 1000
    @alert_count = 0
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @edit_window.dispose
    @input_window.dispose
    @command_window.dispose
    @alert_window.dispose
  end
  # -------------------------
  def update
    @edit_window.update
    @input_window.update
    @command_window.update
    @alert_window.update
    if @alert_window.visible == true && @alert_count > 0
      @alert_count -= 1
      if @alert_count <= 0
        @command_window.active = true
        @alert_window.visible = false
      end
    return
    end
    if @input_window.active == false
      @command_window.active = true
    end
    if @command_window.active == false
      @input_window.active = true
    end
    if Input.repeat?(Input::B) && @input_window.active == true
      if @edit_window.index == 0
        return
      else
      $game_system.se_play($data_system.cancel_se)
      @edit_window.back
      end
    end
    if Input.repeat?(Input::B) && @command_window.active == true
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    if Input.trigger?(Input::C)
      if @command_window.active == true
        case @command_window.index
        when 0
        $game_system.se_play($data_system.decision_se)
        @input_window.mode = 1
        @input_window.refresh
        @command_window.active = false
        @input_window.active = true
        @input_window.index = 0
        return
        when 1
        $game_system.se_play($data_system.decision_se)
        @input_window.mode = 2
        @input_window.refresh
        @command_window.active = false
        @input_window.active = true
        @input_window.index = 0
        return
        when 2
        $game_system.se_play($data_system.decision_se)
        @input_window.mode = 3
        @input_window.refresh
        @command_window.active = false
        @input_window.active = true
        @input_window.index = 0
        return
        when 3
        if @edit_window.index < $game_temp.name_max_char
          $game_system.se_play($data_system.decision_se)
          @edit_window.add(" ")
        else
          $game_system.se_play($data_system.buzzer_se)
        end
        return
        when 4
        $game_system.se_play($data_system.decision_se)
        @edit_window.back
        return
        when 5
        $game_system.se_play($data_system.decision_se)
        @edit_window.restore_default
        return
        when 6
        if @edit_window.name == ""
          $game_system.se_play($data_system.buzzer_se)
          @alert_window.visible = true
          @command_window.active = false
          @alert_count = 60
          return
        end
          $game_system.se_play($data_system.decision_se)
          @actor.name = @edit_window.name
          $game_system.se_play($data_system.decision_se)
          $scene = Scene_Map.new
          return
        end
       end
      if @edit_window.index == $game_temp.name_max_char &&
        @input_window.active == true
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      if @input_window.character == "" && @input_window.active == true
        $game_system.se_play($data_system.buzzer_se)
        return
      end
     if @input_window.character != nil && @input_window.active == true &&
        @edit_window.index <= $game_temp.name_max_char
      $game_system.se_play($data_system.decision_se)
      if @input_window.mode == 1
        @edit_window.char_type[@edit_window.index] = 1
      else
        @edit_window.char_type[@edit_window.index] = 2
      end
      @edit_window.add(@input_window.character)
      end
      return
      end
  end
end




class Window_NameEdit < Window_Base
  # ---------------------------
  attr_accessor :char_type
  attr_reader   :name
  attr_reader   :index
  # ---------------------------
  def initialize(actor, max_char)
    super(0, 0, 640, 128)
    self.contents = Bitmap.new(width - 32, height - 32)
    @actor = actor
    @name = actor.name
    @max_char = max_char
    @char_type = []
    name_array = @name.split(//)[0...@max_char]
    @name = ""
    for i in 0...name_array.size
      @name += name_array
      @char_type = 1
    end
    @default_name = @name
    @index = name_array.size
    refresh
    update_cursor_rect
  end
  # ---------------------------
  def restore_default
    @name = @default_name
    for i in 0..@default_name.size
       @char_type = 1
    end
    @index = @name.split(//).size
    refresh
    update_cursor_rect
  end
  # ---------------------------
  def add(character)
    if @index < @max_char and character != ""
      @name += character
      @index += 1
      refresh
      update_cursor_rect
    end
  end
  # ---------------------------
  def back
    if @index > 0
      name_array = @name.split(//)
      @name = ""
      for i in 0...name_array.size-1
        @name += name_array
      end
      @index -= 1
      refresh
      update_cursor_rect
    end
  end
  # ---------------------------
  def refresh
    self.contents.clear
    name_array = @name.split(//)
    for i in 0...@max_char
      c = name_array
      if c == nil
        c = "_"
      end
      x = 320 - @max_char * 14 + i * 28
      if @char_type == 1
        self.contents.font.name = "黑体"
        self.contents.font.size = 24
      else
        self.contents.font.name = "黑体"
        self.contents.font.size = 22
      end
      self.contents.draw_text(x, 32, 28, 32, c, 1)
    end
    draw_actor_graphic(@actor, 320 - @max_char * 14 - 40, 80)
  end
  # ---------------------------
  def update_cursor_rect
    x = 320 - @max_char * 14 + @index * 28
    self.cursor_rect.set(x, 32, 28, 32)
  end
  # ---------------------------
  def update
    super
    update_cursor_rect
  end
end




class Window_NameInput < Window_Base
  # ----------------------------------
  attr_accessor :mode
  # ----------------------------------
  ENGLISH_TABLE =
  [
    "A","B","C","D","E",
    "F","G","H","I","J",
    "K","L","M","N","O",
    "P","Q","R","S","T",
    "U","V","W","X","Y",
    "Z","","","","",
    "0","1","2","3","4",
    "5", "6" ,"7", "8" ,"9",
    "","","","","",
    "a", "b" ,"c", "d" ,"e",
    "f","g","h","i","j",
    "k","l","m","n","o",
    "p","q","r","s","t",
    "u","v","w","x","y",
    "z","","","","",
    ".",",","?","!","/",
    "\\","<",">",";",":",
    "","", "" , "" , "" ,
    "@","#","$","%","^",
    "&","*","(",")","",
    "[","]","'","\"","~",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "", "" ,"", "" ,"",
    "","","","","",
  ]
  HIRAGANA_TABLE =
  [
    "あ","い","う","え","お",
    "か","き","く","け","こ",
    "さ","し","す","せ","そ",
    "た","ち","つ","て","と",
    "な","に","ぬ","ね","の",
    "は","ひ","ふ","へ","ほ",
    "ま","み","む","め","も",
    "や", "" ,"ゆ", "" ,"よ",
    "ら","り","る","れ","ろ",
    "わ", "" ,"を", "" ,"ん",
    "が","ぎ","ぐ","げ","ご",
    "ざ","じ","ず","ぜ","ぞ",
    "だ","ぢ","づ","で","ど",
    "ば","び","ぶ","べ","?,
    "ぱ","ぴ","ぷ","ぺ","ぽ",
    "ゃ","ゅ","ょ","っ","ゎ",
    "ぁ","ぃ","ぅ","ぇ","ぉ",
    "ー","・", "" , "" , "" ,
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
  ]
  KATAKANA_TABLE =
  [
    "赵","钱","孙","李","百",
    "周","吴","郑","王","家",
    "需","要","什","么","姓",
    "文","字","请","自","己",
    "去","填","加",",","只",
    "要","替","换","现","有",
    "文","字","即","可","。",
    "你","也" ,"可", "以" ,"把",
    "日","文","英","文","改",
    "成","中" ,"文", "," ,"常",
    "用","汉","字","基","本",
    "也","就","够","用","了",
    "文","字","太","多","玩",
    "家","也","不","会","有",
    "心","思","去","找","·",
    "","","","","",
    "","","","","",
    "","","", "" , "" ,
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
  ]
  # ----------------------------------
  def initialize
    super(160, 128, 480, 352)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.active = false
    @index = -1
    @mode = 1
    refresh
    update_cursor_rect
  end
  # ----------------------------------
  def index=(value)
    @index = value
    update_cursor_rect
  end
  #--------------------------------------
  def character
    if @mode == 1
    return ENGLISH_TABLE[@index]
  elsif @mode == 2
    return HIRAGANA_TABLE[@index]
  else
    return KATAKANA_TABLE[@index]
    end
  end
  # ----------------------------------
  def refresh
    self.contents.clear
    for i in 0..134
      x = 4 + i / 5 / 9 * 152 + i % 5 * 28
      y = i / 5 % 9 * 32
      if @mode == 1
      self.contents.font.name = "黑体"
      self.contents.font.size = 24
      self.contents.draw_text(x, y, 28, 32, ENGLISH_TABLE, 1)
    elsif @mode == 2
      self.contents.font.name = "黑体"
      self.contents.font.size = 22
      self.contents.draw_text(x, y, 28, 32, HIRAGANA_TABLE, 1)
    else
      self.contents.font.name = "黑体"
      self.contents.font.size = 22
      self.contents.draw_text(x, y, 28, 32, KATAKANA_TABLE, 1)
      end
    end
  end
  # ----------------------------------
  def update_cursor_rect
    if self.active == false
      self.cursor_rect.empty
    else
      x = 4 + @index / 5 / 9 * 152 + @index % 5 * 28
      y = @index / 5 % 9 * 32
      self.cursor_rect.set(x, y, 28, 32)
    end
  end
  # ----------------------------------
  def update
    super
    if @index >= 0 && @index <= 134
      if Input.repeat?(Input::RIGHT)
        $game_system.se_play($data_system.cursor_se)
          if @index % 5 == 4
            if @index < 94
              @index += 41
            end
          else
            @index += 1
          end
        end
      if Input.repeat?(Input::LEFT)
        $game_system.se_play($data_system.cursor_se)
          if @index % 5 == 0
            if @index < 45
              self.active = false
              @index = -999
              return
            else
              @index -= 41
            end
          else
            @index -= 1
          end
      end
      if Input.repeat?(Input::DOWN)
        $game_system.se_play($data_system.cursor_se)
        if @index % 45 < 40
          @index += 5
        end
      end
      if Input.repeat?(Input::UP)
        if Input.trigger?(Input::UP) or @index % 45 >= 5
          $game_system.se_play($data_system.cursor_se)
          if @index % 45 >= 5
            @index -= 5
          end
        end
      end
    end
    update_cursor_rect
  end
end




class Window_NameCommand < Window_Command
# -------------------------------
  def refresh
    self.contents.clear
    for i in 0...@item_max
      if i == 1 or i == 2
        font = 1
        self.contents.font.name = "黑体"
        self.contents.font.size = 22
      else
        font = 0
        self.contents.font.name = "黑体"
        self.contents.font.size = 24
      end
      draw_item(i, normal_color, font)
    end
  end
# -------------------------------
def draw_item(index, color, f)
  if f == 0
    self.contents.font.color = color
    self.contents.font.name = "黑体"
    self.contents.font.size = 24
  else
    self.contents.font.name = "黑体"
    self.contents.font.size = 22
  end
    rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.draw_text(rect, @commands[index])
  end
end

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 七禽七兽    时间: 2007-8-27 23:11
标题: 名字输入脚本想把日文名选择那一栏也改成中文名选择
就是那个名字输入加强的脚本,想把日文名选择那一栏也改成中文名选择应该改动哪些地方??

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


class Scene_Name
  # -------------------------
  def main
    @actor = $game_actors[$game_temp.name_actor_id]
    @edit_window = Window_NameEdit.new(@actor, $game_temp.name_max_char)
    @input_window = Window_NameInput.new
    @alert_window = Window_Base.new(188, 208, 264, 64)
    @alert_window.contents = Bitmap.new(228, 32)
    @alert_window.contents.font.name = "黑体"
    @alert_window.contents.font.size = 24
    @alert_window.contents.draw_text(0, 0, 228, 32, "你必须输入一个名字")
    @alert_window.z = 1001
    @alert_window.visible = false
    c1 = " English"
    c2 = " ひらがな"
    c3 = " 输入中文"
    c4 = "   空格"
    c5 = "   退格"
    c6 = " 默认姓名"
    c7 = "   确定"
    commands = [c1, c2, c3, c4, c5, c6, c7]
    @command_window = Window_NameCommand.new(160, commands)
    @input_window.active = false
    @input_window.visible = true
    @command_window.index = 0
    @command_window.visible = true
    @command_window.active = true
    @command_window.x = 0
    @command_window.y = 128
    @command_window.z = 1000
    @alert_count = 0
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @edit_window.dispose
    @input_window.dispose
    @command_window.dispose
    @alert_window.dispose
  end
  # -------------------------
  def update
    @edit_window.update
    @input_window.update
    @command_window.update
    @alert_window.update
    if @alert_window.visible == true && @alert_count > 0
      @alert_count -= 1
      if @alert_count <= 0
        @command_window.active = true
        @alert_window.visible = false
      end
    return
    end
    if @input_window.active == false
      @command_window.active = true
    end
    if @command_window.active == false
      @input_window.active = true
    end
    if Input.repeat?(Input::B) && @input_window.active == true
      if @edit_window.index == 0
        return
      else
      $game_system.se_play($data_system.cancel_se)
      @edit_window.back
      end
    end
    if Input.repeat?(Input::B) && @command_window.active == true
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    if Input.trigger?(Input::C)
      if @command_window.active == true
        case @command_window.index
        when 0
        $game_system.se_play($data_system.decision_se)
        @input_window.mode = 1
        @input_window.refresh
        @command_window.active = false
        @input_window.active = true
        @input_window.index = 0
        return
        when 1
        $game_system.se_play($data_system.decision_se)
        @input_window.mode = 2
        @input_window.refresh
        @command_window.active = false
        @input_window.active = true
        @input_window.index = 0
        return
        when 2
        $game_system.se_play($data_system.decision_se)
        @input_window.mode = 3
        @input_window.refresh
        @command_window.active = false
        @input_window.active = true
        @input_window.index = 0
        return
        when 3
        if @edit_window.index < $game_temp.name_max_char
          $game_system.se_play($data_system.decision_se)
          @edit_window.add(" ")
        else
          $game_system.se_play($data_system.buzzer_se)
        end
        return
        when 4
        $game_system.se_play($data_system.decision_se)
        @edit_window.back
        return
        when 5
        $game_system.se_play($data_system.decision_se)
        @edit_window.restore_default
        return
        when 6
        if @edit_window.name == ""
          $game_system.se_play($data_system.buzzer_se)
          @alert_window.visible = true
          @command_window.active = false
          @alert_count = 60
          return
        end
          $game_system.se_play($data_system.decision_se)
          @actor.name = @edit_window.name
          $game_system.se_play($data_system.decision_se)
          $scene = Scene_Map.new
          return
        end
       end
      if @edit_window.index == $game_temp.name_max_char &&
        @input_window.active == true
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      if @input_window.character == "" && @input_window.active == true
        $game_system.se_play($data_system.buzzer_se)
        return
      end
     if @input_window.character != nil && @input_window.active == true &&
        @edit_window.index <= $game_temp.name_max_char
      $game_system.se_play($data_system.decision_se)
      if @input_window.mode == 1
        @edit_window.char_type[@edit_window.index] = 1
      else
        @edit_window.char_type[@edit_window.index] = 2
      end
      @edit_window.add(@input_window.character)
      end
      return
      end
  end
end




class Window_NameEdit < Window_Base
  # ---------------------------
  attr_accessor :char_type
  attr_reader   :name
  attr_reader   :index
  # ---------------------------
  def initialize(actor, max_char)
    super(0, 0, 640, 128)
    self.contents = Bitmap.new(width - 32, height - 32)
    @actor = actor
    @name = actor.name
    @max_char = max_char
    @char_type = []
    name_array = @name.split(//)[0...@max_char]
    @name = ""
    for i in 0...name_array.size
      @name += name_array
      @char_type = 1
    end
    @default_name = @name
    @index = name_array.size
    refresh
    update_cursor_rect
  end
  # ---------------------------
  def restore_default
    @name = @default_name
    for i in 0..@default_name.size
       @char_type = 1
    end
    @index = @name.split(//).size
    refresh
    update_cursor_rect
  end
  # ---------------------------
  def add(character)
    if @index < @max_char and character != ""
      @name += character
      @index += 1
      refresh
      update_cursor_rect
    end
  end
  # ---------------------------
  def back
    if @index > 0
      name_array = @name.split(//)
      @name = ""
      for i in 0...name_array.size-1
        @name += name_array
      end
      @index -= 1
      refresh
      update_cursor_rect
    end
  end
  # ---------------------------
  def refresh
    self.contents.clear
    name_array = @name.split(//)
    for i in 0...@max_char
      c = name_array
      if c == nil
        c = "_"
      end
      x = 320 - @max_char * 14 + i * 28
      if @char_type == 1
        self.contents.font.name = "黑体"
        self.contents.font.size = 24
      else
        self.contents.font.name = "黑体"
        self.contents.font.size = 22
      end
      self.contents.draw_text(x, 32, 28, 32, c, 1)
    end
    draw_actor_graphic(@actor, 320 - @max_char * 14 - 40, 80)
  end
  # ---------------------------
  def update_cursor_rect
    x = 320 - @max_char * 14 + @index * 28
    self.cursor_rect.set(x, 32, 28, 32)
  end
  # ---------------------------
  def update
    super
    update_cursor_rect
  end
end




class Window_NameInput < Window_Base
  # ----------------------------------
  attr_accessor :mode
  # ----------------------------------
  ENGLISH_TABLE =
  [
    "A","B","C","D","E",
    "F","G","H","I","J",
    "K","L","M","N","O",
    "P","Q","R","S","T",
    "U","V","W","X","Y",
    "Z","","","","",
    "0","1","2","3","4",
    "5", "6" ,"7", "8" ,"9",
    "","","","","",
    "a", "b" ,"c", "d" ,"e",
    "f","g","h","i","j",
    "k","l","m","n","o",
    "p","q","r","s","t",
    "u","v","w","x","y",
    "z","","","","",
    ".",",","?","!","/",
    "\\","<",">",";",":",
    "","", "" , "" , "" ,
    "@","#","$","%","^",
    "&","*","(",")","",
    "[","]","'","\"","~",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "", "" ,"", "" ,"",
    "","","","","",
  ]
  HIRAGANA_TABLE =
  [
    "あ","い","う","え","お",
    "か","き","く","け","こ",
    "さ","し","す","せ","そ",
    "た","ち","つ","て","と",
    "な","に","ぬ","ね","の",
    "は","ひ","ふ","へ","ほ",
    "ま","み","む","め","も",
    "や", "" ,"ゆ", "" ,"よ",
    "ら","り","る","れ","ろ",
    "わ", "" ,"を", "" ,"ん",
    "が","ぎ","ぐ","げ","ご",
    "ざ","じ","ず","ぜ","ぞ",
    "だ","ぢ","づ","で","ど",
    "ば","び","ぶ","べ","?,
    "ぱ","ぴ","ぷ","ぺ","ぽ",
    "ゃ","ゅ","ょ","っ","ゎ",
    "ぁ","ぃ","ぅ","ぇ","ぉ",
    "ー","・", "" , "" , "" ,
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
  ]
  KATAKANA_TABLE =
  [
    "赵","钱","孙","李","百",
    "周","吴","郑","王","家",
    "需","要","什","么","姓",
    "文","字","请","自","己",
    "去","填","加",",","只",
    "要","替","换","现","有",
    "文","字","即","可","。",
    "你","也" ,"可", "以" ,"把",
    "日","文","英","文","改",
    "成","中" ,"文", "," ,"常",
    "用","汉","字","基","本",
    "也","就","够","用","了",
    "文","字","太","多","玩",
    "家","也","不","会","有",
    "心","思","去","找","·",
    "","","","","",
    "","","","","",
    "","","", "" , "" ,
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
    "","","","","",
  ]
  # ----------------------------------
  def initialize
    super(160, 128, 480, 352)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.active = false
    @index = -1
    @mode = 1
    refresh
    update_cursor_rect
  end
  # ----------------------------------
  def index=(value)
    @index = value
    update_cursor_rect
  end
  #--------------------------------------
  def character
    if @mode == 1
    return ENGLISH_TABLE[@index]
  elsif @mode == 2
    return HIRAGANA_TABLE[@index]
  else
    return KATAKANA_TABLE[@index]
    end
  end
  # ----------------------------------
  def refresh
    self.contents.clear
    for i in 0..134
      x = 4 + i / 5 / 9 * 152 + i % 5 * 28
      y = i / 5 % 9 * 32
      if @mode == 1
      self.contents.font.name = "黑体"
      self.contents.font.size = 24
      self.contents.draw_text(x, y, 28, 32, ENGLISH_TABLE, 1)
    elsif @mode == 2
      self.contents.font.name = "黑体"
      self.contents.font.size = 22
      self.contents.draw_text(x, y, 28, 32, HIRAGANA_TABLE, 1)
    else
      self.contents.font.name = "黑体"
      self.contents.font.size = 22
      self.contents.draw_text(x, y, 28, 32, KATAKANA_TABLE, 1)
      end
    end
  end
  # ----------------------------------
  def update_cursor_rect
    if self.active == false
      self.cursor_rect.empty
    else
      x = 4 + @index / 5 / 9 * 152 + @index % 5 * 28
      y = @index / 5 % 9 * 32
      self.cursor_rect.set(x, y, 28, 32)
    end
  end
  # ----------------------------------
  def update
    super
    if @index >= 0 && @index <= 134
      if Input.repeat?(Input::RIGHT)
        $game_system.se_play($data_system.cursor_se)
          if @index % 5 == 4
            if @index < 94
              @index += 41
            end
          else
            @index += 1
          end
        end
      if Input.repeat?(Input::LEFT)
        $game_system.se_play($data_system.cursor_se)
          if @index % 5 == 0
            if @index < 45
              self.active = false
              @index = -999
              return
            else
              @index -= 41
            end
          else
            @index -= 1
          end
      end
      if Input.repeat?(Input::DOWN)
        $game_system.se_play($data_system.cursor_se)
        if @index % 45 < 40
          @index += 5
        end
      end
      if Input.repeat?(Input::UP)
        if Input.trigger?(Input::UP) or @index % 45 >= 5
          $game_system.se_play($data_system.cursor_se)
          if @index % 45 >= 5
            @index -= 5
          end
        end
      end
    end
    update_cursor_rect
  end
end




class Window_NameCommand < Window_Command
# -------------------------------
  def refresh
    self.contents.clear
    for i in 0...@item_max
      if i == 1 or i == 2
        font = 1
        self.contents.font.name = "黑体"
        self.contents.font.size = 22
      else
        font = 0
        self.contents.font.name = "黑体"
        self.contents.font.size = 24
      end
      draw_item(i, normal_color, font)
    end
  end
# -------------------------------
def draw_item(index, color, f)
  if f == 0
    self.contents.font.color = color
    self.contents.font.name = "黑体"
    self.contents.font.size = 24
  else
    self.contents.font.name = "黑体"
    self.contents.font.size = 22
  end
    rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.draw_text(rect, @commands[index])
  end
end

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 雪翼飞马    时间: 2007-8-27 23:22
看见""了没?把"和"中间的日文字换成你想要的字,想换什么就可以换什么!
作者: 七禽七兽    时间: 2007-8-27 23:40
改了就提示脚本行出错,提示说:CANNOT CONVERT NIL INTO STRING
作者: 雪翼飞马    时间: 2007-8-27 23:45
要这样改


"あ","い","う","え","お"
改成
"艾","阿","贝","娜","卡"
这样,引号和逗号什么的必须保持远洋!

作者: 七禽七兽    时间: 2007-8-27 23:55
我就是这么替换的,还是会出错。而且那个脚本原封不动插入的话再运行,会提示脚本""的311行发生SYNTAXERROR,只有把日文输入那部分删了才能运行游戏
作者: 七禽七兽    时间: 2007-8-27 23:59
也就是说,一定要把原脚本的以下这一段全删了才能进入游戏,这是为什么?

HIRAGANA_TABLE =
[
   "あ","い","う","え","お",
   "か","き","く","け","こ",
   "さ","し","す","せ","そ",
   "た","ち","つ","て","と",
   "な","に","ぬ","ね","の",
   "は","ひ","ふ","へ","ほ",
   "ま","み","む","め","も",
   "や", "" ,"ゆ", "" ,"よ",
   "ら","り","る","れ","ろ",
   "わ", "" ,"を", "" ,"ん",
   "が","ぎ","ぐ","げ","ご",
   "ざ","じ","ず","ぜ","ぞ",
   "だ","ぢ","づ","で","ど",
   "ば","び","ぶ","べ","?,
   "ぱ","ぴ","ぷ","ぺ","ぽ",
   "ゃ","ゅ","ょ","っ","ゎ",
   "ぁ","ぃ","ぅ","ぇ","ぉ",
   "ー","・", "" , "" , "" ,
   "","","","","",
   "","","","","",
   "","","","","",
   "","","","","",
   "","","","","",
   "","","","","",
   "","","","","",
   "","","","","",
   "","","","","",
   "","","","","",
]

作者: 雪翼飞马    时间: 2007-8-28 00:05
"ば","び","ぶ","べ","?,


这里少了个引号........在?后面加上就好了 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 柳佳淇    时间: 2007-8-28 00:10
だ","ぢ","づ","で","ど",
  "ば","び","ぶ","べ","?,
  "ぱ","ぴ","ぷ","ぺ","ぽ",


在311行这里你的脚本有一处错误,那就是问号的后面少了一个引号“,只要加上,就什么错误页没有了
改后的311行
"ば","び","ぶ","べ","?",
把这行改回去就对了,我看的仔细把
作者: 七禽七兽    时间: 2007-8-28 00:16
原来如此。。
作者: 柳佳淇    时间: 2007-8-28 00:18
没有问题,因为只是显示的问题,所以放心大胆的改吧




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1