AMX MOD X
Четверг, 25.04.2024, 01:50:32



Приветствую Вас Гость | RSS
[ Главная ] [ Amx DC Bot - Страница 2 - 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
 
zer0c0o1Дата: Воскресенье, 23.11.2008, 01:56:05 | Сообщение # 16
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Не в сети
Автору БОЛЬШУЩИЙ ПЛЮС за плагин !!!! МОЛОДЕЦ!!!!!!
Давно искал такой ... :)
 
PomanoBДата: Воскресенье, 23.11.2008, 12:49:13 | Сообщение # 17
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Quote (Joker)
Можно ли сделать так, чтобы бот отвечал только в личку на хабе. Допустим такие действия: пользователь на хабе пишет в личку боту определенную команду и бот выдает инфу о сервере. За флуд на многих хабах банят, особенно если количество людей на хабе мало. А в личку было бы отлично

Не будет такого ...
Возникла проблема
При чтении из сокета намертво подвешивается серв ... :(


http://romanov4400.mybrute.com
 
JokerДата: Воскресенье, 23.11.2008, 13:17:43 | Сообщение # 18
Генерал-майор
Группа: Пользователи
Сообщений: 375
Репутация: 5
Статус: Не в сети
Вот блин :( Очень жаль.

т.е и не получиться сделать тот же трюк только с общаком? =\


One death is a Tragedy
One million is a Statistic...
 
PomanoBДата: Воскресенье, 23.11.2008, 13:25:01 | Сообщение # 19
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Да, неполучится
Посмотрю правда ещё, но результат не гарантирую


http://romanov4400.mybrute.com
 
DaTaДата: Воскресенье, 23.11.2008, 13:37:29 | Сообщение # 20
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote (PomanoB)
Да, неполучится
Посмотрю правда ещё, но результат не гарантирую

Code
/* This function will return true if the state (buffer content) have changed within the last recieve or
* the timeout, where timeout is a value in µSeconds, (1 sec =1000000 µsec).   
* Use to check if new data is in your socket. */

native socket_change(_socket, _timeout=100000);

поэкспериментируй :)
 
unKn0wnДата: Воскресенье, 23.11.2008, 14:05:28 | Сообщение # 21
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Супер плагин. Схожий со встроенным чат-клиент в ag моде для Half-Life(он встроен в этот мод), только там IRC.... Было бы неплохо сделать поддержку нескольких хабов(и наверна скрывать это от других хабов, возможно на них будет стоять ограничение на открытые хабов на пример в 3 хаба на одном клиенте), и нескольких сообщений(на некоторых хабах стоит антиспам, тоесть если отправить сообщение потом через любое время ещё раз отправить тоже сообщение, то оно блокируеться), нужна череда сообщений нечто похожее на amx_imessage.
Бот или не подключаеться, или он так должен работать чтобы его невидели, но в списке юзеров его нет, пробывал на разных хабах, на тех которых есть регистрация и на тех у которых нету. Пытался отправить себе сообщения, и на хаб -неотправлялись. Плагин загружаеться. Вот что в консоле сервера (на клиенте всё отлично пишет что отправленно сообщение)
Code
L 11/23/2008 - 13:41:24: -------- Mapchange to crossfire --------
[AMXX] Loaded 4 admins from file
Cmd_AddCommand: say already defined  
[HPK] Time is 13, maxping(100)
L 11/23/2008 - 13:41:26: [amx_dc_bot.amxx] [AMXX DC Bot] Connetion to ***.***.com successful!
Executing AMX Mod X Configuration File
Scrolling message displaying frequency: 10:00 minutes
* [VOTEMAP] 30 maps loaded
Usage:  hlg_loadmode < "net" | "lan" | "league" >

Всё осталось как и было раньше у меня, кроме:
Cmd_AddCommand: say already defined
L 11/23/2008 - 13:41:26: [amx_dc_bot.amxx] [AMXX DC Bot] Connetion to ***.***.com successful!




Сообщение отредактировал unKn0wn - Воскресенье, 23.11.2008, 14:46:59
 
PomanoBДата: Воскресенье, 23.11.2008, 14:57:28 | Сообщение # 22
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
В списке юзеров он должен быть
На хабе бот обязательно должен быть зарегистрирован
Или если не охото регистрировать то надо исправить строку
Code
formatex(str,119,"$MyPass %s|$Version 1,0091|",password);

на
Code
formatex(str,119,"$Version 1,0091|");

Ещё может быть кик за шару (там 0 стоит)
Надо исправить

Code
formatex(str,191,"$MyINFO $ALL %s $ $LAN(T3)$$сюда_пишем_шару_в_байтах$|",g_user);

Забавно было поставить заоблачную шару :D

Quote (DaTa)
поэкспериментируй

Поэксперементировал ...

НО:
Нужен буфер большого размера (4 Килобайта у меня)
Непонятно почему бота выкидывает с хаба после третьего запроса инфы, т.е. первые два нормально, показывает всё, а на третий выкидывает :(


http://romanov4400.mybrute.com

Сообщение отредактировал PomanoB - Воскресенье, 23.11.2008, 15:18:49
 
unKn0wnДата: Воскресенье, 23.11.2008, 15:39:54 | Сообщение # 23
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Вот вот так бы сразу, надо было тебе описать что шару ставить прийдёться, и ещё же учти что на некоторых хабах отменена регистрация. В кварах та переменная, что отвечает за пасворд в ней оставить только кавычки?
Немешало бы изменить чтобы chat и CHAT воспринемались одинаково. Ник в игре как-то влияет на отправку сообщений? если в нём есть символ "|"?




Сообщение отредактировал unKn0wn - Воскресенье, 23.11.2008, 15:47:41
 
PomanoBДата: Воскресенье, 23.11.2008, 18:17:27 | Сообщение # 24
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Update

История версий
v 0.1.1
Добавлено прослушивание чата хаба
Автоматический механизм определения зарегистриррован бот на хабе или нет
Исправдена ошибка с символом | в нике игрока
Не учитывается регистр ADMIN/CHAT


http://romanov4400.mybrute.com

Сообщение отредактировал PomanoB - Воскресенье, 23.11.2008, 18:18:04
 
zer0c0o1Дата: Воскресенье, 23.11.2008, 18:39:30 | Сообщение # 25
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Не в сети
Если получиться прикрутить к плагину возможность команд с дц например
+who -покажет че за карт и скока народу и timeleft
+players список игроков
+username pp отправить username сообщение pp
и еще кул был бы весь чат который пишут в контре в дц кидать =)
 
PomanoBДата: Воскресенье, 23.11.2008, 18:52:44 | Сообщение # 26
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
zer0c0o1, команда csinfo в чат хаба показывает карту и игроков
Остальные приделаю во вторник


http://romanov4400.mybrute.com
 
JokerДата: Воскресенье, 23.11.2008, 22:43:03 | Сообщение # 27
Генерал-майор
Группа: Пользователи
Сообщений: 375
Репутация: 5
Статус: Не в сети
Исправь версию в исходнике..

One death is a Tragedy
One million is a Statistic...
 
unKn0wnДата: Воскресенье, 23.11.2008, 23:54:06 | Сообщение # 28
Майор
Группа: Пользователи
Сообщений: 98
Репутация: 0
Статус: Не в сети
Если отправлять личку с сервера клиентом, то пишет мне в личке ДС
Code
[15:11:09]  <[HALF]> Г мЎ­б°Ёб« sss
>>> hi

Ник: sss
сообщение: hi
а что такое крякозяблы? возможно ли их исправить? в общем чате тоже самое... Получение лички с ДС ботом, и перенаправление на сервер возмождно, и будет ли восприятие русских символов? Баг с | остался остылаетсья сообщение только до этого знака
Code
[23:04:58] <[HALF]> Г мЎ­б°Ёб« [Fear]

а должно быть так:
Code
[23:04:58] <[HALF]> Г мЎ­б°Ёб« [Fear]|Cold        
>>> hi

И наверное без этих исковерканных букв должно быть? Я так понял ты в самом скрипте писал на русском, тоесть в УТФ-8, и оно теперь так искаженно?
Перенос на другую строку самого сообщения это так запланированно?

csinfo:

Code
[23:16:46] <[HALF]> ТҐкё  о  Half-Life
==================================
>>>>>>>> ЙЈп«®вє 1
>>>>>>>> Л ає crossfire
==================================

Возмождно ли прикрутить спам, из двух чередующихся сообщений(чередующиеся сообщения нужны чтобы не сробатывал антиспам на хабах, одинаковые сообщения два раза подряд отправить нельзя), в главный чат, чтобы когда сервер был онлайн он отсылал допустим каждые 30 или 60 мин сообщение, о том что сервер работает, и доступен по такому адресу? И возмождно ли сделать подключение к нескольким хабам, чтобы спамило на двух, или трёх хабах?
Ещё нужен реконнект если подключение к хабу неудалось, если менять карту то сервер перегружаеться, а значит и плагины, и вот тут и бот начинает отключаться потом подключаться, но если менять карту не один раз в минуту, а допустим ты и щешь карту но непомнишь как называеться на пример карты KZ, то сам хаб может блокировать частые переподключения.

ЗЫ: Неподумай, что я придераюсь B) просто хочу помоч с поисками багов, а также сделать чуть лучше плагин blush




