Данное обновление создано совместно с 7pElllHuK и он выступал тестировщиком на css V34, мной на css ob.
Изменения:
1. Добавлен осмотр оружия на F. 2. Возможность вешать на одну модель оружия, разные текстуры. 3. Плагин смены перчаток. 4. Исправлен баг с flip_view_model ( когда он не менял позицию оружия)
Руководство по настройке Custom Weapons и Gloves
СОДЕРЖАНИЕ
Быстрый старт
CVAR настройки (что и где менять)
Настройка custom_weapons.txt
Настройка gloves.ini
Как работают плагины вместе
Примеры конфигураций
Решение проблем
БЫСТРЫЙ СТАРТ
Скопируйте custom_weapons.smx в
C-подобный:
addons/sourcemod/plugins/
Скопируйте sm_gloves.smx в
C-подобный:
addons/sourcemod/plugins/
Создайте файл configs/custom_weapons.txt (см. раздел ниже)
Создайте файл configs/gloves.ini (см. раздел ниже)
Перезагрузите плагины:
C-подобный:
sm plugins reload custom_weapons
sm plugins reload sm_gloves
Важно: Плагин custom_weapons должен загружаться ПЕРЕД sm_gloves, иначе sm_gloves выдаст ошибку при запуске.
CVAR НАСТРОЙКИ - ЧТО И ГДЕ МЕНЯТЬ
Все настройки изменяются в файле custom_weapons.cfg или через консоль сервера.
CVAR
По умолчанию
Где менять
Описание
sm_custom_weapons_enable
1
custom_weapons.cfg
Включить/выключить систему кастомных моделей (0/1)
sm_custom_weapons_menu_spawn
0
custom_weapons.cfg
Открывать меню при спавне (0/1). Если 1, меню открывается автоматически.
sm_custom_weapons_force_menu_spawn
0
custom_weapons.cfg
Принудительно открывать меню при каждом спавне (0/1). Игнорирует настройки игрока.
sm_custom_weapons_default_disabled
1
custom_weapons.cfg
Новые игроки по умолчанию имеют выключенную смену моделей (0/1)
sm_custom_weapons_force_disabled
0
custom_weapons.cfg
Принудительно отключить для всех (0/1). Если 1, никто не сможет использовать кастомные модели.
sm_custom_weapons_admin_flags
""
custom_weapons.cfg
Флаги доступа (например: "abc"). Пустое = доступно всем. Формат:
Путь к файлу списка загрузок. Можно изменить на другой путь.
sm_custom_weapons_stop_animation
1
custom_weapons.cfg
Останавливать анимацию осмотра при повторном нажатии F (0/1)
sm_custom_weapons_disable_flashlight
1
custom_weapons.cfg
Отключить фонарик (0/1). Если 1, кнопка F будет использоваться для осмотра оружия (если включено в меню).
НАСТРОЙКА CUSTOM_WEAPONS.TXT
Файл:
C-подобный:
addons/sourcemod/configs/custom_weapons.txt
Путь можно изменить через CVAR sm_custom_weapons_models_path.
Структура файла:
C-подобный:
"Weapons"
{
"ak47" // Название оружия БЕЗ префикса "weapon_"
{
// === ПАРАМЕТРЫ ОСНОВНОЙ СЕКЦИИ ===
"flags" "" // Флаги доступа (пусто = для всех)
"ru" "АК-47" // Название на русском
"en" "AK-47" // Название на английском
"category" "0" // Категория в меню (0-6)
// === ПОДСЕКЦИИ - ВАРИАНТЫ МОДЕЛЕЙ ===
"Gold" // Название варианта (отображается в меню)
{
"flags" "" // Флаги доступа для этой модели
"ru" "Золотой АК-47"
"en" "Gold AK-47"
// === ОБЯЗАТЕЛЬНЫЕ ПАРАМЕТРЫ ===
"view_model" "models/weapons/v_ak47_gold.mdl" // Модель от первого лица (ОБЯЗАТЕЛЬНО)
"world_model" "models/weapons/w_ak47_gold.mdl" // Модель от третьего лица (опционально)
// === ПАРАМЕТРЫ ДЛЯ ПЕРЧАТОК ===
"skin_index" "0" // Индекс текстуры оружия (складывается с skin перчаток)
"body" "0" // Индекс body группы (складывается с body перчаток)
// === ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ===
"flip_view_model" "0" // Перевернуть модель в правую руку (0/1)
"inspect" "10" // Номер анимации осмотра (для кнопки F)
"Sequences" // Перенаправление анимаций
{
"1" "7" // Старая анимация -> Новая анимация
}
}
}
}
Описание параметров:
Параметр
Где
Описание
flags
Основная секция или подсекция
Флаги доступа (например: "abc"). Пустое = для всех. Можно указать в основной секции (для всего оружия) или в подсекции (для конкретной модели).
ru, en
Основная секция и подсекция
Локализованные названия. Если не указано, используется название секции.
Путь к модели от первого лица. ОБЯЗАТЕЛЬНЫЙ параметр. Путь относительно папки cstrike/csgo.
world_model
Только подсекция
Путь к модели от третьего лица. Опционально.
skin_index
Только подсекция
Индекс текстуры оружия. Важно для перчаток: складывается с skin перчаток. Формула: итоговый skin = skin_index + skin перчаток.
body
Только подсекция
Индекс body группы. Важно для перчаток: складывается с body перчаток. Формула: итоговый body = body + body перчаток.
flip_view_model
Только подсекция
Перевернуть модель в правую руку (1) или оставить в левой (0). Для леворуких моделей.
inspect
Только подсекция
Номер анимации осмотра оружия на кнопку F. Если указан и осмотр включен в меню, F будет осматривать оружие вместо фонаря.
НАСТРОЙКА GLOVES.INI
Файл:
C-подобный:
addons/sourcemod/configs/gloves.ini
Важно: Путь нельзя изменить - он жестко прописан в коде плагина.
Структура файла:
C-подобный:
"Gloves"
{
// === ВАРИАНТЫ ТЕКСТУР ПЕРЧАТОК ===
"default" // Название секции (идентификатор)
{
"name" "По умолчанию" // Название для меню (ОБЯЗАТЕЛЬНО)
"skin" "0" // Индекс текстуры (складывается с skin_index оружия)
"body" "0" // Индекс body (складывается с body оружия)
}
"red"
{
"name" "Красные перчатки"
"skin" "1"
"body" "0"
}
}
Описание параметров:
Параметр
Где
Описание
view_model
Корневая секция "Gloves"
Путь к модели перчаток от первого лица. ОБЯЗАТЕЛЬНЫЙ. Одна модель для всех текстур! Только текстуры меняются через параметр skin.
world_model
Корневая секция "Gloves"
Путь к модели от третьего лица. Опционально, обычно пустое.
name
Секция варианта перчаток
Название варианта для меню. ОБЯЗАТЕЛЬНЫЙ. Если не указан, секция не отображается в меню!
skin
Секция варианта перчаток
Индекс текстуры перчаток. ОБЯЗАТЕЛЬНЫЙ. Складывается с skin_index оружия. Формула: итоговый skin = skin_index оружия + skin перчаток.
body
Секция варианта перчаток
Индекс body группы. Опционально, по умолчанию 0. Складывается с body оружия. Формула: итоговый body = body оружия + body перчаток.
Важные моменты:
Плагин использует одну модель перчаток для всех вариантов текстур
Меняются только текстуры через параметр skin
Перчатки применяются только к кастомному оружию (если игрок использует стандартное оружие, перчатки не применятся)
Секции без параметра name не отображаются в меню
КАК РАБОТАЮТ ПЛАГИНЫ ВМЕСТЕ
Порядок загрузки: Custom Weapons должен загружаться ПЕРЕД sm_gloves. Если sm_gloves загрузится первым, он выдаст ошибку: "This plugin requires custom_weapons plugin!"
Применение перчаток:Перчатки применяются только когда:
Игрок использует кастомную модель оружия (выбранную через меню custom_weapons)
Оружие имеет viewmodel entity (полученное через CW_GetCustomModelIndex) Итоговая формула:
Итоговый skin = skin (из gloves.ini) + skin_index (из custom_weapons.txt)
Итоговый body = body (из gloves.ini) + body (из custom_weapons.txt)
Сохранение выбора:
Выбор перчаток сохраняется через cookie cwr_module_gloves
Выбор оружия сохраняется через cookies вида название_оружия_custom (например, ak47_custom)
Меню:
Меню оружия: sm_weapon или sm_cw
Меню перчаток: sm_gloves
Меню перчаток показывает только секции с параметром name
Перезагрузка конфигурации:
custom_weapons.txt перезагружается при изменении CVAR sm_custom_weapons_models_path или при sm plugins reload custom_weapons
gloves.ini перезагружается при sm plugins reload sm_gloves или при sm plugins reload custom_weapons (так как sm_gloves перезагружает конфигурацию в OnConfigsExecuted)
Если игрок выбрал "Gold" АК-47 (skin_index = 0) и "Красные перчатки" (skin = 1):
Итоговый skin = 0 + 1 = 1
Итоговый body = 0 + 0 = 0
C-подобный:
// ===== custom_weapons.txt =====
"Weapons"
{
"ak47"
{
"flags" ""
"ru" "АК-47"
"en" "AK-47"
"category" "0"
// Одна модель, разные текстуры
"Standard"
{
"view_model" "models/weapons/v_ak47.mdl"
"world_model" "models/weapons/w_ak47.mdl"
"skin_index" "0"
}
"Red"
{
"view_model" "models/weapons/v_ak47.mdl" // Та же модель!
"world_model" "models/weapons/w_ak47.mdl"
"skin_index" "1" // Другая текстура
}
"Blue"
{
"view_model" "models/weapons/v_ak47.mdl" // Та же модель!
"world_model" "models/weapons/w_ak47.mdl"
"skin_index" "2" // Еще одна текстура
}
}
}
Результат: Одна модель v_ak47.mdl с тремя разными текстурами (skin_index 0, 1, 2).
C-подобный:
// ===== custom_weapons.txt =====
"Weapons"
{
"ak47"
{
"flags" "" // Основное оружие доступно всем
"ru" "АК-47"
"en" "AK-47"
"category" "0"
"Standard"
{
"flags" "" // Стандартная модель для всех
"view_model" "models/weapons/v_ak47.mdl"
"skin_index" "0"
}
"VIP"
{
"flags" "abc" // VIP модель только для админов с флагами a, b, c
"ru" "VIP АК-47"
"view_model" "models/weapons/v_ak47_vip.mdl"
"skin_index" "0"
}
}
}
Результат: Стандартная модель доступна всем, VIP модель только админам с флагами a, b, c.
В теме Custom weapons Обновил архив 29.12.25_custom_weapons_1128.zip исправлен баг в плагине перчаток и ядра, когда перчатки становились стандартными. [Обновлено 29.12.25 23:06]
Данное обновление создано совместно с 7pElllHuK и он выступал тестировщиком на css V34, я на css ob.
Изменения:
1. Добавлен осмотр оружия на F. 2. Возможность вешать на одну модель оружия, разные текстуры. 3. Плагин смены перчаток. 4. Исправлен баг с flip_view_model ( когда он не менял позицию оружия)
Руководство по настройке Custom Weapons и Gloves
СОДЕРЖАНИЕ
Быстрый старт
CVAR настройки (что и где менять)
Настройка custom_weapons.txt
Настройка gloves.ini
Как работают плагины вместе
Примеры конфигураций
Решение проблем
БЫСТРЫЙ СТАРТ
Скопируйте custom_weapons.smx в
C-подобный:
addons/sourcemod/plugins/
Скопируйте sm_gloves.smx в
C-подобный:
addons/sourcemod/plugins/
Создайте файл configs/custom_weapons.txt (см. раздел ниже)
Создайте файл configs/gloves.ini (см. раздел ниже)
Перезагрузите плагины:
C-подобный:
sm plugins reload custom_weapons
sm plugins reload sm_gloves
Важно: Плагин custom_weapons должен загружаться ПЕРЕД sm_gloves, иначе sm_gloves выдаст ошибку при запуске.
CVAR НАСТРОЙКИ - ЧТО И ГДЕ МЕНЯТЬ
Все настройки изменяются в файле custom_weapons.cfg или через консоль сервера.
CVAR
По умолчанию
Где менять
Описание
sm_custom_weapons_enable
1
custom_weapons.cfg
Включить/выключить систему кастомных моделей (0/1)
sm_custom_weapons_menu_spawn
0
custom_weapons.cfg
Открывать меню при спавне (0/1). Если 1, меню открывается автоматически.
sm_custom_weapons_force_menu_spawn
0
custom_weapons.cfg
Принудительно открывать меню при каждом спавне (0/1). Игнорирует настройки игрока.
sm_custom_weapons_default_disabled
1
custom_weapons.cfg
Новые игроки по умолчанию имеют выключенную смену моделей (0/1)
sm_custom_weapons_force_disabled
0
custom_weapons.cfg
Принудительно отключить для всех (0/1). Если 1, никто не сможет использовать кастомные модели.
sm_custom_weapons_admin_flags
""
custom_weapons.cfg
Флаги доступа (например: "abc"). Пустое = доступно всем. Формат:
Путь к файлу списка загрузок. Можно изменить на другой путь.
sm_custom_weapons_stop_animation
1
custom_weapons.cfg
Останавливать анимацию осмотра при повторном нажатии F (0/1)
sm_custom_weapons_disable_flashlight
1
custom_weapons.cfg
Отключить фонарик (0/1). Если 1, кнопка F будет использоваться для осмотра оружия (если включено в меню).
НАСТРОЙКА CUSTOM_WEAPONS.TXT
Файл:
C-подобный:
addons/sourcemod/configs/custom_weapons.txt
Путь можно изменить через CVAR sm_custom_weapons_models_path.
Структура файла:
C-подобный:
"Weapons"
{
"ak47" // Название оружия БЕЗ префикса "weapon_"
{
// === ПАРАМЕТРЫ ОСНОВНОЙ СЕКЦИИ ===
"flags" "" // Флаги доступа (пусто = для всех)
"ru" "АК-47" // Название на русском
"en" "AK-47" // Название на английском
"category" "0" // Категория в меню (0-6)
// === ПОДСЕКЦИИ - ВАРИАНТЫ МОДЕЛЕЙ ===
"Gold" // Название варианта (отображается в меню)
{
"flags" "" // Флаги доступа для этой модели
"ru" "Золотой АК-47"
"en" "Gold AK-47"
// === ОБЯЗАТЕЛЬНЫЕ ПАРАМЕТРЫ ===
"view_model" "models/weapons/v_ak47_gold.mdl" // Модель от первого лица (ОБЯЗАТЕЛЬНО)
"world_model" "models/weapons/w_ak47_gold.mdl" // Модель от третьего лица (опционально)
// === ПАРАМЕТРЫ ДЛЯ ПЕРЧАТОК ===
"skin_index" "0" // Индекс текстуры оружия (складывается с skin перчаток)
"body" "0" // Индекс body группы (складывается с body перчаток)
// === ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ===
"flip_view_model" "0" // Перевернуть модель в правую руку (0/1)
"inspect" "10" // Номер анимации осмотра (для кнопки F)
"Sequences" // Перенаправление анимаций
{
"1" "7" // Старая анимация -> Новая анимация
}
}
}
}
Описание параметров:
Параметр
Где
Описание
flags
Основная секция или подсекция
Флаги доступа (например: "abc"). Пустое = для всех. Можно указать в основной секции (для всего оружия) или в подсекции (для конкретной модели).
ru, en
Основная секция и подсекция
Локализованные названия. Если не указано, используется название секции.
Путь к модели от первого лица. ОБЯЗАТЕЛЬНЫЙ параметр. Путь относительно папки cstrike/csgo.
world_model
Только подсекция
Путь к модели от третьего лица. Опционально.
skin_index
Только подсекция
Индекс текстуры оружия. Важно для перчаток: складывается с skin перчаток. Формула: итоговый skin = skin_index + skin перчаток.
body
Только подсекция
Индекс body группы. Важно для перчаток: складывается с body перчаток. Формула: итоговый body = body + body перчаток.
flip_view_model
Только подсекция
Перевернуть модель в правую руку (1) или оставить в левой (0). Для леворуких моделей.
inspect
Только подсекция
Номер анимации осмотра оружия на кнопку F. Если указан и осмотр включен в меню, F будет осматривать оружие вместо фонаря.
НАСТРОЙКА GLOVES.INI
Файл:
C-подобный:
addons/sourcemod/configs/gloves.ini
Важно: Путь нельзя изменить - он жестко прописан в коде плагина.
Структура файла:
C-подобный:
"Gloves"
{
// === ВАРИАНТЫ ТЕКСТУР ПЕРЧАТОК ===
"default" // Название секции (идентификатор)
{
"name" "По умолчанию" // Название для меню (ОБЯЗАТЕЛЬНО)
"skin" "0" // Индекс текстуры (складывается с skin_index оружия)
"body" "0" // Индекс body (складывается с body оружия)
}
"red"
{
"name" "Красные перчатки"
"skin" "1"
"body" "0"
}
}
Описание параметров:
Параметр
Где
Описание
view_model
Корневая секция "Gloves"
Путь к модели перчаток от первого лица. ОБЯЗАТЕЛЬНЫЙ. Одна модель для всех текстур! Только текстуры меняются через параметр skin.
world_model
Корневая секция "Gloves"
Путь к модели от третьего лица. Опционально, обычно пустое.
name
Секция варианта перчаток
Название варианта для меню. ОБЯЗАТЕЛЬНЫЙ. Если не указан, секция не отображается в меню!
skin
Секция варианта перчаток
Индекс текстуры перчаток. ОБЯЗАТЕЛЬНЫЙ. Складывается с skin_index оружия. Формула: итоговый skin = skin_index оружия + skin перчаток.
body
Секция варианта перчаток
Индекс body группы. Опционально, по умолчанию 0. Складывается с body оружия. Формула: итоговый body = body оружия + body перчаток.
Важные моменты:
Плагин использует одну модель перчаток для всех вариантов текстур
Меняются только текстуры через параметр skin
Перчатки применяются только к кастомному оружию (если игрок использует стандартное оружие, перчатки не применятся)
Секции без параметра name не отображаются в меню
КАК РАБОТАЮТ ПЛАГИНЫ ВМЕСТЕ
Порядок загрузки: Custom Weapons должен загружаться ПЕРЕД sm_gloves. Если sm_gloves загрузится первым, он выдаст ошибку: "This plugin requires custom_weapons plugin!"
Применение перчаток:Перчатки применяются только когда:
Игрок использует кастомную модель оружия (выбранную через меню custom_weapons)
Оружие имеет viewmodel entity (полученное через CW_GetCustomModelIndex) Итоговая формула:
Итоговый skin = skin (из gloves.ini) + skin_index (из custom_weapons.txt)
Итоговый body = body (из gloves.ini) + body (из custom_weapons.txt)
Сохранение выбора:
Выбор перчаток сохраняется через cookie cwr_module_gloves
Выбор оружия сохраняется через cookies вида название_оружия_custom (например, ak47_custom)
Меню:
Меню оружия: sm_weapon или sm_cw
Меню перчаток: sm_gloves
Меню перчаток показывает только секции с параметром name
Перезагрузка конфигурации:
custom_weapons.txt перезагружается при изменении CVAR sm_custom_weapons_models_path или при sm plugins reload custom_weapons
gloves.ini перезагружается при sm plugins reload sm_gloves или при sm plugins reload custom_weapons (так как sm_gloves перезагружает конфигурацию в OnConfigsExecuted)
Если игрок выбрал "Gold" АК-47 (skin_index = 0) и "Красные перчатки" (skin = 1):
Итоговый skin = 0 + 1 = 1
Итоговый body = 0 + 0 = 0
C-подобный:
// ===== custom_weapons.txt =====
"Weapons"
{
"ak47"
{
"flags" ""
"ru" "АК-47"
"en" "AK-47"
"category" "0"
// Одна модель, разные текстуры
"Standard"
{
"view_model" "models/weapons/v_ak47.mdl"
"world_model" "models/weapons/w_ak47.mdl"
"skin_index" "0"
}
"Red"
{
"view_model" "models/weapons/v_ak47.mdl" // Та же модель!
"world_model" "models/weapons/w_ak47.mdl"
"skin_index" "1" // Другая текстура
}
"Blue"
{
"view_model" "models/weapons/v_ak47.mdl" // Та же модель!
"world_model" "models/weapons/w_ak47.mdl"
"skin_index" "2" // Еще одна текстура
}
}
}
Результат: Одна модель v_ak47.mdl с тремя разными текстурами (skin_index 0, 1, 2).
C-подобный:
// ===== custom_weapons.txt =====
"Weapons"
{
"ak47"
{
"flags" "" // Основное оружие доступно всем
"ru" "АК-47"
"en" "AK-47"
"category" "0"
"Standard"
{
"flags" "" // Стандартная модель для всех
"view_model" "models/weapons/v_ak47.mdl"
"skin_index" "0"
}
"VIP"
{
"flags" "abc" // VIP модель только для админов с флагами a, b, c
"ru" "VIP АК-47"
"view_model" "models/weapons/v_ak47_vip.mdl"
"skin_index" "0"
}
}
}
Результат: Стандартная модель доступна всем, VIP модель только админам с флагами a, b, c.