Oniromancie: Scripts - Multi-Drop


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

News: Concours des Alex d'Or 2017-18: (...) / News: MegaMaker : créez votre propre (...) / News: Test de Tinker Quarry / Sorties: Leave the Room / Jeux: Leave the Room /

Chat  (26 connectés)

Bienvenue
visiteur !






publicité RPG Maker!

Statistiques

Liste des
membres


Contact

71 connectés actuellement

9173751 visiteurs
depuis l'ouverture

932 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires




TOP
GAMEMAKING


Les 5 plus
visités

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

RPG Maker Revolution

Citadelle d'Hyrule

Guelnika - E Magination

Les deux derniers

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs





Multi-Drop
Script pour RPG Maker VX
Ecrit par cari974

Multi-Drop VX
Auteur: KGC



Instruction
Ce script permet d’augmenté le nombre d'objet laisser par les ennemis au combat.
Les informations suivantes, sont à placées dans la notebox de l'ennemi
I = Pour un objet
W = Pour une arme
A = Pour une armure

Exemple:

Portion de code : Tout sélectionner

1
<drop W:2 50%>



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

Le script est à placer au dessus de main

Portion de code : Tout sélectionner

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
178
179
 
# ■ 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
 



Aucun commentaire n'a été posté pour le moment.

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe

Plan du site:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Scripts | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmarès
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources: Jeux | Programmes | Packs de ressources | Midis | Eléments séparés | Sprites
RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis