Возможен и такой вариант этого скрипта, переделанный из скрипта spin.tcl. Если что то не так оформил или в скрипте чего-то не доделано, допишите пожалуйста.
- Код: Выделить всё
# переделка Radiosignal, скрипт spin.tcl от МРАК
setudef flag nopubvalentina
# Префикс перед использованием команды.
set valentina(prefix) "!"
# Версия скрипта.
# Script version.
set valentina(version) "valentina.tcl version 1.0"
# Автор скрипта.
# Script author.
set valentina(author) "Radiosignal"
# Время перед повторным использованием команды.
set valentina(time) 18
set valentina(reason) {
{обнять}
{потанцевать}
{улыбнуться}
{подарить подарок}
{чмокнуть}
{пригласить на чашку чая}
{пригласить на чашку кофе}
{целовать}
{поцеловать в губы}
{поцеловать в ушко}
{обнять}
{прижаться к}
{подарить свою ласку}
{сказать приятную вещь}
{чмокнуть в щечку}
{рассказать о своих чувствах}
{признатся в любви}
{подмигнуть левым глазом}
{подмигнуть правым глазом}
{подарить букет красных роз}
{подарить розу}
{нежно чмокнуть}
}
bind pub -|- $valentina(prefix)валентинка pub:valentina
bind pub -|- $valentina(prefix)valentina pub:valentina
if {![info exists valentina(lastnick)]} {
set valentina(lastnick) $botnick
}
proc pub:valentina {nick uhost handle chan args} {
global botnick lastbind valentina
if {[channel get $chan nopubvalentina]} {
putserv "NOTICE $nick :\00306Н\00306а канале \00306$chan\00313 команда \00306$lastbind\00313 отключена\00306.\017"
return
}
set valentinaline [utimers]
foreach line $valentinaline {
if {"valentina:reset $uhost" == [lindex $line 1]} { set valentinatime [lindex $line 0] }
}
if { [info exists valentina(host,$uhost)] } {
set temp [duration $valentinatime]
regsub -all -- {hours} $temp {6час(ов)13} temp
regsub -all -- {hour} $temp {6час13} temp
regsub -all -- {minutes} $temp {6минут(ы)13} temp
regsub -all -- {minute} $temp {6минуту13} temp
regsub -all -- {seconds} $temp {6секунд(ы)13} temp
regsub -all -- {second} $temp {6секунду13} temp
if {$valentina(time) > 0} { putserv "NOTICE $nick :\00306В\00313ы сможете использовать команду \00306$lastbind\00313 через \00306$temp\017" }
return
}
set valentina(host,$uhost) 1
set valentina(timer,$uhost) [utimer $valentina(time) [list valentina:reset $uhost ] ]
if {![onchan $valentina(lastnick) $chan]} {set valentina(lastnick) $botnick}
set valentina(list) [chanlist $chan]
set valentina(wb) [lsearch $valentina(list) $botnick]
set valentina(list) [lreplace $valentina(list) $valentina(wb) $valentina(wb)]
set valentina(wn) [lsearch $valentina(list) $nick]
set valentina(list) [lreplace $valentina(list) $valentina(wn) $valentina(wn)]
if {$valentina(lastnick) != $botnick} {
set valentina(wl) [lsearch $valentina(list) $valentina(lastnick)]
set valentina(list) [lreplace $valentina(list) $valentina(wl) $valentina(wl)]
}
set mylength [llength $valentina(list)]
if {$mylength == 0} {
putserv "PRIVMSG $chan :\00306$nick,\00313 тут не с кем играть в бутылочку\00306...\017"
return
}
set valentina(index) [rand $mylength]
set valentina(result) [lindex $valentina(list) $valentina(index)]
putserv "PRIVMSG $chan :\00306$nick\00313 кручу верчу\00306...\017"
putserv "PRIVMSG $chan :\00313Валентику\00306...\00313 щас\00306...\00313 тебе\00306...\00313 подарю\00306...\017"
putserv "PRIVMSG $chan :\00313И\00306...\00313 и\00306...\00313 и\00306, \00313валентинка прилетела \00306$valentina(result)\017"
putserv "PRIVMSG $chan :\00313$nick\00306, теперь\00313 вам надо [lindex $valentina(reason) [rand [llength $valentina(reason)]]] - \00306$valentina(result)\017"
set valentina(lastnick) $valentina(result)
return
}
proc valentina:reset { uhost } {
global valentina
catch {killutimer $valentina(timer,$uhost)}
catch {unset valentina(timer,$uhost)}
catch {unset valentina(host,$uhost)}
}
# Выводим сообщение о том, что скрипт удачно загружен.
putlog "\[valentina\] $valentina(version) by $valentina(author) loaded"