Code: Select all
#include <amxmodx>#include <zombieplague> /*================================================================================ [Customizations]=================================================================================*/ // Hudmessage tagnew const hud_tag[] = "Current Mode: " // Name for each Hudmessage Modenew const mode_names[][] ={ "Waiting for New Mode...", // No mode Started "Normal Infection", // Normal Infection, single round "Nemesis Mode", // Nemesis Mode (zombie boss) "Survivor Mode", // Survivor Mode (human boss) "Swarm Mode", // Swarm round (no infections) "Multi-Infection", // Multiple Infection (like single round, but, more than 1 zombie) "Plague Mode", // Plague round (nemesis & zombies vs. survivors & humans) "Sniper Mode", "Assassin Mode", "Armageddon Mode", "Undefined Mode" // An unofficial mode (edited/created/modified by user)} // RGB Colors for each Hudmessage Mode// See here some RGB Colors: http://web.njit.edu/~kevin/rgb.txt.htmlnew const rgb_hud_colors[sizeof(mode_names)][3] ={// R G B {255, 255, 255}, // No mode Started {0, 255, 0}, // Normal Infection, single round {255, 0, 0}, // Nemesis Mode (zombie boss) {0, 0, 255}, // Survivor Mode (human boss) {255, 255, 0}, // Swarm round (no infections) {0, 255, 0}, // Multiple Infection (like single round, but, more than 1 zombie) {255, 0, 0}, // Plague round (nemesis & zombies vs. survivors & humans) {0, 0, 255}, // Survivor Mode (human boss) {255, 0, 0}, // Nemesis Mode (zombie boss) {255, 0, 0}, // Nemesis Mode (zombie boss) {255, 255, 255} // An unofficial mode (edited/created/modified by user)} // X Hudmessage Position ( --- )const Float:HUD_MODE_X = 0.65 // Y Hudmessage Position ( ||| )const Float:HUD_MODE_Y = 0.2 // Time at which the Hudmessage is displayed. (when user is puted into the Server)const Float:START_TIME = 3.0 /*================================================================================ Customization ends here! Yes, that's it. Editing anything beyond here is not officially supported. Proceed at your own risk...=================================================================================*/ // Variablesnew g_SyncHud, g_Mode // Cvar pointersnew cvar_enable, cvar_central public plugin_init() { // Plugin Info register_plugin("[ZP] Addon: Display the Current Mode", "0.1.6", "meTaLiCroSS") // Round Start Event register_event("HLTV", "event_RoundStart", "a", "1=0", "2=0") // Enable Cvar cvar_enable = register_cvar("zp_display_mode", "1") // Server Cvar register_cvar("zp_addon_dtcm", "v0.1.6 by meTaLiCroSS", FCVAR_SERVER|FCVAR_SPONLY) // Variables g_SyncHud = CreateHudSyncObj() // Getting "zp_on" cvar if(cvar_exists("zp_on")) cvar_central = get_cvar_pointer("zp_on") // If Zombie Plague is not running (bugfix) if(!get_pcvar_num(cvar_central)) pause("a") } public client_putinserver(id){ // Setting Hud set_task(START_TIME, "mode_hud", id, _, _, "b")} public event_RoundStart(){ // Update var (no mode started / in delay) g_Mode = 0} public mode_hud(id){ // If the Cvar isn't enabled if(!get_pcvar_num(cvar_enable)) return; // Hud Options set_hudmessage(rgb_hud_colors[g_Mode][0], rgb_hud_colors[g_Mode][1], rgb_hud_colors[g_Mode][2], HUD_MODE_X, HUD_MODE_Y, 0, 6.0, 12.0) // Now the hud appears ShowSyncHudMsg(id, g_SyncHud, "%s%s", (g_Mode == 0 ? "" : hud_tag), mode_names[g_Mode])} public zp_round_started(mode, id){ // Update var with Mode num g_Mode = mode // An unofficial mode if(!(1 <= mode < (sizeof(mode_names) - 1))) g_Mode = sizeof(mode_names) - 1} /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par }*/