Witam. Przerobilem sobie troche plugin GoQ.
Lecz mam pewien problem poniewaz wyswietla mi caly czas podwojnie graczy.Nie wszystkich lecz z tego co zauwazylem to tych,ktorzy wbili na serwer pozniej.
Tutaj kod. Ma ktos jakis pomysl ?
Spoiler
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <nvault> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "Ja" new Array:tab_gracze new Array:exp_gracze new h_vault; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /top","pokaz"); h_vault = nvault_open("xxmojexx"); tab_gracze=ArrayCreate(33,128); exp_gracze=ArrayCreate(2,128); } public client_connect(id){ new name[33]; get_user_name(id,name,32); if(!sprawdz(name)) zapisz(name) } 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 } public WczytajDane(name[33]){ //klasa 1-10 new vaultkey[64],vaultdata[256]; new parm[2] format(vaultkey,63,"%s-xxx", name); format(vaultdata,255,"%i#%i", parm[0], parm[1]); nvault_get(h_vault,vaultkey,vaultdata,255); replace_all(vaultdata, 255, "#", " "); new tparam[2][33] parse(vaultdata, tparam[0], 32, tparam[1], 32); parm[0] = str_to_num(tparam[0]);//lvl parm[1]= str_to_num(tparam[1]);//exp ArrayPushArray(exp_gracze,parm) } public pokaz(id){ create_arry(id) new rozmiar=ArraySize(exp_gracze)>10?10:ArraySize(exp_gracze); new tresc[1200] format(tresc,1199,"<html><body bgcolor=^"black^"><center><img src='https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRKqV46VYpYEEC0rLnXdnNeoqhpW3XdZBcNPHZKdF_QxWi0Y-967g'><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>Poziom</td>",tresc) format(tresc,1199,"%s<td>Exp</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 create_arry(id){ 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) } while(linijka!=0) sortuj() return PLUGIN_CONTINUE } 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[2] new tptab2[2] 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) } } } }
Użytkownik NiczegoWinien edytował ten post 27.01.2016 00:14