Код:
#include <amxmodx>
#include <amxmisc>
#include <dhudmessage>
#define PLUGIN "Admin Warn"
#define AUTHOR "fifayer"
#define VERSION "v0.1"
#define ADMIN ADMIN_KICK
new ga_PlayerName[32][32]
new ga_PlayerID[32]
new ga_MenuData[512]
new gi_MenuPosition
new gi_TotalPlayers
new gi_Sellection
new i
public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR )
register_clcmd( "amx_warnmenu", "CmdWarnMenu" )
register_menucmd( register_menuid( "player" ), 511, "MenuPlayer" )
register_menucmd( register_menuid( "Set" ), 511, "ActionSet" )
register_clcmd( "RUS", "func" )
register_dictionary("admin-warn.txt")
}
public CmdWarnMenu(id)
{
get_players( ga_PlayerID, gi_TotalPlayers )
for(i=0; i<gi_TotalPlayers; i++)
{
new TempID = ga_PlayerID[i]
get_user_name( TempID, ga_PlayerName[i], 31 )
}
gi_MenuPosition = 0
go_player_menu(id)
return 0
}
public go_player_menu(id)
{
new arrayloc = 0
new keys = (1<<9)
arrayloc = format( ga_MenuData, 511, "\yПредупредить игрока^n" )
for(i=0; i<8; i++)
if( gi_TotalPlayers>(gi_MenuPosition+i) )
{
arrayloc += format(ga_MenuData[arrayloc],(511-arrayloc),"\y%d. \w%s^n", i+1, ga_PlayerName[gi_MenuPosition+i])
keys |= (1<<i)
}
if( gi_TotalPlayers>(gi_MenuPosition+8) )
{
arrayloc += format(ga_MenuData[arrayloc],(511-arrayloc),"^n\y9. \wДальше")
keys |= (1<<8)
}
arrayloc += format(ga_MenuData[arrayloc],(511-arrayloc),"^n\y0. \wВыход")
show_menu(id, keys, ga_MenuData, -1, "player")
return PLUGIN_HANDLED
}
public MenuPlayer(id, key)
{
switch(key)
{
case 8:
{
gi_MenuPosition=gi_MenuPosition+8
CmdWarnMenu(id)
}
case 9:
{
if(gi_MenuPosition>=8)
{
gi_MenuPosition=gi_MenuPosition-8
CmdWarnMenu(id)
}
else
return 0
}
default:
{
gi_Sellection=gi_MenuPosition+key
Set(id)
return 0
}
}
return PLUGIN_HANDLED
}
public Set(id)
{
new reason1[64], reason2[64], reason3[64], reason4[64], reason5[64], reason6[64], reason7[64], titlemenu[64]
formatex( reason1, charsmax( reason1 ), "%L^n", id, "W0" )
formatex( reason2, charsmax( reason2 ), "%L", id, "W1" )
formatex( reason3, charsmax( reason3 ), "%L", id, "W2" )
formatex( reason4, charsmax( reason4 ), "%L", id, "W3" )
formatex( reason5, charsmax( reason5 ), "%L", id, "W4" )
formatex( reason6, charsmax( reason6 ), "%L", id, "W5" )
formatex( reason7, charsmax( reason7 ), "%L", id, "W6" )
formatex( titlemenu, charsmax( titlemenu ),"\r%L", id, "WarningTitle", ga_PlayerName[gi_Sellection] )
new i_Menu = menu_create( titlemenu, "ActionSet" )
menu_additem(i_Menu, reason1, "1", 0)
menu_additem(i_Menu, reason2, "2", 0)
menu_additem(i_Menu, reason3, "3", 0)
menu_additem(i_Menu, reason4, "4", 0)
menu_additem(i_Menu, reason5, "5", 0)
menu_additem(i_Menu, reason6, "6", 0)
menu_additem(i_Menu, reason7, "7", 0)
menu_setprop(i_Menu, MPROP_EXITNAME, "\yВыход")
menu_display(id, i_Menu, 0)
return PLUGIN_HANDLED
}
public ActionSet(id,menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new reason[256]
new szName[32]
get_user_name( id, szName, 31 )
new s_Data[6], s_Name[64], i_Access, i_Callback
new sID = get_user_index( ga_PlayerName[gi_Sellection] )
add(reason, sizeof(reason), "%L:")
add(reason, sizeof(reason), "^n%L")
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)
new i_Key = str_to_num(s_Data)
switch( i_Key )
{
case 1:
{
client_cmd( id, "messagemode RUS" )
}
case 2:
{
if( is_user_connected( sID ) )
{
format(reason, sizeof(reason), reason, LANG_PLAYER, "Warning", szName, LANG_PLAYER, "W1")
set_dhudmessage( 255, 255, 0, -1.0, -1.0, 2, 1.0, 1.0, 0.1, 1.0, false )
show_dhudmessage( sID, reason )
client_cmd(sID, "spk buttons/bell1")
}
}
case 3:
{
if( is_user_connected( sID ) )
{
format(reason, sizeof(reason), reason, LANG_PLAYER, "Warning", szName, LANG_PLAYER, "W2")
set_dhudmessage( 255, 255, 0, -1.0, -1.0, 2, 1.0, 1.0, 0.1, 1.0, false )
show_dhudmessage( sID, reason )
client_cmd(sID, "spk buttons/bell1")
}
}
case 4:
{
if( is_user_connected( sID ) )
{
format(reason, sizeof(reason), reason, LANG_PLAYER, "Warning", szName, LANG_PLAYER, "W3")
set_dhudmessage( 255, 255, 0, -1.0, -1.0, 2, 1.0, 1.0, 0.1, 1.0, false )
show_dhudmessage( sID, reason )
client_cmd(sID, "spk buttons/bell1")
}
}
case 5:
{
if( is_user_connected( sID ) )
{
format(reason, sizeof(reason), reason, LANG_PLAYER, "Warning", szName, LANG_PLAYER, "W4")
set_dhudmessage( 255, 255, 0, -1.0, -1.0, 2, 1.0, 1.0, 0.1, 1.0, false )
show_dhudmessage( sID, reason )
client_cmd(sID, "spk buttons/bell1")
}
}
case 6:
{
if( is_user_connected( sID ) )
{
format(reason, sizeof(reason), reason, LANG_PLAYER, "Warning", szName, LANG_PLAYER, "W5")
set_dhudmessage( 255, 255, 0, -1.0, -1.0, 2, 1.0, 1.0, 0.1, 1.0, false )
show_dhudmessage( sID, reason )
client_cmd(sID, "spk buttons/bell1")
}
}
case 7:
{
if( is_user_connected( sID ) )
{
format(reason, sizeof(reason), reason, LANG_PLAYER, "Warning", szName, LANG_PLAYER, "W6")
set_dhudmessage( 255, 255, 0, -1.0, -1.0, 2, 1.0, 1.0, 0.1, 1.0, false )
show_dhudmessage( sID, reason )
client_cmd(sID, "spk buttons/bell1")
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public func(id)
{
new reason[64]
read_args(reason, sizeof( reason ) -1 )
remove_quotes( reason )
while (replace(reason, 63, "q", "й")) {}
while (replace(reason, 63, "w", "ц")) {}
while (replace(reason, 63, "e", "у")) {}
while (replace(reason, 63, "r", "к")) {}
while (replace(reason, 63, "t", "е")) {}
while (replace(reason, 63, "y", "н")) {}
while (replace(reason, 63, "u", "г")) {}
while (replace(reason, 63, "i", "ш")) {}
while (replace(reason, 63, "o", "щ")) {}
while (replace(reason, 63, "p", "з")) {}
while (replace(reason, 63, "[", "х")) {}
while (replace(reason, 63, "]", "ъ")) {}
while (replace(reason, 63, "a", "ф")) {}
while (replace(reason, 63, "s", "ы")) {}
while (replace(reason, 63, "d", "в")) {}
while (replace(reason, 63, "f", "а")) {}
while (replace(reason, 63, "g", "п")) {}
while (replace(reason, 63, "h", "р")) {}
while (replace(reason, 63, "j", "о")) {}
while (replace(reason, 63, "k", "л")) {}
while (replace(reason, 63, "l", "д")) {}
while (replace(reason, 63, ";", "ж")) {}
while (replace(reason, 63, "'", "э")) {}
while (replace(reason, 63, "z", "я")) {}
while (replace(reason, 63, "x", "ч")) {}
while (replace(reason, 63, "c", "с")) {}
while (replace(reason, 63, "v", "м")) {}
while (replace(reason, 63, "b", "и")) {}
while (replace(reason, 63, "n", "т")) {}
while (replace(reason, 63, "m", "ь")) {}
while (replace(reason, 63, ",", "б")) {}
while (replace(reason, 63, ".", "ю")) {}
while (replace(reason, 63, "Q", "Й")) {}
while (replace(reason, 63, "W", "Ц")) {}
while (replace(reason, 63, "E", "У")) {}
while (replace(reason, 63, "R", "К")) {}
while (replace(reason, 63, "T", "Е")) {}
while (replace(reason, 63, "Y", "Н")) {}
while (replace(reason, 63, "U", "Г")) {}
while (replace(reason, 63, "I", "Ш")) {}
while (replace(reason, 63, "O", "Щ")) {}
while (replace(reason, 63, "P", "З")) {}
while (replace(reason, 63, "{", "Х")) {}
while (replace(reason, 63, "}", "Ъ")) {}
while (replace(reason, 63, "A", "Ф")) {}
while (replace(reason, 63, "S", "Ы")) {}
while (replace(reason, 63, "D", "В")) {}
while (replace(reason, 63, "F", "А")) {}
while (replace(reason, 63, "G", "П")) {}
while (replace(reason, 63, "H", "Р")) {}
while (replace(reason, 63, "J", "О")) {}
while (replace(reason, 63, "K", "Л")) {}
while (replace(reason, 63, "L", "Д")) {}
while (replace(reason, 63, ":", "Ж")) {}
while (replace(reason, 63, "Z", "Я")) {}
while (replace(reason, 63, "X", "Ч")) {}
while (replace(reason, 63, "C", "С")) {}
while (replace(reason, 63, "V", "М")) {}
while (replace(reason, 63, "B", "И")) {}
while (replace(reason, 63, "N", "Т")) {}
while (replace(reason, 63, "M", "Ь")) {}
while (replace(reason, 63, "<", "Б")) {}
while (replace(reason, 63, ">", "Ю")) {}
new szName[32]
get_user_name(id,szName,31)
new sID = get_user_index( ga_PlayerName[gi_Sellection] )
if( is_user_connected( sID ) )
{
set_dhudmessage( 255, 255, 0, -1.0, -1.0, 2, 1.0, 1.0, 0.1, 1.0, false )
show_dhudmessage( sID, "%L:^n%s", LANG_PLAYER, "Warning", szName, reason)
client_cmd(sID, "spk buttons/bell1")
}
}