Проблемы с викториной v1.8 by Sergio + new addons.

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

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

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение tvrsh » 14 дек 2011 17:06

Sparkle, замени
putquick "privmsg $chan :\00310[lindex $phrasesmol [rand [llength $phrasesmol]]] \00303[expr {[users isremort $hand] ? "\002$nick\002" : $nick}]\00310[lindex $phraseverotv [rand [llength $phraseverotv]]] -> \"\002[tolower $rans]\002\" <-, был получен за \00304\002\002[okr $time]\002\002\00310 [lindex {. секунду секунды секунд} [numgrp $time]]$ransput$rscore\003"
на
putquick "privmsg $chan :\00310[lindex $phrasesmol [rand [llength $phrasesmol]]] \00303[expr {[users isremort $hand] ? "\002$nick\002" : $nick}]\00310[lindex $phraseverotv [rand [llength $phraseverotv]]] -> \"\002[tolower $rans]\002\" <-, был получен за \00304\002\002[okr $time]\002\002\00310 [lindex {. секунду секунды секунд} [numgrp $time]]$ransput\003"

putquick "privmsg $chan :\00310$rscore\003"
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.

За это сообщение автора tvrsh поблагодарил:
Sparkle (15 дек 2011 03:00)
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение Sparkle » 19 дек 2011 14:01

Возможно ли сделать так?
Вопрос: ........ (12 букв, 1 слово)

Вопрос: ........ (7 букв, 2 слова)

Если возможно, и если конечно не трудно, помогите пожалуйста!
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение tvrsh » 20 дек 2011 15:41

