Oyez brave gens, j'ai besoin de votre aide.
Voici l'idée que j'ai eu : un lieu adaptable comme le chateau dans Suikoden : Tierkreis
La possibilité dans un lieu composé de plusieurs map, d'intercalé des map entre elles.
Par exemple vous avez une propriété composer comme ça : M1 - M2 - M3
M1 est le chemin pour entrer dans la maison
M2 un salon ( et que ça)
M3 le jardin.
Arrivé à un moment, dans l'histoire, il faut étendre la maison en ajoutant une cuisine (M4) et une chambre (M5) comme ça.
- Code:
-
M1 - M2 - M4 - M3
M5
Puis après on ajoute un vestibule (M6)
- Code:
-
M1 - M6 - M2 - M4 - M3
M5
Je m’arrête là, je pense que vous avez compris le principe (le but étant que la simple maison devienne aussi grande qu'un chateau où chaque pièce est une map) .
Je vois comment le faire en event (utilisation des pages/condition pour pouvoir changer de teleport.)
Mais j'aimerai le faire en script et automatiser un peu tout ça (faire une condition/page par possibilité est un peu long et le risque d'oubli est grand)
Mais le problème, c'est que je ne vois pas comment organiser mes datas pour y arriver.
Le plus simple serait d'utiliser le chaînage (chaque pièce connait quelles pièces lui sont rattachées et si l'une d'elle est non-active on passe à la suivante)
Après il faudrait juste créer un event qui téléporterait automatique à la bonne carte.
J'ai pensé au format suivant :
map1_id:map1_x,map1_y map2_id:map2_x,map2_y ... mapN_id:mapN_x,mapN_y
map1 étant le point de départ, et map2 ... N étant les possibles map d'arrivée de la plus proche à la plus éloigné ( map2 est prioritaire par rapport à la map N)
Du coup, un event créé aux coordonnées map1_x,map1_y sur la map 1 téléporterai le joueur sur la map2 au coordonnées map2_x,map2_y si la map2 est active sinon passaerait à la suivante, jusqu'a N pour trouver une carte active. Si il n'y en a pas, on ne crée pas d'event (ou alors un pour revenir à la carte du monde, au choix)
Que pensez-vous de cette idée ?
Que pensez-vous de la mise en oeuvre en script ?
Comment auriez-vous fait ?
Merci.