|
Форум Counter-Strike 1.6 Сервер Counter-Strike 1.6 Помощь по скриптингу Вопрос ("Топ 10 самых тупых вопросов") |
Вопрос |
Дата: Вторник, 25.09.2018, 19:35 | Сообщение # 1
Любитель
Offline
На днях я увидел что все плагины на чат, префиксы не работают на ботах. Ну то есть они пишут совсем не в чат, или как сказать плагины не отлавливают их сообщения. Можно их как-то отловить? У меня стоит PodBot и чат включен. Вот к примеру стоит плагин армии (не важно, любой) и в чате выводится твоё звание, когда пишет бот, ничего нету, он пишет ванильным текстом. Конечно глуповатый вопрос, но все же.
Сообщение отредактировал pro1000kill - Вторник, 25.09.2018, 19:35
|
Дата: Вторник, 25.09.2018, 20:04 | Сообщение # 2
На днях я увидел что все плагины на чат, префиксы не работают на ботах. Ну то есть они пишут совсем не в чат, или как сказать плагины не отлавливают их сообщения. Можно их как-то отловить? У меня стоит PodBot и чат включен. Вот к примеру стоит плагин армии (не важно, любой) и в чате выводится твоё звание, когда пишет бот, ничего нету, он пишет ванильным текстом. Конечно глуповатый вопрос, но все же. |
Дата: Вторник, 25.09.2018, 20:30 | Сообщение # 3
Скриптер
Мастер
Offline
Предполагаю что боты, они же и PODBOT, общаются через модуль, т.е. сообщение отправляется раньше хука через say. Попробуйте отлавливать SayText и там подменивать сообщения. Может и сработает.
UPD У меня так работает Прикрепления:
3938913.png
(102.8 Kb)
Сообщение отредактировал Quin - Вторник, 25.09.2018, 20:45
|
Дата: Среда, 26.09.2018, 19:10 | Сообщение # 4
Любитель
Offline
Ну вот я и про это, как мне через SayText зарегистрировать, сам кусок кода можно? я в таких вещах особо не шарю.
|
Дата: Среда, 26.09.2018, 19:16 | Сообщение # 5
Профи-ветеран
Offline
pro1000kill, попробуй amxmodx разместить в списке выше чем podbot в plugins.ini метамода, не пробовал, но должно прокатить. Так как данный способ реализуем между плагинами amxmodx
|
Дата: Среда, 26.09.2018, 19:23 | Сообщение # 6
Любитель
Offline
В том то дело что podbot и стоит всегда у меня последним.
|
Дата: Среда, 26.09.2018, 21:18 | Сообщение # 7
Профи-ветеран
Offline
pro1000kill, тогда вариант остаётся один, боты передают сообщения по какому то каналу свои сообщения.
Возможно получиться отловить изменения путём register_message и get_user_msgid, но вроде чат не упоминается в библиотеках. |
Дата: Четверг, 27.09.2018, 15:18 | Сообщение # 8
Скриптер
Мастер
Offline
Пример кода который работал у меня.
Код #include amxmodx public plugin_init( ) { register_message( get_user_msgid( "SayText" ), "msg_SayText" ); } public msg_SayText( msgid, msgdest, msgentity ) { static player; player = get_msg_arg_int( 1 ); if ( !is_user_connected( player ) || !is_user_bot( player ) ) return PLUGIN_CONTINUE; new szTmp[256],szTmp2[256]; get_msg_arg_string(2,szTmp, charsmax( szTmp ) ) // поулчаем написаное сообщение new szPrefix[64] = "^x04[Бот]"; // Наш префикс if(!equal(szTmp,"#Cstrike_Chat_All")) // Если чат между коммандой { add(szTmp2,charsmax(szTmp2),szPrefix); // Ставим наш префикс add(szTmp2,charsmax(szTmp2)," "); add(szTmp2,charsmax(szTmp2),szTmp); // Сообщение } else { add(szTmp2,charsmax(szTmp2),szPrefix); //наш префикс add(szTmp2,charsmax(szTmp2)," ^x03%s1^x01: ^x04%s2") // Имя игрока и сообщение } set_msg_arg_string(2,szTmp2); //Устанавливаем вид который мы сделали выше return PLUGIN_CONTINUE; } |
| |||
| |||