Siemka mam plugin ten co nadolei nie zapisuje rangi, resetuja sie jak ktos wyjdzie i wejdze na serwer, doradzi ktoś lub przerobi żeby się zapisywał, moze dodać zeby pod base sie podczepiało. Druga sprawa żeby zabicia sie liczyły w TT. W CT nie tylko w TT
#include <amxmodx>
#include <hamsandwich>#include <nvault>new PLUGIN[] = "Rangi"new VERSION[] = "1.1"new AUTHOR[] = "Petpat"new TASK = 666new poziom[33];new ranga[][] = {"Brak","Nowy na JB", "JailBreakowiec", "Wiezień", "Zabójca","Postrach CT", "Masowy TT", "Morderca", "Skazaniec","Buntownik", "Gwartownik Buntu", "Multi Buntownik", "Pogromca CT","Wybraniec", "Ostateczny Morderca", "Terminator", "Cziter","Jedno-Osobowa Armia", "DeagleShoot Master", "Pogromca DeagleShoot", "Wybraniec DeagleShoot","Król JailBreak"}new const wymaganezabojstwa[33] = {0,20, 50, 75, 100, 125, 150, 175, 200, 225, 250,275, 300, 325, 350, 400, 450, 500, 600, 700, 800,900, 1000}new SHO, zapis_sprawdz, zabojstwa[33];public plugin_init(){register_plugin(PLUGIN, VERSION, AUTHOR)RegisterHam(Ham_Spawn, "player", "respawn");register_event("DeathMsg", "DeathMsg", "a");register_message(get_user_msgid("SayText"), "Prefix");SHO = CreateHudSyncObj();zapis_sprawdz = nvault_open("ranga")if(zapis_sprawdz == INVALID_HANDLE)set_fail_state("[BLAD] Nie moge otworzyc pliku");}public DeathMsg(){new zabil = read_data(1)if(is_user_alive(zabil) && is_user_connected(zabil)){zabojstwa[zabil]++}}public client_connect(id){wczytaj(id)Wczytaj_Dane(id)}public client_disconnect(id){Zapisz_Dane(id)}public respawn(id){if(!task_exists(id+TASK))set_task(0.1, "Hud", id+TASK, .flags = "b");}public Hud(id){id -= TASK;if(!is_user_connected(id)){remove_task(id+TASK)return PLUGIN_CONTINUE}if(zabojstwa[id] == 0){poziom[id] = 0;} else if(zabojstwa[id] >= 1) {while(zabojstwa[id] >= wymaganezabojstwa[poziom[id]])poziom[id]++}set_hudmessage(0, 255, 0, 0.05, 0.42, 0, 1.0, 1.0, 0.1, 0.1);ShowSyncHudMsg(id, SHO, "|/|Poziom : %d^n|/|Zabicia: %d/%d^n|/|Ranga : %s", poziom[id], zabojstwa[id], wymaganezabojstwa[poziom[id]], ranga[poziom[id]]);return PLUGIN_CONTINUE;}public Zapisz_Dane(id){new name[64];get_user_name(id, name, 63)Zapisz_DaneNick(id, name)}public Zapisz_DaneNick(id, name[]){new vaultkey[128],vaultdata[256]formatex(vaultkey, 127 ,"%s-RNG", name);formatex(vaultdata, 255, " ^"%d^" ^"%d^"", zabojstwa[id], poziom[id])nvault_set(zapis_sprawdz, vaultkey, vaultdata);}public Wczytaj_Dane(id){new name[32]get_user_name(id, name, 31)Wczytaj_DaneNick(id, name)}public Wczytaj_DaneNick(id, name[]){new vaultkey[128],vaultdata[256]formatex(vaultkey, 127, "%s-RNG", name);nvault_get(zapis_sprawdz, vaultkey, vaultdata, 255);if(nvault_get(zapis_sprawdz, vaultkey, vaultdata, 127)) {new zabojstwatemp[16], poziomtemp[16];parse(vaultdata, zabojstwatemp, 15, poziomtemp, 15)zabojstwa[id] = str_to_num(zabojstwatemp)poziom[id] = str_to_num(poziomtemp)}}public wczytaj(id){zabojstwa[id] = 0;poziom[id] = 0;}public client_infochanged(id){new NowyNick[32], StaryNick[32];get_user_info(id, "name", NowyNick, 31);get_user_name(id, StaryNick, 31);if(!equal(StaryNick, NowyNick)){Zapisz_DaneNick(id, StaryNick);wczytaj(id);Wczytaj_DaneNick(id, NowyNick);}}public Prefix(msgId,msgDest,msgEnt){new id = get_msg_arg_int(1);if(!is_user_connected(id))return PLUGIN_CONTINUE;new szTmp[256],szTmp2[256];get_msg_arg_string(2,szTmp, charsmax( szTmp ) )new szPrefix[64];formatex(szPrefix,charsmax( szPrefix ),"^x04[^x01%s^x04]^x03", ranga[poziom[id]]);if(!equal(szTmp,"#Cstrike_Chat_All")) {add(szTmp2,charsmax(szTmp2),szPrefix);add(szTmp2,charsmax(szTmp2)," ");add(szTmp2,charsmax(szTmp2),szTmp);}else{add(szTmp2,charsmax(szTmp2),szPrefix);add(szTmp2,charsmax(szTmp2),"^x03%s1^x01 : %s2");}set_msg_arg_string(2,szTmp2);return PLUGIN_CONTINUE;}
Użytkownik domin620 edytował ten post 22.04.2016 14:03