By Gummo on Oct 10, 2007

This spin-the-bottle script runs across multiple channels and networks, only running one at any time in each channel. It has many results.

Replace #ROOM_GOES_HERE with the room(s) you want it to work in, or # for all rooms.

/bottleon turns the game on
/bottleoff turns it off

Paste in a new file in your bot's remotes. (File=>New)

alias bottleon .enable #bottle | echo 4 -a Spin-the-bottle script is now ON.
alias bottleoff .disable #bottle | echo 4 -a Spin-the-bottle script is now OFF.
#bottle off
on *:text:*!bottle:#ROOM_GOES_HERE: {
  if (*!bottle !iswm $$1) halt
  inc -e %bottle.running [ $+ [ $chan ] $+ . $+ [ $network ] ]
  if (%bottle.running [ $+ [ $chan ] $+ . $+ [ $network ] ] == 1) {
    var %phrases kiss.kiss.kiss.smooch.snog.lapdance for.slap.hug.thumb war.tickle.snuggle with.massage.buy a gift for.buy a drink for.snog.poke.dance with.do a teaser for.lick.grope.send a picture to.stuff happiness down the throat of
    var %lander $nick($chan,$r(1,$nick($chan,0,a)),a)
    .timer 1 0 msg $chan 2 $+ $nick is now spinning the bottle...
    .timer 1 1 msg $chan 12The bottle goes round and round the merry-go-round..
    if (%lander != $nick) .timer 1 2 msg $chan 10The Bottle lands on4 %lander 10-4 $nick 10now has to12 $gettok(%phrases,$r(1,$numtok(%phrases,46)),46) %lander $+ 10! 
    elseif (%lander == $nick) .timer 1 2 msg $chan 7The Bottle landed on you (4 $+ %lander $+ 7) - Kiss your arm.
    unset %bottle.running [ $+ [ $chan ] $+ . $+ [ $network ] ]
  if (%bottle.running [ $+ [ $chan ] $+ . $+ [ $network ] ] > 1) msg $chan 4Please wait your turn,12 $nick $+ 4.
#bottle end


Sign in to comment.
ZiX   -  Dec 06, 2007

Nice Script Gummo

Kyousoukyoku   -  Oct 17, 2007

Eh, true. Just overthinking things I guess. Nice job nonetheless.

Gummo   -  Oct 17, 2007

The fact that I used the variable means it takes the same space as it does with the alias. Also, %currentplayer won\'t do what my variable does.. That would prevent a single user using the script twice..

Kyousoukyoku   -  Oct 16, 2007

Instead of using /inc and an extraordinarily long variable, why not use /set %currentplayer $nick and change the if event to

 if (%currentplayer (!)= $nick) { etc } 

Also, there is no need to use a local variable and $gettok, why not just make an alias that does that? I made one:

 alias -l rprop { return $($+($,$r(1,$0)),2) } 

Basically returns a random token out of the string. For example: $rprop(testing,this,alias) could return testing, this, or alias. So you could make the $gettok and local variable to $rprop(kiss,kiss,smooch,etc,etc). But that\'s what I would do and you don\'t necessarily have anything wrong with your code. Just some suggestions. Good job and nice idea though. I might make a snippet like this even though their are millions of spin the bottle snippets out there. ;]

Gummo   -  Oct 14, 2007

Thanks, but I don\'t understand the reasoning behind making it simple..

Tippy   -  Oct 14, 2007

Really good.But Why not make it simpler.But other wise your a good scripter.



Gummo   -  Oct 13, 2007

Sorry, I forgot to remove those and add the full stops.. I usually do it.. Updated.

Thanks for your comments by the way. :)

RubixCube   -  Oct 11, 2007

Good job, but how about remove the /\'s and adding .\'s to the timers?

tai   -  Oct 11, 2007

lol, seems pretty cool. Looks like you did pretty good with the scripting too. :]

Gummo   -  Oct 11, 2007

Yeah, if I just put #, they wouldn\'t know what to change. :)

Anti   -  Oct 11, 2007

rofl i didnt read the introduction my bad hehe

Anti   -  Oct 11, 2007

you really dont have to put #ROOM_GOES_HERE :P just leave it as # they can decide if they want only one room for !Bottle :)

Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.