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

Project1

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

66的真实商店脚本…

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
23 小时
注册时间
2008-6-17
帖子
200
跳转到指定楼层
1
发表于 2008-10-2 01:24:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
不知道这个是不是BUG。

  1. 使用方法:
  2. #
  3. # 1、在下面被井号框起来的中间部分,设置初期物品。格式如下:
  4. #    @goods[商店编号] = [ [种类,ID,可卖数量] ,  [种类,ID,可卖数量]......]
  5. #    其中种类,0为道具,1为武器,2为防具;ID是数据库编号
  6. #
  7. # 2、调用:$scene = Scene_Shop_Va.new(商店编号)  
  8. #    比如你可以直接测试$scene = Scene_Shop_Va.new(1),已经设置好了。
  9. #
  10. # 3、商店出货:$game_system.shop_change(商店编号,种类,ID,数量)
  11. #    如果是进货,把数量设置为负数即可
  12. #

  13. # 初期的时候的商店物品,编号顺序:种类,ID,可卖数量
  14.    @goods[2] = [[0,1,99],[0,2,80],[0,3,40],[0,4,99],[0,5,80],[0,6,40],[0,8,99],[0,10,99],[0,11,99],[0,12,99]]  
  15.    @goods[3] = [[1,1,3],[1,2,3],[1,12,3],[1,13,3],[1,23,3],[1,24,3],[2,1,3],[2,2,3],[2,3,3],[2,4,3],[2,5,3],[2,6,3],[2,7,3],[2,8,3],[2,9,3],[2,10,3]]  
  16.    @goods[4] = [[0,5,2],[1,3,1],[1,2,3]]
复制代码


此时我的游戏制作到了一半,(有存档),我需要定义一个新的商店,@goods[5],设置好以后却无法读取存档调用。
如果想要正常调用@goods[5]进如该商店的话,只有一个办法,就是重新开始游戏。
这是BUG吗?还是66大人有意而为?
这样不是很不方便DEBUG么?
请问如果我想要在现有存档的基础上修改真实商店,该怎么做?
此贴于 2008-10-7 13:24:07 被版主darkten提醒,请楼主看到后对本贴做出回应。

Lv1.梦旅人

梦石
0
星屑
50
在线时间
23 小时
注册时间
2008-6-17
帖子
200
2
 楼主| 发表于 2008-10-2 04:07:29 | 只看该作者
继续顶求教…
回复 支持 反对

使用道具 举报

Lv1.梦旅人

B

梦石
0
星屑
50
在线时间
26 小时
注册时间
2007-8-26
帖子
3693
3
发表于 2008-10-2 04:18:45 | 只看该作者
那不是bug,读档的时候没有定义开始游戏后添加的变量,当然会出错啦~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
23 小时
注册时间
2008-6-17
帖子
200
4
 楼主| 发表于 2008-10-2 05:35:30 | 只看该作者
以下引用ONEWateR于2008-10-1 20:18:45的发言:

那不是bug,读档的时候没有定义开始游戏后添加的变量,当然会出错啦~


如何使读档时加载?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

B

