Викторина (Quiz.tcl) v1.19 Lite |
Викторина (Quiz.tcl) v1.19 Lite |
Kreon |
Feb 1 2008, 01:18 AM
Post
#161
|
Developer Group: Root Admin Posts: 396 Joined: -- From: Внешние пределы Member No.: 2 |
Посмотрите в doc/tcl-commands.doc описание биндов, либо пример, как реализовано это в функциях !won.
bind pub принимает намного больше аргументов, чем "nick chan text" от встроенной в скрипт обработки команд. -------------------- Не понял сам - не дай понять другому
|
cahvay |
Feb 1 2008, 02:27 AM
Post
#162
|
Посетитель Group: Members Posts: 3 Joined: 31-January 08 Member No.: 178 |
|
Gwynbleidd |
Feb 5 2008, 10:09 PM
Post
#163
|
Посетитель Group: Members Posts: 6 Joined: 5-February 08 Member No.: 182 |
вот такая ошибка. не могу запустить
[00:07] %!Raoul_Duke% start -- ERROR .set errorInfo [00:08] #Raoul_Duke# set errorInfo Currently: No such user. Currently: while executing Currently: "getuser $hand xtra quiz" Currently: ("check" arm line 38) Currently: invoked from within Currently: "switch -exact -- $cmd { Currently: "purge" { Currently: set killed 0 Currently: foreach hand [userlist] { Currently: if {[set xtra [getuser $hand xtra quiz]] == ""} { continue } Currently: Currently: ..." Currently: (procedure "users" line 2) Currently: invoked from within Currently: "users check [list [nick2hand $nick] $nick]" Currently: (procedure "::tpub::cmd_start" line 36) Currently: invoked from within Currently: "::tpub::cmd_$cmd $nick $chan $text" |
Kreon |
Feb 6 2008, 12:42 AM
Post
#164
|
Developer Group: Root Admin Posts: 396 Joined: -- From: Внешние пределы Member No.: 2 |
Наберите на патилайне бота команду .usersfix, которая уже раз десять упоминалась выше в теме.
Если не поможет - удалите из юзерфайла бота всех пользователей, которые не участвовали в викторине, но зарегистрированы на боте. И вообще на бота викторины лучше никаких функций кроме самой игры не возлагать. Никаких вообще. Такова система. ЗЫ: Отчасти и по этой причине в полной версии Quiz.tcl 1.6 мы ушли от использования юзерфайла бота вообще в пользу MySQL. -------------------- Не понял сам - не дай понять другому
|
Gwynbleidd |
Feb 6 2008, 05:51 AM
Post
#165
|
Посетитель Group: Members Posts: 6 Joined: 5-February 08 Member No.: 182 |
все это я уже перепробовал, не помогает. выкладываю конфиг бота. ничем не нагружен.
Attached File(s) eggdrop.txt ( 3.04k ) Number of downloads: 640 |
Kreon |
Feb 6 2008, 11:21 AM
Post
#166
|
Developer Group: Root Admin Posts: 396 Joined: -- From: Внешние пределы Member No.: 2 |
В принципе не может такого быть.
Перед строкой array set data [getuser $hand xtra quiz], где происходит ошибка, напишите putlog "checking handle -- $hand" и посмотрите, как это будет выведено на патилайне. Возможно, напишите туда же строкой ниже putlog "nick2hand -- [nick2hand $nick]". В той процедуре, где у вас происходит ошибка, идет проверка на существование такого пользователя, его добавление в базу в случае его отсутствия, и затем коррекция его записей, если какие-то из них не существуют. У вас же получается так, что новый пользователь не добавляется и на коррекции записей скрипт сыплется, т.к. не может найти того пользователя, у которого эти записи надо проверять. Почему он не добавился или не определился - очевидного ответа пока не вижу. ЗЫ: Уберите из eggdrop.conf строку source scripts/quiz_q.tcl, скрипт автоматически подгружается из конфига Quiz.conf. -------------------- Не понял сам - не дай понять другому
|
Gwynbleidd |
Feb 6 2008, 01:20 PM
Post
#167
|
Посетитель Group: Members Posts: 6 Joined: 5-February 08 Member No.: 182 |
тоже не помогло. остается последний вариант - попробую через еггдроп под линукс запустить
|
Kreon |
Feb 6 2008, 03:02 PM
Post
#168
|
Developer Group: Root Admin Posts: 396 Joined: -- From: Внешние пределы Member No.: 2 |
Шо значит не помогло?
Я попросил посмотреть, что выведет бот при добавлении двух putlog'ов и показать здесь. Теоретически это как-то может прояснить ситуацию. -------------------- Не понял сам - не дай понять другому
|
Gwynbleidd |
Feb 6 2008, 06:26 PM
Post
#169
|
Посетитель Group: Members Posts: 6 Joined: 5-February 08 Member No.: 182 |
[20:24] checking handle --
[20:24] nick2hand -- [20:24] No such user. [20:24] %!Raoul_Duke% start -- ERROR инфа по ошикбе таже |
Kreon |
Feb 6 2008, 10:08 PM
Post
#170
|
Developer Group: Root Admin Posts: 396 Joined: -- From: Внешние пределы Member No.: 2 |
Уже понятнее.. Вы не изменяли скрипт?
Найдите строку set hand [users check [list [nick2hand $nick] $nick]], поставьте перед ней putlog "cmd_start nick -- $nick". Если снова будет пустое значение, ищем строку if {[catch {::tpub::cmd_$cmd $nick $chan $text} res]} { и ставим аналогичный putlog перед ней. Если пустое значение окажется и здесь - то ставьте putlog после строки proc ::tpub::msg_pub {nick uhost hand chan text} { global botnick sp_version; variable conf Вообще ошибка крайне нетривиальная, не представляю пока откуда такое взялось. -------------------- Не понял сам - не дай понять другому
|
Gwynbleidd |
Feb 6 2008, 10:16 PM
Post
#171
|
Посетитель Group: Members Posts: 6 Joined: 5-February 08 Member No.: 182 |
скрипт не менял. теперь так
[00:15] cmd_start nick -- [00:15] cmd_start nick -- [00:15] cmd_start nick -- [00:15] checking handle -- [00:15] nick2hand -- [00:15] No such user. [00:15] %!Raoul_Duke% ЯРЮПР -- ERROR |
Kreon |
Feb 7 2008, 12:32 PM
Post
#172
|
Developer Group: Root Admin Posts: 396 Joined: -- From: Внешние пределы Member No.: 2 |
Если вы добавили putlog прямо после строки "proc ::tpub::msg_pub {nick uhost hand chan text}..." и уже там вместо $nick выдается пустое значение... Переустановите eggdrop.
Это не ошибка конкретно викторины. Это ошибка всего бота, возможно tcl - в целом. -------------------- Не понял сам - не дай понять другому
|
Gwynbleidd |
Feb 8 2008, 04:50 PM
Post
#173
|
Посетитель Group: Members Posts: 6 Joined: 5-February 08 Member No.: 182 |
а вы не подскажете где скачать 100% рабочую версию бота под эту викторину
|
Kreon |
Feb 8 2008, 08:37 PM
Post
#174
|
Developer Group: Root Admin Posts: 396 Joined: -- From: Внешние пределы Member No.: 2 |
Любой из файлового архива.
В целом проблема может быть в чем угодно. Включая какие-то особенности операционной системы. Если вы работаете не под Windows, проблема может быть так же в установленной версии Tcl. -------------------- Не понял сам - не дай понять другому
|
Acid_Junk |
Feb 21 2008, 06:42 PM
Post
#175
|
Посетитель Group: Members Posts: 4 Joined: 21-February 08 Member No.: 192 |
Подскажите пожалуйста как убрать выдачу войсов лучшим пятеркам игроков? Вроде бы нашел в скрипте строку "Выдача крестов", но ни закомментирование, ни удаление этого куска кода не помогает.
Заранее благодарю |
Zub |
Feb 24 2008, 05:11 PM
Post
#176
|
Посетитель Group: Members Posts: 3 Joined: 24-February 08 Member No.: 194 |
Tcl error in file 'eggdrop.conf':
can't create procedure "::tpub::connected": unknown namespace while executing "proc ::tpub::connected {from mask text} {variable conf if {$conf(sql_enabled)} tpub::initdbconnect }" (file "scripts/quiz_q.tcl" line 17) invoked from within "source scripts/quiz_q.tcl" (file "eggdrop.conf" line 1374) * CONFIG FILE NOT LOADED (NOT FOUND, OR ERROR) вот такая ошибка вылетает при запуске, хотя в конфиге мускл отключил вроде |
Kreon |
Feb 25 2008, 12:22 AM
Post
#177
|
Developer Group: Root Admin Posts: 396 Joined: -- From: Внешние пределы Member No.: 2 |
Подскажите пожалуйста как убрать выдачу войсов лучшим пятеркам игроков? Вроде бы нашел в скрипте строку "Выдача крестов", но ни закомментирование, ни удаление этого куска кода не помогает. Найдите в скрипте строки, содержащие "+v", и закомментируйте их.Заранее благодарю Tcl error in file 'eggdrop.conf': Для правильной работы необходимо указать в eggdrop.conf только файл Quiz.conf. Скрипт quiz_q.tcl в конфиг бота вписывать не надо.can't create procedure "::tpub::connected": unknown namespace while executing "proc ::tpub::connected {from mask text} {variable conf if {$conf(sql_enabled)} tpub::initdbconnect }" (file "scripts/quiz_q.tcl" line 17) invoked from within "source scripts/quiz_q.tcl" (file "eggdrop.conf" line 1374) * CONFIG FILE NOT LOADED (NOT FOUND, OR ERROR) вот такая ошибка вылетает при запуске, хотя в конфиге мускл отключил вроде -------------------- Не понял сам - не дай понять другому
|
soulrus |
Feb 25 2008, 05:11 PM
Post
#178
|
Посетитель Group: Members Posts: 4 Joined: 8-July 07 Member No.: 108 |
Подскажите пожалусто как сделать чтоб в топе игроков за месяц выволилось название месяца?
пример было так: Текущая десятка лидеров за все времена: #1 -........ Текущая десятка лидеров за этот месяц: #1 -...... а чтоб стало так: Текущая десятка лидеров за все времена: #1 -...... Текущая десятка лидеров за Февраль: #1 -...... |
Kreon |
Feb 25 2008, 05:19 PM
Post
#179
|
Developer Group: Root Admin Posts: 396 Joined: -- From: Внешние пределы Member No.: 2 |
Заменить:
CODE if {$msg != ""} { putmsg $chan "\0034Текущая десятка лидеров за этот месяц: [string range $msg 2 end]\003" } на CODE if {$msg != ""} { putmsg $chan "\0034Текущая десятка лидеров за [rusmonth]: [string range $msg 2 end]\003" } Добавить: CODE proc ::tpub::rusmonth {} { return [string map {Jan январь Feb февраль Mar март Apr апрель May май Jun июнь Jul июль Aug август Sep сентябрь Oct октябрь Nov ноябрь Dec декабрь} [clock format [clock seconds] -format "%b"]] } -------------------- Не понял сам - не дай понять другому
|
soulrus |
Feb 25 2008, 05:45 PM
Post
#180
|
Посетитель Group: Members Posts: 4 Joined: 8-July 07 Member No.: 108 |
Сработало :-)
Спасибо большое |
Lo-Fi Version | Time is now: 28th May 2024 - 02:46 PM |