Registrarse

Aumentar los Pokemons Shiny

Estado
Cerrado para nuevas respuestas.
Hola tengo una duda y me gustaría saber si es posible aumentar la posibilidad de que aparezca un pokemon shiny o por ejemplo que los pokemons iniciales sean shiny.
Hay alguna herramienta o algún tutorial?
Gracias.;)
 

RedMort

Aprendiendo Decomp
Exacto, aplicas el parche del shinyzer y activas la variable para que el siguiente pokemon que te aparezca sea shiny.
En el tema te viene todo explicado.
Para aumentar el porcentaje de aparicion a lo largo del juego, ni idea.
 
Aquí está el método que yo utilizo, usálo tal cual está si eso quieres

Código:
#dynamic 0x800000
#org @start
random 0x30
compare LASTRESULT 0x0
if 0x1 goto @snippet1
compare LASTRESULT 0x1
if 0x1 goto @snippet1
compare LASTRESULT 0x2
if 0x1 goto @snippet1
compare LASTRESULT 0x3
if 0x1 goto @snippet1
compare LASTRESULT 0x4
if 0x1 goto @snippet1
compare LASTRESULT 0x5
if 0x1 goto @snippet1
compare LASTRESULT 0x6
if 0x1 goto @snippet1
compare LASTRESULT 0x7
if 0x1 goto @snippet1
compare LASTRESULT 0x8
if 0x1 goto @snippet1
compare LASTRESULT 0x9
if 0x1 goto @snippet1
compare LASTRESULT 0x10
if 0x1 goto @snippet1
compare LASTRESULT 0x11
if 0x1 goto @snippet1
compare LASTRESULT 0x12
if 0x1 goto @snippet1
compare LASTRESULT 0x13
if 0x1 goto @snippet1
compare LASTRESULT 0x14
if 0x1 goto @snippet1
compare LASTRESULT 0x15
if 0x1 goto @snippet1
compare LASTRESULT 0x16
if 0x1 goto @snippet1
compare LASTRESULT 0x17
if 0x1 goto @snippet1
compare LASTRESULT 0x18
if 0x1 goto @snippet1
compare LASTRESULT 0x19
if 0x1 goto @snippet1
compare LASTRESULT 0x20
if 0x1 goto @snippet1
compare LASTRESULT 0x21
if 0x1 goto @snippet1
compare LASTRESULT 0x22
if 0x1 goto @snippet1
compare LASTRESULT 0x23
if 0x1 goto @snippet1
compare LASTRESULT 0x24
if 0x1 goto @snippet1
compare LASTRESULT 0x25
if 0x1 goto @snippet1
compare LASTRESULT 0x26
if 0x1 goto @snippet1
compare LASTRESULT 0x27
if 0x1 goto @snippet1
compare LASTRESULT 0x28
if 0x1 goto @snippet1
compare LASTRESULT 0x29
if 0x1 goto @snippet1
compare LASTRESULT 0x30
if 0x1 goto @snippet2
end

'---------------
#org @snippet1
end

'---------------
#org @snippet2
callasm 0x'offsetquetedióelshinyzer'
setvar 0x8003 0x1
end
Si tienes dudas , házmelo saber
Exactamente todo esto donde debo ponerlo? y como funciona ezactamente?
 

RedMort

Aprendiendo Decomp
Como su nombre lo indica es comando aleatorio osea saldra algo aleatorio en un 30%
???

Lo que Sage hace con ese random es generar un numero aleatorio desde 0 - 30.
Y con los compares simplemente es comprobar cual es el valor, y dependiendo de el, vas a un puntero o a otro, lo que creo que lo hace demasiado largo, es decir, con poner:

"#dynamic 0x800000
#org @start
random 0x30
compare LASTRESULT 0x30
if 0x1 goto @snippet2
end"

creo que valdría.
En definitiva, no sé donde coloca eso Sage, pero eso hace que haya un 1/30 de probabilidades de que te aparezca un pokemon shiny a partir de ese script.
Para hacerlo en los iniciales, como ya dije, unicamente parcheas con shinyzer y asignas el valor 1 a la variable 8003 = "setvar 0x8003 0x1" mientras se va ejecutando el script.
Si nos cuentas como haras la entrega del primer pokemon, podremos ayudarte mejor.
 

Dani_SR_17

¡Pokémon LionHeart!
No sé como aumentar la probabilidad en general, seguramente tirando de ASM o modificando algún dato de la rom se pueda.

Aunque, puedes hacer lo que te ha dicho @~SAGE, solo que el script que te ha dado no está explicado y bueno, esta mal, pero mal de que nunca rula y es una barbaridad lo que ha puesto, en serio...

Veamos, "random 0xN", siendo N un nº, lo que hace darte un valor aleatorio (bueno, pseudoaleatorio, pero da igual) entre 0 y N-1.
Ojo, ese número, tiene que estar en Hexadecimal.


Luego ya es sencillo, tirar un poco de la lógica y poner la probabilidad que uno dese, si por ejemplo quieres tener un 10% de que sea shiny:
Código:
#dynamic 0x800000

#org @Start
random 0xA 'Creamos un nº entre 0 y 9.
compare LASTRESULT 0x0 'Si ese nº es 0, el Pokémon será shiny.
if 0x1 goto @EsShiny
end

#org @EsShiny 'Aquí usamos la rutina del shinyzer para que sea shiny.
setvar 0x8003 0x1
end
Aquí tienes la herramienta shinyzer, tienes que insertar la rutina que proporciona está herramienta para que funcione.


Ahora bien, el como implementarlo para que funcione en todas las rutas que quieras es bien sencillo, te doy una explicación rápida, pero te recomeindo leer >>este tutorial<< de @Javi4315♪, en concreto para esto su última entrega.


Veamos, para que funcione en los mapas que quieras, tienes que añadir un script de nivel en cada uno de los mapas, y dirás ¿qué tipo de script de nivel? Puesto que hay varios.
Para esto, personalmente veo más adecuado este:
Javi4315♪ dijo:
05: Es igual que el script de tipo 03, pero si bien este último se ejecutaba cuando se cargaba el mapa (cuando entras en él), el de tipo 05 se ejecutará tanto cuando entres al mapa como cuando salgas de un menú (mochila, pokédex…), inicies la partida guardada en ese mapa o salgas de una batalla.
Solo debes poner el script que te he puesto arriba como script de nivel del tipo 05, en cada una de las rutas que quieras que los Pokémon tenga ese % de aparecer shinys.



Espero que este todo claro, si necesitas algo dímelo ;)

Por cierto, debo remarcar una cosita, que bueno, para mi es un fallo demasiado gordo para todo el que lleve más de 1 mes hackeando, prácticamente todo nº que uno tenga que meter en un script va a estar en Hexadecimal.
 
Estado
Cerrado para nuevas respuestas.
Arriba