Cod Mod Edited BY NIKICZ

Created Diff never expires
#include <amxmodx>
#include <amxmodx>
#include <amxmisc>
#include <amxmisc>
#include <cstrike>
#include <cstrike>
#include <fakemeta>
#include <fakemeta>
#include <hamsandwich>
#include <hamsandwich>
#include <nvault>
#include <nvault>


#define PLUGIN "Call of Duty: MW Mod"
#define PLUGIN "Paintball Mod"
#define VERSION "1.0-3"
#define VERSION "1.1"
#define AUTHOR "QTM_Peyote"
#define AUTHOR "QTM_Peyote edit: N1K1Cz"


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


#define STANDARDOWA_SZYBKOSC 250.0
#define STANDARDOWA_SZYBKOSC 250.0


#define ZADANIE_POKAZ_INFORMACJE 672
#define ZADANIE_POKAZ_INFORMACJE 672
#define ZADANIE_POKAZ_REKLAME 768
#define ZADANIE_POKAZ_REKLAME 768
#define ZADANIE_USTAW_SZYBKOSC 832
#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,
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};
90, 2, 35, 90, 90,0, 100};


new const co_ile[] = { 1, 5, 10, 50, 100 } // Wlasnie tutaj zmieniamy co ile maja rosnac punkty.
new szybkosc_rozdania[33];
new MsgScreenfade;
new MsgScreenfade;


new vault;
new vault;


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


new perk_zmieniony,
new perk_zmieniony,
klasa_zmieniona;
klasa_zmieniona;


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


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


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


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


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


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


new bronie_druzyny[] = {0, 1<<CSW_GLOCK18, 1<<CSW_USP},
new bronie_druzyny[] = {0, 1<<CSW_GLOCK18, 1<<CSW_USP},
bronie_dozwolone = 1<<CSW_KNIFE | 1<<CSW_C4;
bronie_dozwolone = 1<<CSW_KNIFE | 1<<CSW_C4;


new bool:freezetime = true;
new bool:freezetime = true;
new const separator_1[] = "//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=//"
#define TAG "*SILNIK PB*"


