Jeux GBA : Demande de Codes
Asia81
- Modérateur de section
- 8357 posts
28 août 2014, 15:05
Bah c'est étonant, moi les code de rencontre n'ont toujours été valide que sur de l'herbe, je m'en rapelle quand je fesais le code de rencontre pour Relicanth, impossible de le faire apparaitre sur l'eau ou dans les Algues
ben84
- Membre
- 563 posts
28 août 2014, 18:18
Mais quand j'y pense, vous voyez une différence entre Visual Boy Advance et Visual Boy Advance Link. Perso c'est pas ma version vu que c'est celui de Romstation :/
Metarkrai
- Membre
- 180 posts
28 août 2014, 20:27
VBA Link c'est comme VBA, mais avec un petit patch qui lui permet d'émuler le câble link.
Donc après, tout dépend de la version de VBA Link que tu as.
Je n'ai jamais téléchargé RomStation, donc je ne peux pas te dire quelle version tu utilises, ni quels paramètres tu as.
Sinon, les modificateurs de rencontres ont toujours marché pour le Surf chez moi (les algues, c'est la même chose que le Surf)
Donc après, tout dépend de la version de VBA Link que tu as.
Je n'ai jamais téléchargé RomStation, donc je ne peux pas te dire quelle version tu utilises, ni quels paramètres tu as.
Sinon, les modificateurs de rencontres ont toujours marché pour le Surf chez moi (les algues, c'est la même chose que le Surf)
Asia81
- Modérateur de section
- 8357 posts
28 août 2014, 20:30
Jamais chez moi je t'assure...
Que sur de l'herbe
Que sur de l'herbe
Metarkrai
- Membre
- 180 posts
28 août 2014, 23:53
A ce stade, cela ne peut venir que de VBA (version, patch appliqué dessus, ou paramètres).
'Faudrait que je teste différentes versions, pour voir s'il y a des soucis qui apparaissent avec des codes.
C'est bête, je croyais que VBA passait crème avec les codes, et du coup non.
Heureusement qu'il y a le Glitch Grena pour contrebalancer les choses.
'Faudrait que je teste différentes versions, pour voir s'il y a des soucis qui apparaissent avec des codes.
C'est bête, je croyais que VBA passait crème avec les codes, et du coup non.
Heureusement qu'il y a le Glitch Grena pour contrebalancer les choses.
Tenshin26100
- Membre
- 106 posts
02 septembre 2014, 03:20
Bonjour/Bonsoir les trashineurs !
Je souhaiterais demander si quelqu'un possèderais des codes Action Replay qui fonctionnent pour les versions japonaise de Pokémon, et tout particulièrement la version Emeraude ?
J'ai bien trouvé les codes de teleportations pour aller sur l'île de Mew ainsi que celle de Deoxys et de Latios/Latias, mais rien d'autres. En fait si, j'en trouve d'autres ... mais ils ne fonctionnent tout bonnement pas du tout.
Voici l'apareil que je possède :
J'ai bien trouvé une liste de codes ... mais du peu que j'ai essayé, ça marche pas ... en tout cas celui de la capture ne fonctionne pas ...
http://bsfree.org/?s=43&d=6&g=16236
Et ceci aussi ... tout en jap, ça devrais être pour Emeraude, mais pas sûr : http://wwwpwwwp.blog.fc2.com/blog-entry-2.html
Et j'ai aussi dégoté une liste de codes énorme sur Emeraude, mais ce n'est pas compatible pour mon apareil, donc si c'est possible de les convertir, moi je prend !
http://www.pokemonexperte.de/forum/viewtopic.php?f=6&t=15476&sid=428d825b080e9afb8be4d6d0e64d18d9
Bref, je cherche depuis looongtemps, et m'étant procuré les versions jap des jeux, j'aurais aimé pouvoir en profiter sans me casser la tête avec la barrière de la langue et en jouant tranquillou~
Merci d'avance pour celles et ceux qui pourraient m'aider, mais sinon, je prend pour tout dans le pire des cas, du moment que c'est pour les versions japonaise ! ^^
« Modifié: 02 septembre 2014, 03:22 par Tenshin26100 »
Je souhaiterais demander si quelqu'un possèderais des codes Action Replay qui fonctionnent pour les versions japonaise de Pokémon, et tout particulièrement la version Emeraude ?
J'ai bien trouvé les codes de teleportations pour aller sur l'île de Mew ainsi que celle de Deoxys et de Latios/Latias, mais rien d'autres. En fait si, j'en trouve d'autres ... mais ils ne fonctionnent tout bonnement pas du tout.
Voici l'apareil que je possède :
J'ai bien trouvé une liste de codes ... mais du peu que j'ai essayé, ça marche pas ... en tout cas celui de la capture ne fonctionne pas ...
http://bsfree.org/?s=43&d=6&g=16236
Et ceci aussi ... tout en jap, ça devrais être pour Emeraude, mais pas sûr : http://wwwpwwwp.blog.fc2.com/blog-entry-2.html
Et j'ai aussi dégoté une liste de codes énorme sur Emeraude, mais ce n'est pas compatible pour mon apareil, donc si c'est possible de les convertir, moi je prend !
http://www.pokemonexperte.de/forum/viewtopic.php?f=6&t=15476&sid=428d825b080e9afb8be4d6d0e64d18d9
Bref, je cherche depuis looongtemps, et m'étant procuré les versions jap des jeux, j'aurais aimé pouvoir en profiter sans me casser la tête avec la barrière de la langue et en jouant tranquillou~
Merci d'avance pour celles et ceux qui pourraient m'aider, mais sinon, je prend pour tout dans le pire des cas, du moment que c'est pour les versions japonaise ! ^^
Asia81
- Modérateur de section
- 8357 posts
02 septembre 2014, 03:33
Mon tout premier Action Replay, celui qui fesait aussi AR DS à l'arrière <3
La GBA n'est pas vraiment mon domaine, attend le passage de mes collègues :à
La GBA n'est pas vraiment mon domaine, attend le passage de mes collègues :à
Tenshin26100
- Membre
- 106 posts
02 septembre 2014, 03:38
Il fait ça lui ? Hahaha, et dire que je pensais qu'il faisais que des backups des sauvegardes de jeu NDS, mais pas des pokemon on dirais ... faudra que je trifouille tout ça
Okay, encore merci d'avoir pris le temps d'au moins me lire, c'est sympa de ta part ^^ Je doute que cela soit une demande simple, mais sans vouloir jeter des fleurs à quelqu'un spécialement, je sais qu'il y a des gens très calé par içi ! xD
J'espère toutefois que ce genre de demandes puissent trouver une réponse positive ...
Mon tout premier Action Replay, celui qui fesait aussi AR DS à l'arrière <3
La GBA n'est pas vraiment mon domaine, attend le passage de mes collègues :à
Il fait ça lui ? Hahaha, et dire que je pensais qu'il faisais que des backups des sauvegardes de jeu NDS, mais pas des pokemon on dirais ... faudra que je trifouille tout ça
Okay, encore merci d'avoir pris le temps d'au moins me lire, c'est sympa de ta part ^^ Je doute que cela soit une demande simple, mais sans vouloir jeter des fleurs à quelqu'un spécialement, je sais qu'il y a des gens très calé par içi ! xD
J'espère toutefois que ce genre de demandes puissent trouver une réponse positive ...
Metarkrai
- Membre
- 180 posts
02 septembre 2014, 11:53
Salut !
ça faisait longtemps que je n'avais pas vu d'AR Max moi.
Pourrais-tu poster des codes qui ont fonctionné avec cet AR, histoire que je connaisse leur type ?
Que je ne sais plus du tout quel genre de code fonctionne avec de bidule.
Une fois que je saurai ça, je pourrai voir pour adapter des codes existants pour versions Jap, ou tout simplement en recréer.
Et malheureusement oui, les codes 'faut les recréer, car les adressages des données sont pas les mêmes que sur Emeraude US /Fr (entre US et Fr c'est quasi la même chose)
Ah oui, s'il y a des codes spécifiques que tu veux en particulier, ou ce genre de choses, n'hésite pas à le préciser comme ça je le ferai direct.
ça faisait longtemps que je n'avais pas vu d'AR Max moi.
Pourrais-tu poster des codes qui ont fonctionné avec cet AR, histoire que je connaisse leur type ?
Que je ne sais plus du tout quel genre de code fonctionne avec de bidule.
Une fois que je saurai ça, je pourrai voir pour adapter des codes existants pour versions Jap, ou tout simplement en recréer.
Et malheureusement oui, les codes 'faut les recréer, car les adressages des données sont pas les mêmes que sur Emeraude US /Fr (entre US et Fr c'est quasi la même chose)
Ah oui, s'il y a des codes spécifiques que tu veux en particulier, ou ce genre de choses, n'hésite pas à le préciser comme ça je le ferai direct.
Tenshin26100
- Membre
- 106 posts
02 septembre 2014, 15:54
Salut Metarkrai !
Encore merci de ta réponse
Alors voici deux codes que j'ai personellement testé et qui fonctionne. Voici d'abord le Master Code (m) que j'utilise si cela t'aide un tant soit peu
Ceci sont bien entendu uniquement pour la version Jp de Emeraude :
- (m) :
C467FA39 1CACC71A
0CD39E3A BD6E41B1
- Warp to Faraway Island :
29AF7FDD B7E23BD6
- Warp to Birth Island :
85318B8F D56C4A64
- Warp to Southern Island (je n'ai pas testé ce dernier, mais c'est du même gars qui a posté ceux çi-dessus) :
4A1BBD5E 272FD778
Après, si besoin, voici les autres codes, mais ce, pour la version Fr de Emeraude, que j'ai déja utilisé en vidéo, et donc certifié correct :
C'est ce qu'il me semblais en tout cas, qu'il devrais surement falloir les recréer, car à part les codes Xploder posté plus haut, rien n'est compatible pour mon bidule. Pourtant, tout les codes du site fonctionne pour mon antiquité, c'est ça le pire ! xD
Des codes spécifique que je voudrais en particulier ? Hahaha, pas grand choses, déja, les codes de rencontres ne m'interesse pas vu que ça sera du mauvais hack, je ne suis pas interessé ^^
Le code pour le Navel Island (Roc Nombri) en version japonaise, pour s'y téléporter serais pas de refus en tout cas, mais pour lister ce dont j'aurais vraiment besoin. Les noms sont ceux utilisé sur le site Pokemon Trash justement pour plus de clareté ! ^^
- Capture instantanée
- Gain d'expérience infini (Maintenir L)
- Beaucoup de Poké Dollars
- KO en 1 coup
- Teleportation au Hall of fame (Panthéon des Dresseurs)
- Toutes les Balls x99
- Toutes les CT/CS x99
- Safari Balls illimitées
- Pas au Parc Safari infinis
Après, je n'ai pas testé les codes pour les versions RF & VF en versions jap, mais ils disent que ça fonctionne ... donc on verra bien, de toutes manières, je devrais trouver mon bonheur là-dedans vu que je compte refaire aussi ces jeux avec des codes. Puis ces cheats listé çi dessus, c'est uniquement ce dont j'ai besoin pour faire correctement le jeu sans soucis, et ce, qu'importe la version justement.
http://www.ocf.berkeley.edu/~jdonald/pokemon/pokemon_frlg_par.txt
Après, j'ai conscience d'en demander beaucoup, surtout que je suis pas un membre super actif et tout et tout ... mais je suis prêt à te passer des Pokémon sur X & Y en cadeau si tu peux m'aider
Quoi que tu pourra me donner et qu'importe le temps que cela peux te prendre, je serais déja content que tu puisse m'aider !
Désolé du pavé, et comme je t'ai dit, si je peux te dépanner de quelque chose (je possède a peu près tout ce qu'il faut chez moi en matière de Pokémon sur consoles), n'hésite pas et demande moi.
Encore merci de ta réponse
Alors voici deux codes que j'ai personellement testé et qui fonctionne. Voici d'abord le Master Code (m) que j'utilise si cela t'aide un tant soit peu
Ceci sont bien entendu uniquement pour la version Jp de Emeraude :
- (m) :
C467FA39 1CACC71A
0CD39E3A BD6E41B1
- Warp to Faraway Island :
29AF7FDD B7E23BD6
- Warp to Birth Island :
85318B8F D56C4A64
- Warp to Southern Island (je n'ai pas testé ce dernier, mais c'est du même gars qui a posté ceux çi-dessus) :
4A1BBD5E 272FD778
Après, si besoin, voici les autres codes, mais ce, pour la version Fr de Emeraude, que j'ai déja utilisé en vidéo, et donc certifié correct :
C'est ce qu'il me semblais en tout cas, qu'il devrais surement falloir les recréer, car à part les codes Xploder posté plus haut, rien n'est compatible pour mon bidule. Pourtant, tout les codes du site fonctionne pour mon antiquité, c'est ça le pire ! xD
Des codes spécifique que je voudrais en particulier ? Hahaha, pas grand choses, déja, les codes de rencontres ne m'interesse pas vu que ça sera du mauvais hack, je ne suis pas interessé ^^
Le code pour le Navel Island (Roc Nombri) en version japonaise, pour s'y téléporter serais pas de refus en tout cas, mais pour lister ce dont j'aurais vraiment besoin. Les noms sont ceux utilisé sur le site Pokemon Trash justement pour plus de clareté ! ^^
- Capture instantanée
- Gain d'expérience infini (Maintenir L)
- Beaucoup de Poké Dollars
- KO en 1 coup
- Teleportation au Hall of fame (Panthéon des Dresseurs)
- Toutes les Balls x99
- Toutes les CT/CS x99
- Safari Balls illimitées
- Pas au Parc Safari infinis
Après, je n'ai pas testé les codes pour les versions RF & VF en versions jap, mais ils disent que ça fonctionne ... donc on verra bien, de toutes manières, je devrais trouver mon bonheur là-dedans vu que je compte refaire aussi ces jeux avec des codes. Puis ces cheats listé çi dessus, c'est uniquement ce dont j'ai besoin pour faire correctement le jeu sans soucis, et ce, qu'importe la version justement.
http://www.ocf.berkeley.edu/~jdonald/pokemon/pokemon_frlg_par.txt
Après, j'ai conscience d'en demander beaucoup, surtout que je suis pas un membre super actif et tout et tout ... mais je suis prêt à te passer des Pokémon sur X & Y en cadeau si tu peux m'aider
Quoi que tu pourra me donner et qu'importe le temps que cela peux te prendre, je serais déja content que tu puisse m'aider !
Désolé du pavé, et comme je t'ai dit, si je peux te dépanner de quelque chose (je possède a peu près tout ce qu'il faut chez moi en matière de Pokémon sur consoles), n'hésite pas et demande moi.
Metarkrai
- Membre
- 180 posts
02 septembre 2014, 17:44
Ton AR a l'air de gérer les codes GameShark tout basiques, du coup je les ai faits de la même manière.
'Fin comme j'ai dû me servir d'une Rom Emeraude Jap pour retrouver les adressages, j'ai testé quelques codes, donc ils devraient tous marcher.
Et sinon non, avec ArCrypt, le Memory Viewer, et HexEdit, une fois que tu as un code sur une version, tu le fais sur une autre version assez rapidement et sans trop te fouler.
Du coup voici ce que j'ai fait :
(Codes pour Pokemon Emeraude Jap)
Capture instantanée :
1469A873 B4FD8FCD
CBFCD373 2A20CE3B
Gain d'expérience infini :
Maintenir R lors du gain de l'expérience
7A2C40E4 06AFEFA1
EC7E7A3B 393A16F8
Marcher sur les Murs :
B57E7DA2 749B6D1E
8E883EFF 92E9660D
Téléport Panthéon des Dresseurs :
43ACF125 45D69D90
KO en 1 coup :
Appuyer sur R avant d'attaquer (rappuyer sur R si l'adversaire se
soigne)
7A2C40E4 06AFEFA1
B4B30569 8C72A08B
Anti-DMA :
6ED6DA14 686DF10E
1C7B3231 B494738C
1A1FA5D8 7BEEDA5E
1C7B3231 B494738C
(tous les codes qui suivent nécessitent l'Anti-DMA)
Premier Objet du PC x99
8D930F1C 87B3FE6D
Toutes les Balls x99
DA6F94E3 63FB5B00
2DAFD739 5D796510
Toutes les CT/CS x99
1F0DE40C 6332471B
3988A35F 80B8599D
49F1F904 95731F2C
1C91630E C663E711
Toutes les Baies x99
FF1B4CF9 85755E9E
ED017EA0 621C812D
Safari Balls illimitées
0DC3E860 3F41EC77
Pas Safari Illimités
9726FBC6 59391FED
Débloquer toutes les Îles :
0567DCDD EE77328D
295C8C11 539D575C
48B39ACB D39C218D
Modifier l'Objet Place 1 du PC :
TICKETMYSTIK
E8C04C28 924B5459
TICKETAURORA
44AD06B5 66EE6A41
VIEILLECARTE
E4321610 0D3A19B2
PASSE EON
5CDC9960 E36071DF
Plein d'Argent :
8FBC9913 D0DADCA0
Si jamais il y a d'autres codes dont tu aurais besoin, n'hésite pas à venir me le demander.
C'est gentil de ta part de me proposer des trucs, mais y'a pas besoin, je fais les codes avec plaisir.
Ton post est loin d'être un pavé aussi, y'a pas de mal à expliquer ce que tu veux ; )
'Fin comme j'ai dû me servir d'une Rom Emeraude Jap pour retrouver les adressages, j'ai testé quelques codes, donc ils devraient tous marcher.
Et sinon non, avec ArCrypt, le Memory Viewer, et HexEdit, une fois que tu as un code sur une version, tu le fais sur une autre version assez rapidement et sans trop te fouler.
Du coup voici ce que j'ai fait :
(Codes pour Pokemon Emeraude Jap)
Capture instantanée :
1469A873 B4FD8FCD
CBFCD373 2A20CE3B
Gain d'expérience infini :
Maintenir R lors du gain de l'expérience
7A2C40E4 06AFEFA1
EC7E7A3B 393A16F8
Marcher sur les Murs :
B57E7DA2 749B6D1E
8E883EFF 92E9660D
Téléport Panthéon des Dresseurs :
43ACF125 45D69D90
KO en 1 coup :
Appuyer sur R avant d'attaquer (rappuyer sur R si l'adversaire se
soigne)
7A2C40E4 06AFEFA1
B4B30569 8C72A08B
Anti-DMA :
6ED6DA14 686DF10E
1C7B3231 B494738C
1A1FA5D8 7BEEDA5E
1C7B3231 B494738C
(tous les codes qui suivent nécessitent l'Anti-DMA)
Premier Objet du PC x99
8D930F1C 87B3FE6D
Toutes les Balls x99
DA6F94E3 63FB5B00
2DAFD739 5D796510
Toutes les CT/CS x99
1F0DE40C 6332471B
3988A35F 80B8599D
49F1F904 95731F2C
1C91630E C663E711
Toutes les Baies x99
FF1B4CF9 85755E9E
ED017EA0 621C812D
Safari Balls illimitées
0DC3E860 3F41EC77
Pas Safari Illimités
9726FBC6 59391FED
Débloquer toutes les Îles :
0567DCDD EE77328D
295C8C11 539D575C
48B39ACB D39C218D
Modifier l'Objet Place 1 du PC :
TICKETMYSTIK
E8C04C28 924B5459
TICKETAURORA
44AD06B5 66EE6A41
VIEILLECARTE
E4321610 0D3A19B2
PASSE EON
5CDC9960 E36071DF
Plein d'Argent :
8FBC9913 D0DADCA0
Si jamais il y a d'autres codes dont tu aurais besoin, n'hésite pas à venir me le demander.
C'est gentil de ta part de me proposer des trucs, mais y'a pas besoin, je fais les codes avec plaisir.
Ton post est loin d'être un pavé aussi, y'a pas de mal à expliquer ce que tu veux ; )
Asia81
- Modérateur de section
- 8357 posts
02 septembre 2014, 18:45
Vivement que je sache gérer les code AR aussi bien que vous :-(
Tenshin26100
- Membre
- 106 posts
02 septembre 2014, 18:47
WOAH !
A te lire, tout cela à l'air si facile ... et aussi en te voyant faire tout ça en si peu de temps ... bref, je te tire donc mon plus beau chapeau, enfin j'en ai pas, mais l'intention y est ... merci ! <3
Je vais les tester tous uns par uns le plus rapidement possible, mais voyant comment tu te débrouille, je n'ai pas de doutes sur leurs fiabilités
En revanche, serai t'il pas plus simple d'avoir un code de teleportation vers le Roc Nombri à la place ? Cela éviterais une pluie de codes supplémentaires sachant que les autres sont déja fait ... mais de toutes manières, ils sont quand même là sous une autre forme, donc encore merci à toi !
Et pour Rouge Feu et Vert Feuille en japonais, tu pense que le même genre serais possible ? Tu pense pouvoir obtenir le même genre de codes ou cela serais trop contraignant ? Si non, envois moi vers des tutos, et même si c'est compliqué ou en anglais, j'apprendrais. Je vais pas te déranger non plus pour deux autres jeux hein, et ce, même si tu fait ça avec plaisir
Pour te proposer des trucs, justement, même si tu fait ça par plaisir, des gens peuvent te montrer leurs gratitude, d'où ma proposition. Je n'ai certe pas tout, mais si je peux faire plaisir en retour, en tout cas sache que c'est avec plaisir ! ^_^
Ah, et j'oubliais ...
ENCORE MERCI POUR CES CODES !!!
Désolé, fallais que ça sorte ... lol
A te lire, tout cela à l'air si facile ... et aussi en te voyant faire tout ça en si peu de temps ... bref, je te tire donc mon plus beau chapeau, enfin j'en ai pas, mais l'intention y est ... merci ! <3
Je vais les tester tous uns par uns le plus rapidement possible, mais voyant comment tu te débrouille, je n'ai pas de doutes sur leurs fiabilités
En revanche, serai t'il pas plus simple d'avoir un code de teleportation vers le Roc Nombri à la place ? Cela éviterais une pluie de codes supplémentaires sachant que les autres sont déja fait ... mais de toutes manières, ils sont quand même là sous une autre forme, donc encore merci à toi !
Et pour Rouge Feu et Vert Feuille en japonais, tu pense que le même genre serais possible ? Tu pense pouvoir obtenir le même genre de codes ou cela serais trop contraignant ? Si non, envois moi vers des tutos, et même si c'est compliqué ou en anglais, j'apprendrais. Je vais pas te déranger non plus pour deux autres jeux hein, et ce, même si tu fait ça avec plaisir
Pour te proposer des trucs, justement, même si tu fait ça par plaisir, des gens peuvent te montrer leurs gratitude, d'où ma proposition. Je n'ai certe pas tout, mais si je peux faire plaisir en retour, en tout cas sache que c'est avec plaisir ! ^_^
Ah, et j'oubliais ...
ENCORE MERCI POUR CES CODES !!!
Désolé, fallais que ça sorte ... lol
Metarkrai
- Membre
- 180 posts
02 septembre 2014, 19:59
Asia 81 et Tenshin26100 :
Quand je regarde des codes pour des jeux Ds, je trouve que les Codes pour les jeux GBA sont assez faciles à réaliser, oui.
Il y a très peu de commandes qui sont utilisées :
Mettre une valeur à une certaine adresse (la majorité des codes)
Si lune certain adresse a telle valeur, exécuter la ligne de code suivante (un activateur)
Mettre une valeur à une certaine adresse, mais dans la ROM (les codes spéciaux)
Mettre une valeur à une suite d'adresses (les codes pour les objets)
Je ne m'y connais que très peu en codes pour jeux DS, mais ça doit être à peu près le même principe.
Chacune de ces commandes a une structure bien particulière, expliquée ici.
Ce qu'il se passe aussi sur GBA, c'est qu'il y a plusieurs types de Codes Ar, probablement pour que certains fabricants d'Ar sortent des codes que leurs concurrents ne puissent pas utiliser.
Le type GameShark possède aussi énormément de commandes possibles, contrairement au Code Breaker (même si on ne se sert quasiment jamais de toutes ces commandes).
Les codes de type Gameshark (soit les plus courants) sont cryptés, ce qui fait qu'il est impossible de deviner quoi que ce soit sur le code en les regardant.
Le logiciel ARCrypt sert à décrypter les codes de type GameShark, ou à les convertir au format CodeBreaker. (Voir Ar Crypt)
Le format RAW (décrypté) est peu pratique à manipuler je trouve, donc moi je convertis la majorité de mes codes en CodeBreaker (sauf les itérations et les codes spéciaux, car ces commandes ne se font pas bien ou pas en Code Breaker).
Ensuite, pour faire un code, j'ai besoin de savoir comment la donnée que je veux influencer est enregistrée dans le jeu (ex : pour les objets, il y a un identifiant, pour les quantités, c'est juste la valeur numérique inscrite quelque part), afin de savoir quelle valeur je veux qu'elle prenne, et où elle est enregistrée, afin que j'indique la bonne adresse.
Quand on a un code d'une autre version sous la main, en le décryptant, on est capable de comprendre un peu comment doit se comporter telle ou telle donnée du jeu.
Il suffit après d'utiliser le Memory Viewer et le RAM Search de VBA afin de chercher une adresse qui se comporte de la même manière (genre qui décroît de 1 quand on marche pour le Repousse), et de vérifier que c'est bien l'adresse de la donnée qu'on cherche.
Il faut savoir que les versions 3g sont à peu près toutes codées de la même manière (RS diffère un peu plus de E et RfVf), donc même si les données ne sont pas exactement aux mêmes endroits (genre les Objets du Sac), elles seront toutes rangées et gérées de la même manière (pour les Objets, ça commence par le PC, puis les Objets Divers, puis les Rares, puis les Balls, les Ct/Cs, et les Baies).
Et quand on a l'adresse de la donnée qu'on cherche, c'est gagné, on peut faire le code.
J'ai par exemple fait ça pour le code de téléportation au Panthéon : J'avais un code de téléportation Jap, donc je connaissais l'adresse à modifier, et j'avais un code de téléportation au Panthéon Fr/US, donc je connaissais la valeur à mettre, et en combinant les deux, j'avais rapidement le code voulu.
Une fois que le code est fait, on peut le crypter avec ArCrypt afin d'avoir un code en GameShark fonctionnel.
D'une part ça fait joli, et d'autre part c'est un format bien plus utilisé que le CodeBreaker, bien que le CodeBreaker soit vachement plus pratique pour tester un code rapidos.
Le reste, c'est de l'habitude à utiliser le Memory Viewer sur VBA, ce qui fait que je connais assez bien les adressages de pas mal de données, et ce qu'il y a autour.
Du coup j'ai pu rapidement retrouver sur Emeraude Jap les données dont j'avais besoin en regardant un peu le Memory Viewer.
J'avais aussi transféré ma sauvegarde de Emeraude Fr vers Emeraude Jap afin d'utiliser le RAM Watch pour voir où étaient positionnées certaines adresses, comme les identifiants des objets du PC, ou ma quantité d'argent.
J'avais fait une vidéo sur le transfert de sauvegarde entre versions (ici), et c'est bien pratique pour les gens étant sur hackrom avec un Shiny, ou désirant jouer sur version US/Jap.
Pour les codes spéciaux, qui sont en fait un forçage de valeur sur une adresse de la ROM, j'utilise HexEdit afin de faire des recherches de valeurs particulières dans la ROM, car VBA n'a pas cette option.
Apès comme je n'y connais absolument rien dans le code du Jeu, je ne saurais pas créer de code du genre : Votre argent indique le PID du 1er Pokémon de votre équipe, ou "Les stats de votre Pokémon indiquent ses IVs", car personne ne les a créés pour le moment.
Pour les codes comme Marcher sur les Murs, l'Anti-DMA, le Code Shiny, l'inversion des Sprites, Voler les Pkmn des Dresseurs, je me suis juste contenté de décrypter les codes, de voir les adresses où les codes modifiaient les valeurs, de voir la valeur avant la modification (ainsi que les valeurs voisines), de rechercher la même valeur (et les mêmes valeurs voisines) sur une autre version, et de refaire ainsi des codes fonctionnant pour d'autres versions.
Du coup, pour faire des codes pour RfVf Jap, ben je procèderai de la même façon.
A part le fait que je vais aller manger, et que je finis d'abord un article, ça ne me prendra pas plus de temps que ça.
------
Pour les Îles, je trouvais que c'était plus cool de les débloquer comme ça tu peux y retourner quand tu veux, et ça fait plus joli dans ton Sac et à l'embarcadère.
Parce que les codes de téléportation j'en ai trop fait, du coup je trouve ça un peu lassant à la longue.
Sinon, pour RfVf, tu veux les mêmes codes ou tu en veux d'autres en plus ?
Quand je regarde des codes pour des jeux Ds, je trouve que les Codes pour les jeux GBA sont assez faciles à réaliser, oui.
Il y a très peu de commandes qui sont utilisées :
Mettre une valeur à une certaine adresse (la majorité des codes)
Si lune certain adresse a telle valeur, exécuter la ligne de code suivante (un activateur)
Mettre une valeur à une certaine adresse, mais dans la ROM (les codes spéciaux)
Mettre une valeur à une suite d'adresses (les codes pour les objets)
Je ne m'y connais que très peu en codes pour jeux DS, mais ça doit être à peu près le même principe.
Chacune de ces commandes a une structure bien particulière, expliquée ici.
Ce qu'il se passe aussi sur GBA, c'est qu'il y a plusieurs types de Codes Ar, probablement pour que certains fabricants d'Ar sortent des codes que leurs concurrents ne puissent pas utiliser.
Le type GameShark possède aussi énormément de commandes possibles, contrairement au Code Breaker (même si on ne se sert quasiment jamais de toutes ces commandes).
Les codes de type Gameshark (soit les plus courants) sont cryptés, ce qui fait qu'il est impossible de deviner quoi que ce soit sur le code en les regardant.
Le logiciel ARCrypt sert à décrypter les codes de type GameShark, ou à les convertir au format CodeBreaker. (Voir Ar Crypt)
Le format RAW (décrypté) est peu pratique à manipuler je trouve, donc moi je convertis la majorité de mes codes en CodeBreaker (sauf les itérations et les codes spéciaux, car ces commandes ne se font pas bien ou pas en Code Breaker).
Ensuite, pour faire un code, j'ai besoin de savoir comment la donnée que je veux influencer est enregistrée dans le jeu (ex : pour les objets, il y a un identifiant, pour les quantités, c'est juste la valeur numérique inscrite quelque part), afin de savoir quelle valeur je veux qu'elle prenne, et où elle est enregistrée, afin que j'indique la bonne adresse.
Quand on a un code d'une autre version sous la main, en le décryptant, on est capable de comprendre un peu comment doit se comporter telle ou telle donnée du jeu.
Il suffit après d'utiliser le Memory Viewer et le RAM Search de VBA afin de chercher une adresse qui se comporte de la même manière (genre qui décroît de 1 quand on marche pour le Repousse), et de vérifier que c'est bien l'adresse de la donnée qu'on cherche.
Il faut savoir que les versions 3g sont à peu près toutes codées de la même manière (RS diffère un peu plus de E et RfVf), donc même si les données ne sont pas exactement aux mêmes endroits (genre les Objets du Sac), elles seront toutes rangées et gérées de la même manière (pour les Objets, ça commence par le PC, puis les Objets Divers, puis les Rares, puis les Balls, les Ct/Cs, et les Baies).
Et quand on a l'adresse de la donnée qu'on cherche, c'est gagné, on peut faire le code.
J'ai par exemple fait ça pour le code de téléportation au Panthéon : J'avais un code de téléportation Jap, donc je connaissais l'adresse à modifier, et j'avais un code de téléportation au Panthéon Fr/US, donc je connaissais la valeur à mettre, et en combinant les deux, j'avais rapidement le code voulu.
Une fois que le code est fait, on peut le crypter avec ArCrypt afin d'avoir un code en GameShark fonctionnel.
D'une part ça fait joli, et d'autre part c'est un format bien plus utilisé que le CodeBreaker, bien que le CodeBreaker soit vachement plus pratique pour tester un code rapidos.
Le reste, c'est de l'habitude à utiliser le Memory Viewer sur VBA, ce qui fait que je connais assez bien les adressages de pas mal de données, et ce qu'il y a autour.
Du coup j'ai pu rapidement retrouver sur Emeraude Jap les données dont j'avais besoin en regardant un peu le Memory Viewer.
J'avais aussi transféré ma sauvegarde de Emeraude Fr vers Emeraude Jap afin d'utiliser le RAM Watch pour voir où étaient positionnées certaines adresses, comme les identifiants des objets du PC, ou ma quantité d'argent.
J'avais fait une vidéo sur le transfert de sauvegarde entre versions (ici), et c'est bien pratique pour les gens étant sur hackrom avec un Shiny, ou désirant jouer sur version US/Jap.
Pour les codes spéciaux, qui sont en fait un forçage de valeur sur une adresse de la ROM, j'utilise HexEdit afin de faire des recherches de valeurs particulières dans la ROM, car VBA n'a pas cette option.
Apès comme je n'y connais absolument rien dans le code du Jeu, je ne saurais pas créer de code du genre : Votre argent indique le PID du 1er Pokémon de votre équipe, ou "Les stats de votre Pokémon indiquent ses IVs", car personne ne les a créés pour le moment.
Pour les codes comme Marcher sur les Murs, l'Anti-DMA, le Code Shiny, l'inversion des Sprites, Voler les Pkmn des Dresseurs, je me suis juste contenté de décrypter les codes, de voir les adresses où les codes modifiaient les valeurs, de voir la valeur avant la modification (ainsi que les valeurs voisines), de rechercher la même valeur (et les mêmes valeurs voisines) sur une autre version, et de refaire ainsi des codes fonctionnant pour d'autres versions.
Du coup, pour faire des codes pour RfVf Jap, ben je procèderai de la même façon.
A part le fait que je vais aller manger, et que je finis d'abord un article, ça ne me prendra pas plus de temps que ça.
------
Pour les Îles, je trouvais que c'était plus cool de les débloquer comme ça tu peux y retourner quand tu veux, et ça fait plus joli dans ton Sac et à l'embarcadère.
Parce que les codes de téléportation j'en ai trop fait, du coup je trouve ça un peu lassant à la longue.
Sinon, pour RfVf, tu veux les mêmes codes ou tu en veux d'autres en plus ?
hremeraude
- Membre
- 11384 posts
02 septembre 2014, 20:32
j'avais déjà test un code de téléportation FR sur une rom JAP et ça avait marcher, tu sais pourquoi, puisque ce n'est pas les même adresses ?
Tenshin26100
- Membre
- 106 posts
02 septembre 2014, 22:24
Metarkrai, je doit te l'avouer ... je pensais tout de même que la procédure étais bien plus simple que ça. Il faut dire que je n'y connais rien à ce genre de choses, mais que je comprend quand même le principe. Chaques endroits dans le jeu est alloué a une adresse en hexadécimale, c'est ça ?
Et pour allouer cette sorte de "changement d'adresse" pour par exemple modifier la quantité d'un objet soit dans le PC ou dans le sac, il va falloir une ligne qui autorisera cet procédé, j'ai tout bon ou je n'ai strictement rien compris ??? hahaha
Grace à toi, je connais aussi les différent types de codes, et aussi les V1 et V3, je suis bien plus à même capable de savoir la différence désormais. Bon, je suis pas un pro, mais tout doucement ...
RF/VF sont codé sur la base de Emeraude il me semble, pas vrai ? R/S sont des versions plus anciennes et donc qui fonctionnent de manière différente effectivement, ça se vois un peu quand on joue qu'il y a quand même des différences visuelle pour commencer ^^
Je pense que pendant que tu va jouer, tu va observer quelle valeur va changer avec tel ou tel action, et avec ces informations, cela te permettra d'écrire les premiéres lignes, n'est-ce pas ? Avec l'aide des autres codes, effectivement, je pense que cela doit être bien plus facile. Je ne pensais pas que le code de teleportation pouvais être aussi simple. Donc je peux moi-même le deviner en mixant le code japonais et Fr si j'ai bien compris ? M'enfin, il faut quand même connaître les valeurs exactes pour modifier les bonnes ... mais je vois le concept maintenant
J'ai beaucoup apprécié ta vidéo sur Youtube, le tutoriel est très clair et tu explique bien. En tout cas, j'ai très bien compris le concept et je n'hésiterais pas à aller regarder tes autres vidéos tant qu'à faire. Si je peux glaner des informations et en apprendre un peu plus, je vais pas me géner !
J'avoue que ça fait bien plus classe avec les objets dans le sac, je n'avais pas vu la chose comme cela. Pour tout te dire, ce que je faisais sur une cartouche Emeraude en rab que j'ai, je recommencais des nouvelles parties, obtenez le Pokedex, et me téléportez sur iles pour avoir les pokemon désiré. Ensuite, teleport au hall of fame, pour rendre les échanges possibles entres les versions de région différente. En tout et pour tout, cela prenais beaucoup moins de temps, d'où ma requête. Et ayant vu beaucoup de codes d'activation des îles ne pas marcher, j'étais rétiçent. Donc voilà, tu sais pourquoi je voulais ce code là aussi ! xD #3615MyLife
Pour la RF/VF, et bien le même genre de codes serais parfait. Sauf peut-être en plus :
- Débloquer les échanges avec Hoenn
- Repousse infini
En tout cas, merci pour ces enseignements ma fois fort utiles, que personne ne viennent te dire que tu est con, ça c'est sur car ils auront vraiment tord ! xD
Edit : Je vient de tester les codes jusqu'à l'anti-DMA. Le code de capture fonctionne, mais vu que le code fait considérer au jeu que le Pokémon est capturé, et ce, malgrès qu'il soit ressorti, tu obtient le Pokémon, mais il sera d'office toujours dans une Pokeball simple. Peut-être un code de taux de capture à 100% serais plus judicieux pour pouvoir choisir sa Ball de capture, tu en pense quoi ? M'enfin, si c'est pas possible, je ferais avec ! xD
L'expérience infinie marche à merveille, du pur bonheur ! <3
Marcher sur les Murs ne marche pas en revanche, va savoir pourquoi. Peut-être il faut faire une combinaison de touches maintenue ? Ou Remplir certaines conditions d'activations ??? ???
La téléportation vers le Hall of Fame marche du tonnerre, comme sur ma version Fr quoi, un code juste génial !
Le code du K.O. en 1 coup ressemble a celui de la capture. Il perd pas toute sa vie, mais est considéré comme K.O. et fin du combat. Pas testé sur un dresseur, mais c'est moins génant cette fois, vu qu'il n'y a pas d'histoire de Ball de capture à choisir et j'en passe ... ^^
« Modifié: 03 septembre 2014, 02:39 par Tenshin26100 »
Et pour allouer cette sorte de "changement d'adresse" pour par exemple modifier la quantité d'un objet soit dans le PC ou dans le sac, il va falloir une ligne qui autorisera cet procédé, j'ai tout bon ou je n'ai strictement rien compris ??? hahaha
Grace à toi, je connais aussi les différent types de codes, et aussi les V1 et V3, je suis bien plus à même capable de savoir la différence désormais. Bon, je suis pas un pro, mais tout doucement ...
RF/VF sont codé sur la base de Emeraude il me semble, pas vrai ? R/S sont des versions plus anciennes et donc qui fonctionnent de manière différente effectivement, ça se vois un peu quand on joue qu'il y a quand même des différences visuelle pour commencer ^^
Je pense que pendant que tu va jouer, tu va observer quelle valeur va changer avec tel ou tel action, et avec ces informations, cela te permettra d'écrire les premiéres lignes, n'est-ce pas ? Avec l'aide des autres codes, effectivement, je pense que cela doit être bien plus facile. Je ne pensais pas que le code de teleportation pouvais être aussi simple. Donc je peux moi-même le deviner en mixant le code japonais et Fr si j'ai bien compris ? M'enfin, il faut quand même connaître les valeurs exactes pour modifier les bonnes ... mais je vois le concept maintenant
J'ai beaucoup apprécié ta vidéo sur Youtube, le tutoriel est très clair et tu explique bien. En tout cas, j'ai très bien compris le concept et je n'hésiterais pas à aller regarder tes autres vidéos tant qu'à faire. Si je peux glaner des informations et en apprendre un peu plus, je vais pas me géner !
J'avoue que ça fait bien plus classe avec les objets dans le sac, je n'avais pas vu la chose comme cela. Pour tout te dire, ce que je faisais sur une cartouche Emeraude en rab que j'ai, je recommencais des nouvelles parties, obtenez le Pokedex, et me téléportez sur iles pour avoir les pokemon désiré. Ensuite, teleport au hall of fame, pour rendre les échanges possibles entres les versions de région différente. En tout et pour tout, cela prenais beaucoup moins de temps, d'où ma requête. Et ayant vu beaucoup de codes d'activation des îles ne pas marcher, j'étais rétiçent. Donc voilà, tu sais pourquoi je voulais ce code là aussi ! xD #3615MyLife
Pour la RF/VF, et bien le même genre de codes serais parfait. Sauf peut-être en plus :
- Débloquer les échanges avec Hoenn
- Repousse infini
En tout cas, merci pour ces enseignements ma fois fort utiles, que personne ne viennent te dire que tu est con, ça c'est sur car ils auront vraiment tord ! xD
Edit : Je vient de tester les codes jusqu'à l'anti-DMA. Le code de capture fonctionne, mais vu que le code fait considérer au jeu que le Pokémon est capturé, et ce, malgrès qu'il soit ressorti, tu obtient le Pokémon, mais il sera d'office toujours dans une Pokeball simple. Peut-être un code de taux de capture à 100% serais plus judicieux pour pouvoir choisir sa Ball de capture, tu en pense quoi ? M'enfin, si c'est pas possible, je ferais avec ! xD
L'expérience infinie marche à merveille, du pur bonheur ! <3
Marcher sur les Murs ne marche pas en revanche, va savoir pourquoi. Peut-être il faut faire une combinaison de touches maintenue ? Ou Remplir certaines conditions d'activations ??? ???
La téléportation vers le Hall of Fame marche du tonnerre, comme sur ma version Fr quoi, un code juste génial !
Le code du K.O. en 1 coup ressemble a celui de la capture. Il perd pas toute sa vie, mais est considéré comme K.O. et fin du combat. Pas testé sur un dresseur, mais c'est moins génant cette fois, vu qu'il n'y a pas d'histoire de Ball de capture à choisir et j'en passe ... ^^
Metarkrai
- Membre
- 180 posts
03 septembre 2014, 10:05
Rémerod :
Etrange ce que tu dis, car les adresses ne sont vraiment pas les mêmes.
J'essaierai de regarder ça aujourd'hui si j'ai le temps.
Tenshin26100 :
Alors vite fait pour les codes :
Le code pour Marcher sur les Murs fonctionne, mais avec les versions récentes de VBA, tu ne peux activer qu'un seul code "spécial" à la fois.
Du coup, c'est soit Marcher sur les Murs, soit l'Anti-DMA que tu peux activer, mais pas les deux. (c'est con, mais c'est comme ça).
La V 1.7.2 de VBA ne posait pas de soucis à ce sujet, mais après ça a changé.
Pour le code de capture, je ne savais pas que ça donnait tout le temps une Pokéball en ball de capture, car je le testais avec des Pokéball afin que le Poké adverse puisse rentrer ou ne pas rentrer assez souvent.
Le code de capture à 100% est un code "spécial" lui aussi, du coup je préférais utiliser une alternative à cela.
J'en ai une, et il faudra juste que je fasse le code.
Pour le code KO en 1 coup, les PVs du Pokémon passent à 1, et du coup n'importe quel dégât tuera le Pokémon.
Mais comme l'adresse qui gère les quantités de dégâts gère toutes les quantités de dégâts, je n'ai pas cherché à la manipuler car dans le cas où l'adversaire utiliserait Vive-Attaque, ou que sa Vive Griffe s'activerait, ce serait ton Pokémon qui se ferait troncher.
C'est vrai cependant que la barre des PVs ne s'actualise que quand le Poké est soigné ou prend des dégâts, ce qui n'est pas très joli, mais je pense que c'est le moyen le plus général pour dégommer son aversaire facilou.
Tu m'excuseras, mais j'ai un invité aujourd'hui, du coup je n'ai pas pu répondre au reste de ton message pour le moment.
Etrange ce que tu dis, car les adresses ne sont vraiment pas les mêmes.
J'essaierai de regarder ça aujourd'hui si j'ai le temps.
Tenshin26100 :
Alors vite fait pour les codes :
Le code pour Marcher sur les Murs fonctionne, mais avec les versions récentes de VBA, tu ne peux activer qu'un seul code "spécial" à la fois.
Du coup, c'est soit Marcher sur les Murs, soit l'Anti-DMA que tu peux activer, mais pas les deux. (c'est con, mais c'est comme ça).
La V 1.7.2 de VBA ne posait pas de soucis à ce sujet, mais après ça a changé.
Pour le code de capture, je ne savais pas que ça donnait tout le temps une Pokéball en ball de capture, car je le testais avec des Pokéball afin que le Poké adverse puisse rentrer ou ne pas rentrer assez souvent.
Le code de capture à 100% est un code "spécial" lui aussi, du coup je préférais utiliser une alternative à cela.
J'en ai une, et il faudra juste que je fasse le code.
Pour le code KO en 1 coup, les PVs du Pokémon passent à 1, et du coup n'importe quel dégât tuera le Pokémon.
Mais comme l'adresse qui gère les quantités de dégâts gère toutes les quantités de dégâts, je n'ai pas cherché à la manipuler car dans le cas où l'adversaire utiliserait Vive-Attaque, ou que sa Vive Griffe s'activerait, ce serait ton Pokémon qui se ferait troncher.
C'est vrai cependant que la barre des PVs ne s'actualise que quand le Poké est soigné ou prend des dégâts, ce qui n'est pas très joli, mais je pense que c'est le moyen le plus général pour dégommer son aversaire facilou.
Tu m'excuseras, mais j'ai un invité aujourd'hui, du coup je n'ai pas pu répondre au reste de ton message pour le moment.
Tenshin26100
- Membre
- 106 posts
03 septembre 2014, 15:31
Faudra que je reteste tout alors pour marcher sur les murs, car vu que je suis sur cartouche physique, peut-être j'ai fait quelque chose de travers ...
En fait, le code de capture te considère le Pokémon comme capturé, qu'il ressorte ou non, et donc, il en resultera un Pokémon attrapé a la Pokeball. Je te ferais une photos que j'éditerais sur ce post à la suite de ça pour te montrer comment tout cela fonctionne chez moi, d'acc ? ^^ Je me souvient d'un code sur les jeux DS (oui, c'est différent, je sais xD) qui rend le taux de capture à 100%, ce qui fait qu'il rentre bien dans toutes les balls lancé, et ne ressort pas pour être considéré comme capturé après ! ^^
Oui, c'est ce qui devrais se passer normalement, la barre est à 1 PV/pixel dans le rouge et un coup les dégommes, c'est ce que j'ai déja utilisé sur ma cartouche Fr, mais là, c'est différent ... ma fois, c'est plutôt original je trouve, je testerais sur des dresseurs et te dirais comment ça fonctionne. Mais dans l'absolu, si ça marche sur des dresseurs, moi ça me convient vu qu'au final, ça met K.O. le pokémon quand même.
Ne t'inquiète surtout pas, comme je te l'ai dit, prend ton temps. Tu a une vie comme tout le monde içi, et tu est déja super sympa de me fabriquer ces codes alors qu'on ne s'est jamais vu. Donc j'attendrais le temps qu'il faudra, non seulement pour ces codes, mais aussi pour RF/VF. Oui, j'attendrais, et ce même si cela te demande 1 mois à cause de X ou Y raisons personelles, j'attendrais le temps qu'il faudra !
En fait, le code de capture te considère le Pokémon comme capturé, qu'il ressorte ou non, et donc, il en resultera un Pokémon attrapé a la Pokeball. Je te ferais une photos que j'éditerais sur ce post à la suite de ça pour te montrer comment tout cela fonctionne chez moi, d'acc ? ^^ Je me souvient d'un code sur les jeux DS (oui, c'est différent, je sais xD) qui rend le taux de capture à 100%, ce qui fait qu'il rentre bien dans toutes les balls lancé, et ne ressort pas pour être considéré comme capturé après ! ^^
Oui, c'est ce qui devrais se passer normalement, la barre est à 1 PV/pixel dans le rouge et un coup les dégommes, c'est ce que j'ai déja utilisé sur ma cartouche Fr, mais là, c'est différent ... ma fois, c'est plutôt original je trouve, je testerais sur des dresseurs et te dirais comment ça fonctionne. Mais dans l'absolu, si ça marche sur des dresseurs, moi ça me convient vu qu'au final, ça met K.O. le pokémon quand même.
Ne t'inquiète surtout pas, comme je te l'ai dit, prend ton temps. Tu a une vie comme tout le monde içi, et tu est déja super sympa de me fabriquer ces codes alors qu'on ne s'est jamais vu. Donc j'attendrais le temps qu'il faudra, non seulement pour ces codes, mais aussi pour RF/VF. Oui, j'attendrais, et ce même si cela te demande 1 mois à cause de X ou Y raisons personelles, j'attendrais le temps qu'il faudra !
Metarkrai
- Membre
- 180 posts
05 septembre 2014, 00:56
Hremeraude :
Pour moi, je dirais que du as dû faire/rater un copier dont tu ne t'es pas rendu compte, et tu as activé un code de Tp pour Emeraude Jap sur Emeraude Jap (ou Fr sur Fr/US), car l'adresse pour la Map sur Emeraude Fr est en plein milieu des adresses pour les tiles sur Emeraude Jap.
Ainsi, un code de Tp pour Emeraude Fr il peut faire apparaître 1-2 cases glitchées sur Emeraude Jap, mais c'est tout.
Tenshin26100 :
Je réponds un peu tardivement, j'en suis désolé, mais mes recherches ne se sont pas passées comme prévu (j'ai eu deux soucis à contourner).
Sinon, au niveau des données, celles-ci sont réparties en plusieurs zones.
Celles que je connais, et je n'ai jamais eu besoin d'autres, c'est :
La ROM, les données de la cartouche (le code du jeu)
La RAM (WRAM et iRAM), les données de la sauvegarde, et tout ce qui concerne ta partie en cours (position, état de l'équipe actuelle, map,...)
Les Inputs/Outputs. C'est là qu'est reçue l'information sur les touches appuyées, donc je ne m'en sers que pour faire des activateurs.
Sinon oui, pour modifier une valeur (en général, on veut genre faire une quantité, ou un identifiant, donc c'est une modification brute, peu importe la valeur qu'il y avait avant), on se sert d'une commande qui fait cette tâche.
Cette commande se matérialise par une structure, dans laquelle tu vas caser l'adresse où tu veux la modification, et la valeur de la modification, et une fois ça rempli, tu donnes la commande à l'AR qui l'exécute (si la commande est une commande que l'AR comprend, donc écrite dans le bon langage).
Le "langage" est important, car les commandes qu'on utilise pour faire des codes sont propres aux types de codes AR (Gameshark V1, V3, Code Breaker,..), c'est pas un truc universel, chaque constructeur d'Action Replay a fait son bidule dans son coin.
Donc si tu files une commande d'un certain langage à un AR qui comprend un autre langage, il peut se passer n'importe quoi, ou rien.
Mais bon ça, une fois que tu as un code sous la main sous forme décryptée, tu vas en général le modifier pour faire le code que tu veux, et pas ré-écrire la commande (sauf pour le Code Breaker parce que c'est méga-simple de l'écrire).
Petit exemple rapidos :
L'adresse 0x02024096 (adresse en hexadécimal) est celle de la 4e Attaque du Pokémon de notre équipe qui est envoyé au combat sur Emeraude (celle-là, je m'en suis tellement servi que je la connais, avec 0x02024542, 0x02026050, 0x0202980C, et quelques autres).
Je veux que mon Pokémon ait l'Attaque Gribouille en 4e Position, parce que c'est cool. (Identifiant de Gribouille : 0x00A6)
La commande dont j'ai besoin pour forcer la valeur 00A6 (valeur en hexa) à l'adresse 02024096 c'est celle-ci en Code Breaker :
8xxxxxxx yyyy (xxxxxxx = adresse avec le 0 de devant en moins, yyyy = valeur)
Ce qui donne : 82024096 00A6. (au passage, c'est la vraie adresse, donc le code fonctionne, même si bon il n'est pas hypra-utile tout seul).
Si je veux, je peux utiliser ARCrypt pour transformer ça en Gameshark, ce qui donne : 691ED7F4 74D7A222.
Et si le code est suffisamment utile, je demande à Megadrifter de le publier sur le site en format Gameshark (le format le plus utilisé).
Pour les différences entre versions, on a rajouté sur RfVf des algorithmes anti-triche, et Game Freak a revu un peu l'organisation de certaines données de la RAM. Y'a quand même énormément de similarités avec RS.
Pour Emeraude, y'avait pas grand-chose à changer : code de RfVf et graphismes de RS, ce qui fait que l'adressage et le code sont beaucoup plus proches entre RfVf et Emeraude qu'avec RS.
La grosse différence c'est ces algorithme anti-triche, qui nécessitent par exemple l'Anti-DMA pour pouvoir modifier correctement certaines valeurs.
Pour créer un code, une fois que je sais que la donnée que je dois modifier est à une certaine adresse, ou dans une certaine zone, j'ouvre le Memory Viewer de VBA, qui est une fenêtre qui te montre les valeurs hexadécimales adressées, et je fais des tests sur console pour faire varier la donnée que je cherche (genre j'augmente mon argent, je marche pour dissiper le repousse, je jette un exemplaire de l'objet, je change tel pokémon avec tel autre pokémon,....), et je peux ainsi trouver l'adresse dont j'ai besoin.
Je peux aussi regarder après comment évolue la valeur à l'adresse que j'ai trouvée, pour voir s'il y a des mécanismes particuliers ou pas.
Rah, je m'y suis pris trop tard, je devrai finir mon post demain, je l'éditerai.
EDIT :
En fait j'ai répondu un peu à tout.
Je me suis cependant tapé un problème de plus dans mes recherches, et la solution que j'ai trouvée me fait changer une bonne partie de mon protocole, donc je suis bon pour réécrire ce que je croyais avoir réécrit pour de bon.
Je m'occupe de tes codes après ça.
« Modifié: 05 septembre 2014, 13:59 par Metarkrai »
Pour moi, je dirais que du as dû faire/rater un copier dont tu ne t'es pas rendu compte, et tu as activé un code de Tp pour Emeraude Jap sur Emeraude Jap (ou Fr sur Fr/US), car l'adresse pour la Map sur Emeraude Fr est en plein milieu des adresses pour les tiles sur Emeraude Jap.
Ainsi, un code de Tp pour Emeraude Fr il peut faire apparaître 1-2 cases glitchées sur Emeraude Jap, mais c'est tout.
Tenshin26100 :
Je réponds un peu tardivement, j'en suis désolé, mais mes recherches ne se sont pas passées comme prévu (j'ai eu deux soucis à contourner).
Sinon, au niveau des données, celles-ci sont réparties en plusieurs zones.
Celles que je connais, et je n'ai jamais eu besoin d'autres, c'est :
La ROM, les données de la cartouche (le code du jeu)
La RAM (WRAM et iRAM), les données de la sauvegarde, et tout ce qui concerne ta partie en cours (position, état de l'équipe actuelle, map,...)
Les Inputs/Outputs. C'est là qu'est reçue l'information sur les touches appuyées, donc je ne m'en sers que pour faire des activateurs.
Sinon oui, pour modifier une valeur (en général, on veut genre faire une quantité, ou un identifiant, donc c'est une modification brute, peu importe la valeur qu'il y avait avant), on se sert d'une commande qui fait cette tâche.
Cette commande se matérialise par une structure, dans laquelle tu vas caser l'adresse où tu veux la modification, et la valeur de la modification, et une fois ça rempli, tu donnes la commande à l'AR qui l'exécute (si la commande est une commande que l'AR comprend, donc écrite dans le bon langage).
Le "langage" est important, car les commandes qu'on utilise pour faire des codes sont propres aux types de codes AR (Gameshark V1, V3, Code Breaker,..), c'est pas un truc universel, chaque constructeur d'Action Replay a fait son bidule dans son coin.
Donc si tu files une commande d'un certain langage à un AR qui comprend un autre langage, il peut se passer n'importe quoi, ou rien.
Mais bon ça, une fois que tu as un code sous la main sous forme décryptée, tu vas en général le modifier pour faire le code que tu veux, et pas ré-écrire la commande (sauf pour le Code Breaker parce que c'est méga-simple de l'écrire).
Petit exemple rapidos :
L'adresse 0x02024096 (adresse en hexadécimal) est celle de la 4e Attaque du Pokémon de notre équipe qui est envoyé au combat sur Emeraude (celle-là, je m'en suis tellement servi que je la connais, avec 0x02024542, 0x02026050, 0x0202980C, et quelques autres).
Je veux que mon Pokémon ait l'Attaque Gribouille en 4e Position, parce que c'est cool. (Identifiant de Gribouille : 0x00A6)
La commande dont j'ai besoin pour forcer la valeur 00A6 (valeur en hexa) à l'adresse 02024096 c'est celle-ci en Code Breaker :
8xxxxxxx yyyy (xxxxxxx = adresse avec le 0 de devant en moins, yyyy = valeur)
Ce qui donne : 82024096 00A6. (au passage, c'est la vraie adresse, donc le code fonctionne, même si bon il n'est pas hypra-utile tout seul).
Si je veux, je peux utiliser ARCrypt pour transformer ça en Gameshark, ce qui donne : 691ED7F4 74D7A222.
Et si le code est suffisamment utile, je demande à Megadrifter de le publier sur le site en format Gameshark (le format le plus utilisé).
Pour les différences entre versions, on a rajouté sur RfVf des algorithmes anti-triche, et Game Freak a revu un peu l'organisation de certaines données de la RAM. Y'a quand même énormément de similarités avec RS.
Pour Emeraude, y'avait pas grand-chose à changer : code de RfVf et graphismes de RS, ce qui fait que l'adressage et le code sont beaucoup plus proches entre RfVf et Emeraude qu'avec RS.
La grosse différence c'est ces algorithme anti-triche, qui nécessitent par exemple l'Anti-DMA pour pouvoir modifier correctement certaines valeurs.
Pour créer un code, une fois que je sais que la donnée que je dois modifier est à une certaine adresse, ou dans une certaine zone, j'ouvre le Memory Viewer de VBA, qui est une fenêtre qui te montre les valeurs hexadécimales adressées, et je fais des tests sur console pour faire varier la donnée que je cherche (genre j'augmente mon argent, je marche pour dissiper le repousse, je jette un exemplaire de l'objet, je change tel pokémon avec tel autre pokémon,....), et je peux ainsi trouver l'adresse dont j'ai besoin.
Je peux aussi regarder après comment évolue la valeur à l'adresse que j'ai trouvée, pour voir s'il y a des mécanismes particuliers ou pas.
Rah, je m'y suis pris trop tard, je devrai finir mon post demain, je l'éditerai.
EDIT :
En fait j'ai répondu un peu à tout.
Je me suis cependant tapé un problème de plus dans mes recherches, et la solution que j'ai trouvée me fait changer une bonne partie de mon protocole, donc je suis bon pour réécrire ce que je croyais avoir réécrit pour de bon.
Je m'occupe de tes codes après ça.
Asia81
- Modérateur de section
- 8357 posts
05 septembre 2014, 04:02
A chaque fois, t'es pavay sont une mine d'info, merci beaucoup
J'voulais tester ton adresse pour gribouille, mais le 02024096 je le sélectionne ou ?
J'essaie un peu de trafiquer via Memory Viewer de VBA, mais j'arrive à rien
J'ai réussi à remplacer Lame Feuille via DanseDraco (5C, j'ai mit D à la palce du C). Bon 'sais pas trop comment j'ai fait, c'tait pour tester, mais si à la place du 5C je met 96 pour Gribouille, j'ai une attaque buguée et le jeu plante --'
« Modifié: 05 septembre 2014, 04:29 par Asia81 »
J'voulais tester ton adresse pour gribouille, mais le 02024096 je le sélectionne ou ?
J'essaie un peu de trafiquer via Memory Viewer de VBA, mais j'arrive à rien
J'ai réussi à remplacer Lame Feuille via DanseDraco (5C, j'ai mit D à la palce du C). Bon 'sais pas trop comment j'ai fait, c'tait pour tester, mais si à la place du 5C je met 96 pour Gribouille, j'ai une attaque buguée et le jeu plante --'
Metarkrai
- Membre
- 180 posts
05 septembre 2014, 13:58
Ah tiens, tu fais bien d'en parlerdu Memory Viewer de VBA.
C'est vrai que je l'ai mentionné assez nonchalemment, sans trop détailler.
En haut à droite tu peux rentrer l'adresse à laquelle tu veux te rendre.
Il y a aussi en haut un choix d'affichage des données : octet par octet (8-bit), mot par mot (16-bit) ou double-mot par double-mot (32-bit).
Y'a aussi une case en bas à gauche, Automatic update, qui permet de laisser le Memory Viewer tourner même quand on joue.
ça permet de voir directement comment les valeurs varient, même si ça ralentit VBA du coup.
Pour le choix d'affichage, cela dépend de la donnée que tu veux voir.
En général, le 16-bit est nickel car la majorité des données est enregistrée sur des mots (attaques, pas du repousse, quantités, objets,...).
Y'a quelques données enregistrées sur des double-mots, comme l'argent, ou le PID d'un Pokémon, mais pour faire des codes tu vas en général très peu t'en servir.
Comme tu devais être en 8-bit je suppose, tu n'as vu que la moitié de la valeur de l'identifiant de la 4e attaque (donc 5C au lieu de 015C et 5D au lieu de 015D, 15C et 15D étant les identifiants pour Lame-Feuille et Danse Draco), ce qui fait que quand tu as remplacé ça par 96 (c'était 00A6 au passage), le jeu a vu l'identifiant 0196, et cet identifiant est celui d'une attaque glitch, car pour les Attaques sur 3g, les identifiants s'arrêtent à 0162 (y'a 354 attaques sur 3G), d'où le possible plantage du jeu dû à l'attaque glitch.
En général, les attaques glitch font bugger le jeu lorsqu'il essaie de charger leur animation, du coup il faut les couper.
Sinon il peut planter quand on les regarde en combat, ou quan on les lance, mais c'est plus rare.
Il plante aussi souvent quand on regarde le résumé des attaques, car les attaques glitch ont souvent un type (y'a 256 types et le jeu il en connaît 18) qui fait planter le jeu quand celui-ci essaie de charger la vignette de type qui lui est associée.
C'est vrai que je l'ai mentionné assez nonchalemment, sans trop détailler.
En haut à droite tu peux rentrer l'adresse à laquelle tu veux te rendre.
Il y a aussi en haut un choix d'affichage des données : octet par octet (8-bit), mot par mot (16-bit) ou double-mot par double-mot (32-bit).
Y'a aussi une case en bas à gauche, Automatic update, qui permet de laisser le Memory Viewer tourner même quand on joue.
ça permet de voir directement comment les valeurs varient, même si ça ralentit VBA du coup.
Pour le choix d'affichage, cela dépend de la donnée que tu veux voir.
En général, le 16-bit est nickel car la majorité des données est enregistrée sur des mots (attaques, pas du repousse, quantités, objets,...).
Y'a quelques données enregistrées sur des double-mots, comme l'argent, ou le PID d'un Pokémon, mais pour faire des codes tu vas en général très peu t'en servir.
Comme tu devais être en 8-bit je suppose, tu n'as vu que la moitié de la valeur de l'identifiant de la 4e attaque (donc 5C au lieu de 015C et 5D au lieu de 015D, 15C et 15D étant les identifiants pour Lame-Feuille et Danse Draco), ce qui fait que quand tu as remplacé ça par 96 (c'était 00A6 au passage), le jeu a vu l'identifiant 0196, et cet identifiant est celui d'une attaque glitch, car pour les Attaques sur 3g, les identifiants s'arrêtent à 0162 (y'a 354 attaques sur 3G), d'où le possible plantage du jeu dû à l'attaque glitch.
En général, les attaques glitch font bugger le jeu lorsqu'il essaie de charger leur animation, du coup il faut les couper.
Sinon il peut planter quand on les regarde en combat, ou quan on les lance, mais c'est plus rare.
Il plante aussi souvent quand on regarde le résumé des attaques, car les attaques glitch ont souvent un type (y'a 256 types et le jeu il en connaît 18) qui fait planter le jeu quand celui-ci essaie de charger la vignette de type qui lui est associée.
Asia81
- Modérateur de section
- 8357 posts
05 septembre 2014, 17:06
Et pour les emplacement d'attaque n°1 2 3, c'est quelle valeur ?
D'ailleurs, comment on fait pour trouver cette valeur ?
Je veut dire, je veut 02024096 pour pour cette fois l'emplacement 2, comment je fais pour rechercher ca ?
Et pour les PP, comment les modifier en même temps que faire appaire l'attaque ?
Et trouve ou la liste de toute les attaques, avec les valeurs correspondantes du genre 00A6 ?
Bon, j'ai déjà réussi à modifier l'attaque, c'est déjà un bon début x)
Edit : De plus, comment on fait pour trouver tout les valeurs numéraire, comme les repousse (pas restants), argent, etc...
Je préfère que tu ne me donne pas les valeurs, plutôt que tu m'explique si tu le veux bien comment les trouver, pour que j'essaie de me faire mon propre code test
« Modifié: 05 septembre 2014, 17:15 par Asia81 »
D'ailleurs, comment on fait pour trouver cette valeur ?
Je veut dire, je veut 02024096 pour pour cette fois l'emplacement 2, comment je fais pour rechercher ca ?
Et pour les PP, comment les modifier en même temps que faire appaire l'attaque ?
Et trouve ou la liste de toute les attaques, avec les valeurs correspondantes du genre 00A6 ?
Bon, j'ai déjà réussi à modifier l'attaque, c'est déjà un bon début x)
Edit : De plus, comment on fait pour trouver tout les valeurs numéraire, comme les repousse (pas restants), argent, etc...
Je préfère que tu ne me donne pas les valeurs, plutôt que tu m'explique si tu le veux bien comment les trouver, pour que j'essaie de me faire mon propre code test
Metarkrai
- Membre
- 180 posts
05 septembre 2014, 17:42
Pour ce qui est de la recherche d'adresses de ce genre, cela passe par la comparaison de données.
Je fais un bref aparte pour revenir vite fait sur les 3 types d'affichages de VBA.
un octet, c'est une valeur de 0x00 à 0xFF, soit 256 = 2^8 combinaisons. (8-bits)
un mot, c'est deux octets combinés, donc une valeur de 0x0000 à 0xFFFF, soit 65.536 = 2^16 valeurs. (16-bits)
un double-mot, c'est deux mots combinés, soit une valeur de 0x0000 0000 à 0xFFFF FFFF, soit 2^32=4.294.967.296 valeurs (32-bits)
Par exemple, tu cherches l'adresse de l'emplacement de l'attaque n°2 en combat.
Il faut déjà avoir une petite idée sur la taille de la donnée que tu cherches.
Comme il y a 354 attaques sur 3G, cette donnée ne peut pas être codée sur un octet seulement, et un double-mot serait un trop gros gâchis de place, donc ce devrait être codé sur un mot.
On va supposer que lors d'un combat, le jeu il stocke dans un coin les attaques du Poké que l'on envoie en combat, ainsi que plein d'infos genre ses PPs, ses stats, son statut, et la même chose pour l'adversaire.
Ces suppositions se basent sur ce qu'il faudrait faire pour concevoir des mécanismes dans le jeu qui soient peu demandeurs en place, simples à coder, et simples à traiter pour le jeu.
Maintenant qu'on a ces hypothèses, qui ont l'air assez solides, on utilise le RAM Watch pour chercher une adresse qui contiendrait la valeur de l'attaque n°2.
Là, il va falloir utiliser quelques données, à savoir l'identifiant de certaines attaques (ex : Baston = 251), afin de s'en sortir rapidement.
Si on connaît l'identifiant de deux attaques, ou d'une seule, ce sera bon.
On va dire qu'on connaît les identifiants de Lame-Feuille : 0x015D et Danse Draco : 0x015C.
Je prends un Poké avec Danse Draco, je la mets en 2e position, et je fais un combat.
Là, je prends le RAM Watch, et je lui demande de me chercher tous les mots (valeurs de 16 bits) qui ont pour valeur 015C.
Il me sort des résultats, ce qui est bon signe.
Après, je laisse le RAM Watch ouvert (ça dépendra de la version de VBA pour faire ça), et je refais un combat, en envoyant un Pokémon qui n'a pas d'attaque en 2e position, ou qui a Lame-Feuille en 2e position, et je regarde si parmi les adresses données par le RAM Watch, il y en a une qui passe à 0000 (pas d'Atk) ou 015D (Lame-Feuille).
Si oui, ça veut dire que j'ai trouvé une adresse qui stocke les attaques du Pokémon lancé en combat.
Il reste après à voir si le jeu se sert de cette adresse juste pour stocker une donnée, ou bien s'il va aller lire l'adresse lors du combat pour s'en servir, donc on veut savoir si modifier cette adresse aura une influence sur le jeu.
Là, j'ouvre le Memory Viewer, car c'est bien d'avoir une vue d'ensemble autour des adresses qu'on a dégotées avec le RAM Watch, car on peut y distinguer certains éléments que l'on peut identifier à des mécaniques.
Et sur le Memory Viewer, ben ma valeur de 015D, je la change en 00A6.
Je regarde ensuite si en ouvrant/refermant des menus (histoire que le jeu charge à nouveau les noms des attaques), ma 2e Attaque devient Gribouille.
Je regarde aussi le résumé de mon Pokémon, pour voir si sa 2e Attaque devient Gribouille.
Il s'avère que seule l'Attaque en combat est changée, et pas l'Attaque du Pokémon.
Du coup, t'as trouvé une adresse qui permet de modifier l'Attaque en combat d'un Pokémon.
Après, par logique, les adresses gérant les Attaques n°1,3 et 4 d'un Pokémon, elles devraient être juste à côté (toujours dans une optique de pratique d'utilisation, et de rangement des données), donc tu reprends le Memory Viewer, et tu regardes comment se comportent les valeurs des adresses à côté de celle que tu as identifiée.
Tu remarques que ça change quand le Pokémon change, et que ça prend des valeurs assez particulières.
Tu les change en 00A6, et les Attaques n°1,3 et 4 du Pokémon en combat deviennent Gribouille.
Et paf, tu as trouvé les adresses des 4 attaques en combat d'un Pokémon.
Mais ça, c'est la version longue de la recherche : tu pars de rien pour essayer d'arriver à une trouvaille.
Si tu as déjà des codes Ar, ou des données sur des mécanismes liés à ce que tu cherches, c'est bon à prendre, car ça te donne déjà des indications sur les possibles zones où se situe ton adresse, ou sur les possibles variations de celle-ci.
Car à l'aveugle, c'est seulement en supposant que la valeur de l'adresse doit varier d'une certaine manière que tu arriveras à la trouver (ou alors avec le Memory Viewer et en cherchant près d'autres adresses que tu connais).
Autre petit exemple rapidos, pour les PPs, comme ça ne dépasse pas les 64 avec des boosts, tu vas chercher une valeur sur un octet, et tu vas regarder le nombre de PPs de l'Atk n°2 de ton poké en combat, convertir cette valeur en hexadécimal, et chercher avec le RAM Watch les adresses qui ont cette valeur.
Puis tu utilises l'attaque, et tu regardes parmi toutes les adresses trouvées lesquelles ont eu une valeur qui a diminué de 1.
Tu peux aussi directement essayer de chercher près de l'adresse de l'Atk n°2, car bon il paraît un peu logique que toutes les données des Pokés en combat ne sont pas très volumineuses, et que donc elles seront toutes stockées dans un seul coin.
Le Memory Viewer c'est bien, parce que tu peux utiliser les savestates pour en avoir une avec l'Atk n°2 à 20 PPs, et faire une savestate le tour d'après, avec 19 PPs.
Ensuite tu lances les savestates de manière alternée pour voir quelles valeurs ont changé sur le Memory Viewer, près de l'adresse de l'Atk N°2.
Mais comme après tu te réfères souvent à des mécaniques différentes, ben forcément y'a toujours un truc à voir différemment.
Par exemple, sur Emeraude et RfVf, l'Anti-DMA est obligatoire, car sans, les adresses et valeurs des adresses de pas mal d'éléments sont modifiées, afin d'éviter de la triche de ce genre.
Pis bon, les avantages que tu peux tirer de la connaissance de ce genre de choses sont limités.
Avec les codes, j'ai essayé de faire tout ce que je trouvais cool ou utile sur les versions 3G (s'il y a des trucs assez cool manquants, 'faut me le dire et je demanderai à l'ajouter).
y'a forcément des petites bricoles que je n'ai pas mises, et qui sont un peu intéressantes à modifier sur émulateur, mais pas intéressantes à modifier via un code sur console.
Il ne reste que très peu de choses pour lesquelles je n'ai pas assez d'infos ou d'hypothèses sur les structures pour deviner où sont les adresses, et en tirer des codes (Soldes Nénucrique, Maître Mixeur, Vidéos de Combat), et c'est des trucs hyper particuliers.
Ce qui est des quantités basiques, argent , repousse, et tout le tralala, ça, je sais très bien où c'est (j'ai d'ailleurs un fichier qui récapitule quelques adresses utiles, parce que je ne peux pas non plus tout faire de tête).
Je fais un bref aparte pour revenir vite fait sur les 3 types d'affichages de VBA.
un octet, c'est une valeur de 0x00 à 0xFF, soit 256 = 2^8 combinaisons. (8-bits)
un mot, c'est deux octets combinés, donc une valeur de 0x0000 à 0xFFFF, soit 65.536 = 2^16 valeurs. (16-bits)
un double-mot, c'est deux mots combinés, soit une valeur de 0x0000 0000 à 0xFFFF FFFF, soit 2^32=4.294.967.296 valeurs (32-bits)
Par exemple, tu cherches l'adresse de l'emplacement de l'attaque n°2 en combat.
Il faut déjà avoir une petite idée sur la taille de la donnée que tu cherches.
Comme il y a 354 attaques sur 3G, cette donnée ne peut pas être codée sur un octet seulement, et un double-mot serait un trop gros gâchis de place, donc ce devrait être codé sur un mot.
On va supposer que lors d'un combat, le jeu il stocke dans un coin les attaques du Poké que l'on envoie en combat, ainsi que plein d'infos genre ses PPs, ses stats, son statut, et la même chose pour l'adversaire.
Ces suppositions se basent sur ce qu'il faudrait faire pour concevoir des mécanismes dans le jeu qui soient peu demandeurs en place, simples à coder, et simples à traiter pour le jeu.
Maintenant qu'on a ces hypothèses, qui ont l'air assez solides, on utilise le RAM Watch pour chercher une adresse qui contiendrait la valeur de l'attaque n°2.
Là, il va falloir utiliser quelques données, à savoir l'identifiant de certaines attaques (ex : Baston = 251), afin de s'en sortir rapidement.
Si on connaît l'identifiant de deux attaques, ou d'une seule, ce sera bon.
On va dire qu'on connaît les identifiants de Lame-Feuille : 0x015D et Danse Draco : 0x015C.
Je prends un Poké avec Danse Draco, je la mets en 2e position, et je fais un combat.
Là, je prends le RAM Watch, et je lui demande de me chercher tous les mots (valeurs de 16 bits) qui ont pour valeur 015C.
Il me sort des résultats, ce qui est bon signe.
Après, je laisse le RAM Watch ouvert (ça dépendra de la version de VBA pour faire ça), et je refais un combat, en envoyant un Pokémon qui n'a pas d'attaque en 2e position, ou qui a Lame-Feuille en 2e position, et je regarde si parmi les adresses données par le RAM Watch, il y en a une qui passe à 0000 (pas d'Atk) ou 015D (Lame-Feuille).
Si oui, ça veut dire que j'ai trouvé une adresse qui stocke les attaques du Pokémon lancé en combat.
Il reste après à voir si le jeu se sert de cette adresse juste pour stocker une donnée, ou bien s'il va aller lire l'adresse lors du combat pour s'en servir, donc on veut savoir si modifier cette adresse aura une influence sur le jeu.
Là, j'ouvre le Memory Viewer, car c'est bien d'avoir une vue d'ensemble autour des adresses qu'on a dégotées avec le RAM Watch, car on peut y distinguer certains éléments que l'on peut identifier à des mécaniques.
Et sur le Memory Viewer, ben ma valeur de 015D, je la change en 00A6.
Je regarde ensuite si en ouvrant/refermant des menus (histoire que le jeu charge à nouveau les noms des attaques), ma 2e Attaque devient Gribouille.
Je regarde aussi le résumé de mon Pokémon, pour voir si sa 2e Attaque devient Gribouille.
Il s'avère que seule l'Attaque en combat est changée, et pas l'Attaque du Pokémon.
Du coup, t'as trouvé une adresse qui permet de modifier l'Attaque en combat d'un Pokémon.
Après, par logique, les adresses gérant les Attaques n°1,3 et 4 d'un Pokémon, elles devraient être juste à côté (toujours dans une optique de pratique d'utilisation, et de rangement des données), donc tu reprends le Memory Viewer, et tu regardes comment se comportent les valeurs des adresses à côté de celle que tu as identifiée.
Tu remarques que ça change quand le Pokémon change, et que ça prend des valeurs assez particulières.
Tu les change en 00A6, et les Attaques n°1,3 et 4 du Pokémon en combat deviennent Gribouille.
Et paf, tu as trouvé les adresses des 4 attaques en combat d'un Pokémon.
Mais ça, c'est la version longue de la recherche : tu pars de rien pour essayer d'arriver à une trouvaille.
Si tu as déjà des codes Ar, ou des données sur des mécanismes liés à ce que tu cherches, c'est bon à prendre, car ça te donne déjà des indications sur les possibles zones où se situe ton adresse, ou sur les possibles variations de celle-ci.
Car à l'aveugle, c'est seulement en supposant que la valeur de l'adresse doit varier d'une certaine manière que tu arriveras à la trouver (ou alors avec le Memory Viewer et en cherchant près d'autres adresses que tu connais).
Autre petit exemple rapidos, pour les PPs, comme ça ne dépasse pas les 64 avec des boosts, tu vas chercher une valeur sur un octet, et tu vas regarder le nombre de PPs de l'Atk n°2 de ton poké en combat, convertir cette valeur en hexadécimal, et chercher avec le RAM Watch les adresses qui ont cette valeur.
Puis tu utilises l'attaque, et tu regardes parmi toutes les adresses trouvées lesquelles ont eu une valeur qui a diminué de 1.
Tu peux aussi directement essayer de chercher près de l'adresse de l'Atk n°2, car bon il paraît un peu logique que toutes les données des Pokés en combat ne sont pas très volumineuses, et que donc elles seront toutes stockées dans un seul coin.
Le Memory Viewer c'est bien, parce que tu peux utiliser les savestates pour en avoir une avec l'Atk n°2 à 20 PPs, et faire une savestate le tour d'après, avec 19 PPs.
Ensuite tu lances les savestates de manière alternée pour voir quelles valeurs ont changé sur le Memory Viewer, près de l'adresse de l'Atk N°2.
Mais comme après tu te réfères souvent à des mécaniques différentes, ben forcément y'a toujours un truc à voir différemment.
Par exemple, sur Emeraude et RfVf, l'Anti-DMA est obligatoire, car sans, les adresses et valeurs des adresses de pas mal d'éléments sont modifiées, afin d'éviter de la triche de ce genre.
Pis bon, les avantages que tu peux tirer de la connaissance de ce genre de choses sont limités.
Avec les codes, j'ai essayé de faire tout ce que je trouvais cool ou utile sur les versions 3G (s'il y a des trucs assez cool manquants, 'faut me le dire et je demanderai à l'ajouter).
y'a forcément des petites bricoles que je n'ai pas mises, et qui sont un peu intéressantes à modifier sur émulateur, mais pas intéressantes à modifier via un code sur console.
Il ne reste que très peu de choses pour lesquelles je n'ai pas assez d'infos ou d'hypothèses sur les structures pour deviner où sont les adresses, et en tirer des codes (Soldes Nénucrique, Maître Mixeur, Vidéos de Combat), et c'est des trucs hyper particuliers.
Ce qui est des quantités basiques, argent , repousse, et tout le tralala, ça, je sais très bien où c'est (j'ai d'ailleurs un fichier qui récapitule quelques adresses utiles, parce que je ne peux pas non plus tout faire de tête).
Asia81
- Modérateur de section
- 8357 posts
05 septembre 2014, 18:38
Le truc de laisser ouvert ram watch ca me fait penser à Cheat Engine sur PC
superrayquaza
- Membre
- 2 posts
05 septembre 2014, 19:07
bonjour,
je cherche depuis très longtemps un cheat pour pokemon émeraude (FR) me permettant d'utiliser mon rayquaza a la tour de combat pourriez-vous me le donner ou me dire où il se trouve s'il existe .
merci
je cherche depuis très longtemps un cheat pour pokemon émeraude (FR) me permettant d'utiliser mon rayquaza a la tour de combat pourriez-vous me le donner ou me dire où il se trouve s'il existe .
merci
Metarkrai
- Membre
- 180 posts
05 septembre 2014, 21:26
Salut.
Malheureusement, j'ai cherché, et je n'ai pas trouvé de code permettant de couper l'interdiction d'amener des légendaires avec soi à la Zone de Combat.
Mais j'ai réfléchi un peu, et j'ai normalement un code qui contourne le problème :
Accéder au PC n'importe quand :
Appuyer sur R
7A2C40E4 06AFEFA1
25926712 03F7F971
7A2C40E4 06AFEFA1
368E412D C66E3EB9
En gros, tu choisis les légendaires que tu veux introduire, et tu les clone.
Tu t'inscris dans un bâtiment de la Zone de Combat, peu importe lequel.
Ensuite, lorsqu'on va genre te dire du blabla sur comment est ton adversaire, ou sur quoi que ce soit, tu maintiens R, et tu continues à parler au PNJ afin que le menu du PC s'affiche.
Tu peux ensuite constituer ton équipe comme tu le sens, avec qui tu veux, les objets que tu veux, et plus de 3 Pokémon.
Par contre, lorsque tu as fini ta série de combats, on te rend ton équipe initiale, et les Pokémon utilisés dans ton équipe sont perdus.
C'est pour ça qu'il y avait besoin de les cloner auparavant, afin d'être certain de ne pas les perdre.
Malheureusement, j'ai cherché, et je n'ai pas trouvé de code permettant de couper l'interdiction d'amener des légendaires avec soi à la Zone de Combat.
Mais j'ai réfléchi un peu, et j'ai normalement un code qui contourne le problème :
Accéder au PC n'importe quand :
Appuyer sur R
7A2C40E4 06AFEFA1
25926712 03F7F971
7A2C40E4 06AFEFA1
368E412D C66E3EB9
En gros, tu choisis les légendaires que tu veux introduire, et tu les clone.
Tu t'inscris dans un bâtiment de la Zone de Combat, peu importe lequel.
Ensuite, lorsqu'on va genre te dire du blabla sur comment est ton adversaire, ou sur quoi que ce soit, tu maintiens R, et tu continues à parler au PNJ afin que le menu du PC s'affiche.
Tu peux ensuite constituer ton équipe comme tu le sens, avec qui tu veux, les objets que tu veux, et plus de 3 Pokémon.
Par contre, lorsque tu as fini ta série de combats, on te rend ton équipe initiale, et les Pokémon utilisés dans ton équipe sont perdus.
C'est pour ça qu'il y avait besoin de les cloner auparavant, afin d'être certain de ne pas les perdre.
superrayquaza
- Membre
- 2 posts
06 septembre 2014, 09:06
bonjour,
merci pour la réponse la strat fonctionne
merci pour la réponse la strat fonctionne
Tenshin26100
- Membre
- 106 posts
07 septembre 2014, 16:08
D'abord, désolé pour ma réponse tardive Metarkrai ... j'avais quelques trucs à régler et ça m'as empêché de te répondre.
Ensuite, vraiment, chacuns de tes messages sont une mine d'informations vraiment incroyable, je n'ai jamais autant appris en te lisant qu'en lisant des sites spécialisé sur ce domaine.
Donc, si je comprend bien, une fois la base obtenu pour le code des attaques, tu peux facilement arriver au autres vu que la localisation hexa de ces attaques ont déja été trouvé précédament ? Au final, malgrès le fait que ça a l'air compliqué, il y a une certaine logique là-dedans ... vraiment !
Je m'étais toujours demandé ce qu'étais vraiment les Anti-DMA, mais maintenant, je sais un peu à quoi cela sert. C'est un peu comme un Master Code vu qu'il est nécéssaire pour certains code ! ^^ lol
Pour la création des codes, je me suis douté que cela fonctionnais comme ça. D'ailleurs, sans ça, cela serais surement bien compliqué de pouvoir écrire des codes. Puis comme tu l'as dit, le language est important. Tu ne va pas utiliser un language HTML pour créer un jeu sur telephone portable par exemple ^^
Quand a ces codes (Pour emeraude le code de capture, et les autres de RF/VF), dit toi que tu a le temps, surtout si tu fait face à quelques petits soucis ^^
On apprend bien la patience quand tu doit attendre dehors de 4h du matin jusqu'à 19h pour être au premier rang pour le concert de ton artiste favoris ... xDD
Ensuite, vraiment, chacuns de tes messages sont une mine d'informations vraiment incroyable, je n'ai jamais autant appris en te lisant qu'en lisant des sites spécialisé sur ce domaine.
Donc, si je comprend bien, une fois la base obtenu pour le code des attaques, tu peux facilement arriver au autres vu que la localisation hexa de ces attaques ont déja été trouvé précédament ? Au final, malgrès le fait que ça a l'air compliqué, il y a une certaine logique là-dedans ... vraiment !
Je m'étais toujours demandé ce qu'étais vraiment les Anti-DMA, mais maintenant, je sais un peu à quoi cela sert. C'est un peu comme un Master Code vu qu'il est nécéssaire pour certains code ! ^^ lol
Pour la création des codes, je me suis douté que cela fonctionnais comme ça. D'ailleurs, sans ça, cela serais surement bien compliqué de pouvoir écrire des codes. Puis comme tu l'as dit, le language est important. Tu ne va pas utiliser un language HTML pour créer un jeu sur telephone portable par exemple ^^
Quand a ces codes (Pour emeraude le code de capture, et les autres de RF/VF), dit toi que tu a le temps, surtout si tu fait face à quelques petits soucis ^^
On apprend bien la patience quand tu doit attendre dehors de 4h du matin jusqu'à 19h pour être au premier rang pour le concert de ton artiste favoris ... xDD
Méga-Mew
- Membre
- 687 posts
09 septembre 2014, 18:54
Re ! J'aimerai savoir s'il existe un code pour changer la sprite de notre personnage par celui de Mew pour émeraude.
Asia81
- Modérateur de section
- 8357 posts
09 septembre 2014, 19:12
Ca doit exister, j'avais trouver le même code pour rouge feu, j'avais changer le sprite du dresseur par mewtwo