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

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

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

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

Сообщение Sparkle » 11 ноя 2011 10:04

Все сделала.
Изменила!
if {$au_user != $win_nick && $au_user != $::botnick} {

на
if {$au_user != $win_nick && $au_user != $::botnick && [isvoice $au_user $chan]} {


Нашла два раза.
TCL: [ Скачать ] [ Скрыть ]
                        set sn {}
                        foreach au_user [lindex [chanlist $game(chan)]] {
                        lappend sn $au_user
                        set a1 0
                        set a2 ""
                        while {$a1 < [llength $sn]} {
                        append a2 "v"
                        incr a1
                        }
                        }
 

Заменила 2 раза на:
TCL: [ Скачать ] [ Скрыть ]
                set a1 0
                        set a2 ""
                        while {$a1 < [llength $sn]} {
                            append a2 "v"
                            incr a1
                        }


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

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

Сообщение tvrsh » 11 ноя 2011 11:17

Чтобы добавить глобальную переменную sn в процедуру ::tpub::au_run допиши ее в строку
global au_nick isau auisa auisanick austavka auhand sch
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 » 11 ноя 2011 12:51

tvrsh, У меня там уже прописано.

proc ::tpub::au_run { nick chan args } {       
global au_nick isau auisa auisanick austavka auhand sch
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

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

Сообщение tvrsh » 11 ноя 2011 14:07

tvrsh писал(а):Чтобы добавить глобальную переменную sn в процедуру ::tpub::au_run допиши ее в строку
global au_nick isau auisa auisanick austavka auhand sch

Что я непонятно написал?
Дописать переменную sn в строку, это значит добавить ее в любую часть этой строки. То есть, строка должна стать такой:
global au_nick isau auisa auisanick austavka auhand sch sn

Я добавил sn в конец строки.

Это нужно сделать в обоих процедурах, и только после того, как выполнишь все данные выше инструкции можно будет говорить о том, что бот работает с войсами правильно или неправильно.
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 » 11 ноя 2011 14:47

Сделала
proc ::tpub::au_run { nick chan args } {        
global au_nick isau auisa auisanick austavka auhand sch sn

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

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

Сообщение tvrsh » 11 ноя 2011 15:39

Что, где и как менять написано тут: post2149.html#p2149
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 » 15 ноя 2011 08:05

tvrsh, Я конечно все понимаю, вам это легко сказать и сделать, я не поняла куда вставлять "sn"!

TCL: [ Скачать ] [ Скрыть ]
                        set sn {}
                        foreach au_user [lindex [chanlist $game(chan)]] {
                        lappend sn $au_user
                        set a1 0
                        set a2 ""
                        while {$a1 < [llength $sn]} {
                        append a2 "v"
                        incr a1
                        }
                        }
                 putserv "mode $game(chan) -m+$a2 [join [lrange $sn 0 9]]"
                 if {[expr [string length $a2] >10]} {   putserv "mode $game(chan) +$a2 [join [lrange $sn 10 19]]"}
                 set a2 ""

Он встречается там два раза. В нем почему-то раздаются войсы всем подряд. Чтобы это дело исправить надо список sn из установки войсов просто передавать в эту процедуру, а не составлять его заново. Перематываем процедуру в самое начало и дописываем sn в список глобальных переменных.


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

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

Сообщение tvrsh » 15 ноя 2011 08:46

Открываем процедуру ::tpub::tmr_next.
Находим в ней строку в которой указываются глобальные переменные:
global isa isanick isastavka sghand drinkname qidanswer anagrgame isau auisa auisanick austavka au_ch;

Дописываем туда переменную sn:
global isa isanick isastavka sghand drinkname qidanswer anagrgame isau auisa auisanick austavka au_ch sn;
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 » 15 ноя 2011 09:03

tvrsh, Вот теперь все сделала как вы мне сказали, все ровно после окончания аукциона! -m+vvvvvv дает всем войсы!

Делала так!
Заменила:
if {$au_user != $win_nick && $au_user != $::botnick} {

На
if {$au_user != $win_nick && $au_user != $::botnick && [isvoice $au_user $chan]} {

Нашла:
global isa isanick isastavka sghand drinkname qidanswer anagrgame isau auisa auisanick austavka au_ch;

Добавила sn получилось:
global isa isanick isastavka sghand drinkname qidanswer anagrgame isau auisa auisanick austavka au_ch sn;

Нашла 2 раза!
TCL: [ Скачать ] [ Скрыть ]
                        set sn {}
                        foreach au_user [lindex [chanlist $game(chan)]] {
                        lappend sn $au_user
                        set a1 0
                        set a2 ""
                        while {$a1 < [llength $sn]} {
                        append a2 "v"
                        incr a1
                        }
                        }

Заменила 2 раза: на:
TCL: [ Скачать ] [ Скрыть ]
                set a1 0
                        set a2 ""
                        while {$a1 < [llength $sn]} {
                            append a2 "v"
                            incr a1
                        }

Нашла ::tpub::au_run сделала так:
global au_nick isau auisa auisanick austavka auhand sch sn
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

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

Сообщение tvrsh » 15 ноя 2011 14:43

В процедуре ::tpub::msg_pub замени
global botnick supergame_nick issupergame isa isanick drinkname qidanswer anagrgame anagrqid auisa auisanick sch; variable conf
на
global botnick supergame_nick issupergame isa isanick drinkname qidanswer anagrgame anagrqid auisa auisanick sch sn
variable conf

В двух местах замени
TCL: [ Скачать ] [ Скрыть ]
                        set sn {}
                        foreach au_user [lindex [chanlist $chan]] {
                        lappend sn $au_user
                        set a1 0
                        set a2 ""
                        while {$a1 < [llength $sn]} {
                        append a2 "v"
                        incr a1
                        }
                        }

на
TCL: [ Скачать ] [ Скрыть ]
                        set a1 0
                        set a2 ""
                        while {$a1 < [llength $sn]} {
                        append a2 "v"
                        incr a1
                        }
 
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.

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

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

Сообщение Sparkle » 15 ноя 2011 15:27

tvrsh, Спасибо большое.. Работает. :) И вот ещё одна проблема, когда начинается вопрос аукциона, бот дает +v данному игроку, который участвует в аукционе, если он ответит или не ответит на вопрос аукциона, бот не снимает -v с данного игрока, который участвует в вопросе аукциона. Как можно сделать чтобы бот снимал войс когда заканчивается вопрос аукциона? Примерно, начался вопрос аукциона, мне бот дал +v войс, я ответила на вопрос аукциона, аукцион закончился, бот снимает -v с меня! А сейчас после завершения аукциона, бот не снимает войс. :(
У меня прописаны люди на канале +v, по окончанию аукциона бот дает им +v, это нормально, НО не снимает с того кто участвовал в аукционе...
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

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

Сообщение tvrsh » 15 ноя 2011 16:04

Я что-то не нашел место где дается войс тому, кто будет отвечать на вопрос аукциона.
Теоретически надо сделать глобальную переменную с ником этого игрока, и передать ее в то место, где возвращаются снятые войсы, чтобы у него наоборот войс забрать.
А если он в топ5, или где-то там, где войс ему положен и так. Зачем тогда его снимать?
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 » 15 ноя 2011 16:18

проблема!

Вопрос супер-игры(#8): Сов. биохимик (4 буквы)
<bot> Поторопитесь, nick! У вас всего 50 секунд.
<nick> баев
<bot> nick получает ранг Гость!
<bot> nick выигрывает 2 суперигры.
* bot дает кофе за 3 правильных ответа подряд nick


После ответа на данный вопрос, бот не написал "Отлично, nick! Прекрасный ответ -> "баев" <-, был получен за 33.63 секунды" И это иногда так пишет, иногда нормально.. Что делать? Как исправить?
Последний раз редактировалось Sparkle 17 ноя 2011 10:52, всего редактировалось 1 раз.
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

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

Сообщение Sparkle » 16 ноя 2011 14:48

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

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

Сообщение Sparkle » 17 ноя 2011 04:46

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

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

Сообщение tvrsh » 17 ноя 2011 08:47

Sparkle писал(а):И ещё, как сделать чтобы бот давал за 300 очков войс, а не после 100 очков?

В строках
if {(![isvoice $nick $chan] && ![isop $nick $chan]) && (([users isintop $hand] && $usr(score) > 100) || [users isremort $hand])} {
и
                if {$usr(score) > 100} { putquick "MODE $chan +v $nick" }
заменить 100 на 300.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.

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

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

Сообщение Sparkle » 17 ноя 2011 10:53

Как сделать чтобы на русском были написаны команды? !help

Возможные команды (36): !append, !cheat, !chgmyname, !dump, !email, !extra, !forget, !help, !hint, !jump, !list, !lock, !memo, !mytitul, !next, !no, !place, !raw, !records, !reg, !rehash, !rename, !repeat, !report, !restart, !set, !start, !stat, !stop, !top, !unlock, !unreg, !version, !yes, !лагг, !нотис,. Более детальная информация по каждой команде может быть получена по запросу в форме !help команда.
Sparkle
 
Сообщения: 83
Зарегистрирован: 27 окт 2011 13:58
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.18+suzi

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

Сообщение tvrsh » 17 ноя 2011 11:11

Покажу на команде !стоп.
Вот ее начало:
TCL: [ Скачать ] [ Скрыть ]
### остановка викторины
proc ::tpub::cmd_стоп {nick chan text} { return [cmd_stop $nick $chan $text] }
proc ::tpub::cmd_cnjg {nick chan text} { return [cmd_stop $nick $chan $text] }
proc ::tpub::cmd_stop {nick chan text} { variable game; variable conf
global botnick auisa isa


Процедуры ::tpub::cmd_стоп и ::tpub::cmd_cnjg являются "предварительными". То есть, после команды они выполняются и отправляют данные "главное" процедуре ::tpub::cmd_stop
В списке команд отображается то, что стоит после "_" в названии главной процедуры. Чтобы отображалась команда !стоп а не !stop надо переименовать предварительную процедуру, вызов главной процедуры в ней и саму главную процедуру. Чтобы стало так:
TCL: [ Скачать ] [ Скрыть ]
### остановка викторины
# Предварительная процедура ::tpub::cmd_stop вызывает главную процедуру ::tpub::cmd_стоп
proc ::tpub::cmd_stop {nick chan text} { return [cmd_стоп $nick $chan $text] }
proc ::tpub::cmd_cnjg {nick chan text} { return [cmd_стоп $nick $chan $text] }
proc ::tpub::cmd_стоп {nick chan text} { variable game; variable conf
global botnick auisa isa


Также в строке описания команды
        if {$text == "?help?"} { return [usage $nick $chan stop "" "остановка текущего раунда викторины. Доступно только операторам, пятёрке лучших игроков и пользователю, запустившему викторину."] }
заменить stop на стоп.

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

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

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

Сообщение Sparkle » 17 ноя 2011 11:24

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

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

Сообщение Sparkle » 17 ноя 2011 15:32

Обнаружена ошибка! При команде! .set errorInfo
no such binding
while executing
"unbind nick - * ::tpub::tchgnick"

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

Пред.След.

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

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

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

cron