subword.tcl

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

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

subword.tcl

Сообщение wr` » 13 апр 2012 17:15

столкнулся с проблемой,бот не начисляет очки игроку у которого русский ник.как это исправить?в файле victlist.txt
вписывается так :
ban 202 41 1334332496
Amblnb 91 21 1334332801
Премьера 4 1 1334322703
Премьера 4 1 1334322794
Premiera 10 3 1334323011
бантиг 3 1 1334332644
бантиг 3 1 1334332809


тоесть ники на англ языке суммируются очки,а которые на русском создются заного
Аватара пользователя
wr`
 
Сообщения: 121
Зарегистрирован: 26 май 2009 21:17
Благодарил (а): 19 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: subword.tcl

Сообщение wr` » 13 апр 2012 21:00

а в самом скрипте ошибка была,там в конце скрипта ковычки не закрыты
Аватара пользователя
wr`
 
Сообщения: 121
Зарегистрирован: 26 май 2009 21:17
Благодарил (а): 19 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: subword.tcl

Сообщение tvrsh » 13 апр 2012 21:08

Попробуй заменить
    set actstr [gets $chid];
на
    set actstr [encoding convertto cp1251 [gets $chid]];
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: subword.tcl

Сообщение wr` » 13 апр 2012 21:21

поменял,получилось

ban 207 42 1334333388
Amblnb 155 36 1334337992
???????? 4 1 1334322703
???????? 4 1 1334322794
Premiera 10 3 1334323011
?????? 3 1 1334332644
?????? 3 1 1334332809
?????? 9 1 1334337686
?????? 6 1 1334337715
Аватара пользователя
wr`
 
Сообщения: 121
Зарегистрирован: 26 май 2009 21:17
Благодарил (а): 19 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: subword.tcl

Сообщение tvrsh » 14 апр 2012 18:11

Короче дело в процедуре addcountvict в частности в коде
if {[lindex $actstr 0] == $nick}

Тут сравнивается первый элемент строки и ник ответившего игрока. Если они одинаковые то очки прибавляются, если разные то пишется новая строка в базу. Но если ник русский, то записи не совпадают. Надо сделать перед этой строкой
putlog "[lindex $actstr 0] $nick"
и подбирать кодировку как я писал выше, пока в путлоге не выведется два одинаковых ника.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi


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

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

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

cron