GUIDA ALLO SCRIPTING
PARTE 1: Gli script in generale
PROGRAMMI NECESSARI: XSE (consigliato); Advance Map (consigliato) scaricabili da
qui
Ora vi spiegherò come fare per creare tre semplici script, che sono anche quelli fondamentali: lo script per creare un dialogo, quello per ricevere oggetti/pokèmon e quello per creare un combattimento in stile pokèmon leggendari.
Prima iniziamo con quei comandi che vanno bene per tutti e tre gli script sopra nominati:
ogni script inizia con un comando, e cioè #dynamic, che cerca un offset libero.
#dynamic
Ora inseriamo il comando #org per iniziare lo script e scriviamo il nome dell’offset (che noi chiameremo pointer)
#dynamic
#org @pointer
A questo punto inseriamo i comandi lock e faceplayer che fanno, rispettivamente, fermare il personaggio e fanno girare l’omino (people) a cui si sta parlando. Ora lo script dovrebbe essere così:
#dynamic
#org @pointer
lock
faceplayer
Per ora, questo script può andare bene con tutti e tre i tipi sopra descritti.
Per chiudere uno script usate i comandi release e end, in questo modo:
#dynamic
#org @pointer
lock
faceplayer
…
release
end
[color=" red"]PARTE 2: I dialoghi
Partite sempre dallo script iniziale di prima. Ora aggiungeteci il comando loadpointer che farà apparire il messaggio che deciderete dopo:
#dynamic
#org @pointer
lock
faceplayer
loadpointer 0x0 @msg
Per chiudere la schermata dove è visualizzato il testo, scrivere boxset 0x6:
#dynamic
#org @pointer
lock
faceplayer
loadpointer 0x0 @msg
boxset 0x6
Ora chiudete lo script. Esso, a questo punto, dovrebbe essere così:
#dynamic
#org @pointer
lock
faceplayer
loadpointer 0x0 @msg
boxset 0x6
release
end
Come avrete notato, non abbiamo ancora specificato il messaggio. Per fare ciò, digitate il comando #org @msg e un “=” e poi scriveteci il messaggio che volete far comparire.
#dynamic
#org @pointer
lock
faceplayer
loadpointer 0x0 @msg
boxset 0x6
release
end
#org @msg
= Scrivi il messaggio
Ora cliccate sul pulsante compile (gli ingranaggi) e in fondo copiatevi l’offset (codice) chiamato “pointer”. Aprite Advance Map ed incollatelo alla voce offset, dopo la $, del people.
N.B: Se il testo sarà troppo lungo, uscirà dalla schermata. Per evitare ciò, inserite questi simboli: \n e \p, che vogliono dire “vai a capo” e “pulisci testo”. Il primo va usato, generalmente, ogni 30-31 caratteri; il secondo invece dopo ogni punto, tranne quello finale.
PARTE 3: Combattimenti in stile leggendario
Ora vi spiegherò come creare una battaglia in stile legend, con un pokèmon qualsiasi. Come al solito, prendiamo come base lo script generale che abbiamo fatto nella parte 1. Poi aggiungiamo il comando cry ed il numero del pokèmon secondo il pokèdex nazionale.
#dynamic 0x800000
#org @pointer
lock
face player
cry 0x ’n° dex naz.’ 0xA1
Per fermare il verso del pokèmon, digitiamo waitcry.
#dynamic 0x800000
#org @pointer
lock
face player
cry 0x ’n° dex naz.’ 0xA1
waitcry
Ora, riprendiamo il comando usato nei dialoghi (cioè il loadpointer) e inseriamo il testo che volete che compaia quando premete A sul people del pokèmon (o minisprite).
#dynamic 0x800000
#org @pointer
lock
face player
cry 0x ’n° dex naz.’ 0xA1
waitcry
loadpointer 0x0 @msg
boxset 0x6
Arrivati a questo punto, inseriamo il comando più importante, e cioè quello che fa effettivamente iniziare la battaglia.
#dynamic 0x800000
#org @pointer
lock
face player
cry 0x ’n° dex naz.’ 0xA1
waitcry
loadpointer 0x0 @msg
boxset 0x6
wildbattle 0x ‘n° dex naz.’ 0x ‘livello’ 0x ‘oggetto tenuto’ 0x ‘scenario’
N.B: tutti i numeri vanno inseriti con il sistema esadecimale
N.B: se il pokèmon contro cui volete combattere non tiene nessun oggetto, inserite 0 nello spazio. Per trovare il numero da inserire nello spazio dello scenario, fate uno script a caso e fate delle prove (io so soltanto che il numero 2 corrisponde ad una battle sull’erba)
Ora chiudete lo script e specificate il messaggio che volete che compaia (di solito è il verso):
#dynamic 0x800000
#org @pointer
lock
face player
cry 0x ’n° dex naz.’ 0xA1
waitcry
loadpointer 0x0 @msg
boxset 0x6
wildbattle 0x ‘n° dex naz.’ 0x ‘livello’ 0x ‘oggetto tenuto’ 0x ‘scenario’
release
end
#org @msg
= messaggio
A questo punto, fate la solita procedura: compile, copiate l’offset chiamato pointer ed inseritelo in a-map alla voce offset del vostro people. Se il minisprite del vostro pokèmon non esiste nella rom, prima dovrete crearlo, usando il programma Overworld Editor (funzionante con R\Z\S\RF\VF di qualsiasi lingua)
PARTE 4: Ricevere oggetti e pokèmon
In questa quarta ed ultima parte, vi spiegherò come creare uno script per far sì che il vostro personaggio riceva un oggetto o un pokèmon parlando con un altro personaggio. Prendete, ovviamente, come parte iniziale dello script quello fatto precedentemente e, dopo aver inserito il messaggio con il comando loadpointer, inserite il comando giveitem (per ricevere un oggetto) o il comando givepokemon
senza l’accento sulla e (pokèmon) e il vostro script dovrebbe essere così:
#dynamic 0x800000
#org @pointer
lock
face player
loadpointer 0x0 @msg
boxset 0x6
giveitem 0x ‘n° dell’oggetto’ 0x ‘quantità’ 0x0
OPPURE
#dynamic 0x800000
#org @pointer
lock
face player
loadpointer 0x0 @msg
boxset 0x6
givepokemon 0x ‘n° dex naz.’ 0x ‘livello’ 0x ‘oggetto tenuto’ 0x0 0x0 0x0
Sicuramente avrete notato i tre zeri alla fine del comando givepokemon: non so a cosa servono, ma quelli NON dovete toglierli, perchè altrimenti lo script non funzionerà (non mi ricordo più se bisogna metterli anche con giveitem, ma credo di no :look:).
Ora chiudete lo script, specificate il messaggio e rifate la solita operazione con l’offset.
#dynamic 0x800000
#org @pointer
lock
face player
loadpointer 0x0 @msg
boxset 0x6
giveitem 0x ‘n° dell’oggetto’ 0x ‘quantità’ 0x0
release
end
#org @msg
= scrivi messaggio
OPPURE
#dynamic 0x800000
#org @pointer
lock
face player
loadpointer 0x0 @msg
boxset 0x6
givepokemon 0x ‘n° dex naz.’ 0x ‘livello’ 0x ‘oggetto tenuto’ 0x0 0x0 0x0
release
end
#org @msg
= scrivi messaggio
Come al solito, i numeri sia del giveitem, sia del givepokemon, vanno scritti in esadecimale.
N.B: se il pokèmon ricevuto è il vostro primo pokèmon, per far sì che nel menu appaia il comando POKEMON, occorre inserire una flag, che è: setflag 0x800 (ruby), 828 (fire red), 860 (emerald). Se, invece, vorrete che un personaggio vi doni il POKèDEX, dopo aver inserito il suo numero nle comando giveitem, inserite questo comando: setflag 0x801 (ruby), 829 (fire red), 861 (emerald). Così, aprendo il menu start, vi apparirà in alto la scritta POKèDEX.
Purtroppo, per la lista degli oggetti ci vorrà tempo, in quanto un dannato, infame virus ha infettato il mio pc a cui ora non posso più accedere. Comunque, potete controllarvela da soli: basta andare su a-map, aprite la rom in cui volete creare quello script, cliccate su eventi, aggiungete uno strumento nascosto. Nella parte destra vi verrà fuori una schermata con la lista degli oggetti.
Non ho mai provato, ma so per certo che esiste anche un comando chiamato givegg o giveegg, che vi dona un uovo. Probabilmente, lo script è lo stesso, solamente che al posto del comando givepokemon dovete inserire givegg\giveegg. Se volete controllare meglio, andate su a-map, aprite la rom di ruby, aprite la mappa di cuordilava e andate sulla donnna che vi dona l’uovo di wynaut (cliccando su eventi). Ora, andate su apri script (impostate XSE dal menu di a-map) e controllate il comando.
PARTE 5: Esempi di script
Come ultimissima cosa, vi farò un esempio di tutti i tipi di script che vi ho spiegato:
1) Dialogo
#dynamic 0x800000
#org @pointer
lock
faceplayer
loadpointer 0x0 @msg
boxset 0x6
release
end
#org @msg
= Ciao, io mi chiamo [RIVAL] e\n sono la figlia del PROFESSOR\n BIRCH.\p Il mio sogno è quello di\n diventare amica di tutti i\n POKèMON.
Questo è un possibile script da inserire al primo incontro con Vera.
2) Combattimento
#dynamic 0x800001
#org @pointer
lock
faceplayer
cry 0x97
waitcry
loadpointer 0x0 @msg
boxset 0x6
wildbattle 0x97 0x32 0x0 0x2
release
end
#org @msg
= Meeeeeww!
Come avrete capito dal verso, questo è uno script per iniziare una battle con mew, al livello 50, senza nessun oggetto tenuto, sull’erba.
3) Ricevere pokèmon
#dynamic 0x800002
#org @pointer
lock
faceplayer
loadpointer 0x0 @msg
boxset 0x6
givepokemon 0x3 0x5 0x0 0x0 0x0 0x0
release
end
#org @msg
= Ciao, mi hanno regalato questo\n POKèMON, ma a me non serve.\p \n Lo vuoi tu?
Con questo script, un personaggio vi donerà un charmender al livello 5.
4) Ricevere oggetti
#dynamic 0x800003
#org @pointer
lock
faceplayer
loadpointer 0x0 @msg
boxset 0x6
giveitem 0xD 0x1 0x0
release
end
#org @msg
= Ciao, io lavoro in un POKèMON\n market.\p Lì si vendono oggetti come\n questo.\p Tieni!
Con questo script, un personaggio vi donerà una pozione.
E questo era l’ultimo script. Naturalmente, prima di fare qualsiasi modifica (quindi non solo script) ricordatevi di fare una copia della rom.
Spero che questa giuda vi abbia aiutato.
Tutorial by xyz10
------------------------------------------
INOLTRE C'È ANCHE UNA LISTA OGGETTI SEMPRE by xyz10
LA ALLEGO QUI:
lista_oggetti_x_script.txt (7,76K)
Numero di downloads:: 56