Среда, 02.07.2025, 04:16 | Приветствую Вас Гость


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Список заданных вопросов
BionikДата: Пятница, 05.07.2013, 13:53 | Сообщение # 1
Прохожий
Группа: Пользователи
Сообщений: 16
Репутация: 0
Статус: Offline
Здравствуйте. Я хотел бы узнать как работает функция списка заданных вопросов, потому что после перезагрузки бота, не хочу потерять его.

Добавлено (05.07.2013, 13:42)
---------------------------------------------
Ещё хочу разобраться как работают команды в commands.xml
Как я понял, выполнение команды зависит от <documentation>, если да, то где все эти действия расписаны.
Например ещё я написал в UltimatScript.txt команду, которая выдаёт ответ на вопрос, добавил разрешение в Access.ini и в самой команде указал (isAdmin(UserName,otvet_access)=1)
Но ограничение по правам не работает.

Добавлено (05.07.2013, 13:53)
---------------------------------------------
На счёт новой команды, в самой команде я изменил на triviaskip_access, но не пойму почему не получилось добавить новый доступ otvet_access. Может быть в Access.ini кодировку поменять надо было?

 
(Sa[i]reS)Дата: Среда, 17.07.2013, 22:49 | Сообщение # 2
Разработчик
Группа: Администраторы
Сообщений: 626
Репутация: 27
Статус: Offline
Здравствуйте.
На самом деле предусмотрены сценарии, когда возможна утеря списка вопросов. Однако, никто не мешает сделать копию списка вопросов с другим расширением, например .bak.  и в случае чего, ее использовать.
_
Файл "commands.xml" редактируется через встроенный редактор бота. В русской версии он находится тут: Бот-> Менеджер команд.
_
Но для добавления произвольных команд в этот файл, требуется подгрузить их в скрипте. Как это сделать, опишу чуть позже.
Цитата (Bionik)
Например ещё я написал в UltimatScript.txt команду, которая выдаёт ответ на вопрос, добавил разрешение в Access.ini и в самой команде указал (isAdmin(UserName,otvet_access)=1)
Но ограничение по правам не работает.
Скинь пример кода, который был написан - разберемся.
Цитата (Bionik)
На счёт новой команды, в самой команде я изменил на triviaskip_access, но не пойму почему не получилось добавить новый доступ otvet_access. Может быть в Access.ini кодировку поменять надо было?
Нужна переменная, которая будет хранить уровень доступа новой команды и добавить функцию загрузки и сохранения значения для этой переменной. Смотри процедуры SaveSettings и LoadMainSettings.
 
BionikДата: Понедельник, 22.07.2013, 20:47 | Сообщение # 3
Прохожий
Группа: Пользователи
Сообщений: 16
Репутация: 0
Статус: Offline
На счёт списка вопросов я немного не понял. Вот например ответ засчитан и этот вопрос записывается в "заданные вопросы", я хотел бы изменить фунцию, и заданный вопрос удалять. Ну или разобраться как вообще это работает, заданный вопрос как-то помечается или как?
На счёт кода. Вот небольшой кодик ))
If (Message = BotVars.Trigger & LCase("ответ")) and (isAdmin(UserName,triviaskip_access)=1) Then
    AddQ_D "/w " & UserName & " " & LMT(133) & TA(Numb)

 end if

Защиту добавил пока на triviaskip_access.

Переменная которая держит тривиа_скип это эта?
triviaskip_access = ReadConfig("triviaskip",sConfigFilePath)
Если да, то хватит ли мне добавить там вот это:
otvet = ReadConfig("ответ",sConfigFilePath)
Чтобы в дальнейшем к команде ответ прикрепить вот это:
(isAdmin(UserName,otvet_access)=1)
 
Заранее спасибо. С командой сам могу поэкспериментировать, а вот с вопросами немного запутался.
Кстати, ещё хочу добавить команду по типу votekick. Хочу сделать votenext но не могу найти примера когда команды votekick, yes, no. Там ещё таймер, ну думаю Вы поняли меня.

