#include #include #include #include #include #include #include #include #define PLUGIN "Jail Menu" #define VERSION "1.0.2" #define AUTHOR "Cypis" new bool:menu_mikro, bool:menu_walka; new w_trakcie[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("Damage", "Damage", "b", "2!=0"); register_event("ResetHUD", "SpawnPlayer", "be") register_clcmd("+revision", "wlacz_rewizje"); register_clcmd("-revision", "wylacz_rewizje"); register_clcmd("say /menu", "MenuGraczy"); } public plugin_precache() { precache_sound("weapons/c4_disarm.wav"); precache_sound("weapons/c4_disarmed.wav"); } public SpawnPlayer(id) { w_trakcie[id] = 0; remove_task(5000+id); } public MenuGraczy(id) { if(!is_user_alive(id)) { MenuGraczaNieZywego(id); return PLUGIN_HANDLED; } switch(get_user_team(id)) { case 1: MenuGraczaTT(id); case 2: MenuGraczaCT(id); } return PLUGIN_HANDLED; } public MenuGraczaTT(id) { new menu = menu_create("Menu Wieznia:", "Handel_Menu"); menu_additem(menu, "Czapki", "3"); menu_additem(menu, "Kradnij Bron", "4"); menu_additem(menu, "Wyłam Cele", "12"); menu_additem(menu, "Regulamin", "0"); menu_additem(menu, "Zasady Gier", "1"); menu_additem(menu, "Komendy", "2"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu); } public MenuGraczaCT(id) { new menu = menu_create("Menu Straznika:", "Handel_Menu"); new cb = menu_makecallback("Menu_Callback"); menu_additem(menu, "Prowadz", "6", 1, cb); menu_additem(menu, "Przeszukaj Wieznia","5"); menu_additem(menu, "Otworz Cele", "7", 2, cb); menu_additem(menu, "Tryb Walki", "8", 3, cb); menu_additem(menu, "Mikro dla TT", "9", 3, cb); menu_additem(menu, "Zabawy", "10", 3, cb); menu_additem(menu, "Manager FD i Duszek","11", 3, cb); menu_additem(menu, "Regulamin", "0"); menu_additem(menu, "Zasady Gier", "1"); menu_additem(menu, "Komendy", "2"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu); } public MenuGraczaNieZywego(id) { new menu = menu_create("Menu Widza:", "Handel_Menu"); menu_additem(menu, "Regulamin", "0"); menu_additem(menu, "Zasady Gier", "1"); menu_additem(menu, "Komendy", "2"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu); } public Menu_Callback(id, menu, item) { static num[10], acces, callback; menu_item_getinfo(menu, item, acces, num, 9, _, _, callback); if(id != jail_get_prowadzacy()) { if(!jail_get_days()){ if(acces == 1) return ITEM_DISABLED; } else { if(acces == 2) return ITEM_DISABLED; } } else if(acces == 3 && jail_get_prowadzacy()) { return ITEM_DISABLED; } return ITEM_ENABLED; } public Handel_Menu(id, menu, item) { if(item == MENU_EXIT) return; new num[10], acces, callback; menu_item_getinfo(menu, item, acces, num, 9, _, _, callback); switch(str_to_num(num)) { case 0: show_motd(id, "regulamin.txt", "Regulamin Serwera"); case 1: show_motd(id, "zasadygier.txt", "Zasady Gier"); case 2: show_motd(id, "komendy.txt", "Komendy"); case 3: client_cmd(id, "say /czapki"); case 4: { if(jail_get_prisoner_free(id) || jail_get_user_block(id)) return; new body, target; get_user_aiming(id, target, body, 50); if(target && get_user_team(target) == 1) { ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Nie nacelowales na straznika"); return; } if(!is_user_alive(target)) return; new weapons = Jaki_Pistolet(target); if(!weapons) { ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Straznik nie ma broni krotkiej"); return; } new weaponname[24]; get_weaponname(weapons, weaponname, 23); ham_strip_weapon(target, weapons, weaponname); give_item(id, weaponname); ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Gratulacje - Ukradles bron"); } case 5: w_trakcie[id]? wylacz_rewizje(id): wlacz_rewizje(id); case 6:{ if(!jail_get_prowadzacy()) jail_set_prowadzacy(id); } case 7: jail_open_cele(); case 8: jail_set_prisoners_fight((menu_walka = !menu_walka), !menu_walka); case 9: jail_set_prisoners_micro((menu_mikro = !menu_mikro)); case 10: client_cmd(id, "say /zabawy"); case 11: MenuFreeday(id); case 12: client_cmd(id, "say /cele") } } public MenuFreeday(id) { new menu2 = menu_create("Manager FD i Duszek:", "Handel_ManagerFreeday"); menu_additem(menu2, "Daj Freeday"); menu_additem(menu2, "Daj Duszka^n"); menu_additem(menu2, "Zabierz Freeday"); menu_additem(menu2, "Zabierz Duszka"); menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu2); } public Handel_ManagerFreeday(id, menu, item) { if(item == MENU_EXIT) { return PLUGIN_CONTINUE; } new acces, callback, data[3], iname[32]; menu_item_getinfo(menu, item, acces, data, 2, iname, 31, callback); replace(iname, 31, "^n", ""); new menu2 = menu_create(iname, (!item || item == 2)? "Handel_Menu_Freeday": "Handel_Menu_Duszek"); for(new i=1; i<=32; i++) { if(!is_user_alive(i) || cs_get_user_team(i) != CS_TEAM_T) continue; switch(item) { case 0,1:{ if(jail_get_prisoner_free(i) || jail_get_prisoner_ghost(i)) continue; } case 2:{ if(!jail_get_prisoner_free(i)) continue; } case 3:{ if(!jail_get_prisoner_ghost(i)) continue; } } new name[32]; get_user_name(i, name, 31); menu_additem(menu2, name, (!item || item == 1)? "1": "0"); } menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu2); return PLUGIN_CONTINUE; } public Handel_Menu_Freeday(id, menu, item) { if(item == MENU_EXIT) { return PLUGIN_CONTINUE; } new id2, callback, data[3], name[32]; menu_item_getinfo(menu, item, id2, data, 2, name, 31, callback); callback = data[0]-'0' id2 = get_user_index(name); jail_set_prisoner_free(id2, bool:callback, false); new szName[2][32]; get_user_name(id, szName[0], 31); get_user_name(id2, szName[1], 31); ColorChat(0, TEAM_COLOR,"^x04[PrisonBreak] ^x03%s ^x01%s freedaya ^x03%s",szName[0], callback? "dal": "zabral",szName[1]); return PLUGIN_CONTINUE; } public Handel_Menu_Duszek(id, menu, item) { if(item == MENU_EXIT) { return PLUGIN_CONTINUE; } new id2, callback, data[3], name[32]; menu_item_getinfo(menu, item, id2, data, 2, name, 31, callback); callback = data[0]-'0' id2 = get_user_index(name); jail_set_prisoner_ghost(id2, bool:callback, false); new szName[2][32]; get_user_name(id, szName[0], 31); get_user_name(id2, szName[1], 31); ColorChat(0, TEAM_COLOR,"^x04[PrisonBreak] ^x03%s ^x01%s duszka ^x03%s",szName[0], callback? "dal": "zabral",szName[1]); return PLUGIN_CONTINUE; } public OnRemoveData() { menu_mikro = false; menu_walka = false; } public Handel_Menu_Widza(id, menu, item) { if(item == MENU_EXIT) { return PLUGIN_CONTINUE; } switch(item) { case 0: show_motd(id, "regulamin.txt", "Regulamin Serwera"); case 1: show_motd(id, "zasadygier.txt", "Zasady Gier"); case 2: show_motd(id, "komendy.txt", "Komendy"); } return PLUGIN_CONTINUE; } public wlacz_rewizje(id) { if(get_user_team(id) != 2 || !is_user_alive(id)) return PLUGIN_HANDLED; new body, target; get_user_aiming(id, target, body, 50); if(target && get_user_team(target) == 2) { ColorChat(id, TEAM_COLOR, "^x04[PrisonBreak]^x03 Nie nacelowales na wieznia"); return PLUGIN_HANDLED; } if(!is_user_alive(target)) return PLUGIN_HANDLED; if(jail_get_user_block(target)) return PLUGIN_HANDLED; jail_set_user_speed(id, 0.1); set_bartime(id, 5); set_bartime(target, 5); jail_set_user_speed(target, 0.1); w_trakcie[id] = target; w_trakcie[target] = id; set_task(5.0, "wylacz_rewizje", 5000+id); emit_sound(id, CHAN_WEAPON, "weapons/c4_disarm.wav", 1.0, ATTN_NORM, 0, PITCH_NORM); return PLUGIN_HANDLED; } public wylacz_rewizje(taskid) { new id = taskid; if(taskid > 32) id -= 5000; if(get_user_team(id) != 2 || !w_trakcie[id]) return PLUGIN_HANDLED; remove_task(id+5000); jail_set_user_speed(id, 250.0); set_bartime(id, 0); if(is_user_alive(w_trakcie[id])) { jail_set_user_speed(w_trakcie[id], 250.0); set_bartime(w_trakcie[id], 0); } if(taskid > 32) Pokaz_bronie(id); w_trakcie[w_trakcie[id]] = 0; w_trakcie[id] = 0; return PLUGIN_HANDLED; } public Pokaz_bronie(id) { if(!is_user_alive(id) || !is_user_alive(w_trakcie[id])) return; new weapons[32], numweapons, weaponname[32]; get_user_weapons(w_trakcie[id], weapons, numweapons); ColorChat(id, GREEN, "Znalazles:"); for(new i=0; i