Raised This Month: $51 Target: $400
 12% 

if CT win .....


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Delainer
Junior Member
Join Date: Apr 2015
Old 04-18-2015 , 15:48   if CT win .....
Reply With Quote #1

Hi i have COD and I want to make, when CT will win round, COD will reset player class and open class menu.


something like this:
Code:
public winct
....................... // code to win CT
UstawNowaKlase(id);
DajBronie(id);
ZastosujAtrybuty(id);
Here is the plugin please do it for me :-) thanks
I hope that you understand because my english is -----------------------------

Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <nvault>

#define PLUGIN "Furien XP"
#define VERSION "1.0"
#define AUTHOR "cs unity"

#define MAX_WIELKOSC_NAZWY 32
#define MAX_WIELKOSC_OPISU 256
//#define MAX_ILOSC_PERKOW 120
#define MAX_ILOSC_KLAS 100

#define STANDARDOWA_SZYBKOSC 250.0

#define ZADANIE_POKAZ_INFORMACJE 672
#define ZADANIE_POKAZ_REKLAME 768
#define ZADANIE_USTAW_SZYBKOSC 832

new const maxAmmo[31] = {0, 52, 0, 90, 1, 31, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 31, 90, 120,
 90, 2, 35, 90, 90,0, 100};

new MsgScreenfade;

new vault;

new SyncHudObj, SyncHudObj2;
 
new cvar_doswiadczenie_za_zabojstwo,
     cvar_doswiadczenie_za_obrazenia,
     cvar_doswiadczenie_za_wygrana,
     cvar_typ_zapisu,
     cvar_limit_poziomu,
     cvar_proporcja_poziomu,
     cvar_blokada_broni;

     
//perk_zmieniony,
new klasa_zmieniona;

     
//new nazwy_perkow[MAX_ILOSC_PERKOW+1][MAX_WIELKOSC_NAZWY+1],
//     opisy_perkow[MAX_ILOSC_PERKOW+1][MAX_WIELKOSC_OPISU+1],
//     max_wartosci_perkow[MAX_ILOSC_PERKOW+1],
//     min_wartosci_perkow[MAX_ILOSC_PERKOW+1],
//     pluginy_perkow[MAX_ILOSC_PERKOW+1],
//     ilosc_perkow;

     
new nazwa_gracza[33][64],
     klasa_gracza[33],
     nowa_klasa_gracza[33],
     poziom_gracza[33],
     doswiadczenie_gracza[33];
     //perk_gracza[33],
     //wartosc_perku_gracza[33];

new Float:maksymalne_zdrowie_gracza[33],
     Float:szybkosc_gracza[33],
     Float:redukcja_obrazen_gracza[33];
     
new punkty_gracza[33],
     zdrowie_gracza[33],
     inteligencja_gracza[33],
     wytrzymalosc_gracza[33],
     kondycja_gracza[33];

new bool:gracz_ma_tarcze[33],
     bool:gracz_ma_noktowizor[33];     

new bonusowe_bronie_gracza[33],
     bonusowe_zdrowie_gracza[33],
     bonusowa_inteligencja_gracza[33],
     bonusowa_wytrzymalosc_gracza[33],
     bonusowa_kondycja_gracza[33];

new bronie_klasy[MAX_ILOSC_KLAS+1], 
     zdrowie_klas[MAX_ILOSC_KLAS+1],
     kondycja_klas[MAX_ILOSC_KLAS+1], 
     inteligencja_klas[MAX_ILOSC_KLAS+1], 
     wytrzymalosc_klas[MAX_ILOSC_KLAS+1],
     nazwy_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_NAZWY+1],
     opisy_klas[MAX_ILOSC_KLAS+1][MAX_WIELKOSC_OPISU+1],
     pluginy_klas[MAX_ILOSC_KLAS+1],
     ilosc_klas;

new bronie_dozwolone = 1<<CSW_KNIFE | 1<<CSW_C4 | 1<<CSW_HEGRENADE | 1<<CSW_C4;

