Проблема с Ymnik v2.7

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

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

Проблема с Ymnik v2.7

Сообщение Voltick » 24 дек 2008 14:39

Установил на свой Eggdrop с Suzi патчем этот скрипт. Всё работает, но есть одно НО. Скрипт добавляет автоматом новых пользователей по маске *!*@*, и я не нашёл команды где можно изменить маску юзверя. Ибо мне допустмс нужна маска *!*@host. Чтобы можно было под разными никами играть и статистика добавлялась на первый ник. Мб кто поможет расскажет как этого добиться? :)
Voltick
 
Сообщения: 11
Зарегистрирован: 24 дек 2008 14:35
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Dominion » 24 дек 2008 19:54

На самом деле в скрипте нет возможности выбора требуемой маски пользователя. Все юзеры добавляются по такому хосту: *!*@*. Просто изначально предполагалось, что нет надобности следить за тем, какой ник с какого хоста играет в викторину. Но, как оказалось в последствии, многие, кто пользовался скриптом, высказывали подобные предложения. Я к ним внимательно прислушался, и появилась уверенность, что такая возможность необходима. Но честно говоря, подобная система идентификации игроков требует довольно серьезных изменений в коде, поэтому, как весьма проблематичная в реализации, она всегда откладывалась "на потом".
В следующей версии я постараюсь исправить это вопиющее недоразумение и реализовать такую возможность в игре.
Dominion
 
Сообщения: 16
Зарегистрирован: 24 дек 2008 19:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Voltick » 25 дек 2008 05:39

На самом деле в скрипте нет возможности выбора требуемой маски пользователя. Все юзеры добавляются по такому хосту: *!*@*. Просто изначально предполагалось, что нет надобности следить за тем, какой ник с какого хоста играет в викторину. Но, как оказалось в последствии, многие, кто пользовался скриптом, высказывали подобные предложения. Я к ним внимательно прислушался, и появилась уверенность, что такая возможность необходима. Но честно говоря, подобная система идентификации игроков требует довольно серьезных изменений в коде, поэтому, как весьма проблематичная в реализации, она всегда откладывалась "на потом".
В следующей версии я постараюсь исправить это вопиющее недоразумение и реализовать такую возможность в игре.

Огромнейшее спасибо. Жду не дождусь новой версии
Voltick
 
Сообщения: 11
Зарегистрирован: 24 дек 2008 14:35
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Dominion » 26 дек 2008 05:09

Ради справедливости стоит заметить, что новая версия появится не раньше середины следущего месяца. ;)
Dominion
 
Сообщения: 16
Зарегистрирован: 24 дек 2008 19:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Voltick » 26 дек 2008 05:38

Ради справедливости стоит заметить, что новая версия появится не раньше середины следущего месяца. ;)


Как раз сессия пройдёт :E
Voltick
 
Сообщения: 11
Зарегистрирован: 24 дек 2008 14:35
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение xadmin » 30 дек 2008 14:47

Voltick писал(а):Установил на свой Eggdrop с Suzi патчем этот скрипт. Всё работает, но есть одно НО. Скрипт добавляет автоматом новых пользователей по маске *!*@*, и я не нашёл команды где можно изменить маску юзверя. Ибо мне допустмс нужна маска *!*@host. Чтобы можно было под разными никами играть и статистика добавлялась на первый ник. Мб кто поможет расскажет как этого добиться? :)

Открываем main.tcl
Находим процедуру ( у меня она 551 строка (спасибо Bred3.0))
Код: Выделить всё
#Процедура добавления пользователей
proc ::ymhuk::set.user {nick} {
   if {![validuser $nick]} {
      #Уже не тупо добавляем пользователя, если его нет
                set host "[lindex [split [getchanhost $nick] @] 1]"
      adduser $nick *!*@$host
   }
   #Ставим все его статы в нули
   setuser $nick xtra ymhuk "0 0 0 9999"
   return
}

Попробуй, мне тестить нет времени :)
xadmin
 
Сообщения: 4
Зарегистрирован: 01 дек 2008 15:56
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Dominion » 31 дек 2008 10:24

xadmin писал(а):
Voltick писал(а):Установил на свой Eggdrop с Suzi патчем этот скрипт. Всё работает, но есть одно НО. Скрипт добавляет автоматом новых пользователей по маске *!*@*, и я не нашёл команды где можно изменить маску юзверя. Ибо мне допустмс нужна маска *!*@host. Чтобы можно было под разными никами играть и статистика добавлялась на первый ник. Мб кто поможет расскажет как этого добиться? :)

Открываем main.tcl
Находим процедуру ( у меня она 551 строка (спасибо Bred3.0))
Код: Выделить всё
#Процедура добавления пользователей
proc ::ymhuk::set.user {nick} {
   if {![validuser $nick]} {
      #Уже не тупо добавляем пользователя, если его нет
                set host "[lindex [split [getchanhost $nick] @] 1]"
      adduser $nick *!*@$host
   }
   #Ставим все его статы в нули
   setuser $nick xtra ymhuk "0 0 0 9999"
   return
}

