Текущая версия: 0.1 от 28.03.2016
Описание:
Данный плагин запускает разминку на ножах после события начала игры ('Game Commencing!'). Работает как на HLDS, так и на ReHLDS. Несмотря на небольшую задачу, которую выполняет плагин (с точки зрения пользователя), исходный код получился достаточно объёмным. Это связано с большим количеством нюансов и особенностей работы скрипта, о которых я всецело постараюсь рассказать далее.
Особенности:
Описание:
Данный плагин запускает разминку на ножах после события начала игры ('Game Commencing!'). Работает как на HLDS, так и на ReHLDS. Несмотря на небольшую задачу, которую выполняет плагин (с точки зрения пользователя), исходный код получился достаточно объёмным. Это связано с большим количеством нюансов и особенностей работы скрипта, о которых я всецело постараюсь рассказать далее.
Особенности:
- запуск разминки при каждом событии 'Game Commencing!' (можно отключить для экономии ресурсов)
- спаун игрока после выбора класса
- 35 ед. здоровья при спауне (можно настроить)
- респаун игрока после смерти (по типу Deathmatch)
- забавные звуки при убийстве (стандартные)
- блокировка стандартных HUD элементов: прицела, патронов, weaponlist'а, таймера и денег
- блокировка HUD иконки оружия (для C4 у террористов, которая начинает мигать, когда игрок находится в зоне закладки бомбы)
- блокировка использования заложников (в этом нет особой нужды, просто чтобы не вызывать лишних вопросов у игрока в определённых случаях)
- удаление любого оружия, кроме ножа, при его добавлении в инвентарь игрока (также и при поднятии оружия на карте)
- более информативный HUD таймер до окончания разминки вместо стандартного
- информационные HUD сообщения игроку о текущем состоянии разминки (1 сообщение при первом спауне и 1 сообщение по завершении разминки)
- Вы должны зарегистрироваться, чтобы видеть ссылки. (для HLDS и ReHLDS) или Вы должны зарегистрироваться, чтобы видеть ссылки. (только для HLDS)
- Counter-Strike (cstrike.inc)
- Engine (engine.inc)
- Ham Sandwich (hamsandwich.inc)
- RoundControl (roundcontrol.inc; опционально)
- Код: Выделить всё
//#include <roundcontrol> // раскомментируйте эту строку, если на сервере не используется Regamedll_CS
//#define USE_PAUSE // раскомментируйте эту строку, если желаете, чтобы плагин прекратил работу после выполнения задачи
const MAX_PLAYERS = 32; // максимальное кол-во игроков на сервере, заменить своим (по умолчанию 32)
const WARMUP_TIME = 90; // кол-во времени в секундах, отведённое на разминку (по умолчанию 90)
const Float:RESPAWN_DELAY = 0.75; // кол-во времени в секундах, отведённое на задержку перед респауном (по умолчанию 0.75)
const Float:SHOW_MSG_DELAY = 0.5; // кол-во времени в секундах, отведённое на задержку перед отправкой HUD-сообщения (по умолчанию 0.5)
const Float:WARMUP_HEALTH = 35.0; // кол-во ед. здоровья, устанавливаемое игроку при спауне во время разминки (по умолчанию 35.0)
Планируемые обновления:
- реализовать WARMUP_TIME кваром, чтобы иметь возможность назначать для каждой карты собственное время (ранее поступали просьбы от игроков сократить время разминки; данный метод будет не совсем удобен, поэтому также рассматривается способ с расстановкой на картах случайных точек спаунов)
Самую первую версию этого плагина я писал в 2012-м или 2013-м году, наступило время произвести рефакторинг и новой версией я хотел бы поделиться со всеми, кто любит такое оружие, как нож и желает видеть разминку на ножах на своём сервере. Чего я ожидаю взамен? Конструктивной критики, указаний на недочёты в коде, предложений / пожеланий / идей по функционалу и т.д. Буду рад, если Вы данный плагин хотя бы не поленитесь протестировать и ещё больше мне будет приятно, если он Вам понравится.
Благодарности:
- Вы должны зарегистрироваться, чтобы видеть ссылки. - за реализацию отлова выбора класса
- Вы должны зарегистрироваться, чтобы видеть ссылки. - за реализацию и возможность использования Regamedll_CS и RoundControl
- Вы должны зарегистрироваться, чтобы видеть ссылки. - за способы реализации некоторых функций из Вы должны зарегистрироваться, чтобы видеть ссылки.