public plugin_init()
public plugin_init() {
{
register_plugin(PLUGIN, VERSION, AUTHOR);
new licencja_ip[] = "IP SERWERA"; //tutaj zmien na IP swojego serwera by plugin dzialal

new ip_serwera[33]; //zakaz edycji reszty!
get_user_ip(0, ip_serwera, 32);
if(!equal(ip_serwera, licencja_ip))
{
register_plugin("Silnik PB Mod: Blad Licencji", "1.1", "edit: N1K1Cz");
server_print(" ")
server_print(separator_1)
set_fail_state("[SILNIK] Plugin nie dziala na tym serwerze! Plugin by N1K1Cz <3 Nie ladnie tak krasc :)");
server_print("[%s] Nazwa : Silnik: Blad Licencji", TAG)
server_print("[%s] Wersja : %s", TAG, VERSION)
server_print("[%s] Autor : edit: N1K1Cz", TAG)
server_print(separator_1)
server_print(" ")
}
register_plugin(PLUGIN, VERSION, AUTHOR);
server_print(" ")
server_print(separator_1)
server_print("[%s] Nazwa : %s", TAG, PLUGIN)
server_print("[%s] Wersja : %s", TAG, VERSION)
server_print("[%s] Autor : edit: N1K1Cz", TAG)
server_print(separator_1)
server_print(" ")
cvar_doswiadczenie_za_zabojstwo = register_cvar("cod_killxp", "10");
cvar_doswiadczenie_za_zabojstwo = register_cvar("cod_killxp", "10");
cvar_doswiadczenie_za_obrazenia = register_cvar("cod_damagexp", "1"); // ilosc doswiadczenia za 20 obrazen
cvar_doswiadczenie_za_obrazenia = register_cvar("cod_damagexp", "1"); // ilosc doswiadczenia za 20 obrazen
cvar_doswiadczenie_za_wygrana = register_cvar("cod_winxp", "50");
cvar_doswiadczenie_za_wygrana = register_cvar("cod_winxp", "50");
cvar_typ_zapisu = register_cvar("cod_savetype", "2"); // 1-Nick; 2-SID dla Steam; 3-IP
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_limit_poziomu = register_cvar("cod_maxlevel", "200");
cvar_proporcja_poziomu = register_cvar("cod_levelratio", "35");
cvar_proporcja_poziomu = register_cvar("cod_levelratio", "35");
cvar_blokada_broni = register_cvar("cod_weaponsblocking", "1");
cvar_blokada_broni = register_cvar("cod_weaponsblocking", "1");
register_clcmd("say /klasa", "WybierzKlase");
register_clcmd("say /klasa", "WybierzKlase");
register_clcmd("say /class", "WybierzKlase");
register_clcmd("say /class", "WybierzKlase");
register_clcmd("say /klasy", "OpisKlasy");
register_clcmd("say /klasy", "OpisKlasy");
register_clcmd("say /classinfo", "OpisKlasy");
register_clcmd("say /classinfo", "OpisKlasy");
register_clcmd("say /perk", "KomendaOpisPerku");
register_clcmd("say /perk", "KomendaOpisPerku");
register_clcmd("say /perki", "OpisPerkow");
register_clcmd("say /perki", "OpisPerkow");
register_clcmd("say /perks", "OpisPerkow");
register_clcmd("say /perks", "OpisPerkow");
register_clcmd("say /item", "Pomoc");
register_clcmd("say /item", "Pomoc");
register_clcmd("say /przedmiot", "OpisPerku");
register_clcmd("say /przedmiot", "OpisPerku");
register_clcmd("say /drop", "WyrzucPerk");
register_clcmd("say /drop", "WyrzucPerk");
register_clcmd("say /wyrzuc", "WyrzucPerk");
register_clcmd("say /wyrzuc", "WyrzucPerk");
register_clcmd("say /reset", "KomendaResetujPunkty");
register_clcmd("say /reset", "KomendaResetujPunkty");
register_clcmd("say /statystyki", "PrzydzielPunkty");
register_clcmd("say /statystyki", "PrzydzielPunkty");
register_clcmd("say /staty", "PrzydzielPunkty");
register_clcmd("say /staty", "PrzydzielPunkty");
register_clcmd("say /pomoc", "Pomoc");
register_clcmd("say /pomoc", "Pomoc");
register_clcmd("useperk", "UzyjPerku");
register_clcmd("useperk", "UzyjPerku");
register_clcmd("radio3", "UzyjPerku");
register_clcmd("radio3", "UzyjPerku");
register_clcmd("fullupdate", "BlokujKomende");
register_clcmd("fullupdate", "BlokujKomende");
register_menucmd(register_menuid("Klasa:"), 1023, "OpisKlasy");
register_menucmd(register_menuid("Klasa:"), 1023, "OpisKlasy");
RegisterHam(Ham_TakeDamage, "player", "Obrazenia");
RegisterHam(Ham_TakeDamage, "player", "Obrazenia");
RegisterHam(Ham_TakeDamage, "player", "ObrazeniaPost", 1);
RegisterHam(Ham_TakeDamage, "player", "ObrazeniaPost", 1);
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1);
RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1);
RegisterHam(Ham_Touch, "armoury_entity", "DotykBroni");
RegisterHam(Ham_Touch, "armoury_entity", "DotykBroni");
RegisterHam(Ham_Touch, "weapon_shield", "DotykTarczy");
RegisterHam(Ham_Touch, "weapon_shield", "DotykTarczy");
RegisterHam(Ham_Touch, "weaponbox", "DotykBroni");
RegisterHam(Ham_Touch, "weaponbox", "DotykBroni");
register_forward(FM_CmdStart, "CmdStart");
register_forward(FM_CmdStart, "CmdStart");
register_forward(FM_EmitSound, "EmitSound");
register_forward(FM_EmitSound, "EmitSound");
register_message(get_user_msgid("Health"),"MessageHealth");
register_message(get_user_msgid("Health"),"MessageHealth");
register_logevent("PoczatekRundy", 2, "1=Round_Start");
register_logevent("PoczatekRundy", 2, "1=Round_Start");
register_event("SendAudio", "WygranaTerro" , "a", "2&%!MRAD_terwin");
register_event("SendAudio", "WygranaTerro" , "a", "2&%!MRAD_terwin");
register_event("SendAudio", "WygranaCT", "a", "2&%!MRAD_ctwin");
register_event("SendAudio", "WygranaCT", "a", "2&%!MRAD_ctwin");
register_event("CurWeapon","CurWeapon","be", "1=1");
register_event("CurWeapon","CurWeapon","be", "1=1");
register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
vault = nvault_open("CodMod");
vault = nvault_open("PBMod");
MsgScreenfade = get_user_msgid("ScreenFade");
MsgScreenfade = get_user_msgid("ScreenFade");
SyncHudObj = CreateHudSyncObj();
SyncHudObj = CreateHudSyncObj();
SyncHudObj2 = CreateHudSyncObj();
SyncHudObj2 = CreateHudSyncObj();
perk_zmieniony = CreateMultiForward("cod_perk_changed", ET_CONTINUE, FP_CELL, FP_CELL, FP_CELL);
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);
klasa_zmieniona = CreateMultiForward("cod_class_changed", ET_CONTINUE, FP_CELL, FP_CELL);


