Guida allo scripting di base - Hack Rom Pokemon

Guida all'uso di XSE 1.1

« Older   Newer »
 
  Share  
.
  1. cicko
        +2   +1   -1
     
    .

    User deleted


    VISTO CHE TANTI LO DICONO (CHE CLICCANO GLI INGRANAGGI NON ESCE NIENTE) VI DICO: SCARICATEVI LA MIA VERSIONE! PROBABILMENTE LA VOSTRA NON è LA MIA E MOLTE SONO DIFETTOSE!
    Ed eccomi arrivato con un'altra guida! Questa riguarderà lo scripting, per coloro che sono proprio ai livelli di base. ora vi spiegherò un po' cos'è uno script. lo script è un linguaggio di programmazione, che nelle ROM viene usato per creare degli eventi. ecco cosa vi servirà:

    XSE (Xtreme Script Editor) (Click)
    advancemap
    una ROM (io uso pokemon ruby)



    intanto aprite XSE e caricate la rom (FILE<---Apri). ed ecco come fare gli script (da scrivere nella casella grande)!

    MESSAGGI SEMPLICI
    ecco come iniziano tutti gli script usando XSE:

    1)
    CODICE
    #dynamic 0x800000

    questo serve perchè a fine script il programma cercherà un offset libero a partire da 800000.

    2) poi si aggiunge:
    CODICE
    #org @inizio

    oppure
    CODICE
    #org 0x800000

    Iniziamo dicendo che l'inizio di uno script che inizia con il carattere "@" si trova ad un offset libero trovato dal comando "#dynamic" , e da lì inizieranno i comandi . L'altra scrittura è simile , ma con la differenza che l'offset è specificato.

    3) poi si aggiungono
    CODICE
    lock
    faceplayer


    SPOILER (click to view)
    lo script sarà quindi così:
    CODICE
    #dynamic 0x800000

    #org @inizio
    lock
    faceplayer


    il comando lock fa si che tutti i movimenti del personaggio vengano sigillati. se vogliamo che tutti quanti si fermino si mette al posto di "lock", "lockall". il secondo, "faceplayer", fa si che la persona a cui si parla si giri verso di te.

    4)ora si aggiunge :
    CODICE
    message @msg 0x6


    5)poi aggiungiamo
    CODICE
    release
    end


    release rilascia la persona mentre end finisce lo script.

    SPOILER (click to view)
    ora lo script è cosi:
    CODICE
    #dynamic 0x800000

    #org @inizio
    lock
    faceplayer
    message @msg 0x6
    release
    end


    6)a questo punto si salta una riga e si scrive questo:

    CODICE
    #dynamic 0x800000

    #org @inizio
    lock
    faceplayer
    message @msg 0x6
    release
    end

    #org @msg
    = "il mio messaggio"


    per aiutarvi col messaggio andate su STRUMENTI<--ADATTATORE DI TESTO e scrivete il messaggio. poi premete il pulsante Converti. copiate ciò che compare sotto nella box piu piccola e lo incollate.

    7)ecco, ora premete il tasto in alto con due ingranaggi blu. se avete fatto tutto giusto vi viene questa schermata:

    vedete che è evidenziato in blu "@inizio"? di fianco c'è il tasto "copia". voi lo premete.

    8)adesso aprite advance map e caricate la rom. naturalmente aprite la mappa e andate nella sezione eventi. create la vostra persona e la posizionate dove volete e poi vedete che nella colonna di destra c'è uno spazio con scritto
    CODICE
    script offset:
    $000000

    selezionate gli zeri e premete CTRL-V. ecco che il vostro offset si è incollato al posto degli 0!! ora salvate e il gioco è fatto, quella persona dirà proprio ciò che avete scritto!

    NB. avete visto che nello script ci sono 2 "@msg"? questi sono correllati! infatti il primo fa si che lo script venga "indirizzato" al secondo @msg prima di concluderlo!

    LE FLAG

    Le flag sono tipo dei "bottoni,", on e off. queste invece attivano o dsattivano uno script a seconda delle circostanze. un esempio è una persona che prima dice una cosa e poi un'altra.Ci sono due comandi importanti: setflag che attiva una flag; checkflag che controlla se una flag è settata.

    1)prendiamo il nostro solito script:
    CODICE
    #dynamic 0x800000

    #org @primo
    lock
    faceplayer

    e aggiungiamo il comando
    CODICE
    checkflag 0x1000

    intanto, il 1000 sarebbe il numero di una flag.

    2) ora si aggiunge l' IF che serve per mandarti da una perte all'altra dello script. poi il messaggio:
    CODICE
    #dynamic 0x800000

    #org @primo
    lock
    faceplayer
    checkflag 0x1000
    if 0x1 @secondo
    message @msg 0x6


    3)ora settiamo la flag:

    CODICE
    #dynamic 0x800000

    #org @primo
    lock
    faceplayer
    checkflag 0x1000
    if 0x1 @secondo
    message @msg 0x6
    setflag 0x1000


    e concludiamo con "release" e poi "end".

    4)ora dobbiamo creare il goto, cioè dove verrà inviata la flag:
    allo script aggiungiamo:

    CODICE
    #dynamic 0x800000

    #org @primo
    lock
    faceplayer
    checkflag 0x1000
    if 0x1 @secondo
    message @msg 0x6
    setflag 0x1000
    release
    end

    #org @secondo
    message @msg2 0x6
    release
    end


    5)e poi i goto per i messaggi:

    CODICE
    #dynamic 0x800000

    #org @primo
    lock
    faceplayer
    checkflag 0x1000
    if 0x1 @secondo
    message @msg 0x6
    setflag 0x1000
    release
    end

    #org @secondo
    message @msg2 0x6
    release
    end

    #org @msg2
    = questo messaggio apparirà per primo

    #org @msg
    = questo messaggio apparirà per secondo


    6) bene, ora aprite advance map e ripetete il passaggio (8) del capitolo precedente. complimenti, siete dei futuri scripter! Ricordatevi che dovete mettere l'ID della persona a 1000, perchè il checkflag e il setflag sono impostati per la persona numero 1000!

    IL GIVEPOKéMON
    Allora, cominciamo con l'inizio dello script:
    CODICE
    #dynamic 0x800000

    #org @inizio
    lock
    faceplayer
    message @msg 0x6

    ora bisogna aggiungere il comando givepokemon che farà in modo che lo sprite a cui state parlando vi dia un pokemon.
    quindi, sotto "message" si aggiunge:
    CODICE
    givepokemon 0x3 0x5 0x1 0x0 0x0 0x0

    allora: 0x3 indica il pokemon, cambiate il 3 (Venusaur) con il numero del pokemon che volete. il 0x5 indica il livello. lo ritroverete quindi al livello 5. come detto prima, cambiate il numero per cambiare il livello. NON FATE I "FURBETTI" E NON SUPERATE IL 100, VI BRUCIERà LA ROM ;)
    il 0x1 uguale allo strumento che tiene: 0x0=niente, 0x1=masterball...
    gli ultimi tre 0x0 non vanno toccati. indicano i byte o qualcosa del genere.

    ora aggiungete questa semplice flag:
    CODICE
    setflag 0x800

    che farà in modo che una volta ricevuto il pokemon si vada diritti al menu squadra. cambiate 800 con 828 se state usando fire red. 800 infatti è per ruby/zapphire.

    adesso concludete lo script e aggiungete il messaggio:
    CODICE
    #dynamic 0x800000

    #org @inizio
    lock
    faceplayer
    message @msg 0x6
    givepokemon 0x3 0x5 0x1 0x0 0x0 0x0
    setflag 0x800
    release
    end

    #org @msg
    = Tieni un pokèmon!


    Ora concludete come dicono i passaggi (7) & (8) di "MESSAGGI SEMPLICI"

    questa guida è stata creata interamente da CICKO. è vietata la copia senza consenso dell'autore! ringraziamenti: diversi forum di forumcommunity per avermi insegnato!
    BOH, per questo bel forum,
    »Casta™ per avermi insegnato a scriptare grazie alla sua "scuola",
    questa sezione, per avermi insegnato il resto!!!


    Edited by ~¢ïçkø§ - 21/6/2009, 18:33
     
    Top
    .
  2. BOH
        +1   -1
     
    .

    User deleted


    bella cicko, poi la leggerò con calma dovessero mai esserci errori, la sistemerò con un titolo fatto bene e la metterò in importante
     
    Top
    .
  3. pikastar
        +1   -1
     
    .

    User deleted


    Grande Cicko, non ci ho capito molto ma sono sicuro che ce l'hai messa tutta. Te ne sono debitore!
     
    Top
    .
  4. BOH
        +1   -1
     
    .

    User deleted


    intanto la metto in importante, la settimana prox con un pò di calma me la leggicchio...
     
    Top
    .
  5. Penzo94
        +1   -1
     
    .

    User deleted


    Problema:
    Io ho copiato tutto il tuo primo script x far parlare ( x vedere se funzionava) ma quando clicco i due ingranaggi non esce niente
     
    Top
    .
  6. ~†Sw4mpy†~
        +1   -1
     
    .

    User deleted


    allora rispondo io xD la prima cosa che devi fare è aprire la roma (file-apri) poi lo metti e quando vai a cliccare ti esce ^.^
     
    Top
    .
  7.     +1   -1
     
    .
    Avatar


    Group
    Team Ice
    Posts
    14,029

    Status
    Offline
    Una domanda: Se inserisco messaggi più lunghi di:
    -_________________________________________-
    Si incasina lo script e mi visualizza uno scorri scorri di mex che non si capiscono! Come devo fare se il mex è lungo?
     
    Top
    .
  8. cicko
        +1   -1
     
    .

    User deleted


    c'è scritto: vai su Strumenti<---adattatore di testo. scrivi il testo nella box grande e poi premi "converti" e viene fuori il testo con i /n e /p che fanno andare a capo o cambiano box.
     
    Top
    .
  9.     +1   -1
     
    .
    Avatar


    Group
    Team Ice
    Posts
    14,029

    Status
    Offline
    Grazie mille!
     
    Top
    .
  10.     +1   -1
     
    .
    Avatar


    Group
    Team Ice
    Posts
    14,029

    Status
    Offline
    Come si modificano le prime parti che dice? Tipo quello che ti dice il professore...
     
    Top
    .
  11. cicko
        +1   -1
     
    .

    User deleted


    se intendi quando inizi che c'è il professore che ti chiede nome e sesso e ti parla un attimo, usa il thingy32 (dal sito). se è per quando scappa da pocheyena allora quello è uno script abbastanza elaborato e per modificarlo bisognerebbe rifarlo tutto...

    ammeno che non si è abbastanza bravi da capire tutto
     
    Top
    .
  12.     +1   -1
     
    .
    Avatar


    Group
    Team Ice
    Posts
    14,029

    Status
    Offline
    E la parte azzurra all'inizio proprio?
     
    Top
    .
  13. cicko
        +1   -1
     
    .

    User deleted


    usa il thingy 32. lo trovi nel sito di flame tra i download!
     
    Top
    .
  14.     +1   -1
     
    .
    Avatar


    Group
    Team Ice
    Posts
    14,029

    Status
    Offline
    Ok, grazie
     
    Top
    .
  15. Penzo94
        +1   -1
     
    .

    User deleted


    CITAZIONE (~†Sw4mpy†~ @ 1/5/2009, 12:30)
    allora rispondo io xD la prima cosa che devi fare è aprire la roma (file-apri) poi lo metti e quando vai a cliccare ti esce ^.^

    MIca sono stupido...ho maperto e poi quando clicco non esce niente
     
    Top
    .
87 replies since 29/4/2009, 16:00   23917 views
  Share  
.