Русское сообщество по скриптингу

Block Cheat Key

Плагины для AMX Mod X, которые не удовлетворяют правилам оформления.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

Block Cheat Key

Сообщение 9iky6 » 06 ноя 2012, 10:45

Автор: 9 rpamm!?
Декомпилировал: maeStro (9iky6)
Версия: v2.1 Fixed

Описание:
Плагин позволяет наказывать за чит клавиши!


Настройки:
Код: Выделить всё
// Включить или отключить показ информации о заблокированных кнопках
// Параметр - число
// Допустимые значения:
//
// 0      - выкл
// 1      - вкл
//
// По умолчанию:
// bk_show_info "1"

bk_show_info "1"

// Через какое время выводить информцию о заблокированных кнопках
// Параметр - число
//
// По умолчанию:
// bk_show_info_time "15.0"

bk_show_info_time "15.0"

// Сколько раз можно нажать на запрещенную кнопку
// Параметр - число
//
// По умолчанию:
// bk_char_warning "3"

bk_char_warning "3"

// Причина для бана/кика игрока
//
// По умолчанию:
// bk_reason "DETECT USE BLOCK CHEAT KEY"

bk_reason "DETECT USE BLOCK CHEAT KEY"

// Команда посылаемая на сервер при бане игрока
// Макросы для подстановки:
//
// $ip$
// $userid$
// $steamid$
// $name$
// $reason$
//
// По умолчанию:
// bk_punishment "amx_ban #$userid$ 5 $reason$"

bk_punishment "amx_ban #$userid$ 5 $reason$"

// Тип сообщений при наказании
// Параметр - число
// Допустимые значения:
//
// 0      - Игровой чат
// 1      - HUD сообщение
//
// По умолчанию:
// bk_msg "0"

bk_msg "0"


Список изменений:
Код: Выделить всё
v. 1.0
 - Первый релиз.

v. 2.0 Fixed
 - Поправлен код. ( Мои недочёты )
 - Добавлен LOG
 - Добавлена папка под логи и файл cfg.
 - Добавлена система банов "AmxBans 5"
 - Добавлена система банов "AmxBans 6"
 - Добавлена система банов "Advanced Bans"
 - Добавлена возможность послать команду "Quit" игроку.
 - Добавлена возможность выбора тип сообщений при наказании "Чат" "Hud"
 - Добавлена переменная bk_BanTime
 - Добавлена переменная bk_punishment
 - Добавлена переменная bk_msg
 - Добавлена переменная bk_show_info_time

v. 2.1 Fixed
 - Поправлен код
 - Исправлено отображение причины кика


Не утверждено. Отсутствуют файлы и поддержка плагина.Да и даже из-за самой идеи... //Leonidddd
Последний раз редактировалось 9iky6 02 янв 2014, 23:10, всего редактировалось 11 раз(а).
Аватара пользователя
9iky6
 
Сообщения: 2174
Зарегистрирован: 30 янв 2012, 19:07
Откуда: Россия
Благодарил (а): 375 раз.
Поблагодарили: 707 раз.

Re: Block cheat key v2

Сообщение Chuvi » 06 ноя 2012, 12:43

  1. Lang вшить в исходник
  2. Config вшить в исходник
  3. Архив упразднить
  4. Выложить отдельный .sma
Плагинами на заказ не занимаюсь.
Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 562 раз.

Re: Block cheat key v2

Сообщение 9iky6 » 06 ноя 2012, 12:48

Chuvi, ты о чем? :-D Я там даже ошибок не исправлял ещё, выложил чистый исходник плагина :-) Так то если копать, то надо половину плагина перелопатить ( так и не понял зачем там часть кода :-D )
Аватара пользователя
9iky6
 
Сообщения: 2174
Зарегистрирован: 30 янв 2012, 19:07
Откуда: Россия
Благодарил (а): 375 раз.
Поблагодарили: 707 раз.

Re: Block cheat key v2

