Sujet n°10835
Posté par Silver le 12 Jan - 17:08 (2012)
Titre : Différents styles de Pokémon
Bonjour,
Je voulais savoir s'il était possible d'inclure plusieurs styles de sprites de Pokémons dans un même projet.
Par exemple, dans une région vous avez des Pokémons style Diamant/perle, et dans une autre, ils sont style Noir/blanc.

Merci de vos réponses et à bientôt.

Posté par Nuri Yuri le 12 Jan - 17:25 (2012)
C'est possible, modifie la classe Pokemon pour que lors de la génération des nom de fichiers des Pokémon ça te donne autre chose en fonction des régions.

Posté par Silver le 12 Jan - 17:34 (2012)
Génial, merci beaucoup de ton aide précieuse!
Mais puis-je avoir un peu plus de précisions sur la façon de procéder?

Posté par Nuri Yuri le 12 Jan - 18:14 (2012)
Cherche dans le script Pokemon :
Code:
    def initialize(id_data = 1, level = 1, shiny = false)

et remplace par :
Code:
    def initialize(id_data = 1, level = 1, shiny = false)
      @region_id=$game_variables[6]

Ça va permettre d'enregistrer la région dans laquelle le Pokémon est apparu donc si tu rencontre un Pokémon sous la forme Kanto il gardera la forme Kanto et ce quelque soit les région. (C'est plus cohérent.)
Après cherche la méthode battler_form, ça devrait ressembler à ça :
Code:
def battler_form
      if @form == nil
        @form = 0
      end
      if @form > 0
        return sprintf("_%02d", @form)
      end
      return ""
    end

Remplace la par ça :
Code:
    def battler_form
      @form=@form.to_i
      @region_id=@region_id.to_i
      str_base=""
      str_base << sprintf("_%02d", @form) if @form > 0
      str_base << sprintf("_R%02d",@region_id) if @region_id > 0
      return str_base
    end


Après, la variable 6 doit être l'id de la région en cours, si ton SK n'a pas modifié la méthode "_WMAPID" de POKEMON_S (Config Pannel) ça affecte aussi la carte du monde donc si la variable est 1 ça affichera la carte du monde avec la MAP 001 et les Pokémons apparaissant seront les id_form_R01, si la variable vaut 0 ça sera la forme de base donc laisse les noms tel-quel et la carte du monde affiché sera la carte par défauts.
Si tu veux une seul et unique carte du monde modifie le code ci dessous dans config pannel :
Code:
def self._WMAPID
    if $game_variables[6] == 0
      return 10 #Valeur par défaut
    end
    return $game_variables[6]
  end

en
Code:
def self._WMAPID
    return 10
  end

Si tu veux des carte du monde avec les ids différent des id de map modifie le code par :
Code:
def self._WMAPID
    case $game_variables[6]
    when 1
      return id_map1 # Id de la Map 1 à remplacer par le nombre correspondant à son id (6 si la map est 006 / 20 si la map est 020)
    when 2
      return id_map2
    when 3 #etc...
      return id_map3
    else
      return 10
    end
  end

Posté par Silver le 12 Jan - 18:24 (2012)
Merci beaucoup!
On va essayer de s'en sortir!