[ROZWIĄZANE] Jak stworzyć top10 pod względ...
kapi10072
18.12.2011
Witam..
Chciałbym zrobić ranking top10 w taki sposób:
mam np tak.
I jak zrobić do tego tak, aby można było pobrać top10 graczy, którzy w tym przypadku się rozłączyli.
Dane zapisywane są do nvault i najlepiej żeby ktoś podał, jak to do nvault zapisać.
Pozdrawiam !
Użytkownik kapi10072 edytował ten post 19.12.2011 18:43
Chciałbym zrobić ranking top10 w taki sposób:
mam np tak.
new zmienna[33];
public client_disconnect(id)
{
zmienna[id] += 1
}
I jak zrobić do tego tak, aby można było pobrać top10 graczy, którzy w tym przypadku się rozłączyli.
Dane zapisywane są do nvault i najlepiej żeby ktoś podał, jak to do nvault zapisać.
Pozdrawiam !
Użytkownik kapi10072 edytował ten post 19.12.2011 18:43
DarkGL
19.12.2011
wczytujesz do tablicy https://forums.allie...ad.php?t=139584 i sortujesz
http://amxx.pl/dokum...cja/s49/sorting
http://amxx.pl/dokum...cja/s49/sorting
kapi10072
19.12.2011
A jak to dobrze, zapisać do nvalut.. bo próbowałem i mi czasami wyskakiwały różne liczby..
kapi10072
20.12.2011
set_user_frags(id,fragi[id])
cs_set_user_deaths ( id, deads[id] )
return PLUGIN_CONTINUE
}
public save_frags(id){
fragi[id]+=get_user_frags(id) // zwiekszamy liczbe fragow i deadow o stan bierzacy
deads[id]+=get_user_deaths(id)
Jak powiększyć liczbę zmiennej..
fragi[id]+=get_user_frags(id) // zwiekszamy liczbe fragow i deadow o stan bierzacy
bo raczej
get_user_frags(id) nie zadziała

i jak jeszcze pobrać za pomocą nvault_util te pierwsze 10 osób ?
Użytkownik kapi10072 edytował ten post 20.12.2011 19:03
dram
21.12.2011
Pobierasz wszystkich do jednej tablicy. Potem sortujesz i masz wyniki ulożone np. od największej do najmniejszej ilości expa.
2. w deathmsg możesz przechwytywać i dopisywać do tablicy fragi/dedy
2. w deathmsg możesz przechwytywać i dopisywać do tablicy fragi/dedy
kapi10072
25.12.2011
To drugie to jest podany przykład z Trochę o nVault..
a ja chcę powiększyć jakąś zmienną o ilość tej zmiennej, jakoś tak
ok, mam taki kod
I jak teraz zrobić z tego top10, uwzględniając 1 pozycję od ilości EXP'a oraz chce żeby reszta danych (a,b,c,d,e) także były pokazane.
Liczę na pomoc, pozdrawiam
@refresh
Użytkownik kapi10072 edytował ten post 23.12.2011 14:20
a ja chcę powiększyć jakąś zmienną o ilość tej zmiennej, jakoś tak

ok, mam taki kod
#include <amxmodx>
#include <nvault>
new a[33];
new b[33];
new c[33];
new d[33];
new e[33];
new EXP[33];
new g_vault;
public plugin_init() {
register_plugin("Nowy", "0.1", "kapi10072");
register_clcmd("top10", "ShowTop");
register_clcmd("dodaj", "dodaj");
g_vault = nvault_open("mod")
}
public dodaj(id)
{
a[id] += 1
b[id]+= 1
c[id] += 1
d[id] += 1
e[id] += 1
EXP[id] += 10
}
public client_connect(id)
{
LoadData(id)
}
public client_disconnect(id)
{
SaveData(id)
a[id] = 0
b[id] = 0
c[id] = 0
d[id] = 0
e[id] = 0
EXP[id] = 0
}
public SaveData(id)
{
new AuthID[35]
get_user_name(id, AuthID, 34)
new vaultkey[64], vaultdata[256]
format(vaultkey,63,"%s-Mod",AuthID)
format (vaultdata,255,"%i#%i#%i#%i#%i#%i#",a[id], b[id],c[id],d[id],e[id],EXP[id])
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public LoadData(id)
{
new AuthID[35]
get_user_name(id,AuthID,34)
new vaultkey[64], vaultdata[256]
format(vaultkey,63,"%s-Mod",AuthID)
format(vaultdata,255,"%i#%i#%i#%i#%i#i#",a[id], b[id],c[id],d[id],e[id],EXP[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata,255,"#"," ")
new playerxp[32], playera[32], playerb[32], playerc[32], playerd[32], playere[32]
parse(vaultdata, playerxp,31, playera,31, playerb, 31, playerc,31 ,playerd ,31, playere, 31)
EXP[id] = str_to_num(playerxp)
a[id] = str_to_num(playera)
b[id] = str_to_num(playerb)
c[id] = str_to_num(playerc)
d[id] = str_to_num(playerd)
e[id] = str_to_num(playere)
return PLUGIN_CONTINUE
}
public ShowTop(id)
{
// ???????
}
I jak teraz zrobić z tego top10, uwzględniając 1 pozycję od ilości EXP'a oraz chce żeby reszta danych (a,b,c,d,e) także były pokazane.
Liczę na pomoc, pozdrawiam
@refresh
Użytkownik kapi10072 edytował ten post 23.12.2011 14:20
^Grzyboo
26.12.2011
Ojj top wg. nvault to ciężka sprawa. Zabawa arrayami oraz może się przydać Nvault - Util
Użytkownik ^Grzyboo edytował ten post 26.12.2011 13:57
Użytkownik ^Grzyboo edytował ten post 26.12.2011 13:57
diablix
26.12.2011
Jakbyś chciał przerzucić się na bazę to wystarczy jedno zapytanie
SELECT * FROM `tabela` ORDER BY `kolumna_z_xp` DESC LIMIT 10
kapi10072
26.12.2011
Podziękował za odpowiedź..
Przejdę na SQL - sądzę, że sobie poradzę
Kod na nvault jakiś mam, ale rzeczywiście to jest ciężka sprawa..
Dziękuje i do zobaczenia..
Temat do zamknięcia.
Przejdę na SQL - sądzę, że sobie poradzę

Kod na nvault jakiś mam, ale rzeczywiście to jest ciężka sprawa..
Dziękuje i do zobaczenia..
Temat do zamknięcia.
sebul
26.12.2011
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz,
raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz,

Z pozdrowieniami,
Zespół AMXX.PL