Сообщение Chuvi » 06 ноя 2012, 12:51

Далее.
Жёсткие пути это плохо.
Логи в конфигах это очень плохо.
Плагинами на заказ не занимаюсь.
Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 562 раз.

Re: Block cheat key v2

Сообщение 9iky6 » 06 ноя 2012, 12:54

Chuvi, Автор: 9 rpamm!? :-D Я сделаю нормальный фикс, только если будет великое желание. Так-то этим плагином пользуются половина серверов и без жалоб, я просто решил сделать великое дело и показать какой он изнутри ( вру, самому было интересно узнать, как он сделан :-D )
Аватара пользователя
9iky6
 
Сообщения: 2174
Зарегистрирован: 30 янв 2012, 19:07
Откуда: Россия
Благодарил (а): 375 раз.
Поблагодарили: 707 раз.

Re: Block cheat key v2

Сообщение Chuvi » 06 ноя 2012, 13:28

Надеюсь ничего не напутал.

В общем, как-то так:

Во вложении UTF-8, в спойлере ANSI
[spoiler][pawn]
  1. #include <amxmodx>

  2. #include <amxmisc>

  3.  

  4. new PLUGIN_AUTHOR[]={"9 rpamm!?"}

  5. new PLUGIN_NAME[]={"Block cheat key"}

  6. new PLUGIN_VERSION[]={"2.0 FIX"}

  7.  

  8. new authid[32], ip[32], name[32]

  9. new bk_BanTime, bk_msg, bk_punishment

  10. new show_info, show_info_time

  11.  

  12. new p_Config_Dir[60]

  13. new p_Config_File[60]

  14.  

  15. new p_Lang_Dir[60]

  16. new p_Lang_File[60]

  17.  

  18. new p_Log_Dir[60]

  19. new p_Log_File[60]

  20.  

  21. public plugin_precache()

  22. {

  23.  

  24.         get_localinfo("amx_configdir", p_Config_Dir, charsmax(p_Config_Dir))

  25.         format(p_Config_Dir, charsmax(p_Config_Dir), "%s/block_key", p_Config_Dir)

  26.         if(!dir_exists(p_Config_Dir))

  27.         {

  28.                 mkdir(p_Config_Dir)

  29.         }

  30.                

  31.         format(p_Config_File, charsmax(p_Config_File), "%s/block_key.cfg", p_Config_Dir)

  32.         if(!file_exists(p_Config_File))

  33.         {

  34.                 server_print("%s created",p_Config_File)

  35.                 Create_Config()

  36.         }

  37.        

  38.         get_localinfo("amxx_datadir", p_Lang_Dir, charsmax(p_Lang_Dir))

  39.         format(p_Lang_Dir, charsmax(p_Lang_Dir), "%s/lang", p_Lang_Dir)

  40.         format(p_Lang_File, charsmax(p_Lang_File), "%s/block_key.txt", p_Lang_Dir)

  41.         if(!file_exists(p_Lang_File))

  42.         {

  43.                 server_print("%s created",p_Lang_File)

  44.                 //Create_Lang()

  45.         }      

  46.        

  47.         get_localinfo("amxx_logs", p_Log_Dir, charsmax(p_Log_Dir))

  48.         format(p_Log_Dir, charsmax(p_Log_Dir), "%s/block_key", p_Log_Dir)

  49.         if(!dir_exists(p_Log_Dir))

  50.         {

  51.                 mkdir(p_Log_Dir)

  52.         }

  53.         format(p_Log_File,charsmax(p_Log_File),"%s/block_user.log",p_Log_Dir)  

  54. }

  55.  

  56.  

  57. public plugin_init( ) // 9-11

  58. {

  59.     register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR )

  60.     server_cmd( "exec %s",p_Config_File )

  61.     register_dictionary( "block_key.txt" )

  62.    

  63.     register_clcmd( "BLOKED", "BLOKED" )

  64.     register_message( get_user_msgid( "TextMsg" ), "MessageTextMsg" )

  65.  

  66.     show_info        = register_cvar( "bk_show_info", "1" )

  67.     show_info_time   = register_cvar( "bk_show_info_time", "15" )

  68.     bk_punishment    = register_cvar( "bk_punishment", "1" )

  69.     bk_BanTime       = register_cvar( "bk_BanTime", "5" )

  70.     bk_msg           = register_cvar( "bk_msg", "1" )

  71. }

  72.  

  73. public client_putinserver( pID ) // 28-30

  74.     set_task( get_pcvar_float( show_info_time ), "show_hud", pID )

  75.  

  76. public client_authorized( pID ) // 33-35

  77. {

  78.     client_cmd( pID, "bind ^"END^" ^"BLOKED^""  )

  79.     client_cmd( pID, "bind ^"HOME^" ^"BLOKED^"" )

  80.     client_cmd( pID, "bind ^"PGUP^" ^"BLOKED^"" )

  81.     client_cmd( pID, "bind ^"PGDN^" ^"BLOKED^"" )

  82.     client_cmd( pID, "bind ^"DEL^" ^"BLOKED^""  )

  83.     client_cmd( pID, "bind ^"INS^" ^"BLOKED^""  )

  84.     client_cmd( pID, "bind ^"F9^" ^"BLOKED^""   )

  85.     client_cmd( pID, "bind ^"F12^" ^"BLOKED^""  )

  86. }

  87.  

  88. public BLOKED( pID ) // 45-47

  89. {

  90.     set_task( 3.0, "client_delicated", pID )

  91.     get_user_name( pID, name, 31 )

  92.    

  93.     switch( get_pcvar_num( bk_msg ) )

  94.     {

  95.         case 0: ChatColor( 0, "%L", -1, "KICK_INFO", name )

  96.         case 1:

  97.         {

  98.             set_hudmessage( 255, 0, 0, -1.0, 0.8, 1, 6.0, 12.0, 0.1, 0.2, 4 )

  99.             show_hudmessage( 0, "%L", -1, "KICK_INFO2", name )

  100.         }

  101.     }

  102. }

  103.  

  104. public MessageTextMsg( ) // 64-66

  105. {

  106.     new szArg2[32]

  107.     get_msg_arg_string( 2, szArg2, 31 )

  108.     if( !equal( szArg2, "#Game_unknown_command" ) )

  109.         return PLUGIN_HANDLED

  110.    

  111.     return PLUGIN_CONTINUE

  112. }

  113.  

  114. public show_hud( pID ) // 76-78

  115. {

  116.     if( get_pcvar_num( show_info  ))

  117.     {

  118.         get_user_name( pID, name, 31 )

  119.         set_hudmessage( 150, 150, 150, 0.02, 0.19, 0, 0.0, 7.0, 0.1, 0.2, 4 )

  120.         show_hudmessage( pID, "%L", -1, "SHOW_INFO", name )

  121.     }

  122.  

  123.     return PLUGIN_CONTINUE

  124. }

  125.  

  126. public client_delicated( pID ) // 87-89

  127. {

  128.     get_user_name( pID, name, 31 )

  129.     get_user_ip( pID, ip, 31, 1)

  130.     get_user_authid( pID, authid, 31 )

  131.  

  132.     switch ( get_pcvar_num( bk_punishment ) )

  133.     {

  134.         case 0:

  135.         {

  136.             server_cmd( "kick #%d ^"%L^"", get_user_userid( pID ), pID, "REASON" )

  137.             log_to_file(p_Log_File, "Нарушитель: %s IP <%s> STEAM_ID <%s>", name, ip, authid )

  138.             server_exec()

  139.         }

  140.         case 1:

  141.         {

  142.             client_cmd( pID, "quit" )

  143.             log_to_file(p_Log_File, "Нарушитель: %s IP <%s> STEAM_ID <%s>", name, ip, authid )

  144.         }

  145.         case 2:

  146.         {

  147.             server_cmd( "amx_ban %d #%d ^"%L^"", get_pcvar_num(bk_BanTime), get_user_userid( pID ), pID, "REASON_BAN" )

  148.             log_to_file(p_Log_File, "Нарушитель: %s IP <%s> STEAM_ID <%s>", name, ip, authid )

  149.         }

  150.         case 3:

  151.         {

  152.             server_cmd( "amx_ban #%d %d ^"%L^"", get_user_userid( pID ), get_pcvar_num(bk_BanTime), pID, "REASON_BAN" )

  153.             log_to_file(p_Log_File, "Нарушитель: %s IP <%s> STEAM_ID <%s>", name, ip, authid )

  154.         }

  155.         case 4:

  156.         {

  157.             server_cmd( "amx_banip #%d %d ^"%L^"", get_user_userid( pID ), get_pcvar_num(bk_BanTime), pID, "REASON_BAN" )

  158.             log_to_file(p_Log_File, "Нарушитель: %s IP <%s> STEAM_ID <%s>", name, ip, authid )

  159.         }

  160.     }

  161. }

  162.  

  163. public client_disconnect( pID ) // 124-126

  164.     if( task_exists( pID, 0 ) )

  165.         remove_task( pID, 0 )

  166.  

  167. stock ChatColor( const id, const input[], any:... ) // 130-132

  168. {

  169.     new count = 1, players[32]

  170.     static msg[191]

  171.     vformat( msg, 190, input, 3 )

  172.  

  173.     replace_all(msg, 190, "!g", "^4") // Green Color

  174.     replace_all(msg, 190, "!n", "^1") // Default Color

  175.     replace_all(msg, 190, "!t", "^3") // Team Color

  176.    

  177.     if( id ) players[0] = id; else get_players( players, count, "ch" )

  178.     {

  179.         for ( new i = 0; i < count; i++ )

  180.         {

  181.             if ( is_user_connected( players[i] ) )

  182.             {

  183.                 message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[i] )

  184.                 write_byte( players[i] );

  185.                 write_string( msg );

  186.                 message_end( );

  187.             }

  188.         }

  189.     }

  190. }

  191.  

  192. public Create_Config()

  193. {

  194.        

  195.         new config=fopen(p_Config_File,"wt")

  196.         fprintf(config,"// ==============================^n")

  197.         fprintf(config,"//^n")

  198.         fprintf(config,"// Block Key 2.0^n")

  199.         fprintf(config,"//^n")


  200.         fprintf(config,"//^n")

  201.         fprintf(config,"// ------------------------------^n")

  202.         fprintf(config,"//^n")

  203.         fprintf(config,"// Конфигурационный файл^n")

  204.         fprintf(config,"//^n")

  205.         fprintf(config,"// ^"Квар^" ^"Значение^"^n")

  206.         fprintf(config,"//^n")

  207.         fprintf(config,"// ==============================^n")

  208.        

  209.        

  210.         fprintf(config,"// Включить или отключить показ информации о заблокированных кнопках^n")

  211.         fprintf(config,"// Параметр - число^n")

  212.         fprintf(config,"// Допустимые значения:^n")

  213.         fprintf(config,"//^n")

  214.         fprintf(config,"// 0            - выкл^n")

  215.         fprintf(config,"// 1            - вкл^n")

  216.         fprintf(config,"//^n")

  217.         fprintf(config,"// По умолчанию:^n")

  218.         fprintf(config,"// bk_show_info ^"1^"^n")

  219.        

  220.        

  221.         fprintf(config,"bk_show_info ^"1^"^n")

  222.        

  223.         fprintf(config,"// Через какое время выводить информцию о заблокированных кнопках^n")

  224.         fprintf(config,"// Параметр - число^n")

  225.         fprintf(config,"//^n")

  226.         fprintf(config,"// По умолчанию:^n")

  227.         fprintf(config,"// bk_show_info_time ^"15.0^"^n")

  228.        

  229.        

  230.         fprintf(config,"bk_show_info_time ^"15.0^"^n")

  231.        

  232.         fprintf(config,"// На какое время банить за нажатие чит клавиш ?^n")

  233.         fprintf(config,"// Параметр - число^n")

  234.         fprintf(config,"//^n")

  235.         fprintf(config,"// По умолчанию:^n")

  236.         fprintf(config,"// bk_BanTime ^"5^"^n")

  237.        

  238.        

  239.         fprintf(config,"bk_BanTime ^"5^"^n")

  240.        

  241.         fprintf(config,"// Вид наказания при обнаружении нажатии клавиши^n")

  242.         fprintf(config,"// Параметр - число^n")

  243.         fprintf(config,"// Допустимые значения:^n")

  244.         fprintf(config,"//^n")

  245.         fprintf(config,"// 0            - Послать команду ^"Kick^"^n")

  246.         fprintf(config,"// 1            - Послать команду ^"Quit^"^n")

  247.         fprintf(config,"// 2            - Послать команду ^"AmxBans 5^"^n")

  248.         fprintf(config,"// 3            - Послать команду ^"AmxBans 6^"^n")

  249.         fprintf(config,"// 4            - Послать команду ^"Advanced Bans^"^n")

  250.         fprintf(config,"//^n")

  251.         fprintf(config,"// По умолчанию:^n")

  252.         fprintf(config,"// bk_punishment ^"0^"^n")

  253.        

  254.        

  255.         fprintf(config,"bk_punishment ^"0^"^n")

  256.        

  257.         fprintf(config,"// Тип сообщений при наказании^n")

  258.         fprintf(config,"// Параметр - число^n")

  259.         fprintf(config,"// Допустимые значения:^n")

  260.         fprintf(config,"//^n")

  261.         fprintf(config,"// 0            - Игровой чат^n")

  262.         fprintf(config,"// 1            - HUD сообщение^n")

  263.         fprintf(config,"//^n")

  264.         fprintf(config,"// По умолчанию:^n")

  265.         fprintf(config,"// bk_msg ^"0^"^n")

  266.        

  267.        

  268.         fprintf(config,"bk_msg ^"0^"^n")

  269.        

  270.         fprintf(config,"// ==============================^n")

  271.         fprintf(config,"//^n")

  272.         fprintf(config,"// 9 rpamm!? © 2010-2011^n")

  273.         fprintf(config,"//^n")

  274.         fprintf(config,"//^n")

  275.         fprintf(config,"   echo ^"^"^n")

  276.         fprintf(config,"   echo ^"     Block_key CFG Loaded...^"^n")

  277.         fprintf(config,"   echo ^"^"^n")

  278.         fprintf(config,"//^n")

  279.         fprintf(config,"//===============================^n")

  280.         fclose(config)

  281.         return PLUGIN_HANDLED

  282. }

  283.  

  284. public Create_Lang()

  285. {

  286.         new lang_file=fopen(p_Lang_File,"wt")

  287.         fprintf(lang_file,"[ru]^n")

  288.         fprintf(lang_file,"SHOW_INFO = Внимание %s!^^n^^nНа сервере установлена защита, на использование чит-клавиш!^^n^^nВо избежание недоразумений, просим вас не юзать клавиши:^^n^^nEND, HOME, DEL, INS, F9, F12^^n^^nВ противном случае, вы будете наказаны!^n")

  289.         fprintf(lang_file,"KICK_INFO = !t[!g Server ADMIN !t]!n Игрок !g%s!n был наказан за использование чит клавиш!^n")

  290.         fprintf(lang_file,"KICK_INFO2 = Нарушитель %s!^^n Использовал чит клавишу!^n")

  291.         fprintf(lang_file,"REASON = Юзать запрещённые клавиши запрещено!!!^n")

  292.         fprintf(lang_file,"REASON_BAN = Юзал читерские клавиши ><^n")

  293.        

  294.         fprintf(lang_file,"[en]^n")

  295.         fprintf(lang_file,"SHOW_INFO = Внимание %s!^^n^^nНа сервере установлена защита, на использование чит-клавиш!^^n^^nВо избежание недоразумений, просим вас не юзать клавиши:^^n^^nEND, HOME, DEL, INS, F9, F12^^n^^nВ противном случае, вы будете наказаны!^n")

  296.         fprintf(lang_file,"KICK_INFO = !t[!g Server ADMIN !t]!n Игрок !g%s!n был наказан за использование чит клавиш!^n")

  297.         fprintf(lang_file,"KICK_INFO2 = Нарушитель %s!^^n Использовал чит клавишу!^n")

  298.         fprintf(lang_file,"REASON = Юзать запрещённые клавиши запрещено!!!^n")

  299.         fprintf(lang_file,"REASON_BAN = Юзал читерские клавиши ><^n")

  300.         fclose(lang_file)

  301.         return PLUGIN_HANDLED

  302. }

  303.  
