Hej siemanko, mam odczyt i zapis szlugow w nvault. Jak moge zrobic top 15 szlugow?
o tak ---V
1, Nick X szlugów
2, Nick X szlugów
3, Nick X szlugów
...
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.
|
Napisano 05.05.2020 19:05
Hej siemanko, mam odczyt i zapis szlugow w nvault. Jak moge zrobic top 15 szlugow?
o tak ---V
1, Nick X szlugów
2, Nick X szlugów
3, Nick X szlugów
...
Napisano 05.05.2020 20:06
Nikt ci raczej nie pomoże dałeś za mało informacji . Podaj pluginy , kody i zobczymy co da się zrobić haha
Napisano 05.05.2020 20:12
Masz racje
#include <amxmodx> #include <amxmisc> #include <nvault> #include <jailbreak> new g_szNickGracza[33][32]; new g_iSzlugiGracza[33]; new g_iMsgStatusText; new g_iIloscSlotow; new g_iHud; public plugin_init() { register_plugin("Szlugi", "1.0", ""); register_concmd("jailx_ustawszlugi", "cmd_UstawSzlugi", ADMIN_IMMUNITY, "<nick> <ile>"); register_concmd("jailx_dodajszlugi", "cmd_DodajSzlugi", ADMIN_IMMUNITY, "<nick> <ile>"); register_event("TextMsg", "ev_PoczatekGry", "a", "2&#Game_C") register_event("ResetHUD", "ev_ResetHUD", "b"); register_event("DeathMsg", "ev_Smierc", "a"); g_iMsgStatusText = get_user_msgid("StatusText"); g_iIloscSlotow = get_maxplayers(); g_iHud = CreateHudSyncObj(); } public plugin_natives() { register_native("give_user_jbpack", "AddCoins", 1); register_native("set_user_jbpack", "SetCoins", 1); register_native("get_user_jbpack", "GetCoins", 1); } public client_authorized(id) { get_user_name(id, g_szNickGracza[id], 31); LoadCoins(id); } public client_disconnect(id) { SaveCoins(id); //remove_task(id); } public cmd_UstawSzlugi(id, iLevel, iCid) { if(!cmd_access(id, iLevel, iCid, 2)) return PLUGIN_HANDLED; new szNick[32], szIle[8]; read_argv(1, szNick, 31); read_argv(2, szIle, 8); new iTarget = find_player("bhl", szNick); if(!iTarget) { client_print(id, print_console, "*** Nie znaleziono gracza!"); return PLUGIN_HANDLED; } g_iSzlugiGracza[iTarget] = str_to_num(szIle); StatusSzlugow(iTarget); get_user_name(iTarget, szNick, 31); client_print(id, print_console, "*** Ustawiono %s szlugow graczowi %s", szIle, szNick); return PLUGIN_HANDLED; } public cmd_DodajSzlugi(id, iLevel, iCid) { if(!cmd_access(id, iLevel, iCid, 2)) return PLUGIN_HANDLED; new szNick[32], szIle[8]; read_argv(1, szNick, 31); read_argv(2, szIle, 8); new iTarget = find_player("bhl", szNick); if(!iTarget) { client_print(id, print_console, "*** Nie znaleziono gracza!"); return PLUGIN_HANDLED; } g_iSzlugiGracza[iTarget] += str_to_num(szIle); StatusSzlugow(iTarget); get_user_name(iTarget, szNick, 31); client_print(id, print_console, "*** Dodano %s szlugow dla graczowi %s", szIle, szNick); return PLUGIN_HANDLED; } public PokazSzlugi(id) { if(!is_user_alive(id)) return; StatusSzlugow(id); } public StatusSzlugow(id) { if(g_iSzlugiGracza[id] > 100000) { g_iSzlugiGracza[id] = 100000; } if(g_iSzlugiGracza[id] < 0) { g_iSzlugiGracza[id] = 0; } new szHud[64]; formatex(szHud, 63, "Szlugi: %d", g_iSzlugiGracza[id]); message_begin(MSG_ONE, g_iMsgStatusText, {0,0,0}, id); write_byte(0); write_string(szHud); message_end(); } public SetCoins(id, wartosc) { g_iSzlugiGracza[id] = wartosc; if(is_user_alive(id)) { StatusSzlugow(id); } } public GetCoins(id) return g_iSzlugiGracza[id]; public AddCoins(id, iIle, szPowod[]) { param_convert(3); g_iSzlugiGracza[id] += iIle; StatusSzlugow(id) set_hudmessage(255, 255, 0, -1.0, 0.2, 1, 3.0, 3.0, 0.1, 0.2, -1); ShowSyncHudMsg(id, g_iHud, "+%d SZLUGOW^n%s", iIle, szPowod); } public SaveCoins(id) { new szSzlugi[16], iVault = nvault_open("Szlugi_v2"); num_to_str(g_iSzlugiGracza[id], szSzlugi, 15); nvault_set(iVault, g_szNickGracza[id], szSzlugi); nvault_close(iVault); } public LoadCoins(id) { new iVault = nvault_open("Szlugi_v2"); g_iSzlugiGracza[id] = nvault_get(iVault, g_szNickGracza[id]); nvault_close(iVault); }
Użytkownik mlekovita edytował ten post 05.05.2020 20:15
Napisano 05.05.2020 20:22
public cmdShowTop15(id) { 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] = g_iSzlugiGracza[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", "#", "Nick", "Szlugi"); new y = clamp(count, 0, 15); 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, "Top 15 Szlugi"); } public CompareXp(elem1[], elem2[]) { if(elem1[1] > elem2[1]) return -1; else if(elem1[1] < elem2[1]) return 1; return 0; }
Nietestowane.
Napisano 05.05.2020 20:36
Chciałbym aby to była topka ogólna a nie z graczy online. Ale dzięki za chęci
Napisano 06.05.2020 12:55
Znalazłem takie coś. Pomógłby ktoś przerobić to pod szlugi?
https://amxx.pl/topi...kszym-poziomie/
0 użytkowników, 0 gości, 0 anonimowych