Logo de Pokémon Script Project Evolved

Retirer un Pokémon


Logo de l'utilisateurNoru

Noru

Demandeur : Lysm
Participants : Noru, Louro

Problème :
Bonjour,

J'essaye actuellement de créer un script qui permettrait de lancer un combat en n'utilisant qu'un seul Pokémon, sélectionné par le joueur au préalable.
Pour ce faire j'ai utilisé la fonction "retirer_pokemon()" afin de renvoyer temporairement les pokémons non sélectionné au stockage, mon script fonctionne par contre les pokémons retirés sont complétement supprimés du jeu au lieu d'être envoyés dans le PC

J'ai donc essayé de call un retirer_pokemon tout seul pour voir si ça venait de là, et en effet plus aucune trace des pokémons retirés après l'appel à cette fonction.

Est-ce que c'est déjà arrivé à quelqu'un, ou est-ce que quelqu'un aurait une explication svp ?

Merci

Résolution :
Si ma mémoire est bonne, la commande évènement stocker_pokemon créé un nouveau Pokémon pour le stocker, utile lorsqu'un PNJ offre un pokémon par exemple.

Mais ici il s'agit de transférer depuis l'équipe vers le PC.

Pourquoi ne pas directement utiliser la méthode script store_captured(pokemon) ?

Par exemple :
index = 0
$pokemon_party.store_captured($pokemon_party.actors[index])
$pokemon_party.remove_id(index)

...va envoyer le premier pokémon de l'équipe vers le PC.
Où il faut bien sur modifier index en fonction de qui tu veux transférer avec ton code.

C'est ce que j'utilise moi. En effet j'ai rajouté une fonction pour transférer directement un POKéMON depuis le menu équipe vers le PC (avec RESUME, ORDRE, etc) et cette méthode marche très bien, j'imagine qu'elle ira pour toi aussi.


Publié le : 14/02/2023 - 12:48

Modifié le : 14/02/2023 - 12:48


Historique :


Logo de l'utilisateurLysm

Lysm

Bonjour,

J'essaye actuellement de créer un script qui permettrait de lancer un combat en n'utilisant qu'un seul Pokémon, sélectionné par le joueur au préalable.
Pour ce faire j'ai utilisé la fonction "retirer_pokemon()" afin de renvoyer temporairement les pokémons non sélectionné au stockage, mon script fonctionne par contre les pokémons retirés sont complétement supprimés du jeu au lieu d'être envoyés dans le PC

J'ai donc essayé de call un retirer_pokemon tout seul pour voir si ça venait de là, et en effet plus aucune trace des pokémons retirés après l'appel à cette fonction.

Est-ce que c'est déjà arrivé à quelqu'un, ou est-ce que quelqu'un aurait une explication svp ?

Merci


Publié le : 24/12/2022 - 16:40

Modifié le : 24/12/2022 - 16:40

Logo de l'utilisateurNoru

Noru - Modérateur

Hello !

Effectivement, lorsque tu utilise cette fonction "retirer_pokemon(ID)" le pokemon en question est supprimé du jeu.

Utilises peut-être cette fonction :

stocker_pokemon(ID)

Ça permet de stocker directement le pokémon dans la boîte du PC !

Dis moi si cela fonctionne, au quel cas je t'aiderai à trouver la solution


Publié le : 26/12/2022 - 00:30

Modifié le : 26/12/2022 - 00:31

Logo de l'utilisateurLouro

Louro

Si ma mémoire est bonne, la commande évènement stocker_pokemon créé un nouveau Pokémon pour le stocker, utile lorsqu'un PNJ offre un pokémon par exemple.

Mais ici il s'agit de transférer depuis l'équipe vers le PC.

Pourquoi ne pas directement utiliser la méthode script store_captured(pokemon) ?

Par exemple :
index = 0
$pokemon_party.store_captured($pokemon_party.actors[index])
$pokemon_party.remove_id(index)

...va envoyer le premier pokémon de l'équipe vers le PC.
Où il faut bien sur modifier index en fonction de qui tu veux transférer avec ton code.

C'est ce que j'utilise moi. En effet j'ai rajouté une fonction pour transférer directement un POKéMON depuis le menu équipe vers le PC (avec RESUME, ORDRE, etc) et cette méthode marche très bien, j'imagine qu'elle ira pour toi aussi.


Publié le : 30/12/2022 - 16:50

Modifié le : 30/12/2022 - 17:03