- Dokumentacja
- Zasoby
Kategoria
Zasoby
Wszystkie funkcje i zdarzenia Lua z kategorii Zasoby, po stronie serwera i klienta.
Funkcje serwera 35
abortPrzerywa trwające zapytanie HTTP. W obecnej wersji serwera nie da się go jeszcze przerwać: funkcja zwracaRemote Request falsez ostrzeżeniem, a zapytanie kończy się samo po czasie zfetchRemote.addDopisuje plik konfiguracyjny (Resource Config <config src type>) dometa.xmlzasobu – własnego albo utworzonego przez ten skrypt funkcjącreateResource. Ten sam plik dopisany drugi raz niczego nie zmienia.addDopisuje plik mapy (Resource Map <map src dimension>) dometa.xmlzasobu – własnego albo utworzonego przez ten skrypt funkcjącreateResource. Mapa wczytuje się przy następnym starcie zasobu.callWywołuje funkcję udostępnioną przez inny serwer przez HTTP (argumenty idą jako JSON w zapytaniu POST). W obecnej wersji serwera funkcja nie wysyła zapytania i zwracaRemote false; zamiast niej użyjfetchRemoteztoJSON.copyKopiuje zasób pod nową nazwą. W obecnej wersji serwera funkcja nie jest jeszcze podłączona i zwracaResource falsez ostrzeżeniem.createTworzy nowy, pusty zasób (folder zResource meta.xml) wresources/, opcjonalnie w kategorii, np.[maps]. Nazwa może mieć litery, cyfry,_i-; gdy taki zasób już jest, zwracafalse. Skrypt, który utworzył zasób, może potem pisać w nim pliki ścieżką":nazwa/plik"(fileCreate,xmlCreateFile), dopisywaćaddResourceMap/addResourceConfigi skasować godeleteResource. Nowy zasób trzeba uruchomićstartResource; przy kolejnym starcie serwera rusza sam.deleteKasuje zatrzymany zasób z dysku razem z folderem. Skrypt może skasować tylko zasób, który sam utworzył przezResource createResource.fetchWysyła zapytanie HTTP lub HTTPS i oddaje odpowiedź do funkcji zwrotnej, bez zatrzymywania serwera. Z danymiRemote postDatarobi zapytanie POST, bez nich GET. Funkcja dostaje treść odpowiedzi i kod:0= sukces, numer statusu HTTP przy błędzie serwera,-1przy braku połączenia albo przekroczeniu czasu.getZwraca stan zapytania HTTP: adres, postęp i rozmiar. W obecnej wersji serwera zwracaRemote Request Info false.getZwraca trwające zapytania HTTP (wszystkich zasobów albo jednego). W obecnej wersji serwera lista jest pusta.Remote Requests getZwraca prawa, o które zasób prosi wResource ACLRequests meta.xml(aclrequestsw<info>). Każda pozycja to tabela z nazwą prawa i stanem.getOtwiera plik konfiguracyjny XML zasobu (np.Resource Config <config src="ustawienia.xml"/>zmeta.xml) i zwraca jego główny węzeł. Czytasz go funkcjamixml*, a na końcu zamykaszxmlUnloadFile.getZwraca korzeń elementów, które zasób tworzy w trakcie działania. W Trilogy Hub to ten sam element coResource Dynamic Element Root getResourceRootElement.getZwraca uchwyt zasobu o podanej nazwie (nazwa folderu wResource From Name resources/), także gdy zasób nie działa. Uchwyt przekażesz dostartResource,getResourceState,calli innych funkcji zasobów.getKorzeń elementów interfejsu zasobu. Interfejs istnieje tylko u graczy, więc na serwerze funkcja zawsze zwracaResource GUIElement false.getZwraca wartość atrybutu zResource Info <info>wmeta.xmlzasobu, np.name,author,version,type,description.getZwraca, kiedy zasób ostatnio wystartował (sekundy od 1970 roku), alboResource Last Start Time 0. W obecnej wersji serwera zawsze zwraca0.getZwraca powód, dla którego zasób nie wystartował. Pusty napis = brak błędu. W obecnej wersji serwera zawsze zwraca pusty napis; błędy wczytywania widać w konsoli serwera.Resource Load Failure Reason getZwraca, ile milisekund trwało ostatnie wczytanie zasobu. W obecnej wersji serwera zwracaResource Load Time false.getZwraca element mapy wczytanej z plikuResource Map Root Element .mapzasobu; jego dziećmi są obiekty, pojazdy i inne elementy z tej mapy.getZwraca nazwę zasobu z jego uchwytu.Resource Name getZwraca podfolder, w którym leży zasób wewnątrzResource Organizational Path resources/(np.[gamemodes]). Pusty napis, gdy leży bezpośrednio wresources/.getZwraca korzeń elementów zasobu. Wszystko, co zasób utworzy, jest jego dzieckiem, a zdarzenia podpięte do tego korzenia dotyczą tylko tego zasobu. Bez argumentu zwraca korzeń bieżącego zasobu (to samo coResource Root Element resourceRoot).getZwraca wszystkie zasoby z folderuResources resources/, działające i zatrzymane.getZwraca stan zasobu:Resource State "running", gdy działa, albo"loaded", gdy leży na dysku, ale jest zatrzymany. Działa też na kliencie: tam zna tylko zasoby uruchomione u gracza, więc zwraca"running"albofalse.isSprawdza, czy zasób leży w archiwum ZIP. Zasoby Trilogy Hub są zwykłymi folderami, więc zawsze zwracaResource Archived false.isSprawdza, czy zasób ma wResource Protected meta.xmlatrybutprotected="true"w<info>(zasób, którego inne skrypty nie powinny zatrzymywać).refreshPrzegląda folderResources resources/w poszukiwaniu nowych i zmienionych zasobów. W obecnej wersji serwera funkcja nie jest jeszcze podłączona i zwracafalsez ostrzeżeniem.removeKasuje plik z folderu zasobu (działa jakResource File fileDeletena ścieżce w zasobie).renameZmienia nazwę zatrzymanego zasobu. W obecnej wersji serwera funkcja nie jest jeszcze podłączona i zwracaResource falsez ostrzeżeniem.restartZatrzymuje i od razu uruchamia zasób, np. po zmianie jego plików.Resource setZapisuje atrybut wResource Info <info>wmeta.xmlzasobu. W obecnej wersji serwera funkcja nie jest jeszcze podłączona i zwracafalsez ostrzeżeniem.startUruchamia zatrzymany zasób. Zasób wczytuje skrypty, mapy i pliki, a gracze go pobierają.Resource stopZatrzymuje działający zasób. Jego elementy, timery, komendy i klawisze znikają.Resource updatePrzyznaje albo odbiera zasobowi prawo, o które prosił. Tworzy listę ACLResource ACLRequest resource.nazwa, dopina ją do grupyResourcesi ustawia w niej prawo. ZbyWhozapisuje w logu serwera, kto to zrobił.
Funkcje wspólne 2
callWywołuje funkcję wyeksportowaną przez inny zasób (<export function="nazwa"/>w jegometa.xml) i zwraca jej wyniki. To samo robi zapisexports.zasob:funkcja(...). Gdy zasób nie istnieje albo nie działa, w konsoli pojawia się jasny komunikat.getZwraca nazwy funkcji, które zasób eksportuje wResource Exported Functions meta.xml(<export function="..."/>). W obecnej wersji serwera lista jest pusta.
Zdarzenia serwera 6
onW czasie działania serwera pojawił się nowy folder zasobu (Resource Load State Change unloaded->loaded) albo zniknął (loaded->unloaded).onZasób zaraz wystartuje. Możesz wstrzymać start.Resource Pre Start onZasób wystartował. Podpięte doResource Start resourceRootprzychodzi tylko dla własnego zasobu, dorootdla każdego.onZasób zmienił stan:Resource State Change loaded->starting->running->stopping->loaded.onZasób się zatrzymuje. Dobre miejsce na zapis danych.Resource Stop onZmieniło się ustawienie zasobu (Setting Change setalbo panel administratora).
Zdarzenia klienta 4
onSkończyło się pobieranie pliku zClient File Download Complete downloadFile(plik<file download="false">). Przychodzi zawsze asynchronicznie, także gdy plik był już pobrany.onZasób wystartował w grze gracza (skrypty klienta są wczytane). Podpięte doClient Resource Start resourceRootprzychodzi tylko dla własnego zasobu.onZasób zatrzymuje się w grze gracza.Client Resource Stop onPostęp pobierania plików (start zasobu alboClient Transfer Box Progress Change downloadFile), najwyżej około 10 razy na sekundę. Przydaje się do własnego paska pobierania.