Пушки - Sentry mod в cs

Disclaimer:

   На Вашем сервере, пушки могут быть настроены иначе. Все что будет описано далее является частным случаем правил/настроек пушек, используемых на лучшем CSDM Sentry сервере cs-party.ru. Более того, даже на cs-party настройки могут со временем меняться.

После того как пушка будет построена, она умрет. Это не вопрос - КАК? Это вопрос - КОГДА? 

 Сколько времени простоит пушка? Сколько денег за это время она принесет? - Это важные вопросы

Продолжим изучение Sentry mod’a, сейчас самое важное и интересное - пушки, пушки, пууууушечки ;)

CSDM SentryCSDM SntryCSDM пушка

Анатомия пушки

Пушка состоит из нескольких частей, см.рисунок 3.1. Но важными для вас будут, ножки и башня, позже вы поймете почему

 

Анатомия пушки

Файл sentryguns.sma, является плагином описывающим параметры пушки и логику ее работы. Давайте выборочно почитаем его.


#define MAXPLAYERSENTRIES 4 // сколько пушек может установить один игрок
#define DMG_EXPLOSION_TAKE 90 // сколько повреждения наносит пушка при взрыве - 90hp
#define SENTRYEXPLODERADIUS 250.0 // радиус в котором будет наноситься урон от взрыва пушки, 250 юнитов
#define THINKFIREFREQUENCY 0.1 // как часто пушка будет стрелять по захваченной цели, 10 раз в секунду
#define SENTRYTILTRADIUS 830.0 // хрень какая то :)
#if !defined DEBUG
#define DISALLOW_OWN_UPGRADES // вы несможете апгрейдить свою пушку до уровня 2, только до уровня 3
#define DISALLOW_TWO_UPGRADES // запрещен повторный апгрейд своей пушки, т.е. вы сможете только построить ее
#endif
//#define SENTRIES_SURVIVE_ROUNDS // если раунд заканчивается, пушки уничтожаются
//#define RANDOM_TOPCOLOR // случайный цвет башни пушки
//#define RANDOM_BOTTOMCOLOR // случайный цвет основания/ножек пушки
#define EXPLODINGSENTRIES // при взрыве пушка будет отталкивать игроков находящихся рядом
#define BOT_WAITTIME_MIN 0.0 // waittime = the time a bot will wait after he's decided to build a sentry, before actually building (seconds)
#define BOT_WAITTIME_MAX 15.0
#define BOT_NEXT_MIN 0.0 // сколько секунд нужно подождать чтобы иметь возможность построить следующую пушку;
#define BOT_NEXT_MAX 120.0


    Как можно заметить пушки имеют очень большое количество параметров. И все из них можно настраивать, и тем самым менять логику работы пушек - а это очень интересно. Привет <flash> !!!
Те переменные что я уже перечислил это далеко не все возможные. На самом деле их больше.
Но самыми интересными для нас (Вас - новичков) будут всего несколько базовых переменных, небольшое изменение которых будет оказывать сильное влияние на изменение игровой механики.
new const g_SENTRYFRAGREWARDS[3] = {300, 150, 150} // сколько дохода приносит пушка за один уровень

Вопрос: Пушка установлена в воздухе, вас просят проапгрейдить ее до второго уровня, для этого вам надо купить гравитацию (6000$). Через сколько убийств для вас окупиться апгрейд пушки?

Ответ: Цена гравитации и апгрейда 6000 + 300 = 6300. Пушка будет приносить вам по 150 за убийство. Пушка должна убить 6300/150 = 42 противника, чтобы окупиться. Все что больше будет приносить вам прибыль. Учтите не каждая пушка простоит так долго, чтобы убить 42 и более игроков.

new const g_DMG[3] = {5, 10, 20} // какой урон наносит пушка за поподание; 5 - пушка первого уровня, 10 - пушка второго уровня, 20 - третьего;

new const Float:g_THINKFREQUENCIES[3] = {2.0, 1.0, 0.5} // как часто в секундах, пушка ищет цель; если она уже не захватила цель - свободна; пушка первого уровня ищет цель (вокруг себя) раз в две секунды, пушка второго уровня ищет цель раз в секунду, пушка третьего уровня ищет цель два раза в секунду;

После того как пушка “наведется” на цель, и захватит/залочит ее, она может стрелять по цели. При этом пушка в один момент может стрелять только по одной цели. Это важно (!)

new const Float:g_HITRATIOS[3] = {0.6, 0.75, 0.85} // как хорошо (точность) пушка попадает в цель; пушка первого уровня попадет 60% выстрелов, пушка второго уровня 75% выстрелов, пушка третьего уровня 85% выстрелов

