Jak chcesz to można to zrobić na zasadzie tabeli z Expem i odpowiednie rangi to odpowiedni lvl.
Więc próbowałem to zrobić lecz coś mi się nie udało i chciałem was prosić o poprawę kodu, jeśli to jest możliwe zmienić go na inny łatwiejszy
#include <amxmodx> #include <amxmisc> #include <csx> #include <engine> #include <nvault> #define RANGI 21 #define PLUGIN "4fun KG" #define VERSION "1.2" #define AUTHOR "WiWa" new GraczFrag[33],GraczPoziom[33],GraczRanga[33] new g_vault new const Rangi[RANGI][] = { "Wiesniak", "Lama", "Sierota", "Owieczka", "Staruszka", "Cherlak", "Kozak", "Macho", "Snajper", "Rambo", "Terminator", "Wiesiek", "Czesiek", "Morfeusz", "Wybraniec", "Killer", "Multi Killer", "Owner", "Cziter", "POD BOT" } new const Poziomy[21] = { 29,59,119,209,324,499,729,999,1399,1849,2299,2899,3549,4199,4999,5899,6899,7999,9299,12000 } public plugin_init(){ register_plugin(PLUGIN, VERSION, AUTHOR); register_event("DeathMsg", "Smierc", "a") g_vault = nvault_open("Rang Mod") ZapiszFrag = register_cvar("ZapiszFrag","1") } public Smierc() { new Ofiara while(GraczFrag[attacker] >= Poziomy[GraczPoziom[attacker]]) { client_print(attacker, print_chat, "[Rang Mod] Gratulacje! Teraz jestes %s", nazwa_rangi[attacker]); GraczPoziom[attacker] += 1 } public ranga(id) { static stats[8], body[8] get_user_stats(id, stats, body) } public client_PreThink(id) { new target; new iHealth = get_user_health(id); if(iHealth > 255) // credit to vittu set_msg_arg_int(1, ARG_BYTE, 255); if(is_user_alive(id)) { set_hudmessage(0, 255, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id, CreateHudSyncObj(), "[Ranga: %s]^n[Zabojstw: %i]^n[Zginiec: %i]^n[Zdrowie: %d]", nazwa_rangi[id], get_user_frags(id), get_user_deaths(id), iHealth); } else { set_hudmessage(0, 255, 0, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2); ShowSyncHudMsg(id, CreateHudSyncObj(), "[Ranga: %s]^n[Zabojstw: %i]^n[Zginiec: %i]^n[Zdrowie: %d]", nazwa_rangi[target], get_user_deaths(target), iHealth) } return true; } public client_connect(id) { if(get_pcvar_num(ZapiszFrag) == 1) { WczytajDane(id) } } public client_disconnect(id) { if(get_pcvar_num(ZapiszFrag) == 1) { / ZapiszDane(id) } } public ZapiszDane(id) { new AuthID[35] get_user_authid(id,AuthID,34) new vaultklucz[64],vaultdane[256] format(vaultklucz,63,"%s-Rang Mod",AuthID) format(vaultdane,255,"%i#%i#",GraczXP[id],GraczPoziom[id]) nvault_set(g_vault,vaultklucz,vaultdane) return PLUGIN_CONTINUE } public WczytajDane(id) { new AuthID[35] get_user_authid(id,AuthID,34) new vaultklucz[64],vaultdane[256] format(vaultklucz,63,"%s-Rang Mod",AuthID) format(vaultdane,255,"%i#%i#",GraczXP[id],GraczPoziom[id]) nvault_get(g_vault,vaultklucz,vaultdane,255) replace_all(vaultdane, 255, "#", " ") new graczxp[32], graczpoziom[32] parse(vaultdane, graczxp, 31, graczpoziom, 31) GraczXP[id] = str_to_num(graczxp) GraczPoziom[id] = str_to_num(graczpoziom) return PLUGIN_CONTINUE }