Перейти к содержимому

Настройка оружия

Основной конфиг, где определены большинство настроек обработки оружия. Имя файла — weapon.cfg, и он находится в директории addons/yapb/conf.

Оружие указывается по имени (Knife, USP, Glock18, Deagle, P228, Elite, FiveSeven, M3, XM1014, MP5, TMP, P90, MAC10, UMP45, AK47, SG552, M4A1, Galil, Famas, AUG, Scout, AWP, G3SG1, SG550, M249, Shield), поэтому вам никогда не нужно знать внутреннюю нумерацию оружия.

Блок Standard указывает, какой команде разрешено покупать оружие на обычной карте. Блок AS делает то же самое для карт as_ (сценарий с убийством VIP). Помните, что некоторое оружие привязано к команде и не может быть куплено другой командой.

Возможные значения:

  • banned — запретить покупку для любой команды
  • terrorist — только команда террористов (алиас: t)
  • ct — только команда контр-террористов
  • both — может быть куплено обеими командами

Переопределяется только перечисленное здесь оружие; остальное сохраняет значения по умолчанию из gamedef.cfg.

// Standard Weapon Tab for CS & DE Maps
Standard {
Knife = banned
USP = terrorist
Deagle = both
AK47 = terrorist
M4A1 = ct
AWP = both
}
// Weapon Tab for AS Maps
AS {
Knife = banned
Deagle = both
M3 = ct
AK47 = terrorist
M4A1 = ct
}

Процент покупки гранат по типам гранат.

Grenades {
HE = 98
Flash = 75
Smoke = 60
}

Пороги денег, которые определяют, что боты готовы покупать.

Economy {
primary = 1550 // боту нужно минимум столько, чтобы рассматривать покупку основного оружия
smgCT = 2100 // выше этой суммы КТ перестают покупать ПП (MP5, MAC10, TMP, P90, UMP45, Scout)
smgT = 2100 // выше этой суммы Т перестают покупать ПП
shotgun = 4000 // выше этой суммы становятся доступны дробовики (M3, XM1014)
shotgunMax = 6000 // выше этой суммы дробовики пропускаются в пользу лучшего оружия
heavy = 7000 // выше этой суммы становится доступно тяжёлое оружие (AWP, SG550, G3SG1, M249)
heavyMax = 16000 // выше этой суммы тяжёлое оружие всегда доступно
prostockNormal = 1200 // запас денег (prostock) для личности Normal
prostockRusher = 800 // запас денег (prostock) для личности Rusher
prostockCareful = 1100 // запас денег (prostock) для личности Careful
shield = 3000 // выше этой суммы становится доступен щит
}

Итоговая задержка между нажатиями на спуск: base + random (min[slot], max[slot]). Индекс слота — abs (skill / 20 - 5): 0 = эксперт … 5 = нуб. Пистолеты стреляют гораздо быстрее помповых дробовиков / болтовых снайперок, отсюда и раздельные таблицы. Сама игра ограничивает реальный темп стрельбы, так что более быстрые значения здесь никогда не разгонят дробовики/снайперки, они лишь снимают ограничение с пистолетов.

FireDelay {
pistolBase = 0.05 // базовая задержка, добавляемая к каждому выстрелу из пистолета
pistolMin = 0.02, 0.04, 0.06, 0.08, 0.12, 0.16
pistolMax = 0.08, 0.10, 0.13, 0.16, 0.20, 0.26
otherBase = 0.10 // базовая задержка для прочего полуавтоматического оружия (дробовики, снайперки)
otherMin = 0.0, 0.1, 0.2, 0.3, 0.4, 0.6
otherMax = 0.1, 0.2, 0.3, 0.4, 0.5, 0.7
deagleExtra = 0.08 // дополнительная задержка для более тяжёлого цикла Deagle
}

Эти таблицы хранят приоритеты оружия ботов в зависимости от личности (это влияет на покупку и подбор лучшего оружия с земли).

Оружие перечислено от наиболее предпочитаемого к наименее предпочитаемому. Каждое оружие должно быть перечислено ровно один раз, иначе в лог будет записана ошибка и будут использованы значения по умолчанию.

