#include #include #include #include new const LEVELS[6] = { 0, 200, 400, 800, 1600, 3200 }; new iExp[33],iLvl[33]; new cKill,g_vault; new doswiadczenie_za_bombe; new podkladajacy; new rozbrajajacy; public plugin_init() { register_plugin("exp", "0.1", "Flyen & Harsay & Kruszynka"); register_event("DeathMsg", "EventSmierci", "a"); g_vault = nvault_open("TestExpSave"); cKill = register_cvar("amx_exp_kill", "20"); doswiadczenie_za_bombe = register_cvar("amx_exp_bomb", "100") register_logevent("BombaPodlozona", 3, "2=Planted_The_Bomb"); register_event("SendAudio", "BombaRozbrojona", "a", "2&%!MRAD_BOMBDEF"); register_event("BarTime", "RozbrajaBombe", "be", "1=10", "1=5") } public EventSmierci() { new iKiller = read_data(1); new iVictim = read_data(2); new gNumExp = get_pcvar_num(cKill); new Kid[32],Vid[32]; get_user_name(iKiller, Kid, 31); get_user_name(iVictim, Vid, 31); if(get_user_team(iKiller) != get_user_team(iVictim)) { iExp[iKiller] += gNumExp; ColorChat(iKiller, GREEN, "^x03[Exp]^x04 %s^x01 Otrzymales^x04 %d doswiadczenia^x01 za zabicie^x04 %s",Kid ,gNumExp, Vid); } SprawdzPoziom(iKiller); Zapisz(iKiller); } public client_connect(id) { Wczytaj(id); set_task(0.1, "PokazInformacje",id,_,_,"b"); } public client_disconnect(id) { Zapisz(id); } public Zapisz(id) { new NameID[31]; get_user_name(id,NameID,31); new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s-Mod",NameID); format(vaultdata,255,"%i#%i#",iExp[id], iLvl[id]); nvault_set(g_vault,vaultkey,vaultdata); return PLUGIN_CONTINUE; } public Wczytaj(id) { new NameID[31]; get_user_name(id,NameID,31); new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s-Mod",NameID); format(vaultdata,255,"%i#%i#",iExp[id], iLvl[id]); nvault_get(g_vault,vaultkey,vaultdata,255); replace_all(vaultdata, 255, "#", " "); new PEXP[32], PLEV[32]; parse(vaultdata, PEXP, 31, PLEV, 31); iExp[id] = str_to_num(PEXP); iLvl[id] = str_to_num(PLEV); return PLUGIN_CONTINUE; } public SprawdzPoziom(id) { while(iExp[id] >= LEVELS[iLvl[id]]){ ColorChat(id, GREEN, "^x03[Exp]^x04 Awansowales na kolejny poziom!") iLvl[id] += 1 } Zapisz(id); } public PokazInformacje(id) { if(is_user_alive(id)){ set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0); show_hudmessage(id,"[Poziom: %i]^n[Doswiadczenie: %i]", iLvl[id], iExp[id]); } return PLUGIN_CONTINUE; } public RozbrajaBombe(id) rozbrajajacy = id; public BombaPodlozona() { new Players[32], playerCount, id; get_players(Players, playerCount, "aeh", "TERRORIST"); if(get_playersnum() > 1) { iExp[podkladajacy] += doswiadczenie_za_bombe; for (new i=0; i