[TUTO] [GBA] Faire apparaître des Pokémon shineys
Mickey` - 6 mai 2011 à 11:01
Me revoilà pour un nouveau tuto, que j'ai trouvé plutôt cool (J'vais arrêter les tutos, j'vais faire une overdose xD)
Nous allons apprendre à faire insérer un Pokémon shiney dans un wildbattle, dans un givepokemon (ou giveegg), et dans un trainerbattle.
Ressources :
_ Shinyzer
_ XSE
Bien, commençons par le plus simple.
I. Insérer le caractère "shiney" dans la ROM
Ouvrez Shinyzer. Chargez votre ROM. Dans "Offset ASM", entrez un offset libre. Cliquez ensuite sur "Shinyzer", puis sur "OK". Vous pouvez fermer Shinyzer, nous n'en aurons plus besoin.
Spoiler
Voilà, le caractère "shiney" a été inséré, il ne reste plus qu'à l'intégrer dans les scripts
II. Intégrer le caractère "shiney" dans les scripts
**1. Dans les wildbattles**
Spoiler
On y va !'---------------
#org 0x6D13D2
lock
faceplayer
setvar 0x8003 0x1
setwildbattle 0x196 0x32 0x0
checksound
cry 0x196 0x2
pause 0x28
waitcry
setflag 0x305
setflag 0x861
special 0x138
waitstate
clearflag 0x861
release
end
C'est un script de wildbattle simple, avec un Rayquaza niveau 50. Seulement une nouvelle commande :
setvar 0x8003 0x1
setvar 0x8003 "active" le caractère shiney. "0x1", on le met toujours.
En gros, cette commande ne change jamais

**2. Dans un givepokemon ou giveegg**
Spoiler
``` '--------------- #org 0x6D1492 lock setvar 0x8003 0x1 givepokemon 0x1 0x5 0x0 0x0 0x0 0x0 fanfare 0x13E msgbox 0x86D1512 MSG_FACE '"Tiens !" waitfanfare closeonkeypress release end'---------
' Strings
'---------
#org 0x6D1512
= Tiens !
Comme tout à l'heure, une seule nouvelle commande :
setvar 0x8003 0x1
Oh, c'est la même ! :o En effet, c'est exactement la même chose. Pas besoin de réexpliquer
C'est aussi la même chose avec un giveegg.

(faites pas attention au positionnement du sprite x)</details>
**3. Dans un trainerbattle**
<details><summary>Spoiler</summary>Alors là, ça se complique un peu. Mais ça reste simple :P
'---------------
#org 0x6D11D2
setvar 0x8003 0x303
trainerbattle 0x0 0x2C7 0x0 0x86D1252 0x86D12D2
msgbox 0x86D1352 MSG_FACE '"J'aime mes Pokémon !"
end
'---------
' Strings
'---------
#org 0x6D1252
= J'ai de beaux Pokémon !
#org 0x6D12D2
= Mes Pokémon !
#org 0x6D1352
= J'aime mes Pokémon !
La nouvelle commande pour faire apparaître les shineys :
setvar 0x8003 0x303
Ca change un peu, ouais, mais pas trop.
setvar 0x8003 ne bouge pas. Maintenant, voyons de plus près "0x303".
On par du fait que cette commande est au départ "setvar 0x8003 0xXXYY" ("setvar 0x8003 0x303"
On regarde notre dresseur et on voit combien il a de Pokémon. Dans mon exemple, il en a 3.
Je les représente par des zéros, un zéro pour chaque Pokémon : 000. Maintenant, choisissez le(s)quel(s) est (seront) shiney(s). Dans mon cas, seront shineys le deuxième et le troisième Pokémon.
On dit que "Caractère non shiney = 0", "Caractère shiney = 1".
Vous allez remplacer vos zéros de tout à l'heure donc par un "1", pour ceux qui seront shineys. J'obtiens "011". "011", est un chiffre binaire.
Maintenant, cherchez une calculette (sur internet, ça se trouve facilement) qui passe du binaire à l'hexadécimal. Convertissez. 011 = 3. Ce "3", on le retrouve à la place des XX dans la commande.
Maintenant, on remplace les YY.
Dans notre exemple, le dresseur a 3 Pokémon. A la place des YY, on va mettre le nombre de Pokémon que le dresseur avait, avec un "0" devant (obligatoire). J'obtient "03"
Voilà d'où vient "0x303".
  
(Pareil, faites pas attention au positionnement des sprites x)</details>
Voilà, fin du tuto ! Ne pas prendre sans mon autorisation, merci
Si vous avez des questions, je suis là
---
**Wiktooore** - 11 mai 2011 à 18:26
Je vais tester
---
**--------** - 11 mai 2011 à 18:43
On est content de le savoir.
---
**Wiktooore** - 11 mai 2011 à 21:20
Question de noob:
j'essaye de mettre un offset libre que Ksilee m'a passé mais Shinyzer ne veut pasprendre ce signe "$".
Ni les autres d'ailleurs
---
**Flower//** - 11 mai 2011 à 21:56
Le signe $ c'est juste pour certains logiciels, les offsets peuvent apparaître de différentes manières; par exemple, sur un éditeur hexadécimal, au début de l'offset tu n'aura pas de $, mais un 0x. (Enfin, je crois...)
---
**Wiktooore** - 11 mai 2011 à 21:59
Bon bah il y a pas grand choses comme signe qui marchent :(
---
**Flower//** - 11 mai 2011 à 22:10
Mais c'est parce qu'il faut rien mettre devant !
Enfin, je crois.....
---
**Mickey`** - 12 mai 2011 à 19:12
Il ne faut rien mettre dans Shinyzer. Seulement l'offset de 6 chiffres
---
**Wiktooore** - 12 mai 2011 à 19:14
J'ai reussi merci!
![[TUTO] [GBA] Faire apparaître des Pokémon shineys](/static/pokemon/hero.jpg)