new bool:freezetime = true;

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	cvar_doswiadczenie_za_zabojstwo = register_cvar("cod_killxp", "15");
	cvar_doswiadczenie_za_obrazenia = register_cvar("cod_damagexp", "1"); // ilosc doswiadczenia za 20 obrazen 
	cvar_doswiadczenie_za_wygrana = register_cvar("cod_winxp", "30");
	cvar_typ_zapisu = register_cvar("cod_savetype", "2");  // 1-Nick; 2-SID dla Steam; 3-IP
	cvar_limit_poziomu = register_cvar("cod_maxlevel", "200"); 
	cvar_proporcja_poziomu = register_cvar("cod_levelratio", "35"); 
	cvar_blokada_broni = register_cvar("cod_weaponsblocking", "1"); 
	
	register_clcmd("say /postava", "WybierzKlase");
	register_clcmd("say /class", "WybierzKlase");
	register_clcmd("say /postavy", "OpisKlasy");
	register_clcmd("say /classinfo", "OpisKlasy");
	//register_clcmd("say /item", "KomendaOpisPerku");
	//register_clcmd("say /predmet", "KomendaOpisPerku");
	//register_clcmd("say /items", "OpisPerkow");
	//register_clcmd("say /predmety", "OpisPerkow");
	//register_clcmd("say /help", "Pomoc");
	//register_concmd("/help", "Pomoc");
	//register_clcmd("say /drop", "WyrzucPerk");
	//register_clcmd("say /vyhodit", "WyrzucPerk");
	register_clcmd("say /reset", "KomendaResetujPunkty");
	register_clcmd("say /statistiky", "PrzydzielPunkty");
	register_clcmd("say /stats", "PrzydzielPunkty");
	//register_clcmd("say /pomoc", "Pomoc");
	register_concmd("/postava", "WybierzKlase");
	register_concmd("/class", "WybierzKlase");
	register_concmd("/postavy", "OpisKlasy");
	register_concmd("/classinfo", "OpisKlasy");
	//register_concmd("/item", "KomendaOpisPerku");
	//register_concmd("/predmet", "KomendaOpisPerku");
	//register_concmd("/items", "OpisPerkow");
	//register_concmd("/predmety", "OpisPerkow");
	//register_concmd("/help", "Pomoc");
	//register_concmd("/drop", "WyrzucPerk");
	//register_concmd("/vyhodit", "WyrzucPerk");
	register_concmd("/reset", "KomendaResetujPunkty");
	register_concmd("/statistiky", "PrzydzielPunkty");
	register_concmd("/stats", "PrzydzielPunkty");
	register_concmd("/pomoc", "Pomoc");
	register_concmd("cod_setlvl", "cmd_setlvl", ADMIN_IMMUNITY, "<name> <level>")
	register_concmd("cod_addexp", "cmd_addexp", ADMIN_IMMUNITY, "<name> <exp to add>")
	register_concmd("cod_remexp", "cmd_remexp", ADMIN_IMMUNITY, "<name> <exp to remove>")
	//register_clcmd("useperk", "UzyjPerku");
	//register_clcmd("radio3", "UzyjPerku");
	register_clcmd("fullupdate", "BlokujKomende");

	
	register_menucmd(register_menuid("Klasa:"), 1023, "OpisKlasy");
	
	RegisterHam(Ham_TakeDamage, "player", "Obrazenia");
	RegisterHam(Ham_TakeDamage, "player", "ObrazeniaPost", 1);
	RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
	RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1);
	
	RegisterHam(Ham_Touch, "armoury_entity", "DotykBroni");
	RegisterHam(Ham_Touch, "weapon_shield", "DotykTarczy");
	RegisterHam(Ham_Touch, "weaponbox", "DotykBroni");
	
	register_forward(FM_CmdStart, "CmdStart");
	register_forward(FM_EmitSound, "EmitSound");
	
	register_message(get_user_msgid("Health"),"MessageHealth");
	
	register_logevent("PoczatekRundy", 2, "1=Round_Start"); 
	
	register_event("SendAudio", "WygranaCT", "a", "2&%!MRAD_ctwin");		
	register_event("SendAudio", "WygranaTerro" , "a", "2&%!MRAD_terwin");	
	
	register_event("CurWeapon","CurWeapon","be", "1=1");
	register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
	
	vault = nvault_open("CodMod");
	
	MsgScreenfade = get_user_msgid("ScreenFade");
	
	SyncHudObj = CreateHudSyncObj();
	SyncHudObj2 = CreateHudSyncObj();
	
	//perk_zmieniony = CreateMultiForward("cod_perk_changed", ET_CONTINUE, FP_CELL, FP_CELL, FP_CELL);
	klasa_zmieniona = CreateMultiForward("cod_class_changed", ET_CONTINUE, FP_CELL, FP_CELL);

	//copy(nazwy_perkow[0], MAX_WIELKOSC_NAZWY, "Ziadny");
	//copy(opisy_perkow[0], MAX_WIELKOSC_OPISU, "Zabi niekoho aby si ziskal predmet.");
	copy(nazwy_klas[0], MAX_WIELKOSC_NAZWY, "Ziadny");
	
	
	set_task(1.0, "plugin_cfg");
}		

public plugin_cfg()
{
	new lokalizacja_cfg[33];
	get_configsdir(lokalizacja_cfg, charsmax(lokalizacja_cfg));
	server_cmd("exec %s/codmod.cfg", lokalizacja_cfg);
	server_exec();
}
	

public plugin_precache()
{	
	precache_sound("QTM_CodMod/select.wav");
	precache_sound("QTM_CodMod/start.wav");
	precache_sound("QTM_CodMod/start2.wav");
	precache_sound("QTM_CodMod/levelup.wav");
}

public plugin_natives()
{
	register_native("cod_set_user_xp", "UstawDoswiadczenie", 1);
	register_native("cod_set_user_class", "UstawKlase", 1);
	//register_native("cod_set_user_perk", "UstawPerk", 1);
	register_native("cod_set_user_bonus_health", "UstawBonusoweZdrowie", 1);
	register_native("cod_set_user_bonus_intelligence", "UstawBonusowaInteligencje", 1);
	register_native("cod_set_user_bonus_trim", "UstawBonusowaKondycje", 1);
	register_native("cod_set_user_bonus_stamina", "UstawBonusowaWytrzymalosc", 1);
	
	register_native("cod_points_to_health", "PrzydzielZdrowie", 1);	
	register_native("cod_points_to_intelligence", "PrzydzielInteligencje", 1);	
	register_native("cod_points_to_trim", "PrzydzielKondycje", 1);	
	register_native("cod_points_to_stamina", "PrzydzielWytrzymalosc", 1);	
	
	register_native("cod_get_user_xp", "PobierzDoswiadczenie", 1);
	register_native("cod_get_user_level", "PobierzPoziom", 1);
	register_native("cod_get_user_points", "PobierzPunkty", 1);
	register_native("cod_get_user_class", "PobierzKlase", 1);
	//register_native("cod_get_user_perk", "PobierzPerk", 1);
	register_native("cod_get_user_health", "PobierzZdrowie", 1);
	register_native("cod_get_user_intelligence", "PobierzInteligencje", 1);
	register_native("cod_get_user_trim", "PobierzKondycje", 1);
	register_native("cod_get_user_stamina", "PobierzWytrzymalosc", 1);
	
	register_native("cod_get_level_xp", "PobierzDoswiadczeniePoziomu", 1);
	
	//register_native("cod_get_perkid", "PobierzPerkPrzezNazwe", 1);
	//register_native("cod_get_perks_num", "PobierzIloscPerkow", 1);
	//register_native("cod_get_perk_name", "PobierzNazwePerku", 1);
	//register_native("cod_get_perk_desc", "PobierzOpisPerku", 1);
	
	register_native("cod_get_classid", "PobierzKlasePrzezNazwe", 1);
	register_native("cod_get_classes_num", "PobierzIloscKlas", 1);
	register_native("cod_get_class_name", "PobierzNazweKlasy", 1);
	register_native("cod_get_class_desc", "PobierzOpisKlasy", 1);
	
	register_native("cod_get_class_health", "PobierzZdrowieKlasy", 1);
	register_native("cod_get_class_intelligence", "PobierzInteligencjeKlasy", 1);
	register_native("cod_get_class_trim", "PobierzKondycjeKlasy", 1);
	register_native("cod_get_class_stamina", "PobierzWytrzymaloscKlasy", 1);
	
	register_native("cod_give_weapon", "DajBron", 1);
	register_native("cod_take_weapon", "WezBron", 1);
	register_native("cod_set_user_shield", "UstawTarcze", 1);
	register_native("cod_set_user_nightvision", "UstawNoktowizor", 1);
	
	register_native("cod_inflict_damage", "ZadajObrazenia", 1);
	
	//register_native("cod_register_perk", "ZarejestrujPerk");
	register_native("cod_register_class", "ZarejestrujKlase");
}

