Half-Life и Adrenaline Gamer форум http://aghl.ru/forum/ |
|
Перехват status http://aghl.ru/forum/viewtopic.php?f=38&t=2207 |
Страница 2 из 2 |
Автор: | Lev [ 30 июл 2015, 00:16 ] |
Заголовок сообщения: | Re: Перехват status |
Компилировать: под Windows в Visual Studio от Microsoft (Можно скачать бесплатную Express версию), под Linux - gcc или другой компилятор. Можно переделать в модуль АМХХ и тогда можно будет из плагина АМХХ вывести в ответ что захочется. Хотя в целом я не особо одобряю, по крайней мере в ХЛ я использую автоматический status запрос в BugfixedHL. Ну и блокировка status не решает вопрос полностью, так что и смысла блокировать особо нет, получается. |
Автор: | withou7 [ 30 июл 2015, 01:46 ] |
Заголовок сообщения: | Re: Перехват status |
Lev писал(а): Компилировать: под Windows в Visual Studio от Microsoft (Можно скачать бесплатную Express версию), под Linux - gcc или другой компилятор. Можно переделать в модуль АМХХ и тогда можно будет из плагина АМХХ вывести в ответ что захочется. Хотя в целом я не особо одобряю, по крайней мере в ХЛ я использую автоматический status запрос в BugfixedHL. Ну и блокировка status не решает вопрос полностью, так что и смысла блокировать особо нет, получается. Спасибо за информацию. А если переделать в модуль AMXX разве возможно будет перехватывать команду status (реч идет о CS), не используя orphey . И структура, и код для AMXX модуля остается, такой же как и в этом коде? Конечно проще было бы переделать команду в библиотеке самого движка (скорее всего так и поступлю), и также есть готовое решение на орфее, но просто как альтернатива и ради новых знаний хотелось бы узнать сразу у опытного тру кодера :з В общем моя идея была в том, чтобы при команде status показывать немного другую информация, например с использованием Sypexgeo модуля, и ЛВЛ системы. Например: Цитата: Name: %s | SteamID: %s | Страна: %s | Город: %s | Level: %s
|
Автор: | Lev [ 30 июл 2015, 02:38 ] |
Заголовок сообщения: | Re: Перехват status |
Хук команды останется как тут, а дальше будет вызов аммх функции и делай что хочешь. Орфей, вобщем-то, тоже самое делает. withou7 писал(а): чтобы при команде status показывать немного другую информация А смысл? Не проще просто свою команду запилить?
|
Автор: | withou7 [ 30 июл 2015, 15:57 ] |
Заголовок сообщения: | Re: Перехват status |
Lev писал(а): А смысл? Не проще просто свою команду запилить? Даже не знаю, мне почему-то кажется это удобней, команда status стандартна ей частенько пользуются для того чтобы узнать IP сервера. |
Автор: | Lev [ 30 июл 2015, 20:46 ] |
Заголовок сообщения: | Re: Перехват status |
withou7 писал(а): чтобы узнать IP сервера Там вполне может быть не внешний ИП, а какой-нибудь внутренний.Не знаю как другие, я status использую лишь для того, чтобы айдишник или слот игрока узнать. От других слышал что SteamID смотрят, чтобы игрока узнать. А большинство других игроков об этой команде вообще не в курсе. В твоем варианте много проще свою команду сделать и даже лучше через чат, а вывод в MOTD. И спамь про неё в чате. |
Автор: | ImperNik [ 13 окт 2015, 04:38 ] |
Заголовок сообщения: | Re: Перехват status |
Вернусь опять к этой теме. Вот здесь мной был написан готовый вариант - viewtopic.php?f=38&t=2207#p24439 Но для build 5787 этот вариант почему-то не работает. Я менял engine_i486.so на engine_i686.so, правда в этом случае происходит вылет сервера. Как быть с build 5787? |
Автор: | Lev [ 13 окт 2015, 06:34 ] |
Заголовок сообщения: | Re: Перехват status |
Выведи pCmd_GetFirstCmd, проверь что Код: cm->function = my_status;срабатывает. Больше там нечему ломаться. Другие варианты: измененный engine; что-то другое занимается тем же самым патчингом. |
Автор: | ImperNik [ 13 окт 2015, 13:54 ] |
Заголовок сообщения: | Re: Перехват status |
Всё работает, сам сглупил по невнимательности. В моём случае нужно было менять engine_i486.so на engine_amd.so |
Страница 2 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |