AMX MOD X
Пятница, 03.05.2024, 15:53:07



Приветствую Вас Гость | RSS
[ Главная ] [ Amx DC Bot - Страница 5 - 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
 
unKn0wnДата: Воскресенье, 30.11.2008, 18:35:06 | Сообщение # 61
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Quote (PomanoB)
Это просто нереально средствами AmxModX

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




Сообщение отредактировал unKn0wn - Воскресенье, 30.11.2008, 18:51:07
 
PomanoBДата: Воскресенье, 30.11.2008, 19:24:14 | Сообщение # 62
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Quote (unKn0wn)
А, что если недавать плагину заново выполняться на сервере, после смены карты? это возмождно?

Я же сказал, это невозможно

Quote (unKn0wn)
Можешь ещё добавить комманду для сервера, чтобы ею отсылать сообщения на хаб принудительно?

Сделаю


http://romanov4400.mybrute.com
 
unKn0wnДата: Воскресенье, 30.11.2008, 21:33:55 | Сообщение # 63
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
В чём проблема неподскажешь? В логах ничего нет. Такое бывает после того как бот отключитсья от хаба... Я принудительно пытаюсь подключить его -невыходит. Бывает после 5-9 реконектов заходит на хаб...
Code
L 11/30/2008 - 20:30:27: $Lock EXTENDEDPROTOCOL_verlihub Pk=version0.9.8d-RC2|<[
HUB#1]> This Hub Is Running Version 0.9.8d-RC2 (Thursday September 13 200
7) of VerliHub[RunTime:2weeks 3days ].[Current User Count:7752]
L 11/30/2008 - 20:30:27: .|
L 11/30/2008 - 20:30:28: [AMXX DC Bot]Error! Read recv.txt

Единственный минус реконекта автоматического что подвисает сервер... Или это только у меня?




Сообщение отредактировал unKn0wn - Воскресенье, 30.11.2008, 23:10:45
 
PomanoBДата: Воскресенье, 30.11.2008, 22:36:36 | Сообщение # 64
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Quote (unKn0wn)
Read recv.txt

Что там написано? (amxmodx/logs/recv.txt)

Ещё может быть из-за таймаута

v 0.1.6
Серверная команда
Команды воспринимаются в любом месте сообщения (кроме sendto)
Новая выводимая информация


http://romanov4400.mybrute.com
 
unKn0wnДата: Понедельник, 01.12.2008, 10:08:04 | Сообщение # 65
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Quote (PomanoB)
Что там написано? (amxmodx/logs/recv.txt)

Code
L 11/30/2008 - 20:27:20: .|
L 11/30/2008 - 20:30:27: $Lock EXTENDEDPROTOCOL_verlihub Pk=version0.9.8d-RC2|<[MaxNet_HUB#1]> This Hub Is Running Version 0.9.8d-RC2 (Thursday September 13 2007) of VerliHub[RunTime:2weeks 3days ].[Current User Count:7752]
L 11/30/2008 - 20:30:27: .|
L 11/30/2008 - 20:30:43: $Lock EXTENDEDPROTOCOL_verlihub Pk=version0.9.8d-RC2|<[MaxNet_HUB#1]> This Hub Is Running Version 0.9.8d-RC2 (Thursday September 13 2007) of VerliHub[RunTime:2weeks 3days ].[Current User Count:7735]
L 11/30/2008 - 20:30:43: .|
L 11/30/2008 - 20:33:44: $Lock EXTENDEDPROTOCOL_verlihub Pk=version0.9.8d-RC2|<[MaxNet_HUB#1]> This Hub Is Running Version 0.9.8d-RC2 (Thursday September 13 2007) of VerliHub[RunTime:2weeks 3days ].[Current User Count:7644]

ЗЫ: В середине лога именно тот кусок что я вырезал из консоли, только этот из логов..
У знакомого тоже неоткрываетсья личка на инфу, у него ДЦ клиент: Флайлинк 367 бета1. У меня ДЦклиент Greylink 5.47, и тоже неоткрывает...
Что-то непойму, что делает senddc, я так понял что эта комманда должна отправлять от бота сообщение в общий чат (сообщение INFO)?

Добавлено (2008-12-01, 10:08 Am)
---------------------------------------------
Если отключить сеть, или вынуть сеттевой кабель, то бот небудет переподключаться.. Возмождно это из-за mp_timelimit 0. Проверь, а то у меня нет возможности кикнуть с хаба бота..




Сообщение отредактировал unKn0wn - Понедельник, 01.12.2008, 10:10:35
 
PomanoBДата: Понедельник, 01.12.2008, 19:18:54 | Сообщение # 66
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Quote (unKn0wn)
senddc

Такой команлы и нету,есть команда сервера
Code
dc <user|chat|admin> <message> Отправить сообщение

Quote (unKn0wn)
В чём проблема неподскажешь? В логах ничего нет. Такое бывает после того как бот отключитсья от хаба... Я принудительно пытаюсь подключить его -невыходит. Бывает после 5-9 реконектов заходит на хаб...

Попробуй в строке 153

Code
if(!socket_change(g_socket, 1000000))

увеличитиь число 1000000 на 2 порядка


http://romanov4400.mybrute.com
 
unKn0wnДата: Понедельник, 01.12.2008, 20:23:16 | Сообщение # 67
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Quote (PomanoB)
увеличитиь число 1000000 на 2 порядка

Кажица помогло, пока не тестил в свирепом "режиме" :))
Сможешь прикрутить ещё команду для сервера которая отправляет INFO1 и INFO2 поочерёдно на хаб? Это для того, чтобы независимо от времени кинуть этим ботом рекламу в ДС.


 
PomanoBДата: Понедельник, 01.12.2008, 20:46:50 | Сообщение # 68
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Quote (unKn0wn)
Сможешь прикрутить ещё команду для сервера которая отправляет INFO1 и INFO2 поочерёдно на хаб?

Сделал

PS

Quote (unKn0wn)
Current User Count:7752

У нас в сети на самом крупном хабе 1000 юзеров blink


http://romanov4400.mybrute.com

Сообщение отредактировал PomanoB - Понедельник, 01.12.2008, 20:47:01
 
unKn0wnДата: Понедельник, 01.12.2008, 21:21:56 | Сообщение # 69
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Нашол баг, после отправки первого сообщения ботом на хаб, второе сообщение он отправляет через минуту. Так вроде недолжно быть, поочерёдность должна быть тойже что и значение комманды amx_dc_bot_info_messages_time, у меня это значение 30... Это появилось с 0.1.5 версии (кажится)
ЗЫ:
Quote (PomanoB)
У нас в сети на самом крупном хабе 1000 юзеров

Ну вот так вот мне повизло, живу в городе где есть такая сеть, правдо бывает по вечерам подвисает, из-за напора юзеров...
PS:Личка отправляеться ботом и мне типерь. Ты что-то нашаманил ? :)
PS2: Время ещё непытался подправить, чтобы таймер ИНФО не сбрасывался на ноль после смены карты?




Сообщение отредактировал unKn0wn - Вторник, 02.12.2008, 11:28:15
 
PomanoBДата: Вторник, 02.12.2008, 17:34:54 | Сообщение # 70
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Quote (unKn0wn)
PS:Личка отправляеться ботом и мне типерь. Ты что-то нашаманил ?

Нет, ничего не трогал :)