public CmdStart(id, uc_handle)
{		
	if(!is_user_alive(id))
		return FMRES_IGNORED;

	new Float: velocity[3];
	pev(id, pev_velocity, velocity);
	new Float: speed = vector_length(velocity);
	if(szybkosc_gracza[id] > speed*1.8)
		set_pev(id, pev_flTimeStepSound, 300);
	
	return FMRES_IGNORED;
}

public Odrodzenie(id)
{	
	if(!task_exists(id+ZADANIE_POKAZ_INFORMACJE))
		set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE, _, _, "b");
	
	if(nowa_klasa_gracza[id])
		UstawNowaKlase(id);
	
	if(!klasa_gracza[id])
	{
		WybierzKlase(id);
		return PLUGIN_CONTINUE;
	}
	
	DajBronie(id);
	ZastosujAtrybuty(id);
	
	if(punkty_gracza[id] > 0)
		PrzydzielPunkty(id);

	return PLUGIN_CONTINUE;
}

public UstawNowaKlase(id)
{
	new ret;
		
	new forward_handle = CreateOneForward(pluginy_klas[klasa_gracza[id]], "cod_class_disabled", FP_CELL, FP_CELL);
	ExecuteForward(forward_handle, ret, id, klasa_gracza[id]);
	DestroyForward(forward_handle);
		
	forward_handle = CreateOneForward(pluginy_klas[nowa_klasa_gracza[id]], "cod_class_enabled", FP_CELL, FP_CELL);
	ExecuteForward(forward_handle, ret, id, nowa_klasa_gracza[id]);
	DestroyForward(forward_handle);
	
	
	if(ret == 4)	
	{
		klasa_gracza[id] = 0;
		return PLUGIN_CONTINUE;
	}

	ExecuteForward(klasa_zmieniona, ret, id, klasa_gracza[id]);
	
	if(ret == 4)	
	{
		klasa_gracza[id] = 0;
		return PLUGIN_CONTINUE;
	}
	
	klasa_gracza[id] = nowa_klasa_gracza[id];
	nowa_klasa_gracza[id] = 0;
	
	WczytajDane(id, klasa_gracza[id]);
	return PLUGIN_CONTINUE;
}

public DajBronie(id)
{
	for(new i=1; i < 32; i++)
	{
		if((1<<i) & (bronie_klasy[klasa_gracza[id]] | bonusowe_bronie_gracza[id]))
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			fm_give_item(id, weaponname);
		}
	}
	
	if(gracz_ma_tarcze[id])
		fm_give_item(id, "weapon_shield");
		
	if(gracz_ma_noktowizor[id])
		cs_set_user_nvg(id, 1);
	
	new weapons[32];
	new weaponsnum;
	get_user_weapons(id, weapons, weaponsnum);
	for(new i=0; i<weaponsnum; i++)
		if(is_user_alive(id))
			if(maxAmmo[weapons[i]] > 0)
				cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);
}

public ZastosujAtrybuty(id)
{
	redukcja_obrazen_gracza[id] = 0.7*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));
	
	maksymalne_zdrowie_gracza[id] = 100.0+PobierzZdrowie(id, 1, 1, 1);
	
	szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;
	
	set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]);
}

public PoczatekRundy(id)	
{	
	freezetime = false;
	for(new id=0;id<=32;id++)
	{	
		if(!is_user_alive(id))
			continue;

		Display_Fade(id, 1<<9, 1<<9, 1<<12, 0, 255, 70, 100);
		
		set_task(0.1, "UstawSzybkosc", id+ZADANIE_USTAW_SZYBKOSC);
		
		switch(get_user_team(id))
		{
			case 1: client_cmd(id, "spk QTM_CodMod/start2");
			case 2: client_cmd(id, "spk QTM_CodMod/start");
		}
	}
}

public NowaRunda()
	freezetime = true;

public Obrazenia(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(!is_user_alive(idattacker))
		return HAM_IGNORED;

	if(get_user_team(this) == get_user_team(idattacker))
		return HAM_IGNORED;
		
	if(get_user_health(this) <= 1)
		return HAM_IGNORED;
	
	SetHamParamFloat(4, damage*(1.0-redukcja_obrazen_gracza[this]));
		
	return HAM_IGNORED;
}

public ObrazeniaPost(id, idinflictor, attacker, Float:damage, damagebits)
{
	if(!is_user_connected(attacker) || !klasa_gracza[attacker])
		return HAM_IGNORED;
	
	if(get_user_team(id) != get_user_team(attacker))
	{
		new doswiadczenie_za_obrazenia = get_pcvar_num(cvar_doswiadczenie_za_obrazenia);
		while(damage>20)
		{
			damage -= 20;
			doswiadczenie_gracza[attacker] += doswiadczenie_za_obrazenia;
		}
	}
	SprawdzPoziom(attacker);
	return HAM_IGNORED;
}

public SmiercGraczaPost(id, attacker, shouldgib)
{	
	if(!is_user_connected(attacker))
		return HAM_IGNORED;
		
	if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
	{
		new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
		new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
		
		if(poziom_gracza[id] > poziom_gracza[attacker])
			nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);
			
		//if(!perk_gracza[attacker])
			//UstawPerk(attacker, -1, -1, 1);
		doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
	}
	
	SprawdzPoziom(attacker);
	
	return HAM_IGNORED;
}


public MessageHealth(msg_id, msg_dest, msg_entity)
{
	static health;
	health = get_msg_arg_int(1);
	
	if (health < 256) return;
	
	if (!(health % 256))
		set_pev(msg_entity, pev_health, pev(msg_entity, pev_health)-1);
	
	set_msg_arg_int(1, get_msg_argtype(1), 255);
}

public client_authorized(id)
{
	UsunUmiejetnosci(id);

	get_user_name(id, nazwa_gracza[id], 63);
	
	UsunZadania(id);
	
	set_task(10.0, "PokazReklame", id+ZADANIE_POKAZ_REKLAME);
}

public client_disconnect(id)
{
	ZapiszDane(id);
	UsunUmiejetnosci(id);
	UsunZadania(id);
}

public UsunUmiejetnosci(id)
{
	nowa_klasa_gracza[id] = 0;
	UstawNowaKlase(id);
	klasa_gracza[id] = 0;
	poziom_gracza[id] = 0;
	doswiadczenie_gracza[id] = 0;
	punkty_gracza[id] = 0;
	zdrowie_gracza[id] = 0;
	inteligencja_gracza[id] = 0;
	wytrzymalosc_gracza[id] = 0;
	kondycja_gracza[id] = 0;
	bonusowe_zdrowie_gracza[id] = 0;
	bonusowa_wytrzymalosc_gracza[id] = 0;
	bonusowa_inteligencja_gracza[id] = 0;
	bonusowa_kondycja_gracza[id] = 0;
	maksymalne_zdrowie_gracza[id] = 0.0;
	szybkosc_gracza[id] = 0.0;
	//UstawPerk(id, 0, 0, 0);
}

public UsunZadania(id)
{
	remove_task(id+ZADANIE_POKAZ_INFORMACJE);
	remove_task(id+ZADANIE_POKAZ_REKLAME);	
	remove_task(id+ZADANIE_USTAW_SZYBKOSC);
}

public WygranaCT()
	WygranaRunda("CT");
	
public WygranaTerro()
	WygranaRunda("TERRORIST");
		
public WygranaRunda(const Team[])
{
	new Players[32], playerCount, id;
	get_players(Players, playerCount, "eh", Team);
	new doswiadczenie_za_wygrana = get_pcvar_num(cvar_doswiadczenie_za_wygrana);
	
	if(get_playersnum() < 3)
		return;
		
	for (new i=0; i<playerCount; i++) 
	{
		id = Players[i];
		if(!klasa_gracza[id])
			continue;
		
		doswiadczenie_gracza[id] += doswiadczenie_za_wygrana;
		ChatColor(id, "!g[FURIEN] Dostal si !t%i XP !gza vyhrate kolo.", doswiadczenie_za_wygrana);
		SprawdzPoziom(id);
	}
}

public OpisKlasy(id)
{
	new menu = menu_create("Opis postavy \w( \r/classinfo \w)", "OpisKlasy_Handle");
	for(new i=1; i <= ilosc_klas; i++)
		menu_additem(menu, nazwy_klas[i]);
	menu_setprop(menu, MPROP_EXITNAME, "Zavriet");
	menu_setprop(menu, MPROP_BACKNAME, "ANTI-Furien postavy");
	menu_setprop(menu, MPROP_NEXTNAME, "Furien postavy");
	menu_display(id, menu);
	
	client_cmd(id, "spk QTM_CodMod/select");
}

public OpisKlasy_Handle(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(item++ == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	new bronie[320];
	for(new i=1, n=1; i <= 32; i++)
	{
		if((1<<i) & bronie_klasy[item])
		{
			new weaponname[22];
			get_weaponname(i, weaponname, 21);
			replace_all(weaponname, 21, "weapon_", " ");
			if(n > 1)	
				add(bronie, charsmax(bronie), ",");
			add(bronie, charsmax(bronie), weaponname);
			n++;
		}
	}
	
	new opis[416+MAX_WIELKOSC_OPISU];
	format(opis, charsmax(opis), "\yPostava: \w%s^n\yInteligencia: \w%i^n\yZivot: \w%i^n\ySila: \w%i^n\yKondicia: \w%i^n\yZbrane:\w%s^n\yPopis: \w%s^n%s", nazwy_klas[item], inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item], bronie, opisy_klas[item], opisy_klas[item][79]);
	show_menu(id, 1023, opis);
	
	return PLUGIN_CONTINUE;
}

public WybierzKlase(id)
{
	new menu = menu_create("Postavy \w( \r/class \w)", "WybierzKlase_Handle");
	new klasa[50];
	for(new i=1; i <= ilosc_klas; i++)
	{
		WczytajDane(id, i);
		format(klasa, charsmax(klasa), "%s \yUroven: %i", nazwy_klas[i], poziom_gracza[id]);
		menu_additem(menu, klasa);
	}
	
	WczytajDane(id, klasa_gracza[id]);
	
	menu_setprop(menu, MPROP_EXITNAME, "Zavriet");
	menu_setprop(menu, MPROP_BACKNAME, "ANTI-Furien postavy");
	menu_setprop(menu, MPROP_NEXTNAME, "Furien postavy");
	menu_display(id, menu);
		
	client_cmd(id, "spk QTM_CodMod/select");
}

public WybierzKlase_Handle(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(item++ == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}	
	
	if(item == klasa_gracza[id] && !nowa_klasa_gracza[id])
		return PLUGIN_CONTINUE;
	
	nowa_klasa_gracza[id] = item;
	
	if(klasa_gracza[id])
		ChatColor(id, "!g[FURIEN] !tPostava !gsa zmeni po tomto kole.");
	else
	{
		UstawNowaKlase(id);
		DajBronie(id);
		ZastosujAtrybuty(id);
	}
	
	return PLUGIN_CONTINUE;
}

public PrzydzielPunkty(id)
{
	new inteligencja[65];
	new zdrowie[60];
	new wytrzymalosc[60];
	new kondycja[60];
	new tytul[25];
	format(inteligencja, charsmax(inteligencja), "Inteligencia: \r%i \y(Zvysuje silu predmetu a zrucnosti postavy.)", PobierzInteligencje(id, 1, 1, 1));
	format(zdrowie, charsmax(zdrowie), "Zivot: \r%i \y(Zvysuje zdravie.)", PobierzZdrowie(id, 1, 1, 1));
	format(wytrzymalosc, charsmax(wytrzymalosc), "Sila: \r%i \y(Znizuje poskodenie.)", PobierzWytrzymalosc(id, 1, 1, 1));
	format(kondycja, charsmax(kondycja), "Kondicia: \r%i \y(Zvysuje rychlost pohybu.)", PobierzKondycje(id, 1, 1, 1));
	format(tytul, charsmax(tytul), "Body \r(%i)", punkty_gracza[id]);
	new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
	menu_additem(menu, inteligencja);
	menu_additem(menu, zdrowie);
	menu_additem(menu, wytrzymalosc);
	menu_additem(menu, kondycja);
	menu_setprop(menu, MPROP_EXIT, 0);
	menu_display(id, menu);
}

