Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



Le Deal du moment : -40%
Tefal Ingenio Emotion – Batterie de cuisine 10 ...
Voir le deal
59.99 €

Partagez
 

 [VX] Multi-Drop VX

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Invité
Invité
Anonymous


[VX] Multi-Drop VX Empty
MessageSujet: [VX] Multi-Drop VX   [VX] Multi-Drop VX EmptyJeu 18 Aoû 2011 - 23:29

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:

Code:
<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

Script:
Code:
# ■ 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

Revenir en haut Aller en bas
Jin
Ancien staffeux
Ancien staffeux
Jin

Masculin
Messages postés : 8557
Date d'inscription : 08/12/2010
Jauge LPC :
[VX] Multi-Drop VX 891527140069 / 10069 / 100[VX] Multi-Drop VX 8915271400

G 1 petit zizi Very Happy
Nn C pa vré Sad
[VX] Multi-Drop VX Membre15
[VX] Multi-Drop VX Partag10
[VX] Multi-Drop VX Travai10
[VX] Multi-Drop VX Event-10
[VX] Multi-Drop VX Altrui10
[VX] Multi-Drop VX Riche_10
[VX] Multi-Drop VX Couhil10
[VX] Multi-Drop VX Nain_p11
[VX] Multi-Drop VX Connar10


[VX] Multi-Drop VX Empty
MessageSujet: Re: [VX] Multi-Drop VX   [VX] Multi-Drop VX EmptyVen 19 Aoû 2011 - 17:25

Ah ça tombe bien j'allais en chercher un :p
Merci ruruk !!
Revenir en haut Aller en bas
 
[VX] Multi-Drop VX
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [VX] Multi Tileset
» Multi maker
» Multi Starter
» Multi-couches comme sur XP mais pour VX
» X4 Apocalypse (hack and slash multi où on joue collés)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker VX :: Système-
Sauter vers: