SearchForCheats.de.vu » Tutorials » Tutorial speciale #1 - Come creare un Pokémon predefinito


Tutorial speciale #1 - Come creare un Pokémon predefinito

Qualche persona si chiedeva se fosse possibile creare un Pokémon nei box con particolari statistiche. Se, ad esempio, qualcuno avesse voluto creare un gioco con un Mew obbediente, si sarebbe dovuto disattivare il bit disobbedienza. Sfortunatamente ciň non era possibile fino ad ora.

Lavoreremo con Rosso Fuoco americano v1.0
Ah, visto che si tratta di un piccolo tutorial non commenterň ogni cosa. ;-)

Okay. Lo script ASM č questo qui:

00B00000h: 00 B5 04 48 00 68 04 49 09 18 04 48 28 22 0B DF ; .µ.H.h.I...H(".ß
00B00010h: 01 BC 00 47 10 50 00 03 E4 79 00 00 00 20 B0 08 ; .Ľ.G.P..äy....°.

I vari byte hanno dei significati, naturalmente. Li spiegherň uno ad uno.

[00 B5 04 48 00 68 04 49 09 18 04 48]

Questi byte rimangono sempre uguali... calcolano la destinazione. (NON CAMBIARLI!!)

[28]

Questa č la lunghezza dei dati da copiare (in formato 16 bit).
Es.: Vogliamo copiare 80 byte, perciň si fa 80 / 2 = 40 semiparole. 40 = 0x28
(Modificabile ma, siccome i dati relativi ai Pokémon hanno sempre una lunghezza di 80 byte, non ha alcun senso inserire altri valori...)

[22 0B DF 01 BC 00 47]

Rimangono sempre identici. Copiano i dati e ritornano alla routine principale. (NON CAMBIARLI!!)

[10 50 00 03]

Mettendo i byte al contrario => 0x03005010
Questa č la locazione dell´indirizzo DMA. (NON CAMBARE!!)

[E4 79 00 00]

Definiscono in quale slot dovrŕ essere depositato il Pokémon.
Equivale a 0x4 + (80 byte * n. Pokémon).

Cosě per esempio - Box 14 Slot 1:
1 Box contiene 30 Pokémon
30 * 13 = 390

1 Pokémon corrisponde a 80 byte, quindi
390 * 80 = 31200

31200 + 4 = 31204 = 0x79E4
Questo č il valore.

[00 20 B0 08]

Rovesciando i byte => 0x08B02000
Questi dichiaro la sorgente degli 80 byte del Pokémon. In questo caso dovresti inserirli tra 0xB020000 e 0xB020050

Okay. Supponiamo che lo script ASM sia collocato all´indirizzo 0x00B00000 come il mio. Per richiamarlo in uno script dovresti usare:

23 01 00 B0 08

23 = chiamata ASM
01 00 B0 08 = locazione rovesciata dello script ASM. IMPORTANTE: dato che ho scritto una routine di tipo thumb, la locazione deve terminare con un numero dispari. Nel mio caso č 01, altrimenti basta aggiungere 1 alla locazione.

"Pokémon" ist ein eingetragenes Warenzeichen der Firma Nintendo
"Action Replay" ist ein eingetragenes Warenzeichen von Datel Interact.
© www.SearchForCheats.de.vu by Mastermind_X
© 2006 - 2008