~ S'évader de la banalité... Et entrer dans l'imaginaire ! ~
 
AccueilGuelnika, le site de E-m !S'enregistrerConnexion

Répondre au sujet
Partagez | 
 

 [VX.Ace] Commande simple "voler"

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Choco-sama
Fan traître de harusame lvl 69
avatar

Nombre de messages : 13757
Age : 30

MessageSujet: [VX.Ace] Commande simple "voler"   Mar 30 Juil 2013, 15:46

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.

____________
@Zim a écrit:
voire les super-hardcore-poke-nerds genre Choco



"Quand j'ai faim, hop, un voisin!"

Derniers Pokemons Chromatiques/ Shiney capturés: Ningale/ Axoloto/ Herbizarre/ Maracachi/ Golemastoc
Revenir en haut Aller en bas
Relm
Comant on enleve le vert autoure du hero??? Lv 0,5
Comant on enleve le vert autoure du hero??? Lv 0,5
avatar

Nombre de messages : 40815

MessageSujet: Re: [VX.Ace] Commande simple "voler"   Mar 30 Juil 2013, 15:58

Aucune infos sur le gameplay du skill ?
Revenir en haut Aller en bas
Choco-sama
Fan traître de harusame lvl 69
avatar

Nombre de messages : 13757
Age : 30

MessageSujet: Re: [VX.Ace] Commande simple "voler"   Mar 30 Juil 2013, 16:01

Malheureusement, je n'en ai pas trouvé. Cela vient d'une commu anglaise, mais je fouillerai encore au cas où ^^'

Donc, à part chiper un objet, on n'en sait pas tant que ça, désolé ^^;

____________
@Zim a écrit:
voire les super-hardcore-poke-nerds genre Choco



"Quand j'ai faim, hop, un voisin!"

Derniers Pokemons Chromatiques/ Shiney capturés: Ningale/ Axoloto/ Herbizarre/ Maracachi/ Golemastoc
Revenir en haut Aller en bas
garywiss6
Rétrograde Lv 54
Rétrograde Lv 54
avatar

Nombre de messages : 5265
Age : 22

MessageSujet: Re: [VX.Ace] Commande simple "voler"   Mar 30 Juil 2013, 16:14

en lisant le script, beh ça vole l'objet/l'argent que donne l'ennemi à la fin du combat mais j'ai pas l'impression de voir un calcul de proba ou autre, faudrait tester le script in-game pour voir Owi toutafé olala

____________
Un soir banal sur skype a écrit:
Moi : C'était quoi ce cri ?
Choco : C'est ma saucisse qui a hurlé.
Revenir en haut Aller en bas
http://vuesubjective.org/Garywiss/
Contenu sponsorisé




MessageSujet: Re: [VX.Ace] Commande simple "voler"   

Revenir en haut Aller en bas
 
[VX.Ace] Commande simple "voler"
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous pouvez répondre aux sujets dans ce forum
E-magination :: ~ Forums d'enrichissement ~ :: Apprentissage et partage :: RPG Maker VX & VX Ace :: Tutoriels / Scripts-
Répondre au sujetSauter vers: