/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <nvault> #include <colorchat> #define PLUGIN "Cod-Stats" #define VERSION "1.0" #define AUTHOR "G[o]Q" new const klasy[][] = {"Brak", "Snajper", "Komandos", "Strzelec wyborowy", "Obronca", "Medyk", "Wsparcie ogniowe", "Saper", "Demolitions", "Rusher", "Rambo", "Szturmowiec", "Grendier" }; new mKlasa // Menu new mcbKlasa // Menu Callback new Array:tab_gracze new Array:exp_gracze new p_info[33][11][6] new g_vault; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /topxp","menu"); register_clcmd("say /myxp","private"); /* Menu Klasa */ /* Use menu_display(id, mKlasa, 0) to show the menu to an user. */ mKlasa = menu_create("Klasa", "mh_Klasa") mcbKlasa = menu_makecallback("mcb_Klasa") for(new i=1;i<11;i++){ new txt[128] format(txt,127,"%s",klasy[i]) menu_additem(mKlasa, txt, "ma_Klasa", ADMIN_ALL, mcbKlasa) } tab_gracze=ArrayCreate(33,128); exp_gracze=ArrayCreate(6,128); g_vault = nvault_open("CodMod"); set_task(300.0,"spam",0,_,_,"b") } public spam(){ switch(random_num(0,1)){ case 0:ColorChat(0, GREEN, "[Cod-Stats] ^x03 aby zobaczyc 10 osob z najwiekszym expem na serverze wpisz ^x04/topxp"); case 1:ColorChat(0, GREEN, "[Cod-Stats] ^x03 aby zobaczyc Statystyki swoich klas wpisz ^x04/myxp"); } } public menu(id){ menu_display(id, mKlasa, 0) } public client_connect(id){ new name[33]; get_user_name(id,name,32); if(!sprawdz(name)) zapisz(name) } public private(id){ for(new i=1;i<11;i++){ WczytajDane2(id,i) } pokaz_klasy(id) } public pokaz_klasy(id){ new tresc[1200] format(tresc,1199,"<html><body bgcolor=^"black^"><center>") format(tresc,1199,"%s<table width=^"700^" border=^"1^" style=^"border-collapse: collapse;border-color: black;color: white;border-style: solid;text-align: center^">",tresc) format(tresc,1199,"%s<tbody><tr><td>Klasa</td>",tresc) format(tresc,1199,"%s<td>Exp</td><td>LvL</td>",tresc) format(tresc,1199,"%s<td>Int.</td><td >Zycie</td><td>Wytrz.</td><td >Kon.</td>",tresc) for(new i=1;i<11;i++){ format(tresc,1199,"%s<tr><td>%s</td>",tresc,klasy[i]) format(tresc,1199,"%s<td>%d</td>",tresc,p_info[id][i][0]) format(tresc,1199,"%s<td>%d</td>",tresc,p_info[id][i][1]) format(tresc,1199,"%s<td>%d</td>",tresc,p_info[id][i][2]) format(tresc,1199,"%s<td>%d</td>",tresc,p_info[id][i][3]) format(tresc,1199,"%s<td>%d</td>",tresc,p_info[id][i][4]) format(tresc,1199,"%s<td>%d</td></tr>",tresc,p_info[id][i][5]) } format(tresc,1199,"%s</tbody></table></center></body><html>",tresc) show_motd(id,tresc) } public WczytajDane2(id, klasa){ //klasa 1-10 new vaultkey[64],vaultdata[256]; new parm[6] new name[33] get_user_name(id,name,33) format(vaultkey,63,"%s-%i-cod", name, klasa); format(vaultdata,255,"%i#%i#%i#%i#%i#%i", parm[0], parm[1], parm[2], parm[3], parm[4], parm[5]); nvault_get(g_vault,vaultkey,vaultdata,255); replace_all(vaultdata, 255, "#", " "); new tparam[6][33] parse(vaultdata, tparam[0], 32, tparam[1], 32, tparam[2], 32, tparam[3], 32, tparam[4], 32, tparam[5], 32); parm[0] = str_to_num(tparam[0]);//xp parm[1]= str_to_num(tparam[1])>0?str_to_num(tparam[1]):1;//lvl parm[2] = str_to_num(tparam[2]);//int parm[3] = str_to_num(tparam[3]);//health parm[4] = str_to_num(tparam[4]);//wytrzymalosc parm[5] = str_to_num(tparam[5]);//kondycja for(new j=0;j<6;j++) p_info[id][klasa][j]=parm[j] } public WczytajDane(name[33], klasa){ //klasa 1-10 new vaultkey[64],vaultdata[256]; new parm[6] format(vaultkey,63,"%s-%i-cod", name, klasa); format(vaultdata,255,"%i#%i#%i#%i#%i#%i", parm[0], parm[1], parm[2], parm[3], parm[4], parm[5]); nvault_get(g_vault,vaultkey,vaultdata,255); replace_all(vaultdata, 255, "#", " "); new tparam[6][33] parse(vaultdata, tparam[0], 32, tparam[1], 32, tparam[2], 32, tparam[3], 32, tparam[4], 32, tparam[5], 32); parm[0] = str_to_num(tparam[0]);//xp parm[1]= str_to_num(tparam[1])>0?str_to_num(tparam[1]):1;//lvl parm[2] = str_to_num(tparam[2]);//int parm[3] = str_to_num(tparam[3]);//health parm[4] = str_to_num(tparam[4]);//wytrzymalosc parm[5] = str_to_num(tparam[5]);//kondycja ArrayPushArray(exp_gracze,parm) } public sortuj(){ new size=ArraySize(exp_gracze) for(new i=0;i<size-1;i++){ for (new j=size-1;j>i;j--){ new tptab[6] new tptab2[6] ArrayGetArray(exp_gracze,j,tptab) ArrayGetArray(exp_gracze,j-1,tptab2) if (tptab2[0]<tptab[0]){ ArraySwap(exp_gracze,j,j-1) ArraySwap(tab_gracze,j,j-1) } } } } public create_arry(klasa){ new text[128],chars ,nick[33] new linijka=0 static configdir[64],plik[128] get_configsdir(configdir,63) formatex(plik,127,"%s/gracze.ini",configdir) ArrayClear(tab_gracze) ArrayClear(exp_gracze) do{ linijka = read_file(plik,linijka,text,127,chars) if(!chars) continue parse(text, nick,32) ArrayPushString(tab_gracze,nick); WczytajDane(nick, klasa) } while(linijka!=0) sortuj() return PLUGIN_CONTINUE } public pokaz(id,klasa){ create_arry(klasa) new rozmiar=ArraySize(exp_gracze)>10?10:ArraySize(exp_gracze); new tresc[1200] format(tresc,1199,"<html><body bgcolor=^"black^"><center><img src='http://amxx.pl/uploads/images/amxx.pl-1275233083-U6279.jpg'><br /><br />") format(tresc,1199,"%s<table width=^"700^" border=^"1^" style=^"border-collapse: collapse;border-color: black;color: white;border-style: solid;text-align: center^">",tresc) format(tresc,1199,"%s<tbody><tr><td>Pos.</td>",tresc) format(tresc,1199,"%s<td>Nick</td><td>Exp</td>",tresc) format(tresc,1199,"%s<td>LvL</td>",tresc) for(new i=0;i<rozmiar;i++){ new tmptab[33],tmptab2[6] ArrayGetArray(tab_gracze,i,tmptab) ArrayGetArray(exp_gracze,i,tmptab2) format(tresc,1199,"%s<tr><td>%d</td>",tresc,i+1) format(tresc,1199,"%s<td>%s</td>",tresc,tmptab) format(tresc,1199,"%s<td>%d</td>",tresc,tmptab2[0]) format(tresc,1199,"%s<td>%d</td></tr>",tresc,tmptab2[1]) } format(tresc,1199,"%s</tbody></table></center></body><html>",tresc) show_motd(id,tresc) } public sprawdz(source[33]){ new linijka=0,text[128],chars static configdir[64],plik[128] new nick[33],name[33] name=source; get_configsdir(configdir,63) formatex(plik,127,"%s/gracze.ini",configdir) do{ linijka = read_file(plik,linijka,text,127,chars) if((text[0]==';') || !chars) continue parse(text, nick,32) if (equali(name,nick)) return 1 } while(linijka!=0) return 0 } public zapisz(source[33]){ new wpis[128] new nick[33]; static configdir[64],plik[128] nick=source format(wpis,127,"^"%s^"",nick) get_configsdir(configdir,63) formatex(plik,127,"%s/gracze.ini",configdir) write_file(plik,wpis,-1) log_to_file("Cstats.txt","Gracz o nicku %s zostal dodany do bazy statystyk",nick) return PLUGIN_CONTINUE } /* Menu Klasa */ public mh_Klasa(id, menu, item) { new opcja switch(item){ case 0:opcja=1 case 1:opcja=2 case 2:opcja=3 case 3:opcja=4 case 4:opcja=5 case 5:opcja=6 case 6:opcja=7 case 7:opcja=8 case 8:opcja=9 case 9:opcja=10 case 10:opcja=11 case 11:opcja=12 case 12:opcja=13 case 13:opcja=14 case 14:opcja=15 case 15:opcja=16 case 16:opcja=17 case MENU_EXIT:{ menu_destroy(mKlasa); return PLUGIN_CONTINUE; } } pokaz(id,opcja) return PLUGIN_CONTINUE; } public ma_Klasa(id) { /* This event is called when an item was selected */ } public mcb_Klasa(id, menu, item) { /* This is the callback-event, here you can set items enabled or disabled. */ /* If you want to enable an item, use: return ITEM_ENABLED */ /* If you want to disable an item, use: return ITEM_DISABLED */ return ITEM_ENABLED } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
problem codstats
Temat rozp.
pfk
, 28.08.2010 13:31
Brak odpowiedzi do tego tematu
#1
Napisano 28.08.2010 13:31
Elo mam +2 klasy dodane greandier i szturmowiec i chcialem je dodac do codstats...zaraz dolacze sma... ale jak dodalem to po wpisaniu /topxp nie bylo tych klas do wybor
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych