#include #include #include #include #define PLUGIN "Nowy Plugin" #define VERSION "0.1" #define AUTHOR "Blak Rajder" #define DOSTEP ADMIN_ALL new CsTeams:zTeam[33] new zDeath[33] new bool:type_spec[33] = false new g_cvar public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("show_menu", "menu_wyswietl") } public menu_wyswietl(id) { new menu = menu_create("[COD] Menu", "menu_handler"); menu_additem(menu, "Klasa", "1", 0); menu_additem(menu, "Klasy", "2", 0); menu_additem(menu, "Oddaj", "3", 0); menu_additem(menu, "Drop", "4", 0); menu_additem(menu, "Perk", "5", 0); menu_additem(menu, "Quest", "6", 0); menu_additem(menu, "Spectator", "7", 0); menu_additem(menu, "Menu Admina", "8", ADMIN_MENU); menu_setprop(menu, MPROP_EXITNAME, "Wyjscie"); menu_display(id, menu, 0); } public menu_handler(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } new data[6], iName[64] new acces, callback menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1:{ client_cmd(id, "say /klasa") menu_destroy(menu) return PLUGIN_HANDLED; } case 2:{ client_cmd(id, "say /klasy") menu_destroy(menu) return PLUGIN_HANDLED; } case 3:{ client_cmd(id, "say /oddaj") menu_destroy(menu) return PLUGIN_HANDLED; } case 4:{ client_cmd(id, "say /drop") menu_destroy(menu) return PLUGIN_HANDLED; } case 5:{ client_cmd(id, "say /perk") menu_destroy(menu) return PLUGIN_HANDLED; } case 6:{ client_cmd(id, "say /quest") menu_destroy(menu) return PLUGIN_HANDLED; } case 7:{ client_cmd(id, "say /klasa") menu_destroy(menu) return PLUGIN_HANDLED; } case 8:{ client_cmd(id, "amxmodmenu") menu_destroy(menu) return PLUGIN_HANDLED; } } menu_destroy(menu) return PLUGIN_CONTINUE; } public spectator(id) { new ogladaj = menu_create("Menu obserwacji", "obserwacje"); menu_additem(ogladaj, "Przejdz na spectator", "1", DOSTEP); menu_additem(ogladaj, "Wroc do teamu", "2", DOSTEP); menu_additem(ogladaj, "\rMenu kickow", "3", DOSTEP); menu_additem(ogladaj, "\rMenu banow", "4", DOSTEP); menu_setprop(ogladaj, MPROP_EXITNAME, "Wyjscie"); menu_display(id, ogladaj, 0); } public obserwacje(id, ogladaj, item) { if (item == MENU_EXIT) { menu_destroy(ogladaj) return PLUGIN_HANDLED; } new data[6], iName[64] new acces, callback menu_item_getinfo(ogladaj,item, acces, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1:{ client_cmd(id, "go_spectator") } case 2:{ client_cmd(id, "go_back") } case 3:{ client_cmd(id, "amx_kickmenu") } case 4:{ client_cmd(id, "amx_banmenu") } } return PLUGIN_HANDLED; } public cmdSpec(id) { if(!get_pcvar_num(g_cvar)) Spec(id) else if( get_pcvar_num(g_cvar) && (get_user_flags(id) & DOSTEP)) Spec(id) else if( get_pcvar_num(g_cvar) && !(get_user_flags(id) & DOSTEP)) PrintUserNotAdmin(id) } public cmdBack(id) { if (type_spec[id] && cs_get_user_team(id) == CS_TEAM_SPECTATOR && zTeam[id] != CS_TEAM_SPECTATOR ) Back(id) else if( get_pcvar_num(g_cvar) && !(get_user_flags(id) & DOSTEP) ) PrintUserNotAdmin(id) } public Spec(id) { zDeath[id] = cs_get_user_deaths(id) if (cs_get_user_team(id) == CS_TEAM_SPECTATOR) return else{ type_spec[id] = true zTeam[id] = cs_get_user_team(id) cs_set_user_team(id, CS_TEAM_SPECTATOR) user_silentkill(id) client_print(id,print_chat,"Kliknij 2 zeby powrocic do teamu") } return } public Back(id) { cs_set_user_team(id, zTeam[id]) cs_set_user_deaths(id, zDeath[id]) set_task(0.5,"FirstRespawn",id) set_task(0.8,"SecondRespawn",id) } public FirstRespawn(id) { cs_user_spawn(id) } public SecondRespawn(id) { cs_user_spawn(id) } PrintUserNotAdmin(id) { client_print(id,print_chat,"Tylko admini moga uzywac tych komend") } public PrintRule(id) { if ( is_user_connected(id) && !is_user_bot(id) && !is_user_hltv(id) && (get_user_flags(id) & DOSTEP) ){ client_print(id,print_chat,"Mozliwosc przejscia na specta lub powrotu do teamu znajduje sie w szybkim menu") } } public client_putinserver(id) { if(!get_pcvar_num(g_cvar)) Rule(id) else if( get_pcvar_num(g_cvar) && (get_user_flags(id) & DOSTEP)) Rule(id) client_cmd(id,"bind ^"m^" ^"show_menu^"") } public client_disconnect(id) { client_cmd(id,"unbind ^"m^"") } public client_disconnect(id) type_spec[id] = false public client_connect(id) type_spec[id] = false public Rule(id) set_task(20.0, "PrintRule", id)