<< Anterior
Siguiente >>
Índice

Mensajes de usuario y mensajes del sistema

MESSAGES
{
  <numero de mensaje> | <nombre de mensaje> : "Texto del mensaje";
  ...
  [<numero de mensaje> | <nombre de mensaje> : "Texto del mensaje"; ]
}

SYSMESSAGES
{
  <numero de mensaje> | <nombre de mensaje> : "Texto del mensaje";
  ...
  [<numero de mensaje> | <nombre de mensaje> : "Texto del mensaje"; ]
}

Aspectos generales de los mensajes

Los mensajes de InPAWS se pueden definir por número o por nombre. A diferencia de objetos y localidades, no existe la posibilidad de definir ambos. Debes decidir si a lo largo del código los vas a identificar por un nombre, al que InPAWS asignará automáticamente un número al compilar, o bien forzar a que tenga un número concreto.

En cuanto al texto, sigue las mismas reglas de formato que se han explicado en el apartado de cadenas de texto. Puedes definir uno o varios mensajes en cada bloque MESSAGES o SYSMESSAGES. Asimismo, puedes ir definiendo bloques de mensajes a medida que los vayas necesitando, no siendo necesario agruparlos todos en un mismo bloque.

PAW establece la obligación de definir al menos un mensaje de usuario y 54 mensajes del sistema que son utilizados por los comandos automáticos de PAWS (AUTOG, AUTOD, listado de objetos, etc). Los mensajes del sistema los puedes modificar a tu gusto, pero no podrás compilar una aventura que tenga menos de ese número.

Definición de mensajes en los condactos

InPAWS permite una forma de definir mensajes muy potente, que consiste en utilizar directamente el texto que queremos visualizar tras uno de los condactos que muestran mensajes (MESSAGE, MES y SYSMESS). En este caso, InPAWS crea el mensaje nuevo, le asigna un número y convierte, una vez compilada la aventura, el literal del mensaje en ese número.

Ejemplo (de la tabla de respuestas):

EXAMI ESPAD: PRESENT Espada MESSAGE "De acero duro y afilado." DONE;

Por supuesto esta forma de definir mensajes está sujeta a todas las restricciones de la forma "tradicional", es decir, contabiliza como un mensaje más en las tablas de mensajes y si llegamos al límite impuesto por PAW de 255, no nos dejará compilar la aventura.

InPAWS intenta hacer economía en esta forma de definir mensajes. Para ello, si se utiliza dos o más veces el mismo mensaje en los condactos, sólo se definirá el primero de ellos, el resto detectará la existencia de un mensaje con el mismo texto y simplemente hará referencia al mismo código de mensaje. Esto sólo es válido si los mensajes son EXACTAMENTE iguales. Baste que varíe un sólo carácter para que InPAWS genere un nuevo mensaje con lo que estamos escribiendo.

Ejemplo:

ESCUCHA BOSQUE: AT bosque MESSAGE "No oyes nada fuera de lo común." DONE;
ESCUCHA _ : MESSAGE "No oyes nada fuera de lo común." DONE;

Lo anterior sólo va a generar un mensaje al que ambas entradas de proceso harán referencia en la aventura generada.

Algunos ejemplos de mensajes

MESSAGE
{
  0: "Este es un mensaje con código fijo.";
  Mimensaje: "A este mensaje hay que referirse por su nombre.";
}

SYSMESSAGES
{
  MsgArcon: "En el arcón hay: ";
  57: "Este es el mensaje 57, en PAW y en InPAWS.";
}
<< Anterior
Siguiente >>
Índice