Registrarse

Script que no funciona

Estado
Cerrado para nuevas respuestas.

oiram

Pokémon Gea
Hola, he estado intentando un script en una rom limpia y ahora mismo no se qué falla exactamente, pero sé que tiene que haber como mínimo varios errores. Aquí dejo el script:
#dynamic 0x800000

#org @start
lock
applymovement 0xFF @movprota
waitmovement 0xFF
msgbox @text1 0x6
multichoice 0x0 0x0 0x41 0x1
compare LASTRESULT 0x0
if 0x1 goto @turtwig
compare LASTRESULT 0x1
if 0x1 goto @numel
compare LASTRESULT 0x2
if 0x1 goto [MENTION=21118]MUDKIP[/MENTION]
compare LASTRESULT 0x3
if 0x1 goto @swinub
compare LASTRESULT 0x4
if 0x1 goto @gligar
compare LASTRESULT 0x5
if 0x1 goto @golett
msgbox @textend 0x6
release
end

#org @movprota
#raw 0x01
#raw 0xFE

#org @text1
= weeras

#org @turtwig
showpokepic 0xFE 0xA 0x3
msgbox @turtwig? 0x5
compare LASTRESULT 0x1
if 0x1 goto @taketurtwig
hidepokepic
release
end

#org @taketurtwig
givepokemon 0xFE 0x5 0x0 0x0 0x0 0x0
fanfare 0x13E
msgbox @yehturtwig 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x1
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto [MENTION=25483]nic[/MENTION]kname
msgbox [MENTION=12848]Sam[/MENTION]umudkip 0x6
setvar 0x4050 0x1
release
end

#org @turtwig?
= Quieres a turtwig?

#org @yehturtwig
= Obtuviste a turtwig!

#org @4
= quieres ponerle un mote?

#org [MENTION=12848]Sam[/MENTION]umudkip
= yo cogeré a mudkip!

#org @numel
showpokepic 0x153 0xA 0x3
msgbox @numel? 0x5
compare LASTRESULT 0x1
if 0x1 goto @takenumel
hidepokepic
release
end

#org @takenumel
givepokemon 0x153 0x5 0x0 0x0 0x0 0x0
fanfare 0x13E
msgbox @yehnumel 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x2
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto [MENTION=25483]nic[/MENTION]kname
msgbox [MENTION=12848]Sam[/MENTION]uturtwig 0x6
setvar 0x4050 0x2
release
end

#org [MENTION=25483]nic[/MENTION]kname
call 0x1A74EB
return

#org @numel?
= Quieres a numel?

#org @yehnumel
= Obtuviste a numel!

#org [MENTION=12848]Sam[/MENTION]uturtwig
= yo cogeré a turtwig!!


#org [MENTION=21118]MUDKIP[/MENTION]
showpokepic 0x11b 0xA 0x3
msgbox [MENTION=21118]MUDKIP[/MENTION]? 0x5
compare LASTRESULT 0x1
if 0x1 goto @takemudkip
hidepokepic
release
end

#org @takemudkip
givepokemon 0x11b 0x5 0x0 0x0 0x0 0x0
hidepokepic
fanfare 0x13E
msgbox @yehmudkip 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x3
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto [MENTION=25483]nic[/MENTION]kname
msgbox [MENTION=12848]Sam[/MENTION]uturtwig 0x6
setvar 0x4050 0x3
release
end

#org [MENTION=21118]MUDKIP[/MENTION]?
= Quieres a mudkip?

#org @yehmudkip
= Obtuviste a mudkip!


#org @swinub
showpokepic 0xDC 0xA 0x3
msgbox @swinub? 0x5
compare LASTRESULT 0x1
if 0x1 goto @takeswinub
hidepokepic
release
end

#org @takeswinub
givepokemon 0xDC 0x5 0x0 0x0 0x0 0x0
hidepokepic
fanfare 0x13E
msgbox @yehswinub 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x4
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto [MENTION=25483]nic[/MENTION]kname
msgbox [MENTION=12848]Sam[/MENTION]uturtwig 0x6
setvar 0x4050 0x4
release
end

#org @swinub?
= Quieres a swinub?

#org @yehswinub
= Obtuviste a swinub!

#org @gligar
showpokepic 0xCF 0xA 0x3
msgbox @gligar? 0x5
compare LASTRESULT 0x1
if 0x1 goto @takegligar
hidepokepic
release
end

#org @takegligar
givepokemon 0xCF 0x5 0x0 0x0 0x0 0x0
hidepokepic
fanfare 0x13E
msgbox @yehgligar 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x5
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto [MENTION=25483]nic[/MENTION]kname
msgbox [MENTION=12848]Sam[/MENTION]uturtwig 0x6
setvar 0x4050 0x5
release
end

