Multi-Drop VX
Multi-Drop VX
Multi-Drop VX
Autor: KGC
Autor: KGC
Descrição
Este script permite que um monstro drope quantos itens você quiser.
Este script permite que um monstro drope quantos itens você quiser.
Instruções
Instale o script em scripts adicionais.
Para fazer os monstros droparem itens adicionais, você terá que colocar a seguinte tag em seu Histórico (o script detalha melhor)
O formato é o seguinte
sem as aspas "".
Onde Tipo => A = Armadura, I = Item, W = Arma
Onde ID é o ID do item no respectivo database
Onde probabilidade = chance do item dropar
Instale o script em scripts adicionais.
Para fazer os monstros droparem itens adicionais, você terá que colocar a seguinte tag em seu Histórico (o script detalha melhor)
O formato é o seguinte
sem as aspas "".
Onde Tipo => A = Armadura, I = Item, W = Arma
Onde ID é o ID do item no respectivo database
Onde probabilidade = chance do item dropar
Script
- Código:
# ■ Multi Drop - VX (KGC_ExtraDropItem)
#
#------------------------------------------------------------------------------
# Script por: KGC traduzido por: Holocaust (Holocaust2)
#==============================================================================
# Esse Script permite que você aumenta a quantidade de itens e equipamentos
# que são dropados por um inimigo após sua morte.
#==============================================================================
# ● Instruções
#------------------------------------------------------------------------------
# Para adicionar um drop extra em um Monstro, você precisa inserir a tag
# <drop> na caixa "Histórico" no database do respectivo Monstro. .
#
# O formato é o seguinte <drop "Tipo":"IDdoItem" "Probabilidade"> (exemplo adiante)
# sem as aspas "".
# Onde Tipo => A = Armadura, I = Item, W = Arma
# Onde ID é o ID do item no respectivo database
# Onde probabilidade = chance do item dropar (pode ser em % ou em fração)
#==============================================================================
# ● Exemplos
#------------------------------------------------------------------------------
# Você tem um monstro que você quer que tenha a chance de 50% de Dropar uma Espada.
# Basta colocar na parte Histórico a seguinte tag:
#
# <drop W:2 50%> ou <drop W:2 1/2>
# onde W representa Arma, 2 representa o ID da arma, e 50% ou 1/2 a chance de dropar.
#
# É simples, mas se tiver dúvidas pergunte no tópico desse Script no fórum RPG Brasil.
#
#----------------------------------------------------------------------------
# Observação: Insira acima dos script KGC_BattleDifficulty and KGC_EnemyGuide.
# caso você os tenha em seu projeto.
#-------------------------------------------------------------------------
$imported = {} if $imported == nil
$imported["ExtraDropItem"] = true
module KGC
module ExtraDropItem
# Regular Expression Defined
module Regexp
# Base Enemy Module
module Enemy
# Drop Item tag string
DROP_ITEM = /<(?:DROP|drop)\s*([IWA]):(\d+)\s+(\d+)([%%])?>/i
end
end
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ RPG::Enemy
#==============================================================================
class RPG::Enemy
#--------------------------------------------------------------------------
# ○ Gera Cache de Drop Extra de Itens
#--------------------------------------------------------------------------
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
# Drop Item
item = RPG::Enemy::DropItem.new
case $1.upcase
when "I" # Item
item.kind = 1
item.item_id = $2.to_i
when "W" # Weapon
item.kind = 2
item.weapon_id = $2.to_i
when "A" # Armor
item.kind = 3
item.armor_id = $2.to_i
else
next
end
# Drop Rate
if $4 != nil
item.drop_prob = $3.to_i
else
item.denominator = $3.to_i
end
@__extra_drop_items << item
end
}
end
#--------------------------------------------------------------------------
# ○ Retorna Drop Extra de Itens
#--------------------------------------------------------------------------
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
#--------------------------------------------------------------------------
# ● Public Instance Variable
#--------------------------------------------------------------------------
attr_accessor :drop_prob # Drop rate
#--------------------------------------------------------------------------
# ● Inicialização do Objeto
#--------------------------------------------------------------------------
def drop_prob
@drop_prob = 0 if @drop_prob == nil
return @drop_prob
end
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ○ Adquirir item dropado
#--------------------------------------------------------------------------
def extra_drop_items
return enemy.extra_drop_items
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ Game_Troop
#==============================================================================
class Game_Troop < Game_Unit
#--------------------------------------------------------------------------
# ● Cria Drop de Itens
#--------------------------------------------------------------------------
alias make_drop_items_KGC_ExtraDropItem make_drop_items
def make_drop_items
drop_items = make_drop_items_KGC_ExtraDropItem
dead_members.each { |enemy|
enemy.extra_drop_items.each_with_index { |di, i|
next if di.kind == 0
if di.drop_prob > 0
# Probability specification
next if di.drop_prob < rand(100)
else
# Denominator specification
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
# Set up compatability with KGC_EnemyGuide.
if $imported["EnemyGuide"]
KGC::Commands.set_enemy_item_dropped(enemy.enemy.id, i + 2)
end
}
}
return drop_items
end
end
ScreenShot
Ykkyto- Membro
- Reputação : 9
Permissões neste sub-fórum
Não podes responder a tópicos
|
|