赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 2 |
经验 | 0 |
最后登录 | 2012-6-24 |
在线时间 | 105 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 1572
- 在线时间
- 105 小时
- 注册时间
- 2011-2-5
- 帖子
- 3
|
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆ 掉落物品扩张- KGC_ExtraDropItem ◆ VX ◆
#_/ 汉化 by 约束
#_/ ◇ Last update : 2008/02/10 ◇
#_/----------------------------------------------------------------------------
#_/ 敌人掉落物品种类增加。
#_/============================================================================
#_/ 【特殊物品】如想使用 战斗难易度 脚本,请在它之上导入 。
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
$imported = {} if $imported == nil
$imported["ExtraDropItem"] = true
module KGC
module ExtraDropItem
# 正规表现
module Regexp
# 敌方
module Enemy
# 掉落物品
DROP_ITEM = /<(?:DROP|掉落)\s*([IWA]):(\d+)\s+(\d+)([%%])?>/i
end
end
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ RPG::Enemy
#==============================================================================
class RPG::Enemy
#--------------------------------------------------------------------------
# ○ 掉落物品扩张的保存生成
#--------------------------------------------------------------------------
def create_extra_drop_item_cache
@__extra_drop_items = []
self.note.split(/[\r\n]+/).each { |line|
case line
when KGC::ExtraDropItem::Regexp::Enemy::DROP_ITEM
# 掉落物品
item = RPG::Enemy::DropItem.new
case $1.upcase
when "I" # 物品
item.kind = 1
item.item_id = $2.to_i
when "W" # 武器
item.kind = 2
item.weapon_id = $2.to_i
when "A" # 防具
item.kind = 3
item.armor_id = $2.to_i
else
next
end
# 掉落率
if $4 != nil
item.drop_prob = $3.to_i
else
item.denominator = $3.to_i
end
@__extra_drop_items << item
end
}
end
#--------------------------------------------------------------------------
# ○ 扩张掉落物品
#--------------------------------------------------------------------------
def extra_drop_items
create_extra_drop_item_cache if @__extra_drop_items == nil
return @__extra_drop_items
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ RPG::Enemy::DropItem
#==============================================================================
unless $@
class RPG::Enemy::DropItem
#--------------------------------------------------------------------------
# ● 公开速成变量
#--------------------------------------------------------------------------
attr_accessor :drop_prob # 掉落率
#--------------------------------------------------------------------------
# ● 目标初期化
#--------------------------------------------------------------------------
alias initialize_KGC_ExtraDropItem initialize
def initialize
initialize_KGC_ExtraDropItem
@drop_prob = 0
end
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ○ 扩张掉落物品的取得
#--------------------------------------------------------------------------
def extra_drop_items
return enemy.extra_drop_items
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ Game_Troop
#==============================================================================
class Game_Troop < Game_Unit
#--------------------------------------------------------------------------
# ● 掉落物品的排列作成
#--------------------------------------------------------------------------
alias make_drop_items_KGC_ExtraDropItem make_drop_items
def make_drop_items
drop_items = make_drop_items_KGC_ExtraDropItem
for enemy in dead_members
for di in enemy.extra_drop_items
next if di.kind == 0
if di.drop_prob > 0
# 概率指定
next if di.drop_prob < rand(100)
else
# 分母指定
next if rand(di.denominator) != 0
end
if di.kind == 1
drop_items.push($data_items[di.item_id])
elsif di.kind == 2
drop_items.push($data_weapons[di.weapon_id])
elsif di.kind == 3
drop_items.push($data_armors[di.armor_id])
end
end
end
return drop_items
end
end
上面的脚本,设定好了几率,却在Scene_Battle第623行text = sprintf(Vocab::ObtainItem, item.name)出错,显示不了...求助!!! |
|