Ranking expa
sztandi 19.04.2011
Siemka moze mi ktos pomoc naprowadzic jak zrobic. Chce stworzyc wiadomos w colorchat w ktorej bedzie widac Ranking expa(ktore miejsce zajmoje na serwie cos takiego jak /rank) gracza po wpisaniu "/exprank". proszę o pomoc
Jak wstawic w miejsce "X" aktualna pozycje gracza(ktory jest w ranku)
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
#define prefix "Serwer"
new Exp[33]; // <----- Nasz EXP
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /exprank" , "RankExpa");
}
public RankExpa(id) {
ColorChat(id,GREEN,"[%s]^x01 Zajmujesz X miejsce z iloscia %d Expa",prefix,Exp[id]);
}
Dodano 20 kwiecień 2011 - 12:17:
@@ refresh
Edited by sztandi, 23.04.2011 21:24.
dram
20.04.2011
Musisz pobrać exp wszystkich graczy i użyć opcji SORT aby wyłonić najlepszego potem odliczyć który jest ten gracz:P
phoeniX
20.04.2011
Dodaj phoenixcs96 i odezwij się. Mam chyba CIĘ w znajomych. Jak bd w domu zrobię Ci to.
sztandi 20.04.2011
haga jednak nie potrafi mi pomoc moze ktos inny ??
Edited by sztandi, 20.04.2011 19:26.
Edited by sztandi, 20.04.2011 19:26.
sztandi 23.04.2011
jakbym na sql teraz zmienil to bym stracil all
a ty jak bys zrobil??
Edited by sztandi, 23.04.2011 21:24.
a ty jak bys zrobil??
Edited by sztandi, 23.04.2011 21:24.
diablix
24.04.2011
Tak na dobrą sprawę to co ma zapis do rankingu? -.-' Tak czy siak zmienne sortujemy tak jak kolega wyżej napisał..
dram
24.04.2011
Wracając do tego pytania czy traci się dane przerzucając się z nvault do sql to odpowiedź brzmi nie...
W kilkudziesięciu linijkach bez kombinowania możesz zrobić kopie z nvault do sql przez plugin...
Pętla która leci przez każdy wynik w nvault i kopiuje go do bazy:D
Taka jest moja odpowiedź na to pytanie. Natomiast SORT występuje w gunxpmodzie możesz tam sobie popatrzeć jak to wygląda również tam też jest ranking expa (top15)
W kilkudziesięciu linijkach bez kombinowania możesz zrobić kopie z nvault do sql przez plugin...
Pętla która leci przez każdy wynik w nvault i kopiuje go do bazy:D
Taka jest moja odpowiedź na to pytanie. Natomiast SORT występuje w gunxpmodzie możesz tam sobie popatrzeć jak to wygląda również tam też jest ranking expa (top15)
mierzwi 24.04.2011
w gunxpmodzie robi chyba ranking graczy z tych co są na serwerze, a mu chodzi chyba o ogólny no ale masz:
tu masz wytłumaczone na jakiej zasadzie działa SortCustom2D
Dokumentacja AMXX.pl: Core >> sorting > SortCustom2D
a co do tego: new y = clamp(count,0,20); - jeśli chcesz mieć top15 to daj tam 15, bo clamp sprawdza czy count jest mniejsze/większe od min/max.
Edited by funfel, 24.04.2011 21:42.
public showtop20(id) { if( !get_pcvar_num(p_Enabled) && !get_pcvar_num(show_rank) ) return; static Sort[33][2]; new players[32],num,count,index; get_players(players,num); for(new i = 0; i < num; i++) { index = players[i]; Sort[count][0] = index; Sort[count][1] = PlayerXp[index]; count++; } SortCustom2D(Sort,count,"CompareXp"); new motd[1501],iLen; iLen = formatex(motd, sizeof motd - 1,"<body bgcolor=#000000><font color=#98f5ff><pre>"); iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"%s %-22.22s %3s^n", "#", "Name", "# Experience"); new y = clamp(count,0,20); new name[32],kindex; for(new x = 0; x < y; x++) { kindex = Sort[x][0]; get_user_name(kindex,name,sizeof name - 1); iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"%d %-22.22s %d^n", x + 1, name, Sort[x][1]); } iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"</body></font></pre>"); show_motd(id,motd, "GunXpMod Top 20"); } public CompareXp(elem1[], elem2[]) { if(elem1[1] > elem2[1]) return -1; else if(elem1[1] < elem2[1]) return 1; return 0; }
tu masz wytłumaczone na jakiej zasadzie działa SortCustom2D
Dokumentacja AMXX.pl: Core >> sorting > SortCustom2D
a co do tego: new y = clamp(count,0,20); - jeśli chcesz mieć top15 to daj tam 15, bo clamp sprawdza czy count jest mniejsze/większe od min/max.
Edited by funfel, 24.04.2011 21:42.
sztandi 25.04.2011
Jak zrobic zeby pokazywalo tak jak w /top15 wszystkich. bo teraz pokazuje tylko tych co sa na serwie
mierzwi 25.04.2011
napisałem Ci to mistrzu: w gunxpmodzie robi chyba ranking graczy z tych co są na serwerze,
mierzwi 25.04.2011
sam ciekaw jestem jak zrobić przez nvault, założyłem temat na aliedach, zobaczymy co odpiszą ;d
mierzwi 06.05.2011
ok, temat na aliedach: Rank Exp Mod - AlliedModders
na priv mogę dać działający kod, bo tam trzeba się bawić aby zrobić własne zapisy do nicku itp...
na priv mogę dać działający kod, bo tam trzeba się bawić aby zrobić własne zapisy do nicku itp...