Últimos temas
» menú selección de personaje con variables mvpor KRiZaLiD Ayer a las 9:43 pm
» Laminación: Al otro lado de la brecha (NUEVO PROYECTO)
por Pocari Ayer a las 7:51 pm
» ir a un punto de la pagina de evento.
por fran0090 Vie Ene 22, 2021 11:24 pm
» [VX/ACE/MV] 243 Battlers VX y ACE en modo lateral
por cuch0 Miér Ene 20, 2021 6:37 am
» Imagen de fondo sobre el mapeado (MV/MZ)
por KRiZaLiD Miér Ene 20, 2021 12:31 am
» pasar dialogos automaticamente
por KRiZaLiD Miér Ene 20, 2021 12:26 am
» [Demo/MV/Inglés] Vala
por The Ferydra Dom Ene 17, 2021 10:32 pm
» El viaje de Seymour [Juego completo]
por DiegoRivo10 Vie Ene 15, 2021 8:59 pm
» Huida hacia adelante (Html5, windows y android) JUEGO COMPLETO
por DiegoRivo10 Vie Ene 15, 2021 8:56 pm
» Un par de dudas sobre RPG Maker MV
por fran0090 Miér Ene 13, 2021 12:04 am
» TALES FROM GALIAN
por DiegoRivo10 Mar Ene 12, 2021 1:06 am
» Isekai Proyect
por JACK223 Lun Ene 11, 2021 2:27 am
¿Por qué no funciona este evento común?
Página 1 de 1.
¿Por qué no funciona este evento común?
Buenas. Pretendía incluir un detalle secreto en mi proyecto, que consiste en lo siguiente:
Repartidos por todo el mundo del juego hay 11 capítulos de una historia. Cada uno de ellos es un objeto que, al usarlo en el inventario, llama a un evento común, (cada capítulo tiene el suyo), en el que te cuentan una parte de la historia, te dicen cuantos capítulos has leído y, si los has visto todos, hay un pequeño diálogo especial entre los personajes.
El caso es que estaba intentando usar los interruptores locales de los eventos para hacer realidad esta idea, de esta forma:
> [Si el interruptor local A está en OFF]
-Aumentar la variable "Historia" en 1
-Encender interruptor local A
> Fin de la condición
-Mostrar texto: "Capítulos leídos: [Valor de la variable "Historia"]/11"
En teoría, la variable solo aumentaría si es la primera vez que se lee el capítulo, y todo funcionaría correctamente. Pero por alguna razón, aunque he hecho exactamente lo que he puesto más arriba, NO ME FUNCIONA. He estado probando con cada capítulo, y LA VARIABLE NO SUBE.
¿Estoy haciendo algo mal? ¿Es que los eventos comunes no pueden operar variables? ¿Debería renunciar a utilizarlas y probar con otra cosa?
Si alguien se ha leído todo esto y puede ayudarme, gracias xD
Repartidos por todo el mundo del juego hay 11 capítulos de una historia. Cada uno de ellos es un objeto que, al usarlo en el inventario, llama a un evento común, (cada capítulo tiene el suyo), en el que te cuentan una parte de la historia, te dicen cuantos capítulos has leído y, si los has visto todos, hay un pequeño diálogo especial entre los personajes.
El caso es que estaba intentando usar los interruptores locales de los eventos para hacer realidad esta idea, de esta forma:
> [Si el interruptor local A está en OFF]
-Aumentar la variable "Historia" en 1
-Encender interruptor local A
> Fin de la condición
-Mostrar texto: "Capítulos leídos: [Valor de la variable "Historia"]/11"
En teoría, la variable solo aumentaría si es la primera vez que se lee el capítulo, y todo funcionaría correctamente. Pero por alguna razón, aunque he hecho exactamente lo que he puesto más arriba, NO ME FUNCIONA. He estado probando con cada capítulo, y LA VARIABLE NO SUBE.
¿Estoy haciendo algo mal? ¿Es que los eventos comunes no pueden operar variables? ¿Debería renunciar a utilizarlas y probar con otra cosa?
Si alguien se ha leído todo esto y puede ayudarme, gracias xD
MCarlos15- PJ de Quest
-
RPG Maker :
Mensajes : 50
Monedas : 179
Reputación : 3
Re: ¿Por qué no funciona este evento común?
Es que el evento común no trabaja con interruptores locales. Así que tendrás que crear 11 interruptores del juego que guarden esos datos.
Se me ocurren dos soluciones rápidas, pero usan scripts. Tarde o temprano tendrás que aprender a usarlos, y este me parece un buen ejercicio:
1)
Lo que puedes haces convertir una "variable del juego" en una lista... Es más cómodo pero sería más complicado.
Has esto: Todos configuramos el juego con un evento cuando empieza. En ese evento añade una opción del apartado "avanzados". La opción es "script". Allí escribe:
Luego, en cada evento común haces lo siguiente
Finalmente, cuando quieras añadir la "separación condicional" ve a la pestaña número 4 y coloca "script". Ahí escribes
Y con eso tienes.
2)
La otra opción, que es un poco más simple pero donde aprendes poco es...
Hacer los 11 interruptores del juego.
Luego, cuando estés creando el evento "final" ir a la cuarta pestaña de "separación condicional" y escribir
3) # Sí, sé que dije dos, pero este era el plan original puedes ir sumando a una variable.
Dentro de todo, recomiendo esta ultima opción porque es más "amigable". Pero te recomendaría probar las dos opciones para que te familiarices con los scripts
Se me ocurren dos soluciones rápidas, pero usan scripts. Tarde o temprano tendrás que aprender a usarlos, y este me parece un buen ejercicio:
1)
Lo que puedes haces convertir una "variable del juego" en una lista... Es más cómodo pero sería más complicado.
Has esto: Todos configuramos el juego con un evento cuando empieza. En ese evento añade una opción del apartado "avanzados". La opción es "script". Allí escribe:
- Código:
$game_variables[200] = []
Luego, en cada evento común haces lo siguiente
- Código:
$game_variables[200][i] = true
# Donde i es la posición del objeto en la lista
# Osea que para el primer objeto escribes $game_variables[200][1] = true
# para el segundo $game_variables[200][2] = true y así
Finalmente, cuando quieras añadir la "separación condicional" ve a la pestaña número 4 y coloca "script". Ahí escribes
- Código:
$game_variables[200].count(true) >= 11
# (o sea, cuenta la cantidad de "trues" que hay en la lista y
# determina si son mayores o iguales a 11)
Y con eso tienes.









