幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2989|回复: 11

[RM2K&2K3] 如何实现通关继承的问题

[复制链接]

19

主题

98

帖子

777

积分

⑤进阶

积分
777
发表于 2008-10-28 21:29:30 | 显示全部楼层 |阅读模式
在标题菜单我加了一个选项
如何让这个选项在玩家没有通关之前不显示或者无法选择
必须通过关一次才可以用?
回复

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2008-10-28 22:43:29 | 显示全部楼层
定义一个全局变量。。。。在Scene_Title里一这个变量作条件分歧

不止明白了么?
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2008-10-28 22:48:20 | 显示全部楼层
算了。。。说的清楚点好了。。。。

比如定义一个全局变量为 $sign

起始时

if $sign
  显示那个特殊的选项
else
  不显示
end

$sign = true/false

当通过关后。。用事件写脚本 $sign = true即可

很简便把

具体Scene_Title怎么改。。。应该不用我做范例了吧

对了。。。别忘了

存档读档的时候都要有这个变量的存/读   
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

19

主题

98

帖子

777

积分

⑤进阶

积分
777
 楼主| 发表于 2008-10-28 22:53:44 | 显示全部楼层
嘛 研究去

存档读档的时候都要有这个变量的存/读   

这句不明白
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2008-10-28 23:15:45 | 显示全部楼层
$sign
  你需要存储游戏的时候也存进去阿。。。同样也需要读取的阿!
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

19

主题

98

帖子

777

积分

⑤进阶

积分
777
 楼主| 发表于 2008-10-29 00:01:02 | 显示全部楼层
好吧 我败了  