[/pawn][/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Плагинами на заказ не занимаюсь.
Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 562 раз.

Re: Block cheat key v2

Сообщение Chuvi » 06 ноя 2012, 13:30

9iky6, я, блин, жалуюсь, ибо у стимовцев на F12 скриншот.
Сделал скрин- получил бан, вообще идеально.
Плагинами на заказ не занимаюсь.
Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 562 раз.

Re: Block cheat key v2

Сообщение StRiKeR.csF » 06 ноя 2012, 13:36

Автор плагина не 9 rpamm!?, он просто нашёл этот плагин, переписал автора и переименовал пару функций, сам же 9грамм бездарь, полный, который в скайп о помощи по каждому пустяку.
К сожалению, настоящий автор неизвестен.
Чего добился ты и бла, бла, бла
Тут, типа, посыл был, но админ его потёр :(

Skype: nestle.csf
-В чём сила, брат?
-Сила в Debug.log xD
Аватара пользователя
StRiKeR.csF
Скриптер
 
Сообщения: 771
Зарегистрирован: 03 июн 2011, 06:26
Откуда: Кубань
Благодарил (а): 126 раз.
Поблагодарили: 181 раз.
Опыт программирования: Больше трех лет
Языки программирования: C++
C#
JavaScript
PHP(+MySQL)
Assembler

Re: Block cheat key v2

Сообщение 9iky6 » 06 ноя 2012, 13:36

Chuvi, а ты думаешь зачем мне исходник :-D У меня же тоже стим :-) Так хоть люди смогут поменять СТИМовскую f12 на читерский f11 =D молчу какой это чит =D
Аватара пользователя
9iky6
 
Сообщения: 2174
Зарегистрирован: 30 янв 2012, 19:07
Откуда: Россия
Благодарил (а): 375 раз.
Поблагодарили: 707 раз.

Re: Block cheat key v2

Сообщение StRiKeR.csF » 06 ноя 2012, 13:38

9iky6 писал(а):Chuvi, а ты думаешь зачем мне исходник :-D У меня же тоже стим :-) Так хоть люди смогут поменять СТИМовскую f12 на читерский f11 =D молчу какой это чит =D

Скриншот, чтоли? :-D
Чего добился ты и бла, бла, бла
Тут, типа, посыл был, но админ его потёр :(

Skype: nestle.csf
-В чём сила, брат?
-Сила в Debug.log xD
Аватара пользователя
StRiKeR.csF
Скриптер
 
Сообщения: 771
Зарегистрирован: 03 июн 2011, 06:26
Откуда: Кубань
Благодарил (а): 126 раз.
Поблагодарили: 181 раз.
Опыт программирования: Больше трех лет
Языки программирования: C++
C#
JavaScript
PHP(+MySQL)
Assembler

След.

Вернуться в Неутвержденные плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5