bag-shoppingInventario

Descripción general

All Out proporciona una API de inventario de jugador que te permite crear objetos, dárselos a los jugadores, y que los jugadores los organicen, usen y suelten en tu juego.

Hay tres conceptos principales:

  • Definiciones de objetos (Definición_de_objeto): lo que un objeto es (nombre/icono/apilamiento + tus propios campos)

  • Instancias de objetos (Instancia_de_objeto): una pila real en el mundo/en un inventario

  • Inventarios (Inventario): un contenedor de casillas que contiene instancias de objetos

Cada jugador tiene un inventario incorporado en player.default_inventory.

Persistencia

Si deseas que los inventarios de los jugadores se guarden automáticamente entre sesiones de juego, activa la casilla "Auto Guardar Inventario del Jugador" en Editar -> Configuración del Juego del editor

Referencia de la API de inventario

Inicio rápido (registrar + dar un objeto)

Registra definiciones de objetos una vez en ao_before_scene_load, luego crea instancias y muévelas al inventario de un jugador.

Inventarios personalizados

Puedes crear inventarios que no estén vinculados a un jugador, para cosas como:

  • Cofres / contenedores de almacenamiento

  • Equipos de peces/enemigos

Para acceder a objetos:

Objetos soltados

Si quieres que los jugadores suelten objetos en el mundo (y permitir que otros jugadores los recojan), usa el sistema de objetos soltados:

Generar un objeto soltado

Animación de caída + ajuste a la malla de navegación

Manejo de arrastrar-soltar desde la interfaz de barra rápida

Si usas Items.draw_hotbar, los jugadores pueden arrastrar un objeto fuera de la interfaz para soltarlo. Dropped_Item.handle_dropped_item lo elimina del inventario y genera una entidad de objeto soltado.

circle-info

Los objetos soltados desaparecen automáticamente con el tiempo (con una barra de advertencia). Mantener presionado el botón de interactuar sobre un objeto reinicia su temporizador de desaparición.

circle-info

Puedes hacer que un objeto soltado sea exclusivo (solo visible/recogible por un jugador) usando dropped->set_exclusive(player).

Última actualización