Últimos temas
» Laminación [VXACE]
por Pocari Hoy a las 10:09 am

» Heroe Retirado
por sipsop Lun Jun 18, 2018 11:58 pm

» Piedra, papel, tijera, lagarto, spock
por Naitsirc Lun Jun 18, 2018 9:33 pm

» Buenas tengo duda por publicar un juego
por Turbiosoft.acho Lun Jun 18, 2018 8:40 pm

» Hola doy ha conocer como sera mi juego
por nekoman Dom Jun 17, 2018 9:59 pm

» [COMPLETO][MV] Ve por ella.
por nekoman Sáb Jun 16, 2018 5:52 pm

» Utilizar imagen como mapa
por Caracol Vie Jun 15, 2018 7:25 pm

» The Legend of Zelda: Trident of Power (RPGM2003)
por aetherventus258 Vie Jun 15, 2018 7:16 pm

» [Tutorial] Errores comunes - Cóctel
por MCarlos15 Dom Jun 10, 2018 6:31 pm

» [Tutorial] Errores comunes - Índice
por Muzgar Sáb Jun 09, 2018 7:29 pm

» MP3 Musical 1.0 Falcao script para Rpg maker VX
por Muzgar Sáb Jun 09, 2018 6:43 pm

» Moon Dust - El resurgir de la bestia [Información]
por Stainler Vie Jun 08, 2018 4:03 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 Quest
PJ de Quest

España
RPG Maker : Ace
Mensajes : 31
Monedas : 60
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 Quest
PJ de Quest

España
RPG Maker : Ace
Mensajes : 31
Monedas : 60
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.