下面是我的改好脚本 然后怎么办
  1. #==============================================================================
  2. # ■ Scene_Title
  3. #------------------------------------------------------------------------------
  4. #  处理标题画面的类。
  5. #==============================================================================
  6. class Scene_Title < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 主处理
  9.   #--------------------------------------------------------------------------
  10.   def main
  11.     if $BTEST                         # 战斗测试的情况下
  12.       battle_test                     # 开始战斗测试处理
  13.     else                              # 普通游戏的情况下
  14.       super                           # 原来的主处理
  15.     end
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 开始处理
  19.   #--------------------------------------------------------------------------
  20.   def start
  21.     super
  22.     load_database                     # 载入数据库
  23.     create_game_objects               # 生成游戏对象
  24.     check_continue                    # 判断继续是否有效
  25.     create_title_graphic              # 生成标题画面图像
  26.     create_command_window             # 生成指令窗口
  27.     play_title_music                  # 播放标题画面音乐
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 执行渐变
  31.   #--------------------------------------------------------------------------
  32.   def perform_transition
  33.     Graphics.transition(20)
  34.   end
  35.   #--------------------------------------------------------------------------
  36.   # ● 开始後处理
  37.   #--------------------------------------------------------------------------
  38.   def post_start
  39.     super
  40.     open_command_window
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 结束前处理
  44.   #--------------------------------------------------------------------------
  45.   def pre_terminate
  46.     super
  47.     close_command_window
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ● 结束处理
  51.   #--------------------------------------------------------------------------
  52.   def terminate
  53.     super
  54.     dispose_command_window
  55.     snapshot_for_background
  56.     dispose_title_graphic
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 更新画面
  60.   #--------------------------------------------------------------------------
  61.   def update
  62.     super
  63.     @command_window.update
  64.     if Input.trigger?(Input::C)
  65.       case @command_window.index
  66.       when 0    #New game
  67.         command_new_game
  68.       when 1    # Continue
  69.         command_continue
  70.       when 2    # Shutdown
  71.         command_shutdown
  72.       end
  73.     end
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 载入数据库
  77.   #--------------------------------------------------------------------------
  78.   def load_database
  79.     $data_actors        = load_data("Data/Actors.rvdata")
  80.     $data_classes       = load_data("Data/Classes.rvdata")
  81.     $data_skills        = load_data("Data/Skills.rvdata")
  82.     $data_items         = load_data("Data/Items.rvdata")
  83.     $data_weapons       = load_data("Data/Weapons.rvdata")
  84.     $data_armors        = load_data("Data/Armors.rvdata")
  85.     $data_enemies       = load_data("Data/Enemies.rvdata")
  86.     $data_troops        = load_data("Data/Troops.rvdata")
  87.     $data_states        = load_data("Data/States.rvdata")
  88.     $data_animations    = load_data("Data/Animations.rvdata")
  89.     $data_common_events = load_data("Data/CommonEvents.rvdata")
  90.     $data_system        = load_data("Data/System.rvdata")
  91.     $data_areas         = load_data("Data/Areas.rvdata")
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ● 载入战斗测试数据库
  95.   #--------------------------------------------------------------------------
  96.   def load_bt_database
  97.     $data_actors        = load_data("Data/BT_Actors.rvdata")
  98.     $data_classes       = load_data("Data/BT_Classes.rvdata")
  99.     $data_skills        = load_data("Data/BT_Skills.rvdata")
  100.     $data_items         = load_data("Data/BT_Items.rvdata")
  101.     $data_weapons       = load_data("Data/BT_Weapons.rvdata")
  102.     $data_armors        = load_data("Data/BT_Armors.rvdata")
  103.     $data_enemies       = load_data("Data/BT_Enemies.rvdata")
  104.     $data_troops        = load_data("Data/BT_Troops.rvdata")
  105.     $data_states        = load_data("Data/BT_States.rvdata")
  106.     $data_animations    = load_data("Data/BT_Animations.rvdata")
  107.     $data_common_events = load_data("Data/BT_CommonEvents.rvdata")
  108.     $data_system        = load_data("Data/BT_System.rvdata")
  109.   end
  110.   #--------------------------------------------------------------------------
  111.   # ● 生成各种游戏对象
  112.   #--------------------------------------------------------------------------
  113.   def create_game_objects
  114.     $game_temp          = Game_Temp.new
  115.     $game_message       = Game_Message.new
  116.     $game_system        = Game_System.new
  117.     $game_switches      = Game_Switches.new
  118.     $game_variables     = Game_Variables.new
  119.     $game_self_switches = Game_SelfSwitches.new
  120.     $game_actors        = Game_Actors.new
  121.     $game_party         = Game_Party.new
  122.     $game_troop         = Game_Troop.new
  123.     $game_map           = Game_Map.new
  124.     $game_player        = Game_Player.new
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # ● 判断继续的有效性
  128.   #--------------------------------------------------------------------------
  129.   def check_continue
  130.     @continue_enabled = (Dir.glob('Save*.rvdata').size > 0)
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ● 生成标题图形
  134.   #--------------------------------------------------------------------------
  135.   def create_title_graphic
  136.     @sprite = Sprite.new
  137.     @sprite.bitmap = Cache.system("Title")
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ● 释放标题图形
  141.   #--------------------------------------------------------------------------
  142.   def dispose_title_graphic
  143.     @sprite.bitmap.dispose
  144.     @sprite.dispose
  145.   end
  146.   #--------------------------------------------------------------------------
  147.   # ● 生成命令窗口
  148.   #--------------------------------------------------------------------------
  149.   def create_command_window
  150.     s1 = Vocab::new_game
  151.     s2 = Vocab::continue
  152.     s3 = Vocab::shutdown
  153.     s4 = "特典"
  154.     @command_window = Window_Command.new(172, [s1, s2, s3])
  155.     @command_window.x = (544 - @command_window.width) / 2
  156.     @command_window.y = 288
  157.     if @continue_enabled                    # 如果「继续」有效
  158.       @command_window.index = 2             # 将光标移至「继续游戏」
  159.     else                                    # 否则则将「继续游戏」半透明化
  160.       @command_window.draw_item(2, false)
  161.     end
  162.     @command_window.openness = 0
  163.     @command_window.open
  164.   end
  165.   #--------------------------------------------------------------------------
  166.   # ● 释放命令窗口
  167.   #--------------------------------------------------------------------------
  168.   def dispose_command_window
  169.     @command_window.dispose
  170.   end
  171.   #--------------------------------------------------------------------------
  172.   # ● 开启命令窗口
  173.   #--------------------------------------------------------------------------
  174.   def open_command_window
  175.     @command_window.open
  176.     begin
  177.       @command_window.update
  178.       Graphics.update
  179.     end until @command_window.openness == 255
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # ● 关闭命令窗口
  183.   #--------------------------------------------------------------------------
  184.   def close_command_window
  185.     @command_window.close
  186.     begin
  187.       @command_window.update
  188.       Graphics.update
  189.     end until @command_window.openness == 0
  190.   end
  191.   #--------------------------------------------------------------------------
  192.   # ● 播放标题音乐
  193.   #--------------------------------------------------------------------------
  194.   def play_title_music
  195.     $data_system.title_bgm.play
  196.     RPG::BGS.stop
  197.     RPG::ME.stop
  198.   end
  199.   #--------------------------------------------------------------------------
  200.   # ● 检查主角初期位置是否存在
  201.   #--------------------------------------------------------------------------
  202.   def confirm_player_location
  203.     if $data_system.start_map_id == 0
  204.       print "主角初始位置未设定。"
  205.       exit
  206.     end
  207.   end
  208.   #--------------------------------------------------------------------------
  209.   # ● 命令:新游戏
  210.   #--------------------------------------------------------------------------
  211.   def command_new_game
  212.     confirm_player_location
  213.     Sound.play_decision
  214.     $game_party.setup_starting_members            # 起始队伍
  215.     case @command_window.index
  216.     when 0
  217.     $game_map.setup($data_system.start_map_id)    # 起始位置
  218.     when 1
  219.     $game_map.setup(59)
  220.     end
  221.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  222.     $game_player.refresh
  223.     $scene = Scene_Map.new
  224.     RPG::BGM.fade(1500)
  225.     close_command_window
  226.     Graphics.fadeout(60)
  227.     Graphics.wait(40)
  228.     Graphics.frame_count = 0
  229.     RPG::BGM.stop
  230.     $game_map.autoplay
  231.   end
  232.   #--------------------------------------------------------------------------
  233.   # ● 命令:继续游戏
  234.   #--------------------------------------------------------------------------
  235.   def command_continue
  236.     if @continue_enabled
  237.       Sound.play_decision
  238.       $scene = Scene_File.new(false, true, false)
  239.     else
  240.       Sound.play_buzzer
  241.     end
  242.   end
  243.   #--------------------------------------------------------------------------
  244.   # ● 命令:离开游戏
  245.   #--------------------------------------------------------------------------
  246.   def command_shutdown
  247.     Sound.play_decision
  248.     RPG::BGM.fade(800)
  249.     RPG::BGS.fade(800)
  250.     RPG::ME.fade(800)
  251.     $scene = nil
  252.   end
  253.   #--------------------------------------------------------------------------
  254.   # ● 战斗测试
  255.   #--------------------------------------------------------------------------
  256.   def battle_test
  257.     load_bt_database                  # 载入战斗测试数据库
  258.     create_game_objects               # 生成个各种游戏对象
  259.     Graphics.frame_count = 0          # 初始化游戏时间
  260.     $game_party.setup_battle_test_members
  261.     $game_troop.setup($data_system.test_troop_id)
  262.     $game_troop.can_escape = true
  263.     $game_system.battle_bgm.play
  264.     snapshot_for_background
  265.     $scene = Scene_Battle.new
  266.   end
  267. end
