jarel escribió:
De modo que debe ser algo que se pueda manejar desde la propiedad descripcion[;], de esas localidades donde pretendo usarlo. (Que en verdad va a ser sólo una, de momento).
Lo cual descarta el modo "habitual" de hacerlo, que es con la propiedad "inicial" de la localidad (ver manual de referencia) que hace lo mismo más o menos que lo expuesto por Lenko. Pues... todo es cosa de aplicar el mismo principio dentro de la propiedad descripcion. En caso de desplazamiento la variable "uno" todavía conserva el objeto que hace referencia a la dirección del movimiento (obj_n, obj_s... o alguno parecido de los que hay dentro del objeto brujula), así que no hay más que trastear con él.
Así por ejemplo:
Código:
descripcion
[;
if (accion==##Ir) print (name)uno;
"Aquí ponemos la descripción normal del sitio.";
],
Imprime la dirección en la que te has acercado al sitio cuando has llegado (y, de hecho, se cuida mucho de hacerlo sólo cuando has llegado, evitando hacerlo cuando efectuas una acción "mirar", por ejemplo).
Evidentemente tu pondrías algo "literariamente" mucho más elaborado, como por ejemplo:
Código:
descripcion
[;
if (accion==##Ir)
{
print "Llegas desde el ";
switch (uno)
{
obj_n: print "sur.";
obj_s: print "norte.";
obj_e: print "oeste.";
obj_o: print "este.";
}
}
"Aquí viene la descripción estandar.";
],
Y, por supuesto, a partir de ahí puedes complicarlo todo lo que quieras. El único detalle es que, como no podía ser de otro modo, dependiendo de cual sea el valor de "modomirar" todo el tinglado podría servir sólo para la primera vez que se visite la localidad (en las sucesivas podría ignorarse la descripción). Una vez que quería conseguir un efecto parecido lo que hacía era la pequeña trampa de usar precisamente la propiedad "inicial" de la localidad para trampear con el atributo de "visitado" del sitio y asegurarme de que siempre saliese la descripción (salvo que el jugador haya puesto por iniciativa propia el modo "superbreve"). Todo eso ya es como tu quieras controlarlo.