Registrarse

problema con variables

Estado
Cerrado para nuevas respuestas.

Salamence24Hack

RomHacker Novato
Hola, una consulta. Me pueden decir que c**** hago mal acá?. Porque es como si no se activara el setflag.

#dynamic 0x800000

#org @inicio
comparevars 0x4049 0x1
if 0x1 @inicio2
lock
faceplayer
msgbox @msg1 0x5
compare LASTRESULT 0x1
if 0x1 goto @inicio4
if 0x0 goto @inicio3
release
end

#org @inicio4
lock
faceplayer
setvar 0x4049 0x1
givepokemon 0x3 0x24 0x62 0x0 0x0 0x0
fanfare 0x15
msgbox @msg 0x6
waitfanfare
release
end

#org @inicio2
lock
faceplayer
msgbox @msg0 0x6
release
end

#org @inicio3
lock
faceplayer
msgbox @msg2 0x6
release
end

#org @msg0
= Como odio a ese pokemon...

#org @msg1
= ¡Hola!\p¿Querés un Venusaur? Lo odio\nprofundamente.

#org @msg
= ¡[player] a RECIBIDO un VENUSAUR!

#org @msg2
= ¿No? Me cago en tu cara.
 

Inferno

Miembro insignia
Miembro insignia
Hola, una consulta. Me pueden decir que c**** hago mal acá?. Porque es como si no se activara el setflag.

#dynamic 0x800000

#org @inicio
comparevars 0x4049 0x1
if 0x1 @inicio2
lock
faceplayer
msgbox @msg1 0x5
compare LASTRESULT 0x1
if 0x1 goto @inicio4
if 0x0 goto @inicio3
release
end

#org @inicio4
lock
faceplayer
setvar 0x4049 0x1
givepokemon 0x3 0x24 0x62 0x0 0x0 0x0
fanfare 0x15
msgbox @msg 0x6
waitfanfare
release
end

#org @inicio2
lock
faceplayer
msgbox @msg0 0x6
release
end

#org @inicio3
lock
faceplayer
msgbox @msg2 0x6
release
end

#org @msg0
= Como odio a ese pokemon...

#org @msg1
= ¡Hola!\p¿Querés un Venusaur? Lo odio\nprofundamente.

#org @msg
= ¡[player] a RECIBIDO un VENUSAUR!

#org @msg2
= ¿No? Me cago en tu cara.
A ver, hay varios errores, pero el que causa tu problema de que no detecte el setvar, es que has puesto un comparevars en vez de un compare, con un comparevars lo que haces es comparar dos variables, y con el compare lo que haces es comparar una única variable con un valor.
Por tanto tendrás que poner un compare 0xvariable 0xvalor
Luego, el lock y el faceplayer solo son necesarios al principio del script, te sobran unos cuantos, y los que pusiste de primeros deberían ir al inicio de todo.
El segundo if 0x0 sobra, con poner el goto serviría puesto que solo tiene dos posiblidades o ir a la anterior o a esa. Y por último los release y los end, en teoría solo son necesarios en lugares en los que puede acabar el script, con esto me refiero a que después de esos dos goto no te haría falta poner el release y el end puesto que el script saltaría siempre a otro pointer.
PD: Lo vi ahora, el waitfanfare si no lo pones justo después del propio fanfare mejor no lo pongas, no tiene mucho sentido ya que la funcion del waitfanfare es hacer que nada continúe hasta que no se reproduzca dicho fanfare.
 

Salamence24Hack

RomHacker Novato
A ver, hay varios errores, pero el que causa tu problema de que no detecte el setvar, es que has puesto un comparevars en vez de un compare, con un comparevars lo que haces es comparar dos variables, y con el compare lo que haces es comparar una única variable con un valor.
Por tanto tendrás que poner un compare 0xvariable 0xvalor
Luego, el lock y el faceplayer solo son necesarios al principio del script, te sobran unos cuantos, y los que pusiste de primeros deberían ir al inicio de todo.
El segundo if 0x0 sobra, con poner el goto serviría puesto que solo tiene dos posiblidades o ir a la anterior o a esa. Y por último los release y los end, en teoría solo son necesarios en lugares en los que puede acabar el script, con esto me refiero a que después de esos dos goto no te haría falta poner el release y el end puesto que el script saltaría siempre a otro pointer.
PD: Lo vi ahora, el waitfanfare si no lo pones justo después del propio fanfare mejor no lo pongas, no tiene mucho sentido ya que la funcion del waitfanfare es hacer que nada continúe hasta que no se reproduzca dicho fanfare.
Gracias, ya me funcionó. Y otra pregunta, en un script cuando pongo

