04-11-2021, 07:11 PM
(Questo messaggio è stato modificato l'ultima volta il: 04-11-2021, 07:12 PM da eMMe97.)
Allora, ho un po' tagliuzzato lo script, almeno vedi come farne uno molto più pulito. Non ci sarebbero problemi con questo, sprecheresti solo spazio, ma quando inizia a fare script alla flygon (cioè mooooolto lunghi)...credimi, c'è bisogno che siano puliti altrimenti ti ci ammazzi a metà.
Unica perplessità sono le var 4001 e 8003 che non so se si resettano a fine wildbattle, nel caso dovresti usare una var diversa da 4001 (es. 4050) e nel caso della 8003 che a quanto ho capito serve per lo shiny dovresti fare un copyvar e "stivare" il risultato su un'altra var prima dello scontro e poi ricopiarlo dopo:
es.
copyvar 0x8003 0x4051
wildbattle ....
copyvar 0x4051 0x8003
in questo modo non hai più problemi.
Ho messo dei commenti nello script, li riconosci perché sono dopo i //
#dynamic 0x800000
#org @start
lockall
fadescreen 0x1
movesprite 0x2 0xC 0x2
applymovement 0xFF @sguardodx
waitmovement 0x0
fadescreen 0x0
msgbox @pokedex 0x6
setflag 0x829
msgbox @prestato 0x6
givepokemon 0xA 0x5 0x0 0x0 0x0 0x0
msgbox @masterball 0x6
additem 0x1 0x1
bufferitem 0x0 0x1
fanfare 0x101
msgbox @ottenuto 0x4
waitfanfare
closeonkeypress
msgbox @arriva 0x6
random 0x3
compare LASTRESULT 0x0
if 0x1 goto @venonat
compare LASTRESULT 0x1
if 0x1 goto @chinchou
goto @taillow //questo perché è ovvio che se non sono le prime due sarà per forza la terza, quindi non si ripete il controllo
end
#org @venonat
setvar 0x4001 0x30 //venonath
goto @dopo
end
#org @chinchou
setvar 0x4001 0xAA //chinchou
goto @dopo
end
#org @taillow
setvar 0x4001 0x114 //taillow
goto @dopo
end
#org @dopo
random 0x13
compare LASTRESULT 0x0
if 0x1 goto @Shiny
goto @normale
end
#org @normale
setvar 0x8003 0x0
goto @battaglia
end
#org @Shiny
setvar 0x8003 0x1
goto @battaglia
end
#org @battaglia
wildbattle 0x4001 0x5 0x0
countpokemon
compare LASTRESULT 0x1
if 0x1 goto @battaglia
msgbox @dopocattura 0x6
special 0xEF //elimina tutta la squadra
msgbox @ripreso 0x4
closeonkeypress
givepokemon 0x4001 0x5 0x0 0x0 0x0 0x0 //restituisce di nascosto il pokémon catturato
fadescreen 0x1
hidesprite 0x2
fadescreen 0x0
setflag 0x828 //allo sprite da nascondere dai questa flag, almeno risparmi la flag 200
setvar 0x4053 0x1
releaseall
end
#org @nulla
releaseall
end
#org @prestato
= Ti presto Caterpie
#org @pokedex
= Tieni Pokedex
#org @masterball
= Tieni ball
#org @ottenuto
= Ottieni [buffer1]
#org @arriva
= Eccolo
#org @dopocattura
= Ben fatto
#org @ripreso
= Riprendo Caterpie
#org @sguardodx
#raw 0x3 0xFE
Unica perplessità sono le var 4001 e 8003 che non so se si resettano a fine wildbattle, nel caso dovresti usare una var diversa da 4001 (es. 4050) e nel caso della 8003 che a quanto ho capito serve per lo shiny dovresti fare un copyvar e "stivare" il risultato su un'altra var prima dello scontro e poi ricopiarlo dopo:
es.
copyvar 0x8003 0x4051
wildbattle ....
copyvar 0x4051 0x8003
in questo modo non hai più problemi.
Ho messo dei commenti nello script, li riconosci perché sono dopo i //
#dynamic 0x800000
#org @start
lockall
fadescreen 0x1
movesprite 0x2 0xC 0x2
applymovement 0xFF @sguardodx
waitmovement 0x0
fadescreen 0x0
msgbox @pokedex 0x6
setflag 0x829
msgbox @prestato 0x6
givepokemon 0xA 0x5 0x0 0x0 0x0 0x0
msgbox @masterball 0x6
additem 0x1 0x1
bufferitem 0x0 0x1
fanfare 0x101
msgbox @ottenuto 0x4
waitfanfare
closeonkeypress
msgbox @arriva 0x6
random 0x3
compare LASTRESULT 0x0
if 0x1 goto @venonat
compare LASTRESULT 0x1
if 0x1 goto @chinchou
goto @taillow //questo perché è ovvio che se non sono le prime due sarà per forza la terza, quindi non si ripete il controllo
end
#org @venonat
setvar 0x4001 0x30 //venonath
goto @dopo
end
#org @chinchou
setvar 0x4001 0xAA //chinchou
goto @dopo
end
#org @taillow
setvar 0x4001 0x114 //taillow
goto @dopo
end
#org @dopo
random 0x13
compare LASTRESULT 0x0
if 0x1 goto @Shiny
goto @normale
end
#org @normale
setvar 0x8003 0x0
goto @battaglia
end
#org @Shiny
setvar 0x8003 0x1
goto @battaglia
end
#org @battaglia
wildbattle 0x4001 0x5 0x0
countpokemon
compare LASTRESULT 0x1
if 0x1 goto @battaglia
msgbox @dopocattura 0x6
special 0xEF //elimina tutta la squadra
msgbox @ripreso 0x4
closeonkeypress
givepokemon 0x4001 0x5 0x0 0x0 0x0 0x0 //restituisce di nascosto il pokémon catturato
fadescreen 0x1
hidesprite 0x2
fadescreen 0x0
setflag 0x828 //allo sprite da nascondere dai questa flag, almeno risparmi la flag 200
setvar 0x4053 0x1
releaseall
end
#org @nulla
releaseall
end
#org @prestato
= Ti presto Caterpie
#org @pokedex
= Tieni Pokedex
#org @masterball
= Tieni ball
#org @ottenuto
= Ottieni [buffer1]
#org @arriva
= Eccolo
#org @dopocattura
= Ben fatto
#org @ripreso
= Riprendo Caterpie
#org @sguardodx
#raw 0x3 0xFE