Registrarse

Error con Callstd 0x (?)

Estado
Cerrado para nuevas respuestas.

CampeonSteven

Usuario de platino
Bueno resulta que estoy haciendo un script (un poquito largo para lo que hace)
y va bien y todo el unico error es que algunos msgbox se repiten 2 veces, (para ser mas especificos los que vienen antes de un callstd 0x6, que por cierto no se que hace) yo solo segui un tutorial para que te quiten un poke (o mejor dicho que lo entregues) y use la rutina que muestra un mini textbox con un nombre arriba en textbox principal, la verdad no se pero intente poniendole el comando closeonkeypress despues del msgbox pero sigue sucediendo.

aqui el script

Código:
#dynamic 0x700000
#org @start
checkflag 0x200
if 0x1 goto @snippet1
if 0x0 goto @snippet2
checkflag 0x201
if 0x1 goto @snippet2
release
end

'---------------
#org @snippet1
loadpointer 0x0 [MENTION=29127]String[/MENTION]1 '"Papá"
loadpointer 0x1 0x872E167
setvar 0x8000 0x0
setvar 0x8001 0xA
setvar 0x8002 0x8
setvar 0x8003 0x2
callasm 0x87286C9
msgbox [MENTION=29127]String[/MENTION]2 0x2 '"Bueno, bueno...\pHm..\p¿Como que t..."
hidecoins 0x0 0x0
applymovement 0x1 @move1
waitmovement 0x1
loadpointer 0x0 [MENTION=29127]String[/MENTION]1 '"Papá"
loadpointer 0x1 0x872E167
setvar 0x8000 0x0
setvar 0x8001 0xA
setvar 0x8002 0x8
setvar 0x8003 0x2
callasm 0x87286C9
msgbox [MENTION=29127]String[/MENTION]3 0x2 '"Que te pasó?, te lastimaste?. te\n..."
hidecoins 0x0 0x0
msgbox [MENTION=29127]String[/MENTION]4 0x2 '"Pero papá no me paso nada, gracias..."
applymovement 0x1 @move1
waitmovement 0x1
msgbox [MENTION=29127]String[/MENTION]5 0x2 '"Grrr...\p...\pBueno, al menos no t..."
closeonkeypress
callstd 0x6
fadescreen 0x1
special 0xBC
waitstate
compare 0x8004 0x6
if 0x4 goto @snippet3
special2 0x8005 0xBA
fanfare 0x13D
waitfanfare
msgbox [MENTION=29127]String[/MENTION]6 0x6 '"[player] ha devuelto\na pidgeotto."
closeonkeypress
callstd 0x6
special 0x176
cmdc3 0x2F
loadpointer 0x0 [MENTION=29127]String[/MENTION]1 '"Papá"
loadpointer 0x1 0x872E167
setvar 0x8000 0x0
setvar 0x8001 0xA
setvar 0x8002 0x8
setvar 0x8003 0x2
callasm 0x87286C9
msgbox [MENTION=29127]String[/MENTION]7 0x2 '"Bueno, espero que este bien,\pAh, ..."
hidecoins 0x0 0x0
clearflag 0x200
setflag 0x201
release
end

'---------------
#org @snippet2
loadpointer 0x0 [MENTION=29127]String[/MENTION]1 '"Papá"
loadpointer 0x1 0x872E167
setvar 0x8000 0x0
setvar 0x8001 0xA
setvar 0x8002 0x8
setvar 0x8003 0x2
callasm 0x87286C9
msgbox [MENTION=29127]String[/MENTION]8 0x2 '"La vida siempre prepara desafios\n..."
hidecoins 0x0 0x0
release
end

'---------------
#org @snippet3
msgbox [MENTION=29127]String[/MENTION]9 0x6 '"(Tengo que devolverle a pidgeotto...."
closeonkeypress
callstd 0x6
fadescreen 0x1
special 0xBC
waitstate
compare 0x8004 0x6
if 0x4 goto @snippet3
special2 0x8005 0xBA
fanfare 0x13D
waitfanfare
msgbox [MENTION=29127]String[/MENTION]6 0x6 '"[player] ha devuelto\na pidgeotto."
closeonkeypress
callstd 0x6
special 0x176
cmdc3 0x2F
loadpointer 0x0 [MENTION=29127]String[/MENTION]1 '"Papá"
loadpointer 0x1 0x872E167
setvar 0x8000 0x0
setvar 0x8001 0xA
setvar 0x8002 0x8
setvar 0x8003 0x2
callasm 0x87286C9
msgbox [MENTION=29127]String[/MENTION]7 0x2 '"Bueno, espero que este bien,\pAh, ..."
hidecoins 0x0 0x0
clearflag 0x200
setflag 0x201
release
end
end


'---------
' Strings
'---------
#org [MENTION=29127]String[/MENTION]1
= Papá

#org [MENTION=29127]String[/MENTION]2
= Bueno, bueno...\pHm..\p¿Como que te ha atacado un Pokemon\nsalvaje?.

