Skip to main content
NPC otoczenia to dynamiczne postacie, które Humalike sam wystawia na ulicę: gdy gracze się gromadzą, zasób spawnuje w pobliżu, poza zasięgiem wzroku, sieciowego pieszego o modelu postaci, a Humalike utrzymuje na nim postać tak długo, jak długo gracze są w okolicy.

Cykl życia

  1. Planer grupuje pobliskich graczy i decyduje, które postacie powinny mieć ciało wokół każdej grupy i gdzie.
  2. Zasób spawnuje pieszego w bezpiecznym miejscu poza zasięgiem wzroku i wiąże go.
  3. Humalike śledzi postać, dopóki ten ped istnieje, i zwalnia wiązanie, gdy gra go usunie (zniknięte ciało jest zwalniane, nigdy nie zostaje nieaktualna dzierżawa).
  4. Gdy przez czas despawnu żaden gracz nie był w pobliżu ciała, jest ono usuwane; postać dostaje nowe ciało, gdy następnym razem gracze będą w okolicy.
Tożsamość i pamięć postaci są stabilne; uchwyt encji GTA nie jest. Twoja integracja powinna odwoływać się do id NPC Humalike zawsze, gdy przechowuje stan postaci.

Skonfiguruj populację otoczenia

Otwórz serwer w panelu i użyj jego ustawień NPC otoczenia, aby włączyć system i dostroić limity. Polityka panelu jest rozstrzygająca dla liczby aktywnych postaci otoczenia i ciał.

Modele

Model peda postaci to ciało, w którym jest spawnowana, i to postać o nim decyduje. Dostępny jest każdy model peda GTA — około 500 pieszych otoczenia, usługowych, gangowych i unikalnych, nie tylko te, które gra sama wystawia na ulice. Każdy członek świata nosi od jednego do trzech tagów wyglądu, które mówią, jak się ubiera — wealthy, office, street, beach, homeless, tag worker: dla munduru (worker:pilot, worker:mechanic) lub tag gang: dla barw ulicznego gangu (gang:ballas, gang:lost_mc). Propozycja dobiera je na podstawie roli; możesz je zmienić w propozycji przed generowaniem, a później przez żądanie edycji („ubierz funkcjonariusza Diaza w mundur LSPD”), które ponownie dobiera ciało. Tag munduru lub gangu występuje samodzielnie, a wiele mundurów istnieje w GTA tylko dla jednej płci — lista wyboru mówi, dla której (worker:paramedic tylko dla mężczyzn, worker:nurse tylko dla kobiet); tag, którego płeć członka nie może nosić, jest odrzucany w propozycji i pomijany przez generator. Ciało jest losowane równomiernie spośród modeli katalogu o płci członka, które noszą jeden z jego tagów (najpierw najbliższy przedział wiekowy), więc pilot nosi mundur pilota, a członek Ballas fiolet — nic nie jest wykluczone, a członek, którego tagi nie pasują do żadnego ciała, dostaje zwykłe cywilne. Członkowie jednej grupy dostają różne ciała, dopóki katalog je ma; strój podąża za tymi samymi tagami na modelach sfotografowanych do tej pory, a resztę ubiera własne losowanie strojów gry. Strefa domowa grupy decyduje o tym, gdzie postać woli się pojawiać, a nie o tym, jak wygląda. Ręcznie utworzonej postaci otoczenia nadaj dowolny model, jaki serwer ma.

Jak to działa

Nie ma tu nic do wybierania. Gdy NPC otoczenia są włączone, Humalike jest właścicielem ulicy: spawnuje ciała dla twoich dynamicznych postaci w pobliżu grup graczy (pieszego o modelu postaci, w promieniu spawnu, poza zasięgiem wzroku, preferując strefę domową postaci) i wypełnia resztę ulicy statystami — pieszymi bez persony, losowanymi spośród wszystkich zwykłych cywilnych modeli w katalogu, niezależnie od strefy, do wartości Statyści na klaster wokół każdej grupy i Limit statystów dla całego serwera. Klienci wyłączają w tym czasie własną pieszą populację GTA (pojazdy, ruch i zaparkowane samochody pozostają nietknięte; losowa policja pozostaje włączona, gdy convar humalike_population_cops ma wartość true — zobacz Konfiguracja). Wszystko, co dotyczy postaci otoczenia — strój, etykiety, głos, akcje, rany — dotyczy jej ciała. Statyści nigdy nie mówią ani nie są wiązani; ustaw statystów na klaster na 0, aby działać tylko z postaciami. Wyłączone oznacza brak postaci dynamicznych i tłum GTA taki, jaki był zawsze. Ciało jest zwalniane, gdy żaden gracz w jego routing bucket nie znajdował się w odległości despawnu ciała przez czas despawnu ciała (odległość despawnu musi być co najmniej równa odległości spawnu, inaczej ciała byłyby zwalniane zaraz po pojawieniu się); zasób następnie je usuwa. Ranne lub przytrzymywane ciała są zachowywane, dopóki znów nie będą wolne. Ciała postaci liczą się do limitu mapy i limitu na komórkę; statyści liczą się tylko do własnego limitu. Na komórkę robi dwie rzeczy jedną liczbą: ogranicza liczbę ciał, które Humalike utrzymuje w jednej komórce siatki (o boku Metry komórki), a przeskalowane przez ruch pieszy strefy określa, ile postaci grupa graczy spotyka naraz wokół siebie. Budżet jest współdzielony, aby nikt nie dostał tłumu, podczas gdy ktoś inny ma pustą ulicę. Najpierw rozmieszczane są postacie. Limit statystów jest następnie dzielony między grupy graczy według liczebności — gracze stojący razem dzielą jeden przydział, a większa grupa dostaje większy udział — i każda grupa jest ograniczona przez Ciała na zakres gracza, maksymalną liczbę ciał Humalike dozwoloną wokół jednego gracza. Nowe ciała pojawiają się w tempie Spawnów na tick na grupę, rozproszone wokół grupy, a nie w jednym miejscu, więc tłum napływa stopniowo, zamiast lądować naraz. To, gdzie stoi grupa, ma takie samo znaczenie jak pokrętła. Każda strefa ma gęstość ruchu pieszego od 0 do 1 według swojego zweryfikowanego charakteru, a limity na grupę skalują się według niej: chodnik w centrum, promenada nadmorska lub plac miejski dostają pełny limit na komórkę i statystów na klaster; małe miasteczko połowę tego; pustynna droga lub plac przemysłowy rzadkiego przechodnia; pasmo górskie, las lub otwarte morze nikogo. Każda strefa z ruchem pieszym zachowuje miejsce dla jednej postaci, więc personę zamieszkałą w Paleto Bay nadal można tam spotkać. Postacie wygenerowane ze świata noszą strefę domową swojej grupy, więc pojawiają się tam, gdzie mieszkają — preferowana okolica, nie pinezka: postać jest najpierw planowana w swojej strefie domowej, a gdzie indziej, gdy graczy tam nie ma. Ręcznie utworzona postać nie ma strefy domowej i może być spawnowana wszędzie; create_npc / update_npc w API przyjmują home_zone (kod strefy GTA, np. DAVIS), aby ją nadać — panel ustawia ją tylko przez grupy świata.

Kierowcy

Niektóre postacie przyjeżdżają drogą: od czasu do czasu dynamiczna postać jest spawnowana za kierownicą samochodu — lub na motocyklu, dla wyglądu motocyklisty — i jeździ po okolicy jak reszta ruchu, zamiast chodzić. To, czym jeżdżą, wynika z wyglądu ich modelu (gang jeździ własnym rodzajem pojazdu, bogaci czymś drogim, wszyscy inni zwykłym sedanem); statyści nigdy nie prowadzą. Kierowca to zwykłe ciało podlegające tym samym limitom, tempu spawnu i zasadom zwalniania co każde inne, a rozmowa z nim sprawia, że zjeżdża na pobocze i czeka, aż skończysz. Kierowcy są domyślnie włączeni i wyłącza się ich convarem humalike_npc_vehicles (zobacz Konfiguracja); po wyłączeniu każda postać spawnuje się pieszo jak wcześniej.

Strojenie wydajności

Nie podnoś tempa spawnu ani limitu na zakres tylko po to, aby ulica zapełniła się ułamek sekundy szybciej. Więcej ciał to więcej sieciowych encji dla każdego klienta w zasięgu. Jeśli problem został zmierzony, odpowiednie ustawienia zaawansowane są udokumentowane w Konfiguracji. Zmieniaj jedną wartość naraz i porównuj humalike_status oraz wydajność serwera przed i po.

Typowe zachowanie

  • Zniknięcie NPC otoczenia po odejściu graczy jest oczekiwane.
  • Jego następne ciało może mieć inny network id.
  • Różne klienty nadal obserwują tę samą sieciową encję, dopóki istnieje.
  • Przy wyłączonych NPC otoczenia Humalike nie dotyka własnej populacji GTA.
Użyj NPC statycznego, gdy fizyczna postać musi zawsze wracać w jedno dokładne miejsce.

Dalej