Project1
标题:
如何规定各类物品上限?
[打印本页]
作者:
涅噗
时间:
2017-8-20 15:48
标题:
如何规定各类物品上限?
比如我想规定料理类道具上限为3,复活类上限10,该怎么弄?
作者:
0nepeop1e
时间:
2017-8-20 16:27
本帖最后由 0nepeop1e 于 2017-8-20 16:29 编辑
此脚本未经测试,如有问题请自行解决
unless defined?(Game_Party::ITEM_TYPE_MAX_LIMIT)
Game_Party::ITEM_TYPE_MAX_LIMIT = {
'料理' => 3, # 请增加一个叫做料理的属性然后在对应的物品上打勾
'复活' => 10 # 请增加一个叫做复活的属性然后在对应的物品上打勾
}
Game_Party = Class.new(Game_Party) do
superclass.constants.each{|c|const_set(c, superclass.const_get(c))}
def gain_item(item_id,k n)
n = [$data_items[item_id].max_limit - (@items[item_id]||0), n].min
super(item_id, k)
end
end
RPG::Item = Class.new(RPG::Item) do
superclass.constants.each{|c|const_set(c, superclass.const_get(c))}
def element_set
set = super.clone
temp = ::Game_Party::ITEM_TYPE_MAX_LIMIT.to_a.map{|t|$data_system.elements.index(t[0])}
set.delete_if{|e|temp.include?(e)}
return set
end
def max_limit
if @limit.nil?
@limit=99#我擦竟然有人叫做limit
for e in @element_set
unless (l = Game_Party::ITEM_TYPE_MAX_LIMIT[$data_system.elements[e]]).nil?
@limit = [l, 99].min
break
end
end
end
return @limit#我擦竟然有人叫做limit
end
end
end
复制代码
作者:
涅噗
时间:
2017-8-20 17:26
怎么增加属性?
作者:
Nil2011
时间:
2017-8-20 17:36
本帖最后由 Nil2011 于 2017-8-20 17:39 编辑
才发现是XP。。我倒是知道ACE的
作者:
chd114
时间:
2017-9-16 00:02
item相关的脚本里面有,有一个地方是限制物品上限最高99,你可以把那个地方改了,加一些条件分歧
当物品id是多少的时候上限为10
作者:
guoxiaomi
时间:
2017-9-17 23:44
当然是修改 gain_item 方法中的 99 啦
class Game_Party
ITEM_MAX = {1=>10, 2=>20} # item_id => max_number
def gain_item(item_id, n)
# 更新 hash 的个数数据
if item_id > 0
@items[item_id] = [[item_number(item_id) + n, 0].max, ITEM_MAX[item_id]].min
end
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1