Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: chute666 en Octubre 08, 2014, 12:04:41 PM

Título: metodo String o cual seria la mejor forma?
Publicado por: chute666 en Octubre 08, 2014, 12:04:41 PM
Bueno chicos, alguno seguro que piensa que soi un pesado XD
pero esque me surjen dudas y al hacer las cosas quiero hacerlas bien....
tengo a mi personaje, simplemente con los movimientos... y tengo un npc sin anda solo los sprite esta ayi quieto el pobre sin hacer nada...
quiero que  al estar enfrente a el... osea.. al colisionar con el... (y acerle click lo que vendria siendo el dedo en android...) este comience una conversacion... por ejemplo:
"hola que quieres ser paladin mago?
elijo mago y mi clase sera mago..."
vale.. eso lo hago con una variable que si elijo paladin la variable sea 1 y si elijo mago que l variable sea 2....
pero como hago para que comience la conversacion? para seleccionar que deseo ser... uso string(blablabla);
o que forma me recomiendan? pues el emtodo que usare me gustaria usarlo para misiones y mas cositas, gracias por su ayuda.!
Título: Re:metodo String o cual seria la mejor forma?
Publicado por: penumbra en Octubre 08, 2014, 01:05:04 PM
Esto se debe planear, me refiero a que para que el diálogo comience, los personajes deben de estarse quietos. No me refiero a una pausa, sino a que durante ese tiempo, por ejemplo el jugador no puede ni debe responder a teclas de movimiento o hacer ataques etc. Por decirlo de alguna manera, el juego debe entrar a un modo en el que sólo se permita "hablar" (obvio que puedes hacer que los NPCs que no conversan caminen, pero no se puede hacer que un enemigo ataque felizmente, por ejemplo).

Quiero decir que debes hacer que todas las instancias deseadas reaccionen a un estado (una variable) "ocupado" o "stand-by" o "diálogo" que estando activa impide realizar cualquier acción que interfiera con los diálogos. Y bueno, la parte más laboriosa es que si quieres que se vea bonito y los cuadros o cajas de diálogos tengan un estilo visual que armonice con el juego, vas a tener que programar todo, tanto hacer los sprites de las cajas, como leer (desde un ini o un arreglo o un txt) los diálogos, como usar las funciones string que trae GMS para que los diálogos se desplieguen dentro de las cajas de texto y no se "desborden"

Creo que en la sección de descargas hay ejemplos de sistemas de diálogo
Título: Re:metodo String o cual seria la mejor forma?
Publicado por: chute666 en Octubre 08, 2014, 01:18:12 PM
sip eso todo mas o menos lo intuia....
que es como cargar un Array de dialogos y segun lo que diga y/o requiera me salga un tipo de dialogo....
pero como hago para qe comience ese typo de dialogo?
que seria.. en el evento create del NPC... cuando el player  este cerca(colisionando) y haga click al npc... que este comience la conversacion... nose esactamente como hacerlo...
Título: Re:metodo String o cual seria la mejor forma?
Publicado por: king195 en Octubre 08, 2014, 01:25:44 PM
Hay mucha materia de por medio:

point_distance()<500;

Eso quiere decir básicamente que si la distancia entre tu personaje y la del NPC es menor a 500 se abrirá el recuadro de dialogo.

En el caso de que sea justo cuando colisiona con su mascara es tan fácil como poner un "place_meeting" y a correr.

Y a partir de eso creas la condicion y empiezas a picar codigo en un evento Draw como este

draw_text_ext(x,y,"Hola",-1,200);

Si no me equivoco de sintaxis con eso le dices primero donde quieres que se posicione el texto, le indicas lo que va a haber escrito, la separación entre lineas(la normal es -1)  y 200 son los pixeles entre linea y linea.(suelo usar draw_text_ext por que basicamente te permite modificar más el texto que con un simple "draw_text")

Luego si quieres que el texto presentado este en un rectangulo o un sprite, sólo tienes que aplicar un sistema similar:

draw_rectangle();
draw_sprite();

Siempre con el draw si quieres dibujar algo por pantalla, incluso si quieres indicar una variable sería así:

draw_text(x,y,"Nivel: "+string(global.nivel));

Es cuestión de ir manejandose, a diferencia de C u otros lenguajes de programación, GML ya trae muchas funciones prefabricadas donde sólo debes aplicarlas, te facilita el curro del copiar y pegar un montón de lineas innecesarias y así centrarte sólo en la materia que quieres reproducir.
Título: Re:metodo String o cual seria la mejor forma?
Publicado por: chute666 en Octubre 08, 2014, 01:28:39 PM
vale gracias!!! jejejejejejeje