Descarcare:
- | Afiseaza codul
[code=php]#include <amxmodx> #include <amxmisc> #include <zombieplague> #include <nvault> #define PLUGIN "[ZP] Addon: CSO Medal" #define VERSION "1.0" #define AUTHOR "Dias" // Medal: Zombie Hunter #define ZH_MAX_KILL 500 new g_zh_kill[33] // Medal: Master Of Survival #define MS_MAX_ROUND 500 new g_ms_round[33] // Medal: Zombie Terminator #define ZT_MAX_INFECT 500 new g_zt_infect[33] // Medal: Nemesis Hunter #define NH_MAX_KILL 100 new g_nh_kill[33] // Medal: Hero Hunter #define HH_MAX_KILL 100 new g_hh_kill[33] new g_nvault_zh, g_nvault_ms, g_nvault_zt, g_nvault_nh, g_nvault_hh public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) g_nvault_zh = nvault_open("cso_medal_zh") g_nvault_ms = nvault_open("cso_medal_ms") g_nvault_zt = nvault_open("cso_medal_zt") g_nvault_nh = nvault_open("cso_medal_nh") g_nvault_hh = nvault_open("cso_medal_hh") register_event("HLTV", "event_newround", "a", "1=0", "2=0") register_event("DeathMsg", "event_death", "a") register_logevent("event_round_end", 2, "1=Round_End") register_event("TextMsg","event_round_end","a","2=#Game_Commencing","2=#Game_will_restart_in") register_clcmd("say /medal", "show_medal") } public plugin_end() { nvault_close(g_nvault_zh) nvault_close(g_nvault_ms) nvault_close(g_nvault_zt) nvault_close(g_nvault_nh) nvault_close(g_nvault_hh) } public client_putinserver(id) { load_medal_zh(id) load_medal_ms(id) load_medal_zt(id) load_medal_nh(id) load_medal_hh(id) } public client_disconnect(id) { save_medal_zh(id) save_medal_ms(id) save_medal_zt(id) save_medal_nh(id) save_medal_hh(id) } public event_newround() { client_printcolor(0, "!g[Medal System]!y] Type !y/medal!y to open medal menu !!!") } public show_medal(id) { static menu menu = menu_create("Medals", "medal_menu_handle1") add_zombie_hunter(id, menu) add_master_survival(id, menu) add_zombie_terminator(id, menu) add_nemesis_hunter(id, menu) add_hero_hunter(id, menu) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu, 0) } public load_medal_zh(id) { new vaultkey[40], vaultdata[13] new Name[64]; get_user_name(id, Name, 32) formatex(vaultkey, sizeof(vaultkey), "__%s__", Name) nvault_get(g_nvault_zh, vaultkey, vaultdata, 12); g_zh_kill[id] = str_to_num(vaultdata) /* // Build customization file path static path[64], medal_file[128] get_configsdir(path, charsmax(path)) // Set up some vars to hold parsing info new linedata[1024], key[64], value[960] // Open customization file for reading new file, name2[32] get_user_name(id, name2, sizeof(name2)) formatex(medal_file, sizeof(medal_file), "%s/%s/%s.cfg", path, medal_folder, name2) // File not present if (!file_exists(path)) { file = fopen(medal_file, "wt") } file = fopen(medal_file, "rt") while (file && !feof(file)) { // Read one line at a time fgets(file, linedata, charsmax(linedata)) // Blank line or comment if (!linedata[0] || linedata[0] == ';') continue; // Get key and value(s) strtok(linedata, key, charsmax(key), value, charsmax(value), '=') // Trim spaces trim(key) trim(value) if (equal(key, "ZOMBIE_HUNTER")) g_zh_kill[id] = str_to_num(value) else if (equal(key, "MASTER_SURVIVAL")) g_ms_round[id] = str_to_num(value) else if (equal(key, "ZOMBIE_TERMINATOR")) g_zt_infect[id] = str_to_num(value) else if (equal(key, "NEMESIS_HUNTER")) g_nh_kill[id] = str_to_num(value) else if (equal(key, "HERO_HUNTER")) g_hh_kill[id] = str_to_num(value) }*/ } public load_medal_ms(id) { new vaultkey[40], vaultdata[13] new Name[64]; get_user_name(id, Name, 32) formatex(vaultkey, sizeof(vaultkey), "__%s__", Name) nvault_get(g_nvault_ms, vaultkey, vaultdata, 12); g_ms_round[id] = str_to_num(vaultdata) } public load_medal_zt(id) { new vaultkey[40], vaultdata[13] new Name[64]; get_user_name(id, Name, 32) formatex(vaultkey, sizeof(vaultkey), "__%s__", Name) nvault_get(g_nvault_zt, vaultkey, vaultdata, 12); g_zt_infect[id] = str_to_num(vaultdata) } public load_medal_nh(id) { new vaultkey[40], vaultdata[13] new Name[64]; get_user_name(id, Name, 32) formatex(vaultkey, sizeof(vaultkey), "__%s__", Name) nvault_get(g_nvault_nh, vaultkey, vaultdata, 12); g_nh_kill[id] = str_to_num(vaultdata) } public load_medal_hh(id) { new vaultkey[40], vaultdata[13] new Name[64]; get_user_name(id, Name, 32) formatex(vaultkey, sizeof(vaultkey), "__%s__", Name) nvault_get(g_nvault_hh, vaultkey, vaultdata, 12); g_hh_kill[id] = str_to_num(vaultdata) } // Save Data public save_medal_zh(id) { new vaultkey[40], vaultdata[13]; new Name[33]; get_user_name(id, Name, 32); formatex(vaultkey, 39, "__%s__", Name); formatex(vaultdata, 12, "%i", g_zh_kill[id]); nvault_set(g_nvault_zh, vaultkey, vaultdata); } public save_medal_ms(id) { new vaultkey[40], vaultdata[13]; new Name[33]; get_user_name(id, Name, 32); formatex(vaultkey, 39, "__%s__", Name); formatex(vaultdata, 12, "%i", g_ms_round[id]); nvault_set(g_nvault_ms, vaultkey, vaultdata); } public save_medal_zt(id) { new vaultkey[40], vaultdata[13]; new Name[33]; get_user_name(id, Name, 32); formatex(vaultkey, 39, "__%s__", Name); formatex(vaultdata, 12, "%i", g_zt_infect[id]); nvault_set(g_nvault_zt, vaultkey, vaultdata); } public save_medal_nh(id) { new vaultkey[40], vaultdata[13]; new Name[33]; get_user_name(id, Name, 32); formatex(vaultkey, 39, "__%s__", Name); formatex(vaultdata, 12, "%i", g_nh_kill[id]); nvault_set(g_nvault_nh, vaultkey, vaultdata); } public save_medal_hh(id) { new vaultkey[40], vaultdata[13]; new Name[33]; get_user_name(id, Name, 32); formatex(vaultkey, 39, "__%s__", Name); formatex(vaultdata, 12, "%i", g_hh_kill[id]); nvault_set(g_nvault_hh, vaultkey, vaultdata); } public zp_user_infected_post(victim, attacker) { if(is_user_alive(attacker) && zp_get_user_zombie(attacker)) { if(g_zt_infect[attacker] < ZT_MAX_INFECT) { g_zt_infect[attacker]++ if(g_zt_infect[attacker] >= ZT_MAX_INFECT) { static Name[64] get_user_name(attacker, Name, sizeof(Name)) client_printcolor(0, "!g[Medal System]!y Congratulation !!!. %s reward medal !tZombie Terminator!y !!!", Name) } save_medal_zt(attacker) } } } public event_death() { static attacker, victim attacker = read_data(1) victim = read_data(2) if(zp_get_user_zombie(victim) && !zp_get_user_zombie(attacker)) { if(g_zh_kill[attacker] < ZH_MAX_KILL) { g_zh_kill[attacker]++ if(g_zh_kill[attacker] >= ZH_MAX_KILL) { static Name[64] get_user_name(attacker, Name, sizeof(Name)) client_printcolor(0, "!g[Medal System]!y Congratulation !!!. %s reward medal !tZombie Hunter!y !!!", Name) } save_medal_zh(attacker) } } else if(zp_get_user_nemesis(victim) && !zp_get_user_zombie(attacker) && !zp_get_user_nemesis(attacker)) { if(g_nh_kill[attacker] < NH_MAX_KILL) { g_nh_kill[attacker]++ if(g_nh_kill[attacker] >= NH_MAX_KILL) { static Name[64] get_user_name(attacker, Name, sizeof(Name)) client_printcolor(0, "!g[Medal System]!y Congratulation !!!. %s reward medal !tNemesis Hunter!y !!!", Name) } save_medal_nh(attacker) } } else if(zp_get_user_survivor(victim) && zp_get_user_zombie(attacker) || zp_get_user_nemesis(attacker)) { if(g_hh_kill[attacker] < HH_MAX_KILL) { g_hh_kill[attacker]++ if(g_hh_kill[attacker] >= HH_MAX_KILL) { static Name[64] get_user_name(attacker, Name, sizeof(Name)) client_printcolor(0, "!g[Medal System]!y Congratulation !!!. %s reward medal !tHero Hunter!y !!!", Name) } save_medal_nh(attacker) } } } public event_round_end(id) { if(is_user_alive(id) && !zp_get_user_zombie(id)) { if(g_ms_round[id] < MS_MAX_ROUND) { g_ms_round[id]++ if(g_ms_round[id] >= MS_MAX_ROUND) { static Name[64] get_user_name(id, Name, sizeof(Name)) client_printcolor(0, "!g[Medal System]!y Congratulation !!!. %s reward medal !tMaster Of Survival!y !!!", Name) } save_medal_ms(id) } } } // Medal: Zombie Hunter public add_zombie_hunter(id, menu) { static temp_string[128] if(g_zh_kill[id] < ZH_MAX_KILL) formatex(temp_string, sizeof(temp_string), "\yZombie Hunter \r%i/%i", g_zh_kill[id], ZH_MAX_KILL) else formatex(temp_string, sizeof(temp_string), "\yZombie Hunter \dComplete") menu_additem(menu, temp_string, "0") } // End Of Medal: Zombie Hunter // Medal: Master Of Survival public add_master_survival(id, menu) { static temp_string[128] if(g_ms_round[id] < MS_MAX_ROUND) formatex(temp_string, sizeof(temp_string), "\yMaster Of Survival \r%i/%i", g_ms_round[id], MS_MAX_ROUND) else formatex(temp_string, sizeof(temp_string), "\yMaster Of Survival \dComplete") menu_additem(menu, temp_string, "1") } // End Of Medal: Master of Survival // Medal: Zombie Terminator public add_zombie_terminator(id, menu) { static temp_string[128] if(g_zt_infect[id] < ZT_MAX_INFECT) formatex(temp_string, sizeof(temp_string), "\yZombie Terminator \r%i/%i", g_zt_infect[id], ZT_MAX_INFECT) else formatex(temp_string, sizeof(temp_string), "\yZombie Terminator \dComplete") menu_additem(menu, temp_string, "2") } // End Of Medal: Zombie Terminator // Medal: Nemesis Hunter public add_nemesis_hunter(id, menu) { static temp_string[128] if(g_nh_kill[id] < NH_MAX_KILL) formatex(temp_string, sizeof(temp_string), "\yNemesis Hunter \r%i/%i", g_nh_kill[id], NH_MAX_KILL) else formatex(temp_string, sizeof(temp_string), "\yNemesis Hunter \dComplete") menu_additem(menu, temp_string, "3") } // End Of Medal: Nemesis Hunter // Medal: Hero Hunter public add_hero_hunter(id, menu) { static temp_string[128] if(g_hh_kill[id] < HH_MAX_KILL) formatex(temp_string, sizeof(temp_string), "\yHero Hunter \r%i/%i", g_hh_kill[id], HH_MAX_KILL) else formatex(temp_string, sizeof(temp_string), "\yHero Hunter \dComplete") menu_additem(menu, temp_string, "4") } // End Of Medal: Nemesis Hunter public medal_menu_handle1(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED } static data[6], szName[64], access1, callback menu_item_getinfo(menu, item, access1, data,charsmax(data), szName,charsmax(szName), callback) static key_number key_number = str_to_num(data) switch(key_number) { case 0: { if(g_zh_kill[id] < ZH_MAX_KILL) client_printcolor(id, "!g[Medal System]!y You must Kill !t%i!y zombies to reward medal !tZombie Hunter!y !!!", ZH_MAX_KILL) else client_printcolor(id, "!g[Medal System]!y You have !tCompleted!y medal !tZombie Hunter!y !!!") } case 1: { if(g_ms_round[id] < MS_MAX_ROUND) client_printcolor(id, "!g[Medal System]!y You must Survive !t%i!y rounds to reward medal !tMaster Of Survival!y !!!", MS_MAX_ROUND) else client_printcolor(id, "!g[Medal System]!y You have !tCompleted!y medal !tMaster Of Survival!y !!!") } case 2: { if(g_zt_infect[id] < ZT_MAX_INFECT) client_printcolor(id, "!g[Medal System]!y You must Infect !t%i!y humans to reward medal !tZombie Terminator!y !!!", ZT_MAX_INFECT) else client_printcolor(id, "!g[Medal System]!y You have !tCompleted!y medal !tZombie Terminator!y !!!") } case 3: { if(g_nh_kill[id] < NH_MAX_KILL) client_printcolor(id, "!g[Medal System]!y You must Kill !t%i!y nemesises to reward medal !tNemesis Hunter!y !!!", NH_MAX_KILL) else client_printcolor(id, "!g[Medal System]!y You have !tCompleted!y medal !tMaster Of Survival!y !!!") } case 4: { if(g_hh_kill[id] < HH_MAX_KILL) client_printcolor(id, "!g[Medal System]!y You must Kill !t%i!y heroes to reward medal !tHero Hunter!y !!!", HH_MAX_KILL) else client_printcolor(id, "!g[Medal System]!y You have !tCompleted!y medal !tHero Hunter!y !!!") } } return PLUGIN_HANDLED } stock client_printcolor(const id, const input[], any:...) { new iCount = 1, iPlayers[32] static szMsg[191] vformat(szMsg, charsmax(szMsg), input, 3) replace_all(szMsg, 190, "!g", "^4") replace_all(szMsg, 190, "!y", "^1") replace_all(szMsg, 190, "!t", "^3") if(id) iPlayers[0] = id else get_players(iPlayers, iCount, "ch") for (new i = 0; i < iCount; i++) { if(is_user_connected(iPlayers)) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, iPlayers) write_byte(iPlayers) write_string(szMsg) message_end() } } } [/code]
Nume: [ZP] Addon: CSO medal
Versiune: :-??
Link oficial: :-??
Instalare:
1. Fisierul nume_plugin.sma il puneti in addons/amxmodx/scripting
2. Fisierul nume_plugin.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
Code: Select all
nume_plugin.amxx
Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
n'avem d'astea
Comenzi administrative (se tasteaza in consola si trebuie sa fiti administrator):
e criza
Comenzi publice (se tasteaza in joc prin apasarea tastei Y):
- /medal - afiseaza medaliile
- Nvault
Imagini:
n-avem.