Registrarse

Error con scripts con el texto de obtención de objeto

Estado
Cerrado para nuevas respuestas.
Respuesta: Error con scripts no aparece el texto de obtención de objeto

Pues vaya compañero, el script, esta hecho un desastre, ademas, te salen esos mensajes de obtuviste x cosa porque, estas usando el tipo de mensaje 0x0 (no se si existe la verdad)

Cambia esa parte msgbox @n1 0x6

Y te recomiendo antes de postear cada duda que tengas leerte tutoriales de scripting, aquel script que hiciste esta desorganizado...

https://whackahack.com/foro/t-42542/megatutorial-scripting-desde-cero-finalizado

Ahora a leer y practicar!!

M.H.B.P
 
Respuesta: Error con scripts no aparece el texto de obtención de objeto

Pues vaya compañero, el script, esta hecho un desastre, ademas, te salen esos mensajes de obtuviste x cosa porque, estas usando el tipo de mensaje 0x0 (no se si existe la verdad)

Cambia esa parte msgbox @n1 0x6

Y te recomiendo antes de postear cada duda que tengas leerte tutoriales de scripting, aquel script que hiciste esta desorganizado...

https://whackahack.com/foro/t-42542/megatutorial-scripting-desde-cero-finalizado

Ahora a leer y practicar!!

M.H.B.P
¿Y como tendría que cambiar eso?
 
Respuesta: Error con scripts no aparece el texto de obtención de objeto

¿Y como tendría que cambiar eso?
No has leído lo suficiente acerca del scripting.... te recomiendo que lo hagas no cualquiera, te pueda estar resolviendo tus "dudas" entre comillas

Esta es la primera y ultima vez que te hago un script, como te dije y te lo vuelvo a repetir, si de verdad, quieras hacer un hackrom, lee! y practica
NO CUALQUIERA, SE TOMA LA MOLESTIA EN HACER SCRIPTS para otra persona, que no tiene las ganas en aprender....

Código:
#dynamic 0x800000

#org @ini
lock
faceplayer
checkflag 0x828
if 0x1 goto @ini2
msgbox @1 0x6
givepokemon 0x1 0x17 0x0 0x0 0x0 0x0
fanfare 0x13E
preparemsg @2
waitmsg
waitfanfare
closeonkeypress
pause 0x15
setflag 0x829
fanfare 0x13E
preparemsg @3
waitmsg
waitfanfare
closeonkeypress
setflag 0x828
end

#org @ini2
msgbox @4 0x6
release
end

#org @4
= Papá: Que disfrutes de tu viaje [player]

#org @3
=  Obtuviste una Pokedex!

#org @2
= Has obtenido, un Bulbasaur!

#org @1
= Papá: Ojalá uses bien mis regalos,\nusalos con cuidado
Pd: cambia, el pokemon y los mensajes, ya que lo edite un poco a mi gusto....

Espero haberte ayudado, me llevo tiempo ya que no sabia la fanfare, que debía usar, tuve que abrir un rom e investigar los scripts, del juego propio.

M.H.B.P
 

Lunos

Enfrentando a La Organización
Miembro insignia
Respuesta: Error con scripts no aparece el texto de obtención de objeto

estas usando el tipo de mensaje 0x0 (no se si existe la verdad)
El hecho de que no le diese problemas al compilar el script significa que existe.
Curiosamente, sin dudas ese es el problema. Al hacer un script rapido con ese comando, noté que el NPC entrega un objeto (en mi caso fue un "??????").

