Skip to main content
Humalike zamienia decyzje z rozmowy w zwalidowane akcje FiveM. Wbudowane akcje obejmują typowe zachowanie postaci; dostawcy podłączają specyficzne dla serwera systemy ekwipunku, dyspozytorni i rozgrywki.

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ą gracza standalone 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 (RunAction zwróciło false) 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 z Catalog 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.
  1. Model zamawia jednym tagiem: [myserver:order water=10 pistol=1]. Humalike sprawdza zapasy i limity na przedmiot, wycenia zamówienie i podaje NPC sumę.
  2. Płatność to zgłoszona obserwacja płatności w walucie katalogu, w pełnych jednostkach.
  3. Gdy pieniądze pokryją sumę, Humalike wywołuje deliver przy następnej odpowiedzi NPC dla tego gracza, rejestruje sprzedaż i usuwa pozycje z zapasów.
  4. [myserver:cancel_order] wywołuje refund z 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.

Własne zachowanie

Nagrody, zmiany w ekonomii, specyficzne dla serwera animacje, kody dyspozytorni i zasady prac trzymaj w osobnym zasobie integracji. Zobacz API dostawców.

Dalej