/* Plugin generated by AMXX-Studio */ #include #include #include #include #include #include #include #define PLUGIN "Reborn System" #define VERSION "1.0" #define AUTHOR "Na 5tyk" #define DMG_BULLET (1<<1) #define LVL 100 //Od jakiego LVLa mozna robic reborny #define MAX 50 //Ile max rebornow #define SPADA 1 //Na jaki poziom siÄ™ spada new reborn[33]; new nick[33][64]; new vault; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /reborn", "Menu"); register_clcmd("say_team /reborn", "Menu"); register_event("ResetHUD", "ResetHUD", "abe"); register_event("DeathMsg", "DeathMsg", "a"); RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); vault = nvault_open("Reborn"); } public plugin_natives() { register_native("cod_reborn", "PobierzReborna", 1); } public client_connect(id) { get_user_name(id, nick[id], 63); Wczytaj(id); } public client_disconnect(id) { Zapisz(id); } public Zapisz(id) { new vaultkey[64], vaultdata[256]; format(vaultkey, 63, "%s-PLAYER", nick[id]); format(vaultdata, 255, "%i", reborn[id]); nvault_set(vault, vaultkey, vaultdata); return 0; } public Wczytaj(id) { new vaultkey[64], vaultdata[256]; format(vaultkey, 63, "%s-PLAYER", nick[id]); format(vaultdata, 255, "%i", reborn[id]); nvault_get(vault, vaultkey, vaultdata, 255); replace_all(vaultdata, 255, "#", " "); new reb[32]; parse(vaultdata, reb, 31); reborn[id] = str_to_num(reb); return 0; } public Menu(id) { new brak = LVL - cod_get_user_level(id) new b[100]; if(brak < LVL) format(b, charsmax(b), "Do reborna brakuje Ci r%i wLevel", brak); else format(b, charsmax(b), "Mozesz zrobic Reborna!"); new menu = menu_create("Reborn Menu", "handle"); menu_additem(menu, "Zrob reborna"); menu_additem(menu, "Opis"); menu_addtext(menu, b); menu_display(id, menu); } public handle(id, menu, key) { switch(key) { case 0: { if(cod_get_user_level(id) > LVL && reborn[id] < MAX) { new potrzeba; potrzeba = cod_get_level_xp(SPADA-1); cod_set_user_xp(id, potrzeba); reborn[id]++; } else { ColorChat(id, RED, "^x04[COD:MW] ^x01Masz za maly pozoim lub masz juz maxymalny poziom rebornow!"); } } case 1: { ColorChat(id, RED, "^x04[COD:MW] ^x01Po zrobieniu reborna masz wiecej HP, wieksze obrazenia oraz szybciej leci ci EXP!"); } } } public Odrodzenie(id) { if(!is_user_alive(id) || !is_user_connected(id)) return PLUGIN_CONTINUE; if(cod_get_user_level(id) > LVL) ColorChat(id, RED, "^x04[COD:MW] ^x01Posiadasz wystarczajacy poziom aby zrobic reborna! Wpisz ^x04/reborn"); new ile = reborn[id]*20; if(reborn[id] > 0) set_user_health(id, get_user_health(id) + ile); } public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { new Float:ile = reborn[idattacker]*2.0 if(!is_user_connected(idattacker)) return HAM_IGNORED; if(get_user_team(this) != get_user_team(idattacker) && damagebits & DMG_BULLET) cod_inflict_damage(idattacker, this, ile, 0.0, idinflictor, damagebits); return HAM_IGNORED; } public DeathMsg(){ new killer=read_data(1); new victim=read_data(2); if(is_user_alive(killer) && get_user_team(killer) != get_user_team(victim)){ DeathMsgVip(killer,victim,read_data(3)); } } public DeathMsgVip(kid,vid,hs) { new ilexp = reborn[kid]*10000 cod_set_user_xp(kid, cod_get_user_xp(kid)+ilexp); } public motd(id) { show_motd(id, "reborn.txt"); } public PobierzReborna(id) return reborn[id]; /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\ rtf1\ ansi\ deff0{\ fonttbl{\ f0\ fnil Tahoma;}}n\ viewkind4\ uc1\ pard\ lang1045\ f0\ fs16 n\ par } */