Quote (unKn0wn)
Время ещё непытался подправить, чтобы таймер ИНФО не сбрасывался на ноль после смены карты?

Ещё не пытался, и вообще что-то не понял, ведь чаще он по идее не может быть, первое сообщение идёт через amx_dc_bot_info_messages_time после запуска сервера и, если даже перед самым рестартом было последнее, след. будет не раньше чем через amx_dc_bot_info_messages_time

Quote (unKn0wn)
Нашол баг, после отправки первого сообщения ботом на хаб, второе сообщение он отправляет через минуту. Так вроде недолжно быть, поочерёдность должна быть тойже что и значение комманды amx_dc_bot_info_messages_time, у меня это значение 30... Это появилось с 0.1.5 версии (кажится)

Не заню, у меня всё нормально, эта часть идет с самой первой версии, вообще не может быть не нормально, интервалом заведует сам AmxModX, может это ты сам набрал amx_dc_bot_send_ifno ?


http://romanov4400.mybrute.com
 
unKn0wnДата: Вторник, 02.12.2008, 17:56:26 | Сообщение # 71
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Quote (PomanoB)
Ещё не пытался, и вообще что-то не понял, ведь чаще он по идее не может быть, первое сообщение идёт через amx_dc_bot_info_messages_time после запуска сервера и, если даже перед самым рестартом было последнее, след. будет не раньше чем через amx_dc_bot_info_messages_time