Добавлено (22.07.2013, 20:47)
---------------------------------------------
Чуть не забыл, можно ли к определённой команде добавить таймер на её использования, не включая функции, которая работает на все команды.

 
(Sa[i]reS)Дата: Вторник, 23.07.2013, 15:32 | Сообщение # 4
Разработчик
Группа: Администраторы
Сообщений: 626
Репутация: 27
Статус: Offline
Цитата (Bionik)
Ну или разобраться как вообще это работает, заданный вопрос как-то помечается или как?
Все очень просто: есть массив со списком вопросов, к нему дополнительно ведется переменная типа integer в которой хранится количество не заданных вопросов.
Как только требуется задать следующий вопрос, эта переменная уменьшается на 1, а вопрос, который был текущим, перемещается в конец массива. Эта переменная ограничивает выборку из массива.
Т.е., чтобы вопросы, которые были заданы действительно удалять, достаточно просто сохранять массив со списком вопросов ограниченный этой переменной.
_
Цитата
Если да, то хватит ли мне добавить там вот это: otvet = ReadConfig("ответ",sConfigFilePath) Чтобы в дальнейшем к команде ответ прикрепить вот это:
(isAdmin(UserName,
otvet_access)=1)
 
Так работать не будет.
Должна использоваться одна и та же переменная.
_
Цитата (Bionik)
можно ли к определённой команде добавить таймер на её использования, не включая функции, которая работает на все команды.
Создать независимый таймер для этой команды.
_
Но перегружать таймерами не стоит - снизится скорость работы бота в целом, именно для этого и используется общий таймер.
 
BionikДата: Среда, 24.07.2013, 20:59 | Сообщение # 5
Прохожий
Группа: Пользователи
Сообщений: 16
Репутация: 0
Статус: Offline
На счёт переменной "otvet" понял, тупанул немного).
Сейчас попробую найти массив и сделать что бы после выключения бота, он не удалялся с переменной integer.
Если включить таймер на все команды, то у меня наоборот перегрузка большая получается. Ну я собирался добавить таймер всего лишь на одну команду, которую хочу создать, тобишь это команда votenext.
На счёт неё я отписался чуть выше, не подскажите, могу ли я её просто написать в UltimateScript.txt с такими переменными как "yes" (команда выполнится) и "no" (команда не сработает). Так же добавить к ним определённое значение, например для выполнения команды, чтобы требовало как минимум 5 "yes" (ход работы её будет схож с votekick, но результат немного иной (пропуск вопроса)).
P.S. Позже отпишу, получилось ли у меня с массивом). А так я понемногу начал изучать с++, и здесь вроде тоже более менее некоторое понятно.

Добавлено (24.07.2013, 14:47)
---------------------------------------------
Спасибо за советы и помощь!

Добавлено (24.07.2013, 20:59)
---------------------------------------------
Подумал я как можно ещё модифицировать и улучшить бота и пришла такая мысль.
Можно ли соединить викторину с сервером pvpgn. Поясню, я хочу назначить определённые иконки за определённое количество очков в викторине.
Если не получится, есть альтернатива. За определённое кол-во очков, чтобы автоматически выдавались привилегии на определённые команды. Можно сделать проверку на стату и выдачу определённых параметров, но как сделать-то эту проверку, вот в чём у меня возникает сложность.

 
boogjkhbhnДата: Четверг, 29.08.2013, 03:10 | Сообщение # 6
Прохожий
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Offline
всем привет. скажите плиз что это за палки и что они означают. у кого то 1 палка у кого 2,3,4 
http://i58.fastpic.ru/big/2013/0829/f7/b5545c0ba5dd3283a59344f387d8def7.jpg
 
r000tДата: Среда, 04.09.2013, 13:20 | Сообщение # 7
Мыслящий вслух
Группа: Проверенные
Сообщений: 166
Репутация: 26
Статус: Offline
Цитата (boogjkhbhn)
всем привет. скажите плиз что это за палки и что они означают. у кого то 1 палка у кого 2,3,4  http://i58.fastpic.ru/big....ef7.jpg
ping

Добавлено (04.09.2013, 13:20)
---------------------------------------------

Цитата (Bionik)
Можно ли соединить викторину с сервером pvpgn
pvpgn исходники есть только на с++
а бот вроде на вбс , если объединять то переписывать бота на с++
 
boogjkhbhnДата: Воскресенье, 08.09.2013, 13:38 | Сообщение # 8
Прохожий
Группа: Пользователи
Сообщений: 3
Репутация: 0
Статус: Offline
дел

Сообщение отредактировал boogjkhbhn - Воскресенье, 08.09.2013, 14:03
 
  • Страница 1 из 1
  • 1
Поиск:

Меню сайта
Форма входа
Друзья сайта
Статистика

службы мониторинга серверов
службы мониторинга серверов

Мини-чат