copy(nazwy_perkow[0], MAX_WIELKOSC_NAZWY, "Brak");
copy(nazwy_perkow[0], MAX_WIELKOSC_NAZWY, "Brak");
copy(opisy_perkow[0], MAX_WIELKOSC_OPISU, "Zabij kogos, aby otrzymac przedmiot");
copy(opisy_perkow[0], MAX_WIELKOSC_OPISU, "Zabij kogos, aby otrzymac przedmiot");
copy(nazwy_klas[0], MAX_WIELKOSC_NAZWY, "Brak");
copy(nazwy_klas[0], MAX_WIELKOSC_NAZWY, "Brak");
set_task(1.0, "plugin_cfg");
set_task(1.0, "plugin_cfg");
}
}


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


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


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


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


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


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


return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
}
}


public UstawNowaKlase(id)
public UstawNowaKlase(id)
{
{
new ret;
new ret;
new forward_handle = CreateOneForward(pluginy_klas[klasa_gracza[id]], "cod_class_disabled", FP_CELL, FP_CELL);
new forward_handle = CreateOneForward(pluginy_klas[klasa_gracza[id]], "cod_class_disabled", FP_CELL, FP_CELL);
ExecuteForward(forward_handle, ret, id, klasa_gracza[id]);
ExecuteForward(forward_handle, ret, id, klasa_gracza[id]);
DestroyForward(forward_handle);
DestroyForward(forward_handle);
forward_handle = CreateOneForward(pluginy_klas[nowa_klasa_gracza[id]], "cod_class_enabled", FP_CELL, FP_CELL);
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]);
ExecuteForward(forward_handle, ret, id, nowa_klasa_gracza[id]);
DestroyForward(forward_handle);
DestroyForward(forward_handle);
if(ret == 4)
if(ret == 4)
{
{
klasa_gracza[id] = 0;
klasa_gracza[id] = 0;
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
}
}


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


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


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


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


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


public NowaRunda()
public NowaRunda()
freezetime = true;
freezetime = true;


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


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


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


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




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