Preferences {
Normal {
M4A1, AK47, Famas, Galil, SG552, AUG,
MP5, AWP, Scout, SG550, G3SG1,
M3, XM1014, P90, UMP45,
Shield, M249, TMP, MAC10,
Deagle, FiveSeven, Elite, P228,
USP, Glock18, Knife
}
Rusher {
AK47, M4A1, Famas, Galil, AUG, SG552,
MP5, P90, AWP,
XM1014, M3,
UMP45, MAC10, TMP,
Scout, SG550, G3SG1, Shield, M249,
Deagle, FiveSeven, USP,
Elite, P228,
Glock18, Knife
}
Careful {
AWP, M249, SG550, Shield, G3SG1, Scout,
AK47, M4A1, AUG, SG552, Galil, Famas,
MP5, P90, UMP45, TMP, MAC10, XM1014, M3,
Deagle, FiveSeven, Elite, P228,
USP, Glock18, Knife
}
}

Отдельное оружие также можно запретить через квар yb_restricted_weapons (алиасы из buy-меню через точку с запятой, например awp;g3sg1).

Файл gamedef.cfg в той же директории содержит данные, общие для оружейной логики: шаблоны классификации звуков и встроенные определения оружия (класснеймы, цены, позиции в buy-меню, доступность для команд). Таблицы Standard/AS в weapon.cfg переопределяют отсюда доступность для команд.

Имя каждого блока — это префикс звукового сэмпла (относительно директории sound/); побеждает первое совпавшее совпадение, поэтому более специфические записи идут перед общими. Этот раздел при наличии полностью заменяет встроенные значения по умолчанию.

Значения:

  • flags — классификация шума (одно или несколько, через запятую): HitFall, Pickup, Zoom, Ammo, Hostage, Broke, Door, Defuse, SGDetonate, WeaponFire, Footstep, Explosion, Ricochet, Misc
  • radius — базовый радиус слышимости в юнитах (масштабируется громкостью/затуханием)
  • duration — как долго звук остаётся в памяти бота, в секундах
HearableSounds {
"weapons/c4_explode" {
flags = Defuse
radius = 4096.0
duration = 4.00
}
// weapon fire catch-all (после всех остальных weapons/-переопределений)
"weapons/" {
flags = WeaponFire
radius = 2048.0
duration = 2.00
}
}

Имя каждого блока — это id оружия (Knife, USP, Glock18, Deagle, P228, Elite, FiveSeven, M3, XM1014, MP5, TMP, P90, MAC10, UMP45, AK47, SG552, M4A1, Galil, Famas, AUG, Scout, AWP, G3SG1, SG550, M249, Shield); неизвестные id сообщаются и игнорируются. Отсутствующие значения наследуются из встроенных значений по умолчанию, поэтому допустимы частичные переопределения. Порядок оружия внутри раздела не важен, записи сопоставляются по id.

Значения:

  • name — класснейм, используемый для выбора оружия
  • model — имя p_-модели для разделения cs-оружия
  • alias — алиас buy-меню оружия, используется ограничениями оружия
  • fullName — полное имя оружия для отображения (например HK USP .45 Tactical)
  • price — цена при покупке
  • minPrimaryAmmo — минимум основных патронов для покупки
  • teamStandard — доступность для команд на стандартных картах: none, terrorist, ct, both
  • teamAS — доступность для команд на картах as_
  • buyGroup / buySelect — группа и пункт в buy-меню (стандартные карты)
  • buySelectT / buySelectCT — пункт для выбора в buy-меню v1.6 (террористы / КТ)
  • penetratePower — пробивная способность стен
  • maxClip — максимум патронов в магазине
  • type — класс оружия: melee, pistol, shotgun, zoomrifle, rifle, smg, sniper, heavy
  • primaryFireHold — удерживать кнопку основного огня для использования (yes/no)
Weapons {
Deagle {
name = weapon_deagle
alias = deagle
fullName = Desert Eagle .50AE
price = 650
teamStandard = ct
teamAS = ct
type = pistol
}
}

Фразы, произносимые ботами (через консольную команду speak), когда подключается игрок локального сервера. По одной фразе на строку; этот раздел при наличии полностью заменяет встроенные значения по умолчанию.

Sentences {
hello user,communication is acquired
your presence is acknowledged
}