❤ 0 Auteur : Kameo
Logiciel : RPG Maker VX
Nombre de scripts : 1
Instructions
Ce script permet d’augmenter le nombre d'objets laissés par les ennemis au combat.
Les informations suivantes sont à placer dans la notebox de l'ennemi
I = Pour un objet
W = Pour une arme
A = Pour une armure
Exemple:
W = donc il s'agit d'une armure
2 = son ID dans la BDD est 2
50% = 50% de chance de l'obtenir en fin de combat
Installation
Le script est à placer au dessus de Main.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
| # ■ 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 |
Mis à jour le 11 novembre 2020.
|