2)
La otra opción, que es un poco más simple pero donde aprendes poco es...
Hacer los 11 interruptores del juego.
Luego, cuando estés creando el evento "final" ir a la cuarta pestaña de "separación condicional" y escribir
- Código:
$game_switches[i,j].count(true) >= 11
# En este caso asumo que usaste los interruptores de corridos.
# i es la posición de inicio y j la del final más uno
# Por ejemplo, si usaste los interruptores del 1 al 11 sería...
$game_switches[1,12].count(true) >= 11
3) # Sí, sé que dije dos, pero este era el plan original puedes ir sumando a una variable.
Dentro de todo, recomiendo esta ultima opción porque es más "amigable". Pero te recomendaría probar las dos opciones para que te familiarices con los scripts
Pokefanmati- PJ Secundario
-
RPG Maker :
Mensajes : 178
Monedas : 351
Reputación : 17
Edad : 23
Localización : En el cuarto del boss
Re: ¿Por qué no funciona este evento común?
Muchas gracias por tu extensa respuesta, al fin todo funcionó :D
Me has ayudado mucho (y no es la primera vez)
Me has ayudado mucho (y no es la primera vez)
MCarlos15- PJ de Quest
-
RPG Maker :
Mensajes : 50
Monedas : 179
Reputación : 3
Re: ¿Por qué no funciona este evento común?
Se que mi respuesta es corta, y no tengo mucha experiencia, pero lo que deverias hacer con eso es usar los interruptores, no los locales, por ejemplo:
Activar interruptor ´´capitulo´´
Porque los interruptores locales se usarian mas que nada para cosas como los npc, bosses u objetos en el mapa como cofres, interruptores o trampas.
Si me entiendes?
Activar interruptor ´´capitulo´´
Porque los interruptores locales se usarian mas que nada para cosas como los npc, bosses u objetos en el mapa como cofres, interruptores o trampas.
Si me entiendes?
NinjaLOL- PJ de Relleno
-
RPG Maker :
Mensajes : 29
Monedas : 55
Reputación : 1
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.