Vai al commento



Level Script/Script Mappa


Post raccomandati

Ciao ragà .

Bene oggi ho deciso di fare un tutorials su come creare un level script/script mappa, su richiesta di shinychaizard.

Che cosa è uno script mappa? Semplice, è uno script che si attiva in automatico come entri in un nuovo posto, nel mio caso sarà  la stanzetta del giocatore.

Bene come inizio un semplice script come abbiamo sempre fatto.

#dynamic 0x800000

#org @inizio
lock
message @msg 0x6
boxset 0x6
applymovement 0xff @moviment
waitmovement 0x0
fadescreen 0x1
fanfare 0x100
waitfanfare
special 0x0
pause 0x20
fadescreen 0x0
applymovement 0xff @moviment1
waitmovement 0x0
sound 0x15
message @msg1 0x6
boxset 0x6
setvar 0x4050 0x1
release
end

#org @msg
= [player]: Ops!\nÉ tardi, meglio andare a dormire.

#org @moviment
#binary 0x12 0x12 0x11 0x12 0x12 0x0 0xFE

#org @moviment1
#binary 0x62 0xFE

#org @msg1
= [player]: Oh no!\nÉ tardi lo aveva detto mamma di\landare a dormire presto.\lFarò tardi e non riuscirò a\lprendere il mio PokÉmon dal Prof.\lMeglio sbrigarsi.

La parte più importante dello script è il comando setvar, serve a far il modo che lo script non si ripeta.

Bene ora apriamo la nostra roms con advance map andiamo sulla mappa in cui vogliamo aggiungere lo script, {nel mio caso la stanzetta del giocatore} successivamente clicchiamo sulla scheda "vista header" .

La parte che ci interessa a noi di questa scheda a noi è questa:

33218242.png

Clicchiamo su aggiungi e a tipo di valori mettiamo 02 Convalida valori, carica.....

Su flag: mettiamo il numero in cui abbiamo usato il comando setvar nel mio caso sarà  4050.

Su offset script 2: mettiamo l'offset dello script compilato con Xse.

Ora non ci resta che salvare e andare a guardare il risultato dello script con visualboy advance.

All'inizo dello script andrà  tutto bene ma verso la fine vi uscirà  un'errore del genere:

pokemonfirered01k.png

Ma non preoccupatevi e tutto normale per risolverlo basta andare di nuovo nella mappa dello script sulla scheda "vista header" e premere ctrl+H.

Ora vi uscirà  una nuova schermata ma a noi interessa solamente questo:

immaginenk.png

Bene copiamo l'offset script mappa, {nel mio caso è 71A23C} aprimo Xse e se quardate bene nella barra {che troverete nella immagine seguente} ci dovrebbe essere l"icona di una mappa clicchiamoci sopra inseriamo lo script copiato prima e premiamo Invio.

Ecco che uscirà :

immagineqzi.png

Dalla immagine avrete capito cosa fare, dovrete sostituire le (F) con (0), bene ora non ci resta che salvare e godervi lo script XD.

La guida è stata creata solamente per Hra, PokÉhacking e PokÉmon Millenium quindi vietata la circolazione.

Se la vedete in altri forum contattami tramite mp grazie.

Link al commento
Condividi su altre piattaforme

Ciao, scusate so che il post è vecchio ma spero che sia ancora attivo. Io volevo fare uno script mappa che si attivasse solo dopo aver battuto il capopalestra di quella città . Ho fatto il codice ma non funziona. Cioè non funziona la parte in cui lo script deve partire dopo una flag o una variabile. Questo è il codice



'---------------
#org 0x8B6F47
lockall
checkflag 0x820
if 0x1 goto 0x88B79E5
checkflag 0x820
if 0x0 goto 0xFFFF7A85
'---------------
#org 0x8B79E5
lockall
showsprite 0x5
showsprite 0x6
showsprite 0x7
msgbox 0x88B75CA MSG_NORMAL '"???: Ti ho detto di lasciarmi\npas..."
applymovement MOVE_PLAYER 0x88B78FE
waitmovement 0x0
msgbox 0x88B7618 MSG_NORMAL '"Qualcuno mi aiuti!!!"
applymovement MOVE_PLAYER 0x88B7902
waitmovement 0x0
msgbox 0x88B762F MSG_NORMAL '"[player]: Hey! Lascialo stare!\pOh..."
waitmsg
applymovement 0x7 0x88B791D
waitmovement 0x0
msgbox 0x88B765B MSG_NORMAL '"???: E tu chi saresti?\p[player]: ..."
waitmsg
applymovement 0x6 0x88B7921
waitmovement 0x0
call 0x88B75AA
applymovement 0x5 0x88B7926
waitmovement 0x0
call 0x88B75BA
msgbox 0x88B77EB MSG_NORMAL '"???: Ragazzino... questa volta hai..."
fadescreen 0x1
hidesprite 0x5
hidesprite 0x6
hidesprite 0x7
fadescreen 0x0
msgbox 0x88B7875 MSG_NORMAL '"Hey, grazie di avermi aiutato, me\..."
applymovement 0x1 0x88B792B
applymovement MOVE_PLAYER 0x88B7941
waitmovement 0x0
hidesprite 0x1
setvar 0x4077 0x1
releaseall
end

'---------------
#org 0x8B75AA
trainerbattle 0x0 0x6 0x0 0x88B775B 0x88B777B
return

'---------------
#org 0x8B75BA
trainerbattle 0x0 0x7 0x0 0x88B77BC 0x88B77D3
return


'---------
' Strings
'---------
#org 0x8B75CA
= ???: Ti ho detto di lasciarmi\npassare!\pMa, signore... la strada è\nbloccata.

#org 0x8B7618
= Qualcuno mi aiuti!!!

#org 0x8B762F
= [player]: Hey! Lascialo stare!\pOh... meno male.

#org 0x8B765B
= ???: E tu chi saresti?\p[player]: Non ha importanza...\p???: Io so chi sei, tu sei\n[player]!\p[player]: Come conosci il mio nome?\p???: Non ha importanza... In ogni\ncaso dobbiamo passare e non ci\lostacoleranno certo un ciccione e\lun ragazzino.\p[player]: Ah sì, allora fatevi\nsotto.

#org 0x8B77EB
= ???: Ragazzino... questa volta hai\nvinto... ma stai tranquillo,\lavremo modo di riverderci... e non\lsara così semplice.\p[player]: Sarò pronto!

#org 0x8B7875
= Hey, grazie di avermi aiutato, me\nla sono vista brutta.\p[player]: Non c'è di che\pBenissimo, penso che ora debba\nandare, passa pure.

#org 0x8B775B
= Cosa pensi di fare ragazzino?

#org 0x8B777B
= Woow... mi avrai anche battuto ma\nnon fermerai i nostri piani!

#org 0x8B77BC
= Quanti anni hai? 12?

#org 0x8B77D3
= Non eravamo pronti!!!


'-----------
' Movements
'-----------
#org 0x8B78FE
#raw 0x62 'Exclamation Mark (!)
#raw 0x1 'Face Up
#raw 0xFE 'End of Movements

#org 0x8B7902
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x20 'Step Right (Fast)
#raw 0x20 'Step Right (Fast)
#raw 0x20 'Step Right (Fast)
#raw 0x20 'Step Right (Fast)
#raw 0x20 'Step Right (Fast)
#raw 0x20 'Step Right (Fast)
#raw 0x20 'Step Right (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0x1E 'Step Up (Fast)
#raw 0xFE 'End of Movements

#org 0x8B791D
#raw 0x62 'Exclamation Mark (!)
#raw 0x0 'Face Down
#raw 0xFE 'End of Movements

#org 0x8B7921
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x3 'Face Right
#raw 0xFE 'End of Movements

#org 0x8B7926
#raw 0x10 'Step Down (Normal)
#raw 0x10 'Step Down (Normal)
#raw 0x2 'Face Left
#raw 0xFE 'End of Movements

#org 0x8B792B
#raw 0x1F 'Step Left (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1D 'Step Down (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0x1F 'Step Left (Fast)
#raw 0xFE 'End of Movements

#org 0x8B7941
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0x2 'Face Left
#raw 0xFE 'End of Movements

Nella parte iniziale del codice, al posto delle flag avevo messo:



compare 0x406C 0x1
if 0x1 goto 0x88B79E5

Solo che non funzionava, ora con le flag appena entro nella mappa mi si blocca il gioco.


Link al commento
Condividi su altre piattaforme

Archiviata

La discussione è ora archiviata e chiusa ad ulteriori risposte.

  • Utenti nella discussione   0 utenti

    • Nessun utente registrato sta visualizzando questa pagina.
×
×
  • Crea...