Project1

标题: 求物品种类限制数量的修改方法.... [打印本页]

作者: yangli2005    时间: 2008-7-2 08:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小幽的马甲    时间: 2008-7-2 08:54
在用手机上,不方便改脚本…
话说楼主最好吧跪求去调掉,否则会被和,谐的…
作者: trentswd    时间: 2008-7-2 08:59
貌似可以用事件做的……
作者: yangli2005    时间: 2008-7-2 10:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: westbugs    时间: 2008-7-2 20:55
认为用事件不太可能, 因为从商店购买道具时不能用事件直接修改,会很麻烦.

建议思路从三个方向想起, 分别是 "大地图获得物品", "怪物掉下物品" 和"商店购买物品".

在这三个状况设下限制, 如变量TEMP = A + B + C + D.

在获得物品的methods 里加上
return false if temp >= 3


应该不难, 加油. 试一试.
作者: yangli2005    时间: 2008-7-2 21:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-7-2 21:23
以下引用小幽的马甲于2008-7-2 0:54:37的发言:

在用手机上,不方便改脚本…
话说楼主最好吧跪求去调掉,否则会被和,谐的…

类似我要你帮我写的背包?
话说什么时候把问题修复掉……
作者: yangli2005    时间: 2008-7-2 21:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: yangli2005    时间: 2008-7-2 21:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: westbugs    时间: 2008-7-2 21:43
刚写好...先用用, 基本上和刚刚构想的差不多, 改了五行左右. 写了我一个半小时...看来还是要多练习...{/ll}

  1. #==============================================================================
  2. # 作者: westbugs
  3. #------------------------------------------------------------------------------
  4. #  回应yangli2005
  5. #
  6. #    按物品种类限制数量的修改方法.
  7. #    例: 只许带三瓶药品的情况下
  8. #          药品 = {"A","B","C","D"}
  9. #    组合任挑
  10. #==============================================================================

  11. class Game_Party < Game_Unit
  12.   

  13.   #--------------------------------------------------------------------------
  14.   # ● 增加物品(减少)
  15.   #     item          : 物品
  16.   #     n             : 个数
  17.   #     include_equip : 包括装备
  18.   #--------------------------------------------------------------------------
  19.   def gain_item(item, n, include_equip = false)
  20.     number = item_number(item)
  21.     case item
  22.     when RPG::Item  
  23.         @items[item.id] = [[number + n, 0].max, 99].min
  24.     when RPG::Weapon
  25.       @weapons[item.id] = [[number + n, 0].max, 99].min
  26.     when RPG::Armor
  27.       @armors[item.id] = [[number + n, 0].max, 99].min
  28.     end
  29.     n += number
  30.     if include_equip and n < 0
  31.       for actor in members
  32.         while n < 0 and actor.equips.include?(item)
  33.           actor.discard_equip(item)
  34.           n += 1
  35.         end
  36.       end
  37.     end

  38.     #插入处, 道具种类 = {"1","2","3","4"}        
  39.          temp = $game_party.item_no(1)  +     $game_party.item_no(2) +     $game_party.item_no(3) +     $game_party.item_no(4)
  40.     if temp >3
  41.       $game_party.lose_item(item,1)
  42.     end
  43.     #插入处, 道具种类 = {"1","2","3","4"}

  44.     end
  45. end

  46. class Game_Party < Game_Unit
  47. def item_no(n)
  48.    return item_number($data_items[n])
  49. end
  50. end
复制代码


改中间描述那一段就好了
作者: 诡异の猫    时间: 2008-7-2 21:45
在Game_Party的gain_item方法下+上return false if TEMP.size >= 3這行就行了阿.
TEMP是數組
作者: yangli2005    时间: 2008-7-2 22:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: yangli2005    时间: 2008-7-2 22:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: westbugs    时间: 2008-7-2 22:49
单独插入就好了, 加油!
作者: yangli2005    时间: 2008-7-2 23:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: westbugs    时间: 2008-7-2 23:35
如果道具数量不是太多的话...可以的{/wx}
作者: yangli2005    时间: 2008-7-3 01:46
提示: 作者被禁止或删除 内容自动屏蔽




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