Zarok RPG Maker
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilDernières imagesS'enregistrerConnexion
Le Deal du moment : -47%
SAMSUNG T7 Shield Bleu – SSD Externe 1 To ...
Voir le deal
89.99 €

Partagez | 
 

 Commande Voler

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Choco-sama
Choco-sama


Grade : Lapin lvl 3
Masculin Messages : 1046
Age : 37
Loisirs : Making, gaming, loving...
Date d'inscription : 30/01/2012

Caractéristiques du membre
Evolution: Animal
Job: Indéfini
XP:
Commande Voler Left_bar_bleue18/30Commande Voler Empty_bar_bleue  (18/30)

Commande Voler Empty
MessageSujet: Commande Voler   Commande Voler EmptyDim 11 Aoû 2013 - 8:51

Commande simple "voler"

Auteur du script: Zetu


Introduction:
Beaucoup de gens se sont plaint à ce sujet. VXAce n'a pas de script de vol d'objet par défaut. Donc, Zetu a fait ce script de vol simple.

Caractéristiques:

* Lier une compétence, comme voler, et de prendre des objets à partir d'un ennemi.


Code:
module Z05
 
  STEAL_SKILL = /<steal>/i
  STEAL_OBJ  = /<steal[:]*\s*(WEAPON|ITEM|ARMOR|GOLD)\s*(\d+)>/i
 
  NO_STEALS    = "%s has nothing to steal."
  STEAL_GOLD    = "Stole %s gold from %s."
  STEAL_ITEM    = "Stole %s from %s."
 
 end

class Window_BattleLog < Window_Selectable
 
  def display_steal(target)
    item = target.last_stolen_item
 print item;print "\n"
    if item.nil?
  add_text(sprintf(Z05::NO_STEALS, target.name))
  print "Nothing to Steal\n"
 elsif item.is_a?(Integer)
  add_text(sprintf(Z05::STEAL_GOLD, item, target.name))
  print "Stole #{item} Gold\n"
 else
  add_text(sprintf(Z05::STEAL_ITEM, item.name, target.name))
  print "Stole #{item.name}\n"
 end
 target.reset_steal_item
  end
 
  alias z05dd display_damage
  def display_damage(target, item)
    z05dd(target, item)
 display_steal(target) if item.steal?
  end
 
end

class RPG::UsableItem < RPG::BaseItem
  def steal?
    self.note.scan(Z05::STEAL_SKILL){return true}
 return false
  end
end

class Game_Enemy < Game_Battler
 attr_reader :last_stolen_item
 
  alias z05_initialize initialize
  def initialize(index, enemy_id)
    z05_initialize(index, enemy_id)
    z05_start
  end
 
  def z05_start
    @steal_data = []
    self.enemy.note.scan(Z05::STEAL_OBJ){|type, id|
      case type
      when /item/i
        @steal_data.push($data_items[id.to_i])
      when /weapon/i
        @steal_data.push($data_weapons[id.to_i])
      when /armor/i
        @steal_data.push($data_armors[id.to_i])
      when /gold/i
        @steal_data.push(id.to_i)
      end
    }
  end
 
  def apply_steal_effect
    return nil if @steal_data.size==0
    return @last_stolen_item=@steal_data.delete_at(rand(@steal_data.size))
  end
 
  def item_apply(user, item)
    super
 add_item_steal_effect if item.steal? unless @result.missed
  end
 
  def add_item_steal_effect
    @stolenitem = apply_steal_effect
 return if @stolenitem.nil?
 if @stolenitem.is_a?(Integer)
  $game_party.gain_gold(@stolenitem)
 else
  $game_party.gain_item(@stolenitem, 1)
 end
  end
 
  def reset_steal_item
    @last_stolen_item=nil
  end
 
end

Il est recommandé d'utiliser le script "Exact Extention", pour le faire apparaître comme une commande.
Revenir en haut Aller en bas
 

Commande Voler

Voir le sujet précédent Voir le sujet suivant Revenir en haut 

 Sujets similaires

-
» Faire voler le personnage
» Commande événementielle "Transition"
» Tuto d'explication des commande evenementiel.
» Proposez une nouvelle commande [Geex Make]
» Menu personnalisable avec commande téléport
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Zarok RPG Maker :: 

 :: SCRIPTS :: Script VX.Ace :: Scripts de combat
-
Sauter vers: