| 
 
| 赞 | 295 |  
| VIP | 11 |  
| 好人卡 | 74 |  
| 积分 | 233 |  
| 经验 | 281171 |  
| 最后登录 | 2025-10-30 |  
| 在线时间 | 9469 小时 |  
 Lv5.捕梦者 (暗夜天使)   只有笨蛋才会看到 
	梦石1 星屑22284 在线时间9469 小时注册时间2012-6-19帖子7126  
 | 
| Game_Interpreter 的 command_101(以及command_105)会在事件执行显示对话指令时,将文本的内容加入到 $game_message 中,window_message 则负责实时检测 $game_message 中是不是有内容,如果有内容的话,显示这些内容并清空 $game_message 
 所以下面提供一个针对 command_101 的对话纪录的思路
 
 
 复制代码
  
  $store = 储存对话纪录的东西
  def command_101
    wait_for_message
    $game_message.face_name = @params[0]
    $game_message.face_index = @params[1]
    $game_message.background = @params[2]
    $game_message.position = @params[3]
    while next_event_code == 401       # 文字数据
      @index += 1
      $game_message.add(@list[@index].parameters[0])
      $store.pre_add(@list[@index].parameters[0])
      # 将对话的内容加入到对话纪录中,由于在这个阶段对话还没有显示,所以先插入到 pre_add 里
      # 对话有几行,pre_add 就会执行几次
    end
    case next_event_code
    when 102  # 显示选项
      @index += 1
      setup_choices(@list[@index].parameters)
    when 103  # 数值输入的处理
      @index += 1
      setup_num_input(@list[@index].parameters)
    when 104  # 物品选择的处理
      @index += 1
      setup_item_choice(@list[@index].parameters)
    end
    wait_for_message
    $store.add
    # 在这个阶段,对话已经全部显示完毕,所以执行一次 add 将之前添加到 pre_add 中的对话正式加入纪录中
  end
 | 
 评分
查看全部评分
 |