Страница 3 из 19

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

СообщениеДобавлено: 21 июн 2009 11:13
tvrsh
Corund писал(а):tvrsh, очень прошу вот еще раз, помоги что-нить сделать с этими повторами вопросов, все ребята уже пишут мне, что повторы постоянно, и что это самый главный недостаток канала. :cry:

У тебя хоть в одном скрипте это работало нормально? Может у тебя база из 10 вопросов всего?

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

СообщениеДобавлено: 21 июн 2009 11:21
Corund
[11:16:23] <Corund> !stat
[11:16:24] <|Universe|> Всего в базе данных 134041 вопрос....


И другую базу ставил тоже. А перед этим ставил скрипт v1.15 epsilon by Kreon (Lite Version (w/o MySQL support))" , там повторов не было. Я много времени на канале провожу, заметил бы.

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

СообщениеДобавлено: 21 июн 2009 11:31
tvrsh
Ну возьми ::tpub::question из той версии, проверь, может будет работать.

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

СообщениеДобавлено: 21 июн 2009 18:19
Radiosignal
tvrsh напиши пожалуйста систему, чтобы игроки мог ли установить себе пол женский или мужской

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

СообщениеДобавлено: 21 июн 2009 19:51
Corund
tvrsh писал(а):Ну возьми ::tpub::question из той версии, проверь, может будет работать.

Сделал, но не помогло ( при рестарте опять начинает свои "любимые вопросы" выдавать.
Где можно еще поискать решение проблемы?

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

СообщениеДобавлено: 22 июн 2009 02:44
Vertigo
Corund писал(а):Сделал, но не помогло ( при рестарте опять начинает свои "любимые вопросы" выдавать.
Где можно еще поискать решение проблемы?


В таком случае проблема точно не от моего скрипта. У меня повторов нет. Могу посоветовать только отказаться от использования моей версии.

По поводу установки игрокам полов... Добавить процедурку то не сложно, но помимо нее придется еще много чего где дописывать (названия рангов, обращения: ответил-ответила итд). Мне например, лень с этим возиться, да и не нужно мне такого :) Ну а если никто не посоветует ничего больше, так и быть, сделаю.

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

СообщениеДобавлено: 22 июн 2009 04:47
Vertigo
Полы добавлены ;). Внесены соответсвующие изменения в процедуры, вызываемые по командам !won !place, процедуру генерации статистики, также при заходе человека на канал бот попросит установить пол, если последний не установлен. Изменен вывод фразы при не даче ответа на вопрос (выдается рендомно, вариантов правда мало, но добавить свои никто не мешает) и по команде !д(альше) теперь выводит фразу "По просьбе nick следующий вопрос..."

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

СообщениеДобавлено: 22 июн 2009 09:06
tvrsh
У себя я не делал принулительную установку пола, просто добавил Средний пол. И все новые игроки по умолчанию получали его. Также можно все обращения сделать по такому принципу
Код: Выделить всё
да[lindex {ло л ла} [gendgrp $user(gender)]]
и добавить процедуру
Код: Выделить всё
proc ::tpub::gendgrp {gender} { switch -glob -- "$gender" { 0 {return 0} 1 {return 1} 2 {return 2} } }

Потом можно сделать "половую статистику":
[09:05:10] <@tvrsh> !sex
[09:05:10] <@quiz> Ж: 270 очков, М: 0 очков, Остальные: 261 очко. Среди игроков 47 девушек и 60 парней.
и чтобы обновлялась через определенное время процедурой
Код: Выделить всё
proc ::tpub::sexremove {min hour day month year} {variable conf
   variable conf
   variable game
      set boysscore [getuser quizbase XTRA boys]
      set girlsscore [getuser quizbase XTRA girls]
      set nonsscore [getuser quizbase XTRA nons]
      putmsg $conf(channels) "\00305За последние \00304\0024\002 \00305часа девушки набрали \00303\002$girlsscore\002 \00305[lindex {. очко очка очков} [numgrp $girlsscore ]], парни \00303\002$boysscore\002 \00305[lindex {. очко очка очков} [numgrp $boysscore ]] \00305и остальные \00303\002$nonsscore\002 \00305[lindex {. очко очка очков} [numgrp $nonsscore ]].\003"
      putmsg $conf(channels) ""
      setuser quizbase XTRA boys 0
      setuser quizbase XTRA girls 0
      setuser quizbase XTRA nons 0
 }