public PrzydzielPunkty_Handler(id, menu, item)
{
	client_cmd(id, "spk QTM_CodMod/select");
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	if(punkty_gracza[id] < 1)
		return PLUGIN_CONTINUE;
	
	new limit_poziomu = get_pcvar_num(cvar_limit_poziomu);
	
	switch(item) 
	{ 
		case 0: 
		{	
			if(inteligencja_gracza[id] < limit_poziomu/2)
			{
				inteligencja_gracza[id]++;
				punkty_gracza[id]--;
			}
			else 
				client_print(id, print_chat, "[FURIEN] Maximalny pocet bodov inteligencie.");

			
		}
		case 1: 
		{	
			if(zdrowie_gracza[id] < limit_poziomu/2)
			{
				zdrowie_gracza[id]++;
				punkty_gracza[id]--;
			}
			else 
				client_print(id, print_chat, "[FURIEN] Maximalny pocet bodov zivota.");
		}
		case 2: 
		{	
			if(wytrzymalosc_gracza[id] < limit_poziomu/2)
			{
				wytrzymalosc_gracza[id]++;
				punkty_gracza[id]--;
			}
			else 
				client_print(id, print_chat, "[FURIEN] Maximalny pocet bodov sily.");
			
		}
		case 3: 
		{	
			if(kondycja_gracza[id] < limit_poziomu/2)
			{
				kondycja_gracza[id]++;
				punkty_gracza[id]--;
			}
			else
				client_print(id, print_chat, "[FURIEN] Maximalny pocet bodov kondicie.");
		}
	}
	
	if(punkty_gracza[id] > 0)
		PrzydzielPunkty(id);
		
	return PLUGIN_CONTINUE;
}

public KomendaResetujPunkty(id)
{	
	ChatColor(id, "!g[FURIEN] !tZrucnosti !gsa resetuju po tomto kole.");
	client_cmd(id, "spk QTM_CodMod/select");
	
	ResetujPunkty(id);
}

public ResetujPunkty(id)
{
	punkty_gracza[id] = (poziom_gracza[id]-1)*2;
	inteligencja_gracza[id] = 0;
	zdrowie_gracza[id] = 0;
	kondycja_gracza[id] = 0;
	wytrzymalosc_gracza[id] = 0;
	
	if(punkty_gracza[id])
		PrzydzielPunkty(id);
}

public CurWeapon(id)
{
	if(!is_user_connected(id))
		return;
		
	new team = get_user_team(id);
	
	if(team > 2)
		return;
		
	new bron = read_data(2);
		
	new bronie = (bronie_klasy[klasa_gracza[id]] | bonusowe_bronie_gracza[id] | bronie_dozwolone);
	
	if(!(1<<bron & bronie))
	{
		new weaponname[22];
		
		get_weaponname(bron, weaponname, 21);
		ham_strip_weapon(id, weaponname);
	}
	
	if(cs_get_user_shield(id) && !gracz_ma_tarcze[id])
		engclient_cmd(id, "drop", "weapon_shield");	
		
	UstawSzybkosc(id);
}

public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch ) 
{
	if(!is_user_alive(id))
		return FMRES_IGNORED;
		
	if(equal(szSound, "common/wpn_denyselect.wav"))
	{
		new forward_handle = CreateOneForward(pluginy_klas[klasa_gracza[id]], "cod_class_skill_used", FP_CELL);
		ExecuteForward(forward_handle, id, id);
		DestroyForward(forward_handle);
		return FMRES_SUPERCEDE;
	}

	if(equal(szSound, "items/ammopickup2.wav"))
	{
		cs_set_user_armor(id, 0, CS_ARMOR_NONE);
		return FMRES_SUPERCEDE;
	}
	
	if(equal(szSound, "items/equip_nvg.wav") && !gracz_ma_noktowizor[id])
	{
		cs_set_user_nvg(id, 0);
		return FMRES_SUPERCEDE;
	}
	
	return FMRES_IGNORED;
}

public ZapiszDane(id)
{
	if(!klasa_gracza[id])
		return PLUGIN_CONTINUE;
		
	new vaultkey[128],vaultdata[256], identyfikator[64];
	format(vaultdata, charsmax(vaultdata),"#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);
	
	new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);
	
	switch(typ_zapisu)
	{
		case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
		case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
		case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
	}
		
	format(vaultkey, charsmax(vaultkey),"%s-%s-%i-cod", identyfikator, nazwy_klas[klasa_gracza[id]], typ_zapisu);
	nvault_set(vault,vaultkey,vaultdata);
	
	return PLUGIN_CONTINUE;
}

public WczytajDane(id, klasa)
{
	new vaultkey[128],vaultdata[256], identyfikator[64];
	
	new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);
	
	switch(typ_zapisu)
	{
		case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
		case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
		case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
	}
	
	format(vaultkey, charsmax(vaultkey),"%s-%s-%i-cod", identyfikator, nazwy_klas[klasa], typ_zapisu);
	

	if(!nvault_get(vault,vaultkey,vaultdata,255)) // Jezeli nie ma danych gracza sprawdza stary zapis. 
	{
		format(vaultkey, charsmax(vaultkey), "%s-%i-cod", nazwa_gracza[id], klasa);
		nvault_get(vault,vaultkey,vaultdata,255);
	}

	replace_all(vaultdata, 255, "#", " ");
	 
	new danegracza[6][32];
	
	parse(vaultdata, danegracza[0], 31, danegracza[1], 31, danegracza[2], 31, danegracza[3], 31, danegracza[4], 31, danegracza[5], 31);
	
	doswiadczenie_gracza[id] = str_to_num(danegracza[0]);
	poziom_gracza[id] = str_to_num(danegracza[1])>0?str_to_num(danegracza[1]):1;
	inteligencja_gracza[id] = str_to_num(danegracza[2]);
	zdrowie_gracza[id] = str_to_num(danegracza[3]);
	wytrzymalosc_gracza[id] = str_to_num(danegracza[4]);
	kondycja_gracza[id] = str_to_num(danegracza[5]);
	punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
	
	return PLUGIN_CONTINUE;
} 

