Как установить скины оружия на сервер?

Для установки на сервер скинов оружия требуется плагин. Их есть несколько видов. Самый популярный из них это Custom Weapons Core (Для скачивания тык тут), Оригинал плагина тут.

Модели оружия можно скачать тут.


Теория.


В файле /addons/sourcemod/configs/custom_weapons.txt прописываются настройки, там как раз устанавливаются оружия и настраиваются.

В файле /addons/sourcemod/configs/custom_weapons_downloads.txt прописываются пути моделей, для их скачивания игроками.

Так же есть файл /cfg/sourcemod/custom_weapons.cfg где настраивается сам плагин.

Содержимое файла custom_weapons.cfg на русском

// Установить админ флагов, чтобы сделать его доступным только для админов нужно ввести желаемые флаги(можно несколько). Если для все игроков, то оставье поля пустым.
// -
// По умолчанию: ""
sm_custom_weapons_admin_flags ""

// В Css OB(steam) использовать старый метод модели для просмотра флип((flip)сторона рук) модели. Не рекомендуется! Может снизить производительность сервера
// -
// По умолчанию: "0"
// Минимум: "0.000000"
// Максимум: "1.000000"
sm_custom_weapons_css_old_style_model_change "0"

// Включить изменения модели по умолчанию для новых игроков?
// -
// По умолчанию: "1"
// Минимум: "0.000000"
// Максимум: "1.000000"
sm_custom_weapons_default_disabled "1"

// Путь к файлу где прописываются пути загрузок моделей.
// -
// По умолчанию: "configs/custom_weapons_downloads.txt"
sm_custom_weapons_downloads_path "configs/custom_weapons_downloads.txt"

// Включение настраиваемого оружия модели
// -
// По умолчанию: "1"
// Минимум: "0.000000"
// Максимум: "1.000000"
sm_custom_weapons_enable "1"

// Изменения моделей для игроков, включить только из меню
// -
// По умолчанию: "0"
// Минимум: "0.000000"
// Максимум: "1.000000"
sm_custom_weapons_force_disabled "0"

// Принудительно открывать меню каждый раунд
// -
// По умолчанию: "0"
// Минимум: "0.000000"
// Максимум: "1.000000"
sm_custom_weapons_force_menu_spawn "0"

// Уведомления игрока в чат о команде вызова настроек
// -
// По умолчанию: "1"
// Минимум: "0.000000"
// Максимум: "1.000000"
sm_custom_weapons_menu_close_notice "1"

// Открыть меню оружие моделей на спавне
// -
// По умолчанию: "0"
// Минимум: "0.000000"
// Максимум: "1.000000"
sm_custom_weapons_menu_spawn "0"

// Путь к файлу настроек
// -
// По умолчанию: "configs/custom_weapons.txt"
sm_custom_weapons_models_path "configs/custom_weapons.txt"


Остановимся подробнее на файле custom_weapons.txt.

Кусок изначального кода

"Weapons"
{
	"c4"		// Оружие (секция) без тэга "weapon_", "_projectile" и "planted_"
	{
		"flags"		""			// Флаги доступа. Можно указывать несколько флагов или оставьте пустым, чтобы сделать доступным для всех
		// Отображение названия на разных языках, если не найдено отображение, будет использован название секции
		"ru"	"C4 Бомба"
		"en"	"C4 Bomb"
		
		// Категории, в каком меню будет отображаться данное оружие
		// 0	-	Автоматы
		// 1	-	Пистолеты-пулеметы
		// 2	-	Дробовики
		// 3	-	Пистолеты
		// 4	-	Ближний бой
		// 5	-	Взрывные
		// 6	-	Снайперские
		"category"	"5"
		
		"Bird"		// Под-выбор модели для оружия
		{
			"flags"		""			// Флаги доступа. Можно указывать несколько флагов или оставьте пустым, чтобы сделать доступным для всех
			
			// Отображение названия на разных языках, если не найдено отображение, будет использован название секции
			"ru"	"Птичка"
			"en"	"Bird"
			
			"view_model"		""							// Путь до модели от первого лица
			"flip_view_model"	"1"  // Если вдруг модель леворукая (Не на той стороне) выставляем этот параметр на 1
			"world_model"		"models/crow.mdl"			// Путь до модели от третьего лица
			"planted_world_model"		"models/crow.mdl"			// Путь до модели установленной бомбы
			
			"Sequences"		// Перенаправление индексов анимации
			{
			}
			
			"Sounds"
			{
			}
		}
	}
}

Для примера возьмём этот автомат ak47


"Weapons"	//Заголовк, он открывает код, он должен быть обязательно один раз в самом верху.
{	//открытие заголовка, он так же обязателен
	"ak47"		// Название раздела оружия
	{
		"en"	"Автомат Ak-47"	//Название Раздела Ak47
		"category"	"0"	//Категория(может быть любая, но лучше ставить нужнюю. Так будет удобнее)
		
		"Армагедон"		// Название модели оружия
		{
			"view_model"	"models/weapons/ggwp/ak47/armageddon/v_rif_ak47.mdl"	// Путь до модели от первого лица
			"world_model"	"models/weapons/ggwp/ak47/armageddon/w_rif_ak47.mdl"	// Путь до модели от третьего лица
		}
	}
}	//Окончание кода

 

Так же для дополнительных настроек, есть ряд различных команд. Приведу пример:

