Luxury Дата: Пятница, 2011-10-28, 13:39 | Сообщение # 1
Сообщений: 82
Установил Deathrun_informer на сервер. Плагин работает, игроки видят время на сервере, время до смены карты, следующую карту, число живих CT и общее количество игроков на сервере. Как сделать чтобы он показывал также и режим игры (ножи, неведимка, рембо). Вот текст в исходнике: #include <amxmodx> #include <cstrike> #include <engine> #define PLUGIN_NAME "DeathRun Informer" #define PLUGIN_AUTHOR "Author" #define PLUGIN_VERSION "1.0" #define INFORMERTID 100503 new PcvarInformer new g_MaxClients new g_HudText public plugin_init() { register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR) register_dictionary("deathrun_info.txt") set_task(1.0, "Informer", INFORMERTID, "", 0, "b") PcvarInformer = register_cvar("deathrun_info", "1") g_MaxClients = get_global_int(GL_maxClients) g_HudText = CreateHudSyncObj() } public Informer() { if(!get_pcvar_num(PcvarInformer)) { remove_task(INFORMERTID) return PLUGIN_HANDLED } new id, acts, cts, all, CurrentTime[32], NextMap[32], Terrorist[32], names[33][32], Message[512] for(id = 1; id <= g_MaxClients; id++) { if(!is_user_connected(id)) { continue } else if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT) { acts++ cts++ all ++ get_user_name(id, names[acts], 31) } else if(!is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT) { cts++ all++ } else if(cs_get_user_team(id) == CS_TEAM_T && !is_user_bot(id)) { get_user_name(id, Terrorist, 63) all++ } else { all++ } } for(id = 1; id <= g_MaxClients; id++) { new Len get_time("%H:%M:%S", CurrentTime, 31) Len += format(Message[Len], 511 - Len, "^n%L: %s", LANG_PLAYER, "CURRENTTIME", CurrentTime) if(get_cvar_float("mp_timelimit")) { new a = get_timeleft() Len += format(Message[Len], 511 - Len, "^n%L: %d:%02d", LANG_PLAYER, "TLEFT", (a / 60), (a % 60)) } else { Len += format(Message[Len], 511 - Len, "^n%L: %L", LANG_PLAYER, "TLEFT", LANG_PLAYER, "LASTR") } get_cvar_string("amx_nextmap", NextMap, 31) Len += format(Message[Len], 511 - Len, "^n%L: %s", LANG_PLAYER, "NMAP", NextMap) Len += format(Message[Len], 511 - Len, "^n%L: %d/%d", LANG_PLAYER, "ALIVECTS", acts,cts) Len += format(Message[Len], 511 - Len, "^n%L: %d/%d", LANG_PLAYER, "APLAYERS", all, g_MaxClients) if(acts > 3) { set_hudmessage(100, 100, 100, 0.01, 0.18, 0, 1.0, 1.0) } else if(acts == 3) { set_hudmessage(0, 255, 0, 0.01, 0.18, 0, 1.0, 1.0) Len += format(Message[Len], 511 - Len, "^n^n1. %s^n2. %s^n3. %s", names[1], names[2], names[3]) } else if(acts == 2) { set_hudmessage(255, 255, 0, 0.01, 0.18, 0, 1.0, 1.0) Len += format(Message[Len], 511 - Len, "^n^n1. %s^n2. %s", names[1], names[2]) } else { set_hudmessage(255, 0, 0, 0.01, 0.18, 1, 1.0, 1.0, _, _, 1) Len += format(Message[Len], 511 - Len, "^n^n1. %s", names[1]) } ShowSyncHudMsg(id, g_HudText, "%s", Message) } return PLUGIN_CONTINUE }