public SprawdzPoziom(id)
{	
	if(!is_user_connected(id))
		return;
		
	new limit_poziomu = get_pcvar_num(cvar_limit_poziomu);
	
	new bool:zdobyl_poziom = false, bool:stracil_poziom = false;
	
	while(doswiadczenie_gracza[id] >= PobierzDoswiadczeniePoziomu(poziom_gracza[id]) && poziom_gracza[id] < limit_poziomu)
	{
		poziom_gracza[id]++;
		punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
		zdobyl_poziom = true;
	}
		
	while(doswiadczenie_gracza[id] < PobierzDoswiadczeniePoziomu(poziom_gracza[id]-1))
	{
		poziom_gracza[id]--;
		stracil_poziom = true;
	}
		
	if(poziom_gracza[id] > limit_poziomu)
	{
		poziom_gracza[id] = limit_poziomu;
		ResetujPunkty(id);
	}
	
	if(stracil_poziom)
	{
		ResetujPunkty(id);
		set_hudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0);
		ShowSyncHudMsg(id, SyncHudObj2,"[FURIEN] Dosiahol si %i uroven!", poziom_gracza[id]);
	}
	else if(zdobyl_poziom)
	{
		punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
		set_hudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0);
		ShowSyncHudMsg(id, SyncHudObj2,"Gratulujem, dosiahol si %i uroven!", poziom_gracza[id]);
		client_cmd(id, "spk QTM_CodMod/levelup");
	}
		
			
	ZapiszDane(id);
}

public PokazInformacje(id) 
{
	id -= ZADANIE_POKAZ_INFORMACJE;
		
	if(!is_user_connected(id))
	{
		remove_task(id+ZADANIE_POKAZ_INFORMACJE);
		return PLUGIN_CONTINUE;
	}
	
	if(!is_user_alive(id))
	{
		new target = pev(id, pev_iuser2);
	
		if(!target)
			return PLUGIN_CONTINUE;
			
		set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
		ShowSyncHudMsg(id, SyncHudObj, "Postava : %s^nXP : %i / %i^nUroven : %i", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], PobierzDoswiadczeniePoziomu(poziom_gracza[target]), poziom_gracza[target]);
		return PLUGIN_CONTINUE;
	}
	
	set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
	ShowSyncHudMsg(id, SyncHudObj, "[Postava : %s]^n[XP : %i / %i]^n[Uroven : %i]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id]);
	
	return PLUGIN_CONTINUE;
}  

public PokazReklame(id)
{
	id-=ZADANIE_POKAZ_REKLAME;
}

public Pomoc(id)
	show_menu(id, 1023, "\y/menu\w - otvori menu s dolezitymi informaciami^n\y/cod\w - otvori COD menu^n\y/reset\w - zresetuje zrucnosti^n\y/statistiky\w - zobrazi zrucnosti^n\y/class\w - zobrazi menu s vyberom postavy^n\y/drop\w - vyhodi predmet^n\y/item\w - opis predmetu ktory prave mas^n\y/classinfo\w - zobrazi menu s opisom postav^n\y/items\w - zobrazi menu s predmetmi^n\y[e]\w - pouzije schopnost postavy^n\y[c]\w - pouzije predmet", -1, "Pomoc");

public UstawSzybkosc(id)
{
	id -= id>32? ZADANIE_USTAW_SZYBKOSC: 0;
	
	if(klasa_gracza[id] && !freezetime)
		set_pev(id, pev_maxspeed, szybkosc_gracza[id]);
}

public DotykBroni(weapon, id)
{
	if(get_pcvar_num(cvar_blokada_broni) < 1)
		return HAM_IGNORED;
	
	if(!is_user_connected(id))
		return HAM_IGNORED;
		
	new model[23];
	pev(weapon, pev_model, model, 22);
	if (pev(weapon, pev_owner) == id || containi(model, "w_backpack") != -1)
		return HAM_IGNORED;
	return HAM_SUPERCEDE;
}

public DotykTarczy(weapon, id)
{
	if(get_pcvar_num(cvar_blokada_broni) < 1)
		return HAM_IGNORED;
	
	if(!is_user_connected(id))
		return HAM_IGNORED;
		
	if(gracz_ma_tarcze[id])
		return HAM_IGNORED;
		
	return HAM_SUPERCEDE;
}

public UstawDoswiadczenie(id, wartosc)
{
	doswiadczenie_gracza[id] = wartosc;
	SprawdzPoziom(id);
}

public UstawKlase(id, klasa, zmien)
{
	nowa_klasa_gracza[id] = klasa;
	if(zmien)
	{
		UstawNowaKlase(id);
		DajBronie(id);
		ZastosujAtrybuty(id);
	}
}

public UstawTarcze(id, wartosc)
{
	if((gracz_ma_tarcze[id] = (wartosc > 0)))
		fm_give_item(id, "weapon_shield");
}

public UstawNoktowizor(id, wartosc)
{
	if((gracz_ma_noktowizor[id] = (wartosc > 0)))
		cs_set_user_nvg(id, 1);
}

public DajBron(id, bron)
{
	bonusowe_bronie_gracza[id] |= (1<<bron);
	new weaponname[22];
	get_weaponname(bron, weaponname, 21);
	return fm_give_item(id, weaponname);
}

public WezBron(id, bron)
{
	bonusowe_bronie_gracza[id] &= ~(1<<bron);
	
	if((1<<bron) & (bronie_dozwolone | bronie_klasy[get_user_team(id)] | bronie_klasy[klasa_gracza[id]])) 
		return;
	
	new weaponname[22];
	get_weaponname(bron, weaponname, 21);
	if(!((1<<bron) & (1<<CSW_HEGRENADE | 1<<CSW_SMOKEGRENADE | 1<<CSW_FLASHBANG)))
		engclient_cmd(id, "drop", weaponname);
}

public UstawBonusoweZdrowie(id, wartosc)
	bonusowe_zdrowie_gracza[id] = wartosc;