ну и начислялась после ответов примерно вот так:
Код: Выделить всё
switch "$usr(gender)" {
            "0" {
            setuser quizbase XTRA nons [expr {[getuser quizbase XTRA nons]+$game(points)}]
            }
            "1" {
            setuser quizbase XTRA boys [expr {[getuser quizbase XTRA boys]+$game(points)}]
            }
            "2" {
            setuser quizbase XTRA girls [expr {[getuser quizbase XTRA girls]+$game(points)}]
            }
            }
       users set [list $hand [array get usr]]

Вобщем можно много чего придумать для разнообразия.

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

СообщениеДобавлено: 22 июн 2009 18:23
Radiosignal
Спс Vertigo. tvrsh, а перед какой процедурой это код лучше вставить?

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

СообщениеДобавлено: 23 июн 2009 00:20
tvrsh
Radiosignal писал(а):Спс Vertigo. tvrsh, а перед какой процедурой это код лучше вставить?

Везде где это необходимо.
Заметь, что у Vertigo переменная называется $usr(sex) у меня $usr(gender). У него сделано иначе и в других местах. Мой пост это скорее не точная инструкция, а просто предложения. Там много чего добавлять придется. Если Vertigo захочет то добавит, если нет, то со временем и ты разберешься.

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

СообщениеДобавлено: 23 июн 2009 17:03
Winer
tvrsh при супер-игре время клинит и бот встает,пока тот же игрок не напишет !нет или !да ставка
Tcl error in script for 'timer134':
can't read "conf(modset)": no such variable

Бот 2 часа так простоял

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

СообщениеДобавлено: 24 июн 2009 14:38
tvrsh
Winer писал(а):tvrsh при супер-игре время клинит и бот встает,пока тот же игрок не напишет !нет или !да ставка
Tcl error in script for 'timer134':
can't read "conf(modset)": no such variable
Бот 2 часа так простоял

После появления этой ошибки напиши в патилайне .set errorInfo и покажи что тебе бот отвечает. В скрипте все переменные указаны нормально.

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

СообщениеДобавлено: 26 июн 2009 08:02
Winer
Currently: can't read "conf(modset)": no such variable

Currently: while executing

Currently: "if {$conf(modset) eq 1} {putfast "MODE $chan1 -c"}"

Currently: (procedure "supergame_off" line 5)

Currently: invoked from within

Вот что пишет

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

СообщениеДобавлено: 26 июн 2009 08:38
tvrsh
Winer писал(а):
Currently: can't read "conf(modset)": no such variable

Currently: while executing

Currently: "if {$conf(modset) eq 1} {putfast "MODE $chan1 -c"}"

Currently: (procedure "supergame_off" line 5)

Currently: invoked from within

Вот что пишет

В конфиге есть настройка
Код: Выделить всё
set conf(modset) ""
? Скорее всего есть. Попробуй закомментировать строку
Код: Выделить всё
if {$conf(modset) eq 1} {putfast "MODE $chan1 -c"}
хотя это не выход.

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

СообщениеДобавлено: 26 июн 2009 09:19
Winer
в конфиге у меня стоит set conf(modset) 0

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

СообщениеДобавлено: 28 июн 2009 09:16
tvrsh
Winer писал(а):в конфиге у меня стоит set conf(modset) 0

Исчерпывающий ответ.
Я конечно понимаю тебе лень писать и ты надеешься на мои телепатические способности, но все-таки, постарайся помочь и сам себе. Что по поводу комментирования строки?
И еще раз повторяю, если копируешь код или цитаты то пользуйся соответствующими тегами.

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

