AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



-25%
Le deal à ne pas rater :
-25% Samsung Odyssey G9 G95C – Ecran PC Gamer 49″ Incurvé
599 € 799 €
Voir le deal

Partagez
 

 [Résolu] Modifier plusieurs variables... D'un coup !

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Nanash'Aun
Habitant Lv.6
Habitant Lv.6
Nanash'Aun


Masculin Age : 28
Inscrit le : 16/08/2009
Messages : 120

[Résolu] Modifier plusieurs variables... D'un coup ! Empty
MessageSujet: [Résolu] Modifier plusieurs variables... D'un coup !   [Résolu] Modifier plusieurs variables... D'un coup ! Icon_minitimeJeu 20 Oct 2011 - 16:50

Salut , je ne sais pas si c'est dans cette section qu'il faut que je poste ça, mais vu que ça ne rentre pas vraiment dans les autres... scratch
Voilà, en fait c'est plus une question qu'un problème :
Dans mon projet, je copie plusieurs évents de monstres ( en A-RPG ), et chaque monstre possède sa propre vie ( logique Smile ) qui est stockée dans une variable. Sauf mes évents sont assez compliqués et surtout très loooonnnng. Ce qui fait que je dois, pour faire un nouvel évent, changer genre 50 fois ( au moins, et je jure que je n'exagère pas du tout ) la variable "Vie-Monstre 1" en "Vie-Monstre 2" par exemple.
Tout ça pour demander si il existerait un moyen, que ça soit par script, évent, logiciel, commande en plus ou n'importe quoi de transformer directement toutes les variables numéro 1 en variables numéro 2 dans un évent ( ou a la limite dans une page, ça serait déja génial ).
Merci d'avance à ceux qui me répondent, même si c'est pour dire qu'il n'existe aucun moyen Smile .


Dernière édition par Nanash'Aun le Jeu 27 Oct 2011 - 10:44, édité 1 fois
Revenir en haut Aller en bas
Red-seeds
Templier Lv.15
Templier Lv.15
Red-seeds


Masculin Age : 27
Inscrit le : 02/07/2009
Messages : 1169

[Résolu] Modifier plusieurs variables... D'un coup ! Empty
MessageSujet: Re: [Résolu] Modifier plusieurs variables... D'un coup !   [Résolu] Modifier plusieurs variables... D'un coup ! Icon_minitimeJeu 20 Oct 2011 - 18:23

Je crois que l'on peut faire sa facilement en script.
Je vais faire quelques recherche et je te dit ce que j'ai trouvé.
Dans la section "appeler script" entre sa.
Code:
$game_variables[ID_1] = $game_variables[ID_2]
Remplace ID_1 par la variable de base que tu veux modifier, et ID_2 par la variable qui
sera égale à ID_1.

Exemple:
La variable 8 = 35
La variable 12 = 120
Code:
$game_variables[8] = $game_variables[12]
La variable 8 sera égale à 120.

Si tu le rentre sa à un event commun ou à un évent en processus parallèle sa devrait marché.
Normalement sa doit marché sur tout les évents après si tu rencontre
une erreur n'hésite pas à me prévenir.
Revenir en haut Aller en bas
Sihn
Voyageur Lv.10
Voyageur Lv.10
Sihn


Masculin Age : 36
Inscrit le : 24/04/2009
Messages : 407

[Résolu] Modifier plusieurs variables... D'un coup ! Empty
MessageSujet: Re: [Résolu] Modifier plusieurs variables... D'un coup !   [Résolu] Modifier plusieurs variables... D'un coup ! Icon_minitimeSam 22 Oct 2011 - 20:57

La solution idéale serait d'avoir un script de variables locales. Avec des variables locales, tu n'aurais qu'à copier-coller tes événements tel quel, au lieu de devoir changer les variables de chacun d'entre eux (ce qui est une mauvaise idée, tu te rendras vite compte que le nombre de variable à utiliser est ingérable).

Reste juste à trouver un scripteur ayant un peu de temps devant lui et capable de te faire ce script...
Et ça tombe bien, je suis un scripteur ayant un peu de temps devant lui et capable de te faire ce script!

Plouf.
Code:
#==============================================================================
# Système de variables locales
#------------------------------------------------------------------------------
# Auteur : Sihn
# Créé le : 22/10/2011
# Version : 1.0
#------------------------------------------------------------------------------
# Mettez entre les crochets tous les identifiants de variables séparer par une virgule à utiliser
# comme des variables locales.
# Exemple : SELF_VARIABLES_ID = [5, 6, 7, 11, 12]

SELF_VARIABLES_ID = [1]

#==============================================================================

#==============================================================================
# ** Game_Variables
#==============================================================================
class Game_Variables
  #--------------------------------------------------------------------------
  # * Alias
  #--------------------------------------------------------------------------
  alias local_variable_initialize initialize
  alias old_get []
  alias old_set []=
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    local_variable_initialize
    @self_variables = {}
  end
  #--------------------------------------------------------------------------
  # * Get Variable
  #    variable_id : variable ID
  #--------------------------------------------------------------------------
  def [](variable_id)
    unless SELF_VARIABLES_ID.include?(variable_id)
      return old_get(variable_id)
    else
      key = create_key(variable_id)
      return @self_variables[key] == nil ? 0 : @self_variables[key]
    end
  end
  #--------------------------------------------------------------------------
  # * Set Variable
  #    variable_id : variable ID
  #    value      : the variable's value
  #--------------------------------------------------------------------------
  def []=(variable_id, value)
    unless SELF_VARIABLES_ID.include?(variable_id)
      old_set(variable_id, value)
    else
      if variable_id <= 5000
        key = create_key(variable_id)
        @self_variables[key] = value
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Create Key
  #    variable_id : variable ID
  #--------------------------------------------------------------------------
  def create_key(variable_id)
    return [$game_map.map_id, $game_map.interpreter.original_event_id, variable_id]
  end
end

#==============================================================================
# ** Game_Interpreter
#==============================================================================
class Game_Interpreter
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :original_event_id
end
Comme d'hab, à mettre au dessus de main, mais au dessous des autres scripts, et à nommer comme bon te semble ("Variables locales" me semble approprié).

Pour le fonctionnement, c'est assez simple. Ce script "converti" des variables classiques en variable locales. Et donc, chacune de ces variables locales à une valeur propre à l'événement dans lequel elle est utilisée, exactement comme pour les interrupteurs locaux.
Par exemple, imagine que mon script convertisse la variable 1 en variable locale d'ailleurs, c'est ce qu'il fait par défaut. Je reviendrais plus tard sur comment choisir les variables à utiliser en tant que variables locales).
On va nommer cette variable "PV".
Si tu modifies la variable PV dans un événement, elle ne sera modifiée QUE dans cet événement, et pas les autres. Chaque événement aura donc sa propre valeur pour la variable PV.

Et tu peux faire ça pour toutes les variables que tu veux, tout en gardant des variables globales, communes à tous les événements!
Regarde le début du script :
Code:
SELF_VARIABLES_ID = [1]
Remplace juste le 1 par les identifiants des variables (séparés par une virgule) qui doivent être utilisé en variables globales. J'ai mis un exemple au début du script, en commentaires.

Si tu as la moindre question, n'hésites pas! Wink
Revenir en haut Aller en bas
http://www.google.fr/
Nanash'Aun
Habitant Lv.6
Habitant Lv.6
Nanash'Aun


Masculin Age : 28
Inscrit le : 16/08/2009
Messages : 120

[Résolu] Modifier plusieurs variables... D'un coup ! Empty
MessageSujet: Re: [Résolu] Modifier plusieurs variables... D'un coup !   [Résolu] Modifier plusieurs variables... D'un coup ! Icon_minitimeJeu 27 Oct 2011 - 10:43

Merci beaucoup pour vos réponses, et surtout toi Sihn, poyur ton script ! Tu me sauves la vie : ). Dans l'immédiat j'ai pas de questions, je verrai avec l'utilisation du script ^^ . Encore merci !!!
Revenir en haut Aller en bas
Contenu sponsorisé




[Résolu] Modifier plusieurs variables... D'un coup ! Empty
MessageSujet: Re: [Résolu] Modifier plusieurs variables... D'un coup !   [Résolu] Modifier plusieurs variables... D'un coup ! Icon_minitime

Revenir en haut Aller en bas
 

[Résolu] Modifier plusieurs variables... D'un coup !

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

 Sujets similaires

-
» Le héros donne un coup devant lui (ex: un coup de marteau) [Resolu]
» Affichage des variables sur la map[resolu]
» L'affichage du nombre des variables ! [Résolu]
» Valeur Maximale Variables [resolu]
» Event commun, interrupteurs et variables [Resolu]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Résolu-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit