- Dokumentacja
- Pierwsze kroki
Przewodnik
Pierwsze kroki
Twój pierwszy zasób w pięć minut: folder, meta.xml, jeden skrypt serwera i jeden klienta.
Czym jest zasób
Wszystko, co dzieje się na serwerze, robią zasoby. Zasób to folder w resources/ z plikiem meta.xml, który mówi serwerowi, jakie skrypty i pliki do niego należą. Tryb gry, panel admina, licznik prędkości czy wyścig to osobne zasoby, które włączasz i wyłączasz bez restartu serwera.
Jeśli pisałeś pod MTA:SA, znasz to na pamięć. Struktura folderów, meta.xml i nazwy funkcji są takie same.
Utwórz folder
W folderze serwera otwórz resources/ i utwórz w nim folder witaj. Nazwa folderu to nazwa zasobu, której użyjesz w konsoli.
resources/
witaj/
meta.xml
server.lua
client.lua
Napisz meta.xml
meta.xml wymienia skrypty zasobu. Atrybut type decyduje, gdzie skrypt działa: server zostaje na serwerze, client jest wysyłany do każdego gracza.
<meta>
<info name="Witaj" author="Ty" version="1.0" type="script" />
<script src="server.lua" type="server" />
<script src="client.lua" type="client" />
</meta>
Dodaj skrypty
Skrypt serwera reaguje na wejście gracza: stawia go w świecie i pisze na czacie. Skrypt klienta rysuje napis na ekranie gracza w każdej klatce.
addEventHandler("onPlayerJoin", root, function()
-- source to gracz, który właśnie wszedł
spawnPlayer(source, 2495.3, -1687.0, 13.5)
outputChatBox("Witaj na Grove Street, " .. getPlayerName(source) .. "!", source, 255, 122, 34)
end)
local sw, sh = guiGetScreenSize()
addEventHandler("onClientRender", root, function()
dxDrawText("Mój pierwszy zasób", 0, sh - 60, sw, sh, tocolor(255, 255, 255), 1.2, "default-bold", "center")
end)
Uruchom
Wpisz w konsoli serwera:
start witaj
Wejdź na serwer z launchera. Po zmianie skryptu nie musisz wyłączać serwera, wystarczy restart witaj. Komenda przeładowuje zasób na serwerze i u wszystkich graczy.
Błąd w skrypcie? Serwer wypisze w konsoli plik, numer linii i opis. Zły argument w wywołaniu funkcji nie przerywa skryptu, tylko zwraca false z ostrzeżeniem. Więcej w Konwencjach.
Co dalej
- Zasoby i meta.xml: pliki do pobrania, eksporty, skrypty wspólne.
- Konwencje:
root,source, elementy i obsługa błędów. - Funkcje serwera i Funkcje klienta: spis funkcji z opisami.