Otwórz folder addonu
Najpierw samodzielnie utwórz garrysmod/addons/welcome, a potem wybierz ten folder jako folder roboczy.
Komenda czatu !hello na Twoim własnym serwerze to najmniejszy użyteczny addon. To czysty skrypting Lua do GMod w 1 pliku po stronie serwera, a pokazuje, jak zrobić addon do GMod od pustego folderu do przetestowanego wyniku. Agent go pisze. Ty go sprawdzasz.
Najpierw samodzielnie utwórz garrysmod/addons/welcome, a potem wybierz ten folder jako folder roboczy.
Zwykłymi słowami napisz, co addon ma robić, na przykład odpowiadać na komendę czatu !hello nazwą gracza.
Pracuj w Ask first. Przeczytaj kartę pliku i diff dla sv_welcome.lua, a potem kliknij Zaakceptuj albo Odrzuć.
Uruchom grę wieloosobową na lokalnym serwerze testowym, wejdź na niego, wpisz komendę na czacie i przeczytaj konsolę pod kątem błędów Lua, zanim uznasz robotę za skończoną.
lua/autorun/serverutworzonolua/autorun/server/sv_welcome.luazapisanolua/autorun/server/sv_welcome.lua12 liniiPlayerSay1 trafienieyour server launch scriptexit 0-- sv_welcome.lua: answer the !hello chat command
-- Runs on the server only (lua/autorun/server/).
local command = "!hello"
hook.Add("PlayerSay", "Welcome_Hello", function(ply, text)
if string.lower(text) == command then
local name = ply:Nick()
ply:ChatPrint(string.format("Hello, %s!", name))
return ""
end
end)Tylko po stronie serwera. hook.Add podpina funkcję pod PlayerSay, string.lower sprawia, że porównanie ignoruje wielkość liter, ChatPrint pokazuje powitanie temu graczowi, a pusty ciąg ukrywa wpisaną komendę na czacie.
Następnie dodaj broń skryptową. Bronie mieszkają w lua/weapons/, więc poproś agenta o utworzenie tam jednego pliku i wyjaśnienie każdego ustawianego pola. Mod z ręczną artylerią i moździerzami mógłby być na przykład bronią skryptową albo encją skryptową, a Ty opisujesz jego zachowanie zwykłymi słowami. Agent używa write_file do nowego pliku, grep, żeby pokazać, gdzie występuje nazwa klasy, i Shell do Twojej komendy testowej. Tryb Plan only wypisuje każdy plik, zanim cokolwiek zostanie zapisane. Potem spawnuj ją na gm_flatgrass i przeczytaj konsolę pod kątem błędów.
Gracze pobierają Twój addon z serwera, nie z Twojego komputera. Szybki sposób, by oszczędzić im ręcznej instalacji wszystkich Twoich modów, to kolekcja Workshopa albo linie resource.AddWorkshop w serwerowym pliku Lua. Twój własny addon musi najpierw zostać opublikowany w Workshopie, bo resource.AddWorkshop przyjmuje ID opublikowanego elementu. Publikuj tylko dozwoloną zawartość. Poproś agenta o dodanie linii za pomocą edit_file i sprawdź diff. Jeśli addony z Workshopa nie pobierają się graczowi na Twoim testowym serwerze GMod, najpierw wyszukaj grepem resource.AddWorkshop. Potem zrestartuj serwer i wejdź jako gracz, żeby zobaczyć pobieranie.