СообщениеДобавлено: 28 июн 2009 12:46
Corund
По поводу мешалки вопросов вот что заметил. Мне просто приходилось часто делать рехэш поначалу, потому что часто вносил изменения в настройки скрипта. Конечно, если не перегружать часто, то вроде как ничего себе, когда раунд длится уже часов 8, не так заметны повторы. Ещё помогло перемешивание самой базы. Вручную переставил вопросы местами. Мне показалось, что скрипт реагирует на то, как расположены вопросы в базе. Вот пример:
Код: Выделить всё
Сельскохозяйственная крупяная культура|сорго
Сельскохозяйственная культура, злак|ячмень
Сельскохозяйственная культура, которая портит человеческие легкие|табак
Сельскохозяйственная культура|лен
Сельскохозяйственная культура|просо
Сельскохозяйственная машина для очистки и сортировки зерна и трав|триер
Сельскохозяйственная машина для очистки и сортировки зерна|веялка
Сельскохозяйственная машина для очистки и сортировки зерна|жатка
Сельскохозяйственная машина для очистки и сортировки зерна|сеялка
Сельскохозяйственная постройка|овин
Сельскохозяйственная специальность|агроном
Сельскохозяйственная страда, которая дала название десятому месяцу календаря Конвента – мессидору|жатва
Сельскохозяйственное животное, на котором пашут в Индии?|вол
Сельскохозяйственное животное|баран
Сельскохозяйственное животное|вол
Сельскохозяйственное животное|лошадь
Сельскохозяйственное животное|свинья
Сельскохозяйственное органическое удобрение|помет
Сельскохозяйственное орудие для вспашки почвы|плуг
Сельскохозяйственное орудие для выравнивания и рыхления поверхности почвы, волокуша|шлейф
Сельскохозяйственное орудие для мелкого рыхления почвы|борона
Сельскохозяйственное орудие-приспособление к сеялке, салке для проведения борозд или линий, по которым производится посадка|маркёр
Сельскохозяйственное орудие|заступ



Все вопросы идут по порядку, как-то по алфавиту... может быть, это влияет на повторы. Ну вот когда я помешал базу вручную, в самом текстовом файле, повторы перестали иметь место в таком количестве. Или перед каждым рехэшем лучше всего переставить пару строк в базе местами, тогда не повторяется. Просто наблюдение.

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

СообщениеДобавлено: 01 июл 2009 06:49
Corund
Помогите сделать к этой викторине новый случайно выскакивающий addon, вот такой:

БОНУС: Переведите слова: • maybe • corde • abruptness • badge • agent • по (+1) очку! (или +2...может быть пусть будет настройка, сколько очков давать).

Слово-5:• agent •перевод: агент •Corund• получает (+1) очко!

Непереведенными словами остались: • возможно • веревка • крутизна • значок • 5 •

Наверное, должна быть какая-то база типа dog|собака итд...
По итогам опросов викторинщиков, аддон пользовался бы успехом.

Заодно язык поучим :-)

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

СообщениеДобавлено: 03 июл 2009 17:59
tvrsh
Corund писал(а):Помогите сделать к этой викторине новый случайно выскакивающий addon, вот такой:

БОНУС: Переведите слова: • maybe • corde • abruptness • badge • agent • по (+1) очку! (или +2...может быть пусть будет настройка, сколько очков давать).

Слово-5:• agent •перевод: агент •Corund• получает (+1) очко!

Непереведенными словами остались: • возможно • веревка • крутизна • значок • 5 •

Наверное, должна быть какая-то база типа dog|собака итд...
По итогам опросов викторинщиков, аддон пользовался бы успехом.

Заодно язык поучим :-)

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

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

