幻想森林

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

[RMVX] 对我的一个大难题

[复制链接]

43

主题

81

帖子

923

积分

⑤进阶

积分
923
发表于 2006-1-31 21:36:15 | 显示全部楼层 |阅读模式
我的游戏是以三队独立角色来进行的,而我想让三队角色的物品独立分配.
如1队的东西,在以2队进行游戏时不会出现,而再以1队进行游戏时,
2队的获得的不会在1队出现.


求高手指点
回复

使用道具 举报

14

主题

375

帖子

5760

积分

⑦老手

科学大迫力研究所

积分
5760
发表于 2006-1-31 22:01:04 | 显示全部楼层
脑子里闪过很多麻烦的办法。。。。

用事件解决的话貌似只能是用很多变量来记录咯
如果物品种类不是很多就还好办。。。。准备一组变量用以记录数值,队伍切换时,该组物品记录的数目到变量组,然后把物品都减少至0,等切换时再依照变量组的数目重新加入物品。。。。理解起来很简单,但写起来就很繁琐咯~



不知道rgss有没有什么比较简便的做法?
继续荒野与渡鸟的那场梦......
回复 支持 反对

使用道具 举报

218

主题

1万

帖子

10万

积分

⑧专业

赋予你第五自由

积分
108021
发表于 2006-1-31 22:02:34 | 显示全部楼层
..非常麻烦..
先得判断当前的角色物品拥有数,然后做好保存,等待下一个角色用完了转回这个角色,根据先前的数据再逐一添加到现在的角色...物品不多还好办,一多就难办了..
基本同楼上...

RGSS貌似能将现在持有的物品全部代入一变量,然后需要的时候全部添加...估计RGSS做比较容易

第 五 自 由 -   5th  Freedom   -

回复 支持 反对

使用道具 举报

50

主题

994

帖子

6699

积分

管理员

爱干啥干啥!

Rank: 9Rank: 9Rank: 9

积分
6699
发表于 2006-1-31 23:24:26 | 显示全部楼层
把下面脚本插入main之前。
每次更换队伍,使用脚本事件$game_party.change_box(id)
来切换道具内容。
如果需要更多的道具位置,请参考脚本内注释
  1. #==============================================================================
  2. # 道具箱子 by FantasyDR
  3. # 2005.11.11
  4. # $game_party.change_box(id) 切换到某个箱子上。
  5. #==============================================================================
  6. # 修改默认箱子数量,请修改下面的值
  7.   $ITEM_BOX_SIZE = 3
  8. # 如果读取的存档中箱子数量小于此会自动增加到相同值。
  9. #==============================================================================
  10. #==============================================================================
  11. # Game_Party
  12. #
  13. # 加入了道具箱
  14. #==============================================================================
  15. class Game_Party
  16.   #----------------------------------------------------------------------------
  17.   alias :fdr_ItemBox_Game_Party_initialize :initialize
  18.   #----------------------------------------------------------------------------
  19.   attr_reader :box_id
  20.   attr_reader :items
  21.   attr_accessor :items_box
  22.   #----------------------------------------------------------------------------
  23.   def initialize
  24.     fdr_ItemBox_Game_Party_initialize
  25.     # 设定物品箱子数量
  26.     @items_box = [{}]
  27.     for i in 1..$ITEM_BOX_SIZE-1
  28.         @items_box.push({})
  29.     end
  30.     # 初始状态使用0号箱子
  31.     @box_id = 0
  32.     self.change_box(@box_id)
  33.   end
  34.   #----------------------------------------------------------------------------
  35.   def change_box(id)
  36.     if @items_box == nil or
  37.        id < 0 or id >= @items_box.size or
  38.        @items_box[id] == nil
  39.       return
  40.     end
  41.     @box_id = id
  42.     @items = @items_box[@box_id]
  43.   end
  44.   #----------------------------------------------------------------------------
  45. end
  46. #==============================================================================
  47. # Scene_Load
  48. #
  49. # 为了保持和旧存档的兼容性,加入读取的判断
  50. #==============================================================================
  51. class Scene_Load < Scene_File
  52.   #----------------------------------------------------------------------------
  53.   alias :fdr_ItemBox_Scene_Load_read_save_data :read_save_data
  54.   #----------------------------------------------------------------------------
  55.   def read_save_data(file)
  56.     fdr_ItemBox_Scene_Load_read_save_data(file)
  57.    
  58.     # 如果没有道具箱,则自动加入
  59.     box = $game_party.items_box
  60.     if box == nil or box.size < $ITEM_BOX_SIZE
  61.       box = [$game_party.items.clone] if box == nil
  62.       for i in box.size..$ITEM_BOX_SIZE-1
  63.         box.push({})
  64.       end
  65.       $game_party.change_box(0)
  66.     end
  67.   end
  68.   #----------------------------------------------------------------------------
  69. end
复制代码

“放下屠刀,立地成佛” 故应先杀生,然后再成佛。

(\\_/) (-_-) ()+() this is bunny priest.
回复 支持 反对

使用道具 举报

14

主题

375

帖子

5760

积分

⑦老手

科学大迫力研究所

积分
5760
发表于 2006-2-1 00:09:53 | 显示全部楼层
这么简单??
只看见怎么操作箱子的。。。没有见到物品是怎么放在箱子里的。。。。好吧,我承认我rgss很废
◎ ◎
继续荒野与渡鸟的那场梦......
回复 支持 反对

使用道具 举报

50

主题

994

帖子

6699

积分

管理员

爱干啥干啥!

Rank: 9Rank: 9Rank: 9

积分
6699
发表于 2006-2-1 00:24:08 | 显示全部楼层
楼主要求
[如1队的东西,在以2队进行游戏时不会出现]
所以只要把存放道具列表的数组放入一个Hash表就可以了。相当于给箱子套了一个更大的箱子:)

至于原来道具是怎么存放入道具列表数组的……这个可以不管。因为楼主的要求不会牵扯到同时操作两个道具盒子,而且也没有牵扯到交换道具,使用原有的方法就可以。

“放下屠刀,立地成佛” 故应先杀生,然后再成佛。

(\\_/) (-_-) ()+() this is bunny priest.
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-26 05:20 , Processed in 0.011093 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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