Я на своем сервере использую sam но писать модули не умею . Где можно научиться ?
Сделаю тебе краткую обучалку:
if SAM_LOADED then return end -- С помощью этого идёт проверка на загрузка самой системы
local sam, command, language = sam, sam.command, sam.language -- Вспомогательные переменные
command.set_category("Template") -- Создаёшь категорию в которых будет находится команды или функции
command.new("text") -- Создаёшь саму команду и вводишь её название
:SetPermission("map", "admin") -- Первый параметр создаёт разрешение/устанавливает разрешение на эту команду, а второй параметр это ранг которму будет выдан данное разрешение по дефолту
:AddArg("map") -- Аргумент где map - Название аргумента.
:AddArg("text", {hint = "gamemode", optional = true, check = sam.is_valid_gamemode}) -- В данном примере это аргумент на проверку выбора режима
:Help("map_help") -- Данный параметр отвечает за подсказку map_help - искать в языках
:OnExecute(function(ply, map, gamemode) -- Здесь происходит запуск функции при применении команды, параметры в function можешь подставить любые.
-- Дальше здесь уже можешь делать всё что хочешь.
if not gamemode then
sam.player.send_message(nil, "map_change", {
A = ply, V = map
})
else
sam.player.send_message(nil, "map_change2", {
A = ply, V = map, V_2 = gamemode
})
RunConsoleCommand("gamemode", gamemode)
end
if #player.GetHumans() == 0 then
RunConsoleCommand("changelevel", map)
else
timer.Create("SAM.Command.Map", 10, 1, function()
RunConsoleCommand("changelevel", map)
end)
end
end)
:End()
-- Это происходит создание разрешения 1 - название 2 - Сам не знаю 3 - Какому рангу будет выдано по дефолту
sam.permissions.add("can_qmenu", nil, nil)