Подскажите функцию уменьшения патронов в оружии

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
1,576
Реакции
658
Помог
5 раз(а)
Подскажите как уменьшить количество патронов на 1 в кастомном оружии?


Код выдачи патронов вытащил из одного плагина.

C++:
giveAmmo(const id, const amount, const ammo, const maxammo) {
    if (!is_user_connected(id) || get_entvar(id, var_flags) & FL_SPECTATOR) {
        return;
    }

    new count = get_member(id, m_rgAmmo, ammo);
    new addammo = min(amount, maxammo - count);
    if (addammo < 1) {
        return;
    }

    set_member(id, m_rgAmmo, count + addammo, ammo);

    message_begin(MSG_ONE, MsgIdAmmoPickup, .player = id);
    write_byte(ammo);
    write_byte(addammo);
    message_end();
}
А вот как забирать по одному патрону (при выстреле) ?

rg_set_user_ammo(id, KNIFE_FAKE_WEAPONID, ammo - 1) ествественно не работает
20 Авг 2022
Все сделал с m_iClip просто ошибка в коде была, почему-то увеличивалось количество патронов вместо уменьшения))
 
Сообщения
91
Реакции
141
Помог
1 раз(а)
Забирать патроны с магазина или же с запаса?
С магазина
C-like:
new iClip = get_member(pItem, m_Weapon_iClip);
if (!iClip) return;

set_member(pItem, m_Weapon_iClip, --iClip);
С запаса
C-like:
new iAmmoType = get_member(pItem, m_Weapon_iPrimaryAmmoType);
new iAmmo = get_member(pPlayer, m_rgAmmo, iAmmoType);
if (!iAmmo) return;

set_member(pPlayer, m_rgAmmo, --iAmmo, iAmmoType);
20 Авг 2022
Пока писал ответ, ты уже все сделал :beee:
 
Статус
В этой теме нельзя размещать новые ответы.

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

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