Пример разнообразия команд и их описание
"Армагедон"		// Название модели оружия, общая (для отдельныйх языков команды ниже)
		{
			//Команды
			"ru"	"Армагедон"		//Название модели на русском
			"en"	"Armageddon"	//Название моедил на английском. По сути не нужные команды, т.к. название и так пишется выше.
			
			"muzzle_flash"	"1"					// При замене звук выстрелов, мы теряем эффект выстрела (вспышку), поэтому приходится вручную делать вспышку
			"muzzle_scale"	"2.0"				// Размер вспышки
			"muzzle_move"	"40.0 10.0 10.0"	// Куда двигать вспышку от глаз игрока (Параметры: 1-вперед, 2-вправо, 3-вниз)
			"flip_view_model"	"1"  // Если модель в левой руке, то добавляем эту команду с значением 1
			//Пути
			"view_model"	"models/weapons/ggwp/ak47/armageddon/v_rif_ak47.mdl"	// Путь до модели от первого лица
			"world_model"	"models/weapons/ggwp/ak47/armageddon/w_rif_ak47.mdl"	// Путь до модели от третьего лица
			
			"Sequences"		// Перенаправление индексов анимации	
			{
				// "индекс анимации которую мы хотим поменять"		"на какой индекс меняем"
				"1"			"7"
				"2"			"6"
				"3"			"1"
				"4"			"2"
				"5"			"3"
			}
			
			"Sounds"	//Звуки оружия
			{
				"stop_all_sounds"	"1" 		// Останавливаем или нет все звуки на всех анимациях
				"weapons/ak47/zvyk1.wav"		// Путь до звука
				{
					"sequence"		"1"				// Индекс анимации в котором воспроизвести звук
					"cycle"			"0"				// На каком цикле воспроизвести звук. Чтобы узнать цикл, введите в консоле cw_dev для админ флага Root (z)
					
					"individual"	"0"				// 0 или 1. Воспроизвести индивидуально игроку, чтобы другие не слышали другие игроки
					"volume"		"1.0"			// От 0.0 до 1.0. Громкость звука
					"level"			"75"			// Уровень шума (75 = норма. Дальность распространения звука), если individual = 0
					"pitch"			"100"			// Тон звука (100 = норма)
				}
				"weapons/ak47/zvyk2.wav"
				{
					"sequence"		"2"
					"cycle"			"0"
					
					"individual"	"0"
					"volume"		"1.0"
					"level"			"75"
					"pitch"			"100"
				}
				"weapons/ak47/zvyk3.wav"
				{
					"sequence"		"3"
					"cycle"			"0"
					
					"individual"	"0"
					"volume"		"1.0"
					"level"			"75"
					"pitch"			"100"
				}
				"weapons/ak47/zvyk4.wav"
				{
					"sequence"		"6"
					"cycle"			"0"
					
					"individual"	"0"
					"volume"		"1.0"
					"level"			"75"
					"pitch"			"100"
				}
				"weapons/ak47/zvyk5.wav"
				{
					"sequence"		"7"
					"cycle"			"0"
					
					"individual"	"0"
					"volume"		"1.0"
					"level"			"75"
					"pitch"			"100"
				}
			}
		}

Хочу заметить, то все эти команды в большинстве случаев команды ниже не нужны. Разве что смена рук(слева на права) довольна частая проблема. Так что не пугайтесь увидев много текста)


Практика.


Возьмём 5 каких нибудь моделей. На пример вот эти:
1. Эмку(m4a1)

2. Ака(ak47)

3. AWP

4. Дигл(Deagle)

5.  Нож(knife)


И у нас получается вот такой код

"Weapons"
{
	"m4a1"
	{
		"category"	"0"
		
		"Бушмастер"
		{
			"view_model"	"models/weapons/ggwp/m4a1/bushmaster/v_rif_m4a1.mdl"		// Путь до модели от первого лица
			"world_model"	"models/weapons/ggwp/m4a1/bushmaster/w_rif_m4a1.mdl"		// Путь до модели от третьего лица
		}
	}
	"ak47"
	{
		"category"	"0"
		
		"Черный дракон"
		{
			"view_model"	"models/weapons/ggwp/ak47/blackdragons/v_rif_ak47.mdl"		// Путь до модели от первого лица
			"world_model"	"models/weapons/ggwp/ak47/blackdragons/w_rif_ak47.mdl"		// Путь до модели от третьего лица
		}
	}
	"deagle"
	{
		"category"	"3"
		
		"Черная вдова"
		{
			"view_model"	"models/weapons/ggwp/deagle/widowmaker/v_deagle.mdl"		// Путь до модели от первого лица
			"world_model"	"models/weapons/ggwp/deagle/widowmaker/w_deagle.mdl"		// Путь до модели от третьего лица
		}
	}
	"knife"
	{
		"category"	"4"
		
		"Роспись"
		{
			"view_model"	"models/weapons/ggwp/knife/painting/v_knife.mdl"		// Путь до модели от первого лица
			"world_model"	"models/weapons/ggwp/knife/painting/w_knife.mdl"		// Путь до модели от третьего лица
		}
	}
	"awp"
	{
		"category"	"6"
		
		"Ад"
		{
			"view_model"	"models/weapons/ggwp/awp/hell/v_snip_awp.mdl"		// Путь до модели от первого лица
			"world_model"	"models/weapons/ggwp/awp/hell/w_snip_awp.mdl"		// Путь до модели от третьего лица
		}
	}
}

 

С радостью дополню гайд и отвечу на вопросы в комментарии.