Partagez
Aller en bas
avatar
Widowan
Fondateur
Nombre de messages : 1435
Age : 35
Localisation : France
Distinction : Sergent
Tyran professionnel
Date d'inscription : 15/12/2007
http://www.rpgmakervx-fr.com

Remplacement des tilesets pendant le jeu.

le Dim 13 Avr 2008 - 17:03
Voici un script de ERZENGEL permettant de remplacer un tileset par un autre avec juste une commande de script !

Le script:
Spoiler:
Code:
#==============================================================================
# ** [ERZVX] Tile Substitution (von ERZENGEL am 5. April 2008 um 14:51)
#------------------------------------------------------------------------------
#  Ermöglicht es die verschiedenen Tilesets zu wechseln.
#==============================================================================

#===============================================================
#                         
#                www.rpgmakervx-fr.com                                         
#     
#===============================================================

#==============================================================================
# ** Game_Map
#==============================================================================
class Game_Map
  #--------------------------------------------------------------------------
  # * Öffentliche Instanzvariablen
  #--------------------------------------------------------------------------
  attr_accessor :tile_a1, :tile_a2, :tile_a3, :tile_a4, :tile_a5,
                :tile_b,  :tile_c,  :tile_d,  :tile_e
  #--------------------------------------------------------------------------
  # * Objektinitialisation
  #--------------------------------------------------------------------------
  alias erzvx_tilesubst_init initialize
  def initialize
    erzvx_tilesubst_init
    # Namen der Standardtilesets
    @tile_a1 = 'TileA1'; @tile_a2 = 'TileA2'; @tile_a3 = 'TileA3';
    @tile_a4 = 'TileA4'; @tile_a5 = 'TileA5'; @tile_b  = 'TileB';
    @tile_c  = 'TileC';  @tile_d  = 'TileD';  @tile_e  = 'TileE'
  end
end
#==============================================================================
# ** Spriteset_Map
#==============================================================================
class Spriteset_Map
  #--------------------------------------------------------------------------
  # * Objektinitialisation
  #--------------------------------------------------------------------------
  alias erzvx_tilesubst_init2 initialize
  def initialize
    erzvx_tilesubst_init2
    @tile_a1 = $game_map.tile_a1; @tile_a2 = $game_map.tile_a2;
    @tile_a3 = $game_map.tile_a3; @tile_a4 = $game_map.tile_a4;
    @tile_a5 = $game_map.tile_a5; @tile_b = $game_map.tile_b;
    @tile_c  = $game_map.tile_c;  @tile_d = $game_map.tile_d;
    @tile_e  = $game_map.tile_e
  end
  #--------------------------------------------------------------------------
  # * Create Tilemap
  #--------------------------------------------------------------------------
  def create_tilemap
    @tilemap = Tilemap.new(@viewport1)
    # Zuweisung von Variablen statt fester Strings
    @tilemap.bitmaps[0] = Cache.system($game_map.tile_a1)
    @tilemap.bitmaps[1] = Cache.system($game_map.tile_a2)
    @tilemap.bitmaps[2] = Cache.system($game_map.tile_a3)
    @tilemap.bitmaps[3] = Cache.system($game_map.tile_a4)
    @tilemap.bitmaps[4] = Cache.system($game_map.tile_a5)
    @tilemap.bitmaps[5] = Cache.system($game_map.tile_b)
    @tilemap.bitmaps[6] = Cache.system($game_map.tile_c)
    @tilemap.bitmaps[7] = Cache.system($game_map.tile_d)
    @tilemap.bitmaps[8] = Cache.system($game_map.tile_e)
    @tilemap.map_data = $game_map.data
    @tilemap.passages = $game_map.passages
  end
  #--------------------------------------------------------------------------
  # * Update Tilemap
  #--------------------------------------------------------------------------
  alias erzvx_tilesubst_upd update_tilemap
  def update_tilemap
    # Abfrage, ob Tilesets gewechselt wurden
    @tilemap.bitmaps[0] =
      Cache.system($game_map.tile_a1) if @tile_a1 != $game_map.tile_a1
    @tilemap.bitmaps[1] =
      Cache.system($game_map.tile_a2) if @tile_a2 != $game_map.tile_a2
    @tilemap.bitmaps[2] =
      Cache.system($game_map.tile_a3) if @tile_a3 != $game_map.tile_a3
    @tilemap.bitmaps[3] =
      Cache.system($game_map.tile_a4) if @tile_a4 != $game_map.tile_a4
    @tilemap.bitmaps[4] =
      Cache.system($game_map.tile_a5) if @tile_a5 != $game_map.tile_a5
    @tilemap.bitmaps[5] =
      Cache.system($game_map.tile_b) if @tile_b != $game_map.tile_b
    @tilemap.bitmaps[6] =
      Cache.system($game_map.tile_c) if @tile_c != $game_map.tile_c
    @tilemap.bitmaps[7] =
      Cache.system($game_map.tile_d) if @tile_d != $game_map.tile_d
    @tilemap.bitmaps[8] =
      Cache.system($game_map.tile_e) if @tile_e != $game_map.tile_e
    # Alter Code
    erzvx_tilesubst_upd
  end
