valentinka.tcl - праздничный скриптик дарящий валентинки.

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

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

valentinka.tcl - праздничный скриптик дарящий валентинки.

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

Название: valentinka.tcl
Версия: 1.0
Автор: Alvor
Описание: Скрипт дарит валентинки случайному или указанному нику.

TCL: [ Скачать ] [ Скрыть ]
bind pub - !валентинка pub:valentin
proc pub:valentin {nick uhost hand chan text} {
    if {[string length $text] == 0} {
        set nicks [chanlist $chan]
        set dnick [lindex $nicks [rand [llength $nicks]]]
    } else {
        set dnick $text
    }
    putserv "PRIVMSG $chan :\00312\037$nick\037 \00313кинул валентинкой прямо в лоб \00309\002$dnick\002\00313. Чмоке!"
}
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: valentinka.tcl - праздничный скриптик дарящий валентинки

Сообщение Radiosignal » 15 фев 2011 21:09

Возможен и такой вариант этого скрипта, переделанный из скрипта 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"
 
Radiosignal
 
Сообщения: 87
Зарегистрирован: 17 июн 2009 18:01
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.


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

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

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

cron