trainerbattle 0x4 0x01 0x0 @comienzo @pierde

no me deja compilar y me salta un error que dice "los parametros sobre la linea 64 (esa misma) son demasiado bajos, el numero correcto es 6" pongo en vez de 0x4 0x6 y me dice lo mismo pero que el numero correcto es 7. Y cuando pongo 0x7 me dice que el numero correcto es 6. No entiendo xq.
 

Inferno

Miembro insignia
Miembro insignia
Gracias, ya me funcionó. Y otra pregunta, en un script cuando pongo

trainerbattle 0x4 0x01 0x0 @comienzo @pierde

no me deja compilar y me salta un error que dice "los parametros sobre la linea 64 (esa misma) son demasiado bajos, el numero correcto es 6" pongo en vez de 0x4 0x6 y me dice lo mismo pero que el numero correcto es 7. Y cuando pongo 0x7 me dice que el numero correcto es 6. No entiendo xq.
Por lo que veo quieres hacer un trainerbattle del tipo 4, es decir un combate doble. El fallo es sencillo, te falta un pointer, en concreto el que te dirá si no llevas dos o más Pokémon. Te dejo aquí la estructura:

Código:
Trainerbattle 0x4 0x(nº entrenador) 0x0 @(1) @(2) @(3)
· 1: Lo que nos dirá antes de empezar la batalla en un msgbox normal.
· 2: Lo que nos dirá si ganamos la batalla.
· 3: Lo que nos dirá si no llevamos dos o más pokémons (no se producirá la lucha).
 

Salamence24Hack

RomHacker Novato
Por lo que veo quieres hacer un trainerbattle del tipo 4, es decir un combate doble. El fallo es sencillo, te falta un pointer, en concreto el que te dirá si no llevas dos o más Pokémon. Te dejo aquí la estructura:

Código:
Trainerbattle 0x4 0x(nº entrenador) 0x0 @(1) @(2) @(3)
· 1: Lo que nos dirá antes de empezar la batalla en un msgbox normal.
· 2: Lo que nos dirá si ganamos la batalla.
· 3: Lo que nos dirá si no llevamos dos o más pokémons (no se producirá la lucha).
Nono, error mio, yo quiero hacer que despues de una pelea normal, siga el script, me fije en tutoriales y algunos me decian que habia que poner 4
Que hay que poner??
 

Inferno

Miembro insignia
Miembro insignia
Nono, error mio, yo quiero hacer que despues de una pelea normal, siga el script, me fije en tutoriales y algunos me decian que habia que poner 4
Que hay que poner??
Ah vale, en ese caso sería del tipo 3:

Código:
Trainerbattle 0x3 0x(nº entrenador) 0x0 @(texto1)
· Nº entrenador: El entrenador contra el que lucharemos.
· Texto1: Lo que nos dirá cuando ganemos la batalla.

El script continúa después, y cabe destacar que esta batalla no trae asignado el faceplayer así que si quieres que te mire de frente deberás ponerlo tú, también decir que si quieres que diga algún mensaje antes de la batalla tendrás que hacerlo por un msgbox :D
 

Salamence24Hack

RomHacker Novato
Ah vale, en ese caso sería del tipo 3:

Código:
Trainerbattle 0x3 0x(nº entrenador) 0x0 @(texto1)
· Nº entrenador: El entrenador contra el que lucharemos.
· Texto1: Lo que nos dirá cuando ganemos la batalla.

El script continúa después, y cabe destacar que esta batalla no trae asignado el faceplayer así que si quieres que te mire de frente deberás ponerlo tú, también decir que si quieres que diga algún mensaje antes de la batalla tendrás que hacerlo por un msgbox :D
Gracias amigo 😁, perdón por joder tanto pero es que soy muy noob en esto y quiero mejorar jaja.
 
Estado
Cerrado para nuevas respuestas.
Arriba