По умолчанию у всех несколько слотов (Config.DefaultCharacterSlots, с потолком Config.MaxCharacters). Если хватает — эту страницу можно пропустить.
Хотите, чтобы у supporters, staff или конкретных игроков было больше? Всё настраивается в rco-creator/config/server.lua на сервере — игроки этот файл не видят.
Как Creator выбирает число (прочитайте сначала)
Когда кто-то открывает выбор персонажа, Creator спрашивает в таком порядке и останавливается на первом ответе:
- Ваша функция — если
ResolveCustomSlots вернула число
- Роли Discord — только когда интеграция Discord включена
- Ручной список по license —
PlayerSlots, но только когда Discord выключен
- Лимит фреймворка — что сообщает RSG/VORP
- По умолчанию —
Config.DefaultCharacterSlots
Что бы ни победило — зажимается между 1 и Config.MaxCharacters.
Три частые путаницы:
- Числа — это всего слотов, а не «базовые + бонус». VIP = 5 значит пять персонажей всего, а не четыре плюс один.
- Discord включён =
PlayerSlots игнорируется. Нужны оба? Обрабатывайте в ResolveCustomSlots.
- Несколько ролей Discord не складываются. Creator берёт только самую высокую подходящую роль.
Дополнительные слоты одному игроку (без Discord)
Сопоставьте license с общим числом слотов:
License смотрите в админ-инструментах или консоли сервера при подключении.
Роли Discord
Привяжите слоты к ролям в Discord-сервере сообщества. Нужны бот и ID в server.lua.
Первый раз? Пошагово: Настройка ролей Discord.
Supporter (3) + VIP (5) вместе = 5, не 8. Без привязанного Discord = defaultSlots.
Токен бота = пароль. Никогда в Discord, тикетах или публичных репозиториях. server.lua только на игровом сервере.
Discord включён, но пустые guildId или botToken → Creator не запустится.
Свои правила (Tebex, база, whitelist)
Используйте шаг 1 — верните число или nil, чтобы передать дальше:
Если функция падает с ошибкой, выбор не откроется для этого игрока — держите её простой.
Заблокированные слоты на экране выбора
Дополнительные слоты, которые игрок ещё не открыл, показываются бледными силуэтами. Скрыть их: Config.Selection.hideLockedSlotGhosts = true.