Acciones integradas
give_item pasa a estar disponible cuando hay un proveedor de inventario seleccionado.
Los proveedores de acciones personalizados pueden añadir claves de acción específicas del
servidor.
Seguimiento y vehículos
Solo se usa la relación con el jugador relevante al priorizar un NPC que sigue. El NPC ajusta el paso cuando se queda atrás y puede entrar o salir de vehículos mediante acciones explícitas. El estado de seguimiento y de vehículo también influye en la selección de interlocutor por voz.Inventario
Los proveedores de inventario implementan la entrega de objetos con autoridad del servidor. Humalike valida la acción y delega la operación final sobre el objeto al proveedor seleccionado. Un proveedor de inventario personalizado debe devolvertrue
solo después de haber aceptado el objeto.
Nunca confíes en nombres de objetos, cantidades o metadatos procedentes de un evento de
cliente sin validar. Aplica listas de permitidos específicas del servidor en tu puente
cuando haga falta.
Heridas y muerte
Cuando está activado, el daño a un NPC produce heridas estructuradas. Un NPC puede entrar en estado de herido, requerir tratamiento o morir según la configuración del servidor. Los trabajos de médico y policía autorizados reciben interacciones a través del proveedor de interacción seleccionado. El tratamiento se valida en el servidor por identidad del jugador, trabajo, estado de servicio, distancia y estado actual del NPC. Con el proveedor de jugadorstandalone,
los trabajos son permisos ACE (humalike.job.<name>); un proveedor de jugador
personalizado evalúa los trabajos por sí mismo. Consulta
Trabajos sin framework.
Despacho
Los incidentes médicos pueden llamar al proveedor de despacho seleccionado tras un retardo y una probabilidad configurados. Humalike proporciona un tipo y una carga útil neutros; el puente los traduce al recurso de despacho del servidor.Acciones definidas por el servidor
Un recurso de integración puede declarar sus propias acciones, cada una condicionada a hechos que informa el servidor. El contrato está en Acciones definidas por el servidor.- Solo las observaciones informadas desbloquean una acción, y solo para el jugador al que responde el NPC. Lo que dice un jugador no cuenta.
- Mientras una condición no se cumple, la acción sigue listada, la etiqueta no se acepta y se le indica al NPC qué tiene que ocurrir antes. Nada llega al servidor.
- Las condiciones se comprueban de nuevo cuando el modelo escribe la etiqueta, de modo que un hecho que caducó mientras respondía no se cuela.
- Un acto realizado se escribe en la transcripción del NPC como un evento del mundo que nombra los hechos que ha gastado. Los hechos gastados desaparecen para cualquier otro acto y para el mostrador.
- La puerta lee la conversación reciente del NPC más sus eventos del mundo más recientes con espacio de nombres del servidor, sin importar su antigüedad, de modo que un NPC ocupado no olvida ni un pedido sin pagar ni un hecho gastado.
- Un acto rechazado (
RunActiondevolviófalse) no se reintenta. El modelo puede escribir la etiqueta de nuevo en una respuesta posterior como un acto nuevo con un id de invocación nuevo.
Mostrador
Un proveedor de acciones con unCatalog convierte un NPC en una tienda. Humalike toma
el pedido, le pone precio, hace seguimiento del pago y llama al servidor para entregar la
mercancía o devolver el dinero. El modelo nunca decide un precio, una cantidad entregada
ni un importe devuelto.
- El modelo hace el pedido en una etiqueta:
[myserver:order water=10 pistol=1]. Humalike comprueba las existencias y los límites por artículo, pone precio al pedido y le dice al NPC el total. - El pago es la observación de pago informada en la moneda del catálogo, en unidades enteras.
- Cuando el dinero cubre el total, Humalike llama a
deliveren la siguiente respuesta del NPC a ese jugador, registra la venta y retira las líneas de las existencias. [myserver:cancel_order]llama arefundcon lo que hay en el mostrador. Prevalece sobre una entrega pendiente en la misma respuesta.
Los reintentos de
deliver mantienen el mismo id de invocación mientras se mantenga el
mismo pedido, incluso tras un pago adicional. Un refund se identifica por el pedido que
cancela, o por los pagos cuando no hay ningún pedido abierto. El panel muestra las
existencias actuales del NPC en modo de solo lectura.

