Skip to main content
Usa el export de servidor cuando el juego ocurre fuera de Humalike pero los NPC cercanos deberían observarlo:
Devuelve true tras la validación local y el encolado. Devuelve false si el jugador es inválido, el personaje no está cargado o el evento está mal formado.

Acciones de rol

kind es me o do. El texto se recorta, no debe contener caracteres de control y está limitado a 1.000 caracteres Unicode. Repórtalo desde el handler del servidor después de que tu recurso de /me o /do haya aceptado el comando. No permitas que un cliente envíe la narración directamente.

Documento de identidad

Los cinco campos son strings obligatorios, recortados y limitados a 128 caracteres Unicode sin caracteres de control.

Objetos

Los tipos admitidos son item_dropped e item_picked_up. item_name puede contener letras, dígitos, _, . y -, con un máximo de 100 caracteres. quantity debe ser un entero positivo. Usa el nombre interno del objeto en el framework. La descripción en lenguaje natural del NPC proviene del contexto circundante y del conocimiento del personaje.

Eventos de estado simples

Estos eventos contienen solo type:
  • police_badge_shown
  • ems_badge_shown
  • doj_badge_shown
  • hands_raised
  • hands_lowered
Humalike observa automáticamente el state bag HandsUp del jugador. Reporta tú mismo los eventos de manos solo si el servidor usa otro mecanismo de estado autoritativo.

Observaciones del servidor

Los eventos del jugador son un vocabulario fijo. Para hechos que solo tu servidor conoce, declara tus propias observaciones en el proveedor de acciones (Namespace + Observations, consulta el descriptor de acciones) y reporta cada ocurrencia:
Los valores de los campos se comprueban en cada reporte:
  • Los valores string tienen como máximo 64 caracteres sin caracteres de control.
  • Los valores integer son enteros.
  • Los valores integer y number son finitos y de magnitud máxima 2^53.
El recurso renderiza la plantilla declarada para el idioma del NPC, recurriendo al inglés y después al primer idioma declarado, y envía esa línea literalmente. Solo la línea renderizada y los valores comprobados salen del servidor. Una línea renderizada tiene como máximo 912 caracteres; RegisterProvider rechaza una plantilla cuyo renderizado en el peor caso supere ese límite.

Valor de retorno

Los errores de declaración los reporta el propio RegisterProvider.

Comportamiento

Una observación reportada es un hecho del servidor, por lo que difiere de un evento del jugador:
  • No está condicionada a estar al alcance del oído.
  • Se archiva y, con react = true, se habla incluso mientras un script mantiene perception sobre el NPC. Mantén speech para que el NPC permanezca en silencio.
  • Una repetición de la misma clave en unos 2,5 segundos se archiva pero no se vuelve a hablar.
Con humalike_developer_tools 1, reporta una a mano mientras cableas el hook real:

Comportamiento de entrega

El export confirma la aceptación local, no que un NPC vaya a responder. El evento se entrega con la sesión actual del jugador y el contexto del mundo. Los NPC pueden observarlo, recordarlo, reaccionar en silencio o hablar según el personaje y el estado de la conversación.

Siguiente