AccueilAccueil  PortailPortail  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  S'enregistrerS'enregistrer  ConnexionConnexion  




Partagez | 
 

 [VX] Arrêter les rencontres aléatoires

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Ex-Admin Cruelle
Ex-Admin Cruelle
avatar


Féminin Age : 25
Inscrit le : 03/07/2008
Messages : 2441

MessageSujet: [VX] Arrêter les rencontres aléatoires   Mer 30 Juin 2010 - 14:33

Arrêter les rencontres aléatoires


Auteur : Blockade
Date : 30/06/2010
Version : 1.1


Description du script :
- Permet d'avoir un objet qui arrête les rencontre pendant un nombre de pas prédéfini dans la base de données

Démo :
megaupload.com O3VJSK21

Installation & utilisation :
A mettre au dessus de main, comme d'ab'
Pour l'utiliser c'est simple :
Code:
#=======================================================================
# ▼ Utilisation
# --------------------------------------------------------------------------
#  Créez votre objet avec cible aucune et dans la partie "Note" mettez :
#  <repousse x>
#  ou x le nombre de pas pendant lequel vous n'aurez aucune rencontre aléatoire.

script :
Code:
#===============================================================================
# ▼ [VX] Empêcher les rencontres pour X pas.
#------------------------------------------------------------------------
# Blockade script Library - Empêcher les rencontres pour X pas.
# Date : 30/06/2010
# Niveau : Facile
# Version : 1.1
# Forum d'origine : http://rpg-maker-vx.bbactif.com/forum.htm
#
#  Ce script permet d'empêcher les rencontres aléatoires pendant à certains temps à
#  l'aide d'un objet. La configuration se fait tout simplement dans la base de données
#  dans la note de l'objet.
#=======================================================================
# ▼ Updates
# -------------------------------------------------------------------------
# ¤ 05/05/2010 -  Version 1.0 - Création du script
# ¤ 18/06/2010 -  Version 1.1 - Correction d'un bug
#=======================================================================
# ▼ Installation
# --------------------------------------------------------------------------
#  Inserez ce script avant main, et jettez un coup d'oeil à la section "Utilisation"
#=======================================================================
# ▼ Utilisation
# --------------------------------------------------------------------------
#  Créez votre objet avec cible aucune et dans la partie "Note" mettez :
#  <repousse x>
#  ou x le nombre de pas pendant lequel vous n'aurez aucune rencontre aléatoire.
#=======================================================================
# ▼ Alias et compatibilité
# --------------------------------------------------------------------------
# ► Méthodes réecrites :
#  > Game_Party : increase_steps
# ► Alias méthodes :
#  > Scene_Item : use_item_nontarget
#===============================================================================

#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
# Class qui gére l'équipe.
#==============================================================================
class Game_Party < Game_Unit
  #--------------------------------------------------------------------------
  # * Augmente le nombre de pas
  #--------------------------------------------------------------------------
  def increase_steps
    @steps += 1
    if $game_system.last_steps != nil
      if $game_system.last_steps + $game_system.time_encounter == @steps 
        $game_system.encounter_disabled = false
        $game_player.make_encounter_count
        $game_system.last_steps = nil
        $game_system.time_encounter = nil
      end
    end
  end
end

#==============================================================================
# ** Scene_Item
#------------------------------------------------------------------------------
# Class qui gére l'inventaire
#==============================================================================
class Scene_Item < Scene_Base
  #--------------------------------------------------------------------------
  # * Utilisation d'un objet
  #--------------------------------------------------------------------------
  alias use_item_nontarget_block use_item_nontarget unless $@
  def use_item_nontarget
    return if $game_system.last_steps != nil && @item.nb_pas != nil && @item.nb_pas != 0
    use_item_nontarget_block
    if @item.nb_pas != nil && @item.nb_pas != 0
      nb_pas = @item.nb_pas
      $game_system.time_encounter = nb_pas
      $game_system.last_steps = $game_party.steps
      $game_system.encounter_disabled = true
    end
  end
end

#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
# Class qui gére plusiseurs variable lié au jeu
#==============================================================================
  class Game_System
    attr_accessor :time_encounter # Nombre de pas avant la réactivation des combat aléatoires
    attr_accessor :last_steps # Retourne le nombre de pas quand l'objet à été activé
  end

#==============================================================================
# **RPG::Item
#------------------------------------------------------------------------------
# Gére toute la BBD, les objets en particuliers
#==============================================================================
  class RPG::Item
  #--------------------------------------------------------------------------
  # * Renvoye le nombre de pas limite
  #--------------------------------------------------------------------------
  def nb_pas
    nb_pas_stop = 0
    @note.split(/[\r\n]+/).each { |line|
      case line
        when  /<(?:repousse)[ ]*(\d+)>/i
          nb_pas_stop = $1.to_i
      end}
      return nb_pas_stop
    end
  end

Remarques :
C'est un script que j'avais fait pour une demande, mais TaZ l'a redemandé, ce qui m'a fait pensé qu'il valait mieux poster le script directement ici pour vous éviter à le chercher partout ! De plus si vous utilisez l'ancienne version avec le tag dans la note "Nb_pas=x" je vous conseille de changer de version, mais il faudra changer le tag en "". Téléchargez la démo si vous avez un doute sur son fonctionnement !
Cette version empêche un "repousse" d'être réutilisé si il y en à déjà un d'actif.

_________________

Ma librairie de scripts

♥ Tata blockie vous conseille :

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 

[VX] Arrêter les rencontres aléatoires

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» [ résolu ]ccleaner s'arrête à 98 %
» Arrêt en gare suivant type de train
» Mode de Conduite Manuel avec Arrêt forcé au Rouge
» Temporisation d'arrêt dans les cantons
» [RESOLU] démarrage et arrêt de trace sur etrex30

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX - RGSS2 :: Divers-
Créer un forum | © phpBB | Forum gratuit d'entraide | Signaler un abus | Forumactif.com