复制代码
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2008-10-29 12:51:41 | 显示全部楼层
data文件夹里的sign.rcdata这个文件不要动。。。。是记录 是否通关的变量的

本帖子中包含更多资源

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

x
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2008-10-29 12:52:34 | 显示全部楼层
这个。。。我很懒惰。。。所以你贴的脚本我没有看。。。见谅
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

19

主题

98

帖子

777

积分

⑤进阶

积分
777
 楼主| 发表于 2008-10-29 13:14:24 | 显示全部楼层
原来这样  

话说 那个 rb  wb  什么意思

储存 读取?
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2008-10-29 22:39:23 | 显示全部楼层
F1  有的阿。。。怎么不看看。。。。。


copy一下虽然XP VX不一样。。脚本都一样是ruby

open(file[, mode])
open(file[, mode]) {|io| ... }
打开 file 并返回 File 对象。mode 可以是下列字符串。省略时默认为 "r"。

"r": 以读取模式打开文件。
"w": 以写入模式打开文件。打开文件时,若文件已存在就清空文件内容。
"a": 以写入模式打开文件。通常把写入内容添加到文件结尾。
若有“+”的话,就以读写两用模式(RDWR)打开文件。

"r+": 将文件的读写位置设在开头。
"w+": 与 "r+" 一样,打开文件时,若文件已存在就清空其内容。
"a+": 与 "r+" 一样,打开文件时,若文件已存在,就把读写位置设在文件结尾。
可在上述任意一项后面添加“b”(如 "r+b")标志。此时,将以二进制方式打开文件。

当 open 与块同时被调用时,open 将打开文件并执行块,当块的运行终止后就关闭文件。此时返回块的计算结果。请看下例。

open(path, mode) do |f|
   ...
end

# 等效代码
f = open(path, mode)
begin
   ...
ensure
  f.close
end
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-5-18 16:36 , Processed in 0.026152 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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