Skip to main content
Użyj exportu serwerowego, gdy rozgrywka dzieje się poza Humalike, ale pobliskie NPC powinny ją zaobserwować:
Zwraca true po lokalnej walidacji i zakolejkowaniu. Zwraca false dla nieprawidłowego gracza, niewczytanej postaci lub źle sformułowanego zdarzenia.

Akcje roleplay

kind to me lub do. Tekst jest przycinany, nie może zawierać znaków sterujących i jest ograniczony do 1000 znaków Unicode. Zgłaszaj z handlera serwerowego po tym, jak Twój zasób /me lub /do przyjął komendę. Nie pozwalaj klientowi przesyłać narracji bezpośrednio.

Dokument tożsamości

Wszystkie pięć pól to wymagane ciągi znaków, przycinane i ograniczone do 128 znaków Unicode bez znaków sterujących.

Przedmioty

Obsługiwane typy to item_dropped i item_picked_up. item_name może zawierać litery, cyfry, _, . i -, maksymalnie 100 znaków. quantity musi być dodatnią liczbą całkowitą. Używaj wewnętrznej nazwy przedmiotu z frameworka. Opis NPC w języku naturalnym pochodzi z otaczającego kontekstu i wiedzy postaci.

Proste zdarzenia stanu

Te zdarzenia zawierają tylko type:
  • police_badge_shown
  • ems_badge_shown
  • doj_badge_shown
  • hands_raised
  • hands_lowered
Humalike automatycznie obserwuje state bag gracza HandsUp. Zgłaszaj zdarzenia rąk samodzielnie tylko wtedy, gdy serwer używa innego autorytatywnego mechanizmu stanu.

Obserwacje serwerowe

Zdarzenia gracza to stały słownik. Dla faktów, które zna tylko Twój serwer, zadeklaruj własne obserwacje na dostawcy akcji (Namespace + Observations, zobacz deskryptor akcji) i zgłaszaj każde wystąpienie:
Wartości pól są sprawdzane przy każdym zgłoszeniu:
  • Wartości string mają co najwyżej 64 znaki i nie zawierają znaków sterujących.
  • Wartości integer są całkowite.
  • Wartości integer i number są skończone i co najwyżej 2^53 co do wartości bezwzględnej.
Zasób renderuje szablon zadeklarowany dla języka NPC, z awaryjnym przejściem na angielski, a następnie na pierwszy zadeklarowany język, i wysyła tę linię dosłownie. Serwer opuszczają wyłącznie wyrenderowana linia i sprawdzone wartości. Wyrenderowana linia ma co najwyżej 912 znaków; RegisterProvider odrzuca szablon, którego najgorszy przypadek renderowania by to przekroczył.

Wartość zwracana

Błędy deklaracji zgłasza sam RegisterProvider.

Zachowanie

Zgłoszona obserwacja jest faktem serwerowym, więc różni się od zdarzenia gracza:
  • Nie jest ograniczona zasięgiem słuchu.
  • Jest zapisywana i, przy react = true, wypowiadana nawet wtedy, gdy skrypt trzyma perception na NPC. Trzymaj speech, aby NPC milczał.
  • Powtórzenie tego samego klucza w ciągu około 2,5 sekundy jest zapisywane, ale nie wypowiadane ponownie.
Przy humalike_developer_tools 1 zgłoś jedną ręcznie podczas podłączania prawdziwego hooka:

Zachowanie dostarczania

Export potwierdza lokalne przyjęcie, a nie to, że NPC odpowie. Zdarzenie jest dostarczane wraz z bieżącą sesją gracza i kontekstem świata. NPC mogą je zaobserwować, zapamiętać, zareagować w milczeniu lub odezwać się, zależnie od postaci i stanu rozmowy.

Dalej