[Résolu] Problème, impossible de relacher un Pokémon.
Indead - 20 mai 2010 à 02:02
Bonjour à vous tous, voilà j'ai un soucis.
J'ai téléchargé Arceus Eigakan_07189 sur votre site, et j'ai employé la méthode du Multi PKMN Sender, pour le transferer sur ma "cartouche" SS. Or je ne peux ni le relacher, ni le poser en boites PC, car celui-ci tien une capsule ball. Or je n'en ai aucune a lui retirer, vu que je ne lui ai pas mise, soit j'ai loupé la commande, soit j'ai un réel problème, puisqu'il ne me reste donc que 5 places dans mon équipe à cause de lui.
Help :{, s'il vous plaît.
Edit : Il est niveau 160 avec 90 Pvs en combat et sur l'ecran de l'équipe. Mais dans le résumé, je le vois niveau 32...Il a également des "?" devant chacun de ses stats (ex : Attaque ?51) Très étrange.
Bon, après avoir fait marcher mon cerveau un bon moment et avoir pensé à tout, et ayant donc besoin de cette place, j'ai été placer le Pokemon dans la pension.
A ce moment là, l'hôtesse m'a retiré la Capsule Ball et j'ai pu récupérer Arceus niveau 100, avec des stats normal cette fois, bref c'est bien cette capsule ball qui m'a fait buguer. Et ca a l'air d'être l'unique moyen de la retirer.
Je laisse le poste au cas où, ça peut servir à d'autres.
lVl477l-l13Ll - 20 mai 2010 à 09:37
J'avais déjà donné la solution plusieurs fois, tu aurais pu la trouver directement en cherchant un peu. :baffan:
Enfin c'est pas grave, si tu l'as trouvée par toi-même.
Cela n'arrive que quand il y a une place de libre dans l'équipe, c'est pour ça que je préconisais aussi de remplir l'équipe afin que les Pokémon reçus arrivent dans une boîte.
Weby - 20 mai 2010 à 11:36
Tu peux pas retirer la capsule ball d'Arceus sans le mettre en pension ? C'est quoi cette connerie ?
lVl477l-l13Ll - 20 mai 2010 à 11:43
C'est pas une connerie.
Apparemment, les Pokémon qui apparaissent dans l'équipe ont des stats bizarres, une capsule ball et d'autres étrangetés, et ce avec n'importe quel SendPKM (celui de LordLandon, le mien, celui de Vlad...).
C'est sans doute lié aux 100 octets de données supplémentaires où apparaissent justement les infos concernant les stats courantes, la capsule ball, le statut, le niveau, etc.
Et il semblerait que les Capsule Balls des Pokémon obtenus de cette manière soient impossibles à retirer manuellement, vu qu'elles n'apparaissent pas dans le PC.
Weby - 20 mai 2010 à 11:45
Faut que je corrige ça sur ma version alors :/
lVl477l-l13Ll - 20 mai 2010 à 11:49
Pourtant, ce sont des .pkm valides qui sont envoyés, et la méthode d'encryptage est bonne également.
Il doit exister une différence au niveau de la gestion des 100 octets supplémentaires, mais personne ne sait de quoi il s'agit apparemment.
Weby - 20 mai 2010 à 11:58
C'est pas commun à tous les pokés obtenus via le cadeau mystère ? Que ce soit par SendPKM ou pas ?
lVl477l-l13Ll - 20 mai 2010 à 13:32
C'est pas commun à tous les pokés obtenus via le cadeau mystère ? Que ce soit par SendPKM ou pas ?
Tu voulais dire via la GTS ?
Si oui, je ne pense pas, il me semble qu'ils sont normaux.
Je vois où tu veux en venir cependant, ça voudrait dire que la méthode d'encodage est différente, et tu voudrais essayer de corriger ça.
Mais personne n'en a jamais parlé sur ProjectPokémon j'ai l'impression, c'est bizarre quand même...
Weby - 20 mai 2010 à 14:21
Oui via GTS pardon x)
Mais je pense que trouver l'emplacement de la capsule ball doit pas être bien sorcier, ça doit faire partie des bytes manuels qu'on envoie, peut-être (avec les chr(0) qu'il faudrait rendre TRUE maybe...)....
Je pense pas que ce soit une histoire d'encodage, sinon tout planterait je pense...
lVl477l-l13Ll - 20 mai 2010 à 14:27
En fait, les Capsule Balls (et les problèmes de stats, niveau, etc.) apparaissent quand la partie des données du Pokémon dans l'équipe (les 100 octets supplémentaires) est corrompue.
Quand je parlais d'encodage, je voulais dire "cryptage" plutôt, enfin la manière de transformer un .pkm en .bin quoi.
Parce que ce qui est étrange, c'est que les 136 premiers octets passent correctement, alors que les 100 derniers deviennent n'importe quoi.
Le cryptage classique, utilisé par le jeu, semble ne pas être adapté à la GTS pour ces 100 octets supplémentaires.
Weby - 20 mai 2010 à 14:40
Hmm...
Donc il faudrait idéalement les vider ?
lVl477l-l13Ll - 20 mai 2010 à 14:41
"Les vider" ? Comment ça ? Vider quoi ? :hum:
Weby - 20 mai 2010 à 14:57
Mettre les 100 derniers octets à zéro, comme si on envoyait directement le pokémon depuis le PC...
lVl477l-l13Ll - 20 mai 2010 à 15:30
Non, justement, c'est ce qui provoque des BSOD quand on envoie un .pkm de 136 octets : si tu regardes dans le code Python, il y a ça, qui est exactement ce que tu veux faire :
if len(pkm)<236: pkm+="\x00"*(236-len(pkm))
De plus, ça m'étonnerait que quand on envoie un Pokémon depuis le PC, il ne fasse aucun calcul dessus...
Il doit bien calculer les 100 octets manquants.
---
**Weby** - 20 mai 2010 à 15:46
Ah ouais :/
N'empêche, dans ces 100 octets, ya quoi ?
Parce que si on stocke un pokémon de l'équipe sur le PC, il perd ces données, right ?
---
**EVILANGEL** - 20 mai 2010 à 15:54
> N'empêche, dans ces 100 octets, ya quoi ?
pv restants, stats courantes, altération de statut, capsule ball... et le reste je sais pas.
Etrangement, les pp restants ne semblent pas être dans ces 100 octets...
---
**lVl477l-l13Ll** - 20 mai 2010 à 15:55
> N'empêche, dans ces 100 octets, ya quoi ?
Parce que si on stocke un pokémon de l'équipe sur le PC, il perd ces données, right ?
Oui, c'est ce qui fait qu'il est soigné quand on le dépose dans une boîte notamment.
On y trouve ses stats courantes (sans doutes enregistrées temporairement pour éviter d'avoir à les recalculer à chaque fois, ça doit être lourd pour le jeu), les PV restants, le statut (poison & co', le niveau actuel et les infos concernant la Capsule Ball.
Tout est http://projectpokemon.org/wiki/Pokemon_NDS_Structure#Battle_Stats sinon.
---
**EVILANGEL** - 20 mai 2010 à 16:08
Mais pourquoi garder le niveau en double? :orly:
Game **Freak**.
---
**lVl477l-l13Ll** - 20 mai 2010 à 16:11
Nah, le niveau n'apparaît pas dans les 136 premiers octets, uniquement **l'expérience**.
Le niveau est calculé en fonction de cette expérience, en suivant des courbes différentes selon l'espèce du Pokémon.
Il est enregistré temporairement et recalculé quand le Pokémon est retiré du PC.
---
**EVILANGEL** - 20 mai 2010 à 16:17
Ah d'accord!
Et comme le niveau influe les dégâts (bah ouais, il fait partie de la formule), il est très souvent utilisé dans les combats, d'où le fait d'être stocké en dur une fois sorti du PC pour éviter d'être recalculé toutes les deux secondes... Logique.
---
**lVl477l-l13Ll** - 20 mai 2010 à 16:33
Oui voilà.
Moins de calculs => CPU moins utilisé => plus économe en énergie => batterie qui dure plus longtemps.
---
**Weby** - 20 mai 2010 à 17:28
Ils sont pas cons hein
A part ça, suffirait de voir l'octet 0x8D, voir ce qu'il retourne alors, pour éviter ce problème ?
---
**lVl477l-l13Ll** - 20 mai 2010 à 17:42
L'octet 0x8D vaut 0 quand le Pokémon est envoyé à la DS, c'est ça qui est étrange.
C'est la même chose avec les autres données : elles sont toutes valides sur le .pkm qu'on envoie (pas de niveau 160 par exemple), et pourtant le Pokémon est reçu avec des stats bizarres.
Sinon, je voudrais bien tenter un truc, mais je ne peux pas, vu que je n'ai pas de linker : ce serait d'extraire les .pkm des Pokémon buggués qui sont dans la partie, afin de voir ce qui ne va pas, et les comparer aux .pkm originaux qui ont été envoyés par sendpkm.
---
**Sïlver Sö** - 20 mai 2010 à 17:44
> Oui voilà.
Moins de calculs => CPU moins utilisé => plus économe en énergie => batterie qui dure plus longtemps.
LOL.Vraiment économique putain...
> Sinon, je voudrais bien tenter un truc, mais je ne peux pas, vu que je n'ai pas de linker : ce serait d'extraire les .pkm des Pokémon buggués qui sont dans la partie, afin de voir ce qui ne va pas, et les comparer aux .pkm originaux qui ont été envoyés par sendpkm.
Je suis la :you:
En gros j'ai juste a laisser une place vide, envoyez un poke par la GTS, et sauvegarder après l'opération et te filer le .pkm bugé ? :you:
---
**Weby** - 20 mai 2010 à 17:45
Même pas besoin de la place vide, mais faut utiliser SendPKM...
---
**Sïlver Sö** - 20 mai 2010 à 17:47
Il y aura quoi de buggé si il va direct dans le PC ? :hum:
Et ca va si j'utilise la 3eme méthode ou pas ? (Multi PKM Sender)
---
**lVl477l-l13Ll** - 20 mai 2010 à 17:48
> Même pas besoin de la place vide, mais faut utiliser SendPKM...
Si, justement.
Quand ils arrivent dans le PC, il n'y a aucun problème.
---
**Sïlver Sö** - 20 mai 2010 à 17:56
LOL, petit problème, j'envoie un kapoera, hop je configure DNS et tout, je vais a la GTS, je reçoit mon pokémon, il va dans l'équipe, hop je me retrouve avec un kapoera sans stats bizarre ni rien, vous pouvez m'expliquer ? :black:
---
**Weby** - 20 mai 2010 à 17:59
Zarb x)
Mais alors le problème est réglé ? x)
---
**lVl477l-l13Ll** - 20 mai 2010 à 17:59
Bah je sais pas, j'ai jamais eu de problème non plus, mais c'est arrivé à d'autres (et pas qu'une seule personne, j'ai déjà vu plein de demandes concernant ce problème)...
---
**Sïlver Sö** - 20 mai 2010 à 17:59
j'essaie avec l'arceus eigakan maybe ?
---
**lVl477l-l13Ll** - 20 mai 2010 à 18:00
Ouais, prends le même .pkm, avec le même programme.
---
**Sïlver Sö** - 20 mai 2010 à 18:09
OUAIS !
Descriptif du Arceus Eigakan que je viens de recevoir :
Il dort
-Capsule Ball
-PV: 44/90
-Il tient un objet (Baie pommo
-il a le p'tit icone d'une capsule ball
-Lvl.32
-Niveau suivant = -1205079
-Des putain de stats bizarre
Je t'upload le pkm en toute vitesse :you:
---
**Weby** - 20 mai 2010 à 18:09
SAY DAI N0UBE
Le problème viendra sûrement de la gestion de leurs .pkm...
---
**lVl477l-l13Ll** - 20 mai 2010 à 18:11
Le fichier faisait-il 136 octets, par hasard ?
---
**Sïlver Sö** - 20 mai 2010 à 18:13
http://www.miroriii.com/fichier/20/246422/Arceus_buger-pkm.html
> Le fichier faisait-il 136 octets, par hasard ?
Oui, comment ta su ? x)
La cause du problème est a mon avis que normalement le fichier .pkm DEVRAIS être dans la boite, mais vu que la il va dans l'equipe, le jeu fait n'importe quoi pour que ca fasse 236 ko ? :you:
---
**lVl477l-l13Ll** - 20 mai 2010 à 18:19
Ah bah voilà.
LE PROBLÈME EST RÉSOLU ! :castor:
Les stats bizarres viennent de ce que le programme essaye de compenser l'absence des 100 derniers octets par des octets nuls, qui doivent être encryptés bizarrement.
C'est pour ça que le tuto précise bien qu'il ne faut utiliser que des .pkm de 236 octets.
---
**Weby** - 20 mai 2010 à 19:47
Ou avoir une équipe pleine
---
**Indead** - 20 mai 2010 à 21:31
C'est noté, je ne referais plus la même erreur.
Au moins ce poste à permis d'élucider le "mystère", merci à vous !
---
**tendou** - 21 mai 2010 à 17:56
> Pourtant, ce sont des .pkm valides qui sont envoyés, et la méthode d'encryptage est bonne également.
Il doit exister une différence au niveau de la gestion des 100 octets supplémentaires, mais personne ne sait de quoi il s'agit apparemment.
Je crois avoir une idée. (PE que je fais un HS, sry)
Les Pokémon enregistrés dans l'équipe = 236 Octets
Les Pokémon enregistrés dans les boîtes = 136 Octets
Le Jeu a besoin de moins de ressources/place pour stocker un Pokémon dans l'équipe et dans la boîte. Puisque les donnés comme les PV et autres sont directement mise à 100% dans les boites.
Pareil quand on génère un code AR d'un pokémon avec Pokesav => Les codes générés depuis les boîtes font 20-22 lignes alors que les codes depuis l'équipe = 34 lignes.
Peut-être que l'encodeur du sendpkm se mange à cause de ca...
---
**lVl477l-l13Ll** - 21 mai 2010 à 18:43
Ça je sais, en fait on a trouvé ce qui causait problème : il utilisait un .pkm de 136 octets.
Je pensais que comme il avait suivi le tuto, il avait en utilisé un de 236 octets, et donc j'essayais de comprendre pourquoi le Pokémon, qui était valide au départ, devenait buggué dans la partie.
Mais considère les messages de la page précédente comme nuls et non avenus.
![[Résolu] Problème, impossible de relacher un Pokémon.](/static/pokemon/hero.jpg)
