W Nowym COD jest błąd ale nie wiem 
To nie błąd. To standardowa rzecz w
CS'ie. Zmień:
new bronie_druzyny[] = {0, 1<<CSW_GLOCK18, 1<<CSW_USP}
Na:
new bronie_druzyny[] = {0, 0, 0}
(Równie dobrze, możesz usunąć tą tablicę, ale wtedy będziesz musiał usunąć ich użycie z całego kodu). Następnie do funkcji Odrodzenie, przed wywołaniem funkcji DajBronie, dodaj:
ham_strip_weapon(id, ((get_user_team(id) == 1)? "weapon_glock18" : "weapon_usp"));
Jeżeli nie masz najnowszej wersji
CoD'a, dodaj jeszcze na koniec:
stock ham_strip_weapon(id, weapon[])
{
if(!equal(weapon, "weapon_", 7) ) return 0
new wId = get_weaponid(weapon)
if(!wId) return 0
new wEnt
while( (wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname", weapon) ) && pev(wEnt, pev_owner) != id) {}
if(!wEnt) return 0
if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon, wEnt)
if(!ExecuteHamB(Ham_RemovePlayerItem, id, wEnt)) return 0
ExecuteHamB(Ham_Item_Kill ,wEnt)
set_pev(id, pev_weapons, pev(id, pev_weapons) & ~(1<<wId) )
return 1
}