Откройте папку аддона
Сначала сами создайте garrysmod/addons/welcome, а затем выберите эту папку рабочей.
Команда чата !hello на вашем собственном сервере — самый маленький полезный аддон. Это обычный скриптинг Lua для GMod в 1 серверном файле, и он показывает, как сделать аддон GMod от пустой папки до проверенного результата. Агент пишет его. Вы проверяете.
Сначала сами создайте garrysmod/addons/welcome, а затем выберите эту папку рабочей.
Простыми словами напишите, что должен делать аддон, например отвечать на команду чата !hello именем игрока.
Работайте в Ask first. Прочитайте карточку файла и diff для sv_welcome.lua, затем нажмите «Принять» или «Отклонить».
Запустите сетевую игру на локальном тестовом сервере, зайдите на него, введите команду в чат и прочитайте консоль на предмет ошибок 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 показывает приветствие этому игроку, а пустая строка скрывает набранную команду из чата.
Следующим шагом добавьте скриптовое оружие. Оружие живёт в lua/weapons/, поэтому попросите агента создать там один файл и объяснить каждое поле, которое он задаёт. Мод с ручной артиллерией и миномётами, например, может быть скриптовым оружием или скриптовой сущностью, а его поведение вы описываете простыми словами. Агент использует write_file для нового файла, grep, чтобы показать, где встречается имя класса, и Shell для вашей команды проверки. Режим Plan only перечисляет все файлы, прежде чем что-либо сохранится. Затем заспавните его на gm_flatgrass и прочитайте консоль на предмет ошибок.
Игроки скачивают ваш аддон с сервера, а не с вашего ПК. Быстрый способ избавить их от ручной установки всех ваших модов — коллекция Workshop или строки resource.AddWorkshop в серверном файле Lua. Ваш собственный аддон должен быть сначала опубликован в Workshop, потому что resource.AddWorkshop принимает ID опубликованного элемента. Публикуйте только разрешённый контент. Попросите агента добавить строки через edit_file и проверьте diff. Если аддоны из Workshop не скачиваются у игрока на вашем тестовом сервере GMod, сначала найдите resource.AddWorkshop через grep. Затем перезапустите сервер и зайдите игроком, чтобы увидеть загрузку.