Benvenuto Visitatore!  / Create an account

Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[Script] [FireRed] script cattura obbligatoria con prestito pokemon
#37
(25-11-2021, 12:18 AM)eMMe97 Ha scritto: Onestamente non so come funzioni la routine per rendere il pokémon shiny, sicuro non vada richiamata con un callasm o qualcosa del genere?
Altro dubbio: sicuro tu abbia installato la routine?
Fai una prova molto semplice. Crea uno script di una wildbattle sicuramente shiny, se non lo hai già fatto, così vedi se dipende dallo script o da altro.

nono basta settare la var, ho già uno script prima di questo dove ho bisogno di uno shiny sicuro e funziona, anche perché è installato con shinyzer, che ho preso dalle guide qui sul forum. [click]
dico che sembra resettata la var perché la prima volta l'ho trovato shiny e poi non più. però mi pare strano che sia resettata perché si sarebbe dovuta resettare anche la 4001 e quella invece funziona bene. magari è sfortuna, semplicemente svitato

forse ho capito, forse eh, dimmi se sbaglio.
lo script impostato in questo modo credo che faccia il random dello shiny la prima volta giustamente. Ma quando fa il rebattle dopo il ko avversario o la fuga, insomma dopo lo special, non riesegue più il controllo perché non passa più da quell'istruzione essendo prima della @battaglia. ci sta?

Esatto avevo ragione, lo script quando c'era il rebattle non faceva più il controllo dello shiny perché l'istruzione ripartiva da dopo il random per lo shiny, quindi non settava la var 8003. Questo lo script (il pezzo interessato) modificato che funziona (lo posto come se fossi tu ad averne bisogno Tongue ma è solo per correttezza, magari poi può sempre servire):

E quindi nulla, problemi risolti finalmente e potrei dire che si può anche chiudere questo topic Ow dance
e ora sappiamo anche per certo che le var temporanee con le battle non vengono resettate, non le conta come cambio mappa.
p.s.: comunque i level script sono un po' un dito in ...
nel senso che ad un certo punto ho dovuto cambiare a mano i byte su HxD perché il removeall intanto mi lasciava dei residui di byte sparsi, e poi gli offset di mappa cambiavano ogni volta, ma quelli vecchi tenevano traccia dell'offset che davo allo script, e usando sempre lo stesso offset (tanto usando il removeall liberavo lo spazio che avevo usato) l'ho ritrovato su più offset di mappa (quelli con 7xxxxx) ed entravano in conflitto, quando sono fuggito l'ultima volta mentre provavo mi diceva che il pokemon aveva usato fune di fuga Pacman
Ma tutto è bene quel che finisce bene Cool

OH NO c'è un problemissimo Facepalm
Il pokemon che esce shiny nella wildbattle, una volta catturato è normale e non più shiny O.O già, perché viene ridato dopo aver eliminato la squadra...
 Mi Piace Ricevuti: 
Cita messaggio }
#38
Prova a fare queste modifiche:

#org @Shiny
setvar 0x8003 0x1
setvar 4013 0x1
return

Prima del comando givepokemon scrivi:

copyvar 0x8003 0x4013

Probabilmente la variabile 8003 si resetta veramente. Ho utilizzato la variabile che usi per il level script, tanto alla fine viene reimpostata correttamente e non darà problemi.
 Mi Piace Ricevuti: 
ThePharaoh likes this post
Cita messaggio }
#39
(25-11-2021, 11:07 AM)eMMe97 Ha scritto: Prova a fare queste modifiche:

#org @Shiny
setvar 0x8003 0x1
setvar 4013 0x1
return

Prima del comando givepokemon scrivi:

copyvar 0x8003 0x4013

Probabilmente la variabile 8003 si resetta veramente. Ho utilizzato la variabile che usi per il level script, tanto alla fine viene reimpostata correttamente e non darà problemi.

quasi! Tongue
avevo provato con lo shiny e ti stavo per dire "problema risolto Cool" poi però mi è venuto in mente di provare con il pokemon non shiny e... con lo script così il pokemon restituito sarà sempre shiny anche se era catturato normale. in pratica si è rovesciato il problema: prima lo ridava sempre normale e adesso lo ridà sempre shiny.

Penso che dovrei fare un pointer @noshiny (quindi con la var 8003 0x0) e mettere anche lì il copyvar. forse così dovrebbe andare prendendo entrambi i valori della var 8003
no non va neanche così, è sempre shiny anche se si cattura normale
 Mi Piace Ricevuti: 
Cita messaggio }
#40
Metti proprio subito ad inizio script, dopo i lockall setvat 0x4013 0x0.
Ti da sempre shiny perché di base la var 4013 è settata su 0x2 presumo…
 Mi Piace Ricevuti: 
Cita messaggio }
#41
(25-11-2021, 07:21 PM)eMMe97 Ha scritto: Metti proprio subito ad inizio script, dopo i lockall setvat 0x4013 0x0.
Ti da sempre shiny perché di base la var 4013 è settata su 0x2 presumo…

e lascio il setvar 4013 0x1 nel pointer @Shiny dopo il setvar 8003 0x1?
 Mi Piace Ricevuti: 
Cita messaggio }
#42
Si, ti spiego per bene.
Come hai visto la var 8003 si resetta con la lotta, quindi bisogna usare un’altra variabile. Ho optato per la 4013 perché è quella che già utilizzi.
Ovviamente ad inizio dello script sarà impostata su 0x2, dato che alla fine la imposti 0x3.
Quindi si imposta all’inizio 0x0 così da usarla per il pokémon non shiny, se invece dopo il random il pokémon diventa shiny viene impostata su 0x1. Alla fine su 0x3 e lo script non si ripete.
Ora è importante impostarla a 0x1 e non lasciarla a 0x2, perché ho visto il funzionamento di shinyzer o come si chiama, e lasciandola 0x2 si avrebbe anche il pokémon successivo shiny.
 Mi Piace Ricevuti: 
ThePharaoh likes this post
Cita messaggio }
#43
(26-11-2021, 07:52 PM)eMMe97 Ha scritto: Si, ti spiego per bene.
Come hai visto la var 8003 si resetta con la lotta, quindi bisogna usare un’altra variabile. Ho optato per la 4013 perché è quella che già utilizzi.
Ovviamente ad inizio dello script sarà impostata su 0x2, dato che alla fine la imposti 0x3.
Quindi si imposta all’inizio 0x0 così da usarla per il pokémon non shiny, se invece dopo il random il pokémon diventa shiny viene impostata su 0x1. Alla fine su 0x3 e lo script non si ripete.
Ora è importante impostarla a 0x1 e non lasciarla a 0x2, perché ho visto il funzionamento di shinyzer o come si chiama, e lasciandola 0x2 si avrebbe anche il pokémon successivo shiny.

Capito, ora provo
@eMMe97 evviva ora funziona dance grazie di tutto Ow
però c'è un piccolo però, diciamo ininfluente, potrei cambiare qualcosina:
ridandomi il pokemon dopo averlo eliminato, è nella pokeball invece che nella masterball. ASM per decidere i parametri del pokemon ridato (anche perché non ho fatto caso se la prima volta che viene catturato magari maschio poi lo ridà maschio oppure diventa casuale)?
Altrimenti potrei cambiare che mi dà le pokeball invece della masterball

ah e un'altra domandina: c'è un modo per non far venire la schermata del pokedex se il pokedex ancora non l'ho settato? cioè, in questo script io catturo il pokemon prima di settare la flag del pokedex (che lo so è solo la voce nel menù), ma catturandolo mi viene fuori "dati inseriti nel pokedex ecc...". si può disattivare solo per appunto questa cattura?
 Mi Piace Ricevuti: 
Cita messaggio }
#44
Tutte le tue domande hanno come risposta: asm.
Puoi modificare la ball di cattura, rendere le pokeball infallibili in questo specifico caso e disattivare momentaneamente la funzione di registrazione del pokedex.
 Mi Piace Ricevuti: 
Cita messaggio }
#45
(26-11-2021, 10:11 PM)eMMe97 Ha scritto: Tutte le tue domande hanno come risposta: asm.
Puoi modificare la ball di cattura, rendere le pokeball infallibili in questo specifico caso e disattivare momentaneamente la funzione di registrazione del pokedex.

ecco, mi sa che dovrò iniziare a capirci qualcosa allora svitato
 Mi Piace Ricevuti: 
Cita messaggio }




Utenti che stanno guardando questa discussione: 1 Ospite(i)