Skip to main content
Humalike convierte las decisiones de conversación en acciones de FiveM validadas. Las acciones integradas cubren el comportamiento habitual de los personajes; los proveedores conectan sistemas de inventario, despacho y juego específicos del servidor.

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 devolver true 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 jugador standalone, 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 (RunAction devolvió 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 un Catalog 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.
  1. 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.
  2. El pago es la observación de pago informada en la moneda del catálogo, en unidades enteras.
  3. Cuando el dinero cubre el total, Humalike llama a deliver en la siguiente respuesta del NPC a ese jugador, registra la venta y retira las líneas de las existencias.
  4. [myserver:cancel_order] llama a refund con 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.

Comportamiento personalizado

Mantén las recompensas, los cambios de economía, las animaciones específicas del servidor, los códigos de despacho y las reglas de trabajos en un recurso de integración separado. Consulta la API de proveedores.

Siguiente