AMX MOD X
Пятница, 03.05.2024, 07:57:55



Приветствую Вас Гость | RSS
[ Главная ] [ Amx DC Bot - Страница 4 - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

Модератор форума: slogic, AlMod  
AMX Mod X Форум » Плагины » Готовые плагины » Amx DC Bot (Бот для DC-хабов)
Amx DC Bot
PomanoBДата: Суббота, 22.11.2008, 16:54:15 | Сообщение # 1
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Amx DC Bot v 0.1.8

Плагин подключается к хабу и выводит в чат информацию о текущем положении дел на сервере, также позволяет игрокам из игры отправлять сообщения отдельным юзерам, админу, или в чат
Если в личку бота на хабе или в чат набрать csinfo, бот отправит личку с информацией набравшему (1-3 секунды)

Команды в игре

Code
say /dc <CHAT|ADMIN|username> <message> - отправить message в чат (CHAT), админу (ADMIN); или юзеру на хабе

Команда сервера

Code
amx_dc_bot_reconnect - Реконнект на хаб
dc <user|chat|admin> <message> Отправить сообщение
amx_dc_bot_send_info Отправитиь инф. на хаб

Команды на хабе

Code

csinfo - Вывести инф. о сервере
csplayers - Игроки на сервере
sendto <nick|#id> <message> показать игроку в игре nick сообщение message

CVAR

Code

amx_dc_bot_host - адрес хаба (127.0.0.1);
amx_dc_bot_port - порт хаба (411);
amx_dc_bot_user - ник бота ([AMXX]DCBot) Не должен содержать $|<>:?*"/\; и <space>
amx_dc_bot_password - пароль (Надо обязательно зарегистрировать бота)
amx_dc_active 1/0 - активен бот или нет
amx_dc_allow_chat 1/0 - Разрешить игрокам писать на хаб                
amx_dc_bot_info_messages 1/0 - Показывать инф. сообщения или нет
amx_dc_bot_info_messages_time - Время в минутах между показом инф. сообщения
amx_dc_bot_admin_nick - Ник на который будут отсылаться сообщения если игрок наберёт say /dc admin               
amx_dc_bot_recv_chat - Прослушивать чат хаба или нет (доступно csinfo или нет)               

Code

#define INFO1, #define INFO2 Сообщения, чередуещиеся по времени       
#define CSINFO  Сообщение по csinfo в чат

#define RECONNECT_INTERVAL 5 - Интервал попыток коннекта к серверу если не удалось подключится          

Если бот не подключается к хабу, смотрите файл logs/recv.txt

API:
forward amx_dc_bot_chat(user[],message[],is_pm);
Вызывается когда приходит сообщение в общий чат или в личку бота (в случае лички is_pm==1)

forward amx_dc_bot_cmd(cmd[]);
Вызывается в случае прихода любой другой команды от хаба

native dc_send_to_chat(message[]);
Отправить сообщение в чат

native dc_send_to_user(user[],message[]);
Отрпавить ПМ юзеру

native dc_send_command(cmd[]);
Отправить произвольную команду на хаб. Внимание! Если послать хабу команду, которой на самом деле нету его хаб его кикнет!

Дополнения к плагину:

amx_dc_rcon.sma
Демонстрация работы с API

Code
rcon <команда> выполнить команду в консоле сервера

Писать в дц в чат или личку бота (не рекомендуется писать в чат в целях безопасности)
CVar
Code
amx_dc_rcon_admins_nick - ники админов в дц которые могут использовать команду rcon, разделённые пробелами

Code
#define MAX_ADMINS 16 - максимальное число этих админов

ranksystem.sma
Исправленный мной плагин RankSystem, который теперь корректно работает с PsychoStats 3.1, корректно работает с первого же запуска сервера, выводит топ15 в дц по команде top15 в дц, всем кто в топе даётся флаг ADMIN_VOTE.

Инструкция по установке
1. Установить как обычный плагин
2. В server.cfg добавить

Code

amx_dc_bot_host "127.0.0.1"
amx_dc_bot_port "411"
amx_dc_bot_user "[AMXX]DCBot"
amx_dc_bot_password "dcbotpassword"

При этом предполагается что на хабе по адресу 127.0.0.1:411 зарегистрирован пользователь [AMXX]DCBot с паролем dcbotpassword

История версий
v 0.1.1
Добавлено прослушивание чата хаба
Автоматический механизм определения зарегистриррован бот на хабе или нет
Исправдена ошибка с символом | в сообщении
Не учитывается регистр ADMIN/CHAT
v 0.1.2
Добавлены команды csplayers и sendto
Исправлена ошибка с символом | в нике игрока
Корректная работа механизма автоопределения регистрации с VerliHub
v 0.1.3
Исправдена ошибка с символом | в никах игроков
Определения банов
Два чередующихся сообщения
v 0.1.4
Исправлены баги
v 0.1.5
Исправлены баги
Реконнект
v 0.1.6
2 Новых серверных команды
Команды воспринимаются в любом месте сообщения (кроме sendto)
Новая выводимая информация
v 0.1.7
Таймер сообщений независим от рестартов и смены карты
v 0.1.8
Написан с нуля код прослушивание чата
Изменён формат вывода команды сервера dc
API
Дополнительные плагины
Корректная работа на Linux (То что Windows переносила нормально (закрытие не открытого сокета), Linux не переносит, исправлено в этой версии)

Скачать


http://romanov4400.mybrute.com

Сообщение отредактировал PomanoB - Вторник, 09.06.2009, 11:44:53
 
PomanoBДата: Четверг, 27.11.2008, 16:54:33 | Сообщение # 46
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Ясно что скриптом, но как именно ..

http://romanov4400.mybrute.com
 
unKn0wnДата: Четверг, 27.11.2008, 17:26:20 | Сообщение # 47
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Quote (PomanoB)
Ясно что скриптом, но как именно ..

А может и ненадо не какой защиты? Просто поставить шару, как в оригинале, тоесть поставить путь к шаре в самом боте?
ЗЫ: Я отредактировал пред последнее сообщение на 3 странице, нашол пару багов...

Добавлено (2008-11-27, 5:26 Pm)
---------------------------------------------
Нашол решение с фэйк шарой.
Для того тчобы скрипты не обнаруживали фэйк шару, нужно скопировать у любого юзера "точный размер шары" и поставить себе в скрипт бота. Так только что сделал всё работает.
Теперь есть проблема в версиях более еранних её небыло. Проблема заключаетсья в следующем, если окно ЛС бота не открыто, но посылать инфу он небудет на тот ник который написал в общем чате какую нибудь переменную. Тоеть для получения инфы от бота нужно открыть окно ЛС с ботом.
Проверка осуществляеться на точнкую шару, тоест байт в байт, если поставить круглое значение то это будет подозрительно для скрипта...
Нада ещё авто-рекконект, иначе если хаб перезагружаеться, или временно нету доступа к нему, то бот естесно отключаетсья, но если mp_timelimit 0 то никаких переподключений быть неможет..
Проблема : после смены карты таймер на сообщения "INFO" сбрасываеться, а значит если время на карту в самом сервере меньше чем интервал между сообщениями, то сообщение не будет отсылаеться на хаб, и таймер сообщения сброситься на ноль. Конечно можно решить эту проблему тем что поставить интервал между сообщениями меньше mp_timelimit, но если тайм лимит 20? То выходит что нужно время в 19-18 минут -это уже может распознаца как флуд бота, на пример ночью, когда хаб неочень активен. Или же ставить время на карту больше, что не есть хорошо... Кстати можно попробывать сделать разные интервалы на сообщения в зависимости от времени на часах компютера, во избежания распознания ночью когда сообщения могут идти друг за другом(если интерестно то могу дать плагин в котором есть такая возможность, т.е менять значение в зависимости от времени)
ЗЫ: ДАёш возможность отсыласть сообщения в ДЦ с консоли клиента?




Сообщение отредактировал unKn0wn - Пятница, 28.11.2008, 11:27:35
 
PomanoBДата: Пятница, 28.11.2008, 12:05:38 | Сообщение # 48
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
v 0.1.4
Исправлены баги

Quote (unKn0wn)
после смены карты таймер на сообщения "INFO" сбрасываеться, а значит если время на карту в самом сервере меньше чем интервал между сообщениями, то сообщение не будет отсылаеться на хаб, и таймер сообщения сброситься на ноль. Конечно можно решить эту проблему тем что поставить интервал между сообщениями меньше mp_timelimit, но если тайм лимит 20? То выходит что нужно время в 19-18 минут -это уже может распознаца как флуд бота, на пример ночью, когда хаб неочень активен. Или же ставить время на карту больше, что не есть хорошо...

Попробую что-нибудь сделать

Quote (unKn0wn)
ЗЫ: ДАёш возможность отсыласть сообщения в ДЦ с консоли клиента?

Сделал, но не тестировал, если не будет работать пиши в консоле
Code
say "/dc komu message"


http://romanov4400.mybrute.com
 
unKn0wnДата: Пятница, 28.11.2008, 13:20:17 | Сообщение # 49
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
остался баг с тем, что бот не открывает новое окно при выдачи инфы в личном сообщении, тоесть сообщения нет. Если открыть окно общения с ботом, и писать переменные в общий чат, то вся инфа приходит.
Общение с клиентом из ДЦ:
Code
[11:18:48] <[Serv]> Сейчас на Half-Life играют:    
(#1) Nofear
[11:18:59] <unKn0wn> sendto #1 sss
[11:20:17] <unKn0wn> sendto #1 sss
[11:20:18] <unKn0wn> sendto #1 sss
[11:20:32] <unKn0wn> sendto #1 hi
[11:20:36] <[Serv]> сообщение отправлено игроку #1

как видно отправилось только Hi

вот что на клиенте:

Code
DC:<unKn0wn>: 12.107:5185F?T?0?9?TTH:I2WOVSJYAQHRGHQXYKQNBW4STY2SY62GDD2DWXY|$Search10.208.145.161:5978 F?T?0?9?TTH:K3Y3TN37C

Айпи не мой, и не хаба....
Возмождно ли оформить подключение к нескольким хабам?




Сообщение отредактировал unKn0wn - Пятница, 28.11.2008, 14:19:56
 
PomanoBДата: Пятница, 28.11.2008, 15:44:55 | Сообщение # 50
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Плагин обновил, версию менять не стал
Несколько хабов будет в след версии


http://romanov4400.mybrute.com
 
unKn0wnДата: Пятница, 28.11.2008, 21:04:15 | Сообщение # 51
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Сообщения отправляються правильно. Осталось прикрутить восприятие русского так как все в ДС на русском пишут...
До сих пор бот не реагирует на команды в чате, и на сообщения с игры -не посылает инфу в виде диалогового приватного окна с ним, для того чтобы посылал инфу и сообщения нада открыть с ним диалоговое окно.(в ранних версиях это работало отлично)




Сообщение отредактировал unKn0wn - Пятница, 28.11.2008, 21:36:27
 
PomanoBДата: Пятница, 28.11.2008, 21:38:49 | Сообщение # 52
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Quote (unKn0wn)
До сих пор бот не реагирует на команды в чате, и на сообщения с игры -не посылает инфу в виде диалогового приватного окна с ним, для того чтобы посылал инфу и сообщения нада открыть с ним диалоговое окно.(в ранних версиях это работало отлично)

Понять немогу
У меня всё работает
Эту часть я вообще не изменял
Может тебе личка приходит но окно-то на передний план не выскакивает, если оно уже было открыто
И вообще с точки зрения кода боту без разницы откуда пришло сообщение, и открыто ли окно (бот об окне вообще ничего не знает!)


http://romanov4400.mybrute.com
 
unKn0wnДата: Пятница, 28.11.2008, 21:41:58 | Сообщение # 53
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Quote (PomanoB)
Понять немогу У меня всё работает Эту часть я вообще не изменял Может тебе личка приходит но окно-то на передний план не выскакивает, если оно уже было открыто И вообще с точки зрения кода боту без разницы откуда пришло сообщение, и открыто ли окно (бот об окне вообще ничего не знает!)

Я тоже незнаю... Клиент ДЦ не менял,раньше сообщения приходили, единственное, что изменилось это версия плагина..
Ещё было бы отлично команду для сервера сделать, которая переконнектит бота, если соединение с хабом было разорванно -это пока небудет авто-реконнекта(если он вобще будет).




Сообщение отредактировал unKn0wn - Пятница, 28.11.2008, 21:44:20
 
PomanoBДата: Пятница, 28.11.2008, 22:00:40 | Сообщение # 54
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
v 0.1.5
Исправлены баги
Реконнект (см первую страницу и описание)

Проверь ещё разок с окном а
Отправку из игры я вообще не менял!


http://romanov4400.mybrute.com

Сообщение отредактировал PomanoB - Пятница, 28.11.2008, 22:06:11
 
unKn0wnДата: Суббота, 29.11.2008, 13:21:49 | Сообщение # 55
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Если бота забанили то попытки переподключения он делать небудет. Попытки он будет воспроизводить после перезапуска плагина. Возмождно на это влияет mp_timelimit 0...
PS: С окном всё теже трудности




Сообщение отредактировал unKn0wn - Суббота, 29.11.2008, 14:40:39
 
PomanoBДата: Суббота, 29.11.2008, 20:16:20 | Сообщение # 56
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Обновил, версию менять не стал
Автореконнект при кике/бане

unKn0wn, Объясни ещё разок про окно поподробнее, моежет я чего не понял


http://romanov4400.mybrute.com
 
unKn0wnДата: Воскресенье, 30.11.2008, 09:52:47 | Сообщение # 57
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Видимо есть некии проблемы с клиентом ДЦ, или то, что серв на одном айпи со мной стоит, и поэтому неприходят инфа в личку мне. Другим людям приходит...
Осталось только русские переменные прикрутить, и убрать этот баг:
Когда отправлять только csplayers в чат и в одном сообщении вот так
Code
"csplayers"

то всё работает
а если в тексте это будет содержаца вот так:
Code
"скоприруй это сообщение полностью сsplayers"

то ничего не произойдёт.
Можно ли сделать так чтобы если в тексте есть команда, то и действие ботом тоже производилось?
Ещё немешало бы добавить чтобы в сообщениях можно было показывать следующую карту, как бы nextmap




Сообщение отредактировал unKn0wn - Воскресенье, 30.11.2008, 14:11:46
 
PomanoBДата: Воскресенье, 30.11.2008, 14:42:01 | Сообщение # 58
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Ок, сделаю ещё и timeleft тогда

http://romanov4400.mybrute.com
 
unKn0wnДата: Воскресенье, 30.11.2008, 17:43:42 | Сообщение # 59
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Надо сделать так, чтобы бот неотключался от хаба когда меняется карта, а то есть хабы на которых стоит ограниченеие в юзеров, и место бота могут занять... И заодно это решит проблему с переподключением, и временным ограничением доступа на хаб когда очень быстро меняешь карту.

 
PomanoBДата: Воскресенье, 30.11.2008, 18:15:20 | Сообщение # 60
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Quote (unKn0wn)
Надо сделать так, чтобы бот неотключался от хаба когда меняется карта, а то есть хабы на которых стоит ограниченеие в юзеров, и место бота могут занять... И заодно это решит проблему с переподключением, и временным ограничением доступа на хаб когда очень быстро меняешь карту.

Это просто нереально средствами AmxModX


http://romanov4400.mybrute.com
 
AMX Mod X Форум » Плагины » Готовые плагины » Amx DC Bot (Бот для DC-хабов)
Поиск:

AMX Mod X Russian Community © 2006-2024