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

Project1

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

[已经解决] 求助 背包限制脚本和原装商店冲突

[复制链接]

Lv5.捕梦者

梦石
0
星屑
32126
在线时间
5083 小时
注册时间
2012-11-19
帖子
4877

开拓者

1
发表于 2015-2-11 12:34:55 | 显示全部楼层
将 26,27,28 行换成下面这段试试:
  1. $game_party.items.keys.each{|i| mn += 1 if $game_party.item_number(i) > 0}
  2. $game_party.weapons.keys.each{|i| mn += 1 if $game_party.weapon_number(i) > 0}
  3. $game_party.armors.keys.each{|i| mn += 1 if $game_party.armor_number(i) > 0}
复制代码
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
32126
在线时间
5083 小时
注册时间
2012-11-19
帖子
4877

开拓者

2
发表于 2015-2-11 13:24:19 | 显示全部楼层
本帖最后由 芯☆淡茹水 于 2015-2-11 13:26 编辑

还是把判定放到 Game_Party 里好些




RUBY 代码复制
  1. #==============================================================================
  2. # 背包可容纳最大的物品种类数。(包括物品,武器,防具)
  3. ITEMS_MAX = 5
  4. # 背包满后,如果再增加物品所提示的信息。
  5. TOP_MESSAGE = "背包已满!"
  6. #==============================================================================
  7. class Game_Party
  8.   #--------------------------------------------------------------------
  9.   def full_judge?(id, n, type)
  10.     mn = 0
  11.     @items.keys.each{|i| mn += 1 if item_number(i) > 0}
  12.     @weapons.keys.each{|i| mn += 1 if weapon_number(i) > 0}
  13.     @armors.keys.each{|i| mn += 1 if armor_number(i) > 0}
  14.     return false if mn < ITEMS_MAX
  15.     case type
  16.     when 0
  17.       if @items.keys.include?(id)
  18.         return false if item_number(id) + n <= 99
  19.       end
  20.     when 1
  21.       if @weapons.keys.include?(id)
  22.         return false if weapon_number(id) + n <= 99
  23.       end
  24.     when 2
  25.       if @armors.keys.include?(id)
  26.         return false if armor_number(id) + n <= 99
  27.       end
  28.     end
  29.     return true
  30.   end
  31.   #---------------------------------------------------------------------
  32.   def full_top
  33.     $game_system.se_play($data_system.buzzer_se)
  34.     top = Window_Base.new(200, 100, 240, 64)
  35.     top.z = 999
  36.     top.contents = Bitmap.new(top.width - 32, top.height - 32)
  37.     top.contents.draw_text(0, 0, 200, 32, TOP_MESSAGE, 1)
  38.     for i in 1..30
  39.       Graphics.update
  40.     end
  41.     for i in 1..20
  42.       top.opacity -= 13
  43.       top.contents_opacity -= 13
  44.       Graphics.update
  45.     end
  46.     top.dispose
  47.   end
  48.   #--------------------------------------------------------------------------
  49.   def gain_item(item_id, n)
  50.     # 更新 hash 的个数数据
  51.     if item_id > 0
  52.       if n > 0 and full_judge?(item_id, n, 0)
  53.         full_top
  54.         return
  55.       end
  56.       @items[item_id] = [[item_number(item_id) + n, 0].max, 99].min
  57.     end
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● 增加武器 (减少)
  61.   #     weapon_id : 武器 ID
  62.   #     n         : 个数
  63.   #--------------------------------------------------------------------------
  64.   def gain_weapon(weapon_id, n)
  65.     # 更新 hash 的个数数据
  66.     if weapon_id > 0
  67.       if n > 0 and full_judge?(weapon_id, n, 1)
  68.         full_top
  69.         return
  70.       end
  71.       @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 99].min
  72.     end
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 增加防具 (减少)
  76.   #     armor_id : 防具 ID
  77.   #     n        : 个数
  78.   #--------------------------------------------------------------------------
  79.   def gain_armor(armor_id, n)
  80.     # 更新 hash 的个数数据
  81.     if armor_id > 0
  82.       if n > 0 and full_judge?(armor_id, n, 2)
  83.         full_top
  84.         return
  85.       end
  86.       @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, 99].min
  87.     end
  88.   end
  89. end
  90. #==============================================================================
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
32126
在线时间
5083 小时
注册时间
2012-11-19
帖子
4877

开拓者

3
发表于 2015-2-11 17:26:34 | 显示全部楼层
新工程对的啊!

Project2.zip (202.63 KB, 下载次数: 44)
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
32126
在线时间
5083 小时
注册时间
2012-11-19
帖子
4877

开拓者

4
发表于 2015-2-11 19:18:16 | 显示全部楼层
唔~,好像是这样:

Project2.zip (203.21 KB, 下载次数: 44)

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-22 21:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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