Попробуй, мне тестить нет времени :)

Конечно можно и так. :) Но единственное, что изменится, так это то, что юзеры теперь будут храниться в базе с указанным хостом. А все процедуры сравнения и начисления очков все равно будут производиться по никам. :) Когда я говорил, что там нужно перелопачивать пол скрипта, я не лукавил. :) Если бы все было так просто, как говорит господин xadmin, то проблем бы было минимум, а так, прийдется постараться. ;)

С Новым Годом! :)
Dominion
 
Сообщения: 16
Зарегистрирован: 24 дек 2008 19:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение xadmin » 31 дек 2008 19:56

Ну да, согласен.
С Новым 2009 Годом!
xadmin
 
Сообщения: 4
Зарегистрирован: 01 дек 2008 15:56
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Voltick » 02 янв 2009 05:59

Спасибо за помощь, теперь хотя бы юзера по хосту сейвяцо :) Уже хоть что-то, жду новой версии. С НОВЫМ ГОДОМ !!! Всем всего самого наилучшего
Voltick
 
Сообщения: 11
Зарегистрирован: 24 дек 2008 14:35
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Voltick » 15 янв 2009 10:29

Всех поздравляю с прошедшими праздниками и жду с нетерпением новой версии скрипта :D
Voltick
 
Сообщения: 11
Зарегистрирован: 24 дек 2008 14:35
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Voltick » 29 янв 2009 13:15

Простите за напористость :) Но как там продвигаются работы над скриптом, а то народ хочет играца, хоть откатывайся на Quiz чего оч. не хочется делать
Voltick
 
Сообщения: 11
Зарегистрирован: 24 дек 2008 14:35
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение tvrsh » 31 янв 2009 20:56

Терпение, я уверен, что работа кипит. Ты лучше точно и четко сформулируй свои пожелания, чтобы работы автору скрипта добавить.
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: Проблема с Ymnik v2.7

Сообщение Dominion » 03 фев 2009 18:25

=)
На самом деле, я довольно поздно освободился.
Защиту нам поставили аж 26 числа, поэтому свободное время появилось только на прошлой неделе.
Кое-что уже сделано. Но работы еще немало. Поэтому прийдется немножко потерпеть. :)
Dominion
 
Сообщения: 16
Зарегистрирован: 24 дек 2008 19:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Voltick » 04 фев 2009 07:43

=)
На самом деле, я довольно поздно освободился.
Защиту нам поставили аж 26 числа, поэтому свободное время появилось только на прошлой неделе.
Кое-что уже сделано. Но работы еще немало. Поэтому прийдется немножко потерпеть. :)


Огромное спасибо ждём. Мне в прошлой версии всё понравилось, только вот авторизация и добавления пользователей по указанным маскам нужно :P
Voltick
 
Сообщения: 11
Зарегистрирован: 24 дек 2008 14:35
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Dominion » 13 фев 2009 10:30

Доброго времени суток.

