Project1
标题:
[結帖]如何限制每個角色使用物品的次數??
[打印本页]
作者:
david_ng223
时间:
2013-8-19 09:08
提示:
作者被禁止或删除 内容自动屏蔽
作者:
tan12345
时间:
2013-8-20 20:01
在物品那里弄个公共事件,用1个变量记录1个角色使用这个物品的次数,初始化为0,当这个角色使用物品时先判断,如果变量小于42,变量+1,物品可以使用,否则不允许使用物品
作者:
david_ng223
时间:
2013-8-20 20:45
提示:
作者被禁止或删除 内容自动屏蔽
作者:
fangyc
时间:
2013-8-21 09:11
试试这段脚本能不能达到你的要求
4和7行分别设置有使用次数限制的物品ID和使用次数,这里已经预设了你顶楼提到的物品
class Game_Battler
# 设置有使用次数限制的道具ID
LIMITED_ITEMS = [1, 3, 4, 5, 6, 7]
# 使用次数限制
ITEM_LIMITATION = 42
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
alias item_limitation001_initialize initialize
def initialize
LIMITED_ITEMS.each do {|item_id| @item_limitation[item_id] = 0}
item_limitation001_initialize
end
#--------------------------------------------------------------------------
# ● 判断物品是否超过使用上限
#--------------------------------------------------------------------------
def over_item_limitation?(item)
return false if !@item_limitaion[item.id] || @item_limitaion[item.id] < ITEM_LIMITATION
return true
end
#--------------------------------------------------------------------------
# ● 检查物品的使用条件
#--------------------------------------------------------------------------
alias item_limitation001_item_conditions_met? item_conditions_met?
def item_conditions_met?(item)
item_limitation001_item_conditions_met(item) && !over_item_limitation?(item)
end
#--------------------------------------------------------------------------
# ● 技能/使用物品
# 对使用目标使用完毕后,应用对于使用目标以外的效果。
#--------------------------------------------------------------------------
alias item_limitation001_use_item use_item
def use_item(item)
item_limitation001_use_item(item)
if item.is_a?(RPG::Item) && !@item_limitaion[item.id]
@item_limitaion[item.id] += 1
end
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1