Witam, posiadam problem mianowicie mam plugin, który blokuje dmg u gracza, lecz posiada on błędy w menu, tzn. od numeru 1-6 menu wszystko jest ok, lecz problem pojawia sie, gdy chcemy wybrać 7 wtedy plugin blokuje hltv.
Następnie na drugiej stronie każda pozycja tj. 0d 1-7 blokuje hltv.
#include <amxmodx> #include <hamsandwich> new bool:g_bCantShoot[33]; new iMaxPlayers; public plugin_init() { register_plugin("Block Damage for Player", "0.1", "asiap"); register_clcmd("say /admin", "Clcmd_Admin", ADMIN_BAN); RegisterHam(Ham_TraceAttack, "player", "TraceAttack"); iMaxPlayers = get_maxplayers(); } public Clcmd_Admin(id, iBitFlag) { if(~get_user_flags(id) & iBitFlag) { console_print(id, "Nie masz dostepu do tej komendy."); return PLUGIN_HANDLED; } new szNum[3], szName[48]; new menu = menu_create("\yWybierz gracza", "Handle_Admin"); for(new i = 1; i <= iMaxPlayers; i++) { if(!is_user_connected(i) || is_user_hltv(i) || i == id) { continue; } get_user_name(i, szName, 31); if(g_bCantShoot[i]) { add(szName, 47, " \R[ODBLOKUJ]"); } num_to_str(i, szNum, 2); menu_additem(menu, szName, szNum); } menu_setprop(menu, MPROP_NUMBER_COLOR, "\y"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); return menu_display(id, menu); } public Handle_Admin(id, menu, item) { new iBitAccess, szData[2], szName[32], iPid; menu_item_getinfo(menu, item, iBitAccess, szData, 1, _, _, iPid); iPid = str_to_num(szData); get_user_name(iPid, szName, 31); g_bCantShoot[iPid] = !g_bCantShoot[iPid]; client_print(id, print_chat, "%sblokowales mozliwosc zadawania obrazen graczowi ^"%s^"", g_bCantShoot[iPid] ? "Za" : "Od", szName); } public TraceAttack(id, iAttacker, Float:fDamage) { if(!is_user_connected(iAttacker) || !is_user_connected(id) || !g_bCantShoot[iAttacker]) return HAM_IGNORED; SetHamParamFloat(3, 0.0); return HAM_SUPERCEDE; }