Questa discussione è chiusa  
Cambiare i pokemon in squadra dopo un evento
Jolteon13
Nuovo Arrivato
*

Messaggi: 41
Registrato: 05-09-2016
Reputazione: 0
Mi Piace Ricevuti: 8
PokéMoney: 150.00₱
Messaggio: #1
Shocked Cambiare i pokemon in squadra dopo un evento
Anche se il titolo dice già tutto…

Ho bisogno di un aiuto:

Nella mia hack, dopo che è successo un certo evento, il pokemon della squadra del giocatore sparirà per poi essere sostituito sa un altro.
Come posso fare?

Ah! Un ultima cosa…

Si può cambiare lo sprite di un pokemon, sostituendolo con un altro, nel corso del gioco?

[/spoiler]
22-12-2018 02:39 PM
Cerca
Valley
Nuovo Arrivato
*
Offline

Messaggi: 42
Registrato: 14-12-2018
Reputazione: 1
Mi Piace Ricevuti: 22
PokéMoney: 124.25₱
Messaggio: #2
RE: Cambiare i pokemon in squadra dopo un evento
Premetto che sono nabbo, provo però a rispondere (anche perché così capisco, con le risposte degli esperti, se il mio ragionamento fila).

Per il primo problema puoi usare la routine di @Bonnox che permette di rimuovere un pokémon indicando la posizione nella squadra.
Per dare un pokémon puoi usare il comando "givepokémon".

Per capire quale pokémon togliere, ad esempio se vuoi togliere un determinato pokémon (es Pikachu), puoi fare una serie di check:
Penso si possa controllare se il pokémon "0xn° pokémon in esadecimale" è nella posizione 0 in squadra, se non c'è si controlla la posizione 1, poi 2, fino a 5 (così controlli tutte e 6 le posizioni).
Se lo trova avvia la routine che lo toglie (e usi una variabile per indicare la posizione esatta in modo dinamico: es. lo script individua Pikachu alla posizione 3 (quindi la 4 su 6, perché si parte da 0), salva il valore nella variabile 0x800D (che è quella che serve alla routine)).
Infine con givepokémon aggiungi il nuovo pokémon.

Per cambiare colore penso si possa fare sempre via ASM e XSE. Con ASM crei la routine che cambia il colore (cambiando pallete(?)), poi con XSE avvii la routine al momento che vuoi (es. dopo 2 vittorie).
Ma già qui non so bene come funzioni ancora.


