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

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

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

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

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

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

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

Огромнейшее спасибо. Жду не дождусь новой версии

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

СообщениеДобавлено: 26 дек 2008 05:09
Dominion
Ради справедливости стоит заметить, что новая версия появится не раньше середины следущего месяца. ;)

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

СообщениеДобавлено: 26 дек 2008 05:38
Voltick
Ради справедливости стоит заметить, что новая версия появится не раньше середины следущего месяца. ;)


Как раз сессия пройдёт :E

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

СообщениеДобавлено: 30 дек 2008 14:47
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
}

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

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

СообщениеДобавлено: 31 дек 2008 10:24
Dominion
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, то проблем бы было минимум, а так, прийдется постараться. ;)

С Новым Годом! :)

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

СообщениеДобавлено: 31 дек 2008 19:56
xadmin
Ну да, согласен.
С Новым 2009 Годом!

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

СообщениеДобавлено: 02 янв 2009 05:59
Voltick
Спасибо за помощь, теперь хотя бы юзера по хосту сейвяцо :) Уже хоть что-то, жду новой версии. С НОВЫМ ГОДОМ !!! Всем всего самого наилучшего

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

СообщениеДобавлено: 15 янв 2009 10:29
Voltick
Всех поздравляю с прошедшими праздниками и жду с нетерпением новой версии скрипта :D

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

СообщениеДобавлено: 29 янв 2009 13:15
Voltick
Простите за напористость :) Но как там продвигаются работы над скриптом, а то народ хочет играца, хоть откатывайся на Quiz чего оч. не хочется делать

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

СообщениеДобавлено: 31 янв 2009 20:56
tvrsh
Терпение, я уверен, что работа кипит. Ты лучше точно и четко сформулируй свои пожелания, чтобы работы автору скрипта добавить.

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

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

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

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


Огромное спасибо ждём. Мне в прошлой версии всё понравилось, только вот авторизация и добавления пользователей по указанным маскам нужно :P

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

СообщениеДобавлено: 13 фев 2009 10:30
Dominion
Доброго времени суток.

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

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

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

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

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

P.S. Если чего-то забыл, потом допишу.

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

СообщениеДобавлено: 14 фев 2009 12:45
Voltick
канал
[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

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

СообщениеДобавлено: 14 фев 2009 14:30
Dominion
:)
Забавно. )
На самом деле дело не в пользователе. Вернее в нем, но не в том, как он добавляется.
Просто когда ботинко пытается приплюсовать ему очки, то одним из операндов является пустая строка, потому что значения очков у этого юзера пустые. Вернее они должны быть равны 0, но они почему-то пустые. :) Если добавить узверю статы руками и попробовать поиграть, то все будет нормально.
Ток пришел, сейчас буду разбираться почему такая лажа. :)

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

СообщениеДобавлено: 14 фев 2009 15:17
Dominion
Хотфикс:

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
}

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

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

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

на
Код: Выделить всё
if {$text != ""} { set handle $text; set nick $text }

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

СообщениеДобавлено: 14 фев 2009 16:41
Voltick
Извините за тупость :) А можно указывать в каких файлах проводить изменения :) А то я что-то по нубски с первого клика и не нашёл :mrgreen: