Всем привет.
Гуру павна, подскажите, что можно изменить в функции, чтобы ее облегчить:
Код:
const PRIMARY_WEAPONS_BITSUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90);
const SECONDARY_WEAPONS_BITSUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE);
give_item_ex(id,currWeaponName[],ammoAmount,dropFlag = 0)
{
static weaponsList[32],weaponName[32],weaponsNum,currWeaponID;
currWeaponID = get_weaponid(currWeaponName);
if(dropFlag)
{
weaponsNum = 0;
get_user_weapons(id,weaponsList,weaponsNum);
for(new i; i < weaponsNum; i++)
{
if(((1<<currWeaponID) & PRIMARY_WEAPONS_BITSUM && (1<<weaponsList[i]) & PRIMARY_WEAPONS_BITSUM)|((1 << currWeaponID) & SECONDARY_WEAPONS_BITSUM && (1<<weaponsList[i]) & SECONDARY_WEAPONS_BITSUM))
{
get_weaponname(weaponsList[i],weaponName,31);
engclient_cmd(id,"drop",weaponName);
}
}
}
fm_give_item(id,currWeaponName);
cs_set_user_bpammo(id,currWeaponID,ammoAmount);
return 1;
}
Функционал:
- Забрать оружие
- Выдать оружие
- Выдать патроны

Все работает, только парят эти биты:(
Отредактировал: trollface, - 20.6.2014, 20:15