Registrarse

Script de nivel [RUBY ENG]

Estado
Cerrado para nuevas respuestas.

ReoNeky

Compositor de WaH
Staff
¡Hola!
Tremenda duda inunda mi alma y conciencia. ¿:.
Veamos, me explico:
En un mapa en concreto, quiero poner 2 script de nivel, cuando ocurra el primero, luego al entrar que ocurra el segundo.
El problema es: Cuando creo otro script de nivel me sale con el mismo offset que el primero, y si pongo otro offset, el otro se me borra.
¿Cómo se hace para que pueda poner 2 scripts de nivel en un mapa sin problemas?
Es que el primero funciona bien, pero el segundo no se ejecuta. y luego miro advance map y el segundo desaparece...
¡Ayuda!
Os lo agradecería mucho :D

Saludos
 
RE: Script de nivel

Simple.

Solo crea un script de nivel en el que pondrás que pase tal o tal cosa.

#dynamic 0x800000

#org @in
checkflag 0x9D0
if 0x1 goto @script2
Aquí iría todo lo de tu primer script.
Hasta que pase no se que...
setflag 0x9D0
end

#org @script2
Aquí iría lo de tu segundo script
end

Si quieres que se siga repitiendo tu segundo script de nivel, entonces déjalo así como este, pero si quieres desactivar ambos, tendrás que darle un valor distinto a la variable que activa el script de nivel.
Saludos.
 

ReoNeky

Compositor de WaH
Staff
RE: Script de nivel

