Benvenuto Visitatore!  / Create an account







This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.
Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[Script] [FireRed] script cattura obbligatoria con prestito pokemon
#14
(04-11-2021, 07:41 PM)ThePharaoh Ha scritto: ho letto ovunque che la var 4001 è temporanea e si resetta col cambio mappa, magari non la userò più in quella mappa.
Si le var 4000, 4001 ed altre successive, e le var 8000 ed altre successive si resettano al cambio mappa. Questo vuol dire che possono essere riutilizzate in più ambiti.
La mia perplessità è che la wildbattle venga intesa come cambio mappa (non dovrebbe) e quindi riporterebbe quelle var al valore zero (in pratica ad ogni cambio mappa è come se scrivessi, per esempio setvar 0x8000 0x0), ma più probabilmente che la var 8003 sia automaticamente riportata a 0 ddalla routine per il pokémon shiny dopo che ha reso brillante il pokémon. In questo caso ci sarebbero problemi nello script sia per l'assegnazione del pokémon, perché resettando la var 4001 ti verrebbe dato il pokémon 0, che non esiste, sia per lo shiny, perché la var 8003 tornerebbe 0 e quindi sempre non shiny. Per ovviare a questo puoi usare al posto della var 4001 una var non temporanea, cioè che anche al cambio mappa conserva il valore (es. 4050 è una var non temporanea), mentre nel secondo caso, dato che bisogna per forza utilizzare la var 8003, si salva quel valore assegnato anche in una var non temporanea, per poi rimettere il valore con l'esempio del copyvar che ti ho scritto prima.


(04-11-2021, 07:41 PM)ThePharaoh Ha scritto: ma se uso la flag 0x828 sullo sprite che è uguale anche alla flag del menù pokemon, non succede niente?
Allora te immagina la flag come un interruttore acceso/spento. Se è accesa succedono varie cose, se spenta altre. A questo interruttore si possono collegare più fili che ovviamente risentiranno tutti del acceso/spento. Se collego 8 luci ad un interruttore ovviamente tutte ed 8 dipenderanno da quello stesso interruttore.
Nel nostro caso "collego" la flag 828 sia al menu pokémon (cioè questo in realtà lo fa chi ha creato il gioco), che allo sprite del professore. Quindi quando la flag è a zero (spenta) non vedo la scritta Pokémon nel menu, ma vedo il personaggio del professore. Quando la setto (setflag 0x1), attivo la voce del menu ma nascondo il professore.
Per assurdo potrei fare uno script per utilizzate quella flag per il menu pokémon, nascondere il professore, togliere l'ow di un altro omino che bloccava la via finché non avevo un pokémon, e fare molte altre azioni. Ovviamente TUTTE queste azioni cambiano a seconda che la flag sia settata oppure no.

(04-11-2021, 07:41 PM)ThePharaoh Ha scritto: però rimarrebbe il problema dello sprite che dovrebbe essere già lì
Non puoi spostare un ow da una mappa all'altra, quindi nel gioco di rosso fuoco, quando oak ti ferma che entri nell'erba alta e ti porta al laboratorio per poi assegnarti il pokémon, abbiamo in realtà 2 oak, uno a biancavilla ed uno nel laboratorio, non è che quello di biancavilla che entra dentro la porta poi lo ritrovi nel laboratorio, è solo un'illusione, sono due ow diversi e distinti.
Te devi mettere un ow del professore già lì. Se vuoi che non si veda puoi usare l'hidden, (che non capisco perché diciate sia buggato...se utilizzate l'hidden 0xC ovvio che non funziona, serve ad altro, dovete usare l'hidden 0x3F e funziona benissimo), oppure allo sprite dai la flag 2B oppure 2C o altre che sono già settate ad inizio partita, quindi dovrai usare un clearflag 0x2B ed uno showsprite per farlo apparire. Se non sbaglio nel warp puoi impostare il warp da cui esce il player, quindi si gira verso la direzione giusta.
 Mi Piace Ricevuti: 
ThePharaoh likes this post
Cita messaggio }


Messaggi in questa discussione
RE: [FireRed] script cattura obbligatoria con prestito pokemon - da eMMe97 - 04-11-2021, 10:09 PM



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