Open de addonmap
Maak eerst zelf garrysmod/addons/welcome aan en kies die map dan als werkmap.
Een chatcommando !hello op je eigen server is de kleinste bruikbare addon. Het is puur GMod-Lua-scripting in 1 bestand aan de serverkant en het laat zien hoe je een GMod-addon maakt, van een lege map tot een getest resultaat. De agent schrijft hem. Jij controleert hem.
Maak eerst zelf garrysmod/addons/welcome aan en kies die map dan als werkmap.
Schrijf in gewone woorden wat de addon moet doen, bijvoorbeeld het chatcommando !hello beantwoorden met de naam van de speler.
Werk in Ask first. Lees de bestandskaart en de diff voor sv_welcome.lua en klik dan op Accepteren of Afwijzen.
Start een multiplayerspel op een lokale testserver, join, typ het commando in de chat en lees de console op Lua-fouten voordat je het klaar noemt.
lua/autorun/serveraangemaaktlua/autorun/server/sv_welcome.luaopgeslagenlua/autorun/server/sv_welcome.lua12 regelsPlayerSay1 trefferyour 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)Alleen aan de serverkant. hook.Add koppelt een functie aan PlayerSay, string.lower laat de vergelijking hoofdletters negeren, ChatPrint toont de begroeting aan die speler, en de lege string verbergt het getypte commando in de chat.
Voeg daarna een gescript wapen toe. Wapens staan in lua/weapons/, dus vraag de agent daar één bestand te maken en elk veld uit te leggen dat hij instelt. Een mod met handmatige artillerie en mortieren kan bijvoorbeeld een gescript wapen of een gescripte entity zijn, en je beschrijft het gedrag in gewone woorden. De agent gebruikt write_file voor het nieuwe bestand, grep om te laten zien waar de klassenaam voorkomt en Shell voor je testcommando. De modus Plan only toont elk bestand voordat er iets wordt opgeslagen. Spawn het daarna op gm_flatgrass en lees de console op fouten.
Spelers downloaden je addon van de server, niet van je pc. Een snelle manier om hen de handmatige installatie van al je mods te besparen is een Workshop-collectie, of resource.AddWorkshop-regels in een server-Lua-bestand. Je eigen addon moet eerst op de Workshop staan, want resource.AddWorkshop neemt het ID van een gepubliceerd item. Publiceer alleen toegestane inhoud. Vraag de agent de regels toe te voegen met edit_file en controleer de diff. Als Workshop-addons voor een speler niet downloaden op je GMod-testserver, zoek dan eerst met grep naar resource.AddWorkshop. Start de server daarna opnieuw op en join als speler om de download te zien.