本帖最后由 VIPArcher 于 2014-10-29 20:04 编辑
@子弹君 好吧,子弹君最近貌似很忙
直接在子弹君的脚本上改出来的,未测试过
用法和原来差不多。只是现在用另外两个变量来控制可选择的装备类型和物品价格
特别的,装备类型的变量赋值时需要赋值一个数组给他(类似于这样:变量操作-脚本-输入[1,2,3])
#============================================================================== # 物品选择扩张 by 子弹君 #============================================================================== # 使用说明: # 在事件中使用指令, # 变量XXX = 脚本 :item # 脚本指令分别有 :item :weapon :armor :key_item # 指令使用一次之后就会自动还原成贵重物品选择,需要再设定一次。 # 脚本设置说明: # ITEMKEY那个开关如果打开的话就会和物品大于多少价格出现冲突,方法可以有多种,或者 # 直接到XX行将那一段屏蔽了。 #============================================================================== $BombScript ||= {};$BombScript["物品选择扩张 "] = "物品选择扩张20141014" #============================================================================== # 设定部分 #============================================================================== module BOMB KEYVAR = 1 #控制物品类型的变量 EAPRIVAR = 2 #控制价格的变量ID RMYPVAR = 3 #控制类型编号的变量ID 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 #-------------------------------------------------------------------------- # ● 查询列表中是否含有此物品 #-------------------------------------------------------------------------- def include?(item) type = $game_variables[BOMB::RMYPVAR] case @category when :item item.is_a?(RPG::Item) && !item.key_item? && item.price >= $game_variables[BOMB::EAPRIVAR] when :weapon item.is_a?(RPG::Weapon) && type.include?(item.wtype_id) && item.price >= $game_variables[BOMB::EAPRIVAR] when :armor item.is_a?(RPG::Armor) && type.include?(item.atype_id) && item.price >= $game_variables[BOMB::EAPRIVAR] when :key_item item.is_a?(RPG::Item) && item.key_item? && item.price >= $game_variables[BOMB::EAPRIVAR] else false end end end
#==============================================================================
# 物品选择扩张 by 子弹君
#==============================================================================
# 使用说明:
# 在事件中使用指令,
# 变量XXX = 脚本 :item
# 脚本指令分别有 :item :weapon :armor :key_item
# 指令使用一次之后就会自动还原成贵重物品选择,需要再设定一次。
# 脚本设置说明:
# ITEMKEY那个开关如果打开的话就会和物品大于多少价格出现冲突,方法可以有多种,或者
# 直接到XX行将那一段屏蔽了。
#==============================================================================
$BombScript ||= {};$BombScript["物品选择扩张 "] = "物品选择扩张20141014"
#==============================================================================
# 设定部分
#==============================================================================
module BOMB
KEYVAR = 1 #控制物品类型的变量
EAPRIVAR = 2 #控制价格的变量ID
RMYPVAR = 3 #控制类型编号的变量ID
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
#--------------------------------------------------------------------------
# ● 查询列表中是否含有此物品
#--------------------------------------------------------------------------
def include?(item)
type = $game_variables[BOMB::RMYPVAR]
case @category
when :item
item.is_a?(RPG::Item) && !item.key_item? &&
item.price >= $game_variables[BOMB::EAPRIVAR]
when :weapon
item.is_a?(RPG::Weapon) && type.include?(item.wtype_id) &&
item.price >= $game_variables[BOMB::EAPRIVAR]
when :armor
item.is_a?(RPG::Armor) && type.include?(item.atype_id) &&
item.price >= $game_variables[BOMB::EAPRIVAR]
when :key_item
item.is_a?(RPG::Item) && item.key_item? &&
item.price >= $game_variables[BOMB::EAPRIVAR]
else
false
end
end
end
|