Проверка онлайна ГМа / сравнение /who и счетчика он-лайна
Модератор: 4epT
Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Проверка онлайна ГМа / сравнение /who и счетчика он-лайна
На многих серверах есть просмотр онлайна игроков на сайте. Обычно это выглядит в виде пронумерованого списка. Послений номер соответсвует количеству игроков. Естественно ГМов там нету. Но когда в игре пишешь команду /who показываеться онлайн вместе с ГМами (проверенно).
Из хтмл вытащить поселенее число не проблема.
Есть проблема как это дело использовать в ОпенКоре.
Идея такая раз в 3 минуты скажем проверяем онлайн командой /who и сравниваем число с числом из хмтля с сайта. Если онлайн в игре выше указанной на сайте бот скажем садиться АФКать или выходит в чар селект.
Ну вобщем вот так)
Есть такие мысли, в каком направление думать.
1.
а)заставить бота написать команду /who
б)обновляем логи чатов
в)считываеи число из строки вида "character online X" (к примеру)и где Х - нужное число, записываем число в какой-либо файл.
2. написать небольшую программульку, которая вытащит из html число онлайновых персонажей и запишет это число в тот же файл.
3. сравнить эти числа, если онлайн выше заявленного то заставляем бота сесть в городе АФКать.
Есть идеи?)
Из хтмл вытащить поселенее число не проблема.
Есть проблема как это дело использовать в ОпенКоре.
Идея такая раз в 3 минуты скажем проверяем онлайн командой /who и сравниваем число с числом из хмтля с сайта. Если онлайн в игре выше указанной на сайте бот скажем садиться АФКать или выходит в чар селект.
Ну вобщем вот так)
Есть такие мысли, в каком направление думать.
1.
а)заставить бота написать команду /who
б)обновляем логи чатов
в)считываеи число из строки вида "character online X" (к примеру)и где Х - нужное число, записываем число в какой-либо файл.
2. написать небольшую программульку, которая вытащит из html число онлайновых персонажей и запишет это число в тот же файл.
3. сравнить эти числа, если онлайн выше заявленного то заставляем бота сесть в городе АФКать.
Есть идеи?)
Обычно статистика не редко обновляется, а это скрипт выдирающий инфу из мускульной бд афины.
В принципе сделать такой плагин не очень-то сложно.
Добавлено спустя 1 минуту 38 секунд:
Я может бы и помог, но не могу т.к. сейчас я в больничке=)
Добавлено спустя 6 минут 22 секунды:
По поводу выдергивания из хтмл - то можно использовать специальные классы для Perl из CPAN. Но проще вручную с помощью открытия сокета и отправки http запросов (как через telnet) и потом парсить результат. По поводу who, то в ОК вроде есть метод какого-то класса (не помню какого =)) возвращающий онлайн.. нужно глянуть в документации исходного кода ОК.
В принципе сделать такой плагин не очень-то сложно.
Добавлено спустя 1 минуту 38 секунд:
Я может бы и помог, но не могу т.к. сейчас я в больничке=)
Добавлено спустя 6 минут 22 секунды:
По поводу выдергивания из хтмл - то можно использовать специальные классы для Perl из CPAN. Но проще вручную с помощью открытия сокета и отправки http запросов (как через telnet) и потом парсить результат. По поводу who, то в ОК вроде есть метод какого-то класса (не помню какого =)) возвращающий онлайн.. нужно глянуть в документации исходного кода ОК.
Известны, в том то и фишка что их не видно онлайн.4epT писал(а):-MS-, имена ГМ-ов известны?
Проще выдирать из их общего списка и на это реагировать.
А всё остальное (кроме работы с html-кой) делается легко посте прочтения гайда по макросам.
Ну или у меня можно заказать (2227733)
С хтмл все просто как раз таки.
загружаем хтмл как файл отбрезаем концовку, там стандарный набор символов одинаковой длинны, в конце остаеться число 2,3,4х значное в зависимости от сервака. Смотрим эти 2а последних символа и все.
Седня проверял так онлайн, показывало абсолютно синхронно. На всякий случай можно раза 3 подряд проверку устроить.
- 4epT
- macro-маньячина
- Сообщения: 2792
- Зарегистрирован: Чт дек 21, 2006 1:23 pm
- Сервер RO:: 4game
- Discord: ya4ept#8494
- Контактная информация:
ну тогда со стороны ОК могу написать:
дальше твоё "С хтмл все просто как раз таки."
Код: Выделить всё
automacro who {
timeout 180
call {
do who
}
}
automacro online {
console /There are currently (\d+) users online/
call {
$html = значение с сайта
if ($.lastMatch1 = $html) goto end
do relog 1800
:end
}
}