Últimos temas
» Concurso de relatos - Septiembre/Octubre 2018 [Votaciones]
por Frägarach Hoy a las 8:26 am

» Concurso de relatos - Septiembre/Octubre 2018 [Inscripción]
por Muzgar Miér Oct 17, 2018 11:38 pm

» ¿Cómo puedo poner personajes descargados de internet en mi RPG MAKER MV?
por Muzgar Miér Oct 17, 2018 5:46 pm

» Virtual Kingom (Old Version)
por NinjaLOL Miér Oct 17, 2018 2:55 am

» [VX/ACE] Tileset Moderno del MV
por Muzgar Mar Oct 16, 2018 11:39 pm

» [Ace]Movimiento Libre
por brrt Lun Oct 15, 2018 3:57 pm

» Laminación [VXACE] [PROYECTO EN CURSO]
por Pocari Vie Oct 12, 2018 12:08 pm

» QUITAR VENTANA DEL MENU (VX ACE)
por THESHINYMISTERXD Sáb Oct 06, 2018 7:46 pm

» Condición para saber si el jugador está caminando
por Sonik Sáb Oct 06, 2018 5:03 pm

» ¿Tileset de un futbolín?
por MCarlos15 Jue Oct 04, 2018 9:07 pm

» RPG Maker VX Ace en MAC
por Er1ck_92 Mar Oct 02, 2018 8:42 am

» Distrito 0 [VXACE]
por BREAK93 Mar Oct 02, 2018 6:08 am


¿Por qué no funciona este evento común?

Ir abajo

¿Por qué no funciona este evento común?

Mensaje por MCarlos15 el Vie Ene 05, 2018 9:02 pm

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

MCarlos15
PJ de Quest
PJ de Quest

España
RPG Maker : Ace
Mensajes : 41
Monedas : 153
Reputación : 0

Volver arriba Ir abajo

Re: ¿Por qué no funciona este evento común?

Mensaje por Pokefanmati el Sáb Ene 06, 2018 5:01 am

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:
Código:
$game_variables[200] = []
Con esto harás que la variable del juego número 200 (o la que quieras) se convierta en una lista "vacía".Tal como el nombre lo indica, es una lista de objetos a los que puedes acceder después
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.

Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy

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
avatar
Pokefanmati
PJ Principal
PJ Principal

Masculino
Chile
RPG Maker : Ace
Mensajes : 183
Monedas : 366
Reputación : 17
Edad : 21
Localización : En el cuarto del boss

Volver arriba Ir abajo

Re: ¿Por qué no funciona este evento común?

Mensaje por MCarlos15 el Sáb Ene 06, 2018 9:00 pm

Muchas gracias por tu extensa respuesta, al fin todo funcionó :D
Me has ayudado mucho (y no es la primera vez)

MCarlos15
PJ de Quest
PJ de Quest

España
RPG Maker : Ace
Mensajes : 41
Monedas : 153
Reputación : 0

Volver arriba Ir abajo

Re: ¿Por qué no funciona este evento común?

Mensaje por NinjaLOL el Mar Feb 20, 2018 4:25 am

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?

NinjaLOL
PJ de Relleno
PJ de Relleno

Rmakercom
RPG Maker : Ace
Mensajes : 20
Monedas : 36
Reputación : 0

Volver arriba Ir abajo

Re: ¿Por qué no funciona este evento común?

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.