Se qualche maestro legge può dire se fila il mio ragionamento?
(Questo messaggio è stato modificato l'ultima volta il: 22-12-2018 03:57 PM da Valley.)
22-12-2018 03:57 PM
Cerca
 Mi piace ricevuti da: Bonnox , Flygon
Jolteon13
Nuovo Arrivato
*

Messaggi: 41
Registrato: 05-09-2016
Reputazione: 0
Mi Piace Ricevuti: 8
PokéMoney: 150.00₱
Messaggio: #3
RE: Cambiare i pokemon in squadra dopo un evento
Grazie @Valley
Ho capito che devo fare nello stesso modo anche per la seconda cosa
22-12-2018 06:11 PM
Cerca
Valley
Nuovo Arrivato
*
Offline

Messaggi: 42
Registrato: 14-12-2018
Reputazione: 1
Mi Piace Ricevuti: 22
PokéMoney: 124.25₱
Messaggio: #4
RE: Cambiare i pokemon in squadra dopo un evento
Figurati, poi magari se qualche utente bravo da conferma sarebbe top Big Grin
22-12-2018 07:15 PM
Cerca
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,428
Registrato: 09-10-2014
Reputazione: 22
Mi Piace Ricevuti: 1476
PokéMoney: 1,780.25₱
Messaggio: #5
RE: Cambiare i pokemon in squadra dopo un evento
Sarebbe opportuno specificare quale ROM utilizzi, se firered oppure ruby o emerald. Questo perché per ogni versione non si può utilizzare lo stesso metodo o routine ASM.
Una volta detto questo devi indicare se il Pokémon in squadra che vuoi sostituire con un altro debba sparire per sempre o essere sostituito momentaneamente e se il pokémon acquisito debba avere caratteristiche particolare, come, per esempio lo stesso livello di quello rimpiazzato.

Per quanto riguarda il machamp è possibile fare quello che chiedi, tramite ASM ovviamente. In teoria dovrei essere capace anche io a farlo, ma solo per firered. Non capisco molto l'utilità di questo cambiamento (tra le altre cose richiede conoscenze avanzate), ma avrai le tue buone ragioni xD
23-12-2018 04:02 PM
Cerca
 Mi piace ricevuti da: Valley
Jolteon13
Nuovo Arrivato
*

Messaggi: 41
Registrato: 05-09-2016
Reputazione: 0
Mi Piace Ricevuti: 8
PokéMoney: 150.00₱
Messaggio: #6
RE: Cambiare i pokemon in squadra dopo un evento
@eMMe97
Uso firered e quello di Machop era solo un'esempio stupidoPacman
Ho capito che con lo stesso metodo posso fare entrambe le cose (basta che il giocatore capisca che il pokemon non è cambiato)
Comunque… grazie per avermi detto tutto ^^
Ora so come fare
23-12-2018 04:18 PM
Cerca
Bonnox
Signore del Tempo un po' imbranato
*****
Offline

Messaggi: 1,950
Registrato: 06-07-2014
Reputazione: 8
Mi Piace Ricevuti: 466
PokéMoney: 2,173.00₱
Messaggio: #7
RE: Cambiare i pokemon in squadra dopo un evento
i pokemon possono cambiare colore solo diventando shiny, in questi giochi ufficiali non esiste un'altra funzione per cambiare colore. Sicuramente con RPG maker è molto più facile aggiungere colori. Con le ROM invece è un'impresa.

Supponendo che tu voglia far diventare un pokemon shiny, devi dare un'occhiata a questo
https://bulbapedia.bulbagarden.net/wiki/...ration_III

questa pagina spiega in gran dettaglio i bit e byte da modificare per ottenere certi effetti sui pokemon. E' un processo molto delicato.

Ricordati che gli shiny sono dati da particolari combinazioni di quei valori. un valore tipo il "numero seriale" di un pokemon, se non vado errato, o forse gli IV
https://bulbapedia.bulbagarden.net/wiki/Shiny_Pokémon

devo ammettere che era nelle mie intenzioni realizzare una routine per decriptare i pokemon (perchè le informazioni più importanti della data structure sudetta sono criptate), ma per un motivo o per l'altro non sono mai riuscito a finalizzarla. Potrei provare in C ?

magari @Andrea conosce qualcuno che l'ha già fatta?
(Questo messaggio è stato modificato l'ultima volta il: 24-12-2018 07:31 PM da Bonnox.)
24-12-2018 07:28 PM
Cerca
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,428
Registrato: 09-10-2014
Reputazione: 22
Mi Piace Ricevuti: 1476
PokéMoney: 1,780.25₱
Messaggio: #8
RE: Cambiare i pokemon in squadra dopo un evento
A parte che ha scritto di aver già risolto...ma comunque non ha detto che vuole farlo diventare shiny, ha detto solo che vuole creare l'effetto di cambiare il colore. Può benissimo cambiare lo sprite con un altro o cambiare direttamente pokémon dando l'illusione che sia lo stesso pokémon che abbia cambiato colore.
Al momento nessuno è riuscito a convertire un pokémon in shiny da uno già ottenuto.
24-12-2018 09:52 PM
Cerca
Jolteon13
Nuovo Arrivato
*

Messaggi: 41
Registrato: 05-09-2016
Reputazione: 0
Mi Piace Ricevuti: 8
PokéMoney: 150.00₱
Messaggio: #9
RE: Cambiare i pokemon in squadra dopo un evento
La mia intenzione era cambiare lo sprite con un altro, ma ho pensato semplicemente di creare due pokemon con lo sprite simile e poi usare il comando di rimozione e givepokemon
@Bonnox e @eMMe97

ecco i due sprite:
[Immagine: 5kojrt.jpg]

[Immagine: 2z6e8zq.png]
(Questo messaggio è stato modificato l'ultima volta il: 25-12-2018 11:36 AM da Jolteon13.)
25-12-2018 11:34 AM
Cerca
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,428
Registrato: 09-10-2014
Reputazione: 22
Mi Piace Ricevuti: 1476
PokéMoney: 1,780.25₱
Messaggio: #10
RE: Cambiare i pokemon in squadra dopo un evento
L'idea di utilizzare due pokémon "simili" caratterizzati solo dal cambio di sprite è ciò che avrei fatto anche io. Avrei poi proceduto con una routine asm che cambi l'ID del pokémon in questione facendogli assumere l'identità del secondo, in questo modo conservi soprannome, livello e vari attacchi.
25-12-2018 09:27 PM
Cerca
 Mi piace ricevuti da: Valley
Andrea
...
******
Offline

Messaggi: 825
Registrato: 12-06-2014
Reputazione: 31
Mi Piace Ricevuti: 1134
PokéMoney: 3,407.25₱
Messaggio: #11
RE: Cambiare i pokemon in squadra dopo un evento
Come ha suggerito @eMMe97, il metodo più veloce è quello di utilizzare due pokémon differenti.
Il mio consiglio è quello di utilizzare un paio di routine asm realizzate da alcuni utenti di Pokecommunity:
https://www.pokecommunity.com/showpost.p...tcount=547
Una volta settata la variabile 0x8004 con l'index del primo pokemon, la routine fornirà il numero dello slot in cui è contenuto (da a 0 a 5) all'interno della variabile 800D (0xFF se non è presente in squadra).
Successivamente, è necessario utilizzare la seguente routine:
https://www.pokecommunity.com/showpost.p...stcount=34
Prima di poter richiamarla, la variabile 0x8004 dovrà essere settata con il numero dello slot della squadra in cui è contenuto il pokémon da cambiare, mentre la 0x8005 dovrà contenere l'index del nuovo pokémon che andrà a sostituire quello vecchio.
Inoltre, siccome l'index dello slot è salvato nella variabile 0x800D, ti consiglio di utilizzare un copyvar per copiare il contenuto di tale variabile nella 0x8004.
Se non sai come inserire una routine asm, ti consiglio di consultare questa guida:
http://www.pokemonhacking.it/showthread.php?tid=54
Spero ti sia stato d'aiuto!
27-12-2018 08:21 PM
Cerca
 Mi piace ricevuti da: eMMe97 , Bonnox
Questa discussione è chiusa  




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