end

Utilisation:
Vos tilesets doivent être placés dans votre dossier "Graphics/System"

Appelez un script et utilisez ces commandes:

Code:
$game_map.tile_a1 = 'Nom du nouveau Tile A1'
$game_map.tile_a2 = 'Nom du nouveau Tile A2'
$game_map.tile_a3 = 'Nom du nouveau Tile A3'
$game_map.tile_a4 = 'Nom du nouveau Tile A4'
$game_map.tile_a5 = 'Nom du nouveau Tile A5'
$game_map.tile_b = 'Nom du nouveau Tile B'
$game_map.tile_c = 'Nom du nouveau Tile C'
$game_map.tile_d = 'Nom du nouveau Tile D'
$game_map.tile_e = 'Nom du nouveau Tile E'

Attention ! Le nouveau tileset remplace le précédent mais garde les mêmes propriétés de passabilité !
A vous de vous arranger pour créer des tilesets compatibles entre eux.

_________________
"Si le monde appartiens à ceux qui se lèvent tôt, et si le royaume des cieux est destiné aux simples d'esprit, alors j'essaye juste de squatter un peu..."
avatar
Jess
Staffeux retraité

Nombre de messages : 855
Age : 27
Localisation : Ma drums ou mon ordi !
Distinction : Dieu de Kipatord


Date d'inscription : 04/05/2008

Re: Remplacement des tilesets pendant le jeu.

le Ven 27 Juin 2008 - 20:09
Alors je dirais que c'est chaud pour faire des Tiles compatible entre eux. Mais en tout cas, une fois le sujet maîtrisé, si on a vraiment besoin de plus de Tiles c'est vraiment super utile ! Very Happy
Merci beaucoup alors. ^^
avatar
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 27
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

Re: Remplacement des tilesets pendant le jeu.

le Ven 27 Juin 2008 - 20:13
Ce petit script ne sert plus à rien depuis que Tata Monos a sorti son fameux "Tileset Upgrader" alias mutipleset, qui permet de rajouter un nombre indéfini de tilesets.
avatar
Jess
Staffeux retraité

Nombre de messages : 855
Age : 27
Localisation : Ma drums ou mon ordi !
Distinction : Dieu de Kipatord


Date d'inscription : 04/05/2008

Re: Remplacement des tilesets pendant le jeu.

le Sam 4 Oct 2008 - 9:57
Ouais t'a pas tord, je l'ai testé et son programme est génial quoi, rien à redire, merci TATA ! !
avatar
mr_floyd
Membre

Nombre de messages : 60
Age : 25
Localisation : Montréal
Distinction : aucune
Date d'inscription : 23/06/2008
http://www.gilmour-tone.c.la

Re: Remplacement des tilesets pendant le jeu.

le Sam 4 Avr 2009 - 3:53
Ca ce fait beaucoup plus facilement en event !
avatar
Mist'
Staffeux retraité

Nombre de messages : 3311
Age : 25
Localisation : France // Auvergne // Cantal
Distinction : Ours Barbu é_è [/Shamu']
Artiste de talent [Yama']
Date d'inscription : 22/12/2007
http://www.rpgmakervx-fr.com

Re: Remplacement des tilesets pendant le jeu.

le Sam 4 Avr 2009 - 14:48
Déjà, tu postes pour rien, car ce que tu dis est totalement faux, comment changer de tileset en évènements?
Aussi, tu fais un nécropost, regarde la date des messages.

Si tu avais porté une argumentation à ton message et avais fait plus d'une ligne, alors je ne t'aurais pas mis d'avertissement, mais là...

_________________
Contenu sponsorisé

Re: Remplacement des tilesets pendant le jeu.

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum