Код:
#define WeaponRestrict(%0,%1,%2) \
GetPlayerWeapon(%0) == %1 && GetPlayerAmmo(%0) > %2 && GivePlayerWeapon(%0, %1, -GetPlayerAmmo(%0) + %2)
Код:
case 0://Desert Eagle
{
if(WeaponRestrict(playerid, 24, 21)) return SCM(playerid, COLOR_GREY, "Превышен предел боеприпасов [Desert Eagle]");
if(GunInfo[g][gSlot][0] < 1)
{
SCM(playerid, COLOR_GREY, "В сейфе нет Desert Eagle.");
SaveGun(playerid);
return 1;
}
GunInfo[g][gSlot][0] -= 1;
GivePlayerWeapon(playerid, 24, 7);
SCM(playerid, COLOR_GREEN, "Вы взяли из сейфа: 1 обойму Desert Eagle.");
}
Здравствуйте!
Выставлено ограничение патронов для Desert Eagle "21" патрон.
Нужно, чтобы возможно было брать до 21 патрона, в случае превышения - выставить игроку 21 патрон.
Проблема:
Возможно брать до "28" патронов.
Только после того, как игрок получает 28 патронов и берет ещё 1 обойму, производится нужная проверка и игроку выставляется 21 патрон.