Проблема с Ymnik v2.7

Решение вопросов при работе с TCL скриптами.

Модератор: Модераторы

Re: Проблема с Ymnik v2.7

Сообщение Dominion » 05 апр 2009 14:11

Ты читал, что нового в этой версии и что нужно сделать, чтобы она нормально работала?
Dominion
 
Сообщения: 16
Зарегистрирован: 24 дек 2008 19:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение thorn » 05 апр 2009 14:14

что-то здесь не так (((


Thorn !место
ZMEY Игрок Thorn [Обращенный в Веру]: место: 2очков: 102правильных ответов: 15самый быстрый ответ: 8.8 секунды, максимальное количество ответов подряд: 2очков до следущего места: 63.
Thorn !место 1
ZMEY Игрок Thorn [Обращенный в Веру]: место: 1очков: 164правильных ответов: 33самый быстрый ответ: 7.7 секунды, максимальное количество ответов подряд: 7.


Используй теги [quote] для постинга цитат и [code=tcl] для постинга кода.
thorn
 
Сообщения: 23
Зарегистрирован: 03 апр 2009 15:16
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Dominion » 05 апр 2009 14:19

+
Добавлена идентификация по хостам (смотреть .hostsset);

.hostsset - Команда для тех, кто использовал старую версию скрипта (ниже v3.0). Команда осуществляет подмену хостов вида *!*@*, по которым раньше добавлялись пользователи, на хост вида $handle!*@*. Дальнейшая корректировка записей хостов должна проводиться администратором бота.


(с) Readme.html

Собственно, именно поэтому и происходит то, что ты наблюдаешь. Бот не будет правильно идентифицировать пользователей, пока в патилайне не будет выполнена команда .hostsset.
Dominion
 
Сообщения: 16
Зарегистрирован: 24 дек 2008 19:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение thorn » 05 апр 2009 20:41

еще вопрос: почему в архиве нет скрипта дуэлей??? и второй: база для банка отличается от обычной базы вопросов? если да, то где ее найти?
thorn
 
Сообщения: 23
Зарегистрирован: 03 апр 2009 15:16
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение avp » 24 июл 2009 14:04

помогите решить проблему:
при старте бот в чате пишет Tcl error [::ymhuk::start]: ::mysql::connect/db server: Unknown MySQL server host 'slayer' (11001),что нужно сделать?
avp
 
Сообщения: 8
Зарегистрирован: 24 июл 2009 13:57
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21

Re: Проблема с Ymnik v2.7

Сообщение avp » 24 июл 2009 22:04

сам разобрался :)
avp
 
Сообщения: 8
Зарегистрирован: 24 июл 2009 13:57
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21

Re: Проблема с Ymnik v2.7

Сообщение avp » 26 июл 2009 23:33

помогите сделать так штобы викторина работала по времени примерно с 8:00 до 00:00 ,а с 00:00 до 8:00 при запуске писало бы примерно викторина доступна с 8:00 иле штото в этом роде.
avp
 
Сообщения: 8
Зарегистрирован: 24 июл 2009 13:57
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21

Re: Проблема с Ymnik v2.7

Сообщение tvrsh » 27 июл 2009 00:16

avp писал(а):помогите сделать так штобы викторина работала по времени примерно с 8:00 до 00:00 ,а с 00:00 до 8:00 при запуске писало бы примерно викторина доступна с 8:00 иле штото в этом роде.


Добавь в файл configuration.tcl следующие строчки:
Код: Выделить всё
   # ограничение времени работы, например: {8-12 16-18}
   set conf(timelimit) {0-24}


Потом, в файл main.tcl перед процедурой ::ymhuk::start добавь процедуру
Код: Выделить всё
# проверка возможности работы на данный момент
proc ::ymhuk::checktime {} { variable conf
   if {![info exists conf(timelimit)]} { return 1 }

   foreach item [split $conf(timelimit)] {
      # указан только час, и он совпадает с текущим
      if {[string is int $item] && [expr {int($item) == int([clock format [clock seconds] -format %H])}]} {
         return 1
      }

      # интересуют только первые два элемента
      if {![regexp {^(\d+(:\d+)?)?-(\d+(:\d+)?)?.*$} $item t1 t1 t2 t2]} {
         putlog "he3hauka: wrong time interval: $item"
         continue
      }

      # границы интервала по умолчанию
      if {$t1 == ""} { set t1 "00:00" }
      if {$t2 == ""} { set t2 "24:00" }

      # добавляем недостающие минуты
      if {[string is int $t1]} { append t1 ":00" }
      if {[string is int $t2]} { append t2 ":00" }

      # конвертируем в обычные числа..
      set t1 [expr {double([string map {: .} $t1])}]
      set t2 [expr {double([string map {: .} $t2])}]

      # текущее время
      set t [expr {double([clock format [clock seconds] -format "%H.%M"])}]

      # попадаем, можно играть дальше
      if {$t >= $t1 && $t <= $t2} { return 1 }
   }

   # ни одного попадания..
   return 0
}


После этого, в процедуру ::ymhuk::start перед строкой
Код: Выделить всё
if {![::ymhuk::get.questions]} {return}
добавь
Код: Выделить всё
    if {![checktime]} {
      putmsg $chan "$nick, запуск викторины на данный момент невозможен - время работы ограничено моим хозяином."
      return 0
   }

Такуюже проверку надо добавить в процедуру выдачи следующего вопроса, но это потом, проверь пока как будет работать этот вариант.
Все это не тестировалось, забэкапь все изменяемые скрипты на всякий случай. Код проверки взят из скрипта quiz.tcl.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: Проблема с Ymnik v2.7

Сообщение avp » 27 июл 2009 03:03

вроде сделал все как описано но вот што выдал после .set errorInfo:
Код: Выделить всё
Currently: can't read "conf(sql.enable)": no such variable
Currently:     while executing
Currently: "switch "$conf(sql.enable)" {
Currently: 0 {
Currently: if {$conf(viktorina)} {
Currently: ::ymhuk::plain.initialization
Currently: if {![info exists ymhuk(q.positions)] || ![info exists..."
Currently:     (procedure "::ymhuk::get.questions" line 4)
Currently:     invoked from within
Currently: "::ymhuk::get.questions"
Currently:     invoked from within
Currently: "if {![::ymhuk::get.questions]} {return}"
Currently:     (file "scripts/ymhuk/sources/main.tcl" line 323)
Currently:     invoked from within
Currently:     (file "scripts/ymhuk/ymhuk.tcl" line 32)
Currently:     invoked from within
Currently: "source scripts/ymhuk/ymhuk.tcl"
Currently:     ("uplevel" body line 1)
Currently:     invoked from within
Currently: "uplevel "source [file join $lscriptsdir $file]""
avp
 
Сообщения: 8
Зарегистрирован: 24 июл 2009 13:57
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21

Re: Проблема с Ymnik v2.7

Сообщение tvrsh » 27 июл 2009 10:09

Эта ошибка не имеет отношения к предложенным мной изменениям. Она связана с работой с sql.
can't read "conf(sql.enable)": no such variable
Бот не видит переменную conf(sql.enable).
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: Проблема с Ymnik v2.7

Сообщение avp » 27 июл 2009 11:20

спасибо за помощ оставлю все как есть.
avp
 
Сообщения: 8
Зарегистрирован: 24 июл 2009 13:57
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21

Re: Проблема с Ymnik v3,0

Сообщение exkoder » 14 дек 2009 23:37

новый юзер пишет верный ответ на вопрос, а в патилайн выдантся следующее:

Код: Выделить всё
[22:13] yMHuK: added user Lyna-Psixyna
[22:13] Tcl error [::ymhuk::main.correct.answer]: No such user.


подозреваю что ник слишком длинный. как исправить это?
exkoder
 
Сообщения: 5
Зарегистрирован: 17 июн 2009 13:24
Откуда: Russia, Oryol
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.19

Re: Проблема с Ymnik v3,0

Сообщение tvrsh » 15 дек 2009 00:28

exkoder писал(а):новый юзер пишет верный ответ на вопрос, а в патилайн выдантся следующее:

Код: Выделить всё
[22:13] yMHuK: added user Lyna-Psixyna
[22:13] Tcl error [::ymhuk::main.correct.answer]: No such user.


подозреваю что ник слишком длинный. как исправить это?


Для того, чтобы бот принимал ответы от игроков чьи ники длиннее 9 символов тем, кто использует ботов Eggdrop необходимо пересобрать бота с handlen 32, делается это просто. В исходниках бота в папке src найдите файл eggdrop.h и в нем замените в строке
Код: Выделить всё
#define HANDLEN 9   /* valid values 9->NICKMAX  */
первую цифру 9 на 32. В итоге у вас должно получиться следующее:
Код: Выделить всё
#define HANDLEN 32   /* valid values 9->NICKMAX  */
после чего перекомпилируйте бота.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: Проблема с Ymnik v2.7

Сообщение exkoder » 15 дек 2009 21:17

с ботом все нормально...

в eggdrop.h
Код: Выделить всё
#define HANDLEN 32   /* valid values 9->NICKMAX  */
#define NICKMAX 32  /* valid values HANDLEN->32 */
exkoder
 
Сообщения: 5
Зарегистрирован: 17 июн 2009 13:24
Откуда: Russia, Oryol
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.19

Re: Проблема с Ymnik v2.7

Сообщение tvrsh » 16 дек 2009 00:00

Сразу после появления ошибки введи в патилайне .set errorInfo и покажи результат.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: Проблема с Ymnik v2.7

Сообщение exkoder » 16 дек 2009 19:42

tvrsh писал(а):Сразу после появления ошибки введи в патилайне .set errorInfo и покажи результат.
вот...
Код: Выделить всё
[18:38] yMHuK: added user Lyna-Psixyna
[18:38] Tcl error [::ymhuk::main.correct.answer]: No such user.
.set errorInfo
[18:39] #exkoder# set errorInfo
Currently: No such user.
Currently:     while executing
Currently: "setuser $hand HOSTS $host"
Currently:     (procedure "addhost" line 2)
Currently:     invoked from within
Currently: "addhost [set handle $nick] [set host "*![getchanhost $nick]"]"
Currently:     (procedure "::ymhuk::set.user" line 11)
Currently:     invoked from within
Currently: "::ymhuk::set.user $nick $handle"
Currently:     (procedure "::ymhuk::main.correct.answer" line 20)
Currently:     invoked from within
Currently: "::ymhuk::main.correct.answer $_pubm1 $_pubm2 $_pubm3 $_pubm4 $_pubm5"
exkoder
 
Сообщения: 5
Зарегистрирован: 17 июн 2009 13:24
Откуда: Russia, Oryol
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.19

Re: Проблема с Ymnik v2.7

Сообщение tvrsh » 20 дек 2009 13:48

Тут дело в том, что нового ответившего бот добавляет себе в базу этой строкой:
Код: Выделить всё
if {![validuser $nick]} { adduser $nick }

потом добавляет ему хост этой строкой:
Код: Выделить всё
addhost [set handle $nick] [set host "*![getchanhost $nick]"]

И в тот момент когда он хочет добавить хост юзеру handle ему отвечают что такого юзера нет. Как будто он не успевает добавиться.
Добавлять маску можно и в команде Adduser попробуй сделать так: замени строку
Код: Выделить всё
if {![validuser $nick]} { adduser $nick }
на
Код: Выделить всё
if {![validuser $nick]} { adduser $nick "*![getchanhost $nick]" }

А строки
Код: Выделить всё
addhost [set handle $nick] [set host "*![getchanhost $nick]"]
putlog "\002yMHuk:\017 added user \002$handle\017 with host \002$host\017"
пока закомментируй.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: Проблема с Ymnik v2.7

Сообщение triton » 17 июл 2010 19:40

ввожу команду !старт и не играет.
в пати
[19:39] Tcl error [nub]: can't read "city(gamechan)": no such element in array
[19:39] оХМЦСЧ ЯЕПБЕП sql...
[19:39] уЕМДК МЕ ЯСЫЕЯРБСЕР!
[19:39] яНЕДХМЪЧЯЭ Я ЯЕПБЕПНЛ sql...
[19:39] Tcl error [::ymhuk::start]: invalid command name "::mysql::connect"


что может быть не правильно.
triton
 
Сообщения: 40
Зарегистрирован: 07 июн 2010 08:14
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21

Re: Проблема с Ymnik v2.7

Сообщение triton » 17 июл 2010 20:13

[19:39] Tcl error [nub]: can't read "city(gamechan)": no such element in array

извините, это с другого скрипта
triton
 
Сообщения: 40
Зарегистрирован: 07 июн 2010 08:14
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21

Re: Проблема с Ymnik v2.7

Сообщение tvrsh » 17 июл 2010 22:52

triton писал(а):ввожу команду !старт и не играет.
в пати
[19:39] Tcl error [nub]: can't read "city(gamechan)": no such element in array
[19:39] оХМЦСЧ ЯЕПБЕП sql...
[19:39] уЕМДК МЕ ЯСЫЕЯРБСЕР!
[19:39] яНЕДХМЪЧЯЭ Я ЯЕПБЕПНЛ sql...
[19:39] Tcl error [::ymhuk::start]: invalid command name "::mysql::connect"


что может быть не правильно.

Открывай Правила оформления топиков и читай там второй пункт.
Открой настройки викторины и убедись что у тебя там именно так:
#Использовать, или нет mysql
set conf(sql.enable) 0
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Пред.След.

Вернуться в TCL скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

cron