#org @gligar?
= Quieres a gligar?

#org @yehgligar
= Obtuviste a gligar!

#org @golett
showpokepic 0x102 0xA 0x3
msgbox @golett? 0x5
compare LASTRESULT 0x1
if 0x1 goto @takegligar
hidepokepic
release
end

#org @takegolett
givepokemon 0x102 0x5 0x0 0x0 0x0 0x0
hidepokepic
fanfare 0x13E
msgbox @yehgolett 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x6
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto [MENTION=25483]nic[/MENTION]kname
msgbox [MENTION=12848]Sam[/MENTION]uturtwig 0x6
setvar 0x4050 0x6
end

#org @golett?
= Quieres a golett?

#org @yehgolett
= Obtuviste a golett!

#org @textend
= bye
Y he aquí el fallo en el juego:


Especifico que uso XSE 1.0, que antes de compilar el script repointeé las choice box y añadí la nueva con 6 opciones y que es un script de persona de habla normal ya que es solo un testeo.
¡Gracias de antemano y espero poder solucionarlo! Saludos!!
 
Última edición:
Pero... Creo que no especificas mucho.
Creo que si es un Script de Gatillo/Nivel, deberías especificar con las Variables que utilizaste. También sería útil que especificaras que tipo de error es el que te da.
But como sea. Seguramente tu Script da problemas debido a que, como lo hiciste en una ROM Limpia de Fire Red, el multichoice puede no estar configurado, y al no estarlo, puede que lea datos que no existen, haciendo que dé error... O algo así.
Aun asi, estoy casi seguro que tu error radica en el multichoice.
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Como Raitsu te dijo, sería bueno que especifiques más.
¿Estás usando XSE 1.1? No recuerdo si en el 1.0 es igual, pero en esa versión la sintaxis correcta para un msgbox es: "msgbox puntero tipo-de-msgbox", por ejemplo "msgbox @turtwig 0x6", no "msgbox 0x6 @turtwig" como pusiste en todos los casos.
Es decir:

Código:
[COLOR=Green][PLAIN]msgbox @turtwig 0x6[/PLAIN] 'Escritura correcta[/COLOR]
[COLOR=Red][PLAIN]msgbox 0x6 @turtwig[/PLAIN] 'Escritura incorrecta[/COLOR]
Nota: No importa el tipo de mensaje (0x6, 0x5, 0x4, ...) igual va el puntero primero.

EDIT: También recuerda que los punteros no pueden tener espacios, ¿no? Creo que aquí salen así por el BBCode de las menciones, pero fíjate de no ponerlo así en el XSE. Si no quieres que salgan así en el foro, la próxima vez que postees un script enciérralo en las etiquetas: [noparse][/noparse]
 
Última edición:

oiram

Pokémon Gea
Pero... Creo que no especificas mucho.
Creo que si es un Script de Gatillo/Nivel, deberías especificar con las Variables que utilizaste. También sería útil que especificaras que tipo de error es el que te da.
But como sea. Seguramente tu Script da problemas debido a que, como lo hiciste en una ROM Limpia de Fire Red, el multichoice puede no estar configurado, y al no estarlo, puede que lea datos que no existen, haciendo que dé error... O algo así.
Aun asi, estoy casi seguro que tu error radica en el multichoice.
Como Raitsu te dijo, sería bueno que especifiques más.
¿Estás usando XSE 1.1? No recuerdo si en el 1.0 es igual, pero en esa versión la sintaxis correcta para un msgbox es: "msgbox puntero tipo-de-msgbox", por ejemplo "msgbox @turtwig 0x6", no "msgbox 0x6 @turtwig" como pusiste en todos los casos.
Es decir:

Código:
[COLOR=Green][PLAIN]msgbox @turtwig 0x6[/PLAIN] 'Escritura correcta[/COLOR]
[COLOR=Red][PLAIN]msgbox 0x6 @turtwig[/PLAIN] 'Escritura incorrecta[/COLOR]
Nota: No importa el tipo de mensaje (0x6, 0x5, 0x4, ...) igual va el puntero primero.
Ooops perdonad, se me olvidó especificar que uso XSE 1.0, que antes de compilar el script repointeé las choice box y añadí la nueva con 6 opciones y que es un script de persona de habla normal ya que es solo un testeo. Voy a probar con lo que ha dicho @Expresidente Pinedo y gracias a los dos. Ahora informo
 

oiram

Pokémon Gea
Para no abrir un tema nuevo, en este post explico otro problema en el mismo script, aunque le hice pequeños cambios teniendo en cuenta lo que me dijeron sigue habiendo un problema. Hablo con el personaje y...

Después se me queda congelado el protagonista... ¿Qué falla ahora?

PD: edité el script en el post principal
 