Estoy haciendo un "hackrom" con mis conocimientos y tengo bastantes errores:
https://postimg.org/image/i83mt2lnf/
https://postimg.org/image/xghugzsc9/
https://postimg.org/image/rlg5x10h1/
Me aparece que me dan superballs, masterballs cuando en realidad es un Pokémon o no aparece el texto de "Obtuviste x cosa"
Ayuda :(
Zilver ya te solucionó el problema (aunque en su script hay varios comandos innecesarios), pero quisiera agregar que el comando "if 0x1 goto @X" solo se usa tras comprobar el estado de una flag (checkflag) o tras comprobar el resultado de un msgbox 0x5 (Pregunta de Si/No).
 
Respuesta: Error con scripts no aparece el texto de obtención de objeto

No has leído lo suficiente acerca del scripting.... te recomiendo que lo hagas no cualquiera, te pueda estar resolviendo tus "dudas" entre comillas

Esta es la primera y ultima vez que te hago un script, como te dije y te lo vuelvo a repetir, si de verdad, quieras hacer un hackrom, lee! y practica
NO CUALQUIERA, SE TOMA LA MOLESTIA EN HACER SCRIPTS para otra persona, que no tiene las ganas en aprender....

Código:
#dynamic 0x800000

#org @ini
lock
faceplayer
checkflag 0x828
if 0x1 goto @ini2
msgbox @1 0x6
givepokemon 0x1 0x17 0x0 0x0 0x0 0x0
fanfare 0x13E
preparemsg @2
waitmsg
waitfanfare
closeonkeypress
pause 0x15
setflag 0x829
fanfare 0x13E
preparemsg @3
waitmsg
waitfanfare
closeonkeypress
setflag 0x828
end

#org @ini2
msgbox @4 0x6
release
end

#org @4
= Papá: Que disfrutes de tu viaje [player]

#org @3
=  Obtuviste una Pokedex!

#org @2
= Has obtenido, un Bulbasaur!

#org @1
= Papá: Ojalá uses bien mis regalos,\nusalos con cuidado
Pd: cambia, el pokemon y los mensajes, ya que lo edite un poco a mi gusto....

Espero haberte ayudado, me llevo tiempo ya que no sabia la fanfare, que debía usar, tuve que abrir un rom e investigar los scripts, del juego propio.

M.H.B.P
Estás seguro que no quiero aprender? Porque crees que intente hacer ese script?
De todas formas estoy trabajando en essentials ahora
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Re: Respuesta: Error con scripts no aparece el texto de obtención de objeto

Lunos dijo:
El hecho de que no le diese problemas al compilar el script significa que existe.
Curiosamente, sin dudas ese es el problema. Al hacer un script rapido con ese comando, noté que el NPC entrega un objeto (en mi caso fue un "??????").
En realidad no es curioso. Lo que me parece un tanto extraño es que a esta altura no se sepa cómo funciona un msgbox ni qué hacen los tipos 0 y 1. Por supuesto que no es culpa tuya ni de Zilver y mucho menos del chico que pregunta; más bien es de los tutoriales poco explicativos como el que hoy tenemos de referencia (ejémejémxabiejémejém).

Para aquellos que sean lo suficientemente viejos aquí, recordarán el tutorial de scripts de Ciro, vamos, con el que aprendimos todos antes de que xabi hiciera el suyo. Casualmente él sí explicaba todos los tipos de mensaje y cuándo usarlos.

Empecemos: El actual comando msgbox (XSE 1.1) es bastante pobre, en realidad es una macro que incluye 2 comandos de scripting. Primero un loadpointer que carga en la RAM el offset del texto a mostrar y luego un callstd (que recordarán quienes hayan usado XSE 1.0) que llama a la función predefinida que lo muestra en pantalla.
El parámetro (ese número que usamos en el XSE 1.1 como segundo parámetro del msgbox) es el índice de la función a llamar. Las funciones 0 y 1 corresponden a cuando te dan un objeto y cuando lo encuentras en el suelo respectivamente.
El comando giveitem es cuando lo usamos, ya que de nuevo es otro comando extraño como el msgbox que en realidad incluye más de uno. El tercer parámetro del comando.
Edit: Por cierto, olvidé mencionar que la función 0 además de mostrar el mensaje, te entrega el objeto. Pero claro, en este caso no había un objeto asignado Lunos, por eso te dio ese.

NO CUALQUIERA, SE TOMA LA MOLESTIA EN HACER SCRIPTS para otra persona, que no tiene las ganas en aprender....
NO es esa la forma de responderle a un usuario. No a todos nos son fáciles las mismas cosas ni aprendemos del mismo modo. Agradecería que la próxima vez dejes esa actitud de lado y no ensucies una respuesta más o menos decente.


Zilver ya te solucionó el problema (aunque en su script hay varios comandos innecesarios), pero quisiera agregar que el comando "if 0x1 goto @X" solo se usa tras comprobar el estado de una flag (checkflag) o tras comprobar el resultado de un msgbox 0x5 (Pregunta de Si/No).
Agrego: o al comparar el valor de una variable. En fin, cuando la lógica nos indica que necesitamos una estructura condicional.

Por cierto, ya que hablamos de lógica, quiero fomentar a que quienes quieran scriptear acudan a ella permanentemente ya que es nuestra compañera esencial.

Bueno, espero haber aclarado el asunto y que esto sirva como un diagnóstico para cambiar el rumbo en los tutoriales, empecemos a explicar y a entender lo que hacemos en lugar de simplemente repetir qué escribir en el editor y hacerlo una y otra vez como si fuera verdad absoluta.
Cualquier otra duda que tengan, no teman consultarme ;)
 
Estado
Cerrado para nuevas respuestas.
Arriba