Константы оружия в Counter-Strike:Source

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Все здравствуйте.
Где можно найти константы оружия и есть ли они вообще в Source?
Это что бы не заниматься такой строковой проверкой (StrEqual(weapon, "awp", true)), а просто проверить на соответствие константе как, для примера, это в 1,6 CSW_AWP.
Хотя я уже не уверен насчет 1,6, это константы Баллопановского DM мода, у него свое расширение было.
 

Rabb1t

Амбассадор
Сообщения
2,968
Реакции
1,429
  • Команда форума
  • #2
Не помню где, но откуда-то я доставал себе вот эту библиотеку, тут для удобства можно таким образом проверять оружие.

Да, она для CS:GO, но поправить под CS:S не думаю, что будет проблемой.
 

Вложения

  • cstrike_weapons.inc
    8.7 КБ · Просмотры: 14

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
@Rabb1t,
Ок! Спасибо, сейчас попробую разобраться.

Во я слепошарый! Есть же такая библиотека в инклюдах, куда смотрел, непонятно.
Но всё-равно спасибо!
 

Rabb1t

Амбассадор
Сообщения
2,968
Реакции
1,429
  • Команда форума
  • #4
@tonline_kms65_1, на гите есть примеры использования, типа такого (не ручаюсь за работоспособность, первое попавшееся взял).
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Тогда уточняющий вопрос:
enum:
enum WeaponID
{
    WEAPON_NONE = 0,
    WEAPON_P228,
    WEAPON_GLOCK,
    WEAPON_SCOUT,
    WEAPON_HEGRENADE,
    WEAPON_XM1014,
    WEAPON_C4,
    WEAPON_MAC10,
    WEAPON_AUG,
    WEAPON_SMOKEGRENADE,
    WEAPON_ELITE,
    WEAPON_FIVESEVEN,
    WEAPON_UMP45,
    WEAPON_SG550,
    WEAPON_GALIL,
    WEAPON_FAMAS,
    WEAPON_USP,
    WEAPON_AWP,
    WEAPON_MP5NAVY,
    WEAPON_M249,
    WEAPON_M3,
    WEAPON_M4A1,
    WEAPON_TMP,
    WEAPON_G3SG1,
    WEAPON_FLASHBANG,
    WEAPON_DEAGLE,
    WEAPON_SG552,
    WEAPON_AK47,
    WEAPON_KNIFE,
    WEAPON_P90,
    WEAPON_SHIELD,
    WEAPON_KEVLAR,
    WEAPON_ASSAULTSUIT,
    WEAPON_NIGHTVISION,
    WEAPON_GALILAR,
    WEAPON_BIZON,
    WEAPON_MAG7,
    WEAPON_NEGEV,
    WEAPON_SAWEDOFF,
    WEAPON_TEC9,
    WEAPON_TASER,
    WEAPON_HKP2000,
    WEAPON_MP7,
    WEAPON_MP9,
    WEAPON_NOVA,
    WEAPON_P250,
    WEAPON_SCAR17,
    WEAPON_SCAR20,
    WEAPON_SG556,
    WEAPON_SSG08,
    WEAPON_KNIFE_GG,
    WEAPON_MOLOTOV,
    WEAPON_DECOY,
    WEAPON_INCGRENADE,
    WEAPON_DEFUSER
};

Структура enum'а такова, что первому значению присваивается 0, и далее по порядку.
Всего констант в списке 55(это с нулём), т.е. получается что первая константа получает ноль, последняя константа в этом списке получает значение 55.
Если я правильно понял конечно.
Это будет верно?
 

Rabb1t

Амбассадор
Сообщения
2,968
Реакции
1,429
  • Команда форума
  • #6
Тогда уточняющий вопрос:
enum:
enum WeaponID
{
    WEAPON_NONE = 0,
    WEAPON_P228,
    WEAPON_GLOCK,
    WEAPON_SCOUT,
    WEAPON_HEGRENADE,
    WEAPON_XM1014,
    WEAPON_C4,
    WEAPON_MAC10,
    WEAPON_AUG,
    WEAPON_SMOKEGRENADE,
    WEAPON_ELITE,
    WEAPON_FIVESEVEN,
    WEAPON_UMP45,
    WEAPON_SG550,
    WEAPON_GALIL,
    WEAPON_FAMAS,
    WEAPON_USP,
    WEAPON_AWP,
    WEAPON_MP5NAVY,
    WEAPON_M249,
    WEAPON_M3,
    WEAPON_M4A1,
    WEAPON_TMP,
    WEAPON_G3SG1,
    WEAPON_FLASHBANG,
    WEAPON_DEAGLE,
    WEAPON_SG552,
    WEAPON_AK47,
    WEAPON_KNIFE,
    WEAPON_P90,
    WEAPON_SHIELD,
    WEAPON_KEVLAR,
    WEAPON_ASSAULTSUIT,
    WEAPON_NIGHTVISION,
    WEAPON_GALILAR,
    WEAPON_BIZON,
    WEAPON_MAG7,
    WEAPON_NEGEV,
    WEAPON_SAWEDOFF,
    WEAPON_TEC9,
    WEAPON_TASER,
    WEAPON_HKP2000,
    WEAPON_MP7,
    WEAPON_MP9,
    WEAPON_NOVA,
    WEAPON_P250,
    WEAPON_SCAR17,
    WEAPON_SCAR20,
    WEAPON_SG556,
    WEAPON_SSG08,
    WEAPON_KNIFE_GG,
    WEAPON_MOLOTOV,
    WEAPON_DECOY,
    WEAPON_INCGRENADE,
    WEAPON_DEFUSER
};

Структура enum'а такова, что первому значению присваивается 0, и далее по порядку.
Всего констант в списке 55(это с нулём), т.е. получается что первая константа получает ноль, последняя константа в этом списке получает значение 55.
Если я правильно понял конечно.
Это будет верно?
Да..но не пойму зачем тебе это, ведь ты можешь просто в проверке подставлять оружие из enum'а.
 

Rabb1t

Амбассадор
Сообщения
2,968
Реакции
1,429
  • Команда форума
  • #8
@tonline_kms65_1, я тут видимо сплю еще. Ошиб0чка вышла, последний элемент будет не 55 иметь, а 54 значение. Стартует же с 0, всего элементов 55, значит последний будет иметь значение 55-1.
Ещё раз приношу извинения за ввод в заблуждение.
 

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
@tonline_kms65_1, я тут видимо сплю еще. Ошиб0чка вышла, последний элемент будет не 55 иметь, а 54 значение. Стартует же с 0, всего элементов 55, значит последний будет иметь значение 55-1.
Ещё раз приношу извинения за ввод в заблуждение.
Да это понятно, это я уже наскоряка посчитал, мне сам смысл нужен был.
 
Сверху Снизу