Bon ben j'ai écrit rapidement une solution qui permet de modifier l'ordre de l'équipe comme tu le veux, sans passer par une map intermédiaire comme le suggère Atwars.
Par contre, c'est une méthode très complète, qui tient compte de tous les changements que tu pourras faire dans l'équipe, donc la diversité du nombre de personnage total, et du nombre de personnage dans l'équipe. Si au final dans ton jeu tu n'as que deux personnages tout le long, qui ne changent jamais, il suffirait juste de comprendre ce que je vais expliquer pour faire dix fois plus court et plus simple car c'est pas le même problème qu'avec une équipe qui bouge vraiment.
Cette solution est la même de RM2003 à RMVX, pour VX Ace c'est dix fois plus simple, et je sais que depuis XP on peut faire encore plus simple en script, mais c'est toujours mieux de savoir se débrouiller avec les outils qu'on connait bien !
Sur XP, en événement tes seuls outils seront "Modifier variable "X" = Taille de l'équipe" (Dans "Autre"), "Condition : Si "tel allié" a rejoint l'équipe" (deuxième onglet de la condition), et "Modifier l'équipe"
ProgrammationIl te suffit de :
- Créer quatre variables H1, H2, H3, H4 dans lesquelles tu stockera manuellement l'ID des quatre personnages de l'équipe
- Créer deux variables A et B, qui serviront à tout
Si tu as configuré six personnages dans la base de donnée, tu considère que le premier c'est 1, le deuxième c'est 2, etc. (Dans ta tête)
Tu dois faire cinq événements communs : (Ca en fait beaucoup, mais c'est pour que le code soit propre et très rapide à faire)
- Un qui ajoute un membre de l'équipe selon la valeur d'une variable (
Ajout membre)
- Un qui réorganise l'équipe selon les valeurs des quatre variables (
Réorganiser équipe)
- Un qui détecte si tu appuis sur la touche W, et commutera le premier personnage avec le dernier (
Permutation W)
- Un qui réactualise les valeurs des quatre variables si tu retire un personnage (
Actu Membre -[B])
- Un qui réactualise les valeurs des quatre variables si tu ajoute un personnage (
Actu Membre +[B])
Le premier : En mode Appel
Tu le nomme par exemple "
Ajout membre [B]"
Il sert juste à ajouter le personnage dans l'équipe en fonction du chiffre contenu dans la variable "B"
Par exemple, si "B" = 2, ça ajoute le deuxième personnage de la base de donnée dans l'équipe...
Tu fais dedans :
- Code:
-
Si "B" = 1
<> Modifier équipe : Ajouter "Personnage 1" (Décocher "Réinitialiser" pour tous)
Fin de condition
Si "B" = 2
<> Modifier équipe : Ajouter "Personnage 2"
Fin de condition
Si "B" = 3
<> Modifier équipe : Ajouter "Personnage 3"
Fin de condition
Si "B" = ...
<> Modifier équipe : Ajouter "Personnage ..."
Fin de condition
Si "B" = 8
<> Modifier équipe : Ajouter "Personnage 8"
Fin de condition
Le deuxième : En mode Appel
Tu le nomme par exemple "
Réorganiser équipe"
Il sert à réorganiser l'équipe selon les valeurs des quatre variables H1, H2, H3 et H4, donc si H1 = 2, H2 = 6, H3 = 8, H4 = 0, ben cet événement va réorganiser l'équipe de sorte à ce que le premier personnage soit le second de la base de donnée, le deuxième perso soit le sixième de la BDD, le troisième soit le huitième de la BDD, et qu'il n'y ait pas de quatrième personnage.
Tu fais dedans :
- Code:
-
<> Modifier équipe : Retirer personnage 1
<> Modifier équipe : Retirer personnage 2
<> Modifier équipe : Retirer personnage 3
<> Modifier équipe : Retirer personnage ...
<> Modifier équipe : Retirer personnage 8 (Dernier personnage de la base de donnée)
<> Modifier variable : "B" = Valeur de la variable "H1"
<> Appeler événement commun : "Ajout membre [B]"
<> Modifier variable : "B" = Valeur de la variable "H2"
<> Appeler événement commun : "Ajout membre [B]"
<> Modifier variable : "B" = Valeur de la variable "H3"
<> Appeler événement commun : "Ajout membre [B]"
<> Modifier variable : "B" = Valeur de la variable "H4"
<> Appeler événement commun : "Ajout membre [B]"
Le troisième : En mode Processus parallèle, avec l'interrupteur d'enclenchement que tu veux, que tu activera à partir du moment où tu voudras que la touche W soit opérationnelle pour commuter le premier perso avec le dernier
Tu le nomme par exemple "
Permutation W"
Il sert à détecter si le joueur appui sur la touche W, auquel cas il va permuter le premier membre de l'équipe avec le dernier membre de l'équipe
- Code:
-
<> Attendre l'appui d'une touche : Stocker dans la variable [Ce que tu veux on s'en fout]
Si La touche "R" est enfoncée (Ce qui correspond à W sur un clavier français)
<> Modifier variable "A" = taille de l'équipe
<> Modifier variable "B" = Valeur de la variable "H1"
Si "A" = 2
<> Modifier variable "H1" = valeur de la variable "H2"
<> Modifier variable "H2" = Valeur de la variable "B"
Fin de condition
Si "A" = 3
<> Modifier variable "H1" = valeur de la variable "H3"
<> Modifier variable "H3" = Valeur de la variable "B"
Fin de condition
Si "A" = 4
<> Modifier variable "H1" = valeur de la variable "H4"
<> Modifier variable "H4" = Valeur de la variable "B"
Fin de condition
<> Appeler événement commun : "Réorganiser équipe"
Fin de condition
Le quatrième : En mode Appel
Tu le nomme par exemple "
Actu Membre -[B]"
Il va servir dans le cas où au cours de l'histoire, tu dois retirer un membre de l'équipe, si par exemple tu retire le troisième personnage de la base de donnée de l'équipe, et que l'équipe était "premier héros = 2 ème perso de la BDD, deuxième héros = 8 ème perso de la BDD, troisième héros = 3 ème perso de la BDD, quatrième héros = 5 ème perso de la BDD", donc "H1 = 2, H2 = 8, H3 = 3, H4 = 5" ben la nouvelle équipe c'est "H1 = 2, H2 = 8, H3 = 5, H4 = 0", le quatrième personnage devient donc le troisième, et en quatrième place il n'y a plus personne. Cet événement va donc actualiser les quatre variable selon si on retire le personnage dont l'ID est stocké dans la variable "B".
En plus, comme il appelle l'événement commun "Réorganiser équipe" à la fin (C'est facultatif), il n'y aura pas besoin d'utiliser la commande "Modifier équipe : Retirer "..."", ça le fera automatiquement
- Code:
-
Si "B" = valeur de la variable "H1"
<> Modifier variable "H1" = valeur de la variable "H2"
<> Modifier variable "H2" = valeur de la variable "H3"
<> Modifier variable "H3" = valeur de la variable "H4"
<> Modifier variable "H4" = 0
Fin de condition
Si "B" = valeur de la variable "H2"
<> Modifier variable "H2" = valeur de la variable "H3"
<> Modifier variable "H3" = valeur de la variable "H4"
<> Modifier variable "H4" = 0
Fin de condition
Si "B" = valeur de la variable "H3"
<> Modifier variable "H3" = valeur de la variable "H4"
<> Modifier variable "H4" = 0
Fin de condition
Si "B" = valeur de la variable "H4"
<> Modifier variable "H4" = 0
Fin de condition
<> Appeler événement commun : Réorganiser équipe
Le cinquième : En mode Appel
Tu le nomme par exemple "
Actu Membre +[B]"
Il servira si au cours de l'histoire, tu ajoute un personnage dans l'équipe, le nouveau personnage se trouvant par défaut en dernier dans l'équipe, il va simplement modifier la variable contenant l'ID du dernier personnage de l'équipe. Par exemple, si on ajoute le personnage 3 alors que l'équipe comptait deux personnes avant ça, ben le personnage 3 entrera en troisième position, et c'est donc "H3 = 3". Ce sera fait automatiquement avec cette portion de code.
En plus, comme il appelle l'événement commun "Réorganiser équipe" à la fin (C'est facultatif), il n'y aura pas besoin d'utiliser la commande "Modifier équipe : Ajouter "..."", ça le fera automatiquement
- Code:
-
<> Modifier variable "A" = taille de l'équipe
Si "A" = 0
<> Modifier variable "H1" = valeur de la variable "B"
Fin de condition
Si "A" = 1
<> Modifier variable "H2" = valeur de la variable "B"
Fin de condition
Si "A" = 2
<> Modifier variable "H3" = valeur de la variable "B"
Fin de condition
Si "A" = 3
<> Modifier variable "H4" = valeur de la variable "B"
Fin de condition
<> Appeler événement commun : Réorganiser équipe
Mode d'emploi :-
Dès le début du jeu, si tu commence le jeu par exemple avec le personnage 1 en premier et le personnage 5 en deuxième, tu fais :
- Code:
-
<> Modifier variable : H1 = 1
<> Modifier variable : H2 = 5
H3 et H4 sera égal à 0, ça voudra dire qu'il y aura personne à ces positions.
- Quand tu active l'interrupteur du troisième événement commun, tu pourras enfin
permuter le premier et le dernier membre de l'équipe avec la touche W du clavier- Quand au cours de l'histoire, tu dois
rajouter un nouveau membre, par exemple, le troisième personnage de la BDD, tu dois faire :
- Code:
-
<> Modifier variable "B" = 3
<> Appeler événement commun "Actu Membre +[B]"
Il n'y a pas besoin d'utiliser la commande "Modifier équipe : Ajouter "..."", ça le fera automatiquement dans l'événement commun "Actu Membre + [ B ]"
- Quand au cours de l'histoire, tu dois
retirer un personnage, par exemple, le troisième personnage de la BDD, tu dois faire :
- Code:
-
<> Modifier variable "B" = 3
<> Appeler événement commun "Actu Membre -[B]"
Il n'y a pas besoin d'utiliser la commande "Modifier équipe : Retirer "..."", ça le fera automatiquement dans l'événement commun "Actu Membre - [ B ]"
- Si au cours de l'histoire, tu dois
redéfinir entièrement l'équipe, du genre si tu passe de l'équipe [H1=8, H2=3, H3=5, H4=0] à l'équipe [H1=1, H2=2, H3=0, H4=0], c'est tout simple à faire :
- Code:
-
<> Modifier variable "H1" = 1
<> Modifier variable "H2" = 2
<> Modifier variable "H3" = 0
<> Modifier variable "H4" = 0
<> Appeler événement commun "Réorganiser équipe"
Il n'y a pas besoin d'utiliser la commande "Modifier équipe : Ajouter/Retirer membre", ça sera fait automatiquement dans l'événement commun "Réorganiser équipe".