Hello,
Im facing one problem,i want to give a player a gun and strip it immediately i have tryed to use ham strip weapon
HTML Code:
stock ham_strip_user_weapon(id, iCswId, iSlot = 0, bool:bSwitchIfActive = true)
{
new iWeapon;
if( !iSlot )
{
static const iWeaponsSlots[] = {
-1,
2, //CSW_P228
-1,
1, //CSW_SCOUT
4, //CSW_HEGRENADE
1, //CSW_XM1014
5, //CSW_C4
1, //CSW_MAC10
1, //CSW_AUG
4, //CSW_SMOKEGRENADE
2, //CSW_ELITE
2, //CSW_FIVESEVEN
1, //CSW_UMP45
1, //CSW_SG550
1, //CSW_GALIL
1, //CSW_FAMAS
2, //CSW_USP
2, //CSW_GLOCK18
1, //CSW_AWP
1, //CSW_MP5NAVY
1, //CSW_M249
1, //CSW_M3
1, //CSW_M4A1
1, //CSW_TMP
1, //CSW_G3SG1
4, //CSW_FLASHBANG
2, //CSW_DEAGLE
1, //CSW_SG552
1, //CSW_AK47
3, //CSW_KNIFE
1 //CSW_P90
}
iSlot = iWeaponsSlots[iCswId];
//user_has_weapon(id, iCswId, 0);
}
iWeapon = get_pdata_cbase(id, m_rgpPlayerItems_CBasePlayer[iSlot]);
while( iWeapon > 0 )
{
if( get_pdata_int(iWeapon, m_iId, XO_CBASEPLAYERITEM) == iCswId )
{
break;
}
iWeapon = get_pdata_cbase(iWeapon, m_pNext, XO_CBASEPLAYERITEM);
user_has_weapon(id, iCswId, 0);
}
if( iWeapon > 0 )
{
if( bSwitchIfActive && get_pdata_cbase(id, m_pActiveItem) == iWeapon )
{
ExecuteHamB(Ham_Weapon_RetireWeapon, iWeapon);
}
if( ExecuteHamB(Ham_RemovePlayerItem, id, iWeapon) )
{
user_has_weapon(id, iCswId, 0);
ExecuteHamB(Ham_Item_Kill, iWeapon);
return 1;
}
}
}
But the problem if a player holds a gun and shooting or doing something and when it would use retireweapon then it would switch to a better gun for example im shooting with pistol and it switch to m4a1 if without retire then it's empty and i thought about something with invlast with engclient. But maybe there is some more efficient way? Thanks.