Contenedores en DAAD
Los contenedores en DAAD suelen ser complicados para nuevos autores. Aquí indicamos los fundamentos del sistema de contenedores de DAAD
Contenedores en DAAD
Los contenedores en DAAD suelen ser complicados para autores nuevos. Estos son los fundamentos del sistema de contenedores de DAAD, dirigido a principiantes.
Prefacio
Los contenedores en una aventura de texto creada con DAAD son una fuente de problemas:
- Para el jugador, que a menudo lucha por encontrar el comando correcto para meter o sacar algo de un contenedor.
- Para el desarrollador, ya que ni DAAD ni su predecesor PAW ofrecen una implementación básica para contenedores, dejando la carga sobre el autor.
Por lo tanto, mi recomendación es: evita los contenedores a menos que sean absolutamente necesarios.
…Ah, ¿pero sigues leyendo? Bueno, supongo que ese contenedor sí es necesario después de todo. Veamos cómo implementarlo.
Primera Regla de los Contenedores
DAAD necesita un lugar para almacenar objetos dentro de un contenedor, y ese lugar es — nos guste o no — la localidad cuyo número coincide con el número de objeto del contenedor.
Por ejemplo, en la sección /OBJ:
/OBJ
(...)
/5 CARRIED 1 Y_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ BOLSA _
Aquí, todos los objetos colocados dentro de la bolsa terminarán en la localidad 5.
Esto hace que sea crítico no usar la localidad 5 en tu mapa de localidades. Déjala vacía (asigna una cadena vacía a su descripción y evita conectarla en la sección /CON):
/LTX
(...)
/5 ""
Si no haces esto, te encontrarás todos los objetos contenidos esparcidos por el suelo de la localidad 5 al visitarla.
Nota que la Y en la descripción del objeto lo marca como contenedor. Para precargar el contenedor con objetos al inicio del juego, simplemente establece su localidad inicial en 5.
Insertar Objetos
El comando para insertar objetos en contenedores en DAAD es PUTIN, o su variante automatizada AUTOP. Para que PUTIN tenga éxito, el objeto debe ser llevado por el jugador (en su inventario, pero no equipado).
Sintaxis:
PUTIN objno locno
Donde objno es el objeto a insertar y locno es la localidad destino (contenedor).
Si el destino no es un contenedor o el objeto no se está llevando, PUTIN fallará.
AUTOP locno funciona similarmente pero no requiere especificar el objeto—intenta usar el objeto referenciado por la orden actual (y falla si no existe).
Ni AUTOP ni PUTIN verifican la presencia del contenedor, así que tú debes manejar esa verificación.
Código básico de inserción (para colocar en el proceso 5):
> METER _
PRESENT 5 ; ¿Está la bolsa aquí?
AUTOP 5
DONE
Esto verifica si el objeto 5 (la bolsa) está presente (en la localidad actual, llevado o equipado), intenta AUTOP hacia la localidad 5, y termina el comando.
Para una entrada más estricta (ej., requerir “EN BOLSA”):
> METER _
PREP EN
NOUN2 BOLSA
PRESENT 5
AUTOP 5
DONE
Sin embargo, omitir esta verificación a menudo mejora la usabilidad — los jugadores pueden escribir METER LLAVE en vez de METER LLAVE EN BOLSA, reduciendo frustración para principiantes.
Sacar Objetos
El proceso es similar a la inserción pero usa AUTOT (o su versión manual TAKEOUT). Los parámetros son los mismos que PUTIN/AUTOP, así que el código es directo:
> SACAR _
PRESENT 5 ; ¿Está la bolsa aquí?
AUTOT 5
DONE
Para forzar sintaxis como SACAR LLAVE DE BOLSA:
> SACAR _
PREP DE
NOUN2 BOLSA
PRESENT 5
AUTOT 5
DONE
Otras Consideraciones
Por defecto, DAAD no impone límites en:
- La cantidad de objetos en un contenedor.
- Tamaño/peso de los objetos.
Por ejemplo, un monedero podría lógicamente contener una moneda o un pasador — pero no un violín. O una bolsa de basura podría aguantar papeles pero romperse si metes un cuchillo.
DAAD no maneja estos casos; el autor debe implementar esa lógica (aunque eso va más allá de esta guía).
¡Espero que esto te ayude a entender los fundamentos de los contenedores en DAAD!
메타데이터
- post_id
- 764bb4b1fc2b
- slug
- contenedores-en-daad-764bb4b1fc2b
- url
- https://medium.com/@uto_dev/contenedores-en-daad-764bb4b1fc2b
- canonical_url
- https://medium.com/@uto_dev/contenedores-en-daad-764bb4b1fc2b
- author_url
- https://medium.com/@uto_dev
- status
- ok
- fetched_at
- 2026-06-17 17:19:58