Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
477 connectés actuellement
30732735 visiteurs depuis l'ouverture
2714 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
❤ 0 Qui n'a jamais rêvé de changer de tileset en restant sur la même map ? PERSONNE !
C'est pourquoi je vous propose ce script trouvé sur le net et fonctionnel à 100% !
Version 1.1
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
| #==========================================================
# Script de changement de Tileset
# Version 1.1
#
# Dooxe, corrigé par h3osss
# Version 1.1 (2014) : correction des priorités de superposition.
#==========================================================
#--------------------------------------------------------
# Redefinition de la methode update
# pour mettre a jour la Map
#--------------------------------------------------------
class Spriteset_Map
alias old_update update
def update
@tilemap.priorities = $game_map.priorities
old_update
if @tilemap.tileset != RPG::Cache.tileset($game_map.tileset_name)
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
end
end
end
#--------------------------------------------------------
# Game_Map #
# - - - - - -
# Definition de la methode de changement de tileset
#--------------------------------------------------------
class Game_Map
def change_tileset(id)
tileset = $data_tilesets[id]
@tileset_name = tileset.tileset_name
@autotile_names = tileset.autotile_names
@panorama_name = tileset.panorama_name
@panorama_hue = tileset.panorama_hue
@fog_name = tileset.fog_name
@fog_hue = tileset.fog_hue
@fog_opacity = tileset.fog_opacity
@fog_blend_type = tileset.fog_blend_type
@fog_zoom = tileset.fog_zoom
@fog_sx = tileset.fog_sx
@fog_sy = tileset.fog_sy
@battleback_name = tileset.battleback_name
@passages = tileset.passages
@priorities = tileset.priorities
@terrain_tags = tileset.terrain_tags
end
end
#--------------------------------------------------------
# Interpreter #
# - - - - - - -
# Definition de la methode de changement de tileset
# Va permetrre d'appeller la methode de Game_Map
# depuis un appel de script dans un evenement
#--------------------------------------------------------
class Interpreter
def change_tileset(id)
$game_map.change_tileset(id)
return true
end
end
#-------------------------------------------------------- |
Utilisation
Voici le modèle de formule, à appeler dans un appel de script :
1
| $game_map.change_tileset(id) |
Il suffit tout simplement de changer "id" par l'id du tileset que vous souhaitez !
Exemple:
1
| $game_map.change_tileset(007) |
Et voilà ! C'était tous simple non ?
Mis à jour le 18 octobre 2020.
|
Monos -
posté le 14/04/2009 à 20:28:55 (57322 messages postés)
| Vive le homebrew | Attentions: Suite du script.
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
#==========================================================
# Script de changement de Tileset
#
#
# Dooxe version
#
#==========================================================
#--------------------------------------------------------
# Redefinition de la methode update
# pour mettre a jour la Map
#--------------------------------------------------------
class Spriteset_Map
alias old_update update
def update
old_update
if @tilemap.tileset != RPG::Cache.tileset($game_map.tileset_name)
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
end
end
end
#--------------------------------------------------------
# Game_Map #
# - - - - - -
# Definition de la methode de changement de tileset
#--------------------------------------------------------
class Game_Map
def change_tileset(id)
tileset = $data_tilesets[id]
@tileset_name = tileset.tileset_name
@autotile_names = tileset.autotile_names
@panorama_name = tileset.panorama_name
@panorama_hue = tileset.panorama_hue
@fog_name = tileset.fog_name
@fog_hue = tileset.fog_hue
@fog_opacity = tileset.fog_opacity
@fog_blend_type = tileset.fog_blend_type
@fog_zoom = tileset.fog_zoom
@fog_sx = tileset.fog_sx
@fog_sy = tileset.fog_sy
@battleback_name = tileset.battleback_name
@passages = tileset.passages
@priorities = tileset.priorities
@terrain_tags = tileset.terrain_tags
end
end
#--------------------------------------------------------
# Interpreter #
# - - - - - - -
# Definition de la methode de changement de tileset
# Va permetrre d'appeller la methode de Game_Map
# depuis un appel de script dans un evenement
#--------------------------------------------------------
class Interpreter
def change_tileset(id)
$game_map.change_tileset(id)
return true
end
end
#--------------------------------------------------------
|
Puis faîtes un événement avec :
1
2
3
|
$game_map.change_tileset(id)
|
Et là ça marche
======================
Pour XP vu que Vx c'est limité.
Tips sympa.
(Tien, sur Xp il y a pas d'option pour changer le chipset. encore un truc en moins par apport à 2003 sans passer par du script/commande ruby)
|
Signer du nez ? |
Toy master -
posté le 14/04/2009 à 20:34:59 (2553 messages postés)
| Programmeur confirmé et à la retraite ! | Citation: (Tien, sur Xp il y a pas d'option pour changer le chipset. encore un truc en moins par apport à 2003 sans passer par du script/commande ruby) |
En même temps c'est pas super utile !
|
--Citation : L'homme n'est pas fait pour travailler, la preuve c'est que ça le fatigue !--Un petit rpg totalement debile !--Ma galerie !--Un petit rpg totalement débile 2 ! |
kmi81 -
posté le 15/04/2009 à 10:07:09 (102 messages postés)
| Buvez, c'est mon sang. Mangez, c'est mon corps. Touchez pas c'est mon cul. | Citation: Si c'est bien géré, ça peut être vachement utile. |
En effet, quand on utilise un système de temps, avec météo, saisons et tout le blabla, c'est super pratique lorsqu'on veut passer à un tileset enneigé, ou automnal... enfin m'avez compris
|
Commence tout, ne fini rien... |
PJj82 -
posté le 15/04/2009 à 11:04:34 (4 messages postés)
| | Ah mince ...
J'ai posté trop vite et j'ai uoblié la moitié du script
Donc je le poste ici , mais complet ^^
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
#==========================================================
# Script de changement de Tileset
#
#
# Dooxe version
#
#==========================================================
#--------------------------------------------------------
# Redefinition de la methode update
# pour mettre a jour la Map
#--------------------------------------------------------
class Spriteset_Map
alias old_update update
def update
old_update
if @tilemap.tileset != RPG::Cache.tileset($game_map.tileset_name)
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
end
end
end
#--------------------------------------------------------
# Game_Map #
# - - - - - -
# Definition de la methode de changement de tileset
#--------------------------------------------------------
class Game_Map
def change_tileset(id)
tileset = $data_tilesets[id]
@tileset_name = tileset.tileset_name
@autotile_names = tileset.autotile_names
@panorama_name = tileset.panorama_name
@panorama_hue = tileset.panorama_hue
@fog_name = tileset.fog_name
@fog_hue = tileset.fog_hue
@fog_opacity = tileset.fog_opacity
@fog_blend_type = tileset.fog_blend_type
@fog_zoom = tileset.fog_zoom
@fog_sx = tileset.fog_sx
@fog_sy = tileset.fog_sy
@battleback_name = tileset.battleback_name
@passages = tileset.passages
@priorities = tileset.priorities
@terrain_tags = tileset.terrain_tags
end
end
#--------------------------------------------------------
# Interpreter #
# - - - - - - -
# Definition de la methode de changement de tileset
# Va permetrre d'appeller la methode de Game_Map
# depuis un appel de script dans un evenement
#--------------------------------------------------------
class Interpreter
def change_tileset(id)
$game_map.change_tileset(id)
return true
end
end
#--------------------------------------------------------
|
Puis faîtes un événement avec :
1
2
3
|
$game_map.change_tileset(id)
|
Et là ça marche
|
Mikltov -
posté le 15/04/2009 à 11:53:00 (1530 messages postés)
| Makeuse tarée et Agent du FBI... | Pour VX ou XP ? Car il n'y a rien qui le précise.
|
Makeuse à la crosse de street-hockey. Livestream. |
d arkangel -
posté le 16/04/2009 à 07:57:28 (322 messages postés)
| bidouilleur professionnel | Personnellement j'utilise cette technique pour le système jour/nuit mais avec ce code :
A placer dans Spriteset_Map, en dessous de la ligne :
1
| @tilemap = Tilemap.new(@viewport1) |
1
2
3
4
5
| if $game_switches[X] == true
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
else
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name+"_nuit")
end |
Explication :
- $game_switches[X] désigne l'interrupteur numéro X, très pratique car vous appelez un interrupteur ''jour'' et quand il est activé c'est le premier tilset et lorsqu'il est désactivé c'est le second qui est utilisé.
- +"_nuit" sert à désigner le tilset à prendre par le nom càd le même que celui de la map + _nuit. Très pratique pour la gestion des tilset dans la base de donnée.
Amélioration possible : si vous voulez faire des saisons rempalcez l'interrupteur par une variable et augmentez le nombre de possibilité.
1
2
3
4
5
6
7
8
9
| if $game_variables[X] == 1
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name+"_hiver")
elsif $game_variables[X] == 2
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name+"_printemps")
elsif $game_variables[X] == 3
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name+"_été")
elsif $game_variables[X] == 4
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name+"_automne")
end |
Remarque : Le changement est instantané et c'est plus facile à utiliser !
|
La théorie, c'est quand on comprend tout mais que rien ne marche. La pratique, c'est quand ça marche mais personne ne sait pourquoi. Ici, on fait les deux : rien ne marche et personne ne sait pourquoi ! |
SINEN Kamui -
posté le 27/04/2009 à 14:33:58 (64 messages postés)
| 【引き篭もり】 | Ce script marche à merveille !
Merci beaucoup !!
Ce serait bien un petit dégradé entre tilesets, mais bon, j'vais m'arranger pour voir si je 'peux pas me bidouiller ça moi-même. Ehe!
EDIT ::
Voilà, j'ai ajouté mon petit dégradé entre tilesets, ça marche impect et ça me donne le résultat dont j'avais besoin. Le problème, c'est les autotiles... O_O
Exemple : Lorsque je suis sur le tileset A, c'est les autotiles B qui apparaissent. Lorsque je suis sur le tileset B, c'est les autotiles A qui apparaissent.
Comme je n'ai rien modifié du script, je ne vois pas d'où viens le problème !
|
||| Tramp Boy System ||| Kamuy Mosir | Act.1 - Uwasurani mon Erampokinu ||| |
nafyos -
posté le 03/05/2009 à 22:10:54 (32 messages postés)
| | salut vous allez tous me prendre pour un con, mais désoler je ne comprend pas du tout la démarche.
le script se met ou exactement s'il vous plait ?? enfin si je peut avoir plus de détail ca serait cool merci d'avance. Oui je sais monos j'avais dis que je viendrais plus poster mais bon....: doute1
Merci d'avance !!!!!!!!!
|
jonamigh -
posté le 26/06/2009 à 18:06:29 (66 messages postés)
| | vous pouriez etre plus claire ou est ce que l'on doit mettre se script parce qu'on y comprend rien et franchement il me le faut
expliquer s'il vous play
|
je passe des heure sur rpgmaker xp j'adore ca !!!! |
Tata Monos -
posté le 26/06/2009 à 18:14:36 (28 messages postés)
| Compte Non utilisé | Réfléchie 5 minutes Jona.
Le gros script ou veux tu le placer ? (DMC je sais)
Et les petits commande ? Quand je parle d'événement ?
Il y a pas un événement Code ou RGSS ou script pour placer des petits morceau script directement dans le jeu via un événement ?
|
jonamigh -
posté le 26/06/2009 à 23:00:40 (66 messages postés)
| | mais je sais sa je l'avais compris mais je ne savais pas dans quoi mettre se script mais c dans sprite_map non? ou audessu de main?
a la suite?
et sa marche pas
je vais dans proprieter de la carte je change de tileset mais sa me change tous les truc par exemple les maison devienne des arbres
je comprend pas
|
je passe des heure sur rpgmaker xp j'adore ca !!!! |
Tata Monos -
posté le 26/06/2009 à 23:20:13 (28 messages postés)
| Compte Non utilisé | Comme d'habe, comme tous les scripts au dessus du script Main.
|
jonamigh -
posté le 26/06/2009 à 23:28:17 (66 messages postés)
| | sa marche pas
une vidéo serai la bien venu
|
je passe des heure sur rpgmaker xp j'adore ca !!!! |
adi0 -
posté le 05/07/2009 à 23:59:22 (1 messages postés)
| | euh, jvais me faire passée pour un c** mais comment on voit quand les tileset change parceque moi franchement les script et moi sa fait 2
|
Sykodeus -
posté le 02/09/2009 à 14:45:09 (23 messages postés)
| Ces quelques lignes ne valent absolument pas le coup d'être lues. | Moi je comrpends pas le principe
Si on change de tileset, les éléments deviennent complètement n'importe quoi... autant téléporter l'équipe, non ?
A moins que ce ne soit à utiliser avec des tilesets, persos, et là je comprends.
|
Don't look at this |
Heavy Rain -
posté le 03/03/2010 à 18:28:29 (1053 messages postés)
| | Ca sert a rien ce script !
A si ! Si t'a envie de pourrir ton jeu pardon j'avais oublié qu'il existait des gens bizarres.
|
Floow -
posté le 26/06/2010 à 02:32:41 (1 messages postés)
| | Saluut,
j'ai essayé ce script :
j'ai bien mis un événement avc le code mais...
keski fo faire aprés ? psk perso, sa ne change rien pr moi.
G fé jouer mon jeu pr voir mais tjrs rien...
Aidez moi svp !
|
| J'aime les trains. | jonamigh a dit:
sa marche pas
une vidéo serai la bien venu
|
Euh tu veux un tapis rouge aussi ??
Si tu ne sais même pas ou placer un script, qu'est-ce que tu fous sur ce topic ?
Donc viens pas râler ...
Tu le fous au dessus de main, et pour l'appeler il y a une SUPER commande, page 3, qui s'appelle "Inserer script" !!!!!
C'est si compliqué ?
Pourquoi tu voudrais le foudre dans Spriteset_Map ? Reflechis un peu bon dieu ...
Surtout si au début il est marqué class Spriteset_Map, on va pas faire deux même classes dans un seul script !
|
Que Dieu vous garde, j'ai plus de place chez moi ... |
Seikame -
posté le 28/04/2012 à 13:15:10 (57 messages postés)
| | Si je peux me permettre une remarque, ce script est superbe pour changer simplement les fonds de combats en gardant la "même" map !
Il suffit de faire plusieurs tilesets avec les mêmes éléments en changeant juste les backgrounds de combat (ou ce qu'on veut) et placer les évènements de changement de tilesets aux frontières des zones où l'on souhaite avoir un fond différent en combat.
Voilà, ça coule peut être de source pour certains mais si ça peut en aider.
|
Twitter (les dessins) - UPBF (jeu de baston) |
| Je suis dans le game ! | Moi je vais m'en servir pour animer mes tileset c'est possible?
Est-ce que le script fonctionne en temps reel, le jeu risque pas de lag si les changement sont trop frequent.
En faite je voullais alterner entre deux tiles (voire trois ou quatre) pour que chaque tile fonctionne comme une frame.
|
Projet en cours: INRAL / En pause :NEOTORI /// Pause : L'ANKH DE KINBRA /// Pause : GRASS SHOPPER /// GALERIE |
Seikame -
posté le 14/07/2014 à 01:13:21 (57 messages postés)
| | Bonjour/bonsoir, je déterre encore ce sujet :
J'ai remarqué que les priorités de superpositions n'étaient pas prises en compte lors du changement de tileset. Les permissions de passage sont actualisées sans problème mais pas les priorités de superposition. C'est normal ? Et sinon y a-t-il un moyen d'y remédier ?
EDIT : bon ben merci à h3osss qui a réglé le problème en interne, je laisse sa modification à disposition dans le cas improbable où ça puisse servir à quelqu'un d'autre que moi :
http://paste.awesom.eu/umTL
|
Twitter (les dessins) - UPBF (jeu de baston) | |
|
|