Участник
Пользователь
- Сообщения
- 510
- Реакции
- 111
- Помог
- 16 раз(а)
Привет. Подскажите как отобрать гранату определенную например дым,при выдаче ему боевои гранаты.
Нигде немог наити кроме этого лохматых годов кода.
как пример,но не понял ниче)
Код:
public give_he(iPlayer)
{
if(!is_user_alive(iPlayer))
return PLUGIN_HANDLED;
if(user_has_weapon(iPlayer, CSW_SMOKEGRENADE))
{
}
Код:
#define ALL_WEAPONS (1<<CSW_HEGRENADE|1<<CSW_FLASHBANG|1<<CSW_SMOKEGRENADE|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)
#define PISTOLS_WEAPONS (1<<CSW_P228|1<<CSW_ELITE|1<<CSW_FIVESEVEN|1<<CSW_USP|1<<CSW_GLOCK18|1<<CSW_DEAGLE)
stock fnDropWeapons(const id, iNum)
{
new iWeapons[32], iWeaponsNum;
get_user_weapons(id, iWeapons, iWeaponsNum);
for(new i; i < iWeaponsNum; i++)
{
if((iNum == 1 ? ALL_WEAPONS : PISTOLS_WEAPONS) & (1<<iWeapons[i]))
{
new szWeaponName[24], iEnt;
get_weaponname(iWeapons[i], szWeaponName, charsmax(szWeaponName));
while((iEnt = engfunc(EngFunc_FindEntityByString, iEnt, "classname", szWeaponName)) && pev(iEnt, pev_owner) != id) {}
if(iEnt)
{
ExecuteHamB(Ham_Weapon_RetireWeapon, iEnt);
if(ExecuteHamB(Ham_RemovePlayerItem, id, iEnt))
{
ExecuteHamB(Ham_Item_Kill, iEnt);
set_pev(id, pev_weapons, pev(id, pev_weapons) & ~(1<<iWeapons[i]));
}
}
}
}
}