- Dokumentacja
- Zasoby i meta.xml
Przewodnik
Zasoby i meta.xml
Wszystko o pliku meta.xml: skrypty serwera, klienta i wspólne, pliki dla graczy, eksporty i kolejność pobierania.
Pełny przykład
<meta>
<info author="Ty" name="Mój tryb" version="1.0" type="gamemode" />
<script src="server.lua" type="server" />
<script src="client.lua" type="client" />
<script src="wspolne.lua" type="shared" />
<script src="tajne.lua" type="client" cache="false" />
<file src="logo.png" />
<file src="muzyka.mp3" download="false" />
<download_priority_group>10</download_priority_group>
<export function="dajNagrode" type="server" />
</meta>
info
Opis zasobu. Atrybut type to script (domyślnie) albo gamemode. Tryby gry startują na końcu, gdy inne zasoby są już gotowe.
script
| Atrybut | Znaczenie |
|---|---|
src | ścieżka do pliku .lua w folderze zasobu |
type="server" | skrypt działa tylko na serwerze i nigdy go nie opuszcza |
type="client" | skrypt jest wysyłany do gracza i działa w jego grze |
type="shared" | ten sam plik działa po obu stronach |
cache="false" | skrypt klienta nie jest zapisywany na dysku gracza, tylko pobierany przy każdym wejściu |
Skrypty wspólne przydają się na stałe dane i funkcje pomocnicze, np. tabelę cen albo listę pojazdów. Po każdej stronie działają niezależnie: zmiana zmiennej na serwerze nie zmienia jej u gracza.
file
Plik wysyłany do gracza: obraz, dźwięk, czcionka, dane. Gracz pobiera go przy wejściu, a przy następnym wejściu tylko wtedy, gdy plik się zmienił.
Z download="false" plik nie jest pobierany przy starcie. Skrypt klienta ściąga go sam, kiedy go potrzebuje, przez downloadFile("muzyka.mp3"), a wynik dostaje w zdarzeniu onClientFileDownloadComplete.
download_priority_group
Kolejność pobierania przy wejściu gracza. Większa liczba jest pobierana wcześniej, domyślnie 0, ujemne na końcu. Przydaje się, gdy ekran logowania ma się pojawić, zanim dojdą ciężkie pliki innych zasobów.
export
Udostępnia funkcję innym zasobom. Wywołujesz ją przez exports:
-- meta.xml zasobu "nagrody": <export function="dajNagrode" type="server" />
function dajNagrode(gracz, kwota)
givePlayerMoney(gracz, kwota)
return true
end
exports.nagrody:dajNagrode(gracz, 500)
Limity i konsola
Jeden plik może mieć do 64 MB, cały zasób do 256 MB. Wszystko, co zasób utworzy (pojazdy, obiekty, okna, timery), znika po jego zatrzymaniu.
| Komenda | Co robi |
|---|---|
start <zasób> | uruchamia zasób |
stop <zasób> | zatrzymuje zasób i usuwa wszystko, co utworzył |
restart <zasób> | zatrzymuje i uruchamia ponownie, także u graczy |