public client_authorized(id)
public client_authorized(id)
{
{
UsunUmiejetnosci(id);
UsunUmiejetnosci(id);


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


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


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


public UsunZadania(id)
public UsunZadania(id)
{
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
remove_task(id+ZADANIE_POKAZ_REKLAME);
remove_task(id+ZADANIE_POKAZ_REKLAME);
remove_task(id+ZADANIE_USTAW_SZYBKOSC);
remove_task(id+ZADANIE_USTAW_SZYBKOSC);
}
}
public WygranaTerro()
public WygranaTerro()
WygranaRunda("TERRORIST");
WygranaRunda("TERRORIST");
public WygranaCT()
public WygranaCT()
WygranaRunda("CT");
WygranaRunda("CT");


public WygranaRunda(const Team[])
public WygranaRunda(const Team[])
{
{
new Players[32], playerCount, id;
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", Team);
get_players(Players, playerCount, "aeh", Team);
new doswiadczenie_za_wygrana = get_pcvar_num(cvar_doswiadczenie_za_wygrana);
new doswiadczenie_za_wygrana = get_pcvar_num(cvar_doswiadczenie_za_wygrana);
if(get_playersnum() < 3)
if(get_playersnum() < 3)
return;
return;
for (new i=0; i<playerCount; i++)
for (new i=0; i<playerCount; i++)
{
{
id = Players[i];
id = Players[i];
if(!klasa_gracza[id])
if(!klasa_gracza[id])
continue;
continue;
doswiadczenie_gracza[id] += doswiadczenie_za_wygrana;
doswiadczenie_gracza[id] += doswiadczenie_za_wygrana;
client_print(id, print_chat, "[COD:MW] Dostales %i doswiadczenia za wygrana runde.", doswiadczenie_za_wygrana);
client_print(id, print_chat, "[PB] Dostales %i doswiadczenia za wygrana runde.", doswiadczenie_za_wygrana);
SprawdzPoziom(id);
SprawdzPoziom(id);
}
}
}
}


public KomendaOpisPerku(id)
public KomendaOpisPerku(id)
OpisPerku(id, perk_gracza[id], wartosc_perku_gracza[id]);
OpisPerku(id, perk_gracza[id], wartosc_perku_gracza[id]);
public OpisPerku(id, perk, wartosc)
public OpisPerku(id, perk, wartosc)
{
{
new opis_perku[MAX_WIELKOSC_OPISU];
new opis_perku[MAX_WIELKOSC_OPISU];
new losowa_wartosc[15];
new losowa_wartosc[15];
if(wartosc > -1)
if(wartosc > -1)
num_to_str(wartosc, losowa_wartosc, 14);
num_to_str(wartosc, losowa_wartosc, 14);
else
else
format(losowa_wartosc, charsmax(losowa_wartosc), "%i-%i", min_wartosci_perkow[perk], max_wartosci_perkow[perk]);
format(losowa_wartosc, charsmax(losowa_wartosc), "%i-%i", min_wartosci_perkow[perk], max_wartosci_perkow[perk]);
format(opis_perku, charsmax(opis_perku), opisy_perkow[perk]);
format(opis_perku, charsmax(opis_perku), opisy_perkow[perk]);
replace_all(opis_perku, charsmax(opis_perku), "LW", losowa_wartosc);
replace_all(opis_perku, charsmax(opis_perku), "LW", losowa_wartosc);
client_print(id, print_chat, "Perk: %s.", nazwy_perkow[perk]);
client_print(id, print_chat, "[PB] Perk: %s.", nazwy_perkow[perk]);
client_print(id, print_chat, "Opis: %s.", opis_perku);
client_print(id, print_chat, "[PB] Opis: %s.", opis_perku);
}
}


public OpisPerkow(id)
public OpisPerkow(id)
{
{
new menu = menu_create("Wybierz Perk:", "OpisPerkow_Handle");
new menu = menu_create("\w[ \r-| \wWybierz Perk: \r|- \w]", "OpisPerkow_Handle");
for(new i=1; i <= ilosc_perkow; i++)
for(new i=1; i <= ilosc_perkow; i++)
menu_additem(menu, nazwy_perkow[i]);
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
{
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
new pText[128];
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
format(pText, charsmax(pText), "\w[ \r-| \w%s \r|- \w]", nazwy_perkow[i]);
menu_additem(menu, pText);
}
menu_setprop(menu, MPROP_EXITNAME, "\r[\wX\r]");
menu_setprop(menu, MPROP_BACKNAME, "\y<<<");
menu_setprop(menu, MPROP_NEXTNAME, "\y>>>");
menu_display(id, menu);
menu_display(id, menu);
client_cmd(id, "spk QTM_CodMod/select");
client_cmd(id, "spk PB_DZWIEKI/select");
}
}


public OpisPerkow_Handle(id, menu, item)
public OpisPerkow_Handle(id, menu, item)
{
{
if(item++ == MENU_EXIT)
if(item++ == MENU_EXIT)
{
{
menu_destroy(menu);
menu_destroy(menu);
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
}
}
OpisPerku(id, item, -1);
OpisPerku(id, item, -1);
OpisPerkow(id);
OpisPerkow(id);
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
}
}




public OpisKlasy(id)
public OpisKlasy(id)
{
{
new menu = menu_create("Wybierz klase:", "OpisKlasy_Handle");
new menu = menu_create("\w[ \r-| \wWybierz Klase: \r|- \w]", "OpisKlasy_Handle");
for(new i=1; i <= ilosc_klas; i++)
for(new i=1; i <= ilosc_klas; i++)
menu_additem(menu, nazwy_klas[i]);
{
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
new cText[128];
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
format(cText, charsmax(cText), "\w[ \r-| \w%s \r|- \w]", nazwy_klas[i]);
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_additem(menu, cText);
}
menu_setprop(menu, MPROP_EXITNAME, "\r[\wX\r]");
menu_setprop(menu, MPROP_BACKNAME, "\y<<<");
menu_setprop(menu, MPROP_NEXTNAME, "\y>>>");
menu_display(id, menu);
menu_display(id, menu);
client_cmd(id, "spk QTM_CodMod/select");
client_cmd(id, "spk PB_DZWIEKI/select");
}
}


public OpisKlasy_Handle(id, menu, item)
public OpisKlasy_Handle(id, menu, item)
{
{
client_cmd(id, "spk QTM_CodMod/select");
client_cmd(id, "spk PB_DZWIEKI/select");
if(item++ == MENU_EXIT)
if(item++ == MENU_EXIT)
{
{
menu_destroy(menu);
menu_destroy(menu);
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
}
}
new bronie[320];
new bronie[320];
for(new i=1, n=1; i <= 32; i++)
for(new i=1, n=1; i <= 32; i++)
{
{
if((1<<i) & bronie_klasy[item])
if((1<<i) & bronie_klasy[item])
{
{
new weaponname[22];
new weaponname[22];
get_weaponname(i, weaponname, 21);
get_weaponname(i, weaponname, 21);
replace_all(weaponname, 21, "weapon_", " ");
replace_all(weaponname, 21, "weapon_", " ");
if(n > 1)
if(n > 1)
add(bronie, charsmax(bronie), ",");
add(bronie, charsmax(bronie), ",");
add(bronie, charsmax(bronie), weaponname);
add(bronie, charsmax(bronie), weaponname);
n++;
n++;
}
}
}
}
new opis[416+MAX_WIELKOSC_OPISU];
new opis[416+MAX_WIELKOSC_OPISU];
format(opis, charsmax(opis), "\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \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]);
format(opis, charsmax(opis), "\w[ \r-| \wKlasa: \r%s |- \w]^n\w[ \r-| \wInteligencja: \r%i |- \w]^n\w[ \r-| \wZdrowie: \r%i |- \w]^n\w[ \r-| \wWytrzymalosc: \r%i |- \w]^n\w[ \r-| \wKondycja: \r%i |- \w]^n\w[ \r-| \wBronie: \y%s \r|- \w]^n\w[ \r-| \wDodatkowy opis: \y%s^n%s \r|- \w]", 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);
show_menu(id, 1023, opis);
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
}
}


public WybierzKlase(id)
public WybierzKlase(id)
{
{
new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new menu = menu_create("\w[ \r-| \wWybierz Klase: \r|- \w]", "WybierzKlase_Handle");
new klasa[50];
new klasa[50];
for(new i=1; i <= ilosc_klas; i++)
for(new i=1; i <= ilosc_klas; i++)
{
{
WczytajDane(id, i);
WczytajDane(id, i);
format(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
format(klasa, charsmax(klasa), "\w[\r-| \w%s \r| \wPoziom: \y%i\w]", nazwy_klas[i], poziom_gracza[id]);
menu_additem(menu, klasa);
menu_additem(menu, klasa);
}
}
WczytajDane(id, klasa_gracza[id]);
WczytajDane(id, klasa_gracza[id]);
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_EXITNAME, "\r[\wX\r]");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_BACKNAME, "\y<<<");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_setprop(menu, MPROP_NEXTNAME, "\y>>>");
menu_display(id, menu);
menu_display(id, menu);
client_cmd(id, "spk QTM_CodMod/select");
client_cmd(id, "spk PB_DZWIEKI/select");
}
}


public WybierzKlase_Handle(id, menu, item)
public WybierzKlase_Handle(id, menu, item)
{
{
client_cmd(id, "spk QTM_CodMod/select");
client_cmd(id, "spk PB_DZWIEKI/select");
if(item++ == MENU_EXIT)
if(item++ == MENU_EXIT)
{
{
menu_destroy(menu);
menu_destroy(menu);
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
}
}
if(item == klasa_gracza[id] && !nowa_klasa_gracza[id])
if(item == klasa_gracza[id] && !nowa_klasa_gracza[id])
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
nowa_klasa_gracza[id] = item;
nowa_klasa_gracza[id] = item;
if(klasa_gracza[id])
if(klasa_gracza[id])
client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
client_print(id, print_chat, "[PB] Klasa zostanie zmieniona w nastepnej rundzie.");
else
else
{
{
UstawNowaKlase(id);
UstawNowaKlase(id);
DajBronie(id);
DajBronie(id);
ZastosujAtrybuty(id);
ZastosujAtrybuty(id);
}
}
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
}
}


public PrzydzielPunkty(id)
public PrzydzielPunkty(id)
{
{
new inteligencja[65];
new szybkosc[60];
new zdrowie[60];
new inteligencja[65];
new wytrzymalosc[60];
new zdrowie[60];
new kondycja[60];
new wytrzymalosc[60];
new tytul[25];
new kondycja[60];
format(inteligencja, charsmax(inteligencja), "Inteligencja: \r%i \y(Zwieksza sile perkow i umiejetnosci klasy)", PobierzInteligencje(id, 1, 1, 1));
new tytul[25];
format(zdrowie, charsmax(zdrowie), "Zdrowie: \r%i \y(Zwieksza zdrowie)", PobierzZdrowie(id, 1, 1, 1));

format(wytrzymalosc, charsmax(wytrzymalosc), "Wytrzymalosc: \r%i \y(Zmniejsza obrazenia)", PobierzWytrzymalosc(id, 1, 1, 1));
format(szybkosc, charsmax(szybkosc), "\w[ \r-| \wIle dodawac: \r%d |- \w] \y(Ile pkt dodac)", co_ile[szybkosc_rozdania[id]]);
format(kondycja, charsmax(kondycja), "Kondycja: \r%i \y(Zwieksza tempo chodu)", PobierzKondycje(id, 1, 1, 1));
format(inteligencja, charsmax(inteligencja), "\w[ \r-| \wInteligencja: \r%i |- \w] \y(Zwieksza dmg)", PobierzInteligencje(id, 1, 1, 1));
format(tytul, charsmax(tytul), "Przydziel Punkty(%i):", punkty_gracza[id]);
format(zdrowie, charsmax(zdrowie), "\w[ \r-| \wZdrowie: \r%i |- \w] \y(Zwieksza zdrowie)", PobierzZdrowie(id, 1, 1, 1));
new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
format(wytrzymalosc, charsmax(wytrzymalosc), "\w[ \r-| \wWytrzymalosc: \r%i |- \w] \y(Zmniejsza obrazenia)", PobierzWytrzymalosc(id, 1, 1, 1));
menu_additem(menu, inteligencja);
format(kondycja, charsmax(kondycja), "\w[ \r-| \wKondycja: \r%i |- \w] \y(Zwieksza tempo chodu)", PobierzKondycje(id, 1, 1, 1));
menu_additem(menu, zdrowie);
format(tytul, charsmax(tytul), "Przydziel Punkty(%i):", punkty_gracza[id]);
menu_additem(menu, wytrzymalosc);
new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
menu_additem(menu, kondycja);
menu_additem(menu, szybkosc);
menu_setprop(menu, MPROP_EXIT, 0);
menu_addblank(menu, 0);
menu_display(id, menu);
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 PB_DZWIEKI/select");


public PrzydzielPunkty_Handler(id, menu, item)
if(item == MENU_EXIT) {
{
menu_destroy(menu);
client_cmd(id, "spk QTM_CodMod/select");
return PLUGIN_CONTINUE;
}
if(item == MENU_EXIT)

{
if(punkty_gracza[id] < 1)
menu_destroy(menu);
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;

}
new limit_poziomu = get_pcvar_num(cvar_limit_poziomu);
new ilosc = (co_ile[szybkosc_rozdania[id]] > punkty_gracza[id]) ? punkty_gracza[id] : co_ile[szybkosc_rozdania[id]]
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, "[COD:MW] Maxymalny poziom inteligencji osiagniety");


switch(item) {
}
case 0: {
case 1:
if(szybkosc_rozdania[id] < charsmax(co_ile)) szybkosc_rozdania[id]++;
{
else szybkosc_rozdania[id] = 0;
if(zdrowie_gracza[id] < limit_poziomu/2)
}
{
case 1: {
zdrowie_gracza[id]++;
if(inteligencja_gracza[id]+ilosc <= limit_poziomu/2) {
punkty_gracza[id]--;
inteligencja_gracza[id]+=ilosc;
}
punkty_gracza[id]-=ilosc;
else
} else client_print(id, print_chat, "[PB] Maxymalny poziom inteligencji osiagniety");
client_print(id, print_chat, "[COD:MW] Maxymalny poziom sily osiagniety");
}
}
case 2: {
case 2:
if(zdrowie_gracza[id]+ilosc <= limit_poziomu/2) {
{
zdrowie_gracza[id]+=ilosc;
if(wytrzymalosc_gracza[id] < limit_poziomu/2)
punkty_gracza[id]-=ilosc;
{
} else client_print(id, print_chat, "[PB] Maxymalny poziom sily osiagniety");
wytrzymalosc_gracza[id]++;
}
punkty_gracza[id]--;
case 3: {
}
if(wytrzymalosc_gracza[id]+ilosc <= limit_poziomu/2) {
else
wytrzymalosc_gracza[id]+=ilosc;
client_print(id, print_chat, "[COD:MW] Maxymalny poziom zrecznosci osiagniety");
punkty_gracza[id]-=ilosc;
} else client_print(id, print_chat, "[PB] Maxymalny poziom zrecznosci osiagniety");
}
}
case 3:
case 4: {
{
if(kondycja_gracza[id]+ilosc <= limit_poziomu/2) {
if(kondycja_gracza[id] < limit_poziomu/2)
kondycja_gracza[id]+=ilosc;
{
punkty_gracza[id]-=ilosc;
kondycja_gracza[id]++;
} else client_print(id, print_chat, "[PB] Maxymalny poziom kondycji osiagniety");
punkty_gracza[id]--;
}
}
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom kondycji osiagniety");
}
}
if(punkty_gracza[id] > 0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
}
}


if(punkty_gracza[id] > 0)
PrzydzielPunkty(id);

return PLUGIN_CONTINUE;
}
public KomendaResetujPunkty(id)
public KomendaResetujPunkty(id)
{
{
client_print(id, print_chat, "[COD:MW] Umiejetnosci zostana zresetowane.");
client_print(id, print_chat, "[PB] Umiejetnosci zostana zresetowane.");
client_cmd(id, "spk QTM_CodMod/select");
client_cmd(id, "spk PB_DZWIEKI/select");
ResetujPunkty(id);
ResetujPunkty(id);
}
}


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


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


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


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


