Quiz Memorial Forum

Welcome Guest ( Log In | Register )

14 Pages V « < 7 8 9 10 11 > »   
Reply to this topicStart new topic
> Викторина (Quiz.tcl) v1.19 Lite
Kreon
post 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" от встроенной в скрипт обработки команд.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
cahvay
post Feb 1 2008, 02:27 AM
Post #162


Посетитель
*

Group: Members
Posts: 3
Joined: 31-January 08
Member No.: 178



QUOTE(Kreon @ Feb 1 2008, 01:18 AM) *

Посмотрите в doc/tcl-commands.doc описание биндов

большое спасибо за тыкание носом в доку, помогло ;)) уже работает.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Gwynbleidd
post 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"
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post 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.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Gwynbleidd
post Feb 6 2008, 05:51 AM
Post #165


Посетитель
*

Group: Members
Posts: 6
Joined: 5-February 08
Member No.: 182



все это я уже перепробовал, не помогает. выкладываю конфиг бота. ничем не нагружен.


Attached File(s)
Attached File  eggdrop.txt ( 3.04k ) Number of downloads: 640
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post 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.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Gwynbleidd
post Feb 6 2008, 01:20 PM
Post #167


Посетитель
*

Group: Members
Posts: 6
Joined: 5-February 08
Member No.: 182



тоже не помогло. остается последний вариант - попробую через еггдроп под линукс запустить
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post Feb 6 2008, 03:02 PM
Post #168


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



Шо значит не помогло?
Я попросил посмотреть, что выведет бот при добавлении двух putlog'ов и показать здесь. Теоретически это как-то может прояснить ситуацию.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Gwynbleidd
post 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

инфа по ошикбе таже
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post 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
Вообще ошибка крайне нетривиальная, не представляю пока откуда такое взялось.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Gwynbleidd
post 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
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post 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 - в целом.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Gwynbleidd
post Feb 8 2008, 04:50 PM
Post #173


Посетитель
*

Group: Members
Posts: 6
Joined: 5-February 08
Member No.: 182



а вы не подскажете где скачать 100% рабочую версию бота под эту викторину
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post Feb 8 2008, 08:37 PM
Post #174


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



Любой из файлового архива.
В целом проблема может быть в чем угодно. Включая какие-то особенности операционной системы. Если вы работаете не под Windows, проблема может быть так же в установленной версии Tcl.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Acid_Junk
post Feb 21 2008, 06:42 PM
Post #175


Посетитель
*

Group: Members
Posts: 4
Joined: 21-February 08
Member No.: 192



Подскажите пожалуйста как убрать выдачу войсов лучшим пятеркам игроков? Вроде бы нашел в скрипте строку "Выдача крестов", но ни закомментирование, ни удаление этого куска кода не помогает.
Заранее благодарю
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Zub
post 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)


вот такая ошибка вылетает при запуске, хотя в конфиге мускл отключил вроде
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post Feb 25 2008, 12:22 AM
Post #177


Developer
******

Group: Root Admin
Posts: 396
Joined: --
From: Внешние пределы
Member No.: 2



QUOTE(Acid_Junk @ Feb 21 2008, 06:42 PM) *
Подскажите пожалуйста как убрать выдачу войсов лучшим пятеркам игроков? Вроде бы нашел в скрипте строку "Выдача крестов", но ни закомментирование, ни удаление этого куска кода не помогает.
Заранее благодарю
Найдите в скрипте строки, содержащие "+v", и закомментируйте их.

QUOTE(Zub @ Feb 24 2008, 05:11 PM) *
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)
вот такая ошибка вылетает при запуске, хотя в конфиге мускл отключил вроде
Для правильной работы необходимо указать в eggdrop.conf только файл Quiz.conf. Скрипт quiz_q.tcl в конфиг бота вписывать не надо.


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
soulrus
post Feb 25 2008, 05:11 PM
Post #178


Посетитель
*

Group: Members
Posts: 4
Joined: 8-July 07
Member No.: 108



Подскажите пожалусто как сделать чтоб в топе игроков за месяц выволилось название месяца?

пример

было так:

Текущая десятка лидеров за все времена: #1 -........
Текущая десятка лидеров за этот месяц: #1 -......

а чтоб стало так:

Текущая десятка лидеров за все времена: #1 -......
Текущая десятка лидеров за Февраль: #1 -......
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Kreon
post 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"]]
}


--------------------
Не понял сам - не дай понять другому
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
soulrus
post Feb 25 2008, 05:45 PM
Post #180


Посетитель
*

Group: Members
Posts: 4
Joined: 8-July 07
Member No.: 108



Сработало :-)

Спасибо большое
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

14 Pages V « < 7 8 9 10 11 > » 
Reply to this topicStart new topic
7 User(s) are reading this topic (7 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 28th May 2024 - 02:46 PM
Design by GPF © 2006