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

Project1

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

[原创发布] 【简易坑爹系列】多背包脚本

[复制链接]

Lv1.梦旅人

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
帖子
3225
跳转到指定楼层
1
发表于 2016-5-25 14:39:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 英顺的马甲 于 2016-6-18 00:41 编辑

其实我也不记得以前有没有发布过了
先附上个简易脚本,插入Game_Party之后,Main之前的任何位置
RUBY 代码复制
  1. #===============================================================================
  2. # ● 【简易坑爹系列】多背包脚本
  3. #===============================================================================
  4. class GameBag
  5.   # 背包判定条件
  6.   def self.identifier
  7.     # 若需要以别的条件来判定背包请更改下面的脚本
  8.     #===========================================
  9.     $game_variables[1] # 以一号开关来判定
  10.     #===========================================
  11.     # 若需要以别的条件来判定背包请更改上面的脚本
  12.   end
  13.   # 将当前背包复制到缓存背包
  14.   def self.push
  15.     ObjectSpace.each_object(GameBag) do |bag|
  16.       bag.cache = (bag.data[GameBag.identifier]||{}).clone
  17.     end
  18.   end
  19.   # 将缓存背包复制到当前背包
  20.   def self.pull
  21.     ObjectSpace.each_object(GameBag) do |bag|
  22.       bag.data[GameBag.identifier] = bag.cache.clone
  23.     end
  24.   end
  25.   # 将当前背包叠加到缓存背包
  26.   def self.merge
  27.     ObjectSpace.each_object(GameBag) do |bag|
  28.       (bag.data[GameBag.identifier] || {}).each do |k, v|
  29.         bag.cache[k] = [bag.cache[k] + v, 99].min
  30.       end
  31.     end
  32.   end
  33.   # 清空当前背包
  34.   def self.clear
  35.     ObjectSpace.each_object(GameBag) do |bag|
  36.       bag.data.delete(GameBag.identifier)
  37.     end
  38.   end
  39.   # 清空缓存背包
  40.   def self.drop
  41.     ObjectSpace.each_object(GameBag) do |bag|
  42.       bag.cache.clear
  43.     end
  44.   end
  45.   # 初始化
  46.   def initialize
  47.     @data = {}
  48.     @cache = {}
  49.   end
  50.   # 不需要理会
  51.   def method_missing(meth, *args)
  52.     begin
  53.       (@data[GameBag.identifier] ||= {}).__send__(meth, *args)
  54.     rescue Exception
  55.       raise $!, $!.message, caller
  56.     end
  57.   end
  58.   attr_accessor :data
  59.   attr_accessor :cache
  60. end
  61. $ORIG_MULTIBAG_PARTY = Game_Party.clone unless $ORIG_MULTIBAG_PARTY
  62. class Game_Party < $ORIG_MULTIBAG_PARTY
  63.   def initialize
  64.     super
  65.     @items = GameBag.new
  66.     @armors = GameBag.new
  67.     @weapons = GameBag.new
  68.   end
  69. end
再附上个简易截图范例       
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到[email protected]咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党

Lv4.逐梦者

素材区好人

梦石
3
星屑
7832
在线时间
3543 小时
注册时间
2011-7-21
帖子
2284

极短24参与极短23参与极短22参与极短21参与

2
发表于 2016-5-25 18:48:31 | 只看该作者
为何我照着做,结果却崩了
Project1.zip (202.55 KB, 下载次数: 95)



点评

修正了  发表于 2016-5-25 21:18
现在还是没有修正  发表于 2016-5-25 20:59
标题都写坑爹了,自然是没写好,现在已修正  发表于 2016-5-25 20:41
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 22:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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