public UzyjPerku(id)
public UzyjPerku(id)
{
{
if(!is_user_alive(id))
if(!is_user_alive(id))
return PLUGIN_HANDLED;
return PLUGIN_HANDLED;
new forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[id]], "cod_perk_used", FP_CELL);
new forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[id]], "cod_perk_used", FP_CELL);
ExecuteForward(forward_handle, id, id);
ExecuteForward(forward_handle, id, id);
DestroyForward(forward_handle);
DestroyForward(forward_handle);
return PLUGIN_HANDLED;
return PLUGIN_HANDLED;
}
}


public ZapiszDane(id)
public ZapiszDane(id)
{
{
if(!klasa_gracza[id])
if(!klasa_gracza[id])
return PLUGIN_CONTINUE;
return PLUGIN_CONTINUE;
new vaultkey[128],vaultdata[256], identyfikator[64];
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]);
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);
new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);
switch(typ_zapisu)
switch(typ_zapisu)
{
{
case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
case 1: copy(identyfikator, charsmax(identyfikator), naz
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 WyrzucPerk(id)
{
if(perk_gracza[id])
{
client_print(id, print_chat, "[COD:MW] Wyrzuciles %s.", nazwy_perkow[perk_gracza[id]]);
UstawPerk(id, 0, 0, 0);
}
else
client_print(id, print_chat, "[COD:MW] Nie masz zadnego perku.");
}

public SprawdzPoziom(id)
{
if(!is_user_connected(id))
return;
new limit_poziomu = get_pcvar_num(cvar_limit_poziomu);
new