qna_rh
Thread Id: 7902
Thread Name: [POkémon FR Inglés] error script
#0
JuKrai 13647
¡Hola! Tengo unerror en mi FR es que cuando ago un script con algun MSGBOX pues pongo lo que escribo lo que pasa esque solo sale asta el primer cuadro ejemplo:

#org 0x1BB9C1
faceplayer
checkflag 0x1300
checkflag 0x828
msgbox 0x81BC8DA MSG_KEEPOPEN '"¡[player]!\n¿Qué haces tu por aquí..."
callstd 0x2
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
warp 0x4 0x3 0x0 0x0 0x0
setflag 0x1300
setflag 0x800
end


'---------
' Strings
'---------
#org 0x1BC8DA
= ¡[player]!\n¿Qué haces tu por aquí?\nNo deverías andar por esta cueva es muy\npeligroso ya que hay unos hombres malvados\nintentandose apoderar del pokémon\nque surca los cielos de esta región.\ntoma este pokémon me lo regalo mi amigo serbal\nde la región de Shinnoh.\nVámos a mi laboratorio te enseñaré algo.
(solo sale en el juego lo que eh puesto en rojo)
#1
#|renj!~ 12998
hola bueno, mmm se me ocurre que podria ser que estas poniendo el texto en un espacio con otros bytes, ya que esa direccion es del principio de la rom, yo q tu la pondria desp de 700000 y otra cosa, la idea de poner el tipo de mensaje en XSE es para que no haya q usar la funcion callstx 0x(nº) lo que si tienes que usar, es el comando, closeonkeypress, sino no se cerrara el textbox, los setflags los pondria antes del warp ;) espero te sirva, adios.
#2
JuKrai 13647
No me sirve sigue saliendome solo lo primero :(
#3
Jabi ☭ 12380
La verdad , no recuerdo demasiado de scripts , pero creo que tu error es que pones /n en vez de /l (o otra letra que era LOL) Que solo se pone la primera vez.
Y tambien te recomiendo actualizar el XSE para no tener que poner callstd
#4
#|renj!~ 12998
MMM no creo que eso haga q no se vea el texto simplemente haria que se pase todo automatico sin tener que apretar nada, pero deberias cambiarlo como dice deryko y ademas cambiar la direccion en la que esta el texto. eso seguro. sacale el callSTD no te olvides, y ponele closeonkeypress. deberia funcarte pero lo principal es cambiar la direccion del mensaje[hr]
MMM no creo que eso haga q no se vea el texto simplemente haria que se pase todo automatico sin tener que apretar nada, pero deberias cambiarlo como dice deryko y ademas cambiar la direccion en la que esta el texto. eso seguro. sacale el callSTD no te olvides, y ponele closeonkeypress. deberia funcarte pero lo principal es cambiar la direccion del mensaje
#5
~Criisss 12272
Simple, usas \n, esto sirve para bajar la primer línea, luego debes usar \l para bajar toda la caja. Entonces, el primero SIEMPRE debe ser \n y del segundo hasta el último debe ser \l,

(siempre y cuando no crees una nueva caja lo cual se hace con \p)
#6
.Jaizu! 0
Puedes poner primero /n y luego /p o /l
#7
Javi4315♪ 13374
Quizás el error esté en setflag 0x800 ya que arriba pusiste checkflag 0x828. Prueba a poner setflag 0x828. Suerte!

PD: No creo que sea nada de eso de \n y \l.
#8
eing 12479
^
Se nota que mucho FR no has hackeado...
En rubí aparte de ser un base DESASTROSO (tanto a nivel de gráficas como programacion, es fatidico..) te permite en los scripts usar el /n seguido una de otra. Lo malo es que te saltará de linea muy rápido y quizás no te deje leer el texto. (Eso en muchos hacks suele pasar...)
En cambio en FR, no te deja hacerlo, puesto que la estructura de un msgbox, tal y como dice Criis es asi.

Ah, y respecto al script tuyo, sobran los checkflags 0x----
puesto que esa comprobación es INUTIL, al no ser que después de ella haya una condición. Cosa que no veo en tu script.

Eso son principios de programacion, si pretendes hacer algun script (que no es 10/1.000.000 de lo que es programacion a dia de hoy), deberias saber que siempre que se haya una comprobacion, seguido de ello, debe haber una condicion. (sí hablo de nuestro amigo IF)
#9
JuKrai 13647
:o! gracias criss era eso :D
#10
Loony Boo♪ 12263
Iniciado por JuKrai

¡Hola! Tengo unerror en mi FR es que cuando ago un script con algun MSGBOX pues pongo lo que escribo lo que pasa esque solo sale asta el primer cuadro ejemplo:

#org 0x1BB9C1
lock
faceplayer
checkflag 0x1300
checkflag 0x828
msgbox 0x81BC8DA MSG_KEEPOPEN '"¡[player]!\n¿Qué haces tu por aquí..."
callstd 0x6
givepokemon 0x1 0x5 0x0 0x0 0x0 0x0
setflag 0x1300
setflag 0x800
warp 0x4 0x3 0x0 0x0 0x0
release
end


'---------
' Strings
'---------
#org 0x1BC8DA
= ¡[player]!\n¿Qué haces tu por aquí?\nNo deverías andar por esta cueva es muy\npeligroso ya que hay unos hombres malvados\nintentandose apoderar del pokémon\nque surca los cielos de esta región.\ntoma este pokémon me lo regalo mi amigo serbal\nde la región de Shinnoh.\nVámos a mi laboratorio te enseñaré algo.
(solo sale en el juego lo que eh puesto en rojo)


Te voy a recalcar tres fallos más antes de cerrar el tema:

1º No has pueso ni lock ni release (si fuera un script de nivel que no sea de tipo 2 pasaba, pero lo dudo).

2º No debes utilizar el tipo de msgbox 2 en un script complejo, puede ocasionar errores impredecibles (lo repito un millón de veces y un millón uno que "os lo coméis con papas"). Debes saber que estos detalles deben ser cuidados muy escrupulosamente (comprobarás que en Pokecommunity nunca usan el msgbox de tipo 2 en scripts complejos, son muy cuidadosos).

3º Todos los comandos a excepción de release/releaseall y end deben ir justo antes de warp, ya que a partir de warp el script termina (en este caso, al terminar, no se aplicarán los setflags, con el arreglo que le hice se aplicarán).

Ahora sí, cerrado.