oiram

Pokémon Gea
¿Estás usando XSE 1.0 o 1.1? ¿En qué parte del script se congela?
Está en el post principal, uso XSE 1.0 y el script se me congela una vez le doy a la A después de la textbox bugeada, que aparece justo después de un pequeño applymovement.
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
El script está realmente en un estado desastrozo. No tengo tiempo ahora de revisarlo por completo, pero voy a marcar los errores en uno solo de los pokemons:

Código:
#org @turtwig
[/PLAIN][COLOR=Red][B]lock[/B] 'Innecesario, ya está el lock antes.[/COLOR]
[PLAIN]msgbox @turtwig? 0x5
compare LASTRESULT 0x1
if 0x1 goto @taketurtwig
[/PLAIN][COLOR=Red][B]hidepokepic[/B] 'No hay ningún pokepic mostrado en este momento[/COLOR]
[PLAIN]release
end

#org @taketurtwig
showpokepic 0xFE 0xA 0x3
givepokemon 0xFE 0x5 0x0 0x0 0x0 0x0
hidepokepic
fanfare 0x13E
msgbox @yehturtwig 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x1
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto [MENTION=25483]nic[/MENTION]kname
[/PLAIN][COLOR=Red][B]msgbox [MENTION=12848]Sam[/MENTION]umudkip 0x6[/B] ' ¿Y esto? Estás mostrando un mensaje de mudkip al escoger un turtwig[/COLOR]
setvar 0x4050 0x1
[COLOR=Green][B]release[/B] 'Falta este release en tu script[/COLOR]
end
 

oiram

Pokémon Gea
El script está realmente en un estado desastrozo. No tengo tiempo ahora de revisarlo por completo, pero voy a marcar los errores en uno solo de los pokemons:

Código:
#org @turtwig
[/PLAIN][COLOR=Red][B]lock[/B] 'Innecesario, ya está el lock antes.[/COLOR]
[PLAIN]msgbox @turtwig? 0x5
compare LASTRESULT 0x1
if 0x1 goto @taketurtwig
[/PLAIN][COLOR=Red][B]hidepokepic[/B] 'No hay ningún pokepic mostrado en este momento[/COLOR]
[PLAIN]release
end

#org @taketurtwig
showpokepic 0xFE 0xA 0x3
givepokemon 0xFE 0x5 0x0 0x0 0x0 0x0
hidepokepic
fanfare 0x13E
msgbox @yehturtwig 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x1
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto   [MENTION=25483]nic[/MENTION]kname
[/PLAIN][COLOR=Red][B]msgbox   [MENTION=12848]Sam[/MENTION]umudkip 0x6[/B] ' ¿Y esto? Estás mostrando un mensaje de mudkip al escoger un turtwig[/COLOR]
setvar 0x4050 0x1
[COLOR=Green][B]release[/B] 'Falta este release en tu script[/COLOR]
end
Aplicados los cambios que me has recomendado, sigue sucediendo lo mismo. Aquí os dejo el nuevo script:
#dynamic 0x800000

#org @start
lock
applymovement 0xFF @movprota
waitmovement 0xFF
msgbox @text1 0x6
multichoice 0x0 0x0 0x41 0x1
compare LASTRESULT 0x0
if 0x1 goto @turtwig
compare LASTRESULT 0x1
if 0x1 goto @numel
compare LASTRESULT 0x2
if 0x1 goto @MUDKIP
compare LASTRESULT 0x3
if 0x1 goto @swinub
compare LASTRESULT 0x4
if 0x1 goto @gligar
compare LASTRESULT 0x5
if 0x1 goto @golett
msgbox @textend 0x6
release
end

#org @movprota
#raw 0x01
#raw 0xFE

#org @text1
= weeras

#org @turtwig
showpokepic 0xFE 0xA 0x3
msgbox @turtwig? 0x5
compare LASTRESULT 0x1
if 0x1 goto @taketurtwig
hidepokepic
release
end

#org @taketurtwig
givepokemon 0xFE 0x5 0x0 0x0 0x0 0x0
fanfare 0x13E
msgbox @yehturtwig 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x1
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto @nickname
msgbox @Samumudkip 0x6
setvar 0x4050 0x1
release
end

#org @turtwig?
= Quieres a turtwig?

#org @yehturtwig
= Obtuviste a turtwig!

#org @4
= quieres ponerle un mote?

#org @Samumudkip
= yo cogeré a mudkip!

#org @numel
showpokepic 0x153 0xA 0x3
msgbox @numel? 0x5
compare LASTRESULT 0x1
if 0x1 goto @takenumel
hidepokepic
release
end

