Project1

标题: 怎么把多个显示文章合并起来 [打印本页]

作者: 亡灵史莱姆    时间: 2015-8-8 15:58
标题: 怎么把多个显示文章合并起来
rt,就是搞一堆显示文章,然后用一个对话框显示出来,或者说一个很大的框里边可以显示十几二十行的文字【什么表达能力……】
以前记得有这个脚本,但忘记叫什么了
哪位大神有这个脚本,或者有别的方法?

作者: 冷俊逸    时间: 2015-8-8 18:10
脚本编辑里全局搜索一下draw_text?记不清了抱歉
@ RyanBern 扣分
作者: 无忧谷主幻    时间: 2015-8-8 18:46
1. 在Interpreter 2里定位到第40行,插入以下两行内容
   when 108  # 注释
     return command_108
2. 将后附的脚本插入到Main之前
3. 若要打开长文章显示功能,在文章前加入一个注释事件,内容为"LN_start"
4. 若要关闭长文章显示功能,在文章后加入一个注释事件,内容为"LN_end"
5. 将要显示的长文章夹在这两个注释之前即可,对于“显示选择项”和“数值输入”指令,仍然可以智能判断收容(站上的读报系统做不到)。
6. 只要事件执行完毕,长文章显示功能就会自动关掉(就是说你可以只有"LN_start"而没有"LN_end",执行其他事件的显示文章时不会出现任何问题)
RUBY 代码复制
  1. class Interpreter
  2. alias sailcat_clear clear
  3. def clear
  4.    sailcat_clear
  5.    @line_max = 4  # 信息最大行数
  6. end
  7. #--------------------------------------------------------------------------
  8. # ● 显示文章
  9. #--------------------------------------------------------------------------
  10. def command_101
  11.    # 另外的文章已经设置过 message_text 的情况下
  12.    if $game_temp.message_text != nil
  13.      # 结束
  14.      return false
  15.    end
  16.    # 设置信息结束后待机和返回调用标志
  17.    @message_waiting = true
  18.    $game_temp.message_proc = Proc.new { @message_waiting = false }
  19.    # message_text 设置为第 1 行
  20.    $game_temp.message_text = @list[@index].parameters[0] + "\n"
  21.    line_count = 1      
  22.    # 循环
  23.    loop do
  24.      # 下一个事件指令为文章两行以上的情况
  25.      if @list[@index+1].code == 401
  26.        # message_text 添加到第 2 行以下
  27.        $game_temp.message_text += @list[@index+1].parameters[0] + "\n"
  28.        line_count += 1
  29.      # 下一个事件指令为显示文章并且是长文的情况
  30.      elsif @line_max != 4 and @list[@index+1].code == 101
  31.        # 如果文章长度足够
  32.        if line_count < @line_max
  33.          # message_text 添加到现有文章以后
  34.          $game_temp.message_text += @list[@index+1].parameters[0] + "\n"
  35.          line_count += 1
  36.        # 文章长度不够的情况下
  37.        else
  38.          # 继续
  39.          return true
  40.        end
  41.      # 事件指令不在文章两行以下的情况
  42.      else
  43.        # 下一个事件指令为显示选择项的情况下
  44.        if @list[@index+1].code == 102
  45.          # 如果选择项能收纳在画面里
  46.          if @list[@index+1].parameters[0].size <= @line_max - line_count
  47.            # 推进索引
  48.            @index += 1
  49.            # 设置选择项
  50.            $game_temp.choice_start = line_count
  51.            setup_choices(@list[@index].parameters)
  52.          end
  53.        # 下一个事件指令为处理输入数值的情况下
  54.        elsif @list[@index+1].code == 103
  55.          # 如果数值输入窗口能收纳在画面里
  56.          if line_count < @line_max
  57.            # 推进索引
  58.            @index += 1
  59.            # 设置输入数值
  60.            $game_temp.num_input_start = line_count
  61.            $game_temp.num_input_variable_id = @list[@index].parameters[0]
  62.            $game_temp.num_input_digits_max = @list[@index].parameters[1]
  63.          end
  64.        end
  65.        # 继续
  66.        return true
  67.      end
  68.      # 推进索引
  69.      @index += 1
  70.    end
  71. end
  72. #--------------------------------------------------------------------------
  73. # ● 注释
  74. #--------------------------------------------------------------------------
  75. def command_108
  76.    # 注释关键字解释
  77.    case @parameters[0]
  78.    # 长文开始标记
  79.    when "LN_start"
  80.      if $game_temp.in_battle
  81.        @line_max = 4
  82.      else
  83.        case $game_system.message_position
  84.        when 0
  85.          @line_max = 12
  86.        when 1
  87.          @line_max = 8
  88.        when 2
  89.          @line_max = 4
  90.        end
  91.      end
  92.    # 长文结束标记
  93.    when "LN_end"
  94.      @line_max = 4
  95.    end
  96.    # 继续
  97.    return true
  98. end
  99. end

作者: 亡灵史莱姆    时间: 2015-8-8 19:13
无忧谷主幻 发表于 2015-8-8 18:46
1. 在Interpreter 2里定位到第40行,插入以下两行内容
   when 108  # 注释
     return command_108

感谢,问题已解决
作者: creeper0924    时间: 2015-8-12 15:44
不行啊,我的照旧四行字
不过其他没显示出来的就直接跳过了。。。
求解释!
作者: creeper0924    时间: 2015-8-12 15:44
不行啊,我的照旧四行字
不过其他没显示出来的就直接跳过了。。。
求解释!
作者: 亡灵史莱姆    时间: 2015-8-12 18:39
creeper0924 发表于 2015-8-12 15:44
不行啊,我的照旧四行字
不过其他没显示出来的就直接跳过了。。。
求解释! ...

先更改文章选项为“上,显示”试试
至于银行,我现在没时间,过两天看看……还是推荐用事件,可塑性强




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