СообщениеДобавлено: 03 июл 2009 19:43
Corund
Давайте мы поможем с базой, только как правильно или по какому принципу составить её нужно, напиши, tvrsh...а больше не знаю, чем помочь, к сожалению :(

Вот ещё хочу спросить - нет ли тут ошибок или недоработок?

Код: Выделить всё
proc helping_v {nick uhost chan text arg} {
variable game
variable conf
puthelp "notice $nick :Список основных команд игры \"Викторина\" (В скобках - аналоги на английском языке)"
puthelp "notice $nick :\00304$conf(pref)старт ($conf(pref)start)\00310 - запуск игры на текущем канале, если такое разрешено хозяином бота.\003"
puthelp "notice $nick :\00304$conf(pref)стоп ($conf(pref)stop)\00310 - остановка текущего раунда Викторины. Остановить может пользователь из 5-ки лидеров, оператор\00304\002*\002\00310 или тот, кто запускал.\003"
puthelp "notice $nick :\00304$conf(pref)д $conf(pref)дальше ($conf(pref)next)\00310 - пропуск текущего вопроса. Доступно пользователям из 5-ки лидеров и операторам\00304\002*\002\00310.\003"
puthelp "notice $nick :\00304$conf(pref)х $conf(pref)хинт $conf(pref)Х ($conf(pref)x $conf(pref)X $conf(pref)hint)\00310 - запрос на подсказку. Как правило за 1 вопрос выдается не более 2-х подсказок. Нет смысла писать эту команду более 1 раза за вопрос\003"
puthelp "notice $nick :\00304$conf(pref)ответ ($conf(pref)answer $conf(pref)cheat)\00310 - если включена функция читерства и у вас достаточно очков, вы можете подглядеть верный ответ на вопрос. Запрос на правильный ответ стоит около 20 очков.\003"
puthelp "notice $nick :\00304$conf(pref)экстра ($conf(pref)extra)\00310 - смысл команды не ясен. \"Превращает\" текущий вопрос в вопрос с экстрабонусом. Доступна операторам\00304\002*\002\00310 и выше\00304\002**\002\00310.\003"
puthelp "notice $nick :\00304$conf(pref)нотис \00310 - покажет кто находится выше и сколько очков надо, чтобы догнать"
puthelp "notice $nick :\00304$conf(pref)место ($conf(pref)place)\00310 - просмотр занимаемого вами места по очкам, а также сколько еще надо очков, чтобы добраться до следующего. Можно также использовать \00304$conf(pref)место \<ник\>\00310 - покажет место, занимаемое \<ник'ом\>\003"
puthelp "notice $nick :\00304$conf(pref)место_отв ($conf(pref)place_ans)\00310 - просмотр занимаемого вами места по ответам, а также сколько еще надо ответов, чтобы добраться до следующего. Можно также использовать \00304$conf(pref)место_отв \<ник\>\00310 - покажет место, занимаемое \<ник'ом\>\003"
puthelp "notice $nick :\00304$conf(pref)вон ($conf(pref)won)\00310 - узнать вашу текущую статистику по игре. Можно также использовать \00304$conf(pref)вон \<ник\>\00310 - покажет статистику \<ник'a\>\003"
puthelp "notice $nick :\00304$conf(pref)топ ($conf(pref)top)\00310 - покажет текущую таблицу лидеров. В зависимости от состояния игры покажет либо 10-ку, либо 5-ку. Можно также использовать \00304$conf(pref)топ \<число от 5 до 10\>\00310 - покажет таблицу лидеров указанного количества.\003"
puthelp "notice $nick :\00304$conf(pref)рекорды ($conf(pref)records)\00310 - покажет рекорды игры.\003"
puthelp "notice $nick :\00304$conf(pref)с $conf(pref)стат ($conf(pref)c $conf(pref)stat)\00310 - покажет статистику игры - количество зарегистрированных пользователей, число вопросов в базе данных и т.д.\003"
puthelp "notice $nick :\00310_____________"
puthelp "notice $nick :\00310  \00304\002*\002\00310 - Оператор, прописанный в юзерлисте бота(локальный или глобальный флаг \00304o\00310), а не тот у которого есть на канале @"
puthelp "notice $nick :\00310  \00304\002**\002\00310 - Локальным и глобальным мастерам(\00312+m\00310), а также овнерам(\00309+n\00310)"
#puthelp "notice $nick :"
#puthelp "notice $nick :"
#puthelp "notice $nick :"
#puthelp "notice $nick :"
#puthelp "notice $nick :"
#puthelp "notice $nick :"
#puthelp "notice $nick :"
}
######### [place_ext $place [place $hand]]

# периодическое сохранение результатов (каждые 10 минут)


Можно сделать так, чтобы , например, по команде !помощь выдавался список команд в приват...а я уж там сам бы описание сделал.
А сейчас по команде !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 команда.


(Добавлено позже)
Последний вопрос про хелп в приват по команде уже обсуждаем тут