native cod_get_user_perk2(id, wartosc=0, lp=0);
/*------------------------------
Zwraca drugi perk gracza,
oraz przypisuje zmiennej wartosc wartosc drugi perka
lp jeśli wpiszemy 0 to bedzie pierwszy perk, jeśli 1 to bedzie drugi perk
------------------------------*/
native cod_set_user_perk2(id, perk, wartosc=-1, pokaz_info=1, lp=0);
/*------------------------------
Ustawia drugi perk gracza.
Jezeli wartosc = -1,
wartosc perku bedzie losowa.
Jezeli perk = -1 perk
bedzie losowy
lp jeśli wpiszemy 0 to bedzie pierwszy perk, jeśli 1 to bedzie drugi perk
------------------------------*/
forward cod_perk_changed2(id, perk, wartosc, lp);
/*------------------------------
Forward wysylany do wszystkich pluginów w momencie zmiany drugiego perka
lp - jaki perk, jeśli 0 to bedzie pierwszy perk, jeśli 1 to bedzie drugi perk
------------------------------*/
W silniku jest w jednej funkcji okreslone ustawianie perków 
public UstawPerk(id, perk, wartosc, pokaz_info, lp)
{
	if(!ilosc_perkow)
		return PLUGIN_CONTINUE;
	
	static obroty[33];
	
	if(obroty[id]++ >= 5)
	{
		obroty[id] = 0;
		UstawPerk(id, 0, 0, 0, lp);
		return PLUGIN_CONTINUE;
	}
	
	perk = (perk == -1)? random_num(1, ilosc_perkow): perk;
	if(perk == perk_gracza[!lp][id] && perk)
	{
		UstawPerk(id, perk, wartosc, pokaz_info, lp);
		return PLUGIN_CONTINUE;
	}
	wartosc = (wartosc == -1 || min_wartosci_perkow[perk] > wartosc ||  wartosc > max_wartosci_perkow[perk])? random_num(min_wartosci_perkow[perk], max_wartosci_perkow[perk]): wartosc;
	
	new ret;
	
	new forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[lp][id]], "cod_perk_disabled", FP_CELL, FP_CELL);
	ExecuteForward(forward_handle, ret, id, perk);
	DestroyForward(forward_handle);
	
	perk_gracza[lp][id] = 0;
	
	forward_handle = CreateOneForward(pluginy_perkow[perk], "cod_perk_enabled", FP_CELL, FP_CELL, FP_CELL);
	ExecuteForward(forward_handle, ret, id, wartosc, perk);
	DestroyForward(forward_handle);
	
	if(ret == 4)
	{
		UstawPerk(id, -1, -1, 1, lp);
		return PLUGIN_CONTINUE;
	}
	
	ExecuteForward( perk_zmieniony, ret, id, perk, wartosc, lp);
	
	if(ret == 4)
	{
		UstawPerk(id, -1, -1, 1, lp);
		return PLUGIN_CONTINUE;
	}
	
	obroty[id] = 0;
	if(pokaz_info &&  perk)
		client_print(id, print_chat, "[COD:MW] Zdobyles %s.", nazwy_perkow[perk]);
	
	perk_gracza[lp][id] = perk;	
	wartosc_perku_gracza[lp][id] = wartosc;
	return PLUGIN_CONTINUE;
}
Dziwi mnie to że działa mi np kupowanie perków na 1 i 2 slot a zamiana nie działa .