Jak wygląda skrypt?
Tak jak w MTA:SA. Zasób to skrypt serwera, skrypt klienta i meta.xml. Poniżej auto na komendę z kolorem RGB i tablicą, pora dnia, pogoda, spowolnienie z Definitive Edition oraz okno dialogowe po stronie klienta.
-- Auto na komendę: kolor RGB, reflektory, własna tablica
addCommandHandler("auto", function(player)
local x, y, z = getElementPosition(player)
local car = createVehicle(536, x + 3, y, z) -- Blade
setVehicleColor(car, 255, 122, 34, 20, 20, 20)
setVehicleHeadLightColor(car, 255, 180, 90)
setVehiclePlateText(car, "GROVE 4L")
warpPedIntoVehicle(player, car)
end)
-- Zachód słońca nad Los Santos
setTime(19, 30)
setWeatherBlended(1)
-- Spowolnienie przy kole broni z Definitive Edition
setSlowMotionEnabled(true, "wheel")
-- Motyw interfejsu, powiadomienie i okno dialogowe
guiSetTheme("sunset")
addEventHandler("onClientResourceStart", resourceRoot, function()
guiNotify("Witaj w Los Santos!", "success", 4000)
end)
bindKey("F2", "down", function()
local box = guiMessageBox("Frakcja", "Dołączyć do Grove?", { "Tak", "Nie" })
addEventHandler("onClientGUIAccepted", box, function(label)
if label == "Tak" then triggerServerEvent("frakcja:dolacz", localPlayer) end
end, false)
end)
<meta>
<info author="Ty" name="grove" version="1.0" type="gamemode" />
<script src="server.lua" type="server" />
<script src="client.lua" type="client" />
</meta>
Co działa tak samo jak w MTA?
- Zły argument nie przerywa skryptu. Funkcja zwraca
falsei zapisuje ostrzeżenieBad argument @ 'setPlayerMoney'. - Współrzędne jako
x, y, zalboVector3. - Własne zdarzenia przez
addEvent, zdarzenia z klienta na serwer zaddEvent('nazwa', true). - Eksporty:
exports.zasob:funkcja()icall(). - Numeracja jak w MTA: wiersze list GUI od 0, kolumny od 1, sloty broni od 0 do 12.
Co jest gotowe od razu?
setSlowMotionEnabled: spowolnienie przy kole broni i przy akrobacjach, z Definitive Edition.- Wbudowane motywy interfejsu przełączane jedną funkcją:
guiSetTheme,guiRegisterTheme. - Gotowe elementy: powiadomienie
guiNotify, okno dialogoweguiMessageBox, suwakguiCreateSlider. setLoadingScreen: obraz, nazwa i wskazówki na ekranie wczytywania serwera, jedną funkcją.
Co obejmuje API?
- Gracze
- Postacie
- Ubrania
- Pojazdy
- Bronie
- Pociski
- Obiekty
- Pickupy
- Znaczniki
- Blipy
- Strefy kolizji
- Świat
- Światła
- Ogień
- Efekty
- Kamera
- Dźwięk
- Interfejs (GUI)
- Rysowanie (dx)
- Wyświetlacze tekstu
- Kursor
- Wejście i sterowanie
- Czat i konsola
- Drużyny
- Konta
- Uprawnienia (ACL)
- Administracja i bany
- Baza danych
- Pliki
- XML
- Zasoby
- Zdarzenia
- Timery
- Mapy
- Matematyka i wektory
Pełny opis funkcji znajdziesz w dokumentacji Lua.
Pytania
Czym Trilogy Hub różni się od MTA:SA?
MTA:SA działa na oryginalnym GTA San Andreas z 2004 roku, a Trilogy Hub na Definitive Edition z 2021 roku (Unreal Engine 4) z odświeżoną grafiką. Skrypty piszesz tak samo, a w launcherze masz dodatkowo konto, znajomych i czat.
Czy moje skrypty z MTA zadziałają?
API Trilogy Hub jest pisane w stylu MTA: zasoby z meta.xml, te same nazwy funkcji i zdarzeń, ta sama obsługa złych argumentów. Wiedza z MTA przechodzi wprost. Gotowy zasób z MTA warto przejrzeć, bo nie każda funkcja ma już odpowiednik.