Now it's almost working like it supposed to, but still something is wrong
Here is the code:
Code:
public BPlayerMenu0(id){
new menu = menu_create( "\rthS\d | \yChoose Player:", "BPlayerMenu_Handler0" );
new players[32], pnum, tempid;
new szName[32], szUserId[32];
get_players(players, pnum, "a");
for (new i; i<pnum; i++){
tempid = players[i];
get_user_name(tempid, szName, charsmax(szName));
// formatex(szUserId, charsmax(szUserId), "%d", get_user_userid(tempid));
new szUserId = str_to_num(tempid)
menu_additem(menu, szName, szUserId, 0);
}
menu_display( id, menu, 0 );
}
public BPlayerMenu_Handler0(id, menu, item){
if (item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new szIP[40];
new szData[6], szName[64], AdminName[64];
new _access, item_callback;
menu_item_getinfo(menu, item, _access, szData,charsmax(szData), szName,charsmax(szName), item_callback);
new tempid = str_to_num(szData)
new player = find_player("k", tempid)
get_user_ip(player, szIP, charsmax(szIP), 1)
get_user_name(id, AdminName, charsmax(AdminName))
if (player && is_user_alive(player)){
server_cmd("amx_ban ^"#%d^" ^"30^" ^"Do not swear^"",player)
console_print(id, "Banned name: ^"%s^"", szName)
console_print(id, "Banned IP: ^"%s^"", szIP)
console_print(id, "Ban reason: Swearing")
console_print(id, "Ban Time: 30 minutes")
console_print(id, "Admin: ^"%s^"", AdminName)
}
menu_destroy( menu );
return PLUGIN_HANDLED;
}
Problem is, that I can ban myself (when I'm on the server by my self), but only once, after un ban i have to restart the server to be able to ban myself again, and, if I try to ban someone else, than the console says that player can't be found ..