¡Hola!
No sé si he entendido bien, pero he probado lo siguiente:
He puesto lo mismo que me has dicho, usar las flags, pero cuando acaba el primer script directamente pasa al segundo script y se me activan los 2 script en 1 vez que entro y se me Bugea.
Yo lo que quiero es:
Entro en el mapa, se activa el primero. Luego sales a otro mapa, hay un script, ocurre ese script y luego al entrar en el mapa dónde ya se activó el primer script, que se active el segundo.
Eso es todo
¡Ayuda!
x:(
Saludos
 

Cheve

MoonLover~
Miembro de honor
RE: Script de nivel

Hola! Haber si te ayudo: :D

Lo que yo te recomiendo es que hagas dos scripts de nivel individuales de 0x2 load handler etc, etc.

Verás que en el cabezal de Mapa en el A-map, puedes ver que dice "Flag" y "Value" (O valor) en realidad ahí van Variables y no flags.

Aclarado ésto vayamos al grano:

Haces el primer script de nivel, en "Flag" pones una variable, por ejemplo, la 4050, con valor 0 (No sé si ésta variable es funcional)

En ese primer Script, al final, antes del end, agregas Setvar 0x4050 0x1

Luego, devuelta en el cabezal de mapa Creas otro script de nivel pulsando en add y ahora en Flag pones 4050 y value 1

De esta forma se ejecutará el segundo script y no el primero.
Para que ya no se ejecuten ni uno ni otro, al final del segundo pones un "Setvar 0x4050 0x3" y listo :D


*Nota importante: Si hackeas Esmeralda (No sé en otras Roms) los script de nivel de la habitación del Héroe son los mismos que los de el piso de más abajo

Salu2!
 

ReoNeky

Compositor de WaH
Staff
RE: Script de nivel

¡Hola!
Vale aclaro, hackeo en Ruby.
Es que cuando le doy a add para crear otro más. El nuevo se acaba borrando, es como si no me dejara poner los 2 seguidos. Y cuando lo "creo" este me sale con el mismo offset que el primero. Por lo tanto, cuando le pongo un nuevo offset, el primero se me borra.
Nesesito ayuda x:(
Os agradezco vuestro esfuerzo :D

Saludos
 
RE: Script de nivel

Sorry man, tienes razón... no sé en que estaba pensando.
Debes hacer esto:
- Seguiremos en plan de 1 solo script.

En vez de activar la flag cuando acaba el primer script, la activaremos cuando estés en la otra habitación.
Entonces ya pasarías a tu segundo script dentro de uno... ya solo sería cambiar la variable.
Saludos.
 

ReoNeky

Compositor de WaH
Staff
RE: Script de nivel

¡Hola!
Bien, lo he echo pero no estoy seguro de 1 cosa. Si pongo el setvar en el primer script, luego al entrar por segunda vez no se activa. Pero si lo pongo en el segundo, Se repite el primero contanstemente...
¡Ayuda!
Muchas gracias por el esfuerzo :D

Saludos
 

eing

Miembro de honor
Miembro de honor
RE: Script de nivel

¿Que advance map utilizas?
Igualmente, tu en el cabezal del mapa pones la condicion para que se ejecute.
Por ejemplo si pones en "Flag" 40FF y en value 0000.
Siempre que la variable 40FF sea 0 se ejecutará tu script de nivel.

Una vez se ejecuta tu script de nivel, puedes hacer lo siguiente.

#org 0x
checkflag 0xmismo_evento
if 0x1 goto 0xnada_temporal
loquesea
setflag 0xmismo evento
end

#org 0xnada_temporal
checkflag 0xflag_otroevento
if 0x1 goto 0xevento2
end

#org 0xevento2
loquesea
setvar 0x40FF 0x1
end


(Luego ya solo queda poner en el otro evento, que tenga que pasar, para quer se ejecute el "evento2" del script de nivel, activar la flag que pusiste...)

Saludos!
 

ReoNeky

Compositor de WaH
Staff
RE: Script de nivel

¡Hola!

Bien, lo que has dicho ha cambiado bastante la cosa Eing.
El problema es:
Pasa el script y luego pasa a la "nada temporal" y se queda pillado, los tios del mapa se mueven y todo, pero el protagonista no se mueve. Es como si hiciera bucle de un script sin nada....

De verdad gracias por vuestro esfuerzo.
¡Ayuda!

Saludos
 
RE: Script de nivel

Mira compañero, no quiero que te confundas ni nada... pero acabo de hacer un script que hace eso:

#dynamic 0x800000

#org @in
checkflag 0x8D0
if 0x1 goto @script2
msgbox @sms 0x6
setvar 0x44A0 0x1
end

#org @script2
msgbox @sms2 0x6
setvar 0x44A0 0x2
end

#org @sms
= Primer script de nivel ¿eh?

#org @sms2
= Vaya, veo que ya estás en el\nsegundo script de nivel.

#dynamic 0x800000

#org @in
CONTENIDO
setflag 0x8D0
setvar 0x44A0 0x0
end
Saludos.
 

eing

Miembro de honor
Miembro de honor
RE: Script de nivel

Zas, me olvidé de eso, que se crea un bucle, cierto como la vida misma.
Lo correcto sería tal y como te dije pero de la siguiente manera..


#org 0x
checkflag 0xmismo_evento
if 0x1 goto 0xevento2
loquesea
setflag 0xmismo evento
setvar 0x40FE 0x1
end

#org 0xevento2
loquesea
setvar 0x40FF 0x1
end

(En el evento de la otra persona, la que le hables para que se active el segundo evento del script de nivel, deberias poner tambien un "setvar 0x40FE 0x0" , para que el scritp de nivel se vuelva a ejecutar, pero esta vez desde la segunda zona, ya que la flag está echa ^^.
Por cierto, en el evento de ESTA persona, antes del setvar pon un checkflag 0xflag o algo para que no vuelva a poner la variable 40FE a 1, cada vez que hables)

@Hackun: Como bien ha puesto él, tambien puedes hacerlo, no solo hay un camino que lleve a Roma, pues unos prefieren unos y otros otros, es lo que nos diferencia... Bien explicado e.e
l
 

ReoNeky

Compositor de WaH
Staff
RE: Script de nivel

¡Hola!
Vale Gracias a todos =D me habeis ayudado bastante.
El problema era que al otro script de la otra habitacion le ponía 40FE 0x2, y a los otros setvar 0x40FE 0x1 y setvar 0x40FE 0x3, cosas raras... xDD.
Ya pueden cerrar el tema. ~~

Muchisimas gracias

Saludos
 
Estado
Cerrado para nuevas respuestas.
Arriba