Всё верно. Но если mp_timelimit 20 то amx_dc_bot_info_messages_time должно быть меньше 20, а значит примено 15, так как если указать 19 то юзеры пока подключаться незастанут ту карту, что была в ИНФО.
Но если Поставить 15 или 10 мин на amx_dc_bot_info_messages_time то это будет слишком, флуд сильный будет в ДС... Я считаю amx_dc_bot_info_messages_time 30 -это очень даже отлично, но так как значенеие mp_timelimit 20, то ИНФО непичатаетсья в ДС. менять mp_timelimit на более большее значение -повлияет на игру(много слишком на карту времени приходиться). Поэтому и хотелось бы чтобы таймер был независим от перезагрузки плагина после смены карты.
Quote (PomanoB)
Не заню, у меня всё нормально, эта часть идет с самой первой версии, вообще не может быть не нормально, интервалом заведует сам AmxModX, может это ты сам набрал amx_dc_bot_send_ifno ?

Точно уверен что ненабирал, просто смотрел историю сообщений в ДС за то время когда дома небыло... А таймер сбрасываетсья после использывания amx_dc_bot_send_info ?


 
PomanoBДата: Вторник, 02.12.2008, 18:04:42 | Сообщение # 72
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Quote (unKn0wn)
Точно уверен что ненабирал, просто смотрел историю сообщений в ДС за то время когда дома небыло... А таймер сбрасываетсья после использывания amx_dc_bot_send_info ?

Нет, не сбрасывается

Quote (unKn0wn)
Всё верно. Но если mp_timelimit 20 то amx_dc_bot_info_messages_time должно быть меньше 20, а значит примено 15, так как если указать 19 то юзеры пока подключаться незастанут ту карту, что была в ИНФО.
Но если Поставить 15 или 10 мин на amx_dc_bot_info_messages_time то это будет слишком, флуд сильный будет в ДС... Я считаю amx_dc_bot_info_messages_time 30 -это очень даже отлично, но так как значенеие mp_timelimit 20, то ИНФО непичатаетсья в ДС. менять mp_timelimit на более большее значение -повлияет на игру(много слишком на карту времени приходиться). Поэтому и хотелось бы чтобы таймер был независим от перезагрузки плагина после смены карты.

Что-нибудь сделаю, просто по мне так 10 минут вполне нормально :)


http://romanov4400.mybrute.com
 
unKn0wnДата: Вторник, 02.12.2008, 18:07:47 | Сообщение # 73
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Quote (PomanoB)
Что-нибудь сделаю, просто по мне так 10 минут вполне нормально

Были бы все админы такие добродушные, и так понимали других админов серверов игр, я бы тоже 10 мин поставил :)) Ночью просто очень сильно в глаза будет кидатсья то, что какойто "парень" кидает усердно рекламу сервера каждые 10 мин :)))


 
12345Дата: Вторник, 02.12.2008, 20:16:17 | Сообщение # 74
Сержант
Группа: Пользователи
Сообщений: 31
Репутация: 0
Статус: Не в сети
Народ подскажите плиз ,чтобы я ниделал пишет [AMXX DC Bot]Error! Can't connect to 127.0.0.1 я задрался!
 
PomanoBДата: Вторник, 02.12.2008, 20:17:56 | Сообщение # 75
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Ты хаб запустил-то ?
Бот пытается коннектится на порт 411


http://romanov4400.mybrute.com

Сообщение отредактировал PomanoB - Вторник, 02.12.2008, 20:18:24
 
AMX Mod X Форум » Плагины » Готовые плагины » Amx DC Bot (Бот для DC-хабов)
Поиск:

AMX Mod X Russian Community © 2006-2024