Замени
TCL: [ Скачать ] [ Скрыть ]
        # подсчет слов в ответе
        if {([string match *\{* [lindex $game(question) 1]])} {
            # Слов в ответе больше 1
            set lln [string length [lindex $game(question) 1]]
            set lln [incr lln -4]
            set ln "$lln [lindex {. буква буквы букв} [numgrp $lln]] \00304(несколько слов)\00307"
        } else {
            # Слов в ответе 1
            set ln "[string length [lindex $game(question) 1]] [lindex {. буква буквы букв} [numgrp [string length [lindex $game(question) 1]]]]\00307"
        }

на
TCL: [ Скачать ] [ Скрыть ]
        # подсчет слов в ответе
        if {([string match *\{* [lindex $game(question) 1]])} {
            # Слов в ответе больше 1
            set slov [string length [lindex $game(question) 1]]
            set lln [incr slov -4]
            set ln "$lln [lindex {. буква буквы букв} [numgrp $lln]] \00304($slov [lindex {. слово слова слов} [numgrp $slov]])\00307"
        } else {
            # Слов в ответе 1
            set ln "[string length [lindex $game(question) 1]] [lindex {. буква буквы букв} [numgrp [string length [lindex $game(question) 1]]]] \00304(1 слово)\00307"
        }


Вроде должно сработать. Только не совсем понятно почему так
set lln [incr lln -4]

Количество букв получается уменьшением переменной на 4. Скрипта нет, точно посмотреть не могу.

Добавлено спустя 27 секунд:
Заменить надо будет в двух местах.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.

За это сообщение автора tvrsh поблагодарил:
Sparkle (20 дек 2011 17:38)
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение Sparkle » 20 дек 2011 17:33

Вот что вышло. когда в вопросе 2 слова!

11 букв (11 слов)

:(
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение tvrsh » 21 дек 2011 11:32

Тогда меняй на это:
TCL: [ Скачать ] [ Скрыть ]
        # подсчет слов в ответе
        if {([string match *\{* [lindex $game(question) 1]])} {
            # Слов в ответе больше 1
            set slov [llength [lindex $game(question) 1]]
            set lln [string length [lindex $game(question) 1]]
            set lln [incr lln -4]
            set ln "$lln [lindex {. буква буквы букв} [numgrp $lln]] \00304($slov [lindex {. слово слова слов} [numgrp $slov]])\00307"
        } else {
            # Слов в ответе 1
            set ln "[string length [lindex $game(question) 1]] [lindex {. буква буквы букв} [numgrp [string length [lindex $game(question) 1]]]] \00304(1 слово)\00307"
        }
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: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение Sparkle » 21 дек 2011 15:13

tvrsh, Неа, не работает. в вопросе 3 слова.
17 букв (1 слово)
:(
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение tvrsh » 21 дек 2011 16:04

Ладно. Если не получается исправить, тогда надо писать заново. Только вслепую неудобно.

Меняй на это:
TCL: [ Скачать ] [ Скрыть ]
# Тут будет количество слов в ответе.
set slov [llength [lindex $game(question) 1]]
putlog "1: [lindex $game(question) 1]"
putlog "2: $slov"
# Количество букв равно количеству символов минус количество пробелов между словами. Пробелов на 1 меньше, чем слов.
set lln [expr [string length [join [lindex $game(question) 1]]] - [incr slov -1]]
putlog "3: $lln"
#  А тут текст.
set ln "$lln [lindex {. буква буквы букв} [numgrp $lln]] \00304($slov [lindex {. слово слова слов} [numgrp $slov]])\00307"


И покажи что будет через putlog выводиться в патилайн.
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: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение Sparkle » 21 дек 2011 20:14

tvrsh, Не работает.
5 букв (0 слов)

В Патилайне выводятся ответы на вопросы!

1: ракия
2: 1
3: 5
1: технеций
2: 1
3: 8
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение tvrsh » 21 дек 2011 21:25

Не знаю почему не работает. В путлоге выводится
2: 1
это количество слов в ответе, значит считает правильно. Все правильно заменила?
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: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение Sparkle » 22 дек 2011 06:14

tvrsh, Да, в двух местах заменила! Не работает. Все пишет (0 слов)
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение Sparkle » 26 дек 2011 11:57

Наверное не как не сделать?
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение tvrsh » 26 дек 2011 14:45

А, понял где ошибка. Она из-за
[incr slov -1]
Тут переменная slov уменьшается на 1.

Замени
[incr slov -1]
на
[expr $slov - 1]


Правильно писать не "не как", а "никак".
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: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение Sparkle » 26 дек 2011 15:01

Не работает.
(1 слово)
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение tvrsh » 26 дек 2011 17:37

Если написано (1 одно) слово, значит так оно и есть.
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: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение Sparkle » 26 дек 2011 17:51

В вопросе 2 слова. пишет как одно!
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение Corund » 12 янв 2012 23:26

Помогите, пожалуйста. Викторину поставил на eggdrop. И теперь у меня глюк с анаграммами.
Как еще можно записать путь к базе с анаграммами в конфиге?

Варианты не прокатывают:
set conf(an_base) [::egglib::readdata quiz/slova.dat]
set conf(an_base) "quiz/slova.dat"
set conf(an_base) "/quiz/slova.dat"
set conf(an_base) quiz/slova.dat
set conf(an_base) /quiz/slova.dat

У меня база slova.dat лежит тут - /home/corund/eggdrop_universe/quiz/slova.dat
Сам бот находится в папке eggdrop_universe
Как еще можно записать путь?

Сейчас выводит наподобие:

TEXT: [ Скачать ] [ Скрыть ]
[22:36:17] < +|Universe| > Вопрос-анаграмма!
[22:36:17] < +|Universe| > Что это за слово: o.vdaastl ?
[22:36:27] < +|Universe| > Подсказка: slo*****t
[22:36:37] < +|Universe| > Подсказка: slov***at
[22:36:47] < +|Universe| > Никто не разгадал анаграмму, правильный ответ - slova.dat.

или пишет "правильный ответ quiz/slova.dat" или "/quiz/slova.dat" и т.д., смотря какой путь указал.
Последний раз редактировалось Corund 15 янв 2012 13:16, всего редактировалось 1 раз.
Аватара пользователя
Corund
 
Сообщения: 48
Зарегистрирован: 02 июн 2009 19:07
Благодарил (а): 8 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.8

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение Sparkle » 15 янв 2012 03:03

Скажите пожалуйста, как увеличить очки за правильные ответы? На простые вопросы.
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение tvrsh » 15 янв 2012 21:46

Corund, в строке
set anagrgame(slovo) [tolower [lindex $conf(an_base) [rand [llength $conf(an_base)]]]]
замени conf(an_base) на andata.
И добавь перед ней
set andata [split [read [open $conf(an_base) "r"]] "\n"]


Добавлено спустя 6 минут 5 секунд:
Sparkle, количество очков указывается в процедуре ::tpub::tmr_ask в переменной game(points).
Увеличь до 5, посмотри что будет.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.

За это сообщение автора tvrsh поблагодарил:
Sparkle (22 янв 2012 03:00)
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение Corund » 18 янв 2012 18:38

tvrsh, теперь путь к анаграммам видит, и даже выдаёт на канал их, но только первое слово, которое в базе.
Аватара пользователя
Corund
 
Сообщения: 48
Зарегистрирован: 02 июн 2009 19:07
Благодарил (а): 8 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.8

Re: Проблемы с викториной v1.8 by Sergio + new addons.

Сообщение tvrsh » 19 янв 2012 10:44

Corund, меняй
        set anagrgame(slovo) [tolower [lindex $conf(an_base) [rand [llength $conf(an_base)]]]]
на это:
TCL: [ Скачать ] [ Скрыть ]
# Открываем для чтения файл с анаграммами.
set anfile [open $conf(an_base) "r"]

# Читаем файл и разбиваем прочитанные данные по новой строке. Создаем из них список.
set andata [split [read $anfile] "\n"]

# Выбираем случайное слово из списка.
set anslovo [lindex $andata [rand [llength $andata]]]

# Преобразуем его к нижнему регистру.
set anagrgame(slovo) [tolower $anslovo]

# Закрываем ранее открытый на чтение файл.
close $anfile

Расписал подробно и добавил комментариев. Теперь точно должно работать.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.

За это сообщение автора tvrsh поблагодарил:
Corund (19 янв 2012 22:21)
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Пред.След.

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

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

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

cron