Как и обещал, выкладываю новый релиз викторины. К сожалению, все получилось не так быстро, как планировалось изначально. Однако, цель достигнута. Отдельная благодарность товарищу Kreon`y за то, что есть такая вещь, как "Знайка", окуда собсно и была вероломно выдрана схема идентификации по хостам.

Будут баги. Обещаю.
По типу: "No such user!" и "Wrong # args: should be: ...". Это основные. Могут быть и какие-то побочные, например неправильное начисление очков, или еще что-нибудь забавное.

Для изменения юзерских записей с хостами *!*@* придумана гениальная команда .hostsset. Которая заменяет данную маску на хост вида $handle!*@*. Быдлокоманда, конечно, но придумать чего-нибудь поумнее не получилось. Поэтому дальше хосты прийдется править ручками.

Собственно, взять то, о чем шла речь выше, можно здесь:
http://slayer.firstvds.ru/ymhuk_v3.0.zip

Баг репортов жду с особым нетерпением.

P.S. Если чего-то забыл, потом допишу.
Dominion
 
Сообщения: 16
Зарегистрирован: 24 дек 2008 19:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v3.0

Сообщение Voltick » 14 фев 2009 12:45

канал
[18:41:51] <05Voltick> !старт
[18:41:52] <03Crasty> 12Викторина запущена!
[18:41:53] <03Crasty> 12Итак,10 Voltick12, начинаем нашу игру. В базе13 24301412 вопросов,13 141512 анаграмм.
[18:41:55] <03Crasty> 04Анаграмма 04№60:03 пролаь.
[18:41:59] <12Цезарь> пароль
[18:42:00] <03Crasty> 04Поздравляю,13 Цезарь04! Правильный ответ:03 пароль04. Ответ дан за12 3.3 04секунды.
[18:42:23] <12Voltick> добавил вроде
[18:42:36] <12Цезарь> !место
[18:42:36] <03Crasty> 12Игрок10 Цезарь 12[13Бесполое существо12]: место:13 312, очков:13 012, правильных ответов:13 012, самый быстрый ответ:13 999912 секунды, максимальное количество ответов подряд:13 012, очков до следущего места:13 122212.
[18:42:56] <03Crasty> 04Никто не разгадал анаграмму. Ответ был:03 пароль04. Идем дальше.


патилайн у бота
[18:40:20] <07Crasty> [18:41] Tcl error [::ymhuk::main.correct.answer]: can't use empty string as operand of "+"
[18:41:17] <07Crasty> [18:42] Tcl error in script for 'timer6':
[18:41:17] <07Crasty> [18:42] can't read "number": no such variable


Вот ошибка №1. Пользователей добавляет, но очки не считает и вешает игру полностью :)

Удалил пользователя Цезарь, добавил вручную и запустил викторину - та же ошибка.

Вот лог партилайна:
[18:41:36] <07Crasty> [18:42] ! Voltick ! DELUSER Цезарь (Цезарь)
[18:41:59] <07Crasty> [18:43] yMHuK: added user Цезарь
[18:42:00] <07Crasty> [18:43] yMHuk: added host *!*@172.17.90.7.vladlink.ru to user Цезарь
[18:42:00] <07Crasty> [18:43] Tcl error [::ymhuk::main.correct.answer]: can't use empty string as operand of "+"
[18:43:00] <07Crasty> [18:44] Tcl error in script for 'timer10':
[18:43:18] <07Crasty> [18:44] can't read "number": no such variable
Voltick
 
Сообщения: 11
Зарегистрирован: 24 дек 2008 14:35
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Dominion » 14 фев 2009 14:30

:)
Забавно. )
На самом деле дело не в пользователе. Вернее в нем, но не в том, как он добавляется.
Просто когда ботинко пытается приплюсовать ему очки, то одним из операндов является пустая строка, потому что значения очков у этого юзера пустые. Вернее они должны быть равны 0, но они почему-то пустые. :) Если добавить узверю статы руками и попробовать поиграть, то все будет нормально.
Ток пришел, сейчас буду разбираться почему такая лажа. :)
Dominion
 
Сообщения: 16
Зарегистрирован: 24 дек 2008 19:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Dominion » 14 фев 2009 15:17

Хотфикс:

1. В процедуре ::ymhuk::main.correct.answer меняем
Код: Выделить всё
if {![::ymhuk::check.user $handle]}   {
   ::ymhuk::set.user $nick $handle
}

на
Код: Выделить всё
if {![::ymhuk::check.user $handle]}   {
   set handle [::ymhuk::set.user $nick $handle]
}

2. В процедуре ::ymhuk::increase.on.answer заменяем
Код: Выделить всё
if {$added} {
   global botnick
   setuser $nick comment "Added by $botnick"
   if {[passwdok $handle -]} {
      putmsg $nick $ymhuk(new.user.str)
      setuser $handle xtra ymhuk "0 0 0 9999"
   }
}

на
Код: Выделить всё
if {$added} {
   global botnick
   setuser $nick comment "Added by $botnick"
   if {[passwdok $handle -]} {
      putmsg $nick $ymhuk(new.user.str)
   }
}
if {[getuser $handle xtra ymhuk] == ""} {
   setuser $handle xtra ymhuk "0 0 0 9999"
}

3. И, на всякий случай в процедуре ::ymhuk::check.sex, хотя там это вроде бы не критично
Код: Выделить всё
if {![::ymhuk::check.user $handle]} {
   ::ymhuk::set.user $nick $handle
   return 2
}

на
Код: Выделить всё
if {![::ymhuk::check.user $handle]} {
   set handle [::ymhuk::set.user $nick $handle]
   return 2
}
Dominion
 
Сообщения: 16
Зарегистрирован: 24 дек 2008 19:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Dominion » 14 фев 2009 16:34

Замечен еще один баг. На этот раз косметический.
Для корректного отображения команды !вон нужно сделать следущее:

В процедуре ::ymhuk::won меняем
Код: Выделить всё
if {$text != ""} { set handle $text }

на
Код: Выделить всё
if {$text != ""} { set handle $text; set nick $text }
Dominion
 
Сообщения: 16
Зарегистрирован: 24 дек 2008 19:41
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Проблема с Ymnik v2.7

Сообщение Voltick » 14 фев 2009 16:41

Извините за тупость :) А можно указывать в каких файлах проводить изменения :) А то я что-то по нубски с первого клика и не нашёл :mrgreen:
Voltick
 
Сообщения: 11
Зарегистрирован: 24 дек 2008 14:35
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

След.

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

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

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

cron