Xabier2012
Usuario mítico
Respuesta: [Escuela de scripts] DUDAS
Muestra el codigo por aquí y agranda la imagen porque no veo que error pone
Muestra el codigo por aquí y agranda la imagen porque no veo que error pone
Muestra el codigo por aquí y agranda la imagen porque no veo que error pone
#dynamic 0x800000
#org @start
faceplayer
lock
compare 0x403D 0x0
if 0x1 goto @pregunta
msgbox @textoultimo 0x6
release
end
#org @pregunta
faceplayer
lock
msgbox @texto1 0x5
compare lastresult 0x1
if 0x1 goto @si
if 0x5 goto @no
release
end
#org @si
checkgender
setvar 0x403D 0x1
compare 0x803D 0x1
if 0x0 goto @chico
if 0x1 goto @chica
end
#org @no
msgbox @textono 0x6
release
end
#org @chico
msgbox @textochico 0x6
release
end
#org @chica
msgbox @textochica 0x6
release
end
#org @texto1
= ¿Te gustaría saber tu género?
#org @textono
= Vale, vuelve cuando quieras\nsaberlo.
#org @textochico
= Vale... entonces eres... ¡Chico!
#org @textochica
= Vale... entonces eres... ¡Chica!
#org @textoultimo
= Ya te he dicho todo lo que tenías\nque saber. No me preguntes más.
Lo hago y me sigue dando el error...♦ZeØn♦;342434 dijo:Me paso justo lo mismo, prueba en el compare lastresult a poner 0x0 o algo asi, creo que por ahi estaba el error, en los 0x1 y tal
Ese 0x5 creo que es el fallo, creo, pon 0x0 y 0x1 , quita el 0x5
Sustituye compare 0x803D 0x1 por compare lastresult 0x1Lo hago y me sigue dando el error...
if (masculino==true){
var 800D=0
} else {
var 800D=1
}
Entiendo, gracias por la respuesta!Las variables que están alrededor de 8000 son variables que el sistema del juego tiene reservado para sus modificaciones.
Si tu modificas esa variable no ocurrirá nada en especial salvo que te pueda dar errores en scripts. Con el checkgender se le da un valor a la variable 800D y a partir de ahí ponemos nuestras condiciones. Si tu trabajas con la variable 800D, piensa que cuando utilices el checkgender volverá a cambiar el valor de la variable.
Si ambias el valor de esa variable manipulas la variable sin más. Y cuando nosotros utilizamos el checkgender manipulamos la variable.
Cuando usamos checkgender el juego es como si hiciera esto:
Si utilizamos en comando countpokemon, nos pondrá el número de pokémons que tenemos en la variable 800D. Esto no significa que si le das un valor tu género cambie o pases a tener otra cantidad de pokemons.Código:if (masculino==true){ var 800D=0 } else { var 800D=1 }
@Tervaxx
#dynamic 0x800000
#org @inicio
lock
faceplayer
compare 0x4011 0x1
if 0x1 goto @weather
if 0x2 goto [MENTION=24590]Ran[/MENTION]dom
msgbox @textopotions 0x6
waitmsg
giveitem 0xD 0x5 Msg_obtain
setvar 0x4011 0x1
release
end
#org @weather
setweather 0x01
msgbox @textosol 0x6
waitmsg
doweather
setvar 0x4011 0x1
release
end
#org [MENTION=24590]Ran[/MENTION]dom
msgbox @textorandom 0x6
release
end
#org @textopotions
= Me acaba de abandonar mi único\npokémon, así que te regalo estas\lpociones.
#org @textosol
= Por lo menos llueve, es mi tiempo\npreferido...
#org @textorandom
= ...\nMejor no digo nada más.
Bueno, he intentado compilar el siguiente script:
El problema está en que al compilarlo me dice que hay error en la línea 11 (giveitem 0xD 0x5 Msg_obtain) y falta #define. He intentado también compilar scripts de algunos compañeros (para ver si era solo mi script) y me pasa lo mismo. ¿Me podríais ayudar, por favor?Código:#dynamic 0x800000 #org @inicio lock faceplayer compare 0x4011 0x1 if 0x1 goto @weather if 0x2 goto [MENTION=24590]Ran[/MENTION]dom msgbox @textopotions 0x6 waitmsg giveitem 0xD 0x5 Msg_obtain setvar 0x4011 0x1 release end #org @weather setweather 0x01 msgbox @textosol 0x6 waitmsg doweather setvar 0x4011 0x1 release end #org [MENTION=24590]Ran[/MENTION]dom msgbox @textorandom 0x6 release end #org @textopotions = Me acaba de abandonar mi único\npokémon, así que te regalo estas\lpociones. #org @textosol = Por lo menos llueve, es mi tiempo\npreferido... #org @textorandom = ...\nMejor no digo nada más.
Sí está bien usado. De hecho es común que entre un msgbox y un waitmsg se ponga algún applymovement o cualquier cosa. Desconozco si hay algún comando en especial que pudiera invalidar el waitmsg, pero para hacer scripts normales no hay problema en ponerlo así. Lo que sí me sorprendería, es que ciertos comandos invalidarán el lock y hubiera que volverlo a poner@xabier2012, tengo una duda sobre el comando "waitmsg"
En la tarea de Metereología puse varios "lock" justo antes de estos porque el mini se movia cuando no quería. El comando waitmsg debe ir siempre después del msgbox o pueden ir comandos antes sin perder su función, como hice yo?
Por ejemplo: (en lugar de lock puede ir cualquier comando o varios de ellos)
msgbox @frase 0x2
lock
waitmsg
¿Sería correcto? Porque al poner el lock justo después del waitmsg NO me funcionaba como quería, pero de la manera que lo puse, sí. Solo que no se si el waitmsg está bien usarlo así, intercalando comandos entre el msgbox y él.
Seguramente eso es lo que me pasó en el script, que algún comando invalidó el lock que tenía al principio (quizás también me paso con el faceplayer de la tarea del checkgender). Por eso lo tuve que poner varias veces...Sí está bien usado. De hecho es común que entre un msgbox y un waitmsg se ponga algún applymovement o cualquier cosa. Desconozco si hay algún comando en especial que pudiera invalidar el waitmsg, pero para hacer scripts normales no hay problema en ponerlo así. Lo que sí me sorprendería, es que ciertos comandos invalidarán el lock y hubiera que volverlo a poner
¿Qué versión XSE utilizas? Si es que utilizas XSESeguramente eso es lo que me pasó en el script, que algún comando invalidó el lock que tenía al principio (quizás también me paso con el faceplayer de la tarea del checkgender). Por eso lo tuve que poner varias veces...
En fin, al menos ahora se que lo estoy usando bien. Gracias!
XSE 1.1.1¿Qué versión XSE utilizas? Si es que utilizas XSE
Lo dicho a rdoble.A mi me da error: Error 13 "No coinciden los tipos" sobre la línea 11.
Falta #define
He probado ambas opciones, y me sigue dando error@rdoble
Prueba a poner Msg_obtain así: MSG_OBTAIN
De todas formas, si te pasa con todos los scripts y no solo con ese concreto, es un defecto de la página del xse, por lo que tendrías que abrir una página nueva, copiar A MANO otra vez el código, y volver a probar. Me pasó algo parecido una vez y lo solucioné así