Agency-Elevator: Wielopiętrowe budynki w końcu naprawdę użyteczne
Agency-Elevator zamienia dowolny budynek w GTA V w funkcjonalną, wielopiętrową przestrzeń z odpowiednimi animacjami, dźwiękiem i hookami skryptowymi.
Agency Scripts
Założyciel i główny deweloper w Agency Scripts
Problem wielu pięter w GTA V
GTA V oferuje niesamowicie wyglądające wieżowce, z których prawie żaden nie nadaje się do faktycznego użytku. Teleportowanie graczy między piętrami wygląda tanio i psuje immersję. Piętra MLO wymagają drogich, niestandardowych wnętrz, a przejścia między nimi i tak zazwyczaj psują fizykę gry. Agency-Elevator to nasza odpowiedź: prawdziwa mechanika windy, która zachowuje się jak autentyczna winda, działa w każdym budynku i czysto integruje się z ekosystemem skryptów twojego serwera.
Jak uzyskać właściwe odczucia
Winda działa w trzech etapach: animacja wejścia, jazda w górę z subtelnym ruchem kamery i dźwiękiem otoczenia oraz otwarcie drzwi na piętrze docelowym. Ta sekwencja trwa sześć sekund, wystarczająco długo, by wydawać się realistyczna, i wystarczająco krótko, by nie sprawiać wrażenia czekania. Projekt dźwięku ma znaczenie: cichy szum mechaniczny, delikatny dzwonek na twoim piętrze. Gracze rzadko zauważają to świadomie, i dokładnie o to chodzi.
Konfiguracja nowych wind
Dodanie nowej windy wymaga pięciu linii konfiguracji: koordynaty wejścia, koordynaty docelowe dla każdego piętra, etykiety pięter, opcjonalna funkcja sprawdzania uprawnień. Bez edycji MLO, bez sztuczek ze streamingiem wnętrz. Wklejasz koordynaty, przypisujesz piętra, gotowe. Mieliśmy właścicieli serwerów konfigurujących 12-piętrowe biurowce w mniej niż dziesięć minut.
Kontrola dostępu, która naprawdę działa
Dostęp do pięter na podstawie pracy działa bez zarzutu. Hol jest publiczny, piętra od 5 do 10 wymagają karty zarządcy budynku, a penthouse określonego ID postaci. Reguły te są natychmiast weryfikowane na podstawie danych gracza w dowolnym frameworku, bez czekania na zapytania do bazy danych, które spowalniałyby ruch windy.
Dlaczego to ulubiony skrypt standalone
Agency-Elevator działa niezależnie od frameworka od razu po instalacji. Nie ma znaczenia, czy używasz QBCore, ESX czy własnego stacku standalone, hooki uprawnień to wymienne funkcje, a nie importy frameworka. Dlatego jest to jeden z naszych najczęściej pobieranych skryptów we wszystkich trzech społecznościach.
Instalacja & konfiguracja
Agency-Elevator nie wymaga bazy danych do podstawowego działania. Pobierz z Tebex, wrzuć folder do katalogu resources i dodaj ensure agency-elevator do server.cfg. Definicje wind, współrzędne wejść, piętra docelowe, etykiety i zasady dostępu znajdują się w config.lua.
Domyślna konfiguracja zawiera definicje wind dla kilku dostępnych budynków z podstawowej wersji GTA V (hol FIB, wejście do Maze Bank Tower, wejścia do apartamentowców). Zastąp je lub uzupełnij współrzędnymi własnych budynków na swoim serwerze. Konfiguracja każdej definicji zajmuje mniej niż pięć minut.
Opcje konfiguracji
Ten config.lua obejmuje zachowanie windy i kontrolę dostępu:
- Definicje wind, tablica wind, każda z nazwą, współrzędnymi i promieniem punktu wejścia oraz tablicą pięter docelowych.
- Piętra docelowe, każde piętro ma współrzędne, etykietę wyświetlaną i opcjonalną funkcję dostępu.
- Funkcja dostępu, funkcja Lua dla każdego piętra, która przyjmuje src gracza i zwraca true/false. Użyj jej do sprawdzania warunków dotyczących pracy, przedmiotu lub ID postaci.
- Czas trwania przejścia, jak długo trwa animacja wjeżdżania/zjeżdżania w milisekundach. Domyślnie: 6000 (6 sekund).
- Dźwięk otoczenia, przełącz mechaniczny szum windy i dźwięki dzwonka piętra. Domyślnie: włączone.
- Zachowanie kamery, subtelne przechylenie kamery podczas przejścia dla efektu ruchu. Domyślnie: włączone, konfigurowalna intensywność.
- Styl UI, wygląd panelu wyboru piętra (minimalistyczny vs. szczegółowy z opisami pięter).
Kompatybilność z frameworkami
Agency-Elevator jest z założenia całkowicie standalone. Funkcje kontroli dostępu w Twoim configu mogą odwoływać się do danych gracza z dowolnego frameworka: QBCore, ESX lub niestandardowego. W bazowym resource nie ma żadnych importów frameworka. Dlatego jest to jeden z najchętniej pobieranych skryptów Agency we wszystkich trzech społecznościach serwerowych: działa bez specjalnej konfiguracji, niezależnie od Twojego stacku.
Dlaczego ma to znaczenie dla roleplay
Przestrzeń pionowa to jeden z najbardziej niewykorzystanych wymiarów w GTA V RP. Mapa oferuje dziesiątki imponujących wieżowców i wielopoziomowych wnętrz. Bez działających wind przestrzenie te są niedostępne lub wymagają psujących immersję teleportów. Agency-Elevator otwiera tę przestrzeń pionową dla RP bez uciążliwego cięcia teleportem.
To sześciosekundowe przejście to nie zapychacz, lecz celowe budowanie tempa. Przejazdy windą w roleplay to mikrosceny. Detektyw i podejrzany, jadący razem na 12. piętro, mają sześć sekund wymuszonej bliskości. Partnerzy biznesowi jadący na spotkanie mają sześć sekund na swobodną rozmowę. Te krótkie interakcje tworzą klimat RP, a działająca winda kreuje je w naturalny sposób, zamiast je pomijać.
Warstwa kontroli dostępu umożliwia budowanie hierarchii RP. Wieżowiec korporacyjny, w którym lobby jest publiczne, piętra 5-20 wymagają karty pracowniczej, a piętro zarządu wymaga konkretnej postaci: to organizacja o strukturze przestrzennej. Kiedy dostęp fizyczny odpowiada dostępowi organizacyjnemu, budynek staje się prawdziwym terytorium in-character, a nie tylko scenerią.
Wnętrza customowych MLO to miejsce, w którym ten skrypt przynosi największą wartość. Serwer z własnym MLO komendy policji, szpitala czy biurowca w drapaczu chmur może udostępnić każde piętro tych wnętrz do poruszania się bez konieczności pakowania nowych zasięgów streamingu po stronie klienta. Przejścia windą między istniejącymi strefami wnętrz zajmują się resztą.
Często zadawane pytania
Czy dwóch graczy może korzystać z tej samej windy jednocześnie, jadąc na różne piętra?
Tak. Interakcja każdego gracza z windą jest niezależna. Jeśli gracz A wezwie windę na piętro 5, a gracz B na piętro 12 z tego samego punktu wejścia, oba przejścia odtwarzają się jednocześnie na kliencie każdego gracza. Winda nie ma symulowanej pojemności ani czasu oczekiwania, jest to przejście dla każdego gracza z osobna, a nie wspólny obiekt fizyczny.
Czy możemy dodać operatora NPC lub prop klawiatury do windy?
Strefa triggera nie wymaga żadnego konkretnego propa, opiera się na współrzędnych. Za pomocą narzędzi do stawiania propów na swoim serwerze możesz umieścić we współrzędnych wejścia dowolny prop (klawiaturę numeryczną, recepcję, NPC). Interakcja z windą uruchamia się, gdy gracz wejdzie w promień triggera, niezależnie od tego, co fizycznie się tam znajduje.
Czy to działa z windami wewnątrz niestandardowych zasobów streamingu wnętrz?
Tak. Współrzędne wnętrza działają w konfiguracji identycznie jak współrzędne zewnętrzne. Upewnij się, że używasz współrzędnych przestrzeni wnętrza (które pobierasz, będąc wewnątrz w grze), a nie zewnętrznych współrzędnych budynku. Jeśli Twoje wnętrze używa niestandardowego ID wnętrza, przekaż je w definicji piętra, a Agency-Elevator załaduje gracza do właściwego wnętrza podczas przejścia.
Czy winda może zostać całkowicie zablokowana podczas określonych wydarzeń RP?
Użyj exports['agency-elevator']:LockElevator(elevatorName, reason) z dowolnego skryptu serwerowego. Gracze próbujący skorzystać z windy w trakcie blokady widzą komunikat "obecnie niedostępne". Odblokuj za pomocą exports['agency-elevator']:UnlockElevator(elevatorName). Użyj tego do oskryptowanych wydarzeń, w których niekontrolowany dostęp do piętra popsułby scenę.
Wymagania
- Serwer FiveM (dowolny framework lub standalone)
- konto cfx.re z ważną licencją Agency-Elevator
- Brak zależności od bazy danych do podstawowego działania
- Brak zależności od zewnętrznych zasobów