Сообщение отредактировал unKn0wn - Понедельник, 24.11.2008, 00:42:26
 
zer0c0o1Дата: Понедельник, 24.11.2008, 01:52:31 | Сообщение # 29
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Не в сети
блин скачал новую версию у меня вообще бот сервак кс валит
на сам хаб не зходит =( хотя в логах пишет что все норм
в логах бота
L 11/23/2008 - 23:52:12: Log file started (file "cstrike/addons/amxmodx/logs/amx_dc_bot.log") (game "cstrike") (amx "1.8.1.3746")
L 11/23/2008 - 23:52:12: [AMXX DC Bot] Connetion to 192.168.0.4 successful!
L 11/23/2008 - 23:53:21: [AMXX DC Bot] Connetion to 192.168.0.4 successful!
L 11/24/2008 - 00:13:02: [AMXX DC Bot] Connetion to 192.168.0.4 successful!
L 11/24/2008 - 00:34:35: [AMXX DC Bot] Connetion to 192.168.0.4 successful!
L 11/24/2008 - 00:55:02: [AMXX DC Bot] Connetion to 192.168.0.4 successful!
L 11/24/2008 - 01:15:29: [AMXX DC Bot] Connetion to 192.168.0.4 successful!
L 11/24/2008 - 01:27:15: [AMXX DC Bot] Connetion to 192.168.0.4 successful!
L 11/24/2008 - 01:42:40: [AMXX DC Bot] Connetion to 192.168.0.4 successful!
L 11/24/2008 - 01:44:57: [AMXX DC Bot] Connetion to 192.168.0.4 successful!
у меня сервак под linux хаб dc verlihub
сервак падает когда несколько раз напишеш say /dc chat hi


Сообщение отредактировал zer0c0o1 - Понедельник, 24.11.2008, 01:57:21
 
PomanoBДата: Вторник, 25.11.2008, 19:45:09 | Сообщение # 30
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Update
v 0.1.2

Добавлены команды csplayers и sendto
Исправлена ошибка с символом | в нике игрока
Корректная работа механизма автоопределения регистрации с VerliHub


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

AMX Mod X Russian Community © 2006-2024