Вопрос: сколько урона наносит пушка 3его уровня, в минуту?

Ответ: формула -> количество выстрелов в минуту * урон наносимый пушкой * эффективность

60 секунд * 10 выстрелов в секунду = 600 выстрелов в минуту

При эффективности 85% из 600 выстрелов попадет в цель только, 600*0.85 = 510

Каждый из 510 попавших выстрелов нанесет 20 урона, 510*20 = 10200 hp нужно чтобы простоять перед одной пушкой третьего уровня минуту :)

Вопрос: у вас 130 hp, сколько времени вы можете простоять перед пушкой первого уровня?

Ответ: посчитайте сами ;)

new const Float:g_HEALTHS[3] = {3000.0, 6000.0, 10000.0} // как много жизней имеет пушка, увеличивается в зависимости от уровня (!!! это важно).

Из этого параметра становиться ясно что основание пушки, всегда имеет одинаковое количество жизней (3000 hp), в то время как жизни башни увеличиваются с увеличением ее уровня, на картинках ниже можно заметить.

CSDM SentryCSDM SentrySentry ready

Вопрос: в какую часть пушки выгоднее стрелять, для того чтобы как можно быстрее убить ее?

Ответ: догадайтесь сами ;)

Информация: m4a1 наносит 60 повреждений за выстрел, bullpup 60, ak47 80, awp 120.

Вопрос: где лучше взять хорошую кс? 

Ответ: конечно  скачать cs 1.6 бесплатно на кс пати!

Вопрос: Из какого оружия выгоднее всего убивать пушку?

Ответ: конечно же не из awp x:D

new const g_COST[3] = {4000, 300, 1000} // цена пушки, первое - постройка, следующие апгрейд за уровень

Этот параметр очень интересен. У меня есть несколько вариантов/предложений по его изменению:

a) 5000, 300, 200;
b) 5000, 300, 900;
c) 4500, 500, 1500; (!)
d) 4000, 500, 1000;
e) 4000, 1000, 1500; (!)
f) 5000, 500, 1500; (!)

Вопрос: сколько противников должна убить пушка третьего уровня, чтобы окупиться?

Ответ: при цене пушки и цене апгрейда 4000$ + 300$ + 1000$ = 5300$; пушка третьего уровня за одно убийство пушка приносит 600$ команде; пушка должна убить 5300/600 = 8.833 игрока, т.е. 9 и более игроков и пушка окупается ;)

Вывод: если пушка убила меньше 9 игроков, то команда построившая ее понесла убытки $;

#define SPYCAMTIME 5.0 // время работы камеры слежения; это очень интересный параметр, я сам узнал о его работе только через 2.5 месяца после того как начал играть с пушками. Об этом параметре я расскажу позже, в др.статье ;)

Интересных параметров у пушек очень много. Но есть один важный  параметр о котором могут не знать даже опытные игроки

#define HEIGHTDIFFERENCEALLOWED 20.0 // максимальный угол поверхности на котором можно установить пушку

На этом параметре остановлюсь по подробней, т.к. он действительно важен

Установка пушки CSDM

Смотрите следующие два рисунка

Установка пушки CSDM Sentry

Установка пушки CSDM Sentry

Простое правило - если вы хотите быстро поставить пушку, ставьте ее на точку которая находится чуть ниже того места где вы стоите

Кнопки управления пушками - bind’ы

bind  "v" = "sentry_build" - построить пушку; помните что вам нужны деньги

bind "c" "sentry_menu" - вызвать меню управления пушками; о нем я расскажу позже, в другой статье

Это все о пушках что я хотел вам рассказать. Но это только базовые знания.

Как пушка реагирует на игрока? Как находится перед пушкой чтобы она не стреляла в вас? Как ставить пушки в воздухе? Как делать из них “лифт”? Как эффективно управлять пушками (при помощи меню)? Как следить за пушками которые находятся удаленно? Как понять что вашу пушку взорвали, если вы не можете видеть ее? Как рационально расставлять пушки? Как и где выбрать место для первой пушки? Как опускать пушки, и почему за это нужно банить на неделю? Читайте в следующих статьях ;)

Следующая же статья будет о лазерах (lazermines mod). Но прежде чем ее читать, сделайте перерыв и отправляйтесь на лучший в мире Sentry mod сервер - cs-party.ru. Попробуйте применить те знания которые получили gl hf

p.s. спасибо <flash> за предоставленные файлы модов

 

Статья написана 2013.01.04, для сайта cs-party.ru