Admin 455 Жалоба Опубликовано 4 ноября, 2016 @LastLife, ты сегодня предложил прикольную тему - настроить эдакого чат-бота на основе моего аккаунта. Я не очень хорошо знаю, как работают чат-боты, но думаю, что это прикольная тема Это же надо делать на основе макросов мода - отлавливать запросы игроков и выполнять некие действия на их основе? Есть желание попробовать замутить что-нибудь? Какие есть варианты - что могло бы быть интересным для игроков? Ты предлагал некую стандартную схему перемещения для обзора + запрос на проверку TPS. В принципе, мне кажется, что можно даже автоматизировать проверку поломок с помощью /co i и даже - /co lookup r:5 t:5d + /co l 2 и т.д... Но предлагаю такой крутой функционал оставить на закуску и начать отрабатывать эту систему на более простых штуках. Можно попробовать перенести функции смены погоды и времени на чат бота. Можно выдавать эффекты за изюм по запросу (естественно, дороже). Кроме того, предлагаю реализовать систему стрима от лица игроков: чтобы админ вселялся в игрока с помощью стандартных средств майна и показывал происходящее от первого лица. Что скажешь? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LastLife 370 Жалоба Опубликовано 4 ноября, 2016 Думаю, что всё реализуемо, когда то мы со Стасом уже развлекались командами из чата http://mc.bbcity.ru/viewtopic.php?id=579&p=23#p28563 Нужен основной принцип, по которому должна отслеживаться команда, например !bot <команда> или просто-напросто ЛС с указанием ключевого слова. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения 5
Admin 455 Жалоба Опубликовано 4 ноября, 2016 26 минут назад, LastLife сказал: Думаю, что всё реализуемо, когда то мы со Стасом уже развлекались командами из чата http://mc.bbcity.ru/viewtopic.php?id=579&p=23#p28563 Нужен основной принцип, по которому должна отслеживаться команда, например !bot <команда> или просто-напросто ЛС с указанием ключевого слова. Может, попробуем всё сразу подготовить к совместной разработке с открытыми исходниками, например, на github? Вдруг, получится какой-то поистине крутой чат-бот? Ведь, по сути, можно вместе его кодить, разбить на модули и каждый сможет для себя ставить нужный модуль. Например, админский модуль понадобится только админам других серверов, но зато можно все ваши наработки по макросам выложить в общий доступ с более большим потенциалом траффика И, если тема с макросами перерастёт в такой большой проект, то я под админа-бота выделю отдельный аккаунт, а для стримов буду юзать другой. + как я уже сказал, любой игрок сможет и кодить, и тестить бота. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
OcelotJungle 192 Жалоба Опубликовано 4 ноября, 2016 Давайте сразу определимся, как именно бот будет работать. а) Просто команды в чат, например "Вельвет, тпс" или "Вельвет тпс" (как у ВКшных ботов). б) Команды в личку. в) Какой-нибудь ещё вариант. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
Admin 455 Жалоба Опубликовано 4 ноября, 2016 15 минут назад, OcelotJungle сказал: Давайте сразу определимся, как именно бот будет работать. а) Просто команды в чат, например "Вельвет, тпс" или "Вельвет тпс" (как у ВКшных ботов). б) Команды в личку. в) Какой-нибудь ещё вариант. Вероятно, надо использовать чужие наработки и не умничать ) Но именно технические команды, наверное, лучше в ЛС писать. А общение будем как-нибудь со временем отрабатывать: например, вопросы а-ля - "как тут играть?"... Ласт, может, отдельную тему под бота создашь и перенесём туда эти сообщения (а первый твой пост возьми из флуда старого)? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LastLife 370 Жалоба Опубликовано 4 ноября, 2016 Подстрахуемся сразу и не будем использовать в запросах кириллицу (хоть она и норм работает). Меня больше привлекает вариант !bot <команда>, бот заменить на любое другое слово, типа !bbya tps (Можно хоть в глобал, хоть в ЛС) Далее: Хотелось бы чтобы использовался мой чат-фильтр, т.к. на мой взгляд он гораздо удобнее обычного чата <LastLife> wololo VS LastLife: wololo. Цвета можно настроить по вкусу, лично мне нравится ник - аква, сообщение - белое. Т.к. на стриме включен чат, всё же он должен выглядеть красиво. Чат-фильтр я упомянул, потому что если пользоваться событием onChat, то туда вроде как прилетают уже отфильтрованные сообщения. Разница в ЛС и Глобале в возможности управлять не только с игры, но и с динмапы (но нафиг толкать бота из динмапы?) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения 5
LastLife 370 Жалоба Опубликовано 5 ноября, 2016 @OcelotJungle, Есть идеи по реализации запроса ТПС? Я у себя на локалке тестил, но сразу получил недочёты. Делал так. В onChat ожидал команды !bot tps. Когда она приходила отправлял запрос /tps. Ставил ожидание 3 секунды(мало ли пинг какой). Также в onChat стояло ожидание сообщения результата тпс. Как только оно появлялось, записывал в переменные результаты. Ну и как проходили 3 секунды, выдавал содержимое переменной. начинал тестить, но проблема была в том, что если в течение 3 секунд ожидания появляются новые запросы, то выдача результатов начинает вести себя неадекватно. Мне она вроде 5 раз вывела результат тпс, хотя запросов было 2 или 3. В общем нужно придумать какую-нибудь систему, которая будет выдавать результаты без каких либо задержек. Либо на момент ожидания блокировать другие запросы. Есть предолжения? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения 5
Admin 455 Жалоба Опубликовано 5 ноября, 2016 11 минуту назад, LastLife сказал: Либо на момент ожидания блокировать другие запросы. Простое условие и переменная true/false подойдёт? Если есть запрос, то не принимать и/или ответить, что занят. Если нет запроса, то начать работать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DanielWolf 15 Жалоба Опубликовано 5 ноября, 2016 Можно каким-нибудь игрокам, которые часто играют дать возможность банить спамеров, например, использовать как настройку прав Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
Admin 455 Жалоба Опубликовано 5 ноября, 2016 В теории, можно. Но пока это вряд ли будем запускать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DanielWolf 15 Жалоба Опубликовано 5 ноября, 2016 39 минут назад, Admin сказал: В теории, можно. Но пока это вряд ли будем запускать. я бы платил бб или изумруды за возможность тп, пусть даже на спавн также ты размышлял насчет бана по залогу - вот так его и можно реализовать, если банишь то закладываешь 100к изумрудов, забанил напрасно - 100к должен Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
OcelotJungle 192 Жалоба Опубликовано 10 ноября, 2016 В 05.11.2016 в 17:35, LastLife сказал: @OcelotJungle, Есть идеи по реализации запроса ТПС? Я у себя на локалке тестил, но сразу получил недочёты. Делал так. В onChat ожидал команды !bot tps. Когда она приходила отправлял запрос /tps. Ставил ожидание 3 секунды(мало ли пинг какой). Также в onChat стояло ожидание сообщения результата тпс. Как только оно появлялось, записывал в переменные результаты. Ну и как проходили 3 секунды, выдавал содержимое переменной. начинал тестить, но проблема была в том, что если в течение 3 секунд ожидания появляются новые запросы, то выдача результатов начинает вести себя неадекватно. Мне она вроде 5 раз вывела результат тпс, хотя запросов было 2 или 3. В общем нужно придумать какую-нибудь систему, которая будет выдавать результаты без каких либо задержек. Либо на момент ожидания блокировать другие запросы. Есть предолжения? Думал я, думал, и вот что придумал. Допустим, сообщение из чата сначала идёт в onChat, там находится ключевое слово, и тогда запускается файл, в который передаются аргументы: 1) сообщение целиком (CHATCLEAN) 2) игровое время в тиках (TICKS) Суть в том, чтобы каждый вызов чат-бота работал не с простыми переменными, а с элементами массивов, индексы которых равны переданному TICKS. То есть... как-то так: 1. onChat: IFMATCHES(%CHATCLEAN%,"word"); LOGTO(chatbotLogs.txt,"[%DATE% %TIME%] %CHATCLEAN%"); EXEC(chatbot.txt,CHATBOT%TICKS%,"%CHATCLEAN%",%TICKS%); ENDIF; 2. chatbot.txt: IFMATCHES($$[1],"word2"); --получение тпс каким-то образом--; #tps[$$[2]] = ...; ENDIF; Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
RedTeapot 155 Жалоба Опубликовано 19 ноября, 2016 Можно еще, кстати, ответ на вопрос "кто приютит" сделать. Пускай бот говорит "У нас не приют". Шутейка 80lvl. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
OcelotJungle 192 Жалоба Опубликовано 20 ноября, 2016 Первый чат-бот в лице меня запущен. Пока он имеет одну (две) команды: "время", выдающее игровое время, и "время *аргумент*", выдающее реальное время по МСК. Для активации в вашем сообщении должно быть одно из ключевых слов: "Кот? / Котя? / Оцелот? / Ocelot? / OcelotJungle? / oj?" (обязательно с "?", слитно!) И команда: "Время / Time". Если нужно реальное время по МСК, вместе с командой должен быть аргумент: "Ирл / Реал / в мире / в жизни / МСК / IRL / MSC / Moscow / Mosc" Если аргумента из списка нет, выдаст игровое время. В планах добавить возможность узнавать время определённого часового пояса. Если есть идеи, что добавить - пишите сюда. Разумеется, чат-бот работает только когда я в игре. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
Admin 455 Жалоба Опубликовано 20 ноября, 2016 Проверка tps. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Koto_Amatsukami 2 Жалоба Опубликовано 20 ноября, 2016 Думаю, можно внести некую базу матерных слов, и при написании их в чат они будут заменяться на различные символы) Не знаю на сколько это целесообразно, но идея думаю не плохая) (так же можно считать количество таких слов и связывать с ником игрока, чтобы отслеживать матершинников без скринов и тому подобного) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
LastLife 370 Жалоба Опубликовано 20 ноября, 2016 Чужие сообщения нельзя изменить Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения 5
OcelotJungle 192 Жалоба Опубликовано 20 ноября, 2016 Изменён принцип ответа. Теперь, если вы пишете в общем чате или мне в ЛС, отвечать бот будет вам в ЛС, а если с карты, то будет отвечать в общий чат с обращением по нику. Добавлена команда проверки ТПС. Можно получить только текущий ТПС командой "тпс|tps|тикрейт|tickrate" (это 4 разных команды), вводить можно в любом регистре, главное - слитно. --> "тпс" Можно получить ТПС за последние 5 минут добавлением после команды цифры "5" (слитно!). --> "tps5" Можно получить ТПС за последние 15 минут добавлением соответственно числа "15" после команды (тоже слитно!). --> "тикрейт15" Можно получить все 3 ТПС добавлением кириллической "В" или латинской "A" после команды. --> "tickratea". Теперь обращения и команды можно писать в любых регистрах, хоть "ВрЕмЯ". По просьбе Грига добавлено обращение "Котя". @Admin, ты же попросил проверку изумрудов? Я решил сделать проверку переменных вообще. Я думаю, в них ничего секретного нет, ведь игрок проверяет только свои переменные. Например - "oj? перем Emerald_money" "playername, твой Emerald_money = N". Что ты об этом думаешь? И сразу - так можно сделать и передачу изумрудов. Например - "oj? передай N изумрудов playername" ... проверка, что у игрока достаточно денег на счету (если нет - сообщить) ... снятие с его счёта ... зачисление на счёт playername... Вроде того. Ты всё ещё против такого способа передачи денег? Если да - не буду заморачиваться. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
Admin 455 Жалоба Опубликовано 20 ноября, 2016 Вроде, норм ) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
OcelotJungle 192 Жалоба Опубликовано 20 ноября, 2016 1 минуту назад, Admin сказал: Вроде, норм ) Да, очень полный ответ... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
alohwishus 20 Жалоба Опубликовано 20 ноября, 2016 А почему бот работает только тогда,когда Оцелот в сети?Нельзя сделать бота который будет афкшить?С каким-нибудь именем типа: Помощь,саппорт,админ,сервер и т.д. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
Admin 455 Жалоба Опубликовано 20 ноября, 2016 Можно, но дорого + пока обкатываем технологию. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
OcelotJungle 192 Жалоба Опубликовано 21 ноября, 2016 Итак. По просьбам кого-то там добавлено обращение "Оцелотус". Сделано получение значения переменной. Команда - "перем / знач / var" Аргумент - название переменной, он должен быть в одиночных кавычках ( 'Emerald_money' ). Если хотите узнать кол-во денег на счету - в качестве значения аргумента можно использовать (обязательно в одиночных кавычках!): "изумруд / изюм / счёт / счет / деньги / бабло / emerald / money". Пример: Вы: " oj? var 'Emerald_money' " Бот: " playername, ваше значение Emerald_money = N " Переменные, знать которые имеет смысл простому игроку: Скрытый текст Emerald_money - количество денег на счету. BonusB - количество ББ на счету. ExpBottle - количество бутылок опыта на счету. ClanID - айди клана, в котором вы официально состоите. alarmCode - айди игрока, на чьей сигналке вы попались, или технического помещения, границы которого нарушили. CustomID - айди кастомной переменой, которую вы имеете. MonthTear - сколько слёз у вас на счёте ивента "Ghastbusters". MonthFish - сколько рыбы у вас на счёте ивента "Смертельный улов". qZombieStats - сколько раз вы сдали квест "Кошмарные зомби". qSoulStats - сколько раз вы сдали квест "Обратный эффект". qEggStats - сколько раз вы сдали квест "27 фактов о куриных яйцах" (без Stats - сколько сданных квестовых предметов на вашем счету сейчас) SkillTear - сколько гастов вы убили. SkillLeather - сколько коров вы убили. SkillNugget - сколько свинозомби вы убили. SkillStone - сколько камня вы выкопали. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
OcelotJungle 192 Жалоба Опубликовано 27 ноября, 2016 Итак, я сделал ещё одну(две) команду. Функция перевода денег со своего счёта на чужой. Команда имеет два аргумента - сумму и ник игрока. Сама команда - "Передай / Pay". После неё без кавычек (апострофов) идёт положительная сумма, которую хотите перевести (больше нуля!). Затем в одиночных кавычках (апострофы) ник игрока, которому хотите перевести. Пример: oj? pay 10 'Zooomka' Если вы вдруг перевели деньги не тому (ошибка в нике или что угодно) и хотите отменить перевод: пишете в эту тему время и дату перевода, желательно ник игрока и точную сумму. Ведётся лог всех обращений к боту, можете не волноваться. * - вообще, эта команда для игроков не имеет значения, она выполняет то, что написано в кавычках, и предназначена для ввода команд с карты, когда влом заходить. Это я на случай, если Вельвет когда-нибудь будет круглосуточным чат-ботом. Команда: "Run / Выполни / Исполни" Аргумент в одиночных кавычках после команды. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения
JinenryokuFu 278 Жалоба Опубликовано 19 декабря, 2016 А вы знали, что Оцелот вчера настроил на Джина чат-бота? Пока еще в тех рамках, что были у него самого, т.е. время, тпс и еще пара команд. Обращаться надо через jr. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Достижения