Sobre variables en el AGS.

¿Quieres crear una aventura? ¿La has hecho y quieres darla a conocer? ¿Buscas gente que te ayude? ¿Quieres pedir o dar opiniones sobre cosas del mundillo amateur? Éste es tu foro.

Moderador: Moderadores

F.J.S.
Lucas-yonki
Mensajes: 94
Registrado: Lunes, 5 de Marzo de 2007 0:38
Ubicación: Posadas-Misiones-Argentina

Sobre variables en el AGS.

Mensaje por F.J.S. » Sábado, 21 de Abril de 2007 22:57

Tengo una duda que creo que involucra las variables en el AGS.

¿Notaron que en las aventuras gráficas siempre que intentamos usar un objeto con otro o con una parte del escenario, y esa combinación no es la correcta, siempre te sale el mismo mensaje de "No voy a hacer eso"?

Bien, ¿Cómo puedo hacer eso sin tener que programar la misma acción, una y otra, y otra, y otra vez?

Sadistyk
Aventurero cáspico
Mensajes: 29
Registrado: Lunes, 12 de Febrero de 2007 3:37
Ubicación: Argentina

Mensaje por Sadistyk » Domingo, 22 de Abril de 2007 20:09

Creo que lo que vos te referis es el unhandled_event. La mayoría de las acciones que tiene un objeto, un hotspot (mirar, tomar, hablar) no tienen nada adentro, no están definidas, simplemente porque no se usan. Por ejemplo: si en una habitación hay un jarrón, y la única acción que está programada para ese jarrón es que el jugador cuando la vea diga algo, todas las demás acciones están vacías, no están definidas, y por lo tanto, si yo quiero hablar con el jarrón, cuando haga click no va a pasar nada. Ahí entra en juego la sección del script llamada 'unhandled_event' que, como su nombre se indica, tiene todas las acciones que se realizan cuando las demás no están definidas. Entonces, por ejemplo, si yo quiero que que cuando el personaje vea un objeto (cualquier objeto, de cualquier habitación, donde la acción no esté definida) y no se quede sin hacer nada, podría poner en el script algo así (en la sección de unhandled_event):

function unhandled_event(int what, int type) { // esta parte ya está escrita en el script
if ((what==2) && (type==0)) {
player.Say("No veo nada en especial.");
}
} // Esta llave ya está escrita en el script

El 'what' y el 'type' que están ahí se refieren a lo siguiente:
What | Type
1| 1 Mirar hotspot
1| 2 Interactuar con hotspot
1| 3 Usar inventario en hotspot
1| 4 Hablar con hotspot
1| 7 Tomar hotspot
1| 8 Cursor Mode 8 en hotspot
1| 9 Cursor Mode 0 en hotspot
2| 0 Mirar objeto
2| 1 Interactuar con objeto
2| 2 Hablar con objeto
2| 3 Usar inventario en objeto
2| 5 Tomar objeto
2| 6 Cursor Mode 8 en objeto
2| 7 Cursor Mode 9 en objeto
3| 0 Mirar personaje
3| 1 Interactuar con personaje
3| 2 Hablar con personaje
3| 3 Usar inventario con personaje
3| 5 Tomar personaje
3| 6 Cursor Mode 8 en personaje
3| 7 Cursor Mode 9 en personaje
4| 1 Mirar a la nada (nada de nada)
4| 2 Interactuar con nada
4| 3 Usar inventario con nada
4| 4 Hablar con nada
5| 0 Mirar inventario
5| 1 Interactuar con inventario (no es posible de la forma convencional)
5| 2 Hablar con inventario
5| 3 Usar inventario en inventario
5| 4 Otro click en el inventario

Donde el 'what' es lo que está bajo el cursor y el 'type' es el tipo de acción que se está realizando. Espero que te sirva de algo. Cualquier cosa, pregunta.
No hay conocimiento que no sea poder

F.J.S.
Lucas-yonki
Mensajes: 94
Registrado: Lunes, 5 de Marzo de 2007 0:38
Ubicación: Posadas-Misiones-Argentina

Mensaje por F.J.S. » Domingo, 22 de Abril de 2007 21:26

Gracias, de verdad nececitaba esto para hacer mejor mi juego!

Cualquier problema con esto te aviso :D

GRACIAS!