❤ 0 Auteur : SLNC
Logiciel : RPG Maker VX
Nombre de scripts : 1
Explication
Ce script n'a d'intérêt que si vous possédez l'Auto-Tilesets de Darkleo présent sur ce site (ou toute autre version, enfin, quelque chose qui vous permet de changer de tilesets en fonction de la map).
D'ailleurs, ce script n'est compatible qu'avec l'Auto-Tilesets, et il faudra changer quelques détails si vous ne possédez pas cette version.
Le principe par défaut est simple :
Pour chaque tileset que vous voulez éditer, il vous faudra créer une image de la taille du tileset (soit 256x256, car les Tilesets A ne sont pas modifiés ici) contenant donc 256 cases de 16x16 pixels (j'ai mis des rebords pour chaque case pour mettre facilement les couleurs).
Je n'ai pas cherché à réduire l'image. Vous pouvez même faire ca avec une bitmap de 16x16 en remplaçant 1 pixel par 1 pixel (pour cela, changez CaseSize)
Je vous conseille de faire plutôt des cases de 4x4 ou 5x5, ça permet de mettre les rebords et ça prendra 16 fois moins de place.
Vous prenez n'importe quel éditeur d'image et vous remplissez les carrés.
Vous pouvez choisir les couleurs que vous voulez dans le script.
Seul le pixel au centre du carré est testé, vous pouvez faire ce que vous voulez autour.
Vous pouvez aussi choisir où vous voulez les mettres. Par défaut, c'est dans un sous-dossier Passages à créer dans Graphics/System (pour éviter d'avoir trop de fichiers de System).
Modifiez aussi l'extenstion (.png par défaut) et le suffixe (_passages par défaut) que vous voulez utiliser si vous voulez.
Bien sûr, si aucun fichier n'est trouvé, ce sont les passages par défaut qui sont attribués ($data_system.passages). De même si les couleurs ne correspondent pas à celles indiquées.
Installation
A placer au-dessus de Main.
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
| class Game_Map
# La taille d'une case (hauteur et largeur à la fois)
CaseSize = 16
# Le dossier où sont contenus les fichiers
PassagesFolder = "Graphics/System/Passages/"
# Suffixe du fichier
PassagesSuffix = "_passages"
# Extension utilisée
PassagesExtend = ".png"
# Couleurs correspondantes
PassagesColors = [
Color.new(255, 255, 255), # O
Color.new(255, 0, 0), # X
Color.new(0, 255, 0) # *
]
def search_passages(tab)
passages = default_passages = $data_system.passages
for i in 0..3
filename = tab[i + 5] + PassagesSuffix
next unless FileTest.exist?(PassagesFolder + filename + PassagesExtend)
passages_bitmap = Cache.load_bitmap(PassagesFolder, filename)
for j in 0..255
x = j % 16 * CaseSize + CaseSize / 2
y = j / 16 * CaseSize + CaseSize / 2
case passages_bitmap.get_pixel(x, y)
when PassagesColors[0] ; passages[j + i * 256] =6
when PassagesColors[1] ; passages[j + i * 256] =15
when PassagesColors[2] ; passages[j + i * 256] =22
end
end
end
return passages
end
end
|
Utilisation
Pour qu'il soit actif, il faut l'appeler à 2 endroits :
(méthode effective = celle qui est appelée en jeu, donc faîtes attention aux alias et aux redéfinitions de méthodes, car ces parties de script sont modifiées par pas mal de scripts différents et est souvent la source de certaines incompatibilités)
* Trouvez la méthode effective "create_tilemap" dans Spriteset_Map, et remplacez la ligne :
1
| @tilemap.passages = $data_system.passages |
par
1
| @tilemap.passages = $game_map.search_passages(tab) |
* Trouvez la méthode effective "setup" dans Game_Map, et remplacez la ligne :
1
| @passages = $data_system.passages |
par
1
| @passages = search_passages(Data_Tileset[@map_id]) |
Si vous ne voulez pas supprimer l'ancienne ligne, vous pouvez aussi dans les deux cas mettre simplement la nouvelle ligne à la suite (ce serait plus simple si jamais vous vouliez l'enlever).
Mis à jour le 20 novembre 2020.
|