Últimos temas
» Serial Murder (Beta del Juego 0.1)
por Turbiosoft.acho Ayer a las 6:55 pm

» Lío con los ataques y habilidades! (formulas)
por gutzs Ayer a las 1:24 pm

» ¿Alguien puede recortar este sprite?
por MCarlos15 Mar Abr 17, 2018 9:22 pm

» Kustom XP & VX & ACE
por kyonides Mar Abr 17, 2018 2:10 am

» RPGMV Ayuda! Problema Parallax Mapping.
por Jfols Sáb Abr 14, 2018 3:12 am

» The New Exodus Project.
por KentaSS Sáb Abr 14, 2018 1:01 am

» Proyecto Ahura: Algunas Muestras
por Ledai Vie Abr 13, 2018 11:11 pm

» Problemilla con parallax con bind images y galv layers
por gutzs Vie Abr 13, 2018 10:47 pm

» ¿Qué significa "Pharmacology"?
por MCarlos15 Vie Abr 13, 2018 6:49 pm

» Proyecto Ambicioso SE BUSCA EQUIPO.
por Muzgar Vie Abr 13, 2018 1:53 pm

» [MV] Problema con movimiento de evento
por Hernán_VP Jue Abr 12, 2018 11:01 pm

» Laminación [VXACE]
por Pocari Jue Abr 12, 2018 12:46 pm


¿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 Relleno
PJ de Relleno

España
RPG Maker : Ace
Mensajes : 26
Monedas : 53
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 : 365
Reputación : 16
Edad : 20
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 Relleno
PJ de Relleno

España
RPG Maker : Ace
Mensajes : 26
Monedas : 53
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

México
RPG Maker : Xp
Mensajes : 5
Monedas : 11
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.