Abra a pasta do addon
Crie você mesmo primeiro a garrysmod/addons/welcome e depois escolha essa pasta como pasta de trabalho.
Um comando de chat !hello no seu próprio servidor é o menor addon útil possível. É scripting de Lua no GMod puro, em 1 arquivo do lado do servidor, e mostra como criar um addon de GMod de uma pasta vazia até um resultado testado. O agente escreve. Você revisa.
Crie você mesmo primeiro a garrysmod/addons/welcome e depois escolha essa pasta como pasta de trabalho.
Escreva com palavras simples o que o addon deve fazer, por exemplo responder ao comando de chat !hello com o nome do jogador.
Trabalhe no Ask first. Leia o card do arquivo e o diff do sv_welcome.lua e clique em Aceitar ou Rejeitar.
Inicie uma partida multiplayer num servidor de teste local, entre nela, digite o comando no chat e leia o console atrás de erros de Lua antes de dar o trabalho por concluído.
lua/autorun/servercriadalua/autorun/server/sv_welcome.luasalvolua/autorun/server/sv_welcome.lua12 linhasPlayerSay1 ocorrênciayour 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)Somente do lado do servidor. O hook.Add liga uma função ao PlayerSay, o string.lower faz a comparação ignorar maiúsculas, o ChatPrint mostra a saudação a esse jogador, e a string vazia esconde do chat o comando digitado.
Em seguida, adicione uma arma com script. As armas ficam em lua/weapons/, então peça ao agente que crie um arquivo lá e explique cada campo que ele define. Um mod de artilharia e morteiros manuais, por exemplo, poderia ser uma arma com script ou uma entidade com script, e você descreve o comportamento dele em palavras simples. O agente usa o write_file para o arquivo novo, o grep para mostrar onde o nome da classe aparece e o Shell para o seu comando de teste. O modo Plan only lista todos os arquivos antes de salvar qualquer coisa. Depois faça o spawn no gm_flatgrass e leia o console atrás de erros.
Os jogadores baixam seu addon do servidor, não do seu PC. Um jeito rápido de poupar a instalação manual de todos os seus mods é uma coleção do Workshop, ou linhas resource.AddWorkshop em um arquivo Lua do servidor. Seu próprio addon precisa estar publicado antes no Workshop, porque o resource.AddWorkshop recebe o ID de um item publicado. Publique só conteúdo permitido. Peça ao agente que adicione as linhas com edit_file e revise o diff. Se os addons do Workshop não baixam para um jogador no seu servidor de teste de GMod, faça grep de resource.AddWorkshop primeiro. Depois reinicie o servidor e entre como jogador para ver o download.