Project1

标题: 请教,限制物品栏最多只能存放24种物品. [打印本页]

作者: hgfor    时间: 2009-1-2 03:57
标题: 请教,限制物品栏最多只能存放24种物品.

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

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


  
     
作者: 天下ぶ无双    时间: 2009-1-2 07:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: 最後一滴淚    时间: 2009-1-2 08:01
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
这样只是单纯的物品,如果把武器、防具什么的都考虑进去的话就改成

[LINE]1,#dddddd[/LINE]
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

作者: hgfor    时间: 2009-1-2 17:11
  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种物品. 是不是哪里还没有修改?
作者: 最後一滴淚    时间: 2009-1-2 20:15
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

[LINE]1,#dddddd[/LINE]
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 的个数数据试试
这个只是物品上限修改一镍就行了
[LINE]1,#dddddd[/LINE]
物品武器防具的要修改三处
作者: 天下ぶ无双    时间: 2009-1-2 20:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: 最後一滴淚    时间: 2009-1-2 20:56
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)
做好的自己看吧 [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: 倚天    时间: 2009-1-2 21:53
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1