Casino.tcl - казино, скрипт игры в рулетку.

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

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

Casino.tcl - казино, скрипт игры в рулетку.

Сообщение tvrsh » 04 апр 2009 10:43

Скрипт игры в рулетку.
Версия бета, есть несколько недочетов. Об установке читаем в INSTALL.txt, еще немного полезной информации есть в README.txt. Загружать нужно только сам скрипт - casino.tcl.
Текущая версия: 1.5.1b

Для работы скрипта необходима база MySQL. Скрипт довольно громоздкий. В будущем, наверно, нужно либо разбивать его на двух ботов, чтобы иметь возможность выводить все необходимые сообщения и рассчеты (легкий вариант), либо реализовывать в виде модуля (сложный, но правильный вариант :S).
Вопросы, предложения - можно сюда.

Сам скрипт: http://www.egghelp.ru/files/401
У вас нет необходимых прав для просмотра вложений в этом сообщении.
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: Casino.tcl

Сообщение freaky » 25 июл 2009 21:21

-предложение
процедура transfer криво работает. надо дописать установку переменной score. в принципе имеющие руки могут сами пафиксить.
-предложение
на мой взгляд нужно реализовать проверку на хост, для того чтобы можно было регистрировать не более одного логина с одного хоста.
Аватара пользователя
freaky
 
Сообщения: 3
Зарегистрирован: 21 июл 2009 17:21
Откуда: Yakutsk
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: Casino.tcl

Сообщение oIIa4ku » 13 фев 2011 05:35

Вроде загружается судя по логу загрузки
[12:07] Загружается расширение MySQLTCL..
[12:07] Casino.tcl message file v1.5.1b by Deniska @ RusNet loaded.
[12:07] Casino.tcl v1.5.1b by Deniska @ RusNet loaded (2.877ms)

а вот работать нехочет, не создаёт casino.user, пишет ошибку
[12:33] Tcl error [::casino::reg]: ::mysql::sel/db server: Table 'casino.users' doesn't exist

может что не так сделал, единственное так и не понял что делать с casino.sql.txt хотя его нету в архиве, у меня он валялся не понятно откуда :)
подскажите что делать?
oIIa4ku
 
Сообщения: 22
Зарегистрирован: 07 окт 2010 00:23
Откуда: Магадан
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: Casino.tcl

Сообщение tvrsh » 13 фев 2011 10:22

Покажи содержимое этого файла.
В INSTALL.txt написано
4) Выполняем casino.sql.txt. Он создает таблицу "users" в текущей базе MySQL

Сделать это можно в phpmyadmin во вкладке SQL.
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: Casino.tcl - казино, скрипт игры в рулетку.

Сообщение oIIa4ku » 13 фев 2011 10:35

Вот содержание casino.sql.txt :
DROP TABLE IF EXISTS `users` ;

CREATE TABLE `users` (
`id` int( 7 ) unsigned NOT NULL AUTO_INCREMENT ,
`name` varchar( 50 ) NOT NULL ,
`hosts` varchar( 255 ) NOT NULL ,
`pass` varchar( 255 ) NOT NULL ,
`score` double( 15, 2 ) NOT NULL ,
`regdate` date NOT NULL ,
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `name` ( `name` )
) ENGINE = MYISAM DEFAULT CHARSET = cp1251 AUTO_INCREMENT =1;


А как сделать на дебиан через shh например?
oIIa4ku
 
Сообщения: 22
Зарегистрирован: 07 окт 2010 00:23
Откуда: Магадан
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: Casino.tcl - казино, скрипт игры в рулетку.

Сообщение tvrsh » 13 фев 2011 11:29

Зайди в папку где лежит этот файл. Введи команду mysql -u логин -pпароль имя_базы < casino.sql.txt, где -p и пароль пишутся слитно. Имя базы casino, если конечно не менял в настройках
variable name "casino"

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

Сообщение oIIa4ku » 13 фев 2011 12:59

Спасибо.
Правда сам скрипт наполовину рабочий, щас попробую более раннюю версию.
oIIa4ku
 
Сообщения: 22
Зарегистрирован: 07 окт 2010 00:23
Откуда: Магадан
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: Casino.tcl - казино, скрипт игры в рулетку.

Сообщение tvrsh » 13 фев 2011 13:41

Почему наполовину, покажи какие ошибки в нем.
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: Casino.tcl - казино, скрипт игры в рулетку.

Сообщение oIIa4ku » 13 фев 2011 14:09

Вот ошибка на ставки
Tcl error [::casino::even]: expected integer but got "120.00"

меняется число и переменная ::casino::even, смотря как делаешь ставку.
А эта ошибка на передачу средств кому-либо
Tcl error [::casino::transfer]: can't read "::casino::pls(oIIa4ku,score)": no such element in array
oIIa4ku
 
Сообщения: 22
Зарегистрирован: 07 окт 2010 00:23
Откуда: Магадан
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: Casino.tcl - казино, скрипт игры в рулетку.

Сообщение tvrsh » 13 фев 2011 22:38

А .set errorInfo показать религия не позволяет?
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: Casino.tcl - казино, скрипт игры в рулетку.

Сообщение oIIa4ku » 14 фев 2011 01:34

