Skip to main content
NPC zewnętrzny to postać z panelu, której ped jest spawnowany, przemieszczany i usuwany przez Twój zasób. Humalike dołącza tożsamość do Twojej encji i nigdy jej nie spawnuje, nie pozycjonuje, nie zamraża ani nie usuwa. Aby przejąć AI NPC, którego Humalike zespawnował samodzielnie, zobacz Sterowanie w czasie działania. Wszystkie exporty na tej stronie zwracają jedną tabelę wyniku: { apiVersion = 1, ok = true, value = ... } lub { apiVersion = 1, ok = false, error = code }. Muszą być wywoływane z zasobu innego niż humalike, w przeciwnym razie kończą się błędem external_resource_required.

Utwórz postać

W panelu utwórz NPC typu External z modelem peda, który zespawnuje Twój skrypt. Rozmieszczenie nie jest wymagane. Akcje mobilności mogą być włączone. NPC pozostaje offline, dopóki jakiś zasób nie powiąże z nim encji.

Powiąż encję

Encja musi istnieć, być pedem niebędącym graczem, używać skonfigurowanego modelu NPC i nie nosić innej tożsamości Humalike. Jedno powiązanie na NPC i na encję. Powtórzenie tego samego powiązania z tego samego zasobu zwraca istniejące powiązanie. Odwiązanie usuwa stan Humalike i pozostawia peda nietkniętego.

Cykl życia

  • Twoje powiązania są odłączane, gdy Twój zasób się zatrzymuje.
  • Powiązanie jest zrywane, gdy encja znika, zmienia model lub routing bucket, albo gdy typ NPC zmienia się w panelu.
  • Humalike emituje zdarzenie serwerowe humalike:npc:ready z { apiVersion, generation } po pierwszej synchronizacji listy NPC w każdej generacji czasu działania. Zasób, który startuje później, je przegapi.
Wiąż przy własnym starcie i ponownie przy każdym zdarzeniu ready. Próba powiązania przed pierwszą synchronizacją listy NPC kończy się błędem npc_not_found i udaje się przy zdarzeniu:

Despawnuj NPC statycznego

Usuwa peda NPC statycznego z czasu działania bez zmiany jego definicji. Tylko zasób, który go despawnował, może go respawnować, a jego despawny są przywracane, gdy się zatrzymuje.

Dalej