Project1

标题: rmxp读书读报系统怎么使用 [打印本页]

作者: shaojiajun    时间: 2015-10-17 08:55
标题: rmxp读书读报系统怎么使用
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
class Interpreter
   
  BOOK_READING = 50 # 默认打开50开关后进入读书系统
   
  #--------------------------------------------------------------------------
  # ● 显示文章
  #--------------------------------------------------------------------------
  def command_101
    # 另外的文章已经设置过 message_text 的情况下
    if $game_temp.message_text != nil
      # 结束
      return false
    end
    # 设置信息结束后待机和返回调用标志
    @message_waiting = true
    $game_temp.message_proc = Proc.new { @message_waiting = false }
    # message_text 设置为 1 行
    $game_temp.message_text = @list[@index].parameters[0] + "\n"
    line_count = 1
    # 循环
    loop do
      # 下一个事件指令为文章两行以上的情况
      if $game_switches[BOOK_READING] and @list[@index+1].code == 101#阅读书刊报纸
        unless $game_temp.in_battle
          $scene.message_window.height = 320
          $scene.message_window.contents = Bitmap.new($scene.message_window.width - 32, $scene.message_window.height - 32)
          $scene.message_window.contents.font.size = 20
          $game_temp.message_text += @list[@index+1].parameters[0] +"\n"
          line_count+=1
          @index+=1
        end
      end
      if $game_switches[BOOK_READING]==false
        unless $game_temp.in_battle
          if $scene.message_window.height == 320
            $scene.message_window.height = 160
            $scene.message_window.contents = Bitmap.new($scene.message_window.width - 32, $scene.message_window.height - 32)
            $scene.message_window.contents.font.size = 22
          end
        end
      end
      if @list[@index+1].code == 401
        # message_text 添加到第 2 行以下
        $game_temp.message_text += @list[@index+1].parameters[0] + "\n"
        line_count += 1
      # 事件指令不在文章两行以下的情况
      else
        # 下一个事件指令为显示选择项的情况下
        if @list[@index+1].code == 102
          # 如果选择项能收纳在画面里
          if @list[@index+1].parameters[0].size <= 4 - line_count
            # 推进索引
            @index += 1
            # 设置选择项
            $game_temp.choice_start = line_count
            setup_choices(@list[@index].parameters)
          end
        # 下一个事件指令为处理输入数值的情况下
        elsif @list[@index+1].code == 103
          # 如果数值输入窗口能收纳在画面里
          if line_count < 4
            # 推进索引
            @index += 1
            # 设置输入数值
            $game_temp.num_input_start = line_count
            $game_temp.num_input_variable_id = @list[@index].parameters[0]
            $game_temp.num_input_digits_max = @list[@index].parameters[1]
          end
        end
        # 继续
        return true
      end
      # 推进索引
      @index += 1
    end
  end
end
class Scene_Map
  attr_accessor :message_window
end
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
这个脚本怎么使用

作者: RyanBern    时间: 2015-10-17 09:01
从脚本上来看,使用该系统应该先打开 50号开关,然后在事件中将多个【显示文章】指令连起来写,注意,多个显示文章指令之间不能有其他指令。这样设置之后,该脚本就会将多个【显示文章】的指令合并,生成一个大的对话框来显示较多的文字了。
作者: 无忧谷主幻    时间: 2015-10-17 09:39
此处无声胜有声
Project1.zip (202.99 KB, 下载次数: 107)


作者: 阿硬    时间: 2020-3-26 15:45
无忧谷主幻 发表于 2015-10-17 09:39
此处无声胜有声

想问一下,为啥用了之后还是小的框框,不能合并文本框的内容。
作者: 步兵中尉    时间: 2020-3-26 19:25
阿硬 发表于 2020-3-26 15:45
想问一下,为啥用了之后还是小的框框,不能合并文本框的内容。

你是不是用了其他的关于文字显示的脚本?
比如  66加强对话框Fuki对话框整合+附送功能 这种
作者: 阿硬    时间: 2020-3-27 23:25
步兵中尉 发表于 2020-3-26 19:25
你是不是用了其他的关于文字显示的脚本?
比如  66加强对话框Fuki对话框整合+附送功能  这种 ...

是的,应该是用了
作者: 步兵中尉    时间: 2020-3-28 09:32
阿硬 发表于 2020-3-27 23:25
是的,应该是用了

你用了哪些脚本?
发一个工程上来看看




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