Skip to main content
Humalike działa samodzielnie, a zachowania specyficzne dla serwera trzyma za dostawcami. Dostawca to deskryptor Lua rejestrowany przez osobny zasób poprzez publiczny export.

Domeny

Domeny są celowo niezależne. Adapter gracza nie może jednocześnie wybierać implementacji ekwipunku, dispatchu, akcji ani interakcji.

Wybór

Dostawcy deklarują nazwę, wersję API, priorytet i opcjonalny callback dostępności. auto wybiera jedynego dostępnego dostawcę o najwyższym priorytecie. Remis oznacza stan ambiguous; Humalike nie zgaduje. Callbacki dostawcy działają w zasobie, który je zarejestrował, więc mogą korzystać z lokalnego obiektu frameworka i exportów tego zasobu.

Własność i cykl życia

  • Nazwy dostawców należą do zasobu, który je rejestruje.
  • Inny zasób nie może podmienić dostawcy o tej nazwie.
  • Ponowna rejestracja tej samej nazwy z tego samego zasobu jest idempotentna.
  • Zatrzymanie właściciela automatycznie usuwa jego dostawców.
  • Uruchomienie lub zatrzymanie obserwowanej zależności ponownie ocenia dostępność.
  • Restart Humalike tworzy nową epokę czasu działania i emituje humalike:integration:ready zarówno na serwerze, jak i na kliencie.
Nasłuchuj zdarzenia ready i rejestruj się ponownie. Dzięki temu dowolny zasób może wystartować pierwszy, a pojedyncze restarty są bezpieczne.

Co należy do mostu

  • Wyszukiwanie graczy i reguły prac specyficzne dla frameworka.
  • Wywołania ekwipunku i listy dozwolonych przedmiotów.
  • Tłumaczenie zdarzeń dispatch.
  • Walidacja i wykonywanie własnych akcji.
  • Integracja z systemem targetowania lub UI.
  • Tłumaczenie zdarzeń roleplay serwera na neutralne zdarzenia Humalike.
Nie kopiuj wnętrza Humalike ani nie modyfikuj wydanego katalogu. Zacznij od przewodnika po własnym moście.

Dalej