设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1031|回复: 4
打印 上一主题 下一主题

怎样将"任务查看"放入菜单中(脚本修改)

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
5 小时
注册时间
2007-12-18
帖子
66
跳转到指定楼层
1
发表于 2009-6-12 08:00:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
怎样将"任务查看"放入菜单中,就在状态栏下.(菜单里已经有"读取进度"脚本)
我已经有任务栏脚本(从66里搜的,我粘一起了,有点乱),但不知道如何放进菜单里
试了很多方法就是没法显示.
也请各位大侠能给我这个超级新手指导一下此脚本.
#==============================================================================
# ■ Window_Mession
#------------------------------------------------------------------------------
#  显示任务内容的窗口。
#==============================================================================

class Window_Mession < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化窗口
  #--------------------------------------------------------------------------
  def initialize(mession)
    super(160, 0, 480, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    @mession = mession
    refresh(@mession)
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh(msg)
    @mession = msg
    self.contents.clear
    self.contents.font.color = normal_color
    x = y = 0
    # 有等待显示的文字的情况下
    if @mession != nil
      text = @mession.clone
      # 限制文字处理
      begin
        last_text = text.clone
        text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
      end until text == last_text
      text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
        $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
      end
      # 为了方便、将 "\\\\" 变换为 "\000"
      text.gsub!(/\\\\/) { "\000" }
      # "\\C" 变为 "\001" に、"\\G" 变为 "\002"
      text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
      text.gsub!(/\\[Gg]/) { "\002" }
      # c 获取 1 个字 (如果不能取得文字就循环)
      while ((c = text.slice!(/./m)) != nil)
        # \\ 的情况下
        if c == "\000"
          # 还原为本来的文字
          c = "\\"
        end
        # \C[n] 的情况下
        if c == "\001"
          # 更改文字色
          text.sub!(/\[([0-9]+)\]/, "")
          color = $1.to_i
          if color >= 0 and color <= 7
            self.contents.font.color = text_color(color)
          end
          # 下面的文字
          next
        end
        # 另起一行文字的情况下
        if c == "\n"
          # 刷新选择项及光标的高
          if y >= $game_temp.choice_start
            @cursor_width = [@cursor_width, x].max
          end
          # y 加 1
          y += 1
          x = 0
          # 移动到选择项的下一行
          if y >= $game_temp.choice_start
            x = 8
          end
          # 下面的文字
          next
        end
        # 描绘文字
        self.contents.draw_text(4 + x, 32 * y, 40, 32, c)
        # x 为要描绘文字的加法运算
        x += self.contents.text_size(c).width
      end
    end
  end
end
#==============================================================================
# ■ Scene_Mession
#------------------------------------------------------------------------------
#  显示任务内容的窗口。
#==============================================================================
class Scene_Mession
  #---------------
  # 初始化
  #---------------
  def initialize
    #如果什么都没有
    if $game_system.list == []
      #显示:什么都没有
      @list_window = Window_Command.new(160,["无任务"])
    #此外
    else
      #显示列表
      @list_window = Window_Command.new(160,$game_system.list)
    end   
    @content_window = Window_Mession.new($game_system.contents[0])
  end
  
  #---------------
  # 主循环
  #---------------  
  def main
    # 执行过渡(格式,不用管)
    Graphics.transition
    # 主循环(格式,不用管)
    loop do
      # 刷新游戏画面(格式,不用管)
      Graphics.update
      # 刷新键盘按键的情报(格式,不用管)
      Input.update
      
      
      # 刷新内容
      update
      
      
      # 如果画面被切换的话就中断循环(格式,不用管)
      if $scene != self
        break
      end
    end
    # 过渡(格式,不用管)
    Graphics.freeze   
   
    # 释放内存
    @list_window.dispose
    @content_window.dispose
  end

  #---------------
  # 刷新
  #---------------  
  def update
    # 选项窗口的光标控制功能
    @list_window.update
   
    # 如果按下ESC的时候
    if Input.trigger?(Input::B)
      # 播放“嘟”的一声
      $game_system.se_play($data_system.cancel_se)
      # 返回地图
      $scene = Scene_Map.new
      # 完毕
      return
    end
   
    # 如果按下C的时候
    if Input.trigger?(Input::C)
      # 播放“嘟”的一声
      $game_system.se_play($data_system.decision_se)
      # 显示内容
      @content_window.refresh($game_system.contents[@list_window.index])
      # 完毕
      return
    end
   
  end
  
end
#==============================================================================
# ■ Game_System
#------------------------------------------------------------------------------
#  处理系统附属数据的类。也可执行诸如 BGM 管理之类的功能。本类的实例请参考
# $game_system 。
#==============================================================================
class Game_System
  #----------------------
  # ● 插入任务
  #----------------------
  def new_msg(n1,n2)
    @list.push(n1)
    @contents.push(n2)
  end
  #----------------------
  # ● 删除任务
  #----------------------
  def del_msg(n1,n2)
    # 首先用j作为变量,循环一下
    for j in [email protected]
      # 如果找到了标题名、内容都符合要求的位置j
      if @list[j]==n1 and @contents[j]==n2
        # 把j位置的内容删掉
        @list.delete_at(j)
        @contents.delete_at(j)
      end
    end
  end
#==============================================================================
我的博客http://blog.sina.com.cn/tsukinomieloko里面有我自己做的游戏的图片

Lv2.观梦者

龙骑

梦石
0
星屑
525
在线时间
10 小时
注册时间
2007-12-31
帖子
2030
2
发表于 2008-2-13 21:37:37 | 只看该作者
任务栏脚本..是哪个..发个地址..

算了..54我...看LX的..
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-26
帖子
1544
3
发表于 2008-2-13 22:01:10 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
5 小时
注册时间
2007-12-18
帖子
66
4
 楼主| 发表于 2008-2-14 00:21:58 | 只看该作者
出来的好快呀,这个问题折腾我了一晚上,我先回去试试.
谢谢哦
我的博客http://blog.sina.com.cn/tsukinomieloko里面有我自己做的游戏的图片
回复 支持 反对

使用道具 举报

Lv3.寻梦者

永久的旅行者

梦石
1
星屑
110
在线时间
404 小时
注册时间
2006-12-13
帖子
3091

开拓者贵宾第3届短篇游戏大赛主流游戏组季军第5届短篇游戏比赛季军

5
发表于 2008-2-14 00:43:15 | 只看该作者
楼上的脚本会把搂主的"读取进度"脚本弄不见的...

解决方法--自己改脚本

搂主是使用这个脚本吗?
“菜单中添加读取进度功能”
http://rpg.blue/web/htm/news38.htm

如果是的话,请往下看,如不是,也请看看,或许会让你悟出解决方法...

1.
脚本第35行处,在“s7 = "退出游戏"”下面加一句“s8 = "任务查看"
然后第36行,“    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])”的s7后面加上s8,变成“    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8])”
这样,窗口就会出现第8个选项

2.
在脚本第191行,“end”之前插入这几句
   
when 7  # 任务查看
        # 決定 SE を演奏
        $game_system.se_play($data_system.decision_se)
        # 任务查看界面替换
        $scene = Scene_Mession.new

这样,第8选项就会进入任务界面
注意:窗口的选项8是使用7,以此轮推

3.
在"任务查看"脚本第148行,
“     $scene = Scene_Map.new”换去“     $scene = Scene_Menu.new(7)”
这样,任务界面按取消后就会回到菜单。( )里的号码代表光标回去的位置(第8选项)


这样就完成了...
如果要更改编排方式,就要靠自己了...
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-13 06:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表