За основу возьмём моды
Some Old Cleaver
https://steamcommuni...ext=old cleaver
Some Old Cleaver HUD Icon
https://steamcommuni...ext=old cleaver
Для работы нам понадобятся несколько программ, действуем по аналогичной теме "Пользовательские Модели"
https://forum.myaren...telskie-modeli/
Some Old Cleaver
Декомпилируем, переименовываем файлы (любое название, модель + текстуры) и собираем модель с новым именем.
Важно! Перед декомпиляцией v_model ставим галочку "Include DefineBone Lines"
Снимаем галочку "Include DefineBone Lines" когда работаем с моделью мира w_model
В противном случае получите забагованые модели как у одного товарища с форума с чёрными растягивающими полосами и сменой модели. Чтобы не было смены модели в руке, меняем название не только MDL файла, а всех.
Some Old Cleaver HUD Icon
В папке scripts есть текстовый файл, даём ему новое имя и прописываем туда наши модели
"viewmodel" "models/weapons/melee/v_old_cleaver.mdl"
"playermodel" "models/weapons/melee/w_old_cleaver.mdl"
строчка отвечающая за новые пути к иконки (не забываем это указывать и в материалах)
"TextureData"
{
"sprite_active"
{
"file" "old_cleaver/old_cleaver"
"x" "0"
"y" "0"
"width" "128"
"height" "64"
}
}
}
Многие модели используют пользовательские звуки, если вам не подошли те, что там по умолчанию можете заменить на свои
SoundData
{
"melee_miss" "Machete.Miss"
"melee_hit" "Machete.ImpactFlesh"
"melee_hit_world" "Machete.ImpactWorld"
}
Вы можете посмотреть их для каждого оружия открыв pak01_dir.vpk/ scripts/ melee/ открываем любой txt и заглядываем
Остальное должно быть понятно.
"damage" "70"
"refire_delay" "0.8"
"weapon_idle_time" "0.8"
"duration" "0.76"
"starttime" "0.1"
"endtime" "0.25"
Помните, уменьшая интервал или момент удара, вызывает несоответствие анимациям, это делается плагином.
Используем квар sm_cvar l4d_melee_weapons "вписать название которое дали для txt файла в папке скриптинг"
Некоторые модели используют дополнительный MDL файл, он отличается от оригинального названия, оставляем его в покое и помещаем в папку с моделями, так же модели нужно подгружать. Дописываем в уже имеющийся исходник из сборки.
if (!IsModelPrecached("models/weapons/melee/v_macheto.mdl")) PrecacheModel("models/weapons/melee/v_macheto.mdl");
if (!IsModelPrecached("models/weapons/melee/v_old_cleaver.mdl")) PrecacheModel("models/weapons/melee/v_old_cleaver.mdl");
if (!IsModelPrecached("models/weapons/melee/w_old_cleaver.mdl")) PrecacheModel("models/weapons/melee/w_old_cleaver.mdl");