Wbudowane akcje
give_item staje się dostępne, gdy wybrany jest dostawca ekwipunku. Własni
dostawcy akcji mogą dodawać specyficzne dla serwera klucze akcji.
Podążanie i pojazdy
Przy priorytetyzowaniu podążającego NPC używana jest tylko odpowiednia relacja z graczem. NPC dostosowuje tempo, gdy zostaje w tyle, i może wsiadać do pojazdów oraz z nich wysiadać przez jawne akcje. Stan podążania i pojazdu wpływa też na wybór rozmówcy głosowego.Ekwipunek
Dostawcy ekwipunku implementują autorytatywne po stronie serwera dostarczanie przedmiotów. Humalike waliduje akcję i deleguje końcową operację na przedmiocie do wybranego dostawcy. Własny dostawca ekwipunku musi zwrócićtrue dopiero po
przyjęciu przedmiotu.
Nigdy nie ufaj nazwom przedmiotów, ilościom ani metadanym z niezwalidowanego zdarzenia
klienta. W razie potrzeby stosuj w swoim moście specyficzne dla serwera listy dozwolonych.
Rany i śmierć
Gdy funkcja jest włączona, obrażenia NPC tworzą ustrukturyzowane rany. NPC może wejść w stan rannego, wymagać leczenia lub umrzeć zgodnie z konfiguracją serwera. Uprawnione prace medyka i policji otrzymują interakcje przez wybranego dostawcę interakcji. Leczenie jest walidowane na serwerze na podstawie tożsamości gracza, pracy, stanu służby, odległości i bieżącego stanu NPC. Z dostawcą graczastandalone
prace są uprawnieniami ACE (humalike.job.<name>); własny dostawca gracza ocenia
prace samodzielnie. Zobacz
Prace bez frameworka.
Dyspozytornia
Incydenty medyczne mogą wywołać wybranego dostawcę dyspozytorni po skonfigurowanym opóźnieniu i z określoną szansą. Humalike dostarcza neutralny rodzaj i ładunek; most tłumaczy je na zasób dyspozytorni serwera.Akcje zdefiniowane przez serwer
Zasób integracji może deklarować własne akcje, każdą uzależnioną od faktów, które serwer zgłasza. Kontrakt znajduje się w Akcjach zdefiniowanych przez serwer.- Akcję odblokowują tylko zgłoszone obserwacje i tylko dla gracza, któremu NPC odpowiada. To, co gracz mówi, się nie liczy.
- Dopóki warunek nie jest spełniony, akcja pozostaje na liście, tag nie jest przyjmowany, a NPC dowiaduje się, co musi się najpierw wydarzyć. Nic nie dociera do serwera.
- Warunki są sprawdzane ponownie, gdy model zapisuje tag, więc fakt, który wygasł w trakcie odpowiadania, nie prześlizgnie się.
- Wykonany czyn jest zapisywany w transkrypcji NPC jako zdarzenie świata wymieniające fakty, które zużył. Zużyte fakty znikają dla każdego innego czynu i dla lady sklepowej.
- Bramka czyta ostatnią rozmowę NPC oraz jego najnowsze zdarzenia świata z przestrzeni nazw serwera niezależnie od ich wieku, więc zajęty NPC nie zapomina ani o nieopłaconym zamówieniu, ani o zużytym fakcie.
- Odrzucony czyn (
RunActionzwróciłofalse) nie jest ponawiany. Model może zapisać tag ponownie w późniejszej odpowiedzi jako nowy czyn z nowym id wywołania.
Lada sklepowa
Dostawca akcji zCatalog zamienia NPC w sklep. Humalike przyjmuje
zamówienie, wycenia je, śledzi płatność i wywołuje serwer, aby wydać towar lub
zwrócić pieniądze. Model nigdy nie ustala ceny, wydanej ilości ani
zwracanej kwoty.
- Model zamawia jednym tagiem:
[myserver:order water=10 pistol=1]. Humalike sprawdza zapasy i limity na przedmiot, wycenia zamówienie i podaje NPC sumę. - Płatność to zgłoszona obserwacja płatności w walucie katalogu, w pełnych jednostkach.
- Gdy pieniądze pokryją sumę, Humalike wywołuje
deliverprzy następnej odpowiedzi NPC dla tego gracza, rejestruje sprzedaż i usuwa pozycje z zapasów. [myserver:cancel_order]wywołujerefundz tym, co leży na ladzie. Ma pierwszeństwo przed oczekującym wydaniem w tej samej odpowiedzi.
Ponowienia
deliver zachowują to samo id wywołania, dopóki obowiązuje to samo zamówienie,
nawet po dopłacie. refund jest identyfikowany przez zamówienie, które anuluje, lub przez
płatności, gdy żadne zamówienie nie jest otwarte. Panel pokazuje bieżące zapasy NPC
w trybie tylko do odczytu.

