В данной статье речь пойдет о том, как заставить текстуры в Counter-Strike звучать, т.е. когда игрок ходит по разным поверхностям, чтобы звуки шагов были разными, то же самое касается стрельбы: звуки попадания в дерево и металл должны различаться. Вот об этом и пойдет речь.
Статья (с некоторыми изменениями) публикуется с разрешения автора - PYaEe, http://www.cstrike.wallst.ru/. Благодарим PYaEe за прекрасную статью!
Прежде всего необходимо сказать - для того, чтобы текстура зазвучала, её имя должно быть прописано в файле materials.txt, который находится в папке "cstrike\sound". Проблема в том, что мы не можем изменять этот файл и распространять его вместе с картой, потому что на другой карте, созданной Васей Пупкиным - свои звучащие текстуры, и он тоже "обновит" materials.txt, а это означает, что Ваши текстуры звучать уже не будут.
Выход есть и он довольно простой. Как мы знаем, движок Half-Life, выбирая материал текстуры, учитывает только первые 12 знаков её названия. А максимальная длина названия текстуры - 15 знаков. Значит, у нас есть 3 знака в запасе. Этого хватит на любую карту - ведь используя, например, эти три знака для чисел, примерно так:
zvukitexturi001 zvukitexturi002 zvukitexturi003
... мы можем получить 999 разных текстур одного типа звучания. А ведь можно использовать ещё и буквы... Так что, этих трех символов нам хватит.
То есть, нам нужно найти в стандартном materials.txt названия текстур, которые составляют 12 или более символов. Оставляем 12 первых, а оставшиеся 3 находятся в нашем распоряжении. Мы облегчим Вам задачу, и скажем как именно нужно называть свои текстуры:
Снег: только три варианта: snow; A_snow; znow1 (нет названия стандартной текстуры снега из 12 символов)
Стекло: GLASS_BRIGHT*** Электроника: LAB1_RADSCRN*** Грязь(песок, гравий): cstrike_FT2D*** Вентиляционная труба: Нет стандартных названий в 12 символов - так что используйте либо стандартную, либо называйте свою точно так же, как стандартную.
Жидкость или жидкая грязь: то же самое.
При этом, Вам совершенно не нужно производить никаких манипуляций с materials.txt - ни редактировать, ни распространять.
Для массовых переименований текстур Вам очень пригодится программа просмотра изображений ACDSee. Если Вы уже сделали много текстур, переведите их в BMP (программой Wally), сложите в какую-нибудь папку, потом запустите ACDSee, выберите, например, только деревянные текстуры, нажмите "Rename series" ("Переименовать несколько"), в графе "Template" напишите cstrike_CJ2B###, а "Start at" поставьте 000. Запишите исходные и будущие названия текстур и жмите кнопку "OK".
Дальше запускаем Hammer/Worldcraft и активно юзаем "Replace textures"!
Важное замечание: текстуры будут звучать только, если они наложены на БРАШИ. Текстуры, наложенные на энтити-объекты (func_wall и пр.) звучать НЕ БУДУТ! Так что помните об этом, создавая, например, ящик с текстурой дерева. Если Вы превратите его в func_wall, то деревянного звука при попадании по ящику не будет...