Formato del archivo de área
Qué hay dentro de los archivos que escribe asave. Sirve para leerlos, buscar cosas con grep o entender un error de carga.
Los archivos de área los escribe el propio mud con asave, y los lee al arrancar. Lo normal es construir con el OLC y no
tocarlos a mano: cualquier cambio manual se pierde la próxima vez que se guarde el área. Esta página sirve para leerlos, para
buscar datos con grep y para entender un error de carga.
Los archivos son de texto ISO-8859-1, con tildes y eñes en un byte, y líneas terminadas en LF. Si los abres con un editor que asuma UTF-8, verás caracteres rotos, y si guardas desde él estropearás el archivo.
Dónde está cada cosa
area/AREA.LSTes la lista de archivos de área, uno por línea y acabada en$. Un área que no está en la lista no se carga.area/<nombre>.arecontiene la cabecera, los mobs, los objetos, las habitaciones, las funciones especiales y las tiendas.resets/<nombre>.rstcontiene los resets de esa área, con el mismo nombre que el.are.mobprogs/*.prgson progs antiguos en archivos aparte (in_file_prog) que ya casi no se usan. Los progs normales van dentro del.are.
Estructura de un .are
Siempre en este orden:
#AREA...#FINAREA, la cabecera.- Todos los
#MOB...#FINMOB. - Todos los
#OBJETO...#FINOBJETO. - Todas las
#ROOM...#FINROOM. #SPECIALS, las funciones especiales.#SHOPS, las tiendas.#$, el final del archivo.
Cada campo es una línea con su nombre y su valor. Los textos acaban en ~. Los flags se escriben por su nombre, separados por espacios y
acabados en ~. Los números van tal cual. Muchos campos se omiten cuando valen cero.
La cabecera
#AREA
Nombre Abila~
Aso compañia~
Autor Aldaer Lugburz~
Constructor Inmortales~
Habitantes Soldados y amadicienses. (Rango: 46 a 50 para buenos)~
MDia Suena el canto de un gallo en Abila.~
MNoche La oscuridad engulle Abila.~
Mundo real~
Publica si~
Flags ciudad~
Cielo despejado~
Temperatura 0
Seguridad 1
Puntos 879
Sonido Area Abila~
#FINAREA
Constructor es la lista de builders. Aso y Puntos no se cambian desde aedit. Los demás sí (la
cabecera).
Mobs
#MOB
Vnum 26400
Nombre capitan reina~
Corta El capitán de Abila~
Larga El capitán de los soldados de la Reina no se anda con miramientos.
~
Descripcion Después de aguantar por muchos meses...
~
Nivel 50
Sexo masculino~
Alin malo~
Act npc en-area no-compulsion vida-extra~
Act2 mob-dia defensa-extra hit-extra~
Act3 dam-extra~
AfectPor detecta-oculto heroismo~
AfectPor2 revitalizar~
PCobre 6
PPlata 3
#FINMOB
Los campos posibles son Vnum, Nombre, Corta, Larga, Descripcion, Nivel, Mquest, Raza, Clase, Sexo, Alin, Act,
Act2, Act3, Act4, AfectPor, AfectPor2, AfectPor3, HabsMascota, Ensenya, Ensenya2, Grupo,
y las monedas PCobre, PPlata, MPlata, CPlata, MOro y COro. Si el mob tiene progs, van al final, antes de #FINMOB.
Objetos
#OBJETO
Vnum 26402
Nombre mesas madera~
Corta unas mesas de madera~
Larga Aquí puedes ver unas mesas de madera donde se exponen algunos productos.~
Tipo mueble~
Tamanyo grande~
Material madera~
Peso 1
Nivel 46
#FINOBJETO
Los campos posibles son Vnum, Nombre, Corta, Larga, Tipo, Vestir, Extra, Extra2, Mueble, Tamanyo,
Material, Peso, Nivel, las monedas del coste (PCobre a COro), Personas, Valor0 a Valor4, y según el tipo Pocion,
Tomo, RecetaA, Arma y Ataque. Después vienen los afectos, las descripciones extra y los progs.
Un afecto es un bloque:
#AFECT
Tipo fuerza~
Valor 2
#FINAFECT
con los campos Tipo, Valor, Duracion, Donde, Bits, Habilidad y Quien. Una descripción extra es otro bloque:
#EXTRADESCR
Nombre cuadro~
Descripcion Es un paisaje de montañas...
~
#FINEXTRADESCR
Habitaciones
#ROOM
Vnum 26402
Nombre {gLas calles de Abila{x~
Descripcion {cTe hayas recorriendo las calles dentro de la ciudad de Abila...{x
~
Sector ciudad~
#SALIDA
Direccion norte~
Destino 26413
#FINSALIDA
#SALIDA
Direccion sur~
Flags puerta cerrada antiderribar~
Destino 26401
#FINSALIDA
Sonido ~
#FINROOM
Los campos de la habitación son Vnum, Nombre, Descripcion, MDia, MNoche, Duenyo, Sector, Flags, Flags2,
Flags3, las salidas, las descripciones extra y Sonido.
Cada salida es un bloque #SALIDA con Direccion, y si procede Nombre, Descripcion, Flags, Llave y Destino. Los
destinos son vnums, así que una salida puede apuntar a una habitación de otra área.
Progs
Un prog es un bloque dentro del mob o del objeto:
#PROG
Tipo speech_prog~
Argumento p avendesora~
Codigo mpecho Lentamente, con un sordo estruendo, se abre una puerta de piedra.
abrir este
~
#FINPROG
Funciones especiales
#SPECIALS
M 26400 spec_lucha_experto
M 26405 spec_portero
O 12345 spec_corrupcion
S
Una línea por mob (M) u objeto (O) con su vnum y el nombre de la función. Acaba con S.
Tiendas
#SHOPS
26437 16 0 0 0 0 100 80 6 20
0
Cada línea es una tienda: el vnum del tendero, los cinco tipos de objeto que compra (0 es hueco libre), el porcentaje de compra, el
de venta, y las horas de apertura y cierre. Se acaban con una línea que solo tiene 0. Los tipos de objeto van como número.
El archivo de resets
El archivo resets/<nombre>.rst tiene una sola sección:
#RESETS
M 0 25700 3 26401
E 0 26426 0 19
E 0 26423 0 4
O 0 26402 1 26401
P 0 26410 1 26405
#FINRESETS
Cada línea es un reset, y el significado de cada letra y cada número está en resets.
El mud lee el archivo en el orden en que está, y el orden importa: los E y G pertenecen al último M, y un P al último O.
Errores de carga habituales
- El mud no arranca y dice «Clave erronea». Hay una letra de reset que no es M, O, P, G, E, D ni R.
- Un
Dcon una salida que no tiene puerta. El mud se detiene al leerlo. - Un reset de un mob o un objeto que no existe. Se anota en el registro de errores y se salta.
asavevuelve a anotarlo. - Un área nueva que no aparece. Falta en
AREA.LST, que se regenera conasave listoasave world.