>OBSOLÈTE : http://www.pokemontrash.com/club/rom-hacking/(tuto)(gba)-scripts-le-giga-tuto-des-cs-et-des-attaques-hors-combat/
La version ci-dessus est plus complète.
Bonjour, bonsoir.
Dans la cinquième génération de pokémon, on n'avait plus besoin d'avoir certains badges pour utiliser certaines CS, ce qui était un plutôt bon avantage. Ou bien, dans chaque génération, une CS change de "badge d'utilisation". Par exemple, dans Rouge feu/vert feuille, éclate roc nécessitait le badge numéro 6, tandis ce que dans Diamant/Perle/Platine, il n'y avait besoin que du badge n°1. On pourrait facilement vouloir changer voire même enlever ces limitations, et c'est ce que je vais vous montrer pour quelques CS aujourd'hui, je ferai peut-être une autre modification du sujet au besoin.
Pour cela; vous devez avoir une légère connaissance dans les flags. Je vous renvoie aux tutos de Sainior ici si vous n'avez pas assez de connaissances. De toute façon, une petite piqure de rappel ne fera de mal à personne. Comme vous le savez, les badges sont stockés sous forme de flags, sur rouge feu et vert feuille de 820 à 827 (en héxadécimal) et sur émeraude de 867 à 86E. Lorsque vous "parlez" à un rocher pour le casser, ou à un arbre pour le couper, le script stocké à l'offset 0x1BC99E s'execute. Parmi une longue liste de "et... si", on trouve ceci:
Code: [Sélectionner]
checkflag 0x[numéro du badge]
if 0x0 goto 0x8[offset]
Le checkflag, vous avez compris, mais petite subtilité ici, on vérifie si la condition est fausse (d'où le 0x0), et si le joueur n'a pas le badge, le message où on ne peut pas couper/casser etc. s'affiche. On peut soit modifier ces valeurs pour changer le badge ou bien mettre une autre condition (avoir vécu un évènement particulier par exemple), soit carrément enlever ces deux lignes.Je ne sais par contre pas comment faire pour le surf ou la cascade par exemple. Là, je pense que c'est possible, avec quelques recherches en hexadécimal de modifier le flag testé, en espérant qu'il ne faille pas passer par l'ASM.