#org [MENTION=29127]String[/MENTION]3
= Que te pasó?, te lastimaste?. te\nhirieron?, Te asustaste?.\pDIMELO, PERO DIMELO YA!!!!!!!.\p

#org [MENTION=29127]String[/MENTION]4
= Pero papá no me paso nada, gracias\na pidgeotto.

#org [MENTION=29127]String[/MENTION]5
= Grrr...\p...\pBueno, al menos no te sucedió nada\ngrave, perdon si me pongo\lalgo sobreprotector, es que tu\lmadre anda de viaje y le dije\lque te protegeria...\pPero a veces me paso,\pBien gracias a pidgeotto has estado\na salvo, pero eres muy joven para\lCuidar de un Pokémon, asi que dame\la pidgeotto.

#org [MENTION=29127]String[/MENTION]6
= [player] ha devuelto\na pidgeotto.

#org [MENTION=29127]String[/MENTION]7
= Bueno, espero que este bien,\pAh, si que el profesor Karl te\nhabia dicho que fueses a su\llaboratorio en Pueblo Silicie,\pPues...\pNo puedo imponerme si tu quieres\nir asi que...\p...\pVe si quieres.

#org [MENTION=29127]String[/MENTION]8
= La vida siempre prepara desafios\npara superar, siempre debes\lsuperarlos y volverte fuerte,\les lo que solia decir tu madre\l[player].

#org [MENTION=29127]String[/MENTION]9
= (Tengo que devolverle a pidgeotto.)


'-----------
' Movements
'-----------
#org @move1
#raw 0x57 'Jump in Place (Facing Up/Down)
#raw 0x65 'Double Exclamation Mark (!!)
#raw 0x64 'Cross (X)
#raw 0x63 'Question Mark (?)
#raw 0x62 'Exclamation Mark (!)
#raw 0x65 'Double Exclamation Mark (!!)
#raw 0x65 'Double Exclamation Mark (!!)
#raw 0x65 'Double Exclamation Mark (!!)
#raw 0x4A 'Face Player
#raw 0xFE 'End of Movements
tutoriales que segui
http://whackahack.com/foro/t-45059/fr-asm-mini-caja-texto-secundaria

http://whackahack.com/foro/t-8501/gba-scripting-pokemon-especifico-script-takepokemon-v2-0-a

Uso firered, necesito AIUDA, ok no, si son tan amables en realidad se los agradecere mucho mucho mucho.

Tambien si me explican para que es el comando Callstd yo solo copie, pegue y acomode esa parte.
 

Sasaki Haise

Sugoi desu~
Callstd es un comando que se usaba seguido de los msgbox para que el propio msgbox pudiera ejecutarse, y digo "se usaba" por que apartir de la versión 1.1 de XSE no es necesario el uso de este comando, con un simple msgbox basta para mostrar un texto o box de yes/no, por otra parte en caso de que tuvieras una versión anterior a la 1.1 cosa de la que dudo deberias ponerlos justo despues del msgbox no sueltos por ahí, de no ser así y la versión que usas es la 1.1 (lo mas probable) deberias eliminarlos y dejar solo los msgbox, no se si sea esto lo que te ocasione problemas en el sript en todo caso espero que logres solucionarlo, saludos :3
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Efectivamente, es como ya te lo han dicho. El script en cuestión (¿es de Javi?) usa el callstd debajo del msgbox en lugar del número como tercer parámetro, pues está escrito para XSE 1.0.

La sintaxis (forma de escribir el msgbox) cambia entre esas dos:

xse 1.0 dijo:
msgbox @texto
callstd 0x6
1.1 dijo:
msgbox @texto 0x6
Te explico, el engine en realidad carga la dirección del mensaje y luego ejecuta una rutina que lo lee.
Es decir, la forma en que el juego interpreta el mensaje es la del xse 1.0: carga el mensaje (msgbox) y luego lo lee (callstd, que por cierto significa call standard).

En resumen, quita todos los callstd, que en xse 1.1 los msgboxes no se ponen de ese modo.

Cualquier duda me consultas ;)
 

CampeonSteven

Usuario de platino
Ok puede que sea el problema ya que tecnicamente estoy poniendo 2 msgboxes con este comando, ademas de que el tuto es viejo y tengo la ultima version de XSE, gracias por su ayuda, espero que funcione, luego edito a ver si funiono.

Edito: Muchas gracias ese era mi error.
 
Última edición:

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Ok puede que sea el problema ya que tecnicamente estoy poniendo 2 msgboxes con este comando, ademas de que el tuto es viejo y tengo la ultima version de XSE, gracias por su ayuda, espero que funcione, luego edito a ver si funiono.

Edito: Muchas gracias ese era mi error.
Para la época del tutorial ya había salido el xse 1.1.1, solo que Javi aún no lo había actualizado (él lo dijo en ese tema)
 
Estado
Cerrado para nuevas respuestas.
Arriba