Бесконечные патроны для некоторых оружий- как лучше сделать ?

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
264
Реакции
132
Помог
13 раз(а)
Собственно если сделать set_member(id, m_iWeaponInfiniteAmmo, true) то будут бесконечные патроны для всех оружий.
Но меня немного не устраивает такой варик, так как есть кастомные гранаты, которые завязаны тоже на оружия и их нужно исключить.

А любые мои манипуляции с m_iWeaponInfiniteIds вообще никакого результата не дают, как вообще этим мембером пользоваться ?
 
Сообщения
3,593
Реакции
1,576
Помог
141 раз(а)
А любые мои манипуляции с m_iWeaponInfiniteIds вообще никакого результата не дают, как вообще этим мембером пользоваться ?
m_iWeaponInfiniteIds используется в связке с m_iWeaponInfiniteAmmo == 2. В m_iWeaponInfiniteIds тебе надо добавить битсумму id оружий, для которых будет работать бесконечный боезапас.
 

ArKaNeMaN

Квалифицированный специалист по VipModular
Сообщения
434
Реакции
296
Помог
5 раз(а)
Сообщения
264
Реакции
132
Помог
13 раз(а)
Только не m_iWeaponInfiniteAmmo == 2 , а mp_infinite_ammo 2.
Спасибо, разобрался.
Мне при mp_infinite_ammo 1 нужно отслеживать что в руках, и для нужных оружий сетать m_iWeaponInfiniteAmmo , для исключений его же убирать.
 
Сообщения
264
Реакции
132
Помог
13 раз(а)
Nordic Warrior, значит не разобрался с m_iWeaponInfiniteAmmo == 2 и битсуммами :pardon:
 
Сообщения
91
Реакции
141
Помог
1 раз(а)
Мембер m_iWeaponInfiniteAmmo работает от мембера m_iWeaponInfiniteIds (Ну как и писали выше)
По дефолту в мембере m_iWeaponInfiniteIds стоит 0, а 0 это все оружия (странно, но ладно), но, если тебе нужно сделать определенные оружия могли бы иметь бесконечные патроны, то тебе нужно выставить в m_iWeaponInfiniteIds битсуммы всех оружий, которые должны иметь бесконечные патроны при изменении мембера m_iWeaponInfiniteAmmo.

Вот тебе битсумма всех оружий. Те оружия, что тебе не нужны, просто закоментируй или сотри
C++:
const WeaponInfiniteIds = ( (1<<_:WEAPON_SCOUT)|(1<<_:WEAPON_XM1014)|(1<<_:WEAPON_MAC10)|(1<<_:WEAPON_AUG)|(1<<_:WEAPON_UMP45)|(1<<_:WEAPON_SG550)|(1<<_:WEAPON_GALIL)|(1<<_:WEAPON_FAMAS)|(1<<_:WEAPON_AWP)|(1<<_:WEAPON_MP5N)|(1<<_:WEAPON_M249)|(1<<_:WEAPON_M3)|(1<<_:WEAPON_M4A1)|(1<<_:WEAPON_TMP)|(1<<_:WEAPON_G3SG1)|(1<<_:WEAPON_SG552)|(1<<_:WEAPON_AK47)|(1<<_:WEAPON_P90)|(1<<_:WEAPON_HEGRENADE)|(1<<_:WEAPON_SMOKEGRENADE)|(1<<_:WEAPON_FLASHBANG)|(1<<_:WEAPON_KNIFE)|(1<<_:WEAPON_C4)|(1<<_:WEAPON_P228)|(1<<_:WEAPON_ELITE)|(1<<_:WEAPON_FIVESEVEN)|(1<<_:WEAPON_USP)|(1<<_:WEAPON_GLOCK18)|(1<<_:WEAPON_DEAGLE) );

Затем достаточно игроку просто установить мембер m_iWeaponInfiniteIds с твоим WeaponInfiniteIds и также поставить мембер m_iWeaponInfiniteAmmo (ну или серверный квар mp_infinite_ammo) с нужным значением.

Достаточно в RG_CBasePlayer_OnSpawnEquip установить данные мемберы как тебе нужно. По идеи это вся магия.
6 Окт 2023
Также прошу заметить, что данные мемберы устанавливаются на игрока, а не на оружие, НУ ВДРУГ
 
Сообщения
264
Реакции
132
Помог
13 раз(а)
Спасибо, я понял что так должно работать.
Но у меня где-то проблемма , может чего на винде криво скомпилилось или еще что то не учтено , потому что при : set_member(id, m_iWeaponInfiniteAmmo, 2) даже если не указывать m_iWeaponInfiniteIds то все равно не включает на все пушки.
Ну тоесть если не изменять m_iWeaponInfiniteIds то поидее одинаково должно быть что с m_iWeaponInfiniteAmmo == 1 что m_iWeaponInfiniteAmmo == 2 , а у меня не так ...
Но я уже наколхозил с m_iWeaponInfiniteAmmo == 1 и оно работает, не хочу больше вам и себе голову морочить.
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу