1.1. Всё об объекте ambient_generic.
Автор: mildarf.
Дата обнародования: 16.06.2005.
Под Громкостью понимается величина, определяющая амплитуду звукового сигнала (измеряется в децибеллах dB). Под Частотой понимается величина, определяющая тон (ноту) звука (измеряется в герцах Hz). Под Скоростью понимается величина, определяющая быстроту проигрывания звука (измеряется в сэмплах в секунду samples/s).
Параметры объекта ambient_generic:
1. Name - [строка] - Имя объекта для активации.
2. Path/filename.wav of WAV - [строка] - Путь к файлу .WAV в формате PCM, 11-22Khz, 8 bit, mono с прямыми слэшами "/" вместо "\" для обозначения вложенных папок.
3. Volume - [действительное число] - Громкость (0 - тишина, 10 - максимальное усиление звука). Имеет значение громкость звукового файла - тихий wav-файл необходимо усиливать сильнее, чем громкий wav, для одинаковой слышимости.
4. Dynamic Presets - [из списка] - Эффекты проигрывания звука:
а) None (по умолчанию) - отсутствие звуковых эффектов;
б) Huge Machine, Big Machine, Machine - медленное, среднее, быстрое возрастание частоты звука;
в) Slow Fade in, Fade in, Quick Fade in - медленное, среднее, быстрое возрастание громкости звука;
г) Slow Pulse, Pulse, Quick Pulse - медленное, среднее, быстрое пульсирование громкости звука;
д) Slow Oscillator, Oscillator, Quick Oscillator - медленное, среднее, быстрое пульсирование скорости звука;
е) Grunge Pitch, Very Low Pitch, Low Pitch - сильное, среднее, слабое уменьшение частоты и скорости звука;
ж) High pitch, Very hign pitch, Screaming pitch - слабое, среднее, сильное увеличение частоты и скорости звука;
з) Oscilate spinup/down, Pulse spinup/down - медленное, быстрое пульсирование частоты и скорости звука в высоком диапазоне частот;
и) Random pitch, Random pitch fast - среднее, быстрое случайное изменение частоты и соответствующей скорости звука в высоком герцовом диапазоне;
к) Incremental spinup - сильное замедление и уменьшение частоты звука;
л) Alien - чередование звуков высокой и очень высокой частоты и скорости;
м) Blizzare - чередование звуков средней и низкой частоты и скорости;
н) Planex X - чередование звуков низкой и очень низкой частоты и скорости;
о) Haunted - чередование звуков средней и высокой частоты и скорости.
5. Start Volume - [действительное число] - Стартовая громкость.
6. Fade in time (0-100) - [действительное число] - время в секундах возрастания громкости звука от стартовой громкости (параметр Start Volume) до установленного максимума (параметр Volume) при активации ambient_generic.
7. Fade out time (0-100) - [действительное число] - время в секундах затихания громкости звука от установленного максимума (параметр Volume) до стартовой громкости (параметр Start Volume) до при активации ambient_generic.
8. Pitch [действительное число] - Частота и скорость звука. По умолчанию 100 - без изменений, менее 100 - понижение частоты и скорости звука, более 100 - увеличение частоты и скорости. При Pitch=50 звук проигрывается на октаву ниже и в два раза медленнее, при Pitch=150 - на октаву выше и в два раза быстрее.
9. Start Pitch - [действительное число] - Стартовая частота и скорость звука.
10. Spin up time (0-100) - [действительное число] - время в секундах возрастания частоты и скорости звука от стартовой частоты и скорости звука (параметр Start Pitch) до установленного максимума (параметр Pitch) при активации ambient_generic. Данная функция может быть использована, например, для создания набирающей скорость машины или завывания сирены.
11. Spin down time (0-100) - [действительное число] - время в секундах уменьшения частоты и скорости звука от установленного максимума (параметр Pitch) до стартовой частоты и скорости звука (параметр Start Pitch) при активации ambient_generic. Данная функция может быть использована, например, для создания останавливающейся машины или ломающейся DJ-ской винил-установки.
12. LFO type - [целочисленная] - Режим использования функции LFO: 0 - отключена, 1 - sqr (обработка звука по квадратичным зависимостям), 2 - tri (обработка звука по кубическим зависимостям), 3 - rnd (случайный режим). Функция LFO позволяет задавать сложные модификации изменения громкости, частоты и скорости звука.
13. LFO rate (0-1000) - [целочисленная] - Скорость проигрывания сэмплов звукового сигнала. При увеличении данного параметра из-за изменений длины сэмплов при проигрывании звука появляются короткие паузы.
14. LFO mod pitch (0-100) - [действительное число] - Увеличение частоты и скорости звука в квадратичной или кубической зависимости, указанной в параметре LFO type.
15. LFO mod vol (0-100) - [действительное число] - Увеличение громкости звука в квадратичной или кубической зависимости, указанной в параметре LFO type.
16. Incremental spinup count [целочисленная] - Значение кратного увеличения максимального предела частоты и скорости звука при использовании функции Spin up time.
Флаги:
Play everywhere - Cлышимость звука в любой точке карты;
Small radius - Маленький радиус слышимости звука (800 юнитов);
Medium radius - Средний радиус (1250 юнитов);
Large radius - Большой радиус (2000 юнитов);
Start silent - В начале игры звук выключен;
Not toggled - В начале раунда звук выключен.
Для того, чтобы создать на карте источник повторяющегося звука, необходимо вставить в wav-файл CUE-пойнты при помощи специальных звуковых редакторов, но можно использовать и следующий способ:
1. Создать копию стандартного wav-файла CS с cue-пойнтами (например, ..\cstrike\sound\lv_jubilee - 22KHz, 8bit, mono) и переименовать его в нужное Вам имя (например, loopsound.wav).
2. Открыть Ваш звуковой нестандартный файл любым редактором wav-файлов, выделить всю дорожку, скопировать ёё в буфер обмена (Ctrl+C).
3. Открыть loopsound.wav редактором wav-файлов, выделить всю дорожку, удалить ёё без сохранения в буфер, вставить Ваш wav-файл из буфера (Ctrl+V).
4. Сохранить loopsound.wav при помощи вкладки "Сохранить". Если записать loopsound.wav при помощи вкладки "Сохранить как 22Khz, 8bit, mono", то cue-пойнты не записываются.
5. Создать на карте объект ambient_generic и указать путь к loopsound.wav в параметре Path/filename.wav of WAV.
1.2. Сломать модель.
Автор: mildarf.
Дата обнародования: 12.08.2005.
Для того, чтобы сломать модель в игре, необходимо:
1. Поставить на карту объект cycler_sprite и задать в его параметре model путь к модели, которую требуеся сломать, например, models/lv_bottle.mdl.
В параметрах указать Name = например, model1, Render FX = Normal, Render Mode = Normal - no light, FX Amount = 255.
2. Установить один или несколько брашей в форме установленной модели.
3. Создать из этих брашей энтитю func_breakable с параметрами Target on Break = например, hidemodel1, Strenght = например, 1, Material type = например, Glass, Render FX = Normal, Render Mode = Additive, FX Amount = 0, и поместить её в место расположения cycler_sprit'а. Браш можно окрасить любой текстурой, так как он будет прозрачным. Кроме этого, энтитя будет материальной и через неё нельзя будет ходить.
4. Поставить в любую точку карты объект env_render c параметрами Name = в данном случае, hidemodel1, Target = в данном случае, model1, Render FX = Normal, Render Mode = Additive, FX Amount = 0.
5. Создать другой точечный объект env_render с параметрами Name = game_playerspawn, Target = в данном случае, model1, Render FX = Normal, Render Mode = Normal - no light, FX Amount = 255.
Технология работы: При выстреле по нематериальной модели пуля попадает в невидимый func_breakable, при разрушении которого активируется env_render, и модель становится прозрачной. При каждом респауне происходит активация другого env_render'а, восстанавливающего нормальное отображение модели.
Примечания:
1. Аналогичным способом можно взрывать модели. Для этого необходимо задать в параметре объекта func_breakable Explode magnitude значение > 0.
2. В случае, если необходимо разбить модель-бутылку с брызгами, можно использовать способ создания красиво разбивающихся бутылок.
1.3. Подробно о красиво разбивающихся бутылках.
Автор: mildarf.
Дата обнародования: 26.03.2005.
Для того, чтобы создать бутылку, при разбивании которой во все стороны летят брызги, необходимо:
1. Создать непрозрачную энтити-бутылку func_breakable с параметрами Strenght=1, MaterialType=Glass, TargetOnBreak=например,Splash. Также можно поставить галочки на флагах Touch и Pressure, чтобы по бутылка разбивалась при прикосновении.
2. Поставить чуть повыше бутылки точечный объект env_blood со следующими параметрами:
- Name = в данном случае, Splash;
- BloodColor = если подразумевается, что в бутылке пиво, то = 1, если красное вино, то = 2, если вода, то = Red(Human);
- AmountOfBlood = чем больше значение, тем больше брызг, устанавливайте в зависимости от размера бутылочки.
- Если Вы хотите, чтобы брызги разлетались в случайном направлении, то поставьте галочку на флаге RandomDirection, если струёй, то на флаге BloodStream. Если желаете, чтобы струя била в определённую сторону (иногда это бывает очень красиво), то уберите галочку с флага RandomDirection и задайте угол объекта env_blood. Флаг SprayDecals для следов на текстурах.
При разбивании бутылки func_brealable активизируется объект env_blood Splash, получаются очень реалистичные брызги.
Примечание: вместо бутылки может быть любой объект, для которого подразумевается, что в нём жидкость.
1.4. Вращающиеся модели.
Автор: mildarf.
Дата обнародования: 02.08.2005.
Для того, чтобы создать вращающуюся в игре модель, необходимо:
1. Создать в Valve Hammer Editor объект, отображающий модели, например, cycler_sprite, и задать в параметре model путь к модели, которую требуется вращать, например, models/qtruck.mdl. Объект можно поместить в любое место карты. Он необходим для кэширования модели (внедрения в оперативную память) при загрузке карты.
2. Создать любую точечную энтитю, открыть её свойства и в поле Class написать func_rotating. Появится точечный объект со всеми параметрами брашевого func_rotating. Однако, даже при использовании конфигурационных файлов, способных показывать модели в Valve Hammer Editor, модели, помещённые в искусственные точечные энтити, в редакторе не отображаются. Также точечный func_rotating не поддерживает CLIP-браши, поэтому модель будет нематериальной, даже если убрать галочку в флага Not solid.
3. Отключить кнопку SmartEdit, нажать Add и добавить новый параметр model со значением пути к модели, которую требуется перемещать, в данном случае, models/qtruck.mdl.
4. Для размещения модели под разными углами добавить параметр angles со значениями поворотов по осям X, Y и Z соответственно (например, 30 45 15).
5. При потребности проигрывания анимации модели добавить параметры sequence со значением номера анимации и framerate со значением кадров в секунду.
6. Настроить func_rorating как обычный вращающийся объект (задать величину скорости вращения, установить галочку на флаге Start On и т.д.).
7. Редактор не поддерживает объединение вращающейся модели с origin-брашем, поэтому центром вращения будет являться точка начала координат. Кроме этого, модель будет вращаться вокруг своего центра. Для установки данной модели в нужное место карты, необходимо задать в параметре X Y Z - Move here after lighting коородинаты точки, в которую требуется переместить модель.
Аналогичным образом можно создать модель-маятник func_pendulum, однако, данный тип объектов не поддерживает функцию X Y Z - Move here after lightning (в том числе, добавление параметра spawnorigin), поэтому для хорошей смотрибельности уместно размещение только одной модели-маятника, под центр вращения которой нужно подстраивать всю карту.
Преимущества применения данного метода:
1. Работа с моделями, не имея навыков в Milkshape и 3Dmax;
2. Возможность использования одного файла MDL для создания крутящихся моделей в разных местах карты, плоскостях X, Y, Z, и с различными скоростями вращения;
3. Минимизация размера архива карты.
Большой недостаток искусственно созданных точечных объектов заключается в невозможности их сохранения в RMF- и MAP-файлы, поэтому рекомендуется создавать точечный поезд прямо перед компилированием карты.
1.5. Дождь без пара.
Автор: mildarf.
Дата обнародования: 08.08.2005.
Особенности объекта env_rain:
1. Капли дождя падают только из граничных SKY-брашей. Браши внутри карты, окрашенные SKY-текстурой, не поддерживают отображение дождя.
2. Максимальное расстояние, на котором отрисовываются падающие капли дождя, = 448 юнитов.
3. Дождь не влияет на параметры WPOLY и EPOLY.
Для того, чтобы реализовать на карте дождь без пара, исходящего от земли при падении капель, необходимо:
1. Создать копию файла ..\cstrike\sprites\gas_puff_01.spr, назвать её, например, gas_puff_01_copy.spr.
2. Создать при помощи программы
SpriteWizard 1.1
пустой спрайт и заменить им файл gas_puff_01.spr. Под пустым понимается прозрачный спрайт, полностью окрашенный transparent-цветом. Если подставить вместо gas_puff_01.spr файл другого формата, CS при загрузке карты выдаст фатальную ошибку Mod_LoadBrushModel: sprites/gas_puff_01.spr has wrong version number (1751344448 should be 30).
3. Для того, чтобы информировать игрока о замене спрайта можно, например, создать файл \cstrike\sprites\gas_puff_01_copy_readme.txt и написать в нём:
"Файл gas_puff_01.spr используется для корректного отображения дождя картой имя_Вашей_карты. В случае, если Вы желаете, чтобы при падении капель дождя от земли шёл пар, удалите данный файл и переименуйте gas_puff_01_copy.spr в gas_puff_01.spr."
4. Включить файлы gas_puff_01.spr, gas_puff_01_copy.spr и gas_puff_01_copy.txt в папку ..\cstrike\sprites архива карты при релизе.
Готовый пустой спрайт минимального размера, копию стандартного gas_puff_01.spr и файл описания gas_puff_01_copy_readme.txt можно скачать здесь:
Дождь без пара.
Для создания объекта env_rain на карте необходимо использование конфигурационного файла, поддерживающего дождь, например,
cs_expert-dmitrich800.
1.6. Убойность оружия.
Автор: mildarf.
Дата обнародования: 31.08.2005.
Патрон, попадая в объект, наносит ему случайную величину повреждения в определённом диапазоне чисел. Для того, чтобы поставить на карту объект func_breakable, не разбиваемый одним патроном оружия, необходимо задать в параметре Strength значение большее максимального повреждения, для гарантированного разрушения объекта - значение минимального повреждения.
Пистолеты и нож:
№ п/п | Название пистолета в CS 1.6/CS 1.5 | Покупка в CS 1.6/1.5 | Повреждение, наносимое патроном | Идентификатор в VHE weapon_ | Цена | Скорость стрельбы
|
1. | 9x19MM SIDEARM | b-1-1 | 20.5 (18-23) | glock18 | $400 | -
|
Glock 18 | b-1-2
|
2. | KM .45 TACTICAL | b-1-2 | 28.5 (26-31) | usp | $500 | -
|
Heckler & Koch USP45 | b-1-1 | special 25.0 (23-27)
|
3. | 228 COMPACT | b-1-3 | 29.5 (26-33) | p228 | $600 | -
|
Sig Sauer P-228 | b-1-4
|
4. | NIGHT HAWK .50C | b-1-4 | 49.5 (46-53) | deagle | $650 | -
|
IMI Desert Eagle | b-1-3
|
5. | .40 DUAL ELITES | b-1-5 | 21.0 (13-29) | elite | $1000 | -
|
Dual Beretta 96G Elites
|
6. | ES FIVE-SEVEN | b-1-5 | 22.0 (13-31) | fiveseven | $750 | -
|
Fabrique Nationale Five-Seven | b-1-6
|
7. | Нож Knife | - | порез 15.0 (15) | knife | - | -
|
special 65.0 (65)
|
Дробовики и лёгкие автоматы:
№ п/п | Название автомата в CS 1.6/CS 1.5 | Покупка в CS 1.6/1.5 | Повреждение, наносимое патроном | Идентификатор в VHE weapon_ | Цена | Скорость стрельбы
|
1. | LEONE 12 GAUGE | b-2-1 | дробь 171.0 (171) | m3 | $1700 | -
|
Bebelli M3 Super 90
|
2. | LEONE YG1265 | b-2-2 | дробь 114.0 (114) | xm1014 | $3000 | 400п/мин
|
Benelli XM1014
|
3. | SCHMIDT MACHINE | b-3-1 | 18.0 (14-22) | tmp | $1250 | 857п/мин
|
Steyr Tactical Machine Pistol | b-3-2
|
4. | INGRAM MAC-10 | b-3-1 | 25.0 (23-27) | mac10 | $1400 | 857п/мин
|
Ingram Mac-10 | b-3-4
|
5. | KM SUB-MACHINE GUN | b-3-2 | 24.0 (20-26) | mp5navy | $1500 | 800п/мин
|
Heckler & Koch M5/Navy | b-3-1
|
6. | KM UMP45 | b-3-3 | 27.5 (27-28) | ump45 | $1700 | 600п/мин
|
Heckler & Koch UMP45 | b-3-5
|
7. | EC C90 | b-3-4 | 20.5 (17-24) | p90 | $2350 | 900п/мин
|
Fabrique Nationale P90 | b-3-3
|
Тяжёлые автоматы и винтовки:
№ п/п | Название винтовки в CS 1.6/CS 1.5 | Покупка в CS 1.6/1.5 | Повреждение, наносимое патроном | Идентификатор в VHE weapon_ | Цена | Скорость стрельбы
|
1. | IDF DEFENDER | b-4-1 | 29.0 (26-32) | famas | $2000 | 675п/мин
|
- | -
|
2. | CLARION 5.56 | b-4-1 | 29.5 (27-32) | galil | $2250 | 1100п/мин
|
- | -
|
3. | SCHMIDT SCOUT | b-4-2/b-4-3 | 72.0 (70-74) | scout | $2750 | -
|
Steyr Scout | b-4-5
|
4. | CV-47 | b-4-2 | 34.5 (33-36) | ak47 | $2500 | 600п/мин
|
Avtomat Kalashnikov AK-47 | b-4-1
|
5. | MAVERICK M4A1 | b-4-3 | 31.0 (28-34) | m4a1 | $3100 | 685п/мин
|
Colt M4A1 | special 31.0 (28-34)
|
6. | KRIEG 552 | b-4-4 | 31.0 (28-34) | sg552 | $3500 | 727п/мин
|
Sig SG-552 Commando | b-4-2 | special 31.0 (28-34)
|
7. | BULLPUP | b-4-4 | 30.5 (28-33) | aug | $3500 | 727п/мин
|
Steyr Aug | special 30.5 (28-33)
|
8. | KRIEG 550 COMMANDO | b-4-5 | 39.5 (37-42) | sg550 | $4200 | -
|
Sig SG-550 Commando | b-4-8
|
9. | MAGNUM SNIPER RIFLE | b-4-5/b-4-6 | 113.0 (110-116) | awp | $4750 | -
|
Arctic Warfare/Magnum (AWM) | b-4-6
|
10. | D3/AU-1 | b-4-6 | 39.5 (37-42) | g3sg1 | $5000 | -
|
Heckler & Koch G3/SG-1 | b-4-7
|
11. | M249 | b-5-1 | 31.0 (28-34) | m249 | $5750 | 600п/мин
|
FN M249 Para
|