Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: "Dread Mac Farlane", (...) / Tutos: Checklist de la composition (...) / Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

324 connectés actuellement

29415035 visiteurs
depuis l'ouverture

7574 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

RPG Maker - La Communauté

ConsoleFun

New RPG Maker

Leo-Games

Planète Glutko

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [RPG Maker VX Ace] Souci avec un appel de script


Nérylis - posté le 21/01/2016 à 18:27:38 (149 messages postés)

❤ 0

Domaine concerné: Appel de script
Logiciel utilisé: RPG Maker VX Ace
Bonjour, j'aurais besoin d'un coup de pouce pour finaliser un système que j'ai mis au point pour switcher entre plusieurs équipes de personnages présents sur différentes maps. Pour faire simple, quand on entre dans le donjon, il faut constituer des équipes de personnages. Ceux qui ne sont pas sélectionnés seront récupérés à la sortie du donjon. C'est justement sur le dernier appel de script que j'ai un souci. Quand je prends le dernier téléporteur, si jamais juste avant j'ai libéré la place dans mes combattants (par exemple 3 combattants au lieu de 4), le premier personnage non sélectionné au départ va prendre la place vacante au milieu de mes combattants. Or, je souhaiterais qu'il se mettre à la suite de tous les personnages déjà présents. Mais je ne sais pas comment faire. Quelqu'un peut m'aider ? Je mets une démo si besoin : mediafire.com download/1nt7sb8uhh8f7jy/Teams+-+Update.exe

Et des screens ci-dessous :

Lorsque j'ai récupéré les personnages de toutes mes équipes, j'ai mes 8 personnages comme ici :

image

Ensuite, avant de sortir du donjon, je décide de retirer le personnage numéro 2 de mes combattants. J'obtiens ceci :

image

image

Et quand je sors du donjon et que je récupère le personnage numéro 9 (qui n'avait pas été sélectionné pour faire partie des équipes), voilà comment il se place :

image

Pour restituer ce personnage, j'utilise cet appel de script :

Var = 31

$game_variables[Var].each do |actor_id|
 $game_party.add_actor(actor_id)
end

Si j'utilise l'appel de script ci-dessous, ça me restitue le personnage comme étant un non combattant mais il ne se place pas à la fin.

Var = 31

$game_variables[Var].each do |actor_id|
 $game_party.add_actor(actor_id)
 index = $game_party.battle_members_array.index(actor_id)
 $game_party.battle_members_array[index] = 0
end

Comment faire pour qu'il se place à la fin de la liste des personnages ?


arttroy - posté le 25/01/2016 à 15:38:51 (2394 messages postés)

❤ 0

Just working

Faudrait trouver un moyen de redécaler les persos de l'équipe lorsque tu enlève le premier, le second ou le troisième ou de gérer un truc avec la valeur d'id des persos mais je dois avouer que je vois pas trop comment faire ça...

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


zeus81 - posté le 25/01/2016 à 19:22:24 (11071 messages postés)

❤ 0

Rajoute ce script après celui de yanfly :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
class Game_Party
  def reserve_actor(actor_id)
    if index = @battle_members_array.index(actor_id)
      @battle_members_array[index] = 0
      @actors << @actors.delete(actor_id)
      $game_player.refresh
      $game_map.need_refresh = true
    end
  end
end


Comme ça après avoir ajouté le perso 9 dans ton équipe pour le déplacer en réserve tu fais :

Portion de code : Tout sélectionner

1
$game_party.reserve_actor(9)




Nérylis - posté le 25/01/2016 à 21:12:16 (149 messages postés)

❤ 0

Je viens de tester, ça marche bien effectivement. Cela dit, dans mon système, le joueur est libre de créer et modifier les équipes de son choix en plein donjon. En gros, là je viens de prendre le cas où il s'agit du personnage 9. Mais dans la réalité, il faudra que j'applique cette méthode pour le(s) personnage(s) en réserve qui ne sont pas entrés dans le donjon. Comme c'est le joueur qui créé les équipes, je ne peux pas prédire quels personnages sont en réserve. Ils sont stockés dans une variable du jeu (la 31 dans ma démo). Comment on peut faire pour restituer ces personnages ? Ce sont leur ID qui est stocké dans la variable.


zeus81 - posté le 25/01/2016 à 21:19:44 (11071 messages postés)

❤ 0

J'ai pas envie de fourrer le nez dans ton code, mais je vois pas où est le problème.
Au moment où tu fais Ajouter X dans l'équipe, la ligne d'après tu rajoutes Déplacer X en réserve, c'est tout.


Nérylis - posté le 25/01/2016 à 21:37:15 (149 messages postés)

❤ 0

Je n'ajoute pas les personnages avec les commandes de base. Les personnages non retenus dans les équipes sont stockés dans une variable après la création des équipes. Et ces personnages sont restitués à la sortie du donjon avec l'appel de script suivant :

Var = 31

$game_variables[Var].each do |actor_id|
$game_party.add_actor(actor_id)
end

Donc ma question du coup, c'est comment adapter ta solution pour restituer les personnages dont les ID sont contenus dans la variable.


zeus81 - posté le 25/01/2016 à 21:40:06 (11071 messages postés)

❤ 0

Comme ça :

Portion de code : Tout sélectionner

1
2
3
4
$game_variables[31].each do |actor_id|
  $game_party.add_actor(actor_id)
  $game_party.reserve_actor(actor_id)
end 




Nérylis - posté le 26/01/2016 à 18:37:52 (149 messages postés)

❤ 0

Impeccable, je viens de tester. Ça marche très bien. Merci pour ton aide.

Index du forum > Entraide > [RESOLU] [RPG Maker VX Ace] Souci avec un appel de script

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers