ai-exitsleeping
Gracz, który się wyloguje, zostaje w świecie jako śpiące ciało, które inni mogą nosić i wkładać do pojazdów.
ai-exitsleeping zatrzymuje wylogowane postacie w świecie. Gdy gracz wychodzi z serwera lub wraca do ekranu postaci, jego postać kładzie się jako śpiące ciało tam, gdzie stała. Inni gracze mogą je nosić, włożyć do pojazdu i z powrotem wyjąć, a właściciel budzi się tam, gdzie ciało się znalazło.
Co robi w grze
- Śpiące ciała. Ciało ma wygląd postaci (przez warstwę wyglądu AI Core, więc działa każdy obsługiwany skrypt ubrań) i jedną z pozycji leżących z panelu. Każdy gracz widzi tę samą pozycję.
- Noszenie. Podejdź do ciała i naciśnij klawisz interakcji przy Carry Sleeping Player. X (lub Stop Carrying) odkłada je tam, gdzie stoisz. Nie możesz nosić w pojeździe, będąc powalonym lub skutym.
- Pojazdy. Podczas noszenia Put in Vehicle przy pojeździe sadza ciało na miejscu pasażera. Take Out Sleeping Player przy pojeździe z ciałem w środku je wyjmuje (wtedy je niesiesz).
- Budzenie. Następny spawn właściciela jest tam, gdzie teraz jest ciało: na ziemi, na ramieniu niosącego albo na miejscu w pojeździe, w którym zostało posadzone.
- Wygasanie. Ciała graczy, którzy wylogowali się dawniej niż liczba dni z panelu, są usuwane.
- Ukryte obszary i prywatne światy. W ukrytym obszarze (panel) nie zostaje żadne ciało, a ciała tam odłożone są ukryte. Przy włączonym Ignore private worlds gracze we wnętrzu domu lub motelu nie zostawiają ciała i żadnego nie widzą.
Instalacja
Instalowany przez przepis AI Core. Ręcznie: ensure ai-exitsleeping po ai-core. Tabela ai_exitsleeping_sleepers jest tworzona przy pierwszym starcie.
Jeśli twój skrypt spawnu sam umieszcza gracza po spawnie ai-core, ustaw Wake up on na PlayerLoaded export (spawn script) i wywołaj z niego exports['ai-exitsleeping']:PlayerLoaded() (zobacz stronę dla deweloperów).
Ustawienia w panelu
Panel administratora > Exit Sleeping.
Zakładka: General
Jak długo zostają śpiące ciała, z jakiej odległości są rysowane i co gracze mogą z nimi robić.
Sleeping bodies: gracz, który się wyloguje, zostaje w świecie jako śpiące ciało tam, gdzie wyszedł, i budzi się tam, gdzie ciało się znalazło.
| Ustawienie | Co zmienia | Jednostka | Domyślnie |
|---|---|---|---|
| Keep bodies for | Ciała graczy, którzy wylogowali się dawniej, są usuwane. 1-365. | dni | 3 |
| Draw distance | Śpiące ciała pojawiają się, gdy gracz podejdzie tak blisko, i znikają dalej. 5-60, co 0,5. | m | 25 |
| Ignore private worlds | Gracze w prywatnym świecie (wnętrze domu lub pokoju motelowego) nie zostawiają ciała przy wylogowaniu i nie widzą ciał, gdy są w środku. | wł. / wył. | wł. |
| Wake up on | Character spawn (ai-core) lub PlayerLoaded export (spawn script). Zostaw wartość domyślną, chyba że skrypt spawnu wywołuje exports['ai-exitsleeping']:PlayerLoaded() po własnym spawnie. | Character spawn (ai-core) |
Carrying and vehicles: gracze mogą nosić śpiące ciało, posadzić je na miejscu w pojeździe i z powrotem wyjąć.
| Ustawienie | Co zmienia | Jednostka | Domyślnie |
|---|---|---|---|
| Interaction distance | Jak blisko musi stać gracz, aby nieść ciało lub sięgnąć pojazdu. 1-10, co 0,5. | m | 2.5 |
| Server distance check | Serwer odrzuca noszenie lub akcję z pojazdem z większej odległości (przeciw oszustom). 2-30, co 0,5. | m | 6 |
| Position check | Jak często serwer aktualizuje, gdzie są noszone ciała i ciała w pojazdach, aby właściciel obudził się we właściwym miejscu. 1-60. | s | 5 |
| Debug messages | Wypisuje w konsolach serwera i klienta, co robi skrypt. | wł. / wył. | wył. |
Zakładka: Animations
Pozycje leżące śpiących ciał i animacja noszenia. Każda animacja to Animation dictionary, Animation name i Animation flags (flagi animacji GTA, 0-65535: 1 pętla, 49 pętla górnej części ciała podczas chodzenia, 33 pętla przy przyczepieniu).
| Karta | Co zmienia | Domyślnie |
|---|---|---|
| Lying poses | Każde ciało losuje jedną z nich; każdy gracz widzi tę samą pozycję. Do 20. | amb@world_human_bum_slumped@male@laying_on_left_side@idle_a / idle_b, flagi 1 |
| Carrying player | Animacja gracza, który niesie ciało. | missfinale_c2mcs_1 / fin_c2_mcs_1_camman, flagi 49 |
| Carried body | Animacja ciała na ramieniu niosącego. | nm / firemans_carry, flagi 33 |
Carry position: gdzie noszone ciało jest umieszczone na niosącym.
| Ustawienie | Co zmienia | Jednostka | Domyślnie |
|---|---|---|---|
| Bone index | Indeks kości niosącego, do której przyczepione jest ciało (0 = korzeń peda). | 0 | |
| Offset right | Od -5 do 5, co 0,01. | m | 0.2 |
| Offset forward | Od -5 do 5. | m | 0.15 |
| Offset up | Od -5 do 5. | m | 0.63 |
| Rotation X | Od -360 do 360, co 0,5. | ° | 0.5 |
| Rotation Y | Od -360 do 360. | ° | 0.5 |
| Rotation Z | Od -360 do 360. | ° | 5 |
Zakładka: Hidden areas
Miejsca, w których nie jest pokazywane żadne śpiące ciało, takie jak wnętrza lub strefy bezpieczne. Jeden rekord na obszar (New area / Delete area). Usunięcie obszaru sprawia, że śpiące ciała w środku znowu są widoczne. Żaden nie jest gotowy domyślnie.
Area: gracze, którzy wylogują się w środku, nie zostawiają ciała; ciała odłożone w środku są ukryte (właściciel i tak się tam budzi).
| Ustawienie | Co zmienia | Jednostka | Domyślnie dla nowych |
|---|---|---|---|
| Name | Nazwa obszaru. | ||
| Shape | Ball, Cylinder lub Polygon: kula lub walec wokół punktu środkowego albo wielokąt z punktów wierzchołków. | Ball | |
| Centre | Środek obszaru (kula i walec). | punkt | |
| Radius | Metry od środka do krawędzi (kula i walec). 1-2000. | m | 25 |
| Height | Ile metrów w górę i w dół sięga obszar (walec: od środka; wielokąt: poza jego najniższy i najwyższy wierzchołek). 0.5-1000. | m | 10 |
Polygon corners (tylko wielokąt): dodaj wierzchołek na każdym zakręcie granicy, po kolei (wolna kamera lub twoja pozycja); wielokąt potrzebuje co najmniej trzech, do 64. Kształt jest rysowany w świecie, gdy to pole jest na ekranie.
Komendy
| Komenda | Argumenty | Kto | Co robi |
|---|---|---|---|
/exitsleeptest | brak | administratorzy (ai.admin) | Przełącz własne śpiące ciało (test): tworzy ciało tam, gdzie stoisz, albo je usuwa. |
Klawisze
| Domyślny klawisz | Co robi |
|---|---|
| X | Odłóż noszonego śpiącego gracza |
Znane ograniczenia
- Ciała istnieją tylko we wspólnym świecie: we wnętrzu z instancją noszone ciało jest odkładane w ostatniej pozycji na zewnątrz.
- Po restarcie serwera każde ciało leży na ziemi w ostatniej zapisanej pozycji (stany noszenia i siedzenia nie są zachowywane).
- Gracz, który obudzi się w ciągu kilku sekund od zniknięcia niosącego lub pojazdu, może pojawić się w ostatnim zapisanym miejscu (odstęp Position check).