public UstawBonusowaInteligencje(id, wartosc)
	bonusowa_inteligencja_gracza[id] = wartosc;

	
public UstawBonusowaKondycje(id, wartosc)
	bonusowa_kondycja_gracza[id] = wartosc;

	
public UstawBonusowaWytrzymalosc(id, wartosc)
	bonusowa_wytrzymalosc_gracza[id] = wartosc;

public PrzydzielZdrowie(id, wartosc)
{
	new max_statystyka = get_pcvar_num(cvar_limit_poziomu)/2;
	wartosc = min(min(punkty_gracza[id], wartosc), max_statystyka-zdrowie_gracza[id]);
	
	punkty_gracza[id] -= wartosc;
	zdrowie_gracza[id] += wartosc;
}

public PrzydzielInteligencje(id, wartosc)
{
	new max_statystyka = get_pcvar_num(cvar_limit_poziomu)/2;
	wartosc = min(min(punkty_gracza[id], wartosc), max_statystyka-inteligencja_gracza[id]);
	
	punkty_gracza[id] -= wartosc;
	inteligencja_gracza[id] += wartosc;
}

public PrzydzielKondycje(id, wartosc)
{
	new max_statystyka = get_pcvar_num(cvar_limit_poziomu)/2;
	wartosc = min(min(punkty_gracza[id], wartosc), max_statystyka-kondycja_gracza[id]);
	
	punkty_gracza[id] -= wartosc;
	kondycja_gracza[id] += wartosc;
}

public PrzydzielWytrzymalosc(id, wartosc)
{
	new max_statystyka = get_pcvar_num(cvar_limit_poziomu)/2;
	wartosc = min(min(punkty_gracza[id], wartosc), max_statystyka-wytrzymalosc_gracza[id]);
	
	punkty_gracza[id] -= wartosc;
	wytrzymalosc_gracza[id] += wartosc;
}

public PobierzDoswiadczeniePoziomu(poziom)
	return power(poziom, 2)*get_pcvar_num(cvar_proporcja_poziomu);

public PobierzDoswiadczenie(id)
	return doswiadczenie_gracza[id];
	
public PobierzPunkty(id)
	return punkty_gracza[id];
	
public PobierzPoziom(id)
	return poziom_gracza[id];

public PobierzZdrowie(id, zdrowie_zdobyte, zdrowie_klasy, zdrowie_bonusowe)
{
	new zdrowie;
	
	if(zdrowie_zdobyte)
		zdrowie += zdrowie_gracza[id];
	if(zdrowie_bonusowe)
		zdrowie += bonusowe_zdrowie_gracza[id];
	if(zdrowie_klasy)
		zdrowie += zdrowie_klas[klasa_gracza[id]];
	
	return zdrowie;
}

public PobierzInteligencje(id, inteligencja_zdobyta, inteligencja_klasy, inteligencja_bonusowa)
{
	new inteligencja;
	
	if(inteligencja_zdobyta)
		inteligencja += inteligencja_gracza[id];
	if(inteligencja_bonusowa)
		inteligencja += bonusowa_inteligencja_gracza[id];
	if(inteligencja_klasy)
		inteligencja += inteligencja_klas[klasa_gracza[id]];
	
	return inteligencja;
}

public PobierzKondycje(id, kondycja_zdobyta, kondycja_klasy, kondycja_bonusowa)
{
	new kondycja;
	
	if(kondycja_zdobyta)
		kondycja += kondycja_gracza[id];
	if(kondycja_bonusowa)
		kondycja += bonusowa_kondycja_gracza[id];
	if(kondycja_klasy)
		kondycja += kondycja_klas[klasa_gracza[id]];
	
	return kondycja;
}

public PobierzWytrzymalosc(id, wytrzymalosc_zdobyta, wytrzymalosc_klasy, wytrzymalosc_bonusowa)
{
	new wytrzymalosc;
	
	if(wytrzymalosc_zdobyta)
		wytrzymalosc += wytrzymalosc_gracza[id];
	if(wytrzymalosc_bonusowa)
		wytrzymalosc += bonusowa_wytrzymalosc_gracza[id];
	if(wytrzymalosc_klasy)
		wytrzymalosc += wytrzymalosc_klas[klasa_gracza[id]];
	
	return wytrzymalosc;
}

public PobierzKlase(id)
	return klasa_gracza[id];
	
public PobierzIloscKlas()
	return ilosc_klas;
	
public PobierzNazweKlasy(klasa, Return[], len)
{
	if(klasa <= ilosc_klas)
	{
		param_convert(2);
		copy(Return, len, nazwy_klas[klasa]);
	}
}

public PobierzOpisKlasy(klasa, Return[], len)
{
	if(klasa <= ilosc_klas)
	{
		param_convert(2);
		copy(Return, len, opisy_klas[klasa]);
	}
}

public PobierzKlasePrzezNazwe(const nazwa[])
{
	param_convert(1);
	for(new i=1; i <= ilosc_klas; i++)
		if(equal(nazwa, nazwy_klas[i]))
			return i;
	return 0;
}

public PobierzZdrowieKlasy(klasa)
{
	if(klasa <= ilosc_klas)
		return zdrowie_klas[klasa];
	return -1;
}

public PobierzInteligencjeKlasy(klasa)
{
	if(klasa <= ilosc_klas)
		return inteligencja_klas[klasa];
	return -1;
}

public PobierzKondycjeKlasy(klasa)
{
	if(klasa <= ilosc_klas)
		return kondycja_klas[klasa];
	return -1;
}

public PobierzWytrzymaloscKlasy(klasa)
{
	if(klasa <= ilosc_klas)
		return wytrzymalosc_klas[klasa];
	return -1;
}

public ZadajObrazenia(atakujacy, ofiara, Float:obrazenia, Float:czynnik_inteligencji, byt_uszkadzajacy, dodatkowe_flagi)
	ExecuteHam(Ham_TakeDamage, ofiara, byt_uszkadzajacy, atakujacy, obrazenia+PobierzInteligencje(atakujacy, 1, 1, 1)*czynnik_inteligencji, (1<<31) | dodatkowe_flagi);
	


