Dani_SR_17
¡Pokémon LionHeart!
[tabs][tab=Información]Bienvenidos a la tienda de scripts (para GBA) de Dani_SR_17.
Aquí podréis pedirme scripts curiosos para los hacks, como minijuegos, o también scripts más útiles como scripts auxiliares para variables.
Como pone en la sección de normas, no aceptaré todos los pedidos, al igual que el tiempo de realización de los pedidos será indefinido.
No es necesario pasarme ninguna rom, pero de pasarla mejor. Más que nada por si el script tiene setmaptiles (que yo no pondré, solo para probar) y tal, pero vaya, que con darme todos los datos que necesite no es necesario pasarme la rom.
Tengo que aclarar que no haré rutinas ASM, solo scripts. Además, si tenéis alguna rutina introducida en la rom que pueda ser útil estaría bien que me lo comentarais.
Nota: Ahora mismo no ando demasiado bien de tiempo, así que es posible que cierre la tienda, no obstante, quiero darle un tiempo de prueba a ver que tal va.[/tab]
[tab=Reglas]
[tab=Plantilla]
[/tab]
[tab=Muestras]
[/tab]
[tab=Encargos pendientes]Ninguno.[/tab]
[tab=Encargos completados]
[/tab][/tabs]
Aquí podréis pedirme scripts curiosos para los hacks, como minijuegos, o también scripts más útiles como scripts auxiliares para variables.
Como pone en la sección de normas, no aceptaré todos los pedidos, al igual que el tiempo de realización de los pedidos será indefinido.
No es necesario pasarme ninguna rom, pero de pasarla mejor. Más que nada por si el script tiene setmaptiles (que yo no pondré, solo para probar) y tal, pero vaya, que con darme todos los datos que necesite no es necesario pasarme la rom.
Tengo que aclarar que no haré rutinas ASM, solo scripts. Además, si tenéis alguna rutina introducida en la rom que pueda ser útil estaría bien que me lo comentarais.
Nota: Ahora mismo no ando demasiado bien de tiempo, así que es posible que cierre la tienda, no obstante, quiero darle un tiempo de prueba a ver que tal va.[/tab]
[tab=Reglas]
- Solo haré scripts para GBA, no aceptaré pedidos de otras plataformas.
- No haré scripts de una simple trainerbattle o de 4 applymovements, solo haré scripts que yo considere interesantes/curiosos/minijuegos/útiles, como los de mi Recopilación.
- No aceptaré pedidos de hacks recién empezados, solo me plantearé aceptar pedidos de hacks con una cierta caldiad y un cierto avance.
- No aceptaré todos los pedidos, solo aquellos que considere factibles de hacer.
- El tiempo de entrega de un pedido es indefinido.
- Si entrego un pedido y se usa en un hack quiero créditos en dicho hack por el script.
- Me reservo el derecho a postear el código del script, así como un vídeo o scans del mismo en el subforo de Scripts, al igual que añadirlo a mi Recopilación.
- Los pedidos son de scripts, no de rutinas ASM
[tab=Plantilla]
Código:
Rom base:
Hack:
Descripción breve del script:
Descripción detallada del script:
Cosas útiles que peuda usar de la rom: (Rutinas y demás)
[tab=Muestras]
[/tab]
[tab=Encargos pendientes]Ninguno.[/tab]
[tab=Encargos completados]
Pedido de @Aster completado.
Te dejo por aquí el script para que lo descargues, y aquí va el código.
Como te he dicho esta sin testear porque no me has pasado la rom con las cosas, aunque en teoría no debería fallar.
Esta preparado para ir de izquierda a derecha y viceversa, aunque tiene un par de anotaciones de lo que hay que cambiar para que sea de arriba a abajo.
Cualquier duda o error avísame y lo reviso, disfruta del script y cuando puedas grabarlo avísame, y subo el vídeo a mi canal y lo pongo en mi recopilación de scripts
Te dejo por aquí el script para que lo descargues, y aquí va el código.
Como te he dicho esta sin testear porque no me has pasado la rom con las cosas, aunque en teoría no debería fallar.
Esta preparado para ir de izquierda a derecha y viceversa, aunque tiene un par de anotaciones de lo que hay que cambiar para que sea de arriba a abajo.
Código:
#dynamic 0x800000
'Antes de nada un par de comentarios, de lo que vas a necesitar y tal.
'Primero, vamos a necesitar 1 variable fija (no la uses en otro lado) y 2 variables dinámicas (fuera del script las puedes reutilizar).
'Después, asumo que el mini que anda por la cuerda es el normal, el que cambia es el que está en el punto de equilibrio.
'Es muy importante que a la cuerda solo se pueda acceder mirando en la dirección en la que quieras cruzar.
'Otra cosa importante es que necesitas 1 mini para el equilibrio hacia la izquierda y otro diferente hacia la derecha.
#org @Start
compare 0x(VariableCuerdaPuesta) 0x0 'Esta es la variable que le asignas a la cuerda en cuestión, además, la tienes que usar para el script de nivel de los setmaptiles, si está en 1 es que la cuerda esta puesta.
if 0x1 goto @¿TienesCuerda? 'Si no has puesto la cuerda, vamos a ver si tienes alguna.
goto @CruzarCuerda 'Si ya has puesto la cuerda.
'---------------- Esta es la parte de colocar la cuerda y tal.
#org @¿TienesCuerda?
msgbox @text¿TienesCuerda? 0x5 'Este texto es el de "¿Pongo una cuerda para cruzar el acantilado?"
compare LASTRESULT 0x1
if 0x1 goto @PonerCuerda
msgbox @textNoPongoCuerda 0x6 'No pongo la cuerda.
end
#org @PonerCuerda
checkitem 0x55 0x1
compare LASTRESULT 0x0
if 0x1 goto @NoTienesCuerda
fadescreen 0x1
removeitem 0x55 0x1
setvar 0x(VariableCuerdaPuesta) 0x1
setmaptile 0x 0x 0x 0x1
'Todos los setmaptiles que sean necesarios
special 0x8E
pause 0x20
fadescreen 0x0
msgbox @textCuerdaPuesta 0x6 'Texto de ya he colocado la cuerda
goto @CruzarCuerda
#org @NoTienesCuerda
msgbox @textNoTienesCuerda 0x6
end
'---------------- Aquí es donde empieza la movida de verdad, el hacer que se cruce la cuerda.
#org @CruzarCuerda
msgbox @text¿TienesCuerda? 0x5 'Este texto es el de "Puedo cruzar el acantilado por la cuerda, pero podría caerme. ¿Lo cruzo?"
compare LASTRESULT 0x1
if 0x1 goto @VasACruzarLaCuerda
msgbox @textTeRajas 0x6 'Texto de "Te rajas y no cruzas."
end
#org @VasACruzarLaCuerda
compare PLAYERFACING 0x4 'Si quisieras hacerlo de arriba a abajo tienes que cambiar el 4 por un 1, y cambiar @VasACruzarLaCuerdaEstasIzq por @VasACruzarLaCuerdaEstasAr (y el otro igual pero por abajo).
if 0x1 goto @VasACruzarLaCuerdaEstasIzq
goto @VasACruzarLaCuerdaEstasDer
'----------------
#org @VasACruzarLaCuerdaEstasIzq
applymovement 0xFF @movAndarHastaCentroI 'Desde la izquierda hasta el centro.
waitmovement 0xFF
setvar 0x4054 0x 'El mini de equilibrio mirando hacia la Derecha.
callasm 0x805BE61
msgbox @textEquilibrio 0x6 'El texto de que tienes que mantener el equilibrio, explicas que si te vas para una dirección tienes que pulsar la tecla opuesta para no caerte.
goto @MiniJuegoEquilibrio
#org @VasACruzarLaCuerdaEstasDer
applymovement 0xFF @movAndarHastaCentroD 'Desde la derecha hasta el centro.
waitmovement 0xFF
setvar 0x4054 0x 'El mini de equilibrio mirando hacia la Izquierda.
callasm 0x805BE61
msgbox @textEquilibrio 0x6 'El texto de que tienes que mantener el equilibrio, explicas que si te vas para una dirección tienes que pulsar la tecla opuesta para no caerte.
goto @MiniJuegoEquilibrio
'---------------- Vamos a hacer la mágia del minijuego.
#org @MiniJuegoEquilibrio
setvar 0x(VariableContador) 0x0 'La variable que mira el nº de veces que has mantenido el equilibrio.
pause 0x20
random 0x5 'Estas 3 lineas son por si quieres hacer que el nº de veces que tengas que mantener el equilibrio sea aleatorio, en este caso lo ha puesto entre 5 y 9.
copyvar 0x(VariableObjetivo) LASTRESULT
addvar 0x(VariableObjetivo) 0x5
goto [MENTION=25770]Aleatorio[/MENTION]
#org [MENTION=25770]Aleatorio[/MENTION]
comparevars 0x(VariableContador) 0x(VariableObjetivo) 'Veamos si ya has mantenido el equilibrio todas las veces necesarias.
if 0x1 goto @CruzasLaCuerda
random 0x2
compare LASTRESULT 0x0
if 0x1 goto @TeMuevesArriba
goto @TeMuevesAbajo
#org @TeMuevesArriba 'El mini se mueve hacia arriba, vas a tener que pulsar la tecla hacia abajo rapido o te caeras
applymovement 0xFF @movArr
pause 0x5
comparefarbytetobyte 0x4000130 0x7F 'Si pulsas la tecla de abajo te mantienes.
if 0x1 goto @TeMantienes
comparefarbytetobyte 0x4000130 0xBF 'Si pulsas la tecla de arriba te caes.
if 0x1 goto @TeCaesArr
pause 0x5
comparefarbytetobyte 0x4000130 0x7F
if 0x1 goto @TeMantienes
comparefarbytetobyte 0x4000130 0xBF
if 0x1 goto @TeCaesArr
pause 0x5
comparefarbytetobyte 0x4000130 0x7F
if 0x1 goto @TeMantienes
comparefarbytetobyte 0x4000130 0xBF
if 0x1 goto @TeCaesArr
pause 0x5
comparefarbytetobyte 0x4000130 0x7F
if 0x1 goto @TeMantienes
comparefarbytetobyte 0x4000130 0xBF
if 0x1 goto @TeCaesArr
pause 0x5
goto @TeCaesArr 'Si no pulsas nada, te caes
#org @TeMuevesAbajo 'El mini se mueve hacia abajo, vas a tener que pulsar la tecla hacia arriba rapido o te caeras
applymovement 0xFF @movAbj
pause 0x5
comparefarbytetobyte 0x4000130 0xBF
if 0x1 goto @TeMantienes
comparefarbytetobyte 0x4000130 0x7F
if 0x1 goto @TeCaesAbj
pause 0x5
comparefarbytetobyte 0x4000130 0xBF
if 0x1 goto @TeMantienes
comparefarbytetobyte 0x4000130 0x7F
if 0x1 goto @TeCaesAbj
pause 0x5
comparefarbytetobyte 0x4000130 0xBF
if 0x1 goto @TeMantienes
comparefarbytetobyte 0x4000130 0x7F
if 0x1 goto @TeCaesAbj
pause 0x5
comparefarbytetobyte 0x4000130 0xBF
if 0x1 goto @TeMantienes
comparefarbytetobyte 0x4000130 0x7F
if 0x1 goto @TeCaesAbj
pause 0x5
goto @TeCaesAbj
'Nota, si ves que apenas te da tiempo a pulsar la tecla simplemente agrega alguna comparación extra.
'Aquí está la parte de si pierdes.
#org @TeCaesArr 'Te caes, has perdido.
compare 0x4054 0x 'Comparas si lleva el mini de equilibrio que mira a la derecha.
if 0x1 goto @CaesArrID
goto @CaesArrDI
@CaesArrID
setvar 0x4054 0x 'Mini del prota normal.
callasm 0x805BE61
applymovement 0xFF @movCaerseArr
waitmovement 0xFF
warp 0x 0x 0xA 0x 0x 'Tienes que volver al lado izquierdo.
pause 0x40
end
@CaesArrDI
setvar 0x4054 0x 'Mini del prota normal.
callasm 0x805BE61
applymovement 0xFF @movCaerseArr
waitmovement 0xFF
warp 0x 0x 0xA 0x 0x 'Tienes que volver al lado derecho.
pause 0x40
end
#org @TeCaesAbj
compare 0x4054 0x 'Comparas si lleva el mini de equilibrio que mira a la derecha.
if 0x1 goto @CaesAbjID
goto @CaesAbjDI
@CaesAbjID
setvar 0x4054 0x 'Mini del prota normal.
callasm 0x805BE61
applymovement 0xFF @movCaerseAbj
waitmovement 0xFF
warp 0x 0x 0xA 0x 0x 'Tienes que volver al lado izquierdo.
pause 0x40
end
@CaesAbjDI
setvar 0x4054 0x 'Mini del prota normal.
callasm 0x805BE61
applymovement 0xFF @movCaerseAbj
waitmovement 0xFF
warp 0x 0x 0xA 0x 0x 'Tienes que volver al lado derecho.
pause 0x40
end
'Aquí tenemos lo que ocurre si pulsas bien.
#org @TeMantienesArr
addvar 0x(VariableObjetivo) 0x1
applymovement 0xFF @movVuelvesAlCentro
waitmovement 0xFF
pause 0x40 'Nota, en este pause se podría poner también un radom, para que el tiempo entre cada intento pueda cambiar, pero te lo dejo a ti si te gusta la idea.
goto [MENTION=25770]Aleatorio[/MENTION]
#org @TeMantienesAbj
addvar 0x(VariableObjetivo) 0x1
applymovement 0xFF @movVuelvesAlCentro
waitmovement 0xFF
pause 0x40 'Nota, en este pause se podría poner también un radom, para que el tiempo entre cada intento pueda cambiar, pero te lo dejo a ti si te gusta la idea.
goto [MENTION=25770]Aleatorio[/MENTION]
'Si superas la prueba.
#org @CruzasLaCuerda
compare 0x4054 0x 'Comparas si lleva el mini de equilibrio que mira a la derecha.
if 0x1 goto @CruzasID
goto @CruzasDI
#org @CruzasID
setvar 0x4054 0x 'Mini del prota normal.
callasm 0x805BE61
applymovement 0xFF @movAndarHastaDerecha
waitmovement 0xFF
msgbox @textCuerdaCruzada 0x6 'El texto de que has cruzado la cuerda.
end
#org @CruzasDI
setvar 0x4054 0x 'Mini del prota normal.
callasm 0x805BE61
applymovement 0xFF @movAndarHastaIzquierda
waitmovement 0xFF
msgbox @textCuerdaCruzada 0x6 'El texto de que has cruzado la cuerda.
end
'---------------- Los textos.
#org @text¿TienesCuerda? 'Este texto es el de "¿Pongo una cuerda para cruzar el acantilado?"
#org @textNoPongoCuerda 'Texto de "No pongo la cuerda."
#org @textCuerdaPuesta 'Texto de "Ya he colocado la cuerda."
#org @textNoTienesCuerda 'Texto de "Vaya, parece que no tengo cuerda."
#org @text¿TienesCuerda? 'Este texto es el de "Puedo cruzar el acantilado por la cuerda, pero podría caerme. ¿Lo cruzo?"
#org @textTeRajas 'Texto de "Te rajas y no cruzas."
#org @textEquilibrio 'El texto de que tienes que mantener el equilibrio, explicas que si te vas para una dirección tienes que pulsar la tecla opuesta para no caerte.
#org @textCuerdaCruzada 'El texto de que has cruzado la cuerda.
'---------------- Los movimientos.
#org @movAndarHastaCentroI 'El movimiento que va desde la izquierda hasta el centro, es decir X pasos a la derecha. (Al final del movimiento pegaría que pusieras una "!", para el texto que viene despues.
#org @movAndarHastaCentroD 'El movimiento que va desde la derecha hasta el centro, es decir X pasos a la izquierda. (Al final del movimiento pegaría que pusieras una "!", para el texto que viene despues.
#org @movAndarHastaDerecha 'El movimiento para terminar de cruzar la cuerda de izquierda a derecha.
#org @movAndarHastaIzquierda 'El movimiento para terminar de cruzar la cuerda de derecha a izquierda.
#org @movArr 'El movimiento de balanceo hacia arriba.
#org @movAbj 'El movimiento de balanceo hacia abajo.
#org @movCaerseArr 'El movimiento de que te caes arriba.
#org @movCaerseAbj 'El movimiento de que te caes abajo.
#org @movVuelvesAlCentro 'Vuelve a estar en la posición de equilibrio el mini.
Cualquier duda o error avísame y lo reviso, disfruta del script y cuando puedas grabarlo avísame, y subo el vídeo a mi canal y lo pongo en mi recopilación de scripts
Última edición: