CCodelab Station
Workflow

Come creare un addon per GMod, passo per passo

03
Un primo addon

Un addon con un comando di chat, dall’inizio alla fine

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.

01

Apri la cartella dell’addon

Crea tu per primo garrysmod/addons/welcome, poi scegli quella cartella come cartella di lavoro.

02

Descrivi il compito

Scrivi con parole semplici cosa deve fare l’addon, per esempio rispondere al comando di chat !hello con il nome del giocatore.

03

Rivedi il diff

Lavora in Ask first. Leggi la scheda del file e il diff di sv_welcome.lua, poi premi Accetta o Rifiuta.

04

Prova nel gioco

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.

Il file che l’agente scrive

lua/autorun/server/sv_welcome.lua
-- 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.

I prossimi passi dopo il primo addon

Aggiungi come prossimo passo un’arma con script

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.

Pubblica il tuo addon e distribuiscilo ai giocatori

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.

Codelab Station per Windows

Crea il tuo primo addon

Scarica Codelab Station ↗