❤ 0 N'étant pas fan du tileset editor, swap tiles ou encore behemot machin truc... Le truc qui est chiant avec, c'est qu'on passe énormément de temps dans l'éditeur pour faire des tonnes de config. qui aux finales font bugger notre projet.
A lire avant utilisation
L'avantage de celui-ci c'est que tout ce fait dans le script, pas d'éditeur pas de bug, bref il marche très bien sur mon projet maintenant que j'ai vraiment compris comment il fonctionnait.
L'inconvénient de celui-ci car oui il y en à un voir même deux c'est qu'il est impossible de régler la passibilité de ses tiles et il est déconseillé d'utiliser des event de ses tiles de base dedans.
En voici les raisons:
Si sur le tile de base TileB on va dire vous prenez un bout d'arbre pour un event, ensuite vous allez sur une map ou vos utilisez un autre tileB et que vous quittez le jeu, le script va garder celui de cette map en mémoire comme tile de base donc l'event ne sera pas le même. Par exemple moi sur le tileC de base j'avais mis des assiettes en event et quand j'ai quitté mon jeu dans la mine les assiettes étaient remplacés par des bouts de métaux xD, donc c'est assez dangereux d'utiliser ses tiles pour faire des events.
Pour la passibilité sur les tiles A1, A2, A3, A4 et A5 c'est pas gênant, après il faut vraiment faire des tiles solides pour ne pas trop être embêté, le TileC de base remplacé par le Tile intérieur de Mac&Blue est pas trop trop chiant car les endroits normalement impossibles à franchir peuvent être facilement corrigés à l'aide d'un event qui bouche l'accès par exemple.
Compatibilité
Ce script est compatible avec le script Passages pour tilesets de SLNC, qui gère les tilesets B, C, D et E.
Auteur: Darkleo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
| #==============================================================================
# ** 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 ici !
case map_id
when 1 # ID de la map
tileA1 = "defaut_TileA1" # Nom du Tilea1 etc ...
tileA2 = "defaut_TileA2"
tileA3 = "defaut_TileA3"
tileA4 = "defaut_TileA4"
tileA5 = "defaut_TileA5"
tileB = "defaut_TileB"
tileC = "defaut_TileC"
tileD = "defaut_TileD"
tileE = "defaut_TileE"
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
#============================================================================== |
On nomme nos tiles de base defaut_.... par exemple TileA1" sera renommer "defaut_TileA1
Il est impératif de faire la configuration du script comme ceci:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| when 1 # Mappemonde
tileA1 = "defaut_TileA1"
tileA2 = "defaut_TileA2"
tileA3 = "defaut_TileA3"
tileA4 = "defaut_TileA4"
tileA5 = "defaut_TileA5"
tileB = "defaut_TileB"
tileC = "defaut_TileC"
tileD = "defaut_TileD"
tileE = "defaut_TileE"
when 2 # L'id de la map
tileA1 = "defaut_TileA1"
tileA2 = "A2mo"
tileA4 = "A4mo"
tileA5 = "A5mo"
tileB = "Bmo"
tileC = "defaut_TileC"
tileD = "defaut_TileD"
tileE = "Emo" |
Si certaines maps ne sont pas configurées il est possible de rencontrer des bugs donc il faut absolument TOUTES les mettre.
Pour changer les tiles par exemple si votre map 2 comme dans mon exemple comporte des tiles différents, créez un event où votre équipe commencera sur la map 2, lancez le jeu et une fois sur cette map quittez-la, vous retournez dans votre projet allez sur la map 1 juste pour la regarder et les tiles que vous avez choisis seront disponible.
Si vous avez des questions. =)
|