梦石
0
星屑
50
在线时间
26 小时
注册时间
2007-8-26
帖子
3693
5
发表于 2008-10-2 05:38:20 | 只看该作者
对症下药
  1. #==============================================================================
  2. # ■ Scene_Load
  3. #------------------------------------------------------------------------------
  4. #  处理读档画面的类。
  5. #==============================================================================

  6. class Scene_Load < Scene_File
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     # 再生成临时对像
  12.     $game_temp = Game_Temp.new
  13.     # 选择存档时间最新的文件
  14.     $game_temp.last_file_index = 0
  15.     latest_time = Time.at(0)
  16.     for i in 0..3
  17.       filename = make_filename(i)
  18.       if FileTest.exist?(filename)
  19.         file = File.open(filename, "r")
  20.         if file.mtime > latest_time
  21.           latest_time = file.mtime
  22.           $game_temp.last_file_index = i
  23.         end
  24.         file.close
  25.       end
  26.     end
  27.     super("要载入哪个文件?")
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 确定时的处理
  31.   #--------------------------------------------------------------------------
  32.   def on_decision(filename)
  33.     # 文件不存在的情况下
  34.     unless FileTest.exist?(filename)
  35.       # 演奏冻结 SE
  36.       $game_system.se_play($data_system.buzzer_se)
  37.       return
  38.     end
  39.     # 演奏读档 SE
  40.     $game_system.se_play($data_system.load_se)
  41.     # 写入存档数据
  42.     file = File.open(filename, "rb")
  43.     read_save_data(file)
  44.     file.close
  45.     # 还原 BGM、BGS
  46.     $game_system.bgm_play($game_system.playing_bgm)
  47.     $game_system.bgs_play($game_system.playing_bgs)
  48.     # 刷新地图 (执行并行事件)
  49.     $game_map.update
  50.     # 切换到地图画面
  51.     $scene = Scene_Map.new
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● 取消时的处理
  55.   #--------------------------------------------------------------------------
  56.   def on_cancel
  57.     # 演奏取消 SE
  58.     $game_system.se_play($data_system.cancel_se)
  59.     # 切换到标题画面
  60.     $scene = Scene_Title.new
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   # ● 读取存档数据
  64.   #     file : 读取用文件对像 (已经打开)
  65.   #--------------------------------------------------------------------------
  66.   def read_save_data(file)
  67.     # 读取描绘存档文件用的角色数据
  68.     characters = Marshal.load(file)
  69.     # 读取测量游戏时间用画面计数
  70.     Graphics.frame_count = Marshal.load(file)
  71.     # 读取各种游戏对像
  72.     $game_system        = Marshal.load(file)
  73.     $game_switches      = Marshal.load(file)
  74.     $game_variables     = Marshal.load(file)
  75.     $game_self_switches = Marshal.load(file)
  76.     $game_screen        = Marshal.load(file)
  77.     $game_actors        = Marshal.load(file)
  78.     $game_party         = Marshal.load(file)
  79.     $game_troop         = Marshal.load(file)
  80.     $game_map           = Marshal.load(file)
  81.     $game_player        = Marshal.load(file)
  82.    
  83.     $game_system        = Game_System.new

  84.     # 魔法编号与保存时有差异的情况下
  85.     # (加入编辑器的编辑过的数据)
  86.     if $game_system.magic_number != $data_system.magic_number
  87.       # 重新装载地图
  88.       $game_map.setup($game_map.map_id)
  89.       $game_player.center($game_player.x, $game_player.y)
  90.     end
  91.     # 刷新同伴成员
  92.     $game_party.refresh
  93.   end
  94. end
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3309
在线时间
3620 小时
注册时间
2006-9-6
帖子
37400

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

6
发表于 2008-10-2 05:52:31 | 只看该作者
可能是因为那个存档的某些不可改变数据和现在的游戏数据不同了吧。

所以RM默认才给我们那么多个开关和变量的空位。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
23 小时
注册时间
2008-6-17
帖子
200
7
 楼主| 发表于 2008-10-2 05:58:28 | 只看该作者
加了$game_system        = Game_System.new吗?
我覆盖了scene_load没用…
如果这时我把scene_load重新复制一份,粘贴在MAIN上面的话,商店就可以正常读取了。但是背景音乐什么的全没了。
如果这时我删掉原有的SCENE_LOAD,存档都没了- -
回复 支持 反对

使用道具 举报

Lv1.梦旅人

綾川司の姫様<

梦石
0
星屑
50
在线时间
796 小时
注册时间
2007-12-20
帖子
4520

贵宾第3届短篇游戏大赛R剧及RMTV组亚军

8
发表于 2008-10-2 08:47:45 | 只看该作者
游戏的存档所继承的读取数据是你初期新开始游戏的时候所继承的,中间的改动不会对这个存档造成影响了……所以建议是从头再开始读取一次。

生命即是责任。自己即是世界。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
23 小时
注册时间
2008-6-17
帖子
200
9
 楼主| 发表于 2008-10-2 15:19:45 | 只看该作者
以下引用天圣的马甲于2008-10-2 0:47:45的发言:

游戏的存档所继承的读取数据是你初期新开始游戏的时候所继承的,中间的改动不会对这个存档造成影响了……所以建议是从头再开始读取一次。

那测试时我每建一个商店就要从头再读取一次么…
我在找解决方法…
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
23 小时
注册时间
2008-6-17
帖子
200
10
 楼主| 发表于 2008-10-2 23:20:02 | 只看该作者
自己顶起来。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-23 03:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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