Apri la cartella dell’addon
Crea tu per primo garrysmod/addons/welcome, poi scegli quella cartella come cartella di lavoro.
Un comando di chat !hello sul tuo server è il più piccolo addon utile. È puro scripting Lua per GMod in 1 file lato server, e mostra come creare un addon per GMod da una cartella vuota fino a un risultato provato. L’agente lo scrive. Tu lo rivedi.
Crea tu per primo garrysmod/addons/welcome, poi scegli quella cartella come cartella di lavoro.
Scrivi con parole semplici cosa deve fare l’addon, per esempio rispondere al comando di chat !hello con il nome del giocatore.
Lavora in Ask first. Leggi la scheda del file e il diff di sv_welcome.lua, poi premi Accetta o Rifiuta.
Avvia una partita multigiocatore su un server di prova locale, entra, digita il comando in chat e leggi la console in cerca di errori Lua prima di considerare il lavoro finito.
lua/autorun/servercreatalua/autorun/server/sv_welcome.luasalvatolua/autorun/server/sv_welcome.lua12 righePlayerSay1 corrispondenzayour 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)Solo lato server. hook.Add collega una funzione a PlayerSay, string.lower fa sì che il confronto ignori le maiuscole, ChatPrint mostra il saluto a quel giocatore, e la stringa vuota nasconde dalla chat il comando digitato.
Come prossimo passo, aggiungi un’arma con script. Le armi stanno in lua/weapons/, quindi chiedi all’agente di creare lì un file e di spiegare ogni campo che imposta. Un mod di artiglieria e mortai manuali, per esempio, potrebbe essere un’arma con script o un’entità con script, e ne descrivi il comportamento con parole semplici. L’agente usa write_file per il file nuovo, grep per mostrare dove compare il nome della classe e Shell per il tuo comando di test. La modalità Plan only elenca ogni file prima che venga salvato qualcosa. Poi fai lo spawn su gm_flatgrass e leggi la console in cerca di errori.
I giocatori scaricano il tuo addon dal server, non dal tuo PC. Un modo rapido per risparmiare loro l’installazione manuale di tutti i tuoi mod è una collezione del Workshop, oppure righe resource.AddWorkshop in un file Lua del server. Il tuo addon deve prima essere pubblicato sul Workshop, perché resource.AddWorkshop richiede l’ID di un elemento pubblicato. Pubblica solo contenuti consentiti. Chiedi all’agente di aggiungere le righe con edit_file e rivedi il diff. Se per un giocatore gli addon del Workshop non si scaricano sul tuo server di prova GMod, cerca prima con grep resource.AddWorkshop. Poi riavvia il server ed entra come giocatore per vedere il download.