Страница 1 из 1

Проблемма со скриптом Svalka.tcl

СообщениеДобавлено: 20 фев 2011 13:51
team
Как сделать что бы в скрипте svalka.tcl http://www.everfall.com/paste/id.php?rv2kdj1ktbp1 В промежутке между загаданным словом и ответом бот еще сам кидал 3 подсказки а не только по моей команде (!хинт)

Вот у меня он кидает так

12:39:03™ <Statistic> Что это за слово : рабоз ? ;-)
12:41:03™ <Statistic> Время вышло, правильный ответ был - забор


А хочу Вот что бы было так

12:39:03™ <Statistic> Что это за слово : рабоз ? ;-)
12:39:13™ <Statistic> Подсказка : первая буква слова - з - з****
12:39:22™ <Statistic> Подсказка : вторая буква слова - а - за***
12:39:29™ <Statistic> Подсказка : последняя буква слова - р - за**р
12:41:03™ <Statistic> Время вышло, правильный ответ был - забор
Название и версия скрипта:
Ссылка на скрипт:
Действие, вызывающее ошибку:
Лог .set errorInfo:
Дополнительная информация:

Re: Проблемма со скриптом Svalka.tcl

СообщениеДобавлено: 20 фев 2011 14:26
tvrsh
Добавь такую процедуру
TCL: [ Скачать ] [ Скрыть ]
proc ::svalka::ahlp {channel} {variable svalka; variable svalkagame
    if {$svalkagame(dd) == 1} {
        set tik *
        set ps [string index $svalkagame(slovo2) 0][string repeat $tik [expr $svalkagame(dl)-1]]
        putmsg $channel "\00303Подсказка\00305 :\00314 первая буква слова\00305 -\00303 [string index $svalkagame(slovo2) 0] - $ps"; set svalkagame(dd) 2; set svalkagame(och) [expr $svalkagame(och) -1 ]; return
    }
    if {$svalkagame(dd) == 2} {
        set tik *
        set ps [string index $svalkagame(slovo2) 0][string index $svalkagame(slovo2) 1][string repeat $tik [expr $svalkagame(dl)-2]]
        putmsg $channel "\00303Подсказка \00305:\00314 вторая буква слова\00305 -\00303 [string index $svalkagame(slovo2) 1] - $ps"; set svalkagame(dd) 3; set svalkagame(och) [expr $svalkagame(och) -1 ]; return
    }
    if {$svalkagame(dd) == 3} {
        set tik *
        set ps [string index $svalkagame(slovo2) 0][string index $svalkagame(slovo2) 1][string repeat $tik [expr $svalkagame(dl)-3]][string index $svalkagame(slovo2) end]
        putmsg $channel "\00303Подсказка \00305:\00314 последняя буква слова\00305 -\00303 [string index $svalkagame(slovo2) end] - $ps"; set svalkagame(dd) 4; set svalkagame(och) [expr $svalkagame(och) -1 ]; return
    }
}

Перед строкой
proc ::svalka::stop {nick host handle channel arg} {

И в процедуре ::svalka::ask добавь строку
utimer 40 [::svalka::ahlp $svalka(chan)]

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

Re: Проблемма со скриптом Svalka.tcl

СообщениеДобавлено: 20 фев 2011 14:37
team
proc ::svalka::ask { } {variable svalka; variable svalkagame
if {![info exists svalkagame]} {return}
::svalka::killtm
utimer 40 [::svalka::ahlp $svalka(chan)]
utimer 120 ::svalka::endcheck
set svalkagame(dd) 1
set svalkagame(slovo) [::svalka::tolower [lindex $svalka(info) [rand [llength $svalka(info)]]]]
set svalkagame(slovo2) $svalkagame(slovo)
set svalkagame(dlina) [string length $svalkagame(slovo)]

Сюда да вставить???

Добавлено спустя 3 минуты 32 секунды:
вот что пишет в патилайне

13:40:00™ <Statistic> [13:39:58] Tcl error in script for 'timer526':
13:40:00™ <Statistic> [13:39:58] can't read "svalkagame(dd)": no such element in array

Re: Проблемма со скриптом Svalka.tcl

СообщениеДобавлено: 20 фев 2011 15:15
LuXe
И в процедуре ::svalka::ask добавь строку
utimer 40 [::svalka::ahlp $svalka(chan)]

Непойму это к

utimer 10 { ::svalka::ask } добавлять

utimer 10 { ::svalka::ask }
utimer 40 [::svalka::ahlp $svalka(chan)] или как??

Re: Проблемма со скриптом Svalka.tcl

СообщениеДобавлено: 21 фев 2011 00:47
tvrsh
[23:43:18] <tvrsh> !старт
[23:43:19] <@bionic> Начнём игру в анаграммы! В словаре 1416 слов.
[23:43:23] <@bionic> Что это за слово: неадиицм?
[23:43:38] <@bionic> Подсказка: первая буква слова - м - м*******
[23:43:53] <@bionic> Подсказка: вторая буква слова - е - ме******
[23:44:07] <@bionic> Подсказка: последняя буква слова - а - ме*****а
[23:44:23] <@bionic> Время вышло, правильный ответ был медицина.


В меню настройки добавил дополнительные пункты:
TCL: [ Скачать ] [ Скрыть ]
# Время на ответ
set svalka(answer) 60
# Время до первой подсказки
set svalka(hint1) 15
# Время до второй подсказки
set svalka(hint2) 15
# Время до третьей подсказки
set svalka(hint3) 15