[
][RMVX] Auto_Tilesets
Version 1.0 by Darkleo
Vous utilisez VX ?
Vous voulez pouvoir utiliser plus de tilesets sans avoir de soucis ?
Auto_Tilesets est là pour ça !
Désormais, chaque map peut avoir ses propres tilesets.
Le gros plus, c'est l'éditeur ! En effet, les vous mapperez avec les tilesets de la map !
Préliminaires :Copiez le script... à l'endroit prévu dans l'éditeur.
Ouvrez le répertoire de votre jeu, dossier "Graphics", "System".
Vous devriez avoir les tilesets par défauts. Si ce n'est pas le cas, un passage par le gestionnaire de ressources et c'est fini.
Copiez les tilesets en rajoutant "defaut_" devant chaque, et ce pour les 8 tilesets.
(Exemple : "TileA1" --> "defaut_TileA1")
Script :- Code: Tout sélectionner
#==============================================================================
# ** Auto_Tilesets
# Version 1.0 #02/2009
# By Darkleo (cestleonard@aol.com)
#==============================================================================
module Data_Tileset
module_function
#--------------------------------------------------------------------------
def [](map_id)
tileA1 = "TileA1"
tileA2 = "TileA2"
tileA3 = "TileA3"
tileA4 = "TileA4"
tileA5 = "TileA5"
tileB = "TileB"
tileC = "TileC"
tileD = "TileD"
tileE = "TileE"
# Les modifications sont à faire içi !
case map_id
when 5 # L'id de la map
tileA1 = "special"
when 6 # A vous maintenant !
end
# Fin, ne modifiez plus rien !
return [tileA1, tileA2, tileA3, tileA4, tileA5,
tileB, tileC, tileD, tileE]
end
#--------------------------------------------------------------------------
def change_tileset
map_id = load_data("Data/System.rvdata").edit_map_id
path = "Graphics/System/"
default = self[0]
ext = ".png"
for i in 0..8
tileset = self[map_id][i]
default_tileset = default[i]
tileset = "defaut_" + tileset if tileset == default_tileset
file1 = File.open(path + tileset + ext, 'rb')
file2 = File.open(path + default_tileset + ext, 'wb')
file2.write(file1.read)
file1.close
file2.close
end
end
change_tileset if $TEST
#--------------------------------------------------------------------------
end
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
alias old_create_tilemap create_tilemap
def create_tilemap
tab = Data_Tileset[$game_map.map_id]
@tilemap = Tilemap.new(@viewport1)
for i in 0..8
@tilemap.bitmaps[i] = Cache.system(tab[i])
end
@tilemap.map_data = $game_map.data
@tilemap.passages = $game_map.passages
end
#--------------------------------------------------------------------------
end
#==============================================================================
Instructions :Les modifications sont à faire à partir de la ligne 19.
Pour chaque map, rajoutez "when X" (X = id de la map), puis, en sautant des lignes, les nom des tilesets voulus.
Pour exemple, la map 5 utilisera le tileset nommé "special.png" du dossier "System", à la place du tileset "TileA1".
Pour changer de tileset dans l'éditeur, placez vous sur la map voulue, enregistrez, puis lancez le jeu.
Vous remarquerez dans l'éditeur (en changeant de map) que le tileset que vous voyez est celui utilisé pour la map choisie lors du lancement du jeu.
Voila, j'espère avoir beaucoup de commentaires, sur le script, mais en particulier sur l'explication du script, que j'ai du mal à simplifier.
Darkleo.