Posted to tcl by an7y at Thu Jul 18 07:02:45 GMT 2019view raw
- # Script : Tourettes v1.00 by David Proper (Dr. Nibble [DrN])
- # Copyright 2004 Radical Computer Systems
- # All Rights Reserved
- # -=: Currently in closed alpha testing -=- Not for distrabution :=-
- #
- # _ _ _ _______ ______ __ _ _____ __ _ ______
- # | | | |_____| |_____/ | \ | | | \ | | ____ .
- # |__|__| | | | \_ | \_| __|__ | \_| |_____| .
- #
- # If you are easily offended, do not like profanity, or are just
- # a general puritan asshole, do NOT run nor view any more of this script!
- #
- #
- #
- # Testing
- # Platforms : Linux 2.4.18 TCL v8.3.4
- # Eggdrop v1.5.4
- # Eggdrop v1.6.12
- # And : SunOS 5.8 TCL v8.3
- # Eggdrop v1.5.4
- #
- # Description : I was wrong about decide.tcl... THIS is the lamest script
- # I have ever done... What Tourettes does is... well...
- # it gives your bot tourettes syndrom.
- # It will randomly spew forth profanity into the channel(s)
- # Don't you want to hurry up and load this into your bot?
- # LOL OK. So this will prob be one of my least liked, much
- # less, used scripts I've ever done.
- #
- # History : 01/22/2004 - First Release
- # 01/22/2004 - v1.01
- # o Oh fuck. Forgot to reset the timer. DOH
- #
- # Donations : https://www.paypal.com/xclick/business=rainbows%40chaotix.net
- # (If you don't have PayPal and want to donate, EMail me for an address.
- # Will take money or hardware/computer donations)
- # Significant (or even non-significant donations) can be published on a
- # web site if you so choose.
- #
- # Future Plans : Fix Bugs. :)
- #
- # Author Contact : Email - DProper@chaotix.net
- # Homepage - http://www.chaotix.net/~dproper
- # IRC - Primary Nick: DrN
- # UseNet - alt.irc.bots.eggdrop
- # Support Channels: #RCS @UnderNet.Org
- # #RCS @DALnet
- # #RCS @EFnet
- # #RCS @Choatix Addiction
- # Other channels - Check contact page for current list
- #
- # Current contact information can be located at:
- # http://rcs.chaotix.net/contact.html
- #
- # New TCL releases are sent to the following sites as soon as they're released:
- #
- # FTP Site | Directory
- # ---------------------------+-------------------------------
- # ftp.chaotix.net | /pub/RCS
- # ftp.eggheads.org | Various
- # ftp.egghelp.org | Various
- #
- # Chaotix.Net has returned. Web site and mailing list back online
- #
- # Radical Computer Systems - http://rcs.chaotix.net/
- # To subscribe to the RCS mailing list:
- # http://www.chaotix.net/mailman/listinfo/rcs-list
- #
- # Feel free to Email me any suggestions/bug reports/etc.
- #
- # You are free to use this TCL/script as long as:
- # 1) You don't remove or change author credit
- # 2) You don't release it in modified form. (Only the original)
- #
- # If you have a "too cool" modification, send it to me and it'll be
- # included in the official release. (With your credit)
- #
- # Commands Added:
- # Where F CMD F CMD F CMD F CMD
- # ------- - ---------- - ------------ - ----------- - ----------
- # Public: N/A
- # MSG: N/A
- # DCC: N/A
- #
- # Public Matching: N/A
- #
- set tourettes(ver) "v1.00.01"
- # [0/1] If set to 1, will give letters a random chance of being bold,
- # reverse, or colored
- set tourettes(funkify) 1
- # Base time before going spaz again
- # Total delay is figured as: time + ( rand 0 - timepad)
- # With the default values of 30 and 20, a spazattack will be triggered
- # anytime between 30 and 50 minutes apart.
- set tourettes(time) 30
- set tourettes(timepad) 20
- # Set this to the channels you want to spaz on. Set to * for all chans.
- set tourettes(channel) "#RCS #Freak"
- # Nicks to ignore when getting a random nick
- set tourettes(bots) "W X ChanServ ^Elviraa^ LadySin IsleBot GoD UWorld Freakywok HoneyDew AcidGod CyrixSux"
- # Maximum number of words to spew
- set tourettes(wordcount) 6
- # Minimum number of words to spew
- set tourettes(minwords) 3
- # List of words to spew
- set tourettes(words) {
- {fuck}
- {shit}
- {piss}
- {cunt}
- {bitch}
- {cock}
- {pussy}
- {twat}
- }
- # List of phrases to say. $words will be replaces with the words picked.
- set tourettes(phrases) {
- {\001ACTION starts to twitch and yells '$words'!\001}
- {$words!}
- {BAWK! BAWK! $words!}
- {AAAAAAAAAAAA! $words}
- {\001ACTION gets up and screams '$words'\001}
- {\001ACTION grabs $nick's crotch.... '$words'\001}
- {Hey $nick, $words}
- {\001ACTION smacks $nick and yells '$words'}
- {BOOGER! BOOGER! $words}
- }
- # Random crap to put between words to spew.
- set tourettes(worddiv) {
- {}
- { }
- {!}
- }
- proc tourettes.gospaz {} {
- global tourettes
- set chans $tourettes(channel)
- if {$chans == "*"} {set chans [string tolower [channels]]}
- foreach chan $chans {
- set outmsg [randomline $tourettes(phrases)]
- set wordcount [rand $tourettes(wordcount)]
- if {$wordcount < $tourettes(minwords)} {set wordcount $tourettes(minwords)}
- set words "";
- for {set l 0} {$l < $wordcount} {incr l} {
- set rword [string tolower [randomline $tourettes(words)]]
- set nword ""
- for {set l2 0} {$l2 < [string length $rword]} {incr l2} {
- set letter [string index $rword $l2]
- if {[rand 2] == 1} {set letter [string toupper $letter]}
- if {$tourettes(funkify) == 1} {set rn [rand 5]} {set rn 0}
- switch $rn {
- "0" {set letter "\002$letter\002"}
- "2" {set letter "\026$letter\026"}
- "4" {set letter "\003[string index "0123456789" [rand 11]]$letter\003"}
- }
- set nword $nword$letter
- }
- set words "${words}${nword}[randomline $tourettes(worddiv)]"
- }
- set user [tourettes.rnduser $chan]
- regsub -all {\$nick} $outmsg $user outmsg
- regsub -all {\$words} $outmsg $words outmsg
- regsub -all {\\001} $outmsg \001 outmsg
- regsub -all {\\002} $outmsg \002 outmsg
- putserv "PRIVMSG $chan :$outmsg"
- }
- set tourettes(timerid) [timer [expr $tourettes(time) + [rand $tourettes(timepad)]] tourettes.gospaz]
- }
- set tourettes(timerid) [timer [expr $tourettes(time) + [rand $tourettes(timepad)]] tourettes.gospaz]
- proc randomline {text} {
- return [lindex $text [rand [llength $text]]]
- }
- proc tourettes.rnduser {chan} {
- global botnick tourettes
- set clist [chanlist $chan]
- if {([llength $clist] == 1)} {set clist "$clist her"}
- set pickeduser 0
- while {$pickeduser == 0} {
- set user [lindex $clist [rand [llength $clist]]]
- set pickeduser 1
- foreach n $tourettes(bots) {
- if {([string tolower $user] == [string tolower $n])} {set pickeduser 0}
- }
- }
- set uhand [nick2hand $user $chan]
- return $user
- }
- putlog "Tourettes $tourettes(ver) by David Proper (DrN) -:LoadeD:-"
- return "Tourettes $tourettes(ver) by David Proper (DrN) -:LoadeD:-"
- These timers:
- set tourettes(timerid) [timer [expr $tourettes(time) + [rand $tourettes(timepad)]] tourettes.gospaz]
- }
- set tourettes(timerid) [timer [expr $tourettes(time) + [rand $tourettes(timepad)]] tourettes.gospaz]
- why are there 2 of them?
- Why aren't they resetted?
- How to reset them after successful usage?