Відкрийте теку аддона
Спершу самостійно створіть garrysmod/addons/welcome, а потім оберіть цю теку робочою.
Команда чату !hello на вашому сервері — найменший корисний аддон. Це звичайний скриптинг Lua для GMod в 1 серверному файлі, і він показує, як зробити аддон GMod від порожньої теки до протестованого результату. Пише агент. Перевіряєте ви.
Спершу самостійно створіть garrysmod/addons/welcome, а потім оберіть цю теку робочою.
Напишіть простими словами, що має робити аддон, наприклад відповідати на команду чату !hello іменем гравця.
Працюйте в Ask first. Прочитайте картку файлу й diff для sv_welcome.lua, потім натисніть Accept або Reject.
Запустіть багатокористувацьку гру на локальному тестовому сервері, зайдіть, введіть команду в чаті й прочитайте консоль на предмет помилок Lua, перш ніж вважати роботу завершеною.
lua/autorun/serverствореноlua/autorun/server/sv_welcome.luaзбереженоlua/autorun/server/sv_welcome.lua12 рядківPlayerSay1 збігyour 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)Лише на боці сервера. hook.Add прив'язує функцію до PlayerSay, string.lower робить так, що збіг не залежить від регістру, ChatPrint показує привітання цьому гравцеві, а порожній рядок ховає введену команду з чату.
Далі додайте scripted weapon. Зброя живе в lua/weapons/, тож попросіть агента створити там один файл і пояснити кожне поле, яке він задає. Скажімо, ручна артилерія чи міномет може бути і scripted weapon, і scripted entity, а поведінку ви описуєте простими словами. Агент використовує write_file для нового файлу, grep, щоб показати, де трапляється назва класу, і Shell для вашої команди тестів. Режим Plan only перелічує кожен файл, перш ніж щось буде збережено. Потім заспавніть її на gm_flatgrass і прочитайте консоль на предмет помилок.
Гравці завантажують ваш аддон із сервера, а не з вашого ПК. Швидкий спосіб позбавити їх ручного встановлення всіх ваших модів — колекція Workshop або рядки resource.AddWorkshop у серверному файлі Lua. Власний аддон має спершу бути опублікований у Workshop, адже resource.AddWorkshop приймає ID опублікованого елемента. Публікуйте лише дозволений вміст. Попросіть агента додати рядки через edit_file і перегляньте diff. Якщо аддони з Workshop не завантажуються в гравця на вашому тестовому сервері GMod, спершу зробіть grep за resource.AddWorkshop. Потім перезапустіть сервер і зайдіть як гравець, щоб побачити завантаження.