| 赞 | 168 |
| VIP | |
| 好人卡 | |
| 积分 | 229 |
| 经验 | |
| 最后登录 | 2025-4-1 |
| 在线时间 | 8598 小时 |
- 梦石
- 0
- 星屑
- 22879
- 在线时间
- 8598 小时
- 注册时间
- 2011-12-31
- 回帖
- 3270
|
发表于 2015-7-21 12:18:46
|
显示全部楼层
● 使い方 ●========================================================
在道具、武器、防具的附註欄用以下之形式設定を
PACKAGE[<アイテム種別><アイテムID>:<個数>, ....]
道具種別には I, W, A 。
I => 道具, W => 武器, A => 防具 。
--------------------------------------------------------------------
例:
PACKAGE[I1:3, W19:1, A2:1, A50:1]
上記の設定をしたアイテムを入手すると代わりに下記が手に入ります。
ID1 道具 3個
ID19 武器 1個
ID2 防具 1個
ID50 防具 1個
====================================================================
パッケージアイテム(PACKAGE)[pre lang="ruby"]=begin
RGSS3
★ パッケージアイテム ★
パッケージアイテムの設定がされたアイテムを入手すると、
そのアイテムの代わりに複数の別アイテムを入手できます。
● 使い方 ●========================================================
アイテム、武器、防具のメモ欄に下記の形式で設定をしてください。
PACKAGE[<アイテム種別><アイテムID>:<個数>, ....]
アイテム種別には I, W, A のいずれかを指定します。
I => アイテム, W => 武器, A => 防具 を意味します。
--------------------------------------------------------------------
例:
PACKAGE[I1:3, W19:1, A2:1, A50:1]
上記の設定をしたアイテムを入手すると代わりに下記が手に入ります。
ID1 のアイテムを 3つ
ID19 の武器を 1つ
ID2 の防具を 1つ
ID50 の防具を 1つ
====================================================================
ver1.00
Last Update : 2014/08/20
08/20 : 新規
ろかん http://kaisou-ryouiki.sakura.ne.jp/
=end
$rsi ||= {}
$rsi["パッケージアイテム"] = true
module PackageItem
def get_package_conf
if @package.nil?
if self.note =~ /PACKAGE\[(.*)\]/
@package = {item:{}, weapon:{}, armor:{}}
$1.split(",").each{|split_data|
split_data.strip =~ /[IWA](\d+):(\d+)/i
if $1 && $2
if split_data.include?("I")
@package[:item][$1.to_i] = $2.to_i
elsif split_data.include?("W")
@package[:weapon][$1.to_i] = $2.to_i
elsif split_data.include?("A")
@package[:armor][$1.to_i] = $2.to_i
end
end
}
else
@package = false
end
end
@package
end
end
class RPG::Item < RPG::UsableItem
include PackageItem
end
class RPG::EquipItem < RPG::BaseItem
include PackageItem
end
class Game_Party < Game_Unit
#--------------------------------------------------------------------------
# ● アイテムの増加(減少)
#--------------------------------------------------------------------------
alias gain_package_item gain_item
def gain_item(item, amount, include_equip = false)
if amount > 0 && item && item.get_package_conf
item.get_package_conf.each{|key1, value1|
case key1
when :item
value1.each{|key2, value2|
gain_package_item($data_items[key2], value2 * amount)
}
when :weapon
value1.each{|key2, value2|
gain_package_item($data_weapons[key2], value2 * amount)
}
when :armor
value1.each{|key2, value2|
gain_package_item($data_armors[key2], value2 * amount)
}
end
}
else
gain_package_item(item, amount, include_equip)
end
end
end[/pre] |
|