[ULX] Как создать вкладку или категорию команд

Создаю свой сервер gmod, хочу сделать вкладки ULX к примеру Основное вкладка и там команды BAN, unmute и т.д, как мне сделать свою вкладку [Каттегорию] в ULX чтобы все работало

Круто, вы создали тему. К сожалению, большинство тем на этом форуме модераторам приходится переименовывать и удалять, чтобы поддерживать форум в чистоте.

  1. Если ваша тема содержит заголовок, по которому ее невозможно найти через поиск или который не несет конкретики, например “помогите с ошибкой” вместо например “[DarkRP] Не создается коробка с оружием при нажатии кнопки”, то тема будет либо отредактирована, либо удалена
  2. Код в теме и логи следует обрамлять тремя такими символами: ```. Сверху кода и снизу. Тогда он будет выглядеть красиво, а не как каша текста
  3. Сверху ссылка на методичку модератора. Если вы ее прочтете, то круто поможете форуму. Кто знает, может именно вы будущий модератор?

Дружище, почему не можешь посмотреть как в коде делают?
Есть же инициализация команды, и там видно, где как и что

ulx.command создает команду в админке ULX.

первый аргумет, это категория, к которой будет принадлежать команда

Категория создается автоматически при указании названия, а если такая категория уже существует, то к ней добавляется команда.

не выходит как с TTT

local CATEGORY_NAME = "Основное"

------------------------------ Мы кодим и потихоньку дрочим ------------------------------
---- (сюда пишешь код бана)(тут к примеру ставлю бан с ulx)
function ulx.ban( calling_ply, target_ply, minutes, reason )

if target_ply:IsListenServerHost() or target_ply:IsBot() then

ULib.tsayError( calling_ply, "This player is immune to banning", true )

return

end

local time = "for #s"

if minutes == 0 then time = "permanently" end

local str = "#A banned #T " .. time

if reason and reason ~= "" then str = str .. " (#s)" end

ulx.fancyLogAdmin( calling_ply, str, target_ply, minutes ~= 0 and ULib.secondsToStringTime( minutes * 60 ) or reason, reason )

-- Delay by 1 frame to ensure any chat hook finishes with player intact. Prevents a crash.

ULib.queueFunctionCall( ULib.kickban, target_ply, minutes, reason, calling_ply )

end

local ban = ulx.command( CATEGORY_NAME, "ulx ban", ulx.ban, "!ban", false, false, true )

ban:addParam{ type=ULib.cmds.PlayerArg }

ban:addParam{ type=ULib.cmds.NumArg, hint="minutes, 0 for perma", ULib.cmds.optional, ULib.cmds.allowTimeString, min=0 }

ban:addParam{ type=ULib.cmds.StringArg, hint="reason", ULib.cmds.optional, ULib.cmds.takeRestOfLine, completes=ulx.common_kick_reasons }

ban:defaultAccess( ULib.ACCESS_ADMIN )

ban:help( "Bans target." )