Вот так первая на ставки
) <oIIa4ku> .set errorInfo
(08:33:11) <mircbot> [08:31] #oIIa4ku# set errorInfo
(08:33:13) <mircbot> Currently: expected integer but got "12180.00"
(08:33:13) <mircbot> Currently: while executing
(08:33:13) <mircbot> Currently: "incr ::casino::pls($nick,score) -$bet"
(08:33:13) <mircbot> Currently: (procedure "addbet" line 13)
(08:33:13) <mircbot> Currently: invoked from within
(08:33:13) <mircbot> Currently: "addbet $nick $type $bet"
(08:33:13) <mircbot> Currently: (procedure "makebet" line 4)
(08:33:13) <mircbot> Currently: invoked from within
(08:33:13) <mircbot> Currently: "makebet $nick $chan "even" $text "
(08:33:13) <mircbot> Currently: (procedure "::casino::even" line 1)
(08:33:13) <mircbot> Currently: invoked from within
(08:33:13) <mircbot> Currently: "::casino::even $_pub1 $_pub2 $_pub3 $_pub4 $_pub5"

Вторая на передачу
(08:33:35) <mircbot> [08:32] Tcl error [::casino::transfer]: can't read "::casino::pls(oIIa4ku,score)": no such element in array
(08:33:37) <oIIa4ku> .set errorInfo
(08:33:38) <mircbot> [08:32] #oIIa4ku# set errorInfo
(08:33:41) <mircbot> Currently: can't read "::casino::pls(oIIa4ku,score)": no such element in array
(08:33:41) <mircbot> Currently: while executing
(08:33:41) <mircbot> Currently: "if { $::casino::pls($nick,score) < $gift } { putquick "$mode $nick :[format [msg 17] $::casino::pls($nick,score)]";return}"
(08:33:41) <mircbot> Currently: (procedure "::casino::transfer" line 13)
(08:33:41) <mircbot> Currently: invoked from within
(08:33:41) <mircbot> Currently: "::casino::transfer $_pub1 $_pub2 $_pub3 $_pub4 $_pub5"
oIIa4ku
 
Сообщения: 22
Зарегистрирован: 07 окт 2010 00:23
Откуда: Магадан
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: Casino.tcl - казино, скрипт игры в рулетку.

Сообщение tvrsh » 14 фев 2011 10:32

По поводу первой ошибки. В процедуре addbet замени строки
                incr ::casino::pls($nick,$type) $bet
                incr ::casino::pls($nick,score) -$bet
на
                incr ::casino::pls($nick,$type) [expr round($bet)]
                incr ::casino::pls($nick,score) [expr round(-$bet)]

А что со второй делать не знаю, с виду все нормально.
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: Casino.tcl - казино, скрипт игры в рулетку.

Сообщение oIIa4ku » 14 фев 2011 12:20

Первая ошибка не исчезла
TCL: [ Скачать ] [ Скрыть ]
(19:13:39) <oIIa4ku> .set errorInfo
(19:13:41) <mircbot> [19:12] #oIIa4ku# set errorInfo
(19:13:41) <mircbot> Currently: expected integer but got "11950.00"
(19:13:41) <mircbot> Currently:     while executing
(19:13:41) <mircbot> Currently: "incr ::casino::pls($nick,score) [expr round(-$bet)]"
(19:13:41) <mircbot> Currently:     (procedure "addbet" line 13)
(19:13:41) <mircbot> Currently:     invoked from within
(19:13:41) <mircbot> Currently: "addbet $nick $type $bet"
(19:13:41) <mircbot> Currently:     (procedure "makebet" line 4)
(19:13:41) <mircbot> Currently:     invoked from within
(19:13:41) <mircbot> Currently: "makebet $nick $chan "even" $text "
(19:13:41) <mircbot> Currently:     (procedure "::casino::even" line 1)
(19:13:41) <mircbot> Currently:     invoked from within
(19:13:41) <mircbot> Currently: "::casino::even $_pub1 $_pub2 $_pub3 $_pub4 $_pub5"
oIIa4ku
 
Сообщения: 22
Зарегистрирован: 07 окт 2010 00:23
Откуда: Магадан
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi

Re: Casino.tcl - казино, скрипт игры в рулетку.

Сообщение tvrsh » 14 фев 2011 14:05

На сколько я понимаю, ошибка получается из-за того, что команда incr работает только с целыми числами, а в переменную $bet попадает 11950.00. Она и ругается на это.
Командой [expr round()] мы округляем $bet до целого.
<tvrsh> $$ set a 10; incr a 5.0; return $a
<@bionic> Error: expected integer but got "5.0" - 0.033 ms.
<tvrsh> $$ set a 10; incr a [expr round(5.0)]; return $a
<@bionic> Return: 15 - 0.032 ms.


Может ты не сохранил/не рехашнул бота?
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: Casino.tcl - казино, скрипт игры в рулетку.

Сообщение oIIa4ku » 16 фев 2011 12:15

Если бы я забыл что-то сделать, наверняка и в ошибке бы ничего не изменилось, а в ошибке есть прогрессия.
oIIa4ku
 
Сообщения: 22
Зарегистрирован: 07 окт 2010 00:23
Откуда: Магадан
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Версия бота: Eggdrop 1.6.21+suzi


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

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

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

cron