#org @takenumel
givepokemon 0x153 0x5 0x0 0x0 0x0 0x0
fanfare 0x13E
msgbox @yehnumel 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x2
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto @nickname
msgbox @Samuturtwig 0x6
setvar 0x4050 0x2
release
end

#org @nickname
call 0x1A74EB
return

#org @numel?
= Quieres a numel?

#org @yehnumel
= Obtuviste a numel!

#org @Samuturtwig
= yo cogeré a turtwig!!


#org @MUDKIP
showpokepic 0x11b 0xA 0x3
msgbox @MUDKIP? 0x5
compare LASTRESULT 0x1
if 0x1 goto @takemudkip
hidepokepic
release
end

#org @takemudkip
givepokemon 0x11b 0x5 0x0 0x0 0x0 0x0
hidepokepic
fanfare 0x13E
msgbox @yehmudkip 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x3
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto @nickname
msgbox @Samuturtwig 0x6
setvar 0x4050 0x3
release
end

#org @MUDKIP?
= Quieres a mudkip?

#org @yehmudkip
= Obtuviste a mudkip!


#org @swinub
showpokepic 0xDC 0xA 0x3
msgbox @swinub? 0x5
compare LASTRESULT 0x1
if 0x1 goto @takeswinub
hidepokepic
release
end

#org @takeswinub
givepokemon 0xDC 0x5 0x0 0x0 0x0 0x0
hidepokepic
fanfare 0x13E
msgbox @yehswinub 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x4
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto @nickname
msgbox @Samuturtwig 0x6
setvar 0x4050 0x4
release
end

#org @swinub?
= Quieres a swinub?

#org @yehswinub
= Obtuviste a swinub!

#org @gligar
showpokepic 0xCF 0xA 0x3
msgbox @gligar? 0x5
compare LASTRESULT 0x1
if 0x1 goto @takegligar
hidepokepic
release
end

#org @takegligar
givepokemon 0xCF 0x5 0x0 0x0 0x0 0x0
hidepokepic
fanfare 0x13E
msgbox @yehgligar 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x5
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto @nickname
msgbox @Samuturtwig 0x6
setvar 0x4050 0x5
release
end

#org @gligar?
= Quieres a gligar?

#org @yehgligar
= Obtuviste a gligar!

#org @golett
showpokepic 0x102 0xA 0x3
msgbox @golett? 0x5
compare LASTRESULT 0x1
if 0x1 goto @takegligar
hidepokepic
release
end

#org @takegolett
givepokemon 0x102 0x5 0x0 0x0 0x0 0x0
hidepokepic
fanfare 0x13E
msgbox @yehgolett 0x6
waitfanfare
closeonkeypress
setflag 0x828
setvar 0x4030 0x6
msgbox @4 0x5
compare LASTRESULT 0x1
if 0x1 goto @nickname
msgbox @Samuturtwig 0x6
setvar 0x4050 0x6
end

#org @golett?
= Quieres a golett?

#org @yehgolett
= Obtuviste a golett!

#org @textend
= bye
 

Jaizu

Usuario mítico
Error:
msgbox Sam umudkip 0x6
¿Y si revisas tu código en vez de pedirle a la gente que trabaje por ti? Hay errores muy tontos que se corrigen en cuanto los lees.
 

oiram

Pokémon Gea
Error:
msgbox Sam umudkip 0x6
¿Y si revisas tu código en vez de pedirle a la gente que trabaje por ti? Hay errores muy tontos que se corrigen en cuanto los lees.
A ver, lógicamente no voy a dejar espacios para una dirección dinámica, es evidente que eso es culpa de que no sabía cómo hacer para que no se mencione a algún usuario del foro. Antes de ir a matar y dudar sobre la finalidad de otra persona, pregunta si en el script de verdad lo tengo así porque no lo tengo así evidentemente. Además, no es de agrado para nadie la forma en que te diriges en esa respuesta.
Edito, ya sé como hacer para que no me salga la mención automática, gracias Expresidente Pinedo.
 

Jaizu

Usuario mítico
A ver, lógicamente no voy a dejar espacios para una dirección dinámica, es evidente que eso es culpa de que no sabía cómo hacer para que no se mencione a algún usuario del foro. Antes de ir a matar y dudar sobre la finalidad de otra persona, pregunta si en el script de verdad lo tengo así porque no lo tengo así evidentemente. Además, no es de agrado para nadie la forma en que te diriges en esa respuesta.
Edito, ya sé como hacer para que no me salga la mención automática, gracias Expresidente Pinedo.
Entonces pega tu código entre las etiquetas code
 
M

Miembro eliminado 28262

Invitado
No lo he leído del todo, pero como recomendación te digo que el script es excesivamente largo. Podrías simplificarte la vida haciendo unos calls y return aquí y allá.

Saludos!
 
Estado
Cerrado para nuevas respuestas.
Arriba