Questo Forum utilizza i Cookies
Questo Forum fa uso di Cookies per memorizzare le informazioni di login se sei registrato o sulla tua ultima visita se non siete registrati. I Cookies sono piccoli documenti di testo memorizzati sul vostro computer; i Cookies impostati dal Forum possono essere utilizzati solo su questo sito e non costituiscono rischio per la sicurezza. I Cookies su questo forum servono anche a monitorare gli argomenti specifici che hai letto. Si prega di confermare se accettare o rifiutare i Cookies impostati.

Un cookie verrà memorizzato nel browser indipendentemente dalla scelta, per evitare che il Forum faccia nuovamente questa domanda. Sarete in grado di modificare le impostazioni dei cookies in qualsiasi momento tramite il link a piè di pagina

Rispondi 
[Rosso fuoco] [ASM & HEX] Aumentare la difficolt√† di una determinata lotta
PacoScarso
Massive Ego
******
Offline

Messaggi: 892
Registrato: 03-07-2014
Reputazione: 26
Mi Piace Ricevuti: 1078
Pok√©Money: 5,030.00‚āĪ
Messaggio: #1
[ASM & HEX] Aumentare la difficoltà di una determinata lotta
PREMESSA:
Questa guida nasce dalla mia necessit√† di sviluppare una simil-battle facility (quelle del Parco Lotta, per intenderci) su Climax. Dopo aver fatto un po' di ricerche qua e l√† ho trovato tutto ci√≤ che mi serviva e mi sembra giusto riportarlo qui, sia perch√© potrebbe aiutare altri utenti che vogliono dare quel pizzico in pi√Ļ di sfida a certe battaglie, sia per evitare che mi dimentichi di queste cose in futuro.
Perché diciamocelo, facciamo le guide anche per non dimenticarci di quello che abbiamo appena fatto/inserito.

Detto questo, andiamo con ordine; in questa guida troverete le seguenti migliorie:
  • Disabilitare l'esperienza ricevuta in battaglia;
  • Disabilitare l'uso della borsa in battaglia;
  • Impostare il battle style a Set;
  • Ripristinare gli strumenti usati in battaglia.

X_X DISABILITARE L'ESPERIENZA RICEVUTA IN BATTAGLIA X_X


Crediti a FBI.
Questa routine funziona in modo semplice ma efficace: in pratica, tramite l'attivazione di una flag, fa credere al gioco che il nostro team abbia già raggiunto il livello 100, evitando così che ci venga data esperienza o compaia il messaggio "Hai ottenuto X punti esperienza."

Compilate e inserite la seguente routine in uno spazio vuoto della vostra rom il cui offset termina con 0, 4, 8 o C. Segnatevelo da qualche parte perch√© ci servir√† pi√Ļ tardi.

Lascio qui la versione già compilata nel caso in cui non siate pratici.
Citazione:0F B4 FF 20 40 00 04 30 07 4A 00 F0 0C F8 01 28 04 D0 0F BC 64 28 02 D0 04 48 00 47 0F BC 29 68 53 31 08 78 02 4A 10 47 D1 E6 06 08 25 1D 02 08 05 1D 02 08

Sempre sull'Hex Editor (consiglio HxD), andate all'offset 0x21CFA e inserite i seguenti byte.
Citazione:00 00 00 49 08 47 XX XX XX 08
Dove al posto di XX XX XX dovete mettere l'indirizzo in cui avete messo la vostra routine, in little endian+1.
Se non sapete cosa sia il little endian, vi lascio una spiegazione terra-terra qui sotto.

Ora per attivare questa routine non dovete far altro che usare il comando:
Citazione:setflag 0x202
mentre per disattivarla:
Citazione:clearflag 0x202

X_X DISABILITARE L'USO DELLA BORSA IN BATTAGLIA X_X


Crediti a daniilS.
Anche per questa utilizzeremo una flag per attivare o disattivare questo impedimento; grazie a questa routine se durante la lotta proveremo ad aprire la borsa, comparirà a schermo il seguente messaggio. (Se volete editarlo basta andare a cercare il testo in memoria e fare un repoint).

[Immagine: QlAi7e9.png]

Detto questo, compilate ed inserite la routine all'offset 0x143D4 sovrascrivendo i byte già esistenti (usate CTRL+B, non CTRL+V).

Fatto ciò andate all'offset 0x14410 e mettete la flag che volete utilizzare come interruttore per questa routine in half-word.
Spiegone:

La routine viene attivata usando il comando:
Citazione:setflag 0xnumerodellavostraflag
e verrà disattivata con:
Citazione:clearflag 0xnumerodellavostraflag

X_X IMPOSTARE IL BATTLE STYLE A SET X_X


Crediti a Squeetz.
Spesso la possibilità di cambiare Pokémon in risposta allo switch-in dell'avversario ci porta in un vantaggio mostruoso, quasi ingiusto. E se volessimo togliere questo vantaggio?

Inserite la seguente routine già compilata in un'offset libero che termini con 0, 4, 8 o C e segnatevelo da qualche parte.
Citazione:29 00 FE F4 03 02 AA 92 87 1D 08 2B 04 D0 3D 02 02 00 00 40 00 92 87 1D 08 28 35 87 1D 08

Ora andate all'offset 0x1D8727 e inserite i seguenti byte.
Citazione:28 XX XX XX 08
Dove al posto di XX XX XX dovete mettere l'indirizzo della routine appena inserita, ma in little endian+1.

Bon, abbiamo praticamente finito, e non dobbiamo nemmeno usare una flag!
Per attivarlo basta usare il seguente comando prima che cominci la battaglia:
Citazione:writebytetooffset 0xAA 0x203F4FE
E questo per disattivarlo a fine battaglia:
Citazione:writebytetooffset 0x00 0x203F4FE

X_X RIPRISTINARE GLI STRUMENTI USATI IN BATTAGLIA X_X


Non essendoci routine da inserire o Hex editing da fare non devo dar crediti a nessuno, per una volta.
Utilizzeremo un comando di XSE, ovvero lo special 0x?
Giustamente mi chiederete in che modo, well:
  • special 0x27 ---> Salva in memoria tutto ci√≤ che riguarda la nostra squadra, come PS attuali, strumenti tenuti e via dicendo;
  • special 0x28 ---> Carica i dati del team salvato tramite lo special 0x27.

Applicare questi special è molto semplice: basta usare lo 0x27 prima di una battaglia e lo 0x28 dopo la battaglia.

Our Projects (ongoing)


[Immagine: tumblr_npqfq38PKG1tp2yqno6_400.png]
08-02-2021 07:53 PM
Cerca Cita
 Mi piace ricevuti da: Trishula17 , Zephyr_ , s n a r m p h , Avon , Flygon , Bonnox , Andrea , IvanFGK , Truse97 , MegaTorterra
Rispondi 




Utente(i) che stanno guardando questa discussione: 1 Ospite(i)
Powered by MyBB, © 2002-2021 MyBB Group. Copyright ¬© | 2021 Pok√©mon Hacking