888000 发表于 2014-10-11 11:48
#==============================================================================
# ■ 物品选择处理 ...
#============================================================================== # 物品选择扩张 by 子弹君 #============================================================================== # 使用说明: # 在事件中使用指令, # 变量XXX = 脚本 :item # 脚本指令分别有 :item :weapon :armor :key_item # 指令使用一次之后就会自动还原成贵重物品选择,需要再设定一次。 # 脚本设置说明: # ITEMKEY那个开关如果打开的话就会和物品大于多少价格出现冲突,方法可以有多种,或者 # 直接到XX行将那一段屏蔽了。 #============================================================================== $BombScript ||= {};$BombScript["物品选择扩张 "] = "物品选择扩张20141014" #============================================================================== # 设定部分 #============================================================================== module BOMB KEYVAR = 1 # 设置一个变量。 ITEMKEY = 2 # 设置一个开关,开关开启时,选择物品为默认设置。 ITEMPRI = 10000 # 设置物品的价格,只有大于这个价格的才能出现。 WEAPRI = 10000 # 设置武器的价格,只有大于这个价格的才能出现。 ARMPRI = 10000 # 设置防具的价格,只有大于这个价格的才能出现。 WEAYP = 1 # 设置武器的类型,只有是这个类型的才能出现。 ARMYP = 1 # 设置防具的类型,只有是这个类型的才能出现。 end class Window_KeyItem < Window_ItemList #-------------------------------------------------------------------------- # ● 开始输入的处理 #-------------------------------------------------------------------------- def start unless $game_variables[BOMB::KEYVAR] == :null self.category = $game_variables[BOMB::KEYVAR] $game_variables[BOMB::KEYVAR] = :null else self.category = :key_item end update_placement refresh select(0) open activate end end class Window_ItemList < Window_Selectable #-------------------------------------------------------------------------- # ● 查询列表中是否含有此物品 #-------------------------------------------------------------------------- def include?(item) case @category when :item item.is_a?(RPG::Item) && item.price > BOMB::ITEMPRI item.is_a?(RPG::Item) && !item.key_item? if $game_switches[BOMB::ITEMKEY] when :weapon item.is_a?(RPG::Weapon) && item.price > BOMB::WEAPRI item.is_a?(RPG::Weapon) && item.wtype_id == BOMB::WEAYP when :armor item.is_a?(RPG::Armor) && item.price > BOMB::ARMPRI item.is_a?(RPG::Armor) && item.wtype_id == BOMB::ARMYP when :key_item item.is_a?(RPG::Item) && item.key_item? else false end end end
#==============================================================================
# 物品选择扩张 by 子弹君
#==============================================================================
# 使用说明:
# 在事件中使用指令,
# 变量XXX = 脚本 :item
# 脚本指令分别有 :item :weapon :armor :key_item
# 指令使用一次之后就会自动还原成贵重物品选择,需要再设定一次。
# 脚本设置说明:
# ITEMKEY那个开关如果打开的话就会和物品大于多少价格出现冲突,方法可以有多种,或者
# 直接到XX行将那一段屏蔽了。
#==============================================================================
$BombScript ||= {};$BombScript["物品选择扩张 "] = "物品选择扩张20141014"
#==============================================================================
# 设定部分
#==============================================================================
module BOMB
KEYVAR = 1
# 设置一个变量。
ITEMKEY = 2
# 设置一个开关,开关开启时,选择物品为默认设置。
ITEMPRI = 10000
# 设置物品的价格,只有大于这个价格的才能出现。
WEAPRI = 10000
# 设置武器的价格,只有大于这个价格的才能出现。
ARMPRI = 10000
# 设置防具的价格,只有大于这个价格的才能出现。
WEAYP = 1
# 设置武器的类型,只有是这个类型的才能出现。
ARMYP = 1
# 设置防具的类型,只有是这个类型的才能出现。
end
class Window_KeyItem < Window_ItemList
#--------------------------------------------------------------------------
# ● 开始输入的处理
#--------------------------------------------------------------------------
def start
unless $game_variables[BOMB::KEYVAR] == :null
self.category = $game_variables[BOMB::KEYVAR]
$game_variables[BOMB::KEYVAR] = :null
else
self.category = :key_item
end
update_placement
refresh
select(0)
open
activate
end
end
class Window_ItemList < Window_Selectable
#--------------------------------------------------------------------------
# ● 查询列表中是否含有此物品
#--------------------------------------------------------------------------
def include?(item)
case @category
when :item
item.is_a?(RPG::Item) && item.price > BOMB::ITEMPRI
item.is_a?(RPG::Item) && !item.key_item? if
$game_switches[BOMB::ITEMKEY]
when :weapon
item.is_a?(RPG::Weapon) && item.price > BOMB::WEAPRI
item.is_a?(RPG::Weapon) && item.wtype_id == BOMB::WEAYP
when :armor
item.is_a?(RPG::Armor) && item.price > BOMB::ARMPRI
item.is_a?(RPG::Armor) && item.wtype_id == BOMB::ARMYP
when :key_item
item.is_a?(RPG::Item) && item.key_item?
else
false
end
end
end
|