Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

warn.sma

, подправить менюшку
Статус пользователя Strannik89
сообщение 4.7.2015, 19:56
Сообщение #1
Стаж: 14 лет

Сообщений: 141
Благодарностей: 9
Полезность: < 0

Привет всем! Есть такой плагин... "Система предупреждений".
Довольно таки не плох.. ничего лишнего... НО тут проблемка одна... ребята когда писали его.. тестировали на сервере с малым онлайном..и допустили ошибку... меню на вторую страницу игроков не заходит. Тоесть выписать предупреждение можно только первым 8-мичеловекам. Прошу подправить.

Исходникт
Код:

#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")
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 4.7.2015, 20:05
Сообщение #2


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Warnings отличный плагин предупреждений.


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Strannik89
сообщение 4.7.2015, 20:08
Сообщение #3
Стаж: 14 лет

Сообщений: 141
Благодарностей: 9
Полезность: < 0

Цитата(vovan4ik1997 @ 4.7.2015, 21:05) *
Warnings отличный плагин предупреждений.

Я тебе верю. но.... изза него падает сервер. На КЗ стоит именно но. проблем нету .а на паблике... ток запускаю - ложитья сразу.. вот нашел альтернативу. тоже понравился мне очень. но... менбшка кривая.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 4.7.2015, 20:33
Сообщение #4


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Strannik89, не может он падать просто так, тем более если на 1 сервере работает, а на втором нет. Разобраться не трудно, скинь версию амхмодх, метамод, логи сервера, посмотрим


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Strannik89
сообщение 4.7.2015, 20:38
Сообщение #5
Стаж: 14 лет

Сообщений: 141
Благодарностей: 9
Полезность: < 0

Цитата(vovan4ik1997 @ 4.7.2015, 21:33) *
Strannik89, не может он падать просто так, тем более если на 1 сервере работает, а на втором нет. Разобраться не трудно, скинь версию амхмодх, метамод, логи сервера, посмотрим


Скрытый текст


Metamod v1.21.1-am 2013-09-26 (5:13)

[ 4] WHBlocker, v1.5.370, 2014-08-28, by s1lent, see http://www.aghl.ru/
[ 5] Semiclip, v1.9f, 07/08/14, by s1lent, see http://www.aghl.ru/
[ 6] MySQL, v1.8.2, Feb 14 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org/
[ 7] AMXX CRACKER, v1.0, Apr 27 2015, by Burberry [amx-x.ru], see Skype: dmitriyalexan.drov
[ 8] FakeMeta, v1.8.2, Feb 14 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org
[ 9] Ham Sandwich, v1.8.2, Feb 14 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org
[ 10] Fun, v1.8.2, Feb 14 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org
[ 11] Engine, v1.8.2, Feb 14 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org
[ 12] CSX, v1.8.2, Feb 14 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org/
[ 13] CStrike, v1.8.2, Feb 14 2013, by AMX Mod X Dev Team, see http://www.amxmodx.org



Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
Exe build: 17:45:07 Apr 25 2013 (6027)

Логов нету по этому плагину... но когда то замечал что ругается на языковый файл.. хотя он присутствовал.

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Strannik89
сообщение 5.7.2015, 7:15
Сообщение #6
Стаж: 14 лет

Сообщений: 141
Благодарностей: 9
Полезность: < 0

Можно крыть тему.... проблему решил.

Отредактировал: Strannik89, - 5.7.2015, 7:15
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bondarenko78bk
сообщение 5.7.2015, 9:15
Сообщение #7
Стаж: 14 лет

Сообщений: 182
Благодарностей: 61
Полезность: 169

Цитата(Strannik89 @ 5.7.2015, 7:15) *
Можно крыть тему.... проблему решил.

Можно решение вашей проблемы?
Вдруг кому-то поможет.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Strannik89
сообщение 5.7.2015, 13:25
Сообщение #8
Стаж: 14 лет

Сообщений: 141
Благодарностей: 9
Полезность: < 0

Цитата(bondarenko78bk @ 5.7.2015, 10:15) *
Можно решение вашей проблемы?
Вдруг кому-то поможет.


просто купил другой плагин. рабочий.. вот и все... С этим плагином работы было не много. 2 строчек кода. но.. не нашлись желающие это сделать...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: