查看: 1912|回复: 1

想请人移植个脚本,XP的读书读报系统ver1.1至VX上。

  [复制链接]
梦石
0
星屑
10
在线时间
0 小时
注册时间
2008-7-11
回帖
0
发表于 2008-7-11 01:11:27 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
想请人移植个脚本,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,使用和转载请保留此信息
#==============================================================================
此贴于 2008-8-7 14:13:57 被版主火鸡三毛老大提醒,请楼主看到后对本贴做出回应。
此贴于 2008-8-10 1:01:05 被版主火鸡三毛老大提醒,请楼主看到后对本贴做出回应。

名侦探小柯

梦石
10
星屑
4400
在线时间
3740 小时
注册时间
2006-9-6
回帖
36596

极短27获奖MZ评测员开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

发表于 2008-7-11 01:19:35 | 显示全部楼层
的确比较有用,

不过建议重新写一个吧……
类似那种加强对话框的。
不定期回归 ~ 游戏开发之旅
———————————————————————————————
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部