Как отобрать оружие у игроков? в CS 1.6

Из этой статьи Вы узнаете как можно отобрать оружие у игроков, снарядить их опеределенным видом, например, пистолетами и как запретить закупку в начале раунда.

Для управления вооружением игроков могут быть использованы следующие энтити-объекты:

armoury_entity — При помощи этого объекта на карте можно разложить оружие, гранаты и бронежилеты. Один такой объект размещает один вид оружия или амуници
player_weaponstrip -При активации этого объекта, у игрока отнимается абсолютно все оружие (включая нож).
info_map_parameters — В свойствах этого объекта можно указать какая из команд может покупать оружие, а также радиус взрыва бомбы на de-картах
game_player_equip — Этот объект позволяет определить начальное вооружение и набор вещей, которые будут выданы игроку, как только он присоединися к игре. Если Вы поставите этот объект на карту, то игроки будут иметь только то оружие и те вещи, которые указанные в нем. Если активировать данный объект только для одной команды (используя game_team_master), то игроки другой команды будут экипированы только бронежилетами.
  1. Отбираем оружие
Итак, чтобы в начале раунда отобрать оружие у игроков необходимо разместить в любом месте карты точечный энтити-объект player_weaponstrip. Затем в его свойствах в параметр «Name» нужно вписать специальное имя: game_playerspawn.
В качестве примера мы будем использовать карту KA_100x100, т.к. на этой карте реализовано очень большое число любопытных спецэффектов. Здесь и табло с подсчетом фрагов, и звуки апплодисментов при каждом убийстве, бой барабанов, воющие сирены, прожекторы и пр. — все это реализовано при помощи одного малоизвестного свойства объектов.
Начнем с простого примера с дверью и кнопкой. Итак, допустим у нас на карте в каком-нибудь месте есть дверь (func_door), а рядом кнопка (func_button), открывающая эту дверь. Чтобы игрок мог открыть дверь нажатием кнопки — двери необходимо присвоить имя (Name), например, Door1. Затем это имя нужно вписать в параметр «Target» кнопки. Все прекрасно — игрок жмет кнопку, и дверь с именем Door1 открывается.
Теперь собственно о том, как заставить дверь открываться, когда кто-нибудь кого-нибудь убъет. Существуют 5 специальный имен для объектов, вот они:
game_playerdie
game_playerkill
game_playerjoin
game_playerspawn
game_playerleave

game_playerjoin — активация объекта, когда игрок присоединяется к какой-нибудь команде
game_playerspawn — активация объекта, когда игрок рождается (т.е. в начале каждого раунда)
game_playerleave — активация объекта, когда игрок уходит из игры

Проявив фантазию, Вы сможете реализовать самые невероятные спецэффекты.

Другие имена означают следуещие действия:
Рассмотрим первые 2 специальных имени game_playerdie и game_playerkill. Если Вы дадите двери (лампочке, звуку и вообще любому другому объекту) имя game_playerdie или game_playerkill, то каждый раз, когда кто-то кого-то убъет, дверь будет открываться-закрываться! Если Вы дадите какое-нибудь из этих имен лампочке (light), то при каждом фраге она будут загораться и при следующем фраге гаснуть!
Этот трюк работает со всеми объектами, которым можно дать имя. Вы можете присвоить имя game_playerkill, например, объекту multi_manager, который, напомним, может активировать до 16 различных объектов с заданными интервалами времени. В этот multi_manager мы можем записать, сначала активацию лампочки через 3 секунды, затем звука через 5 секунд, ну и напоследок двух дверей через 10 секунд. Ну это все к примеру, а так Вы можете активировать все, что захотите.
2. Выдаем определенный вид оружия

Оружие мы отобрали, теперь при рождении игрок будет полностью лишен оружия (даже ножа). Причем действие объекта player_weaponstrip благодаря спец имени распространяется на всех игроков обеих команд.

Теперь, возможно, Вы хотите дать определенный вид оружия всем игрокам. Например, Вы делаете карту только на ножах или пистолетах и хотите дать каждому игроку по ножу и пистолету. Для этого необходимо вставить еще один точечный объект game_player_equip. Для удобства рекомендуем вставить его рядом с объектом player_weaponstrip.

Сразу же дайте этому объекту спец имя: game_playerspawn, чтобы он активировался сразу после рождения игрока.

Свойства game_player_equip очень просты. В них перечислены все доступные виды оружия, а также гранаты, броня, щипцы для разминирования и пр. обмундирование. Все что нужно сделать, это выставить напротив выбранного вида оружия значение «Yes» или «No».

Например, чтобы раздать игрокам ножи, выберите пункт «Give Knife» и справа в списке поставьте значение «Yes». Если хотите раздать калаши, выберите пункт «Give Ak47 (762nato Calibre)». Затем к калашу необходимо дать патроны. Выберите пункт «Give 7.62mm Nato Ammo» и справа в списке укажите сколько магазинов необходимо дать (1 Clip; 2 Clips; 3 Clips) — соответственно: 1, 2, 3 магазина патронов.

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

3. Запрещаем покупку

Если Вы делаете карту с определенным видом оружия, то отобрать его (оружие) объектом player_weaponstrip недостаточно. Необходимо еще запретить оружие покупать.

Делается это при помощи объекта info_map_parameters. Вставьте в любое место вашей карты этот объект. Откройте свойства.

В свойствах выберите пункт «Weapon Buying» и затем в списке справа выставьте «Neither CT's or T's can buy guns». Теперь когда игрок нажмет кнопку «B», на экран выведется сообщение, что «мол, обломитесь, но покупать оружие на этой карте нельзя».

Естественно, если покупка запрещена, то нет необходимости создавать объекты func_buyzone на базах команд, напомним, что данный брашевый энтити-объект определяет место, где команды закупаются.

4. Раскладываем оружие по карте

Встречаются карты, на которых оружие валяется на земле, например: fy_iceworld, dm_aztec_maso2, dm_aztec_maso3, cs_pf_dust и др. Обычно его раскладывают на респаунах команд. Вот как это делается.

В то место, где должно появиться оружие вставьте объект armoury_entity. Разместите его несколько выше уровня земли. В свойствах выберите пунк «Item» и затем в списке справа укажите какую пушку (тип гранаты или броник) Вы хотите положить. В параметре «Count» цифрой укажите количество пушек.

Например, Вы в первом пункте выбрали «weapon_ak47» и хотите, чтобы калашей было 5 штук. Для этого в «Count» пишем цифру 5. В игре калаши будут лежать как бы друг в друге, т.е. взяв 1 калаш с земли, на его месте будет лежать еще один. Когда Вы возьмете пятый калаш, халява закончится :)

Если Вы делаете карту на снайперках, то можете разместить по 10 объектов armoury_entity около баз обеих команд, выставить «Item»: weapon_awp и «Count»: 1. Но помните, что оружие сильно повышает параметр epoly (сокр. от entity poligons, подробнее Вы можете прочитать в разделе об r_speeds). Нежелательно, чтобы epoly превышал значение 4500-6000 (дальше карта начинает тормозить), так что или раскладывайте оружие по разным частям карты или уменьшайте его количество.

Таким образом, оперируя этими четырмя объектами, Вы можете сделать карту на любом типе оружия, можете выдавать его игрокам при рождении или же разложить его по карте, чтобы игроки сами подбирали его.

Как отобрать оружие у игроков? в CS 1.6, image #1
914 views·3 shares