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 :http://www.megaupload.com/?d=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.