查看: 1673|回复: 7

请教,限制物品栏最多只能存放24种物品.

  [复制链接]
梦石
0
星屑
60
在线时间
9 小时
注册时间
2006-9-7
回帖
263
发表于 2009-1-2 03:57:31 | 显示全部楼层 |阅读模式

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

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

×

   修改成仿网游的,物品栏最多只能存24种物品. 如果物品栏满了,就提示物品栏已满,无法获得物品.

   
    下图是我修改后显示的, 我只想显示24种物品, 有心人帮我看看.谢谢.


  
     
十年磨一剑,蓦然回首,年华如水,青春如歌。
头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-1-1
回帖
28
发表于 2009-1-2 07:37:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

随缘

梦石
0
星屑
55
在线时间
12 小时
注册时间
2007-12-16
回帖
658
发表于 2009-1-2 08:01:57 | 显示全部楼层
Game_Party里第177行

def gain_item(item_id, n)
   # 更新 hash 的个数数据
   if item_id > 0 && @items.size < XXX #自己设置一个上限
     @items[item_id] = [[item_number(item_id) + n, 0].max, 99].min
   end
end
这样只是单纯的物品,如果把武器、防具什么的都考虑进去的话就改成



def gain_item(item_id, n)
   # 更新 hash 的个数数据
   if item_id > 0 && @items.size + @weapons.size + @armors.size < XXX #自己设置一个上限
     @items[item_id] = [[item_number(item_id) + n, 0].max, 99].min
   end
end
并且
def gain_weapon(weapon_id, n)
def gain_armor(armor_id, n)这两个地方也做出相应的更改………
如果要做进一步的功能比如提示携带物品已经满了之类……可能要改的地方更多了OTZ
论坛:
回复

使用道具 举报

梦石
0
星屑
60
在线时间
9 小时
注册时间
2006-9-7
回帖
263
 楼主| 发表于 2009-1-2 17:11:29 | 显示全部楼层
  1.   def gain_item(item_id, n)
  2.     # 更新 hash 的个数数据
  3.    # if item_id > 0
  4.    if item_id > 0 && @items.size + @weapons.size + @armors.size < 25
  5.       @items[item_id] = [item_number(item_id) + n, 0].max
  6.     end
  7.   end

  8.   def gain_weapon(weapon_id, n)
  9.     # 更新 hash 的个数数据
  10.   #  if weapon_id > 0
  11.   if weapon_id > 0 && @items.size + @weapons.size + @armors.size < 25
  12.       @weapons[weapon_id] = [weapon_number(weapon_id) + n, 0].max
  13.     end
  14.   end

  15.   def gain_armor(armor_id, n)
  16.     # 更新 hash 的个数数据
  17.    # if armor_id > 0
  18.    if armor_id > 0 && @items.size + @weapons.size + @armors.size < 25
  19.       @armors[armor_id] = [armor_number(armor_id) + n, 0].max
  20.     end
  21.   end
复制代码


   修改之后,还是不能控制只能放24种物品. 是不是哪里还没有修改?
十年磨一剑,蓦然回首,年华如水,青春如歌。
回复

使用道具 举报

随缘

梦石
0
星屑
55
在线时间
12 小时
注册时间
2007-12-16
回帖
658
发表于 2009-1-2 20:15:52 | 显示全部楼层
def gain_item(item_id, n)
   # 更新 hash 的个数数据
  # if item_id > 0
  if item_id > 0 && @items.size + @weapons.size + @armors.size < 25
     @items[item_id] = [item_number(item_id) + n, 0].max
   end
end



def gain_item(item_id, n)
  # 更新 hash 的个数数据
  if item_id > 0 && @items.size < 24 #自己设置一个上限
    @items[item_id] = [[item_number(item_id) + n, 0].max, 99].min
  end
end

我试过可以
你把上面重叠到你的hash 的个数数据试试
这个只是物品上限修改一镍就行了


物品武器防具的要修改三处
论坛:
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-1-1
回帖
28
发表于 2009-1-2 20:35:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

随缘

梦石
0
星屑
55
在线时间
12 小时
注册时间
2007-12-16
回帖
658
发表于 2009-1-2 20:56:39 | 显示全部楼层
http://rpg.blue/upload_program/d ... ject1_111329708.rar
搜索:这三个地方吧...
def gain_item(item_id, n)
def gain_weapon(weapon_id, n)
def gain_armor(armor_id, n)
做好的自己看吧
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
论坛:
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-6-12
回帖
254
发表于 2009-1-2 21:53:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部