Project1

标题: 想请人移植个脚本,XP的读书读报系统ver1.1至VX上。 [打印本页]

作者: lhrlhrlhr    时间: 2008-7-11 01:11
标题: 想请人移植个脚本,XP的读书读报系统ver1.1至VX上。
想请人移植个脚本,XP的读书读报系统ver1.1至VX上。
VX好像没有这个能大篇显示文章的脚本,XP有个,直接放上去不好使,所以想请人把这个给移植过去。

脚本内容

#==============================================================================
# 本脚本来自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,使用和转载请保留此信息
#============================================================================== [LINE]1,#dddddd[/LINE]此贴于 2008-8-7 14:13:57 被版主火鸡三毛老大提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]此贴于 2008-8-10 1:01:05 被版主火鸡三毛老大提醒,请楼主看到后对本贴做出回应。
作者: 越前リョーマ    时间: 2008-7-11 01:19
的确比较有用,

不过建议重新写一个吧……
类似那种加强对话框的。




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