#include #include #include new g_vmenu new SayText new lookout_sound[][] = { "voice_sound/look_out/look_out01.wav", "voice_sound/look_out/look_out02.wav", "voice_sound/look_out/look_out03.wav", "voice_sound/look_out/look_out04.wav" } new run_sound[][] = { "voice_sound/run/run01.wav", "voice_sound/run/run02.wav", "voice_sound/run/run03.wav", "voice_sound/run/run04.wav" } new wait_for_me_snd[][] = { "voice_sound/wait_for_me/wait_for_me01.wav", "voice_sound/wait_for_me/wait_for_me02.wav", "voice_sound/wait_for_me/wait_for_me03.wav", "voice_sound/wait_for_me/wait_for_me04.wav" } new holeup_sound[][] = { "voice_sound/hole_up/hole_up01.wav", "voice_sound/hole_up/hole_up02.wav", "voice_sound/hole_up/hole_up03.wav", "voice_sound/hole_up/hole_up04.wav" } new follow_me_snd[][] = { "voice_sound/follow_me/follow_me01.wav", "voice_sound/follow_me/follow_me02.wav", "voice_sound/follow_me/follow_me03.wav", "voice_sound/follow_me/follow_me04.wav" } new yes_sound[][] = { "voice_sound/yes/yes01.wav", "voice_sound/yes/yes02.wav", "voice_sound/yes/yes03.wav", "voice_sound/yes/yes04.wav" } new no_sound[][] = { "voice_sound/no/no01.wav", "voice_sound/no/no02.wav", "voice_sound/no/no03.wav", "voice_sound/no/no04.wav" } new thanks_sound[][] = { "voice_sound/thanks/thanks01.wav", "voice_sound/thanks/thanks02.wav", "voice_sound/thanks/thanks03.wav", "voice_sound/thanks/thanks04.wav" } new sorry_sound[][] = { "voice_sound/sorry/sorry01.wav", "voice_sound/sorry/sorry02.wav", "voice_sound/sorry/sorry03.wav", "voice_sound/sorry/sorry04.wav" } new get_inside_snd[][] = { "voice_sound/get_inside/get_inside01.wav", "voice_sound/get_inside/get_inside02.wav", "voice_sound/get_inside/get_inside03.wav", "voice_sound/get_inside/get_inside04.wav" } new go_outside_snd[][] = { "voice_sound/go_outside/go_outside01.wav", "voice_sound/go_outside/go_outside02.wav", "voice_sound/go_outside/go_outside03.wav", "voice_sound/go_outside/go_outside04.wav" } new insults_human_snd[][] = { "voice_sound/insult_humans/insult_humans01.wav", "voice_sound/insult_humans/insult_humans02.wav", "voice_sound/insult_humans/insult_humans03.wav", "voice_sound/insult_humans/insult_humans04.wav", "voice_sound/insult_humans/insult_humans05.wav" } new insults_zombie_snd[][] = { "voice_sound/insult_zombies/insult_zombies01.wav", "voice_sound/insult_zombies/insult_zombies02.wav", "voice_sound/insult_zombies/insult_zombies03.wav", "voice_sound/insult_zombies/insult_zombies04.wav", "voice_sound/insult_zombies/insult_zombies05.wav" } public plugin_precache() { for(new i; i < sizeof lookout_sound; i++) { precache_sound(lookout_sound[i]) } for(new i; i < sizeof run_sound; i++) { precache_sound(run_sound[i]) } for(new i; i < sizeof wait_for_me_snd; i++) { precache_sound(wait_for_me_snd[i]) } for(new i; i < sizeof holeup_sound; i++) { precache_sound(holeup_sound[i]) } for(new i; i < sizeof follow_me_snd; i++) { precache_sound(follow_me_snd[i]) } for(new i; i < sizeof yes_sound; i++) { precache_sound(yes_sound[i]) } for(new i; i < sizeof no_sound; i++) { precache_sound(no_sound[i]) } for(new i; i < sizeof thanks_sound; i++) { precache_sound(thanks_sound[i]) } for(new i; i < sizeof sorry_sound; i++) { precache_sound(sorry_sound[i]) } for(new i; i < sizeof get_inside_snd; i++) { precache_sound(get_inside_snd[i]) } for(new i; i < sizeof go_outside_snd; i++) { precache_sound(go_outside_snd[i]) } for(new i; i < sizeof insults_human_snd; i++) { precache_sound(insults_human_snd[i]) } for(new i; i < sizeof insults_zombie_snd; i++) { precache_sound(insults_zombie_snd[i]) } } public plugin_init() { register_plugin("[ZP]Voice Menu", "0.1", "kto_to") register_clcmd("voice_menu", "voice_menu", _, "Open voice menu") register_dictionary("voice_menu.txt") SayText = get_user_msgid("SayText") } public client_connect(id) { client_cmd(id,"Bind z voice_menu") client_cmd(id,"Bind x voice_menu") client_cmd(id,"Bind c voice_menu") } public voice_menu(id) { new vmenu_msg[128] formatex(vmenu_msg, 127, "%L", LANG_SERVER, "VMENU_HANDLER") g_vmenu = menu_create(vmenu_msg, "h_vmenu") formatex(vmenu_msg, 127, "%L", LANG_SERVER, "VMENU_WARNING") menu_additem(g_vmenu, vmenu_msg) formatex(vmenu_msg, 127, "%L", LANG_SERVER, "VMENU_CONFIRMATION") menu_additem(g_vmenu, vmenu_msg) formatex(vmenu_msg, 127, "%L", LANG_SERVER, "VMENU_MOVING") menu_additem(g_vmenu, vmenu_msg) formatex(vmenu_msg, 127, "%L", LANG_SERVER, "VMENU_INSULTS") menu_additem(g_vmenu, vmenu_msg) menu_addblank(g_vmenu, 0) menu_setprop(g_vmenu, MEXIT_ALL, 0) formatex(vmenu_msg, 127, "%L", LANG_SERVER, "VMENU_EXIT") menu_additem(g_vmenu, vmenu_msg) if(!zp_get_user_zombie(id) && is_user_alive(id)) menu_display(id, g_vmenu) } public h_vmenu(id, menu, item) { new menu_warning, menu_confirmation, menu_moving, menu_insults new menu_msg[128] new name[32],pid = read_data(2) get_user_name(pid,name,31) switch(item) { case 0: { formatex(menu_msg, 127, "%L", LANG_SERVER, "VMENU_WARNING") menu_warning = menu_create(menu_msg, "h_warningmenu") formatex(menu_msg, 127, "%L", LANG_SERVER, "WARNING_1") menu_additem(menu_warning, menu_msg) formatex(menu_msg, 127, "%L", LANG_SERVER, "WARNING_2") menu_additem(menu_warning, menu_msg) formatex(menu_msg, 127, "%L", LANG_SERVER, "WARNING_3") menu_additem(menu_warning, menu_msg) formatex(menu_msg, 127, "%L", LANG_SERVER, "WARNING_4") menu_additem(menu_warning, menu_msg) formatex(menu_msg, 127, "%L", LANG_SERVER, "WARNING_5") menu_additem(menu_warning, menu_msg) menu_display(id, menu_warning) } case 1: { formatex(menu_msg, 127, "%L", LANG_SERVER, "VMENU_CONFIRMATION") menu_confirmation = menu_create(menu_msg, "h_confirmmenu") formatex(menu_msg, 127, "%L", LANG_SERVER, "CONFIR_1") menu_additem(menu_confirmation, menu_msg) formatex(menu_msg, 127, "%L", LANG_SERVER, "CONFIR_2") menu_additem(menu_confirmation, menu_msg) formatex(menu_msg, 127, "%L", LANG_SERVER, "CONFIR_3") menu_additem(menu_confirmation, menu_msg) formatex(menu_msg, 127, "%L", LANG_SERVER, "CONFIR_4") menu_additem(menu_confirmation, menu_msg) menu_display(id, menu_confirmation) } case 2: { formatex(menu_msg, 127, "%L", LANG_SERVER, "VMENU_MOVING") menu_moving = menu_create(menu_msg, "h_movingmenu") formatex(menu_msg, 127, "%L", LANG_SERVER, "MOVING_1") menu_additem(menu_moving, menu_msg) formatex(menu_msg, 127, "%L", LANG_SERVER, "MOVING_2") menu_additem(menu_moving, menu_msg) menu_display(id, menu_moving) } case 3: { formatex(menu_msg, 127, "%L", LANG_SERVER, "VMENU_INSULTS") menu_insults = menu_create(menu_msg, "h_insultsmenu") formatex(menu_msg, 127, "%L", LANG_SERVER, "INSULTS_1") menu_additem(menu_insults, menu_msg) formatex(menu_msg, 127, "%L", LANG_SERVER, "INSULTS_2") menu_additem(menu_insults, menu_msg) menu_display(id, menu_insults) } } } public h_warningmenu(id, menu, item) { static name[32] get_user_name(id, name, 31) switch(item) { case 0: { new a = random_num(0, sizeof lookout_sound-1) emit_sound(id, 2, lookout_sound[a], 1.0, 1.0, 0, 50) ChatColor(0, "^4[%s] ^1Осторожнее!", name) } case 1: { new a = random_num(0, sizeof run_sound-1) emit_sound(id, 2, run_sound[a], 1.0, 1.0, 0, 50) ChatColor(0, "^4[%s] ^1Беги!", name) } case 2: { new a = random_num(0, sizeof wait_for_me_snd-1) emit_sound(id, 2, wait_for_me_snd[a], 1.0, 1.0, 0, 50) ChatColor(0, "^4[%s] ^1Подождите меня!", name) } case 3: { new a = random_num(0, sizeof holeup_sound-1) emit_sound(id, 2, holeup_sound[a], 1.0, 1.0, 0, 50) ChatColor(0, "^4[%s] ^1Прячемся здесь!", name) } case 4: { new a = random_num(0, sizeof follow_me_snd-1) emit_sound(id, 2, follow_me_snd[a], 1.0, 1.0, 0, 50) ChatColor(0, "^4[%s] ^1За мной!", name) } } } public h_confirmmenu(id, menu, item) { static name[32] get_user_name(id, name, 31) switch(item) { case 0: { new a = random_num(0, sizeof yes_sound-1) emit_sound(id, 2, yes_sound[a], 1.0, 1.0, 0, 50) ChatColor(0, "^4[%s] ^1Да!", name) } case 1: { new a = random_num(0, sizeof no_sound-1) emit_sound(id, 2, no_sound[a], 1.0, 1.0, 0, 50) ChatColor(0, "^4[%s] ^1Нет!", name) } case 2: { new a = random_num(0, sizeof thanks_sound-1) emit_sound(id, 2, thanks_sound[a], 1.0, 1.0, 0, 50) ChatColor(0, "^4[%s] ^1Спасибо!", name) } case 3: { new a = random_num(0, sizeof sorry_sound-1) emit_sound(id, 2, sorry_sound[a], 1.0, 1.0, 0, 50) ChatColor(0, "^4[%s] ^1Извини!", name) } } } public h_movingmenu(id, menu, item) { static name[32] get_user_name(id, name, 31) switch(item) { case 0: { new a = random_num(0, sizeof get_inside_snd-1) emit_sound(id, 2, get_inside_snd[a], 1.0, 1.0, 0, 50) ChatColor(0, "^4[%s] ^1Внутрь!", name) } case 1: { new a = random_num(0, sizeof go_outside_snd-1) emit_sound(id, 2, go_outside_snd[a], 1.0, 1.0, 0, 50) ChatColor(0, "^4[%s] ^1Наружу!", name) } } } public h_insultsmenu(id, menu, item) { static name[32] get_user_name(id, name, 31) switch(item) { case 0: { new a = random_num(0, sizeof insults_human_snd-1) emit_sound(id, 2, insults_human_snd[a], 1.0, 1.0, 0, 50) ChatColor(0, "^4[%s] ^1Насмешки над Людьми!", name) } case 1: { new a = random_num(0, sizeof insults_zombie_snd-1) emit_sound(id, 2, insults_zombie_snd[a], 1.0, 1.0, 0, 50) ChatColor(0, "^4[%s] ^1Насмешки над Зомби!", name) } } } public zp_round_started() { new start_msg[128] formatex(start_msg,127, "%L", LANG_SERVER, "START_MSG") ChatColor(0, start_msg) } stock ChatColor(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!t", "^3") if(id) players[0] = id; else get_players(players, count, "ch") { for(new i = 0; i < count; i++) { if(is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i]) write_byte(players[i]) write_string(msg) message_end() } } } }