Skip to main content
Un NPC externo es un personaje del panel cuyo ped es generado, movido y eliminado por tu recurso. Humalike adjunta la identidad a tu entidad y nunca la genera, posiciona, congela ni elimina. Para tomar el control de la IA de un NPC que Humalike mismo generó, consulta Control en tiempo de ejecución. Todos los exports de esta página devuelven una tabla de resultado: { apiVersion = 1, ok = true, value = ... } o { apiVersion = 1, ok = false, error = code }. Deben llamarse desde un recurso distinto de humalike, o fallan con external_resource_required.

Crear el personaje

En el panel, crea el NPC con tipo External y el modelo de ped que tu script generará. No se requiere ubicación. Se pueden activar acciones de movilidad. El NPC permanece desconectado hasta que un recurso le vincula una entidad.

Vincular una entidad

La entidad debe existir, ser un ped que no sea de jugador, usar el modelo configurado del NPC y no llevar ninguna otra identidad de Humalike. Una vinculación por NPC y por entidad. Repetir la misma vinculación desde el mismo recurso devuelve la vinculación existente. Desvincular elimina el estado de Humalike y deja el ped intacto.

Ciclo de vida

  • Tus vinculaciones se desprenden cuando tu recurso se detiene.
  • Una vinculación se descarta cuando la entidad desaparece, cambia de modelo o de routing bucket, o cuando el tipo del NPC cambia en el panel.
  • Humalike emite el evento de servidor humalike:npc:ready con { apiVersion, generation } tras la primera sincronización de la plantilla de cada generación del tiempo de ejecución. Un recurso que arranca más tarde se lo pierde.
Vincula en tu propio inicio y de nuevo en cada evento ready. Una vinculación intentada antes de la primera sincronización de la plantilla falla con npc_not_found y tiene éxito en el evento:

Eliminar un NPC estático

Elimina el ped de un NPC estático del tiempo de ejecución sin cambiar su definición. Solo el recurso que lo eliminó puede volver a generarlo, y sus eliminaciones se restauran cuando ese recurso se detiene.

Siguiente