public ZarejestrujKlase(plugin, params)
{
	if(params != 7)
		return PLUGIN_CONTINUE;
		
	if(++ilosc_klas > MAX_ILOSC_KLAS)
		return -1;

	pluginy_klas[ilosc_klas] = plugin;
	
	get_string(1, nazwy_klas[ilosc_klas], MAX_WIELKOSC_NAZWY);
	get_string(2, opisy_klas[ilosc_klas], MAX_WIELKOSC_OPISU);
	
	bronie_klasy[ilosc_klas] = get_param(3);
	zdrowie_klas[ilosc_klas] = get_param(4);
	kondycja_klas[ilosc_klas] = get_param(5);
	inteligencja_klas[ilosc_klas] = get_param(6);
	wytrzymalosc_klas[ilosc_klas] = get_param(7);
	
	return ilosc_klas;
}

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
}

stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)
{
	message_begin( MSG_ONE, MsgScreenfade,{0,0,0},id );
	write_short( duration );	// Duration of fadeout
	write_short( holdtime );	// Hold time of color
	write_short( fadetype );	// Fade type
	write_byte ( red );		// Red
	write_byte ( green );		// Green
	write_byte ( blue );		// Blue
	write_byte ( alpha );	// Alpha
	message_end();
}

stock fm_give_item(index, const item[]) {
	if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
		return 0;

	new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item));
	if (!pev_valid(ent))
		return 0;

	new Float:origin[3];
	pev(index, pev_origin, origin);
	set_pev(ent, pev_origin, origin);
	set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
	dllfunc(DLLFunc_Spawn, ent);

	new save = pev(ent, pev_solid);
	dllfunc(DLLFunc_Touch, ent, index);
	if (pev(ent, pev_solid) != save)
		return ent;

	engfunc(EngFunc_RemoveEntity, ent);

	return -1;
}

public BlokujKomende()
	return PLUGIN_HANDLED;

	
stock ChatColor(const id, const input[], any:...) 
{
new count = 1, players[ 32 ]
static msg[ 191 ]
vformat( msg, 190, input, 3 )

replace_all( msg, 190, "!g", "^4" )
replace_all( msg, 190, "!y", "^1" )
replace_all( msg, 190, "!t", "^3" )


if(id) players[ 0 ] = id; else get_players( players, count, "ch" )
{
for(new i = 0; i < count; i++)
{
if( is_user_connected( players[ i ] ) )
{
message_begin( MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[ i ] ) 
write_byte( players[ i ] )
write_string( msg )
message_end( )
}
}
}
}

public cmd_setlvl(id, level, cid)
{
    if(!cmd_access(id,level,cid,3))
        return PLUGIN_HANDLED;
    new arg1[33];
    new arg2[6];
    read_argv(1, arg1, 32);
    read_argv(2, arg2, 5);
    new player = cmd_target(id, arg1);
    new value = str_to_num(arg2)-1;
    
    doswiadczenie_gracza[player] += PobierzDoswiadczeniePoziomu(value);
    poziom_gracza[player] = 0;
    SprawdzPoziom(player);
    return PLUGIN_HANDLED;
}

public cmd_addexp(id, level, cid)
{
    if(!cmd_access(id, level, cid, 3))
        return PLUGIN_HANDLED;
    new arg1[33];
    new arg2[10];
    read_argv(1,arg1,32);
    read_argv(2,arg2,9);
    new player = cmd_target(id, arg1, 0);
    remove_quotes(arg2);
    new exp = str_to_num(arg2);
    if(doswiadczenie_gracza[player] + exp > 50000000) {
        client_print(id, print_console, "[FURIEN] Mas maximum EXP (Exp + Hodnota < %i)", 50000000)
    } else {
        doswiadczenie_gracza[player] += exp;
        SprawdzPoziom(player);
    }
    return PLUGIN_HANDLED;
}

public cmd_remexp(id, level, cid)
{
    if(!cmd_access(id, level, cid, 3))
        return PLUGIN_HANDLED;
    new arg1[33];
    new arg2[10];
    read_argv(1,arg1,32);
    read_argv(2,arg2,9);
    new player = cmd_target(id, arg1, 0);
    remove_quotes(arg2);
    new exp = str_to_num(arg2);
    if(doswiadczenie_gracza[player] - exp < 1) {
        client_print(id, print_console, "[FURIEN] Maximum EXP (Exp - Hodnota > 1)")
    } else {
        doswiadczenie_gracza[player] -= exp;
        SprawdzPoziom(player);
    }
    return PLUGIN_HANDLED;
}
Delainer is offline
OnePL
BANNED
Join Date: May 2012
Location: GB
Old 04-18-2015 , 16:12   Re: if CT win .....
Reply With Quote #2

replace public WygranaCT()

with:

PHP Code:
public WygranaCT() {
    
WygranaRunda("CT");

    for(new 
1<= MaxClientsi++) {
        if(!
is_user_connected(i)) continue;

        
nowa_klasa_gracza[i] = klasa_gracza[i] = 0;
        
UstawNowaKlase(i);
        
WybierzKlase(i);
    }

OnePL is offline
Send a message via ICQ to OnePL Send a message via AIM to OnePL Send a message via Yahoo to OnePL Send a message via Skype™ to OnePL
Delainer
Junior Member
Join Date: Apr 2015
Old 04-19-2015 , 05:42   Re: if CT win .....
Reply With Quote #3

compile error 017: undefined symbol "MaxClients"
Delainer is offline
OnePL
BANNED
Join Date: May 2012
Location: GB
Old 04-19-2015 , 10:33   Re: if CT win .....
Reply With Quote #4

PHP Code:
public WygranaCT() {
    
WygranaRunda("CT");

    static 
MaxClients;
    if(!
MaxClientsMaxClients get_maxplayers();

    for(new 
1<= MaxClientsi++) {
        if(!
is_user_connected(i)) continue;

        
nowa_klasa_gracza[i] = klasa_gracza[i] = 0;
        
UstawNowaKlase(i);
        
WybierzKlase(i);
    }

OnePL is offline
Send a message via ICQ to OnePL Send a message via AIM to OnePL Send a message via Yahoo to OnePL Send a message via Skype™ to OnePL
Delainer
Junior Member
Join Date: Apr 2015
Old 04-19-2015 , 11:25   Re: if CT win .....
Reply With